Ads Manager by Siropu

Ads Manager by Siropu [Paid] 1.26.9

No permission to buy (€49.99)
The internal invoice system is mostly for payment tracking. There is an invoice option where you can upload your customized business invoice.
I will probably expend that in the future, but probably for XF2 version.
 
I have a weird issue. I created a banner, had it displaying threadviewbelowmessages, didn't like that so ended up disabling the ad. The ad still shows. I tried everything, caches cleared, other machines and browsers, the ad was still there. In desperation I deleted the entire ad. Still no luck, it is still showing. I then had to go so far as to replace the banner image with a 1x1 clear png image. That at least got rid of most of it, but still it's there. So, I then deleted the entire ad position! It's still there as seen here (that single line is where the position is and should not be showing the blank image I made:
Screen Shot 2018-08-20 at 12.45.07 PM.webp

What the heck is going on?

Thanks
 
Last edited:
ok, well in the end i removed template contents for ad_thread_view_below_messages
That seems to have gotten rid of it. weird.
 
Hi @Siropu is it possible to rotate 2 different packages in one area? So for example:

site header: display a row of three small ads, side by side in a single row (ad package 1 : show up to 3 ads)
site header: display a leaderboard banner (ad package 2: leaderboard ad)

Then have the above two packages share the same space 50-50 ? Thanks!

p.s. i just tried doing a leader board and giving it the same position but that doesn't seem to have done anything.
 
Last edited:
One more question. I enabled the advertisers list which shows this link: /forum/advertising/advertisers

I am unsure how this functions though. Some of my active ads are not in this list when I thought they would be. I am needing this list to show every active banner I have. Thanks
 
is it possible to rotate 2 different packages in one area?
In Ads Manager 1, same package ad types in the same position will merge into 1 unit, so you won't be able to do that. In Ads Manager 2, each package has its own unit so you have more control over them.

Some of my active ads are not in this list when I thought they would be.
Advertiser list is for ads created from the front-end, not from ACP.
 
In Ads Manager 1, same package ad types in the same position will merge into 1 unit, so you won't be able to do that. In Ads Manager 2, each package has its own unit so you have more control over them.


Advertiser list is for ads created from the front-end, not from ACP.
is there any way to trick an ad into being a front end ad, maybe from phpmyadmin? thanks
 
I tried the adblock detector, it works great. However having all my blocked ads switch to the notice banners is kind of an eye sore. I really only need one banner in my header to encourage people to remove adblock. Is there any trick to choosing one ad to be the designated adblock notice ad? Thanks
 
What you can do is use the option "Replace ad with its backup" and use a backup only for one ad. The option will show up when you edit the ad.
 
What you can do is use the option "Replace ad with its backup" and use a backup only for one ad. The option will show up when you edit the ad.
Ah yes. Great solution, thanks.

A cool feature request would be detecting someone has ads enabled, and in their postbit a small hero icon "Ads Enabled" so they can show everyone they are supporting the site.
 
I'm encountering this error in admincp:

Code:
Template Errors: siropu_ads_manager
1.    count(): Parameter must be an array or an object that implements Countable in /library/XenForo/Template/Abstract.php(279) : eval()'d code, line 340:
2.    339:                     <a href="' . XenForo_Template_Helper_Core::adminLink('ads/pending', false, array()) . '"><span class="label">' . 'Pending' . ':</span> <strong>' . XenForo_Template_Helper_Core::numberFormat(count($adStatusCount['Pending']), '0') . '</strong></a>
3.    340:                     <a href="' . XenForo_Template_Helper_Core::adminLink('ads/approved', false, array()) . '"><span class="label">' . 'Approved' . ':</span> <strong>' . XenForo_Template_Helper_Core::numberFormat(count($adStatusCount['Approved']), '0') . '</strong></a>
4.    341:                     <a href="' . XenForo_Template_Helper_Core::adminLink('ads/queued', false, array()) . '"><span class="label">' . 'Queued' . ':</span> <strong>' . XenForo_Template_Helper_Core::numberFormat(count($adStatusCount['Queued']), '0') . '</strong></a>
5.    count(): Parameter must be an array or an object that implements Countable in /library/XenForo/Template/Abstract.php(279) : eval()'d code, line 341:
6.    340:                     <a href="' . XenForo_Template_Helper_Core::adminLink('ads/approved', false, array()) . '"><span class="label">' . 'Approved' . ':</span> <strong>' . XenForo_Template_Helper_Core::numberFormat(count($adStatusCount['Approved']), '0') . '</strong></a>
7.    341:                     <a href="' . XenForo_Template_Helper_Core::adminLink('ads/queued', false, array()) . '"><span class="label">' . 'Queued' . ':</span> <strong>' . XenForo_Template_Helper_Core::numberFormat(count($adStatusCount['Queued']), '0') . '</strong></a>
8.    342:                     <a href="' . XenForo_Template_Helper_Core::adminLink('ads/paused', false, array()) . '"><span class="label">' . 'Paused' . ':</span> <strong>' . XenForo_Template_Helper_Core::numberFormat(count($adStatusCount['Paused']), '0') . '</strong></a>
9.    count(): Parameter must be an array or an object that implements Countable in /library/XenForo/Template/Abstract.php(279) : eval()'d code, line 342:
10.    341:                     <a href="' . XenForo_Template_Helper_Core::adminLink('ads/queued', false, array()) . '"><span class="label">' . 'Queued' . ':</span> <strong>' . XenForo_Template_Helper_Core::numberFormat(count($adStatusCount['Queued']), '0') . '</strong></a>
11.    342:                     <a href="' . XenForo_Template_Helper_Core::adminLink('ads/paused', false, array()) . '"><span class="label">' . 'Paused' . ':</span> <strong>' . XenForo_Template_Helper_Core::numberFormat(count($adStatusCount['Paused']), '0') . '</strong></a>
12.    343:                     <a href="' . XenForo_Template_Helper_Core::adminLink('ads/rejected', false, array()) . '"><span class="label">' . 'Rejected' . ':</span> <strong>' . XenForo_Template_Helper_Core::numberFormat(count($adStatusCount['Rejected']), '0') . '</strong></a>
13.    count(): Parameter must be an array or an object that implements Countable in /library/XenForo/Template/Abstract.php(279) : eval()'d code, line 343:
14.    342:                     <a href="' . XenForo_Template_Helper_Core::adminLink('ads/paused', false, array()) . '"><span class="label">' . 'Paused' . ':</span> <strong>' . XenForo_Template_Helper_Core::numberFormat(count($adStatusCount['Paused']), '0') . '</strong></a>
15.    343:                     <a href="' . XenForo_Template_Helper_Core::adminLink('ads/rejected', false, array()) . '"><span class="label">' . 'Rejected' . ':</span> <strong>' . XenForo_Template_Helper_Core::numberFormat(count($adStatusCount['Rejected']), '0') . '</strong></a>
16.    344:                     <hr>
17.    count(): Parameter must be an array or an object that implements Countable in /library/XenForo/Template/Abstract.php(279) : eval()'d code, line 348:
18.    347:                     <a href="' . XenForo_Template_Helper_Core::adminLink('ads', false, array()) . '&search[type]=text"><span class="label">' . 'Text' . ':</span> <strong>' . XenForo_Template_Helper_Core::numberFormat(count($adTypeCount['text']), '0') . '</strong></a>
19.    348:                     <a href="' . XenForo_Template_Helper_Core::adminLink('ads', false, array()) . '&search[type]=link"><span class="label">' . 'Link' . ':</span> <strong>' . XenForo_Template_Helper_Core::numberFormat(count($adTypeCount['link']), '0') . '</strong></a>
20.    349:                     <a href="' . XenForo_Template_Helper_Core::adminLink('ads', false, array()) . '&search[type]=keyword"><span class="label">' . 'Keyword' . ':</span> <strong>' . XenForo_Template_Helper_Core::numberFormat(count($adTypeCount['keyword']), '0') . '</strong></a>
21.    count(): Parameter must be an array or an object that implements Countable in /library/XenForo/Template/Abstract.php(279) : eval()'d code, line 349:
22.    348:                     <a href="' . XenForo_Template_Helper_Core::adminLink('ads', false, array()) . '&search[type]=link"><span class="label">' . 'Link' . ':</span> <strong>' . XenForo_Template_Helper_Core::numberFormat(count($adTypeCount['link']), '0') . '</strong></a>
23.    349:                     <a href="' . XenForo_Template_Helper_Core::adminLink('ads', false, array()) . '&search[type]=keyword"><span class="label">' . 'Keyword' . ':</span> <strong>' . XenForo_Template_Helper_Core::numberFormat(count($adTypeCount['keyword']), '0') . '</strong></a>
24.    350:                     <a href="' . XenForo_Template_Helper_Core::adminLink('ads', false, array()) . '&search[type]=sticky"><span class="label">' . 'Sticky Thread' . ':</span> <strong>' . XenForo_Template_Helper_Core::numberFormat(count($adTypeCount['sticky']), '0') . '</strong></a>
25.    count(): Parameter must be an array or an object that implements Countable in /library/XenForo/Template/Abstract.php(279) : eval()'d code, line 350:
26.    349:                     <a href="' . XenForo_Template_Helper_Core::adminLink('ads', false, array()) . '&search[type]=keyword"><span class="label">' . 'Keyword' . ':</span> <strong>' . XenForo_Template_Helper_Core::numberFormat(count($adTypeCount['keyword']), '0') . '</strong></a>
27.    350:                     <a href="' . XenForo_Template_Helper_Core::adminLink('ads', false, array()) . '&search[type]=sticky"><span class="label">' . 'Sticky Thread' . ':</span> <strong>' . XenForo_Template_Helper_Core::numberFormat(count($adTypeCount['sticky']), '0') . '</strong></a>
28.    351:                     <a href="' . XenForo_Template_Helper_Core::adminLink('ads', false, array()) . '&search[type]=featured"><span class="label">' . 'Featured Resource' . ':</span> <strong>' . XenForo_Template_Helper_Core::numberFormat(count($adTypeCount['featured']), '0') . '</strong></a>
29.    count(): Parameter must be an array or an object that implements Countable in /library/XenForo/Template/Abstract.php(279) : eval()'d code, line 351:
30.    350:                     <a href="' . XenForo_Template_Helper_Core::adminLink('ads', false, array()) . '&search[type]=sticky"><span class="label">' . 'Sticky Thread' . ':</span> <strong>' . XenForo_Template_Helper_Core::numberFormat(count($adTypeCount['sticky']), '0') . '</strong></a>
31.    351:                     <a href="' . XenForo_Template_Helper_Core::adminLink('ads', false, array()) . '&search[type]=featured"><span class="label">' . 'Featured Resource' . ':</span> <strong>' . XenForo_Template_Helper_Core::numberFormat(count($adTypeCount['featured']), '0') . '</strong></a>
32.    352:                 </div>
 
And this one when I trry to create a package:
Code:
ErrorException: count(): Parameter must be an array or an object that implements Countable - library/Siropu/AdsManager/Helper/General.php:653
Generated By: Alfa, A moment ago

Stack Trace
#0 /library/Siropu/AdsManager/Helper/General.php(653): XenForo_Application::handlePhpError(2, 'count(): Parame...', '/home/nginx/dom...', 653, Array)
#1 /library/Siropu/AdsManager/ControllerAdmin/Packages.php(22): Siropu_AdsManager_Helper_General::setAvailableAdSlotCount(Array)
#2 /library/XenForo/FrontController.php(369): Siropu_AdsManager_ControllerAdmin_Packages->actionIndex()
#3 /library/XenForo/FrontController.php(152): XenForo_FrontController->dispatch(Object(XenForo_RouteMatch))
#4 /admin.php(13): XenForo_FrontController->run()
#5 {main}
Request State
array(3) {
  ["url"] => string(46) "https://my-forum.com/admin.php?ad-packages/"
  ["_GET"] => array(1) {
    ["ad-packages/"] => string(0) ""
  }
  ["_POST"] => array(0) {
  }
}
 
Siropo, you give amazing support. Thank you.

A question on placeholders. Right now I've got Ads Manager with 5 ads running (1 for each ad slot); each ad is running ad code from an ad management company that's handling my inventory. Basically for a year Ads Manager has been an easier way to handle someone else's ad code. As I transition to directly sold ads I want to make sure I understand the best way to do so.

As I understand it:
  • Starting now, I have one ad per slot with network ad code running.
  • I have configured an ad package for this ad position and added my existing ad to it. It works. This ad is configured to not show as taking an available slot.
  • Let's say I have 10 slots configured, currently listed as 10/10 available, with my hidden ad running in the background.
  • I plan to configure a placeholder for this ad package, edit it to include my current ad code, delete my current ad, and open the package for sign-ups.
  • After I've done so I will have no ads assigned, 10/10 available, and a placeholder running my existing ad code.
Now, my question: as soon as the first advertiser signs up, we will have 9/10 ad slots available. Does this mean that 90% of the time my placeholder's code will run, and my single advertiser will receive 10% of the ad impressions from that as package? Then after the second advertiser signs up 80% of the impressions will be handled by the placeholder, and so on?

Thanks. If this works it means I don't need to create 9 "hidden" ads with the same code and manually delete each one after each ad sale, which was my plan until now. If this works it'll be sooooo much easier to manage. :D

Edited to add: for anyone else looking at this, placeholders only display when there are no ad slots filled. So my workaround was to create 9 ads owned by me that don't show in the slot count, and I'll delete one every time an ad in that package sells. That way each buyer is getting the percentage they paid for and nobody is flooding all of the ad slot with a single ad.

It sounds like a pain, but it look less than 10 minutes using the "clone" function.

@Derek Zeanah , you can just use one internal ad with ad setting Display Priority set to a higher value. Sorry for the late response, I missed your post for some reason.

@Derek Zeanah Did this work for you, or are you still using your workaround?

@Siropu The way I read this, I should set the one internal ad (placeholder with my ad network code) to a higher priority than the ads available for purchase, and this will spread the impressions out over a longer period of time? What's the formula for determining which ad is shown?
 
Top Bottom