Added support for a new browser in device criteria: Vivaldi
Added admin ad actions for keyword and affiliate link ads as well.

Bugs Fixed
Keyword ads issue when using multiple keywords where they match in other words that contains them.
Ads Manager admin options tabs show in other options as well.
Affiliate ads conflict with keyword ads.
  • Added option to exclude posts of certain user groups from applying keyword and affiliate link ads.
  • Added three widgets:
1. Advertisers - Display the current advertiser list.
2. Featured threads - Display the current sticky threads
3. Featured resources - Display the current featured resources

Each widget has options for limit and order.
You can change the title of the widget from the widget options.
  • Added option to redirect AdBlock users to a custom URL.
  • Added options to set custom selectors for background ads when using custom styles that don't use the same classes as the default style.
Bugs Fixed
  • Advertiser page showing error due to a recent change.
  • Xnumber flag in position criteria not recognizing number 0.
Two new ad types:

1. Popup
This ad type allows you to display popup ads in 3 ways: XenForo overlay with title and content (supports HTML and template syntax), custom popup code and popup window with custom window features.

2. Background
This ad type allows you to display a background image as an ad with clickable left and right parts of the image. If you provide multiple background images, they will rotate randomly on each page load.

Both Popup and Background ads can be controlled how often they show up and after how many seconds to display. You can even hide them after x seconds of display.

Improvements
  • Added ad option to set display frequency which allows you to display ads every x hours.
  • Added package option to display custom content below the ad unit.
  • Added a global template (siropu_ads_manager_content_below_unit) that allows you to display custom content below any ad unit.
  • Packages now also have the following ad settings: Display after x seconds, Hide after x seconds, Display every x hours (new)
  • Other code improvements.
Bug fixes
  • Using a package with multiple ads on dynamic positions with R flag, display each ad randomly instead of grouping them.
  • Trying to pay with stripe, not working.
  • Other code issues.
IMPORTANT
If you see error log messages like this: "[E_NOTICE] Undefined index: ...", edit each package (code, banner, text, link) and hit save without changing anything to update the new setting options that have been added. If you do not have a package and still see such error logs, edit each ad (code, banner, text, link) instead.​
Attachments
Import/Export causing an error due to a new table field that hasn't been updated.

Incorrect getter name in new ad email notification, causing an error.

Other code issues.
Improvements
  1. Code, banner (custom HTML) and text ads are now supporting XF template syntax allowing you to include XF templates, widgets and display personalized ads for members by including their username.
  2. Added ad setting to use custom CSS classes.
  3. Added ad option to reset statistics.
  4. Added option to set a prefix for featured resources.
  5. Ad option "Display after x seconds" and "Hide after x seconds" will now work when the ad is in view.
  6. Added option to view discounts in package list for advertisers.
  7. Now you can use global prefixes for both sticky threads and featured resources because they will get reserved by Ads Manager and non-advertisers will see a message when trying to use them.
Bug Fixes
  1. If a thread has a prefix before sticky, the prefix will be lost. Now, if a thread has a prefix before sticky, the prefix will remain as is and if if you set a custom prefix for sticky threads, when unstick, the original prefix will be set back.
  2. Cron alerts for expiring ads throwing error for invalid username.
  3. Editing a keyword ad can trigger an error.
  4. Other code issues.
  • "View count condition" and "Click count condition" time doesn't last as expected.
  • "View count condition" option not working when "View count method" option is set to "When ad is loaded".
  • Click fraud protection not logging clicks inside iframes.
  • Some other code issues.
Added ad option to enable click fraud protection for third-party ads such as AdSense. This option allows you to hide the ad after it has been clicked x times by the same visitor. Blocked IPs are displayed in the "Details" section of the ad.

Bugs Fixed
Users with inactive ads cannot extend their ads if there are no empty slots.
Placeholder images not working due to changes in the placeholder service URL structure.
Other code issues.​
Attachments
  • Added package option to use placeholders as backup ads. Once you enable the placeholder, you can edit it from the ad list.
  • Added options to quick enable/diable all ads for packages in ad list.
  • Click statistics will now display the banner that has been clicked when usign multiple banner images for the same ad in both banner and text ad type.
  • Ads/packages can now be embedded on any domain outside your XF installation.
Bugs fixed:
  • "Click limit" and "View limit" ad options are not saving.
  • Positions "Above thread post x content" and "Below thread post x content" not working from page 2.
  • Other code issues.
Attachments
Added option to display ad actions under the ad in front-end for admins.
Added support for callbacks in code ads. This option allows you to generate your ad code via a PHP callback.
Added image lazy load for individual ads in both banner ad type and text ad type.

Fixed pagination issue and dynamic position display name in statistics.
Fixed some other code issues.

Note: This version adds a new admin option so you might see an error in the admin error log if you do not disable the add-on before the upgrade.​
Attachments
This version fixes all known bugs and it is now released as stable.