AdRotate Banner Manager - Version 5.4.2

Version Description

FREE = * [fix] Minutes showing Hour when scheduling adverts * [fix] Missing semicolon in CSS for groups * [change] Dashboard tweaks

Download this release

Release Info

Developer adegans
Plugin Icon 128x128 AdRotate Banner Manager
Version 5.4.2
Comparing to
See all releases

Code changes from version 5.4.1 to 5.4.2

adrotate-manage-publisher.php CHANGED
@@ -354,7 +354,7 @@ function adrotate_insert_group() {
354
  $output_css = "";
355
  if($modus == 0 AND ($admargin > 0 OR $align > 0)) { // Single ad group
356
  if($align < 3) {
357
- $output_css .= "\t.g".$adrotate_config['adblock_disguise']."-".$id." { margin:".$admargin."px ".$group_align." }\n";
358
  } else {
359
  $output_css .= "\t.g".$adrotate_config['adblock_disguise']."-".$id." { ".$group_align." }\n";
360
  }
@@ -374,7 +374,7 @@ function adrotate_insert_group() {
374
  }
375
 
376
  if($align < 3) {
377
- $output_css .= "\t.g".$adrotate_config['adblock_disguise']."-".$id." { margin:".$admargin."px".$width.$height.$group_align." }\n";
378
  } else {
379
  $output_css .= "\t.g".$adrotate_config['adblock_disguise']."-".$id." {".$width.$height.$group_align." }\n";
380
  }
354
  $output_css = "";
355
  if($modus == 0 AND ($admargin > 0 OR $align > 0)) { // Single ad group
356
  if($align < 3) {
357
+ $output_css .= "\t.g".$adrotate_config['adblock_disguise']."-".$id." { margin:".$admargin."px; ".$group_align." }\n";
358
  } else {
359
  $output_css .= "\t.g".$adrotate_config['adblock_disguise']."-".$id." { ".$group_align." }\n";
360
  }
374
  }
375
 
376
  if($align < 3) {
377
+ $output_css .= "\t.g".$adrotate_config['adblock_disguise']."-".$id." { margin:".$admargin."px; ".$width.$height.$group_align." }\n";
378
  } else {
379
  $output_css .= "\t.g".$adrotate_config['adblock_disguise']."-".$id." {".$width.$height.$group_align." }\n";
380
  }
adrotate-output.php CHANGED
@@ -679,7 +679,7 @@ function adrotate_dashboard_error() {
679
  }
680
 
681
  if($adrotate_config['borlabscache'] == "Y" AND !class_exists('\Borlabs\Factory') AND \Borlabs\Factory::get('Cache\Config')->get('cacheActivated') != 'yes') {
682
- $error['borlabs_not_active'] = __('You have enable caching support but Borlabs Cache is not active on your site!', 'adrotate-pro').' <a href="'.admin_url('/admin.php?page=adrotate-settings&tab=misc').'">'.__('Disable Borlabs Cache Support', 'adrotate-pro').'</a>.';
683
  }
684
  if(class_exists('\Borlabs\Factory') AND \Borlabs\Factory::get('Cache\Config')->get('cacheActivated') == 'yes') {
685
  $borlabscache = '';
@@ -687,7 +687,7 @@ function adrotate_dashboard_error() {
687
  $borlabscache = \Borlabs\Factory::get('Cache\Config')->get('fragmentCaching');
688
  }
689
  if($adrotate_config['borlabscache'] == "Y" AND $borlabscache == '') {
690
- $error['borlabs_fragment_error'] = __('You have enabled Borlabs Cache support but Fragment caching is not enabled!', 'adrotate-pro').' <a href="'.admin_url('/admin.php?page=borlabs-cache-fragments').'">'.__('Enable Fragment Caching', 'adrotate-pro').'</a>.';
691
  }
692
  }
693
 
@@ -718,7 +718,7 @@ function adrotate_notifications_dashboard() {
718
  // Get AdRotate Pro
719
  echo '<div class="updated" style="padding: 0; margin: 0;">';
720
  echo ' <div class="ajdg_notification">';
721
- echo ' <div class="button_div"><a class="button button_large" target="_blank" href="https://ajdg.solutions/plugins/adrotate-for-wordpress/?add-to-cart=1126">'.__('Get AdRotate Pro', 'adrotate').'</a></div>';
722
  echo ' <div class="text">'.__("Upgrade to <strong>AdRotate Professional</strong> and get features like Geo Targeting, Scheduling and more...", 'adrotate').'<br /><span>'.__('Use coupon code <b>IWANTADROTATEPRO</b> and get a 20% discount on any AdRotate Professional license!', 'adrotate' ).' '.__('Thank you for your support!', 'adrotate' ).'</span></div>';
723
 
724
  echo ' <div class="icon"><img title="" src="'.plugins_url('/images/logo-60x60.png', __FILE__).'" alt=""/></div>';
@@ -767,7 +767,7 @@ function adrotate_notifications_dashboard() {
767
  echo '<div class="updated" style="padding: 0; margin: 0;">';
768
  echo ' <div class="ajdg_notification">';
769
  echo ' <div class="button_div"><a class="button button_large" target="_blank" href="https://translate.wordpress.org/projects/wp-plugins/adrotate/">Help Translate</a></div>';
770
- echo ' <div class="text">If you can spare a few minutes to translate a few words or sentences for <strong>AdRotate</strong> that would be great!<br /><span>Are you a native speaker and your English is very good? Please help translating AdRotate to your language. Thank you for your support!</span></div>';
771
 
772
  echo ' <a class="close_notification" href="admin.php?page=adrotate&hide=3"><img title="Close" src="'.plugins_url('/images/icon-close.png', __FILE__).'" alt=""/></a>';
773
 
@@ -855,7 +855,8 @@ function adrotate_help_info() {
855
  'content' => '<h4>Thank you for using AdRotate</h4>'.
856
  '<p>AdRotate is becoming one of the most popular WordPress plugins for Advertising and is a household name for many companies and websites around the world. AdRotate wouldn\'t be possible without your support and my life wouldn\'t be what it is today without your help.</p><p><em>- Arnan</em></p>'.
857
 
858
- '<p><strong>Add me on:</strong> <a href="https://www.facebook.com/ajdgsolutions/" target="_blank">Facebook</a>, <a href="https://www.twitter.com/arnandegans/" target="_blank">Twitter</a> and on <a href="https://linkedin.com/in/arnandegans/" target="_blank">LinkedIn</a>. <strong>Visit my websites:</strong> <a href="https://ajdg.solutions/" target="_blank">ajdg.solutions</a> & <a href="https://www.arnan.me" target="_blank">arnan.me</a>.</p>'
 
859
  )
860
  );
861
  $screen->add_help_tab(array(
@@ -915,7 +916,7 @@ function adrotate_credits() {
915
  echo '<tr>';
916
  echo '<td><center><a href="https://ajdg.solutions/products/adrotate-for-wordpress/" title="AdRotate plugin for WordPress"><img src="'.plugins_url('/images/logo-60x60.png', __FILE__).'" alt="AdRotate Logo" width="60" height="60" /></a></center></td>';
917
  echo '<td>'.__("Many users only think to review AdRotate when something goes wrong while thousands of people happily use AdRotate.", 'adrotate').' <strong>'. __("If you find AdRotate useful please leave your", 'adrotate').' <a href="https://wordpress.org/support/view/plugin-reviews/adrotate?rate=5#postform" target="_blank">'.__('rating','adrotate').'</a> '.__('and','adrotate').' <a href="https://wordpress.org/support/view/plugin-reviews/adrotate" target="_blank">'.__('review','adrotate').'</a> '.__('on WordPress.org to help AdRotate grow in a positive way', 'adrotate').'!</strong></td>';
918
- echo '<td><a href="https://ajdg.solutions/cart/?add-to-cart=1124" title="Get AdRotate Pro for WordPress"><img src="'.plugins_url('/images/adrotate-product.png', __FILE__).'" alt="AdRotate Pro for WordPress" width="70" height="70" align="left" /></a>'.__('Get more advanced features like Geo Targeting, scheduling and much more with AdRotate Pro.', 'adrotate').'<br />'.__('Includes premium support and free updates!', 'adrotate').'<br /><strong>So why wait? <a href="https://ajdg.solutions/cart/?add-to-cart=1124" title="Get AdRotate Pro for WordPress">'.__('Get started today', 'adrotate').' &raquo;</a></strong></td>';
919
 
920
  echo '</tr>';
921
  echo '</tbody>';
679
  }
680
 
681
  if($adrotate_config['borlabscache'] == "Y" AND !class_exists('\Borlabs\Factory') AND \Borlabs\Factory::get('Cache\Config')->get('cacheActivated') != 'yes') {
682
+ $error['borlabs_not_active'] = __('You have enable caching support but Borlabs Cache is not active on your site!', 'adrotate').' <a href="'.admin_url('/admin.php?page=adrotate-settings&tab=misc').'">'.__('Disable Borlabs Cache Support', 'adrotate').'</a>.';
683
  }
684
  if(class_exists('\Borlabs\Factory') AND \Borlabs\Factory::get('Cache\Config')->get('cacheActivated') == 'yes') {
685
  $borlabscache = '';
687
  $borlabscache = \Borlabs\Factory::get('Cache\Config')->get('fragmentCaching');
688
  }
689
  if($adrotate_config['borlabscache'] == "Y" AND $borlabscache == '') {
690
+ $error['borlabs_fragment_error'] = __('You have enabled Borlabs Cache support but Fragment caching is not enabled!', 'adrotate').' <a href="'.admin_url('/admin.php?page=borlabs-cache-fragments').'">'.__('Enable Fragment Caching', 'adrotate').'</a>.';
691
  }
692
  }
693
 
718
  // Get AdRotate Pro
719
  echo '<div class="updated" style="padding: 0; margin: 0;">';
720
  echo ' <div class="ajdg_notification">';
721
+ echo ' <div class="button_div"><a class="button button_large" href="'.admin_url('admin.php?page=adrotate-pro').'">'.__('Get AdRotate Pro', 'adrotate').'</a></div>';
722
  echo ' <div class="text">'.__("Upgrade to <strong>AdRotate Professional</strong> and get features like Geo Targeting, Scheduling and more...", 'adrotate').'<br /><span>'.__('Use coupon code <b>IWANTADROTATEPRO</b> and get a 20% discount on any AdRotate Professional license!', 'adrotate' ).' '.__('Thank you for your support!', 'adrotate' ).'</span></div>';
723
 
724
  echo ' <div class="icon"><img title="" src="'.plugins_url('/images/logo-60x60.png', __FILE__).'" alt=""/></div>';
767
  echo '<div class="updated" style="padding: 0; margin: 0;">';
768
  echo ' <div class="ajdg_notification">';
769
  echo ' <div class="button_div"><a class="button button_large" target="_blank" href="https://translate.wordpress.org/projects/wp-plugins/adrotate/">Help Translate</a></div>';
770
+ echo ' <div class="text">If you can spare a few minutes to translate a few words or sentences for <strong>AdRotate</strong> that would be great!<br /><span>Are you a native speaker and your English is very good? Please help translating AdRotate to your language. Thank you for your help!</span></div>';
771
 
772
  echo ' <a class="close_notification" href="admin.php?page=adrotate&hide=3"><img title="Close" src="'.plugins_url('/images/icon-close.png', __FILE__).'" alt=""/></a>';
773
 
855
  'content' => '<h4>Thank you for using AdRotate</h4>'.
856
  '<p>AdRotate is becoming one of the most popular WordPress plugins for Advertising and is a household name for many companies and websites around the world. AdRotate wouldn\'t be possible without your support and my life wouldn\'t be what it is today without your help.</p><p><em>- Arnan</em></p>'.
857
 
858
+ '<p><strong>Business:</strong> <a href="https://ajdg.solutions/" target="_blank">ajdg.solutions website</a>, <a href="https://ajdgsolutions.tumblr.com" target="_blank">AJdG Solutions Tumblr</a> and on <a href="https://www.facebook.com/ajdgsolutions/" target="_blank">Facebook</a>.<br />'.
859
+ '<strong>Personal:</strong> <a href="https://www.arnan.me" target="_blank">arnan.me website</a> also Arnan has <a href="https://arnandegans.tumblr.com" target="_blank">Tumblr</a>, <a href="https://www.twitter.com/arnandegans/" target="_blank">Twitter</a> and <a href="https://linkedin.com/in/arnandegans/" target="_blank">LinkedIn</a>.</p>'
860
  )
861
  );
862
  $screen->add_help_tab(array(
916
  echo '<tr>';
917
  echo '<td><center><a href="https://ajdg.solutions/products/adrotate-for-wordpress/" title="AdRotate plugin for WordPress"><img src="'.plugins_url('/images/logo-60x60.png', __FILE__).'" alt="AdRotate Logo" width="60" height="60" /></a></center></td>';
918
  echo '<td>'.__("Many users only think to review AdRotate when something goes wrong while thousands of people happily use AdRotate.", 'adrotate').' <strong>'. __("If you find AdRotate useful please leave your", 'adrotate').' <a href="https://wordpress.org/support/view/plugin-reviews/adrotate?rate=5#postform" target="_blank">'.__('rating','adrotate').'</a> '.__('and','adrotate').' <a href="https://wordpress.org/support/view/plugin-reviews/adrotate" target="_blank">'.__('review','adrotate').'</a> '.__('on WordPress.org to help AdRotate grow in a positive way', 'adrotate').'!</strong></td>';
919
+ echo '<td><a href="https://ajdg.solutions/cart/?add-to-cart=1124" title="Get AdRotate Pro for WordPress"><img src="'.plugins_url('/images/adrotate-product.png', __FILE__).'" alt="AdRotate Pro for WordPress" width="70" height="70" align="left" /></a>'.__('Get more advanced features like Geo Targeting, scheduling and much more with AdRotate Pro.', 'adrotate').' '.__('Includes premium support and free updates for one year!', 'adrotate').'<br /><strong>So why wait? <a href="'.admin_url('admin.php?page=adrotate-pro').'" title="Get AdRotate Pro for WordPress">'.__('Get started today', 'adrotate').' &raquo;</a></strong></td>';
920
 
921
  echo '</tr>';
922
  echo '</tbody>';
adrotate-setup.php CHANGED
@@ -253,12 +253,12 @@ function adrotate_check_config() {
253
  if(!isset($config['enable_geo'])) $config['enable_geo'] = 0;
254
  if(!isset($config['geo_email'])) $config['geo_email'] = '';
255
  if(!isset($config['geo_pass'])) $config['geo_pass'] = '';
256
- if(!isset($config['geo_cookie_life'])) $config['geo_cookie_life'] = 86400;
257
  if(!isset($config['enable_geo_advertisers'])) $config['enable_geo_advertisers'] = 0;
258
  if(!isset($config['adblock_disguise'])) $config['adblock_disguise'] = '';
259
  if(!isset($config['banner_folder'])) $config['banner_folder'] = "banners";
260
- if(!isset($config['impression_timer']) OR $config['impression_timer'] < 10 OR $config['impression_timer'] > 3600) $config['impression_timer'] = 60;
261
- if(!isset($config['click_timer']) OR $config['click_timer'] < 60 OR $config['click_timer'] > 86400) $config['click_timer'] = 86400;
262
  if(!isset($config['hide_schedules']) OR ($config['hide_schedules'] != 'Y' AND $config['hide_schedules'] != 'N')) $config['hide_schedules'] = 'N';
263
  if(!isset($config['widgetalign']) OR ($config['widgetalign'] != 'Y' AND $config['widgetalign'] != 'N')) $config['widgetalign'] = 'N';
264
  if(!isset($config['widgetpadding']) OR ($config['widgetpadding'] != 'Y' AND $config['widgetpadding'] != 'N')) $config['widgetpadding'] = 'N';
@@ -347,7 +347,7 @@ function adrotate_dummy_data() {
347
 
348
  if(is_null($no_ads) AND is_null($no_schedules) AND is_null($no_linkmeta)) {
349
  // Demo ad 1
350
- $wpdb->insert("{$wpdb->prefix}adrotate", array('title' => 'Demo ad 468x60', 'bannercode' => '&lt;a href=\&quot;https:\/\/ajdg.solutions\&quot;&gt;&lt;img src=\&quot;http://ajdg.solutions/assets/dummy-banners/adrotate-468x60.jpg\&quot; /&gt;&lt;/a&gt;', 'thetime' => $now, 'updated' => $now, 'author' => $current_user->user_login, 'imagetype' => '', 'image' => '', 'tracker' => 'N', 'show_everyone' => 'Y', 'desktop' => 'Y', 'mobile' => 'Y', 'tablet' => 'Y', 'os_ios' => 'Y', 'os_android' => 'Y', 'os_other' => 'Y', 'type' => 'active', 'weight' => 6, 'budget' => 0, 'crate' => 0, 'irate' => 0, 'cities' => serialize(array()), 'countries' => serialize(array())));
351
  $ad_id = $wpdb->insert_id;
352
  $wpdb->insert("{$wpdb->prefix}adrotate_schedule", array('name' => 'Schedule for ad '.$ad_id, 'starttime' => $now, 'stoptime' => $in84days, 'maxclicks' => 0, 'maximpressions' => 0, 'spread' => 'N', 'daystarttime' => '0000', 'daystoptime' => '0000', 'day_mon' => 'Y', 'day_tue' => 'Y', 'day_wed' => 'Y', 'day_thu' => 'Y', 'day_fri' => 'Y', 'day_sat' => 'Y', 'day_sun' => 'Y'));
353
  $schedule_id = $wpdb->insert_id;
@@ -355,7 +355,7 @@ function adrotate_dummy_data() {
355
  unset($ad_id, $schedule_id);
356
 
357
  // Demo ad 2
358
- $wpdb->insert("{$wpdb->prefix}adrotate", array('title' => 'Demo ad 200x200', 'bannercode' => '&lt;a href=\&quot;https:\/\/ajdg.solutions\&quot;&gt;&lt;img src=\&quot;http://ajdg.solutions/assets/dummy-banners/adrotate-200x200.jpg\&quot; /&gt;&lt;/a&gt;', 'thetime' => $now, 'updated' => $now, 'author' => $current_user->user_login, 'imagetype' => '', 'image' => '', 'tracker' => 'N', 'show_everyone' => 'Y', 'desktop' => 'Y', 'mobile' => 'Y', 'tablet' => 'Y', 'os_ios' => 'Y', 'os_android' => 'Y', 'os_other' => 'Y', 'type' => 'active', 'weight' => 6, 'budget' => 0, 'crate' => 0, 'irate' => 0, 'cities' => serialize(array()), 'countries' => serialize(array())));
359
  $ad_id = $wpdb->insert_id;
360
  $wpdb->insert("{$wpdb->prefix}adrotate_schedule", array('name' => 'Schedule for ad '.$ad_id, 'starttime' => $now, 'stoptime' => $in84days, 'maxclicks' => 0, 'maximpressions' => 0, 'spread' => 'N', 'daystarttime' => '0000', 'daystoptime' => '0000', 'day_mon' => 'Y', 'day_tue' => 'Y', 'day_wed' => 'Y', 'day_thu' => 'Y', 'day_fri' => 'Y', 'day_sat' => 'Y', 'day_sun' => 'Y'));
361
  $schedule_id = $wpdb->insert_id;
@@ -650,7 +650,7 @@ function adrotate_database_upgrade() {
650
  function adrotate_core_upgrade() {
651
  global $wp_roles, $wpdb;
652
 
653
- $firstrun = date('U') + 3600;
654
  $adrotate_version = get_option("adrotate_version");
655
  $adrotate_config = get_option('adrotate_config');
656
 
@@ -786,7 +786,7 @@ function adrotate_optimize_database() {
786
  $adrotate_db_timer = get_option('adrotate_db_timer');
787
  $now = adrotate_now();
788
 
789
- if($adrotate_db_timer < ($now - 86400)) {
790
  dbDelta("OPTIMIZE TABLE `{$wpdb->prefix}adrotate`, `{$wpdb->prefix}adrotate_groups`, `{$wpdb->prefix}adrotate_linkmeta`, `{$wpdb->prefix}adrotate_stats`, `{$wpdb->prefix}adrotate_stats_archive`, `{$wpdb->prefix}adrotate_tracker`, `{$wpdb->prefix}adrotate_schedule`, `{$wpdb->prefix}adrotate_transactions`;");
791
  dbDelta("REPAIR TABLE `{$wpdb->prefix}adrotate`, `{$wpdb->prefix}adrotate_groups`, `{$wpdb->prefix}adrotate_linkmeta`, `{$wpdb->prefix}adrotate_stats`, `{$wpdb->prefix}adrotate_stats_archive`, `{$wpdb->prefix}adrotate_tracker`, `{$wpdb->prefix}adrotate_schedule`, `{$wpdb->prefix}adrotate_transactions`;");
792
  update_option('adrotate_db_timer', $now);
@@ -808,7 +808,7 @@ function adrotate_cleanup_database() {
808
 
809
  // Delete old stats
810
  if(isset($_POST['adrotate_db_cleanup_statistics'])) {
811
- $lastyear = $now - 30758400;
812
  $wpdb->query("DELETE FROM `{$wpdb->prefix}adrotate_stats` WHERE `thetime` < $lastyear;");
813
  }
814
 
@@ -818,7 +818,7 @@ function adrotate_cleanup_database() {
818
  }
819
 
820
  // Clean up Tracker data
821
- $yesterday = $now - 86400;
822
  $wpdb->query("DELETE FROM `{$wpdb->prefix}adrotate_tracker` WHERE `timer` < $yesterday;");
823
 
824
  // Delete empty ads, groups and schedules
@@ -868,8 +868,8 @@ function adrotate_empty_trackerdata() {
868
  global $wpdb;
869
 
870
  $now = adrotate_now();
871
- $clicks = $now - 86400;
872
- $impressions = $now - 3600;
873
 
874
  $wpdb->query("DELETE FROM `{$wpdb->prefix}adrotate_tracker` WHERE `timer` < {$impressions} AND `stat` = 'i';");
875
  $wpdb->query("DELETE FROM `{$wpdb->prefix}adrotate_tracker` WHERE `timer` < {$clicks} AND `stat` = 'c';");
253
  if(!isset($config['enable_geo'])) $config['enable_geo'] = 0;
254
  if(!isset($config['geo_email'])) $config['geo_email'] = '';
255
  if(!isset($config['geo_pass'])) $config['geo_pass'] = '';
256
+ if(!isset($config['geo_cookie_life'])) $config['geo_cookie_life'] = DAY_IN_SECONDS;
257
  if(!isset($config['enable_geo_advertisers'])) $config['enable_geo_advertisers'] = 0;
258
  if(!isset($config['adblock_disguise'])) $config['adblock_disguise'] = '';
259
  if(!isset($config['banner_folder'])) $config['banner_folder'] = "banners";
260
+ if(!isset($config['impression_timer']) OR $config['impression_timer'] < 10 OR $config['impression_timer'] > HOUR_IN_SECONDS) $config['impression_timer'] = 60;
261
+ if(!isset($config['click_timer']) OR $config['click_timer'] < 60 OR $config['click_timer'] > DAY_IN_SECONDS) $config['click_timer'] = DAY_IN_SECONDS;
262
  if(!isset($config['hide_schedules']) OR ($config['hide_schedules'] != 'Y' AND $config['hide_schedules'] != 'N')) $config['hide_schedules'] = 'N';
263
  if(!isset($config['widgetalign']) OR ($config['widgetalign'] != 'Y' AND $config['widgetalign'] != 'N')) $config['widgetalign'] = 'N';
264
  if(!isset($config['widgetpadding']) OR ($config['widgetpadding'] != 'Y' AND $config['widgetpadding'] != 'N')) $config['widgetpadding'] = 'N';
347
 
348
  if(is_null($no_ads) AND is_null($no_schedules) AND is_null($no_linkmeta)) {
349
  // Demo ad 1
350
+ $wpdb->insert("{$wpdb->prefix}adrotate", array('title' => 'Demo ad 468x60', 'bannercode' => '&lt;a href=\&quot;https:\/\/ajdg.solutions\&quot;&gt;&lt;img src=\&quot;http://ajdg.solutions/assets/banners/adrotate-468x60.jpg\&quot; /&gt;&lt;/a&gt;', 'thetime' => $now, 'updated' => $now, 'author' => $current_user->user_login, 'imagetype' => '', 'image' => '', 'tracker' => 'N', 'show_everyone' => 'Y', 'desktop' => 'Y', 'mobile' => 'Y', 'tablet' => 'Y', 'os_ios' => 'Y', 'os_android' => 'Y', 'os_other' => 'Y', 'type' => 'active', 'weight' => 6, 'budget' => 0, 'crate' => 0, 'irate' => 0, 'cities' => serialize(array()), 'countries' => serialize(array())));
351
  $ad_id = $wpdb->insert_id;
352
  $wpdb->insert("{$wpdb->prefix}adrotate_schedule", array('name' => 'Schedule for ad '.$ad_id, 'starttime' => $now, 'stoptime' => $in84days, 'maxclicks' => 0, 'maximpressions' => 0, 'spread' => 'N', 'daystarttime' => '0000', 'daystoptime' => '0000', 'day_mon' => 'Y', 'day_tue' => 'Y', 'day_wed' => 'Y', 'day_thu' => 'Y', 'day_fri' => 'Y', 'day_sat' => 'Y', 'day_sun' => 'Y'));
353
  $schedule_id = $wpdb->insert_id;
355
  unset($ad_id, $schedule_id);
356
 
357
  // Demo ad 2
358
+ $wpdb->insert("{$wpdb->prefix}adrotate", array('title' => 'Demo ad 728x90', 'bannercode' => '&lt;a href=\&quot;https:\/\/ajdg.solutions\&quot;&gt;&lt;img src=\&quot;http://ajdg.solutions/assets/banners/adrotate-728x90.jpg\&quot; /&gt;&lt;/a&gt;', 'thetime' => $now, 'updated' => $now, 'author' => $current_user->user_login, 'imagetype' => '', 'image' => '', 'tracker' => 'Y', 'show_everyone' => 'Y', 'desktop' => 'Y', 'mobile' => 'Y', 'tablet' => 'Y', 'os_ios' => 'Y', 'os_android' => 'Y', 'os_other' => 'Y', 'type' => 'active', 'weight' => 6, 'budget' => 0, 'crate' => 0, 'irate' => 0, 'cities' => serialize(array()), 'countries' => serialize(array())));
359
  $ad_id = $wpdb->insert_id;
360
  $wpdb->insert("{$wpdb->prefix}adrotate_schedule", array('name' => 'Schedule for ad '.$ad_id, 'starttime' => $now, 'stoptime' => $in84days, 'maxclicks' => 0, 'maximpressions' => 0, 'spread' => 'N', 'daystarttime' => '0000', 'daystoptime' => '0000', 'day_mon' => 'Y', 'day_tue' => 'Y', 'day_wed' => 'Y', 'day_thu' => 'Y', 'day_fri' => 'Y', 'day_sat' => 'Y', 'day_sun' => 'Y'));
361
  $schedule_id = $wpdb->insert_id;
650
  function adrotate_core_upgrade() {
651
  global $wp_roles, $wpdb;
652
 
653
+ $firstrun = date('U') + HOUR_IN_SECONDS;
654
  $adrotate_version = get_option("adrotate_version");
655
  $adrotate_config = get_option('adrotate_config');
656
 
786
  $adrotate_db_timer = get_option('adrotate_db_timer');
787
  $now = adrotate_now();
788
 
789
+ if($adrotate_db_timer < ($now - DAY_IN_SECONDS)) {
790
  dbDelta("OPTIMIZE TABLE `{$wpdb->prefix}adrotate`, `{$wpdb->prefix}adrotate_groups`, `{$wpdb->prefix}adrotate_linkmeta`, `{$wpdb->prefix}adrotate_stats`, `{$wpdb->prefix}adrotate_stats_archive`, `{$wpdb->prefix}adrotate_tracker`, `{$wpdb->prefix}adrotate_schedule`, `{$wpdb->prefix}adrotate_transactions`;");
791
  dbDelta("REPAIR TABLE `{$wpdb->prefix}adrotate`, `{$wpdb->prefix}adrotate_groups`, `{$wpdb->prefix}adrotate_linkmeta`, `{$wpdb->prefix}adrotate_stats`, `{$wpdb->prefix}adrotate_stats_archive`, `{$wpdb->prefix}adrotate_tracker`, `{$wpdb->prefix}adrotate_schedule`, `{$wpdb->prefix}adrotate_transactions`;");
792
  update_option('adrotate_db_timer', $now);
808
 
809
  // Delete old stats
810
  if(isset($_POST['adrotate_db_cleanup_statistics'])) {
811
+ $lastyear = $now - (DAY_IN_SECONDS * 365);
812
  $wpdb->query("DELETE FROM `{$wpdb->prefix}adrotate_stats` WHERE `thetime` < $lastyear;");
813
  }
814
 
818
  }
819
 
820
  // Clean up Tracker data
821
+ $yesterday = $now - DAY_IN_SECONDS;
822
  $wpdb->query("DELETE FROM `{$wpdb->prefix}adrotate_tracker` WHERE `timer` < $yesterday;");
823
 
824
  // Delete empty ads, groups and schedules
868
  global $wpdb;
869
 
870
  $now = adrotate_now();
871
+ $clicks = $now - DAY_IN_SECONDS;
872
+ $impressions = $now - HOUR_IN_SECONDS;
873
 
874
  $wpdb->query("DELETE FROM `{$wpdb->prefix}adrotate_tracker` WHERE `timer` < {$impressions} AND `stat` = 'i';");
875
  $wpdb->query("DELETE FROM `{$wpdb->prefix}adrotate_tracker` WHERE `timer` < {$clicks} AND `stat` = 'c';");
adrotate.php CHANGED
@@ -6,7 +6,7 @@ Author: Arnan de Gans
6
  Author URI: https://www.arnan.me/
7
  Description: AdRotate Banner Manager - Monetise your website with adverts while keeping things simple. Start making money today!
8
  Text Domain: adrotate
9
- Version: 5.4.1
10
  License: GPLv3
11
  */
12
 
@@ -21,7 +21,7 @@ License: GPLv3
21
  ------------------------------------------------------------------------------------ */
22
 
23
  /*--- AdRotate values ---------------------------------------*/
24
- define("ADROTATE_DISPLAY", '5.4.1');
25
  define("ADROTATE_VERSION", 393);
26
  define("ADROTATE_DB_VERSION", 65);
27
  $plugin_folder = plugin_dir_path(__FILE__);
@@ -108,7 +108,7 @@ function adrotate_dashboard() {
108
  $adrotate_schedules = add_submenu_page('adrotate', 'AdRotate · '.__('Manage Schedules', 'adrotate'), __('Manage Schedules', 'adrotate'), 'adrotate_ad_manage', 'adrotate-schedules', 'adrotate_manage_schedules');
109
  $adrotate_statistics = add_submenu_page('adrotate', 'AdRotate · '.__('Statistics', 'adrotate'), __('Statistics', 'adrotate'), 'adrotate_ad_manage', 'adrotate-statistics', 'adrotate_statistics');
110
  $adrotate_media = add_submenu_page('adrotate', 'AdRotate · '.__('Manage Media', 'adrotate'), __('Manage Media', 'adrotate'), 'adrotate_ad_manage', 'adrotate-media', 'adrotate_manage_media');
111
- $adrotate_support = add_submenu_page('adrotate', 'AdRotate · '.__('Support', 'adrotate-pro'), __('Support', 'adrotate-pro'), 'manage_options', 'adrotate-support', 'adrotate_support');
112
  $adrotate_settings = add_submenu_page('adrotate', 'AdRotate · '.__('Settings', 'adrotate'), __('Settings', 'adrotate'), 'manage_options', 'adrotate-settings', 'adrotate_options');
113
 
114
  // Add help tabs
@@ -467,7 +467,7 @@ function adrotate_support() {
467
  ?>
468
 
469
  <div class="wrap">
470
- <h1><?php _e('Support', 'adrotate-pro'); ?></h1>
471
 
472
  <?php if($status > 0) adrotate_status($status); ?>
473
 
6
  Author URI: https://www.arnan.me/
7
  Description: AdRotate Banner Manager - Monetise your website with adverts while keeping things simple. Start making money today!
8
  Text Domain: adrotate
9
+ Version: 5.4.2
10
  License: GPLv3
11
  */
12
 
21
  ------------------------------------------------------------------------------------ */
22
 
23
  /*--- AdRotate values ---------------------------------------*/
24
+ define("ADROTATE_DISPLAY", '5.4.2');
25
  define("ADROTATE_VERSION", 393);
26
  define("ADROTATE_DB_VERSION", 65);
27
  $plugin_folder = plugin_dir_path(__FILE__);
108
  $adrotate_schedules = add_submenu_page('adrotate', 'AdRotate · '.__('Manage Schedules', 'adrotate'), __('Manage Schedules', 'adrotate'), 'adrotate_ad_manage', 'adrotate-schedules', 'adrotate_manage_schedules');
109
  $adrotate_statistics = add_submenu_page('adrotate', 'AdRotate · '.__('Statistics', 'adrotate'), __('Statistics', 'adrotate'), 'adrotate_ad_manage', 'adrotate-statistics', 'adrotate_statistics');
110
  $adrotate_media = add_submenu_page('adrotate', 'AdRotate · '.__('Manage Media', 'adrotate'), __('Manage Media', 'adrotate'), 'adrotate_ad_manage', 'adrotate-media', 'adrotate_manage_media');
111
+ $adrotate_support = add_submenu_page('adrotate', 'AdRotate · '.__('Support', 'adrotate'), __('Support', 'adrotate'), 'manage_options', 'adrotate-support', 'adrotate_support');
112
  $adrotate_settings = add_submenu_page('adrotate', 'AdRotate · '.__('Settings', 'adrotate'), __('Settings', 'adrotate'), 'manage_options', 'adrotate-settings', 'adrotate_options');
113
 
114
  // Add help tabs
467
  ?>
468
 
469
  <div class="wrap">
470
+ <h1><?php _e('Support', 'adrotate'); ?></h1>
471
 
472
  <?php if($status > 0) adrotate_status($status); ?>
473
 
dashboard/adrotatepro.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /* ------------------------------------------------------------------------------------
3
  * COPYRIGHT AND TRADEMARK NOTICE
4
- * Copyright 2008-2017 Arnan de Gans. All Rights Reserved.
5
  * ADROTATE is a trademark of Arnan de Gans.
6
 
7
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
@@ -14,39 +14,35 @@
14
  <div id="dashboard-widgets" class="metabox-holder">
15
  <div id="left-column" class="ajdg-postbox-container">
16
 
17
- <div class="ajdg-postbox">
18
- <h2 class="ajdg-postbox-title"><?php _e('Satisfy your advertisers', 'adrotate'); ?></h2>
19
- <div id="satisfaction" class="ajdg-postbox-content">
20
- <p><a href="https://ajdg.solutions/plugins/adrotate-for-wordpress/" target="_blank"><img src="<?php echo plugins_url('/images/pro/demo-satisfy.png', dirname(__FILE__)); ?>" class="alignleft pro-image" /></a><?php _e('Set up advertisers and let them log in to their statistics or even create their own adverts. Created adverts go into a moderation queue for your staff to review. Advertisers have access to their own little dashboard where they can see their adverts performance.', 'adrotate'); ?></p>
21
- </div>
22
- </div>
23
-
24
  <div class="ajdg-postbox">
25
  <h2 class="ajdg-postbox-title"><?php _e('Mobile campaigns', 'adrotate'); ?></h2>
26
  <div id="mobile" class="ajdg-postbox-content">
27
- <p><a href="https://ajdg.solutions/plugins/adrotate-for-wordpress/" target="_blank"><img src="<?php echo plugins_url('/images/pro/demo-mobile.png', dirname(__FILE__)); ?>" class="alignleft pro-image" /></a><?php _e('Target mobile users with ease and show the right adverts to smartphones, tablets and computers. Mix and match as you please and offer adverts that suit the device or mobile operating system. Create as many mobile adverts as you want without effort and with a few easy to use options they show up where you want them to!', 'adrotate'); ?></p>
 
28
  </div>
29
  </div>
30
 
31
  <div class="ajdg-postbox">
32
- <h2 class="ajdg-postbox-title"><?php _e('Localize your ad campaigns with Geo Targeting', 'adrotate'); ?></h2>
33
- <div id="geo-targeting" class="ajdg-postbox-content">
34
- <p><a href="https://ajdg.solutions/plugins/adrotate-for-wordpress/" target="_blank"><img src="<?php echo plugins_url('/images/pro/demo-geo-targeting.png', dirname(__FILE__)); ?>" class="alignleft pro-image" /></a><?php _e('Go nationwide or global with localized adverts for your various audiences. Set up adverts for countries and cities and sell impressions per general area. Connect your site to MaxMind GeoIP2: Precision or AdRotate Geo. AdRotate Geo is an exclusive Geo Lookup service for AdRotate Pro users.', 'adrotate'); ?></p>
 
35
  </div>
36
  </div>
37
 
38
  <div class="ajdg-postbox">
39
- <h2 class="ajdg-postbox-title"><?php _e('Get Fast Support almost all year round', 'adrotate'); ?></h2>
40
- <div id="support" class="ajdg-postbox-content">
41
- <p><a href="https://ajdg.solutions/plugins/adrotate-for-wordpress/" target="_blank"><img src="<?php echo plugins_url('/images/pro/demo-support.png', dirname(__FILE__)); ?>" class="alignleft pro-image" /></a><?php _e('When you activate your AdRotate Pro license you can use the more personal email support. No more queueing up in the forums. AdRotate support takes priority over the forums and is checked once or twice a day. Get a solution (usually) within two business days.', 'adrotate'); ?></p>
 
42
  </div>
43
  </div>
44
 
45
  <div class="ajdg-postbox">
46
- <h2 class="ajdg-postbox-title"><?php _e('AdRotate is brought to you by', 'adrotate'); ?></h2>
47
- <div id="developed-by" class="ajdg-postbox-content">
48
- <p><?php _e('AdRotate Pro is developed by Arnan de Gans, while primarily making WordPress plugins Arnan is also available as a freelance developer for all kinds of WordPress related things and he makes HTML Profile pages. Check out his websites via the links below or check out Arnan his Facebook profile.', 'adrotate'); ?></p>
49
- <p><center><a href="https://www.arnan.me" title="Visit Arnan's website" target="_blank"><img src="<?php echo plugins_url("/images/buttons/1.png", dirname(__FILE__)); ?>" alt="Arnan de Gans website" /></a><a href="https://ajdg.solutions" title="Visit the AdRotate website" target="_blank"><img src="<?php echo plugins_url("/images/buttons/2.png", dirname(__FILE__)); ?>" alt="AJdG Solutions website" /></a><a href="https://www.facebook.com/ajdgsolutions/" title="AJdG Solutions on Facebook" target="_blank"><img src="<?php echo plugins_url("/images/buttons/4.png", dirname(__FILE__)); ?>" alt="AJdG Solutions on Facebook" /></a></center></p>
50
  </div>
51
  </div>
52
 
@@ -54,40 +50,69 @@
54
  <div id="right-column" class="ajdg-postbox-container">
55
 
56
  <div class="ajdg-postbox">
57
- <h2 class="ajdg-postbox-title"><?php _e('Schedule all campaigns with ease', 'adrotate'); ?></h2>
58
- <div id="schedules" class="ajdg-postbox-content">
59
- <p><a href="https://ajdg.solutions/plugins/adrotate-for-wordpress/" target="_blank"><img src="<?php echo plugins_url('/images/pro/demo-schedule.png', dirname(__FILE__)); ?>" class="alignleft pro-image" /></a><?php _e('Schedule your adverts and set up advertising campaigns based on dates you or your advertisers specify without hassle. Seasonal adverts, weekly adverts, specific days in the week. You name it, AdRotate schedules it. This makes planning your revenue stream very flexible. You can set one or many schedules for adverts.', 'adrotate'); ?></p>
 
60
  </div>
61
  </div>
62
 
63
  <div class="ajdg-postbox">
64
  <h2 class="ajdg-postbox-title"><?php _e('Avoid adblockers', 'adrotate'); ?></h2>
65
  <div id="adblockers" class="ajdg-postbox-content">
66
- <p><a href="https://ajdg.solutions/plugins/adrotate-for-wordpress/" target="_blank"><img src="<?php echo plugins_url('/images/pro/demo-adblock.png', dirname(__FILE__)); ?>" class="alignleft pro-image" /></a><?php _e('Try and avoid adblockers so your adverts get the exposure you want them to have. AdRotate Pro offers some advanced tools to deceive adblockers so your adverts are less likely to be removed. Of-course make sure you create your adverts smartly so these features reach their full potential!', 'adrotate'); ?></p>
 
67
  </div>
68
  </div>
69
 
70
  <div class="ajdg-postbox">
71
- <h2 class="ajdg-postbox-title"><?php _e('Stay up-to-date with notifications', 'adrotate'); ?></h2>
72
- <div id="notifications" class="ajdg-postbox-content">
73
- <p><a href="https://ajdg.solutions/plugins/adrotate-for-wordpress/" target="_blank"><img src="<?php echo plugins_url('/images/pro/demo-notifications.png', dirname(__FILE__)); ?>" class="alignleft pro-image" /></a><?php _e('Stay in touch with Email notifications. Have AdRotate send you an alert when adverts expire or need your attention. Get notified when adverts expire, have errors or when advertisers create new adverts. Select up to three email addresses to be notified. Never miss an expiration date again.', 'adrotate'); ?></p>
 
74
  </div>
75
  </div>
76
 
77
  <div class="ajdg-postbox">
78
- <h2 class="ajdg-postbox-title"><?php _e('Buy AdRotate Professional', 'adrotate'); ?></h2>
79
- <div id="get-pro" class="ajdg-postbox-content">
80
- <p><a href="https://ajdg.solutions/plugins/adrotate-for-wordpress/" target="_blank"><img src="<?php echo plugins_url('/images/logo-60x60.png', dirname(__FILE__)); ?>" class="alignleft pro-image" /></a><?php _e('AdRotate Professional has a lot more functions for even better advertising management. Check out the feature comparison tab on any of the product pages to see what AdRotate Pro has to offer for you!', 'adrotate'); ?></p>
81
- <a href="https://ajdg.solutions/plugins/adrotate-for-wordpress/"><img src="<?php echo plugins_url('/images/adrotate-product.png', dirname(__FILE__)); ?>" alt="adrotate-product" width="150" height="150" align="right" style="padding: 0 0 10px 10px;" /></a>
82
- <p><a href="https://ajdg.solutions/product/adrotate-pro-single/" target="_blank"><strong><?php _e('Single License', 'adrotate'); ?> (&euro; 39.00)</strong></a><br /><em><?php _e('Use on ONE WordPress installation.', 'adrotate'); ?> <a href="https://ajdg.solutions/cart/?add-to-cart=1124" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></em></p>
83
- <p><a href="https://ajdg.solutions/product/adrotate-pro-duo/" target="_blank"><strong><?php _e('Duo License', 'adrotate'); ?> (&euro; 49.00)</strong></a><br /><em><?php _e('Use on TWO WordPress installations.', 'adrotate'); ?> <a href="https://ajdg.solutions/cart/?add-to-cart=1126" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></em></p>
84
- <p><a href="https://ajdg.solutions/product/adrotate-pro-multi/" target="_blank"><strong><?php _e('Multi License', 'adrotate'); ?> (&euro; 99.00)</strong></a><br /><em><?php _e('Use on up to FIVE WordPress installations.', 'adrotate'); ?> <a href="https://ajdg.solutions/cart/?add-to-cart=1128" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></em></p>
85
- <p><a href="https://ajdg.solutions/product/adrotate-pro-developer/" target="_blank"><strong><?php _e('Developer License', 'adrotate'); ?> (&euro; 199.00)</strong></a><br /><em><?php _e('Unlimited WordPress installations and/or networks.', 'adrotate'); ?> <a href="https://ajdg.solutions/cart/?add-to-cart=1130" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></em></p>
86
  </div>
87
  </div>
88
 
89
  </div>
90
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
91
  </div>
92
 
93
  <div class="clear"></div>
1
  <?php
2
  /* ------------------------------------------------------------------------------------
3
  * COPYRIGHT AND TRADEMARK NOTICE
4
+ * Copyright 2008-2019 Arnan de Gans. All Rights Reserved.
5
  * ADROTATE is a trademark of Arnan de Gans.
6
 
7
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
14
  <div id="dashboard-widgets" class="metabox-holder">
15
  <div id="left-column" class="ajdg-postbox-container">
16
 
 
 
 
 
 
 
 
17
  <div class="ajdg-postbox">
18
  <h2 class="ajdg-postbox-title"><?php _e('Mobile campaigns', 'adrotate'); ?></h2>
19
  <div id="mobile" class="ajdg-postbox-content">
20
+ <a href="https://ajdg.solutions/plugins/adrotate-for-wordpress/" target="_blank"><img src="<?php echo plugins_url('/images/pro/demo-mobile.png', dirname(__FILE__)); ?>" class="alignleft pro-image" /></a>
21
+ <p><?php _e('Target mobile users with ease and show the right adverts to smartphones, tablets and computers. Mix and match as you please and offer adverts that suit the device or mobile operating system. Create as many mobile adverts as you want without effort and with a few easy to use options they show up where you want them to!', 'adrotate'); ?></p>
22
  </div>
23
  </div>
24
 
25
  <div class="ajdg-postbox">
26
+ <h2 class="ajdg-postbox-title"><?php _e('Schedule all campaigns with ease', 'adrotate'); ?></h2>
27
+ <div id="schedules" class="ajdg-postbox-content">
28
+ <a href="https://ajdg.solutions/plugins/adrotate-for-wordpress/" target="_blank"><img src="<?php echo plugins_url('/images/pro/demo-schedule.png', dirname(__FILE__)); ?>" class="alignleft pro-image" /></a>
29
+ <p><?php _e('Schedule your adverts and set up advertising campaigns based on dates you or your advertisers specify without hassle. Seasonal adverts, weekly adverts, specific days in the week. You name it, AdRotate schedules it. This makes planning your revenue stream very flexible. You can set one or many schedules for adverts.', 'adrotate'); ?></p>
30
  </div>
31
  </div>
32
 
33
  <div class="ajdg-postbox">
34
+ <h2 class="ajdg-postbox-title"><?php _e('Satisfy your advertisers', 'adrotate'); ?></h2>
35
+ <div id="satisfaction" class="ajdg-postbox-content">
36
+ <a href="https://ajdg.solutions/plugins/adrotate-for-wordpress/" target="_blank"><img src="<?php echo plugins_url('/images/pro/demo-satisfy.png', dirname(__FILE__)); ?>" class="alignleft pro-image" /></a>
37
+ <p><?php _e('Set up advertisers and let them log in to their statistics or even create their own adverts. Created adverts go into a moderation queue for your staff to review. Advertisers have access to their own little dashboard where they can see their adverts performance.', 'adrotate'); ?></p>
38
  </div>
39
  </div>
40
 
41
  <div class="ajdg-postbox">
42
+ <h2 class="ajdg-postbox-title"><?php _e('Get Fast Support almost all year round', 'adrotate'); ?></h2>
43
+ <div id="support" class="ajdg-postbox-content">
44
+ <a href="https://ajdg.solutions/plugins/adrotate-for-wordpress/" target="_blank"><img src="<?php echo plugins_url('/images/pro/demo-support.png', dirname(__FILE__)); ?>" class="alignleft pro-image" /></a>
45
+ <p><?php _e('When you activate your AdRotate Pro license you can use the more personal email support. No more queueing up in the forums. AdRotate support takes priority over the forums and is checked once or twice a day. Get a solution (usually) within two business days.', 'adrotate'); ?></p>
46
  </div>
47
  </div>
48
 
50
  <div id="right-column" class="ajdg-postbox-container">
51
 
52
  <div class="ajdg-postbox">
53
+ <h2 class="ajdg-postbox-title"><?php _e('Localize your ad campaigns with Geo Targeting', 'adrotate'); ?></h2>
54
+ <div id="geo-targeting" class="ajdg-postbox-content">
55
+ <a href="https://ajdg.solutions/plugins/adrotate-for-wordpress/" target="_blank"><img src="<?php echo plugins_url('/images/pro/demo-geo-targeting.png', dirname(__FILE__)); ?>" class="alignleft pro-image" /></a>
56
+ <p><?php _e('Go nationwide or global with localized adverts for your various audiences. Set up adverts for countries and cities and sell impressions per general area. Connect your site to MaxMind GeoIP2: Precision or AdRotate Geo. AdRotate Geo is an exclusive Geo Lookup service for AdRotate Pro users.', 'adrotate'); ?></p>
57
  </div>
58
  </div>
59
 
60
  <div class="ajdg-postbox">
61
  <h2 class="ajdg-postbox-title"><?php _e('Avoid adblockers', 'adrotate'); ?></h2>
62
  <div id="adblockers" class="ajdg-postbox-content">
63
+ <a href="https://ajdg.solutions/plugins/adrotate-for-wordpress/" target="_blank"><img src="<?php echo plugins_url('/images/pro/demo-adblock.png', dirname(__FILE__)); ?>" class="alignleft pro-image" /></a>
64
+ <p><?php _e('Try and avoid adblockers so your adverts get the exposure you want them to have. AdRotate Pro offers some advanced tools to deceive adblockers so your adverts are less likely to be removed. Of-course make sure you create your adverts smartly so these features reach their full potential!', 'adrotate'); ?></p>
65
  </div>
66
  </div>
67
 
68
  <div class="ajdg-postbox">
69
+ <h2 class="ajdg-postbox-title"><?php _e('Statistics', 'adrotate'); ?></h2>
70
+ <div id="developed-by" class="ajdg-postbox-content">
71
+ <a href="https://ajdg.solutions/plugins/adrotate-for-wordpress/" target="_blank"><img src="<?php echo plugins_url('/images/pro/demo-stats.png', dirname(__FILE__)); ?>" class="alignleft pro-image" /></a>
72
+ <p><?php _e('Get statistics in AdRotate Pro. Similar to the free version you can track stats in AdRotate itself and use all kinds of extra scheduling options. Or you can track stats in Google Analytics and see more in-depth information which relates to your visitors that way.', 'adrotate'); ?></p>
73
  </div>
74
  </div>
75
 
76
  <div class="ajdg-postbox">
77
+ <h2 class="ajdg-postbox-title"><?php _e('Stay up-to-date with notifications', 'adrotate'); ?></h2>
78
+ <div id="notifications" class="ajdg-postbox-content">
79
+ <a href="https://ajdg.solutions/plugins/adrotate-for-wordpress/" target="_blank"><img src="<?php echo plugins_url('/images/pro/demo-notifications.png', dirname(__FILE__)); ?>" class="alignleft pro-image" /></a>
80
+ <p><?php _e('Stay in touch with Email notifications. Have AdRotate send you an alert when adverts expire or need your attention. Get notified when adverts expire, have errors or when advertisers create new adverts. Select up to three email addresses to be notified. Never miss an expiration date again.', 'adrotate'); ?></p>
 
 
 
 
81
  </div>
82
  </div>
83
 
84
  </div>
85
  </div>
86
+
87
+ <div class="clear"></div>
88
+
89
+ <div style="text-align: center; margin-top: 30px;">
90
+ <div class="ajdg-sales-widget" style="display: inline-block; margin-right:20px;">
91
+ <a href="https://ajdg.solutions/product/adrotate-pro-single/" target="_blank"><div class="header"><img src="<?php echo plugins_url("/images/pro/single.jpg", dirname(__FILE__)); ?>" alt="WordPress Maintenance & Updates" width="228" height="120"></div></a>
92
+ <a href="https://ajdg.solutions/product/adrotate-pro-single/" target="_blank"><div class="title">AdRotate Professional</div></a>
93
+ <div class="sub_title">Use on 1 website</div>
94
+ <div class="cta"><a role="button" class="cta_button" href="https://ajdg.solutions/?add-to-cart=1124" target="_blank">Buy now for &euro; 39</a></div>
95
+ </div>
96
+ <div class="ajdg-sales-widget" style="display: inline-block; margin-right:20px;">
97
+ <a href="https://ajdg.solutions/product/adrotate-pro-duo/" target="_blank"><div class="header"><img src="<?php echo plugins_url("/images/pro/duo.jpg", dirname(__FILE__)); ?>" alt="WordPress Maintenance & Updates" width="228" height="120"></div></a>
98
+ <a href="https://ajdg.solutions/product/adrotate-pro-duo/" target="_blank"><div class="title">AdRotate Professional</div></a>
99
+ <div class="sub_title">Use on 2 websites</div>
100
+ <div class="cta"><a role="button" class="cta_button" href="https://ajdg.solutions/?add-to-cart=1126" target="_blank">Buy now for &euro; 49</a></div>
101
+ </div>
102
+ <div class="ajdg-sales-widget" style="display: inline-block; margin-right:20px;">
103
+ <a href="https://ajdg.solutions/product/adrotate-pro-multi/" target="_blank"><div class="header"><img src="<?php echo plugins_url("/images/pro/multi.jpg", dirname(__FILE__)); ?>" alt="WordPress Maintenance & Updates" width="228" height="120"></div></a>
104
+ <a href="https://ajdg.solutions/product/adrotate-pro-multi/" target="_blank"><div class="title">AdRotate Professional</div></a>
105
+ <div class="sub_title">Use on up-to 5 websites</div>
106
+ <div class="cta"><a role="button" class="cta_button" href="https://ajdg.solutions/?add-to-cart=1128" target="_blank">Buy now for &euro; 99</a></div>
107
+ </div>
108
+ <div class="ajdg-sales-widget" style="display: inline-block; margin-right:20px;">
109
+ <a href="https://ajdg.solutions/product/adrotate-pro-developer/" target="_blank"><div class="header"><img src="<?php echo plugins_url("/images/pro/developer.jpg", dirname(__FILE__)); ?>" alt="WordPress Maintenance & Updates" width="228" height="120"></div></a>
110
+ <a href="https://ajdg.solutions/product/adrotate-pro-developer/" target="_blank"><div class="title">AdRotate Professional</div></a>
111
+ <div class="sub_title">Use on up-to 100 websites</div>
112
+ <div class="cta"><a role="button" class="cta_button" href="https://ajdg.solutions/?add-to-cart=1130" target="_blank">Buy now for &euro; 199</a></div>
113
+ </div>
114
+ </div>
115
+
116
  </div>
117
 
118
  <div class="clear"></div>
dashboard/info.php CHANGED
@@ -45,13 +45,29 @@ $partner = mt_rand(1,3);
45
  <td colspan="2">
46
  <p><strong><?php _e('Support AdRotate', 'adrotate'); ?></strong></p>
47
  <p><?php _e('Consider writing a review and updating a translation if you like AdRotate. A donation is much appreciated as well! For help with anything WordPress join my Facebook group. Thank you!', 'adrotate'); ?><br />
48
- <center><a class="button-primary" href="https://www.paypal.me/arnandegans/10eur" target="_blank">Donate &euro;10 via Paypal</a> <a class="button" target="_blank" href="https://wordpress.org/support/plugin/adrotate/reviews/?rate=5#new-post">Write review on WordPress.org</a> <a class="button" target="_blank" href="https://translate.wordpress.org/projects/wp-plugins/adrotate/">Help translate</a></center></p>
49
  </td>
50
  </tr>
51
  <tr>
52
- <td colspan="2">
53
- <script async defer crossorigin="anonymous" src="https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v3.3&appId=819007458455318"></script>
54
- <p><center><div class="fb-group" data-href="https://www.facebook.com/groups/ajdg.wordpress.help/" data-width="500" data-show-social-context="false" data-show-metadata="true"></div></center></p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
55
  </td>
56
  </tr>
57
  </tbody>
@@ -81,10 +97,10 @@ $partner = mt_rand(1,3);
81
  <div id="get-pro" class="ajdg-postbox-content">
82
  <p><a href="https://ajdg.solutions/plugins/adrotate-for-wordpress/" target="_blank"><img src="<?php echo plugins_url('/images/logo-60x60.png', dirname(__FILE__)); ?>" class="alignleft pro-image" /></a><?php _e('AdRotate Professional has a lot more functions for even better advertising management. Check out the feature comparison tab on any of the product pages to see what AdRotate Pro has to offer for you!', 'adrotate'); ?></p>
83
  <a href="https://ajdg.solutions/plugins/adrotate-for-wordpress/"><img src="<?php echo plugins_url('/images/adrotate-product.png', dirname(__FILE__)); ?>" alt="adrotate-product" width="150" height="150" align="right" style="padding: 0 0 10px 10px;" /></a>
84
- <p><a href="https://ajdg.solutions/product/adrotate-pro-single/" target="_blank"><strong><?php _e('Single License', 'adrotate'); ?> (&euro; 39.00)</strong></a><br /><em><?php _e('Use on ONE WordPress installation.', 'adrotate'); ?> <a href="https://ajdg.solutions/cart/?add-to-cart=1124" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></em></p>
85
- <p><a href="https://ajdg.solutions/product/adrotate-pro-duo/" target="_blank"><strong><?php _e('Duo License', 'adrotate'); ?> (&euro; 49.00)</strong></a><br /><em><?php _e('Use on TWO WordPress installations.', 'adrotate'); ?> <a href="https://ajdg.solutions/cart/?add-to-cart=1126" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></em></p>
86
- <p><a href="https://ajdg.solutions/product/adrotate-pro-multi/" target="_blank"><strong><?php _e('Multi License', 'adrotate'); ?> (&euro; 99.00)</strong></a><br /><em><?php _e('Use on up to FIVE WordPress installations.', 'adrotate'); ?> <a href="https://ajdg.solutions/cart/?add-to-cart=1128" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></em></p>
87
- <p><a href="https://ajdg.solutions/product/adrotate-pro-developer/" target="_blank"><strong><?php _e('Developer License', 'adrotate'); ?> (&euro; 199.00)</strong></a><br /><em><?php _e('Unlimited WordPress installations and/or networks.', 'adrotate'); ?> <a href="https://ajdg.solutions/cart/?add-to-cart=1130" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></em></p>
88
  </div>
89
  </div>
90
 
45
  <td colspan="2">
46
  <p><strong><?php _e('Support AdRotate', 'adrotate'); ?></strong></p>
47
  <p><?php _e('Consider writing a review and updating a translation if you like AdRotate. A donation is much appreciated as well! For help with anything WordPress join my Facebook group. Thank you!', 'adrotate'); ?><br />
48
+ <center><a class="button-primary" href="https://www.paypal.me/ajdgsolutions/10eur" target="_blank">Donate &euro;10 via Paypal</a> <a class="button" target="_blank" href="https://wordpress.org/support/plugin/adrotate/reviews/?rate=5#new-post">Write review on WordPress.org</a> <a class="button" target="_blank" href="https://translate.wordpress.org/projects/wp-plugins/adrotate/">Help translate</a></center></p>
49
  </td>
50
  </tr>
51
  <tr>
52
+ <td>
53
+ <center><div class="ajdg-sales-widget">
54
+ <a href="https://ajdg.solutions/product/wordpress-maintenance-and-updates/" target="_blank"><div class="header"><img src="<?php echo plugins_url("/images/offers/wordpress-maintenance.jpg", dirname(__FILE__)); ?>" alt="WordPress Maintenance & Updates" width="228" height="120"></div></a>
55
+ <a href="https://ajdg.solutions/product/wordpress-maintenance-and-updates/" target="_blank"><div class="title">Maintenance & updates</div></a>
56
+ <div class="sub_title">Professional WordPress service</div>
57
+ <div class="cta"><a role="button" class="cta_button" href="https://ajdg.solutions/product/wordpress-maintenance-and-updates/" target="_blank">Something for you?</a></div>
58
+ <hr>
59
+ <div class="description">All the latest updates for WordPress, plugins and themes. Remove stray data and even files. Delete spam and go over your installation to see if there are things that need extra attention.</div>
60
+ </div></center>
61
+ </td>
62
+ <td>
63
+ <center><div class="ajdg-sales-widget">
64
+ <a href="https://ajdg.solutions/product/woocommerce-single-page-checkout/" target="_blank"><div class="header"><img src="<?php echo plugins_url("/images/offers/single-page-checkout.jpg", dirname(__FILE__)); ?>" alt="WooCommerce Single Page Checkout" width="228" height="120"></div></a>
65
+ <a href="https://ajdg.solutions/product/woocommerce-single-page-checkout/" target="_blank"><div class="title">Single Page Checkout</div></a>
66
+ <div class="sub_title">WooCommerce Plugin</div>
67
+ <div class="cta"><a role="button" class="cta_button" href="https://ajdg.solutions/product/woocommerce-single-page-checkout/" target="_blank">Click for more info!</a></div>
68
+ <hr>
69
+ <div class="description">Make it easy on your customers with Single Page Checkout. Merge your cart and checkout pages into one single page in seconds – With no setup required at all.</div>
70
+ </div></center>
71
  </td>
72
  </tr>
73
  </tbody>
97
  <div id="get-pro" class="ajdg-postbox-content">
98
  <p><a href="https://ajdg.solutions/plugins/adrotate-for-wordpress/" target="_blank"><img src="<?php echo plugins_url('/images/logo-60x60.png', dirname(__FILE__)); ?>" class="alignleft pro-image" /></a><?php _e('AdRotate Professional has a lot more functions for even better advertising management. Check out the feature comparison tab on any of the product pages to see what AdRotate Pro has to offer for you!', 'adrotate'); ?></p>
99
  <a href="https://ajdg.solutions/plugins/adrotate-for-wordpress/"><img src="<?php echo plugins_url('/images/adrotate-product.png', dirname(__FILE__)); ?>" alt="adrotate-product" width="150" height="150" align="right" style="padding: 0 0 10px 10px;" /></a>
100
+ <p><a href="https://ajdg.solutions/product/adrotate-pro-single/" target="_blank"><strong><?php _e('Single License', 'adrotate'); ?> (&euro; 39.00)</strong></a><br /><em><?php _e('Use on ONE WordPress installation.', 'adrotate'); ?> <a href="https://ajdg.solutions/?add-to-cart=1124" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></em></p>
101
+ <p><a href="https://ajdg.solutions/product/adrotate-pro-duo/" target="_blank"><strong><?php _e('Duo License', 'adrotate'); ?> (&euro; 49.00)</strong></a><br /><em><?php _e('Use on TWO WordPress installations.', 'adrotate'); ?> <a href="https://ajdg.solutions/?add-to-cart=1126" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></em></p>
102
+ <p><a href="https://ajdg.solutions/product/adrotate-pro-multi/" target="_blank"><strong><?php _e('Multi License', 'adrotate'); ?> (&euro; 99.00)</strong></a><br /><em><?php _e('Use on up to FIVE WordPress installations.', 'adrotate'); ?> <a href="https://ajdg.solutions/?add-to-cart=1128" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></em></p>
103
+ <p><a href="https://ajdg.solutions/product/adrotate-pro-developer/" target="_blank"><strong><?php _e('Developer License', 'adrotate'); ?> (&euro; 199.00)</strong></a><br /><em><?php _e('Use on up to a HUNDRED WordPress installations and/or networks.', 'adrotate'); ?> <a href="https://ajdg.solutions/?add-to-cart=1130" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></em></p>
104
  </div>
105
  </div>
106
 
dashboard/publisher/adverts-edit.php CHANGED
@@ -264,7 +264,7 @@ if($edit_banner) {
264
  <td>
265
  <label for="adrotate_sday">
266
  <input tabindex="11" name="adrotate_start_hour" class="ajdg-inputfield" type="text" size="2" maxlength="4" value="<?php echo $start_hour; ?>" autocomplete="off" /> :
267
- <input tabindex="12" name="adrotate_start_minute" class="ajdg-inputfield" type="text" size="2" maxlength="4" value="<?php echo $start_hour; ?>" autocomplete="off" />
268
  </label>
269
  </td>
270
  <th><?php _e('End time', 'adrotate'); ?> (hh:mm)</th>
@@ -298,9 +298,9 @@ if($edit_banner) {
298
 
299
  <tbody>
300
  <tr>
301
- <th width="15%" valign="top"><?php _e('Show to everyone', 'adrotate-pro'); ?></th>
302
  <td colspan="5">
303
- <label for="adrotate_show_everyone"><input type="checkbox" name="adrotate_show_everyone" checked disabled /> <?php _e('Disable this option to hide the advert from logged-in visitors.', 'adrotate-pro'); ?>
304
  </label>
305
  </td>
306
  </tr>
264
  <td>
265
  <label for="adrotate_sday">
266
  <input tabindex="11" name="adrotate_start_hour" class="ajdg-inputfield" type="text" size="2" maxlength="4" value="<?php echo $start_hour; ?>" autocomplete="off" /> :
267
+ <input tabindex="12" name="adrotate_start_minute" class="ajdg-inputfield" type="text" size="2" maxlength="4" value="<?php echo $end_minute; ?>" autocomplete="off" />
268
  </label>
269
  </td>
270
  <th><?php _e('End time', 'adrotate'); ?> (hh:mm)</th>
298
 
299
  <tbody>
300
  <tr>
301
+ <th width="15%" valign="top"><?php _e('Show to everyone', 'adrotate'); ?></th>
302
  <td colspan="5">
303
+ <label for="adrotate_show_everyone"><input type="checkbox" name="adrotate_show_everyone" checked disabled /> <?php _e('Disable this option to hide the advert from logged-in visitors.', 'adrotate'); ?>
304
  </label>
305
  </td>
306
  </tr>
dashboard/publisher/groups-edit.php CHANGED
@@ -200,15 +200,15 @@ if($edit_group) {
200
  <td><p><em><?php _e('Do not forget to put at least one mobile advert in this group.', 'adrotate'); ?></em></p></td>
201
  </tr>
202
  <tr>
203
- <th valign="top"><?php _e('Fallback Group', 'adrotate-pro'); ?></th>
204
  <td>
205
  <label for="adrotate_fallback">
206
  <select tabindex="16" name="adrotate_fallback" disabled>
207
- <option value="0"><?php _e('Available in AdRotate Pro', 'adrotate-pro'); ?></option>
208
  </select>
209
  </td>
210
  <td>
211
- <em><?php _e('Select another group to fall back on when all adverts are expired, not in the visitors geographic area or are otherwise unavailable.', 'adrotate-pro'); ?></em>
212
  </td>
213
  </tr>
214
  </tbody>
200
  <td><p><em><?php _e('Do not forget to put at least one mobile advert in this group.', 'adrotate'); ?></em></p></td>
201
  </tr>
202
  <tr>
203
+ <th valign="top"><?php _e('Fallback Group', 'adrotate'); ?></th>
204
  <td>
205
  <label for="adrotate_fallback">
206
  <select tabindex="16" name="adrotate_fallback" disabled>
207
+ <option value="0"><?php _e('Available in AdRotate Pro', 'adrotate'); ?></option>
208
  </select>
209
  </td>
210
  <td>
211
+ <em><?php _e('Select another group to fall back on when all adverts are expired, not in the visitors geographic area or are otherwise unavailable.', 'adrotate'); ?></em>
212
  </td>
213
  </tr>
214
  </tbody>
images/offers/single-page-checkout.jpg ADDED
Binary file
images/offers/wordpress-maintenance.jpg ADDED
Binary file
images/pro/demo-stats.png ADDED
Binary file
images/pro/developer.jpg ADDED
Binary file
images/pro/duo.jpg ADDED
Binary file
images/pro/multi.jpg ADDED
Binary file
images/pro/single.jpg ADDED
Binary file
library/dashboard.css CHANGED
@@ -37,11 +37,34 @@ h2.ajdg-postbox-title { font-size: 14px; padding: 8px 12px; margin: 0; line-heig
37
  .ajdg-postbox-content { margin-bottom: 20px; padding: 10px 20px 20px 20px; min-height: 40px; min-width:255px; border:#dfdfdf 1px solid; background-color:#fff; -moz-box-shadow:inset 0 1px 0 #fff; -webkit-box-shadow:inset 0 1px 0 #fff; box-shadow:inset 0 1px 0 #fff; clear: both; position: relative; }
38
  .ajdg-postbox-content h3 { margin:0; padding:7px 10px 7px 10px; box-shadow:#ddd 0px 1px 0px 0px; -moz-box-shadow:inset 0 1px 0 #ddd; -webkit-box-shadow:#ddd 0px 1px 0px 0px; line-height:15px; }
39
  .ajdg-postbox-content textarea.noborder { border: none; box-shadow: none; resize: none; }
40
- .pro-image { padding:0px 3px 0px 0px; }
41
  .ajdg-photo { border-radius: 5px; }
42
  .ajdg-fullwidth { width: 100%; }
43
  .ajdg-inputfield { height: 28px; margin: 0 4px 0 0; }
44
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
45
  /* Tablesorter */
46
  table.tablesorter thead tr .header { text-decoration: underline; cursor: pointer; }
47
 
37
  .ajdg-postbox-content { margin-bottom: 20px; padding: 10px 20px 20px 20px; min-height: 40px; min-width:255px; border:#dfdfdf 1px solid; background-color:#fff; -moz-box-shadow:inset 0 1px 0 #fff; -webkit-box-shadow:inset 0 1px 0 #fff; box-shadow:inset 0 1px 0 #fff; clear: both; position: relative; }
38
  .ajdg-postbox-content h3 { margin:0; padding:7px 10px 7px 10px; box-shadow:#ddd 0px 1px 0px 0px; -moz-box-shadow:inset 0 1px 0 #ddd; -webkit-box-shadow:#ddd 0px 1px 0px 0px; line-height:15px; }
39
  .ajdg-postbox-content textarea.noborder { border: none; box-shadow: none; resize: none; }
40
+ .pro-image { padding:0px 10px 0px 0px; }
41
  .ajdg-photo { border-radius: 5px; }
42
  .ajdg-fullwidth { width: 100%; }
43
  .ajdg-inputfield { height: 28px; margin: 0 4px 0 0; }
44
 
45
+ /* Sales Widget styles */
46
+ .ajdg-sales-widget { margin: 0; padding: 0; background: #fff; width: 230px; box-sizing: border-box; border: 1px solid #dadde1; border-radius: 6px; font-family: Helvetica, Arial, sans-serif; font-size: 11px; color: #1c1e21; unicode-bidi: embed; overflow: hidden; -webkit-text-size-adjust: none; line-height: 1.34; }
47
+
48
+ .ajdg-sales-widget a { cursor: pointer; text-decoration: none; color: #385898; }
49
+ .ajdg-sales-widget a:hover { text-decoration: underline; }
50
+ .ajdg-sales-widget img { border: 0; }
51
+ .ajdg-sales-widget hr { margin: 0; background: #dadde1; border-width: 0; color: #dadde1; height: 1px; }
52
+
53
+ .ajdg-sales-widget .header { position: relative; overflow: hidden; width: 228px; height: 120px; }
54
+ .ajdg-sales-widget .header img{ position: relative; height: auto; min-height: initial; width: 100%; }
55
+
56
+ .ajdg-sales-widget .title { color: #000; margin: 8px 12px 2px 12px; text-align: center; font-size: 14px; line-height: 18px; font-weight: 600; }
57
+ .ajdg-sales-widget .sub_title{ margin: 2px 12px 0 12px; text-align: center; font-size: 12px; font-weight: normal; color: #90949c; }
58
+ .ajdg-sales-widget .description { font-size: 12px; text-align: left; margin: 12px; }
59
+
60
+ .ajdg-sales-widget .cta { margin: 8px 12px 12px 12px; text-align: center; }
61
+ .ajdg-sales-widget .cta_button { padding: 0; border: 1px solid #ccd0d5; border-radius: 2px; box-sizing: content-box; width: 100%; display: inline-block; background-color: #f5f6f7; position: relative; text-align: center; text-decoration: none; color: #4b4f56; font-size: 12px; font-weight:bold; line-height: 26px; vertical-align: middle; cursor: pointer; white-space: nowrap; }
62
+ .ajdg-sales-widget .cta_button:before { content:''; display: inline-block; height: 20px; vertical-align: middle; }
63
+ .ajdg-sales-widget .cta_button:focus { box-shadow: 0 0 1px 2px rgba(88, 144, 255, .75), 0 1px 1px rgba(0, 0, 0, .15); outline: none; }
64
+ .ajdg-sales-widget .cta_button:active { transition: none; background-color: #dddfe2; border-color: #bec3c9; }
65
+ .ajdg-sales-widget .cta_button:hover { text-decoration: none; background-color: #ebedf0; }
66
+ .ajdg-sales-widget .cta_button+.cta_button { margin-left:4px; }
67
+
68
  /* Tablesorter */
69
  table.tablesorter thead tr .header { text-decoration: underline; cursor: pointer; }
70
 
readme.txt CHANGED
@@ -4,11 +4,11 @@ Donate link: https://www.arnan.me/donate.html
4
  Tags: adverts, ads, banners, advert manager, ad manager, banner manager, adsense, dfp, doubleclick, amazon, affiliate, referral
5
  Requires at least: 4.6
6
  Requires PHP: 5.6
7
- Tested up to: 5.2.2
8
- Stable tag: 5.4.1
9
  License: GPLv3
10
 
11
- Start making money today! Monetise your website while keeping things simple. Try AdRotate today!
12
 
13
  == Description ==
14
 
@@ -24,18 +24,18 @@ AdRotate looks and feels similar to the WordPress dashboard you already know, th
24
 
25
  Want even more features? Get AdRotate Professional! AdRotate Pro has more features and gives you access to AdRotate Geo and Premium Support!
26
  AdRotate Pro features include; Geo targeting for every country, Fine grained control with schedules, Adblock Disguise, Mobile adverts, Media/asset management and much more!
27
- Check out the many extras on the [AdRotate Pro website](https://ajdg.solutions/plugins/adrotate-for-wordpress/)!
28
 
29
  <strong>Getting started</strong>
30
  You'll be running your advertising campaigns in minutes.
31
- If you need a hand installing AdRotate or you want someone to handle the initial setup. Take a look at these [services](https://ajdg.solutions/services/).
32
 
33
  > Getting started with AdRotate is not complex, but a little help or advise is never bad.
34
 
35
  <strong>Support and Bug Reports</strong>
36
- All manuals, guides and support questions can be found and asked on the [Support page](https://ajdg.solutions/support/).
37
- Please post bug reports for AdRotate Pro on the [support forum for bug reports](https://ajdg.solutions/forums/forum/adrotate-for-wordpress/bug-reports/).
38
- I also have a [Facebook Group](https://www.facebook.com/groups/ajdg.wordpress.help/) where you can ask your question.
39
 
40
  > I don't always check the wordpress.org forums. For faster support use the AJdG Solutions Forum instead!
41
 
@@ -69,7 +69,7 @@ I also have a [Facebook Group](https://www.facebook.com/groups/ajdg.wordpress.he
69
  * Use shortcodes, widgets or PHP to put ads on your site
70
  * Compatible with pretty much every plugin such as Yoast SEO, W3 Total Cache, SEO Framework, Borlabs Cache, bbPress, Contact form 7, All in one SEO Pack, Jetpack from Automattic, WooCommerce, and loads more...
71
 
72
- AdRotate and AdRotate Pro share many features. But some features are available in AdRotate Professional only. Learn more about [AdRotate Professional](https://ajdg.solutions/plugins/adrotate-for-wordpress/) on my website.
73
 
74
  **AdRotate Switch**
75
 
@@ -77,64 +77,78 @@ To make switching from other plugins more easy and straightforward I've created
77
 
78
  Compatible plugins include: Ad Injection, Ad King Pro, Advanced Advertising Manager, Advertising Manager, WP Bannerize, BannerMan, Max Banner Ads Pro, Simple Ads Manager, Useful Banner Manager, WP Pro Ad System, wp125, WP-Ad-Manager / Ad Minister, WP Advertize It
79
 
80
- Check out [AdRotate Switch](https://wordpress.org/plugins/adrotate-switch/) for more information and an up-to-date list of supported plugins!
81
- There is also a product page on my website for [AdRotate Switch](https://ajdg.solutions/product/adrotate-switch/).
82
 
83
  == Installation ==
84
 
85
- Installing the plugin is as easy as searching for "AdRotate" in your plugin dashboard and clicking "Install Now" from your dashboards plugin page. Just like every other plugin.
86
- Once activated, a new menu appears called "AdRotate" from which you do everything in AdRotate.
87
 
88
- For more detailed instructions check out the [installation steps](https://ajdg.solutions/support/adrotate-manuals/installing-adrotate-on-your-website/) on the AdRotate website.
89
 
90
  == Frequently Asked Questions ==
91
 
92
  = Can I migrate my data from another plugin to AdRotate? =
93
- Maybe. Take a look at [AdRotate Switch](https://wordpress.org/plugins/adrotate-switch/) and see if your current advertising plugin is compatible for migrating your data!
94
- There is also a product page on my website for [AdRotate Switch](https://ajdg.solutions/product/adrotate-switch/).
95
 
96
  = How do I use AdRotate =
97
- There are [user guides](https://ajdg.solutions/support/adrotate-manuals/) with every popular feature explained.
98
- You can also post your questions on the [forum](https://ajdg.solutions/forums/) or in my [Facebook Group](https://www.facebook.com/groups/ajdg.wordpress.help/).
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
99
 
100
  == Upgrade Notice ==
101
 
102
- All kinds of small improvements and polish and shine.
103
 
104
  == Changelog ==
105
 
106
- Be a Professional and go Pro. With [AdRotate Professional](https://ajdg.solutions/plugins/adrotate-for-wordpress/)!
107
-
108
- = 5.4 FREE =
109
- * [fix] Properly removed 'paid' status from the plugin when creating adverts
110
-
111
- = 5.4 FREE =
112
- * [change] Now uses wp_is_mobile instead of Mobile Detect
113
- * [change] Updated Settings Dashboards
114
- * [removed] Obsolete "Responsive Advert" code and database column
115
-
116
- = 5.4 PRO =
117
- * [new] Support for Google Tag Manager
118
- * [new] AdRotate Geo cookie reset when saving Geo Targeting settings
119
- * [fix] Adverts not moved to Trash properly
120
- * [fix] Spread impressions requires 'Maximum Impressions' to be set
121
- * [fix] Geo Targeting layout for Advertisers
122
- * [fix] Permissions not declared for some Advertisers
123
- * [fix] Live Previews for Advertisers
124
- * [change] Reset lookup quota when disabling Geo Targeting
125
- * [change] Bin renamed to 'Trash'
126
- * [change] Depreciate support for Google Universal Tracker
127
- * [change] Stats Settings redone/modernized
128
- * [change] Google Analytics Event renamed to "Adverts"
129
- * [removed] Obsolete "Responsive Advert" code and database column
130
- * [removed] Defunct Message option from Advertiser dashboard
131
- * [removed] Defunct Transactions, code and database items
132
-
133
- All recent changes are available on the [AdRotate Changelog](https://ajdg.solutions/support/adrotate-development/).
134
 
135
  == Screenshots ==
136
 
137
  > If screenshots are not visible, turn off your adblocker!
 
138
 
139
  1. Creating / Editing adverts
140
  2. Managing adverts
4
  Tags: adverts, ads, banners, advert manager, ad manager, banner manager, adsense, dfp, doubleclick, amazon, affiliate, referral
5
  Requires at least: 4.6
6
  Requires PHP: 5.6
7
+ Tested up to: 5.2.3
8
+ Stable tag: 5.4.2
9
  License: GPLv3
10
 
11
+ Manage your adverts and campaigns the easy way! Monetise your website with AdRotate. AdRotate has everything you need while keeping things simple!
12
 
13
  == Description ==
14
 
24
 
25
  Want even more features? Get AdRotate Professional! AdRotate Pro has more features and gives you access to AdRotate Geo and Premium Support!
26
  AdRotate Pro features include; Geo targeting for every country, Fine grained control with schedules, Adblock Disguise, Mobile adverts, Media/asset management and much more!
27
+ Check out the many extras on the [AdRotate Pro website](https://ajdg.solutions/product-category/adrotate-pro/?utm_source=wp-org&utm_medium=readme&utm_campaign=adrotate-free)!
28
 
29
  <strong>Getting started</strong>
30
  You'll be running your advertising campaigns in minutes.
31
+ If you need a hand installing AdRotate or you want someone to handle the initial setup. Take a look at these [services](https://ajdg.solutions/services/?utm_source=wp-org&utm_medium=readme&utm_campaign=adrotate-free).
32
 
33
  > Getting started with AdRotate is not complex, but a little help or advise is never bad.
34
 
35
  <strong>Support and Bug Reports</strong>
36
+ All manuals, guides and support questions can be found and asked on the [Support page](https://ajdg.solutions/support/?utm_source=wp-org&utm_medium=readme&utm_campaign=adrotate-free).
37
+ Please post bug reports for AdRotate Pro on the [support forum for bug reports](https://ajdg.solutions/forums/forum/adrotate-for-wordpress/bug-reports/?utm_source=wp-org&utm_medium=readme&utm_campaign=adrotate-free).
38
+ I also have a [Tumblr Page](https://ajdgsolutions.tumblr.com/ask) where you can ask your question.
39
 
40
  > I don't always check the wordpress.org forums. For faster support use the AJdG Solutions Forum instead!
41
 
69
  * Use shortcodes, widgets or PHP to put ads on your site
70
  * Compatible with pretty much every plugin such as Yoast SEO, W3 Total Cache, SEO Framework, Borlabs Cache, bbPress, Contact form 7, All in one SEO Pack, Jetpack from Automattic, WooCommerce, and loads more...
71
 
72
+ AdRotate and AdRotate Pro share many features. But some features are available in AdRotate Professional only. Learn more about [AdRotate Professional](https://ajdg.solutions/product-category/adrotate-pro/?utm_source=wp-org&utm_medium=readme&utm_campaign=adrotate-free) on my website.
73
 
74
  **AdRotate Switch**
75
 
77
 
78
  Compatible plugins include: Ad Injection, Ad King Pro, Advanced Advertising Manager, Advertising Manager, WP Bannerize, BannerMan, Max Banner Ads Pro, Simple Ads Manager, Useful Banner Manager, WP Pro Ad System, wp125, WP-Ad-Manager / Ad Minister, WP Advertize It
79
 
80
+ Check out [AdRotate Switch](https://ajdg.solutions/product/adrotate-switch/?utm_source=wp-org&utm_medium=readme&utm_campaign=adrotate-free) for more information and an up-to-date list of supported plugins!
 
81
 
82
  == Installation ==
83
 
84
+ Installing the plugin is as easy as searching for "Arnan AdRotate" or simply "AdRotate" in your plugin dashboard and clicking "Install Now" from your dashboards plugin page. Just like every other plugin.
85
+ Once activated, a new menu appears called "AdRotate" in the dashboard menu from which you manage everything in AdRotate.
86
 
87
+ For more detailed instructions check out the [installation steps](https://ajdg.solutions/support/adrotate-manuals/installing-adrotate-on-your-website/?utm_source=wp-org&utm_medium=readme&utm_campaign=adrotate-free) on the AdRotate website.
88
 
89
  == Frequently Asked Questions ==
90
 
91
  = Can I migrate my data from another plugin to AdRotate? =
92
+ Maybe. Take a look at [AdRotate Switch](https://ajdg.solutions/product/adrotate-switch/?utm_source=wp-org&utm_medium=readme&utm_campaign=adrotate-free) and see if your current advertising plugin is compatible for migrating your data!
 
93
 
94
  = How do I use AdRotate =
95
+ There are [user guides](https://ajdg.solutions/support/adrotate-manuals/?utm_source=wp-org&utm_medium=readme&utm_campaign=adrotate-free) with every popular feature explained.
96
+ You can also post your questions on the [forum](https://ajdg.solutions/forums/?utm_source=wp-org&utm_medium=readme&utm_campaign=adrotate-free) or via my [Tumblr Page](https://ajdgsolutions.tumblr.com/ask).
97
+
98
+ = Is AdRotate compatible with Yoast SEO or other SEO plugins? =
99
+ Yes, Yoast SEO, All in One SEO pack and all other SEO plugins work fine with AdRotate.
100
+
101
+ = Does AdRotate work alongside caching plugins? =
102
+ AdRotate works with W3 Total Cache and Borlabs Cache.
103
+ Other plugins such as WP Super Cache or WP Fastest Cache may work, but are untested.
104
+
105
+ = Can I use my adverts from Google AdSense? =
106
+ Yes, usually you can use their code as-is.
107
+
108
+ = Does AdRotate support HTML5 adverts? =
109
+ Yes!
110
+ If you're stuck installing your HTML5 advert consider the [HTML5 setup service](https://ajdg.solutions/product/adrotate-html5-setup-service/?utm_source=wp-org&utm_medium=readme&utm_campaign=adrotate-free).
111
+
112
+ = Does AdRotate work together with WooCommerce? =
113
+ Yes!
114
+
115
+ = Can I use bbPress alongside AdRotaet? =
116
+ Yes!
117
+
118
+ = Does AdRotate offer click tracking? =
119
+ Yes, and it counts impressions as well.
120
+
121
+ = Can I place adverts on forms from Contact Form 7? =
122
+ Yes! All contact form plugins should work fine.
123
+
124
+ = Are emails sent by AdRotate sent through my installed SMTP plugin? =
125
+ Yes! SMTP Mailer and similar plugins take over the wp_mail function which is what AdRotate uses.
126
 
127
  == Upgrade Notice ==
128
 
129
+ Better time display in dashboard, fixed CSS output and updated the dashboard.
130
 
131
  == Changelog ==
132
 
133
+ Be a Professional and go Pro. With [AdRotate Professional](https://ajdg.solutions/product-category/adrotate-pro/?utm_source=wp-org&utm_medium=readme&utm_campaign=adrotate-free)!
134
+
135
+ = 5.4.2 FREE =
136
+ * [fix] Minutes showing Hour when scheduling adverts
137
+ * [fix] Missing semicolon in CSS for groups
138
+ * [change] Dashboard tweaks
139
+
140
+ = 5.4.1 & 5.4.2 PRO =
141
+ * [new] More configuration checks when editing adverts
142
+ * [fix] Missing semicolon in CSS for groups
143
+ * [fix] Missing variable $lastyear when deleting old stats
144
+ * [change] Dashboard tweaks
145
+
146
+ All recent changes are available on the [AdRotate Changelog](https://ajdg.solutions/support/adrotate-development/?utm_source=wp-org&utm_medium=readme&utm_campaign=adrotate-free).
 
 
 
 
 
 
 
 
 
 
 
 
 
 
147
 
148
  == Screenshots ==
149
 
150
  > If screenshots are not visible, turn off your adblocker!
151
+ > See more screenshots on the [AdRotate Professional](https://ajdg.solutions/product-category/adrotate-pro/?utm_source=wp-org&utm_medium=readme&utm_campaign=adrotate-free) product pages. A lot of the features shown there are also available in the free version.
152
 
153
  1. Creating / Editing adverts
154
  2. Managing adverts