Ads Manager 2 by Siropu

Ads Manager 2 by Siropu [Paid] 2.4.22

No permission to buy (€49.99)
Wery well! Transfer from ad manager 1 to ad manager 2 was easy and light. All data was saved and work perfectly in ad manager 2!(y)(y)(y)
 
@Siropu, have you considered adding widget control to Ads Manager? I'm using widgets to display sidebar ads to guests. I'd love to be able to turn it off for mobile devices...
 
You can use Ads Manager with widgets. You just have to create a custom position and call that position in a HTML widget using the code example on the position creation page.
 
@Siropu Does this error log from your add-on? Does your add-on are not compatible with @DragonByte Tech Shop add-on?

Code:
An exception occurred: [Error] Call to a member function getControllerClass() on null in src/addons/Siropu/AdsManager/Template/Ad.php on line 52

    Siropu\AdsManager\Template\Ad->__construct() in src/addons/Siropu/AdsManager/Listener.php at line 25
    Siropu\AdsManager\Listener::templaterGlobalData()
    call_user_func_array() in src/XF/Extension.php at line 67
    XF\Extension->fire() in src/XF/App.php at line 2355
    XF\App->fire() in src/XF/App.php at line 1665
    XF\App->getGlobalTemplateData() in src/addons/DBTech/Shop/Application/Template.php at line 199
    DBTech\Shop\Application\Template->renderTemplate() in src/addons/DBTech/Shop/Action/Main.php at line 85
    DBTech\Shop\Action\Main->actionIndex() in src/addons/DBTech/Shop/Application/Core.php at line 173
    DBTech\Shop\Application\Core->runAction() in src/addons/DBTech/Shop/Pub/Controller/Route.php at line 36
    DBTech\Shop\Pub\Controller\Route->actionIndex() in src/XF/Mvc/Dispatcher.php at line 249
    XF\Mvc\Dispatcher->dispatchClass() in src/XF/Mvc/Dispatcher.php at line 88
    XF\Mvc\Dispatcher->dispatchLoop() in src/XF/Mvc/Dispatcher.php at line 41
    XF\Mvc\Dispatcher->run() in src/XF/App.php at line 1894
    XF\App->run() in src/XF.php at line 328
    XF::runApp() in index.php at line 13
 
That may very well be an incompatibility because of the way DB Shop renders its templates (non-standard way). I'll investigate.

EDIT: I have investigated, and found that @Siropu should not assume $reply or $data['reply'] is set inside Siropu\AdsManager\Listener::templaterGlobalData()

If you look at /src/XF/App.php on line 1635 onwards, testing whether $reply has a value is required.


Fillip
 
Just got this error

Code:
InvalidArgumentException: Attempted to convert NULL to string/binary [position_id]
src/XF/Mvc/Entity/Entity.php:688
Generated by: ComfortablyNumb       
       
       Stack trace
      
#0 src/XF/Mvc/Entity/Entity.php(575): XF\Mvc\Entity\Entity->_castValueToType(NULL, 'position_id', 5, Array)
#1 src/XF/Mvc/Entity/Entity.php(505): XF\Mvc\Entity\Entity->set('position_id', NULL)
#2 src/addons/Siropu/AdsManager/Repository/DailyStats.php(20): XF\Mvc\Entity\Entity->__set('position_id', NULL)
#3 src/addons/Siropu/AdsManager/Pub/Controller/Ad.php(269): Siropu\AdsManager\Repository\DailyStats->logAction(Object(Siropu\AdsManager\Entity\Ad), 'view')
#4 src/XF/Mvc/Dispatcher.php(249): Siropu\AdsManager\Pub\Controller\Ad->actionTrackView(Object(XF\Mvc\ParameterBag))
#5 src/XF/Mvc/Dispatcher.php(89): XF\Mvc\Dispatcher->dispatchClass('Siropu\\AdsManag...', 'track-view', 'j', Object(XF\Mvc\ParameterBag), '', Object(Siropu\AdsManager\Pub\Controller\Ad), NULL)
#6 src/XF/Mvc/Dispatcher.php(41): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#7 src/XF/App.php(1894): XF\Mvc\Dispatcher->run()
#8 src/XF.php(328): XF\App->run()
#9 index.php(13): XF::runApp('XF\\Pub\\App')
#10 {main}

-------------

Previous InvalidArgumentException: Attempted to convert NULL to string/binary - src/XF/Mvc/Entity/ValueFormatter.php:104
#0 src/XF/Mvc/Entity/Entity.php(684): XF\Mvc\Entity\ValueFormatter->castValueToType(NULL, 5, Array)
#1 src/XF/Mvc/Entity/Entity.php(575): XF\Mvc\Entity\Entity->_castValueToType(NULL, 'position_id', 5, Array)
#2 src/XF/Mvc/Entity/Entity.php(505): XF\Mvc\Entity\Entity->set('position_id', NULL)
#3 src/addons/Siropu/AdsManager/Repository/DailyStats.php(20): XF\Mvc\Entity\Entity->__set('position_id', NULL)
#4 src/addons/Siropu/AdsManager/Pub/Controller/Ad.php(269): Siropu\AdsManager\Repository\DailyStats->logAction(Object(Siropu\AdsManager\Entity\Ad), 'view')
#5 src/XF/Mvc/Dispatcher.php(249): Siropu\AdsManager\Pub\Controller\Ad->actionTrackView(Object(XF\Mvc\ParameterBag))
#6 src/XF/Mvc/Dispatcher.php(89): XF\Mvc\Dispatcher->dispatchClass('Siropu\\AdsManag...', 'track-view', 'j', Object(XF\Mvc\ParameterBag), '', Object(Siropu\AdsManager\Pub\Controller\Ad), NULL)
#7 src/XF/Mvc/Dispatcher.php(41): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#8 src/XF/App.php(1894): XF\Mvc\Dispatcher->run()
#9 src/XF.php(328): XF\App->run()
#10 index.php(13): XF::runApp('XF\\Pub\\App')
#11 {main}

We haven't updated to the just-released version yet, will that fix whatever this was?
 
@DragonByte Tech, @Nirjonadda, I've made a change to prevent that. Re-downloading the latest version should fix the problem.

It takes hell of a time to do Template modifications! Even XenForo upgrade doesn't take this much of time!
I'm sorry to hear that but Template Modifications are required in order for this add-on to work and there is nothing I can do about it.

Just got this error
Try resetting the positions from positions list options menu. I have made a change in the latest version to prevent that from happening in the future as well.
 
Hey, loving Ads Manager so far.

Quick question on GEO Targeting. I see you mention:

This product includes GeoLite2 data created by MaxMind, available from http://www.maxmind.com.​

I've uploaded the lite DB as per your instructions. Does Ad Manager support more detailed Maxmind DBs, such as city?
 
No, it doesn't support that and the reason is because a city database is huge and there is no way to import that on install.
I could add support for it but you would have to import the city database manually.
 
No, it doesn't support that and the reason is because a city database is huge and there is no way to import that on install.
I could add support for it but you would have to import the city database manually.

By manually - do you mean FTP? Same way I uploaded the Lite DB? If so then great.

But I think Cities would need to be nested under countries. If that would be the case, then that type of ad targeting would be awesome.
 
You can use ad type position selectors: .samCodeUnit[data-position="position_id"] {}

Thank you, yes, I'd seen that, but that means writing a selector for each position and then, if there's more than one, having to index into the nth position of the item in question. It would be much quicker with a class :)
 
I'm a bit surprised by something that has just happened.

I only have three packages available for advertisers and they are all banner ads so only these three packages show in nthe Ads manager.

However this morning I received an email notification that a user had submitted a new Ad Link Ad 1

They subsequently deleted the ad so I am unable to view it.

I am confused as to how they could submit a link ad when I have no Link ad packages available.

linkad2.webp
 
Top Bottom