AdRotate Banner Manager - Version 5.7

Version Description

Enjoy this latest update with the latest tweaks and fixes to further improve AdRotate for WordPress!

Download this release

Release Info

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

Code changes from version 5.6.2 to 5.7

Files changed (42) hide show
  1. adrotate-export.php +2 -2
  2. adrotate-functions.php +2 -2
  3. adrotate-manage-publisher.php +2 -2
  4. adrotate-output.php +21 -7
  5. adrotate-setup.php +26 -105
  6. adrotate-statistics.php +1 -1
  7. adrotate-widget.php +2 -2
  8. adrotate.php +6 -7
  9. dashboard/adrotatepro.php +2 -2
  10. dashboard/info.php +13 -5
  11. dashboard/publisher/adverts-disabled.php +2 -2
  12. dashboard/publisher/adverts-edit.php +5 -4
  13. dashboard/publisher/adverts-error.php +2 -2
  14. dashboard/publisher/adverts-generator.php +1 -1
  15. dashboard/publisher/adverts-main.php +2 -2
  16. dashboard/publisher/groups-edit.php +2 -2
  17. dashboard/publisher/groups-main.php +2 -2
  18. dashboard/publisher/media.php +1 -1
  19. dashboard/publisher/schedules-main.php +1 -1
  20. dashboard/publisher/statistics-advert.php +1 -1
  21. dashboard/publisher/statistics-group.php +1 -1
  22. dashboard/publisher/statistics-main.php +1 -1
  23. dashboard/settings/advertisers.php +2 -2
  24. dashboard/settings/general.php +2 -2
  25. dashboard/settings/geotargeting.php +2 -2
  26. dashboard/settings/maintenance.php +2 -2
  27. dashboard/settings/misc.php +2 -2
  28. dashboard/settings/notifications.php +2 -2
  29. dashboard/settings/roles.php +2 -2
  30. dashboard/settings/statistics.php +2 -2
  31. dashboard/support.php +2 -14
  32. images/birthday.png +0 -0
  33. images/offers/inmotionhosting-vps.jpg +0 -0
  34. library/dashboard.css +7 -13
  35. library/jquery.adrotate.clicktracker.js +2 -2
  36. library/jquery.adrotate.datepicker.js +2 -2
  37. library/jquery.adrotate.dyngroup.js +2 -2
  38. library/jquery.adrotate.tablesorter.js +2 -2
  39. library/textatcursor.js +2 -2
  40. library/uploader-hook.js +2 -2
  41. readme.txt +44 -41
  42. uninstall.php +91 -0
adrotate-export.php CHANGED
@@ -1,8 +1,8 @@
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.
8
  * By using this code you agree to indemnify Arnan de Gans from any
1
  <?php
2
  /* ------------------------------------------------------------------------------------
3
  * COPYRIGHT AND TRADEMARK NOTICE
4
+ * Copyright 2008-2020 Arnan de Gans. All Rights Reserved.
5
+ * ADROTATE is a registered trademark of Arnan de Gans.
6
 
7
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
8
  * By using this code you agree to indemnify Arnan de Gans from any
adrotate-functions.php CHANGED
@@ -1,8 +1,8 @@
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.
8
  * By using this code you agree to indemnify Arnan de Gans from any
1
  <?php
2
  /* ------------------------------------------------------------------------------------
3
  * COPYRIGHT AND TRADEMARK NOTICE
4
+ * Copyright 2008-2020 Arnan de Gans. All Rights Reserved.
5
+ * ADROTATE is a registered trademark of Arnan de Gans.
6
 
7
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
8
  * By using this code you agree to indemnify Arnan de Gans from any
adrotate-manage-publisher.php CHANGED
@@ -1,8 +1,8 @@
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.
8
  * By using this code you agree to indemnify Arnan de Gans from any
1
  <?php
2
  /* ------------------------------------------------------------------------------------
3
  * COPYRIGHT AND TRADEMARK NOTICE
4
+ * Copyright 2008-2020 Arnan de Gans. All Rights Reserved.
5
+ * ADROTATE is a registered trademark of Arnan de Gans.
6
 
7
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
8
  * By using this code you agree to indemnify Arnan de Gans from any
adrotate-output.php CHANGED
@@ -1,8 +1,8 @@
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.
8
  * By using this code you agree to indemnify Arnan de Gans from any
@@ -66,7 +66,7 @@ function adrotate_group($group_ids, $fallback = 0, $weight = 0, $site = 0) {
66
  $group_array = array_filter($group_array);
67
 
68
  foreach($group_array as $key => $value) {
69
- $group_select .= " `{$wpdb->prefix}adrotate_linkmeta`.`group` = {$value} OR";
70
  }
71
  $group_select = rtrim($group_select, " OR");
72
 
@@ -673,14 +673,15 @@ function adrotate_notifications_dashboard() {
673
  global $current_user;
674
 
675
  if(current_user_can('adrotate_ad_manage')) {
676
- if(isset($_GET['page'])) { $page = $_GET['page']; } else { $page = ''; }
 
677
 
 
678
  if(strpos($page, 'adrotate') !== false) {
679
  if(isset($_GET['hide']) AND $_GET['hide'] == 0) update_option('adrotate_hide_getpro', adrotate_now() + (31 * DAY_IN_SECONDS));
680
  if(isset($_GET['hide']) AND $_GET['hide'] == 1) update_option('adrotate_hide_review', 1);
681
  if(isset($_GET['hide']) AND $_GET['hide'] == 2) update_option('adrotate_hide_competition', 1);
682
-
683
- $displayname = (strlen($current_user->user_firstname) > 0) ? $current_user->user_firstname : $current_user->display_name;
684
 
685
  // Get AdRotate Pro
686
  $getpro_banner = get_option('adrotate_hide_getpro');
@@ -708,6 +709,19 @@ function adrotate_notifications_dashboard() {
708
  echo '</div>';
709
  }
710
 
 
 
 
 
 
 
 
 
 
 
 
 
 
711
  // AdRotate Switch
712
  $competition_banner = get_option('adrotate_hide_competition');
713
  if($competition_banner != 1) {
@@ -751,7 +765,7 @@ function adrotate_notifications_dashboard() {
751
  echo ' <div class="ajdg-notification-logo" style="background-image: url(\''.plugins_url('/images/notification.png', __FILE__).'\');"><span></span></div>';
752
  echo ' <div class="ajdg-notification-message">Thanks for updating <strong>'.$displayname.'</strong>! You have almost completed updating <strong>AdRotate Banner Manager</strong> to version <strong>'.ADROTATE_DISPLAY.'</strong>!<br />To complete the update <strong>click the button on the right</strong>. This may take a few seconds to complete!<br />For an overview of what has changed take a look at the <a href="https://ajdg.solutions/support/adrotate-development/" target="_blank">development page</a> and usually there is an article on <a href="https://ajdg.solutions/blog/" target="_blank">the blog</a> with more information as well.</div>';
753
  echo ' <div class="ajdg-notification-cta">';
754
- echo ' <a href="admin.php?page=adrotate&upgrade=1" class="ajdg-notification-act button-primary">Finish update</a>';
755
  echo ' </div>';
756
  echo '</div>';
757
  }
1
  <?php
2
  /* ------------------------------------------------------------------------------------
3
  * COPYRIGHT AND TRADEMARK NOTICE
4
+ * Copyright 2008-2020 Arnan de Gans. All Rights Reserved.
5
+ * ADROTATE is a registered trademark of Arnan de Gans.
6
 
7
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
8
  * By using this code you agree to indemnify Arnan de Gans from any
66
  $group_array = array_filter($group_array);
67
 
68
  foreach($group_array as $key => $value) {
69
+ $group_select .= " `{$wpdb->prefix}adrotate_linkmeta`.`group` = ".$wpdb->prepare('%d', $value)." OR";
70
  }
71
  $group_select = rtrim($group_select, " OR");
72
 
673
  global $current_user;
674
 
675
  if(current_user_can('adrotate_ad_manage')) {
676
+ $displayname = (strlen($current_user->user_firstname) > 0) ? $current_user->user_firstname : $current_user->display_name;
677
+ $page = (isset($_GET['page'])) ? $_GET['page'] : '';
678
 
679
+ // These only show on AdRotate pages
680
  if(strpos($page, 'adrotate') !== false) {
681
  if(isset($_GET['hide']) AND $_GET['hide'] == 0) update_option('adrotate_hide_getpro', adrotate_now() + (31 * DAY_IN_SECONDS));
682
  if(isset($_GET['hide']) AND $_GET['hide'] == 1) update_option('adrotate_hide_review', 1);
683
  if(isset($_GET['hide']) AND $_GET['hide'] == 2) update_option('adrotate_hide_competition', 1);
684
+ if(isset($_GET['hide']) AND $_GET['hide'] == 3) update_option('adrotate_hide_birthday', adrotate_now() + (10 * MONTH_IN_SECONDS));
 
685
 
686
  // Get AdRotate Pro
687
  $getpro_banner = get_option('adrotate_hide_getpro');
709
  echo '</div>';
710
  }
711
 
712
+ // Birthday
713
+ $birthday_banner = get_option('adrotate_hide_birthday');
714
+ if($birthday_banner < adrotate_now() AND date('M',adrotate_date_start('day')) == 'Feb') {
715
+ echo '<div class="ajdg-notification notice" style="">';
716
+ echo ' <div class="ajdg-notification-logo" style="background-image: url(\''.plugins_url('/images/birthday.png', __FILE__).'\');"><span></span></div>';
717
+ echo ' <div class="ajdg-notification-message">Hey <strong>'.$displayname.'</strong>! Did you know it is Arnan his birtyday this month? February 9th to be exact. Wish him a happy birthday via Twitter!<br />Who is Arnan? He made AdRotate for you - Check out his <a href="https://www.arnan.me/?pk_campaign=adrotatefree&pk_keyword=birthday_banner" target="_blank">website</a> or <a href="https://www.arnan.me/donate.html?pk_campaign=adrotatefree&pk_keyword=birthday_banner" target="_blank">send a gift</a>.</div>';
718
+ echo ' <div class="ajdg-notification-cta">';
719
+ echo ' <a href="https://twitter.com/intent/tweet?text=Happy%20Birthday%20@arnandegans!%20From%20'.$displayname.'%20at%20'.home_url().'&hashtags=birthday,adrotate" target="_blank" class="ajdg-notification-act button-primary">Wish Happy Birthday</a>';
720
+ echo ' <a href="admin.php?page=adrotate&hide=3" class="ajdg-notification-dismiss">Not now</a>';
721
+ echo ' </div>';
722
+ echo '</div>';
723
+ }
724
+
725
  // AdRotate Switch
726
  $competition_banner = get_option('adrotate_hide_competition');
727
  if($competition_banner != 1) {
765
  echo ' <div class="ajdg-notification-logo" style="background-image: url(\''.plugins_url('/images/notification.png', __FILE__).'\');"><span></span></div>';
766
  echo ' <div class="ajdg-notification-message">Thanks for updating <strong>'.$displayname.'</strong>! You have almost completed updating <strong>AdRotate Banner Manager</strong> to version <strong>'.ADROTATE_DISPLAY.'</strong>!<br />To complete the update <strong>click the button on the right</strong>. This may take a few seconds to complete!<br />For an overview of what has changed take a look at the <a href="https://ajdg.solutions/support/adrotate-development/" target="_blank">development page</a> and usually there is an article on <a href="https://ajdg.solutions/blog/" target="_blank">the blog</a> with more information as well.</div>';
767
  echo ' <div class="ajdg-notification-cta">';
768
+ echo ' <a href="admin.php?page=adrotate&upgrade=1" class="ajdg-notification-act button-primary update-button">Finish update</a>';
769
  echo ' </div>';
770
  echo '</div>';
771
  }
adrotate-setup.php CHANGED
@@ -1,8 +1,8 @@
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.
8
  * By using this code you agree to indemnify Arnan de Gans from any
@@ -50,8 +50,6 @@ function adrotate_activate_setup() {
50
  wp_die('You do not have appropriate access to activate this plugin! Contact your administrator!<br /><a href="'. get_option('siteurl').'/wp-admin/plugins.php">Back to dashboard</a>.');
51
  return;
52
  } else {
53
- deactivate_plugins(plugin_basename('adrotate-pro/adrotate-pro.php'));
54
-
55
  // Set defaults for internal versions
56
  add_option('adrotate_db_version', array('current' => ADROTATE_DB_VERSION, 'previous' => ''));
57
  add_option('adrotate_version', array('current' => ADROTATE_VERSION, 'previous' => ''));
@@ -69,6 +67,7 @@ function adrotate_activate_setup() {
69
  update_option('adrotate_hide_getpro', adrotate_now() + (14 * DAY_IN_SECONDS));
70
  update_option('adrotate_hide_review', adrotate_now());
71
  update_option('adrotate_hide_competition', adrotate_now());
 
72
 
73
  // Install new database
74
  adrotate_database_install();
@@ -84,9 +83,7 @@ function adrotate_activate_setup() {
84
  $role->add_cap("adrotate_group_delete");
85
 
86
  // Switch additional roles off
87
- if(is_object(get_role('adrotate_advertiser'))) {
88
- adrotate_prepare_roles('remove');
89
- }
90
 
91
  // Attempt to make the some folders
92
  if(!is_dir(WP_CONTENT_DIR.'/banners')) mkdir(WP_CONTENT_DIR.'/banners', 0755);
@@ -101,7 +98,21 @@ function adrotate_activate_setup() {
101
  Since: 2.0
102
  -------------------------------------------------------------*/
103
  function adrotate_deactivate($network_wide) {
104
- adrotate_network_propagate('adrotate_deactivate_setup', $network_wide);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
105
  }
106
 
107
  /*-------------------------------------------------------------
@@ -110,114 +121,24 @@ function adrotate_deactivate($network_wide) {
110
  Since: 2.0
111
  -------------------------------------------------------------*/
112
  function adrotate_deactivate_setup() {
113
- // Clear out roles
114
- if(is_object(get_role('adrotate_advertiser'))) {
115
- adrotate_prepare_roles('remove');
116
- }
117
-
118
  update_option('adrotate_hide_getpro', adrotate_now() + (14 * DAY_IN_SECONDS));
119
  update_option('adrotate_hide_review', adrotate_now());
120
  update_option('adrotate_hide_competition', adrotate_now());
121
 
122
  // Clean up capabilities from ALL users
123
- adrotate_remove_capability("adrotate_ad_manage");
124
- adrotate_remove_capability("adrotate_ad_delete");
125
- adrotate_remove_capability("adrotate_group_manage");
126
- adrotate_remove_capability("adrotate_group_delete");
 
 
 
127
 
128
  // Clear out wp_cron
129
- wp_clear_scheduled_hook('adrotate_notification');
130
  wp_clear_scheduled_hook('adrotate_evaluate_ads');
131
  wp_clear_scheduled_hook('adrotate_empty_trackerdata');
132
  }
133
 
134
- /*-------------------------------------------------------------
135
- Name: adrotate_uninstall
136
- Purpose: Initiate uninstallation
137
- Since: 2.4.2
138
- -------------------------------------------------------------*/
139
- function adrotate_uninstall($network_wide) {
140
- adrotate_network_propagate('adrotate_uninstall_setup', $network_wide);
141
- }
142
-
143
- /*-------------------------------------------------------------
144
- Name: adrotate_uninstall
145
- Purpose: Delete the entire AdRotate database and remove the options on uninstall
146
- Since: 2.4.2
147
- -------------------------------------------------------------*/
148
- function adrotate_uninstall_setup() {
149
- global $wpdb, $wp_roles;
150
-
151
- // Clean up roles and scheduled tasks
152
- adrotate_deactivate_setup();
153
-
154
- // Drop MySQL Tables
155
- $wpdb->query("DROP TABLE IF EXISTS `{$wpdb->prefix}adrotate`");
156
- $wpdb->query("DROP TABLE IF EXISTS `{$wpdb->prefix}adrotate_groups`");
157
- $wpdb->query("DROP TABLE IF EXISTS `{$wpdb->prefix}adrotate_linkmeta`");
158
- $wpdb->query("DROP TABLE IF EXISTS `{$wpdb->prefix}adrotate_stats`");
159
- $wpdb->query("DROP TABLE IF EXISTS `{$wpdb->prefix}adrotate_stats_archive`");
160
- $wpdb->query("DROP TABLE IF EXISTS `{$wpdb->prefix}adrotate_schedule`");
161
- $wpdb->query("DROP TABLE IF EXISTS `{$wpdb->prefix}adrotate_transactions`");
162
- $wpdb->query("DROP TABLE IF EXISTS `{$wpdb->prefix}adrotate_tracker`");
163
-
164
- // Delete Options
165
- delete_option('adrotate_activate');
166
- delete_option('adrotate_config');
167
- delete_option('adrotate_crawlers');
168
-
169
- delete_option('adrotate_version');
170
- delete_option('adrotate_db_version');
171
- delete_option('adrotate_db_timer');
172
- delete_option('adrotate_debug');
173
-
174
- delete_option('adrotate_geo_required');
175
- delete_option('adrotate_geo_requests');
176
- delete_option('adrotate_geo_reset');
177
-
178
- delete_option('adrotate_group_css');
179
- delete_option('adrotate_header_output');
180
- delete_option('adrotate_dynamic_required');
181
-
182
- delete_option('adrotate_hide_license');
183
- delete_option('adrotate_hide_banner'); // Obsolete
184
- delete_option('adrotate_hide_review');
185
- delete_option('adrotate_hide_competition');
186
- delete_option('adrotate_hide_getpro');
187
- delete_option('adrotate_hide_premium'); // Obsolete
188
- delete_option('adrotate_hide_premium_2'); // Obsolete
189
- delete_option('adrotate_hide_premium_3'); // Obsolete
190
- delete_option('adrotate_hide_translate'); // Obsolete
191
- delete_option('adrotate_hide_translation'); // Obsolete
192
- delete_option('adrotate_advert_status');
193
- delete_option('adrotate_notifications');
194
-
195
- // Clear out userroles
196
- remove_role('adrotate_advertiser');
197
- }
198
-
199
- /*-------------------------------------------------------------
200
- Name: adrotate_network_propagate
201
- Purpose: Check how many sites use AdRotate
202
- Since: 3.9.9
203
- -------------------------------------------------------------*/
204
- function adrotate_network_propagate($pfunction, $network_wide) {
205
- global $wpdb;
206
-
207
- if(is_multisite() && $network_wide) {
208
- $current_blog = $wpdb->blogid;
209
- // Get all blog ids
210
- $blogids = $wpdb->get_col("SELECT `blog_id` FROM $wpdb->blogs;");
211
- foreach ($blogids as $blog_id) {
212
- switch_to_blog($blog_id);
213
- call_user_func($pfunction, $network_wide);
214
- }
215
- switch_to_blog($current_blog);
216
- return;
217
- }
218
- call_user_func($pfunction, $network_wide);
219
- }
220
-
221
  /*-------------------------------------------------------------
222
  Name: adrotate_check_schedules
223
  Purpose: Set or reset maintenance schedules for AdRotate
1
  <?php
2
  /* ------------------------------------------------------------------------------------
3
  * COPYRIGHT AND TRADEMARK NOTICE
4
+ * Copyright 2008-2020 Arnan de Gans. All Rights Reserved.
5
+ * ADROTATE is a registered trademark of Arnan de Gans.
6
 
7
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
8
  * By using this code you agree to indemnify Arnan de Gans from any
50
  wp_die('You do not have appropriate access to activate this plugin! Contact your administrator!<br /><a href="'. get_option('siteurl').'/wp-admin/plugins.php">Back to dashboard</a>.');
51
  return;
52
  } else {
 
 
53
  // Set defaults for internal versions
54
  add_option('adrotate_db_version', array('current' => ADROTATE_DB_VERSION, 'previous' => ''));
55
  add_option('adrotate_version', array('current' => ADROTATE_VERSION, 'previous' => ''));
67
  update_option('adrotate_hide_getpro', adrotate_now() + (14 * DAY_IN_SECONDS));
68
  update_option('adrotate_hide_review', adrotate_now());
69
  update_option('adrotate_hide_competition', adrotate_now());
70
+ update_option('adrotate_hide_birthday', adrotate_now());
71
 
72
  // Install new database
73
  adrotate_database_install();
83
  $role->add_cap("adrotate_group_delete");
84
 
85
  // Switch additional roles off
86
+ remove_role('adrotate_advertiser');
 
 
87
 
88
  // Attempt to make the some folders
89
  if(!is_dir(WP_CONTENT_DIR.'/banners')) mkdir(WP_CONTENT_DIR.'/banners', 0755);
98
  Since: 2.0
99
  -------------------------------------------------------------*/
100
  function adrotate_deactivate($network_wide) {
101
+ global $wpdb;
102
+
103
+ if(is_multisite()) {
104
+ $blog_ids = $wpdb->get_col("SELECT blog_id FROM $wpdb->blogs");
105
+
106
+ if($blog_ids) {
107
+ foreach($blog_ids as $blog_id) {
108
+ switch_to_blog($blog_id);
109
+ adrotate_deactivate_setup();
110
+ restore_current_blog();
111
+ }
112
+ }
113
+ } else {
114
+ adrotate_deactivate_setup();
115
+ }
116
  }
117
 
118
  /*-------------------------------------------------------------
121
  Since: 2.0
122
  -------------------------------------------------------------*/
123
  function adrotate_deactivate_setup() {
 
 
 
 
 
124
  update_option('adrotate_hide_getpro', adrotate_now() + (14 * DAY_IN_SECONDS));
125
  update_option('adrotate_hide_review', adrotate_now());
126
  update_option('adrotate_hide_competition', adrotate_now());
127
 
128
  // Clean up capabilities from ALL users
129
+ $editable_roles = apply_filters('editable_roles', $wp_roles->roles);
130
+ foreach($editable_roles as $role => $details) {
131
+ $wp_roles->remove_cap($details['name'], "adrotate_ad_manage");
132
+ $wp_roles->remove_cap($details['name'], "adrotate_ad_delete");
133
+ $wp_roles->remove_cap($details['name'], "adrotate_group_manage");
134
+ $wp_roles->remove_cap($details['name'], "adrotate_group_delete");
135
+ }
136
 
137
  // Clear out wp_cron
 
138
  wp_clear_scheduled_hook('adrotate_evaluate_ads');
139
  wp_clear_scheduled_hook('adrotate_empty_trackerdata');
140
  }
141
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
142
  /*-------------------------------------------------------------
143
  Name: adrotate_check_schedules
144
  Purpose: Set or reset maintenance schedules for AdRotate
adrotate-statistics.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 registered trademark of Arnan de Gans.
6
 
7
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
1
  <?php
2
  /* ------------------------------------------------------------------------------------
3
  * COPYRIGHT AND TRADEMARK NOTICE
4
+ * Copyright 2008-2020 Arnan de Gans. All Rights Reserved.
5
  * ADROTATE is a registered trademark of Arnan de Gans.
6
 
7
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
adrotate-widget.php CHANGED
@@ -1,8 +1,8 @@
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.
8
  * By using this code you agree to indemnify Arnan de Gans from any
1
  <?php
2
  /* ------------------------------------------------------------------------------------
3
  * COPYRIGHT AND TRADEMARK NOTICE
4
+ * Copyright 2008-2020 Arnan de Gans. All Rights Reserved.
5
+ * ADROTATE is a registered trademark of Arnan de Gans.
6
 
7
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
8
  * By using this code you agree to indemnify Arnan de Gans from any
adrotate.php CHANGED
@@ -1,19 +1,19 @@
1
  <?php
2
  /*
3
- Plugin Name: AdRotate Banner Manager
4
  Plugin URI: https://ajdg.solutions/product/adrotate-banner-manager/?pk_campaign=adrotatefree&pk_keyword=plugin_info
5
  Author: Arnan de Gans
6
  Author URI: https://www.arnan.me/?pk_campaign=adrotatefree&pk_keyword=plugin_info
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.6.2
10
  License: GPLv3
11
  */
12
 
13
  /* ------------------------------------------------------------------------------------
14
  * COPYRIGHT AND TRADEMARK NOTICE
15
- * Copyright 2008-2019 Arnan de Gans. All Rights Reserved.
16
- * ADROTATE is a trademark of Arnan de Gans.
17
 
18
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
19
  * By using this code you agree to indemnify Arnan de Gans from any
@@ -21,7 +21,7 @@ License: GPLv3
21
  ------------------------------------------------------------------------------------ */
22
 
23
  /*--- AdRotate values ---------------------------------------*/
24
- define("ADROTATE_DISPLAY", '5.6.2');
25
  define("ADROTATE_VERSION", 395);
26
  define("ADROTATE_DB_VERSION", 65);
27
  $plugin_folder = plugin_dir_path(__FILE__);
@@ -49,7 +49,6 @@ $adrotate_debug = get_option("adrotate_debug");
49
  /*--- Core --------------------------------------------------*/
50
  register_activation_hook(__FILE__, 'adrotate_activate');
51
  register_deactivation_hook(__FILE__, 'adrotate_deactivate');
52
- register_uninstall_hook(__FILE__, 'adrotate_uninstall');
53
  add_action('adrotate_evaluate_ads', 'adrotate_evaluate_ads');
54
  add_action('adrotate_empty_trackerdata', 'adrotate_empty_trackerdata');
55
  add_action('widgets_init', 'adrotate_widget');
1
  <?php
2
  /*
3
+ Plugin Name: AdRotate
4
  Plugin URI: https://ajdg.solutions/product/adrotate-banner-manager/?pk_campaign=adrotatefree&pk_keyword=plugin_info
5
  Author: Arnan de Gans
6
  Author URI: https://www.arnan.me/?pk_campaign=adrotatefree&pk_keyword=plugin_info
7
+ Description: AdRotate - Monetise your website with adverts while keeping things simple. Start making money today!
8
  Text Domain: adrotate
9
+ Version: 5.7
10
  License: GPLv3
11
  */
12
 
13
  /* ------------------------------------------------------------------------------------
14
  * COPYRIGHT AND TRADEMARK NOTICE
15
+ * Copyright 2008-2020 Arnan de Gans. All Rights Reserved.
16
+ * ADROTATE is a registered trademark of Arnan de Gans.
17
 
18
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
19
  * By using this code you agree to indemnify Arnan de Gans from any
21
  ------------------------------------------------------------------------------------ */
22
 
23
  /*--- AdRotate values ---------------------------------------*/
24
+ define("ADROTATE_DISPLAY", '5.7');
25
  define("ADROTATE_VERSION", 395);
26
  define("ADROTATE_DB_VERSION", 65);
27
  $plugin_folder = plugin_dir_path(__FILE__);
49
  /*--- Core --------------------------------------------------*/
50
  register_activation_hook(__FILE__, 'adrotate_activate');
51
  register_deactivation_hook(__FILE__, 'adrotate_deactivate');
 
52
  add_action('adrotate_evaluate_ads', 'adrotate_evaluate_ads');
53
  add_action('adrotate_empty_trackerdata', 'adrotate_empty_trackerdata');
54
  add_action('widgets_init', 'adrotate_widget');
dashboard/adrotatepro.php CHANGED
@@ -1,8 +1,8 @@
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.
8
  * By using this code you agree to indemnify Arnan de Gans from any
1
  <?php
2
  /* ------------------------------------------------------------------------------------
3
  * COPYRIGHT AND TRADEMARK NOTICE
4
+ * Copyright 2008-2020 Arnan de Gans. All Rights Reserved.
5
+ * ADROTATE is a registered trademark of Arnan de Gans.
6
 
7
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
8
  * By using this code you agree to indemnify Arnan de Gans from any
dashboard/info.php CHANGED
@@ -1,8 +1,8 @@
1
  <?php
2
  /* ------------------------------------------------------------------------------------
3
  * COPYRIGHT AND TRADEMARK NOTICE
4
- * Copyright 2008-2018 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.
8
  * By using this code you agree to indemnify Arnan de Gans from any
@@ -48,7 +48,7 @@ $data = get_option("adrotate_advert_status");
48
  <div id="services" class="ajdg-postbox-content">
49
  <p><strong><?php _e('Support AdRotate Banner Manager', 'adrotate'); ?></strong></p>
50
  <p><?php _e('Consider writing a review or making a donation if you like the plugin or if you find the plugin useful. Thanks for your support!', 'adrotate'); ?></p>
51
- <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>
52
 
53
  <p><strong><?php _e('Plugins and services', 'adrotate'); ?></strong></p>
54
  <table width="100%">
@@ -151,13 +151,21 @@ $data = get_option("adrotate_advert_status");
151
  <div id="right-column" class="ajdg-postbox-container">
152
 
153
  <div class="ajdg-postbox">
154
- <h2 class="ajdg-postbox-title"><?php _e('Namecheap SSL Certificates', 'adrotate'); ?></h2>
155
  <div id="namecheap" class="ajdg-postbox-content">
156
- <p>With the increasing risks on the internet it's smart to earn back the trust of your visitors by installing a SSL certificate on your website. Show them that you care about their privacy with a good and solid certificate. NameCheap has plenty of affordable options for all kinds of protection. I've been a customer of NameCheap for many years - So far no complaints.</p>
157
  <p><center><a rel="nofollow" href="https://ajdg.solutions/go/namecheap/"><img src="<?php echo plugins_url("/images/offers/namecheap-ssl.jpg", dirname(__FILE__)); ?>" width="440" alt="Namecheap.com"></a></center></p>
158
  </div>
159
  </div>
160
 
 
 
 
 
 
 
 
 
161
  </div>
162
  </div>
163
  </div>
1
  <?php
2
  /* ------------------------------------------------------------------------------------
3
  * COPYRIGHT AND TRADEMARK NOTICE
4
+ * Copyright 2008-2020 Arnan de Gans. All Rights Reserved.
5
+ * ADROTATE is a registered trademark of Arnan de Gans.
6
 
7
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
8
  * By using this code you agree to indemnify Arnan de Gans from any
48
  <div id="services" class="ajdg-postbox-content">
49
  <p><strong><?php _e('Support AdRotate Banner Manager', 'adrotate'); ?></strong></p>
50
  <p><?php _e('Consider writing a review or making a donation if you like the plugin or if you find the plugin useful. Thanks for your support!', 'adrotate'); ?></p>
51
+ <center><a class="button-primary" href="https://ajdg.solutions/go/donate" target="_blank">Donate 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>
52
 
53
  <p><strong><?php _e('Plugins and services', 'adrotate'); ?></strong></p>
54
  <table width="100%">
151
  <div id="right-column" class="ajdg-postbox-container">
152
 
153
  <div class="ajdg-postbox">
154
+ <h2 class="ajdg-postbox-title">Get a SSL Certificate from Namecheap</h2>
155
  <div id="namecheap" class="ajdg-postbox-content">
156
+ <p>With the increasing risks on the internet it's smart to keep the trust of your visitors by installing a SSL certificate on your website. Show them that you care about their privacy with a good and solid certificate. NameCheap has plenty of affordable options for all kinds of protection. I've been a satisfied customer of NameCheap for many years.</p>
157
  <p><center><a rel="nofollow" href="https://ajdg.solutions/go/namecheap/"><img src="<?php echo plugins_url("/images/offers/namecheap-ssl.jpg", dirname(__FILE__)); ?>" width="440" alt="Namecheap.com"></a></center></p>
158
  </div>
159
  </div>
160
 
161
+ <div class="ajdg-postbox">
162
+ <h2 class="ajdg-postbox-title">Give your websites a speed boost with a VPS from Inmotion Hosting</h2>
163
+ <div id="namecheap" class="ajdg-postbox-content">
164
+ <p>A VPS is a great step up from regular hosting and it gives you a lot more room to grow your website. Whether you host many websites to save money or put your bigger wedsites on it, Inmotion Hosting is up to the task. Get more control and speed with a VPS from Inmotion Hosting. I've been using their VPS servers for several years now and have no complaints!</p>
165
+ <p><center><a rel="nofollow" href="https://ajdg.solutions/go/imh-vps"><img src="<?php echo plugins_url("/images/offers/inmotionhosting-vps.jpg", dirname(__FILE__)); ?>" width="440" alt="inmotionhosting.com"></a></center></p>
166
+ </div>
167
+ </div>
168
+
169
  </div>
170
  </div>
171
  </div>
dashboard/publisher/adverts-disabled.php CHANGED
@@ -1,8 +1,8 @@
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.
8
  * By using this code you agree to indemnify Arnan de Gans from any
1
  <?php
2
  /* ------------------------------------------------------------------------------------
3
  * COPYRIGHT AND TRADEMARK NOTICE
4
+ * Copyright 2008-2020 Arnan de Gans. All Rights Reserved.
5
+ * ADROTATE is a registered trademark of Arnan de Gans.
6
 
7
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
8
  * By using this code you agree to indemnify Arnan de Gans from any
dashboard/publisher/adverts-edit.php CHANGED
@@ -1,8 +1,8 @@
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.
8
  * By using this code you agree to indemnify Arnan de Gans from any
@@ -135,7 +135,8 @@ if($edit_banner) {
135
  <tr>
136
  <th valign="top"><?php _e('Useful tags', 'adrotate'); ?></th>
137
  <td colspan="2">
138
- <p><em><a href="#" title="<?php _e('Insert the advert ID Number.', 'adrotate'); ?>" onclick="textatcursor('adrotate_bannercode','%id%');return false;">%id%</a>, <a href="#" title="<?php _e('Required when selecting a asset below.', 'adrotate'); ?>" onclick="textatcursor('adrotate_bannercode','%asset%');return false;">%asset%</a>, <a href="#" title="<?php _e('Insert the advert name.', 'adrotate'); ?>" onclick="textatcursor('adrotate_bannercode','%title%');return false;">%title%</a>, <a href="#" title="<?php _e('Insert a random seed. Useful for DFP/DoubleClick type adverts.', 'adrotate'); ?>" onclick="textatcursor('adrotate_bannercode','%random%');return false;">%random%</a>, <a href="#" title="<?php _e('Add inside the <a> tag to open advert in a new window.', 'adrotate'); ?>" onclick="textatcursor('adrotate_bannercode','target=&quot;_blank&quot;');return false;">target="_blank"</a>, <a href="#" title="<?php _e('Add inside the <a> tag to tell crawlers to ignore this link', 'adrotate'); ?>" onclick="textatcursor('adrotate_bannercode','rel=&quot;nofollow&quot;');return false;">rel="nofollow"</a></em><br /><?php _e('Place the cursor in your AdCode where you want to add any of these tags and click to add it.', 'adrotate'); ?></p>
 
139
  </td>
140
  </tr>
141
  <?php if($edit_banner->type != 'empty') { ?>
@@ -162,7 +163,7 @@ if($edit_banner) {
162
  $assets = adrotate_dropdown_folder_contents(WP_CONTENT_DIR."/".$adrotate_config['banner_folder'], array('jpg', 'jpeg', 'gif', 'png', 'html', 'htm'));
163
  foreach($assets as $key => $option) {
164
  echo "<option value=\"$option\"";
165
- if($image_dropdown == WP_CONTENT_URL."/%folder%/".$option) { echo " selected"; }
166
  echo ">$option</option>";
167
  }
168
  ?>
1
  <?php
2
  /* ------------------------------------------------------------------------------------
3
  * COPYRIGHT AND TRADEMARK NOTICE
4
+ * Copyright 2008-2020 Arnan de Gans. All Rights Reserved.
5
+ * ADROTATE is a registered trademark of Arnan de Gans.
6
 
7
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
8
  * By using this code you agree to indemnify Arnan de Gans from any
135
  <tr>
136
  <th valign="top"><?php _e('Useful tags', 'adrotate'); ?></th>
137
  <td colspan="2">
138
+ <span class="description"><a href="#" onclick="textatcursor('adrotate_bannercode','%id%');return false;"><span class="ajdg-tooltip">%id%<span class="ajdg-tooltiptext ajdg-tooltip-top"><?php _e('Insert the advert ID Number.', 'adrotate-pro'); ?></span></span></a> <a href="#" onclick="textatcursor('adrotate_bannercode','%asset%');return false;"><span class="ajdg-tooltip">%asset%<span class="ajdg-tooltiptext ajdg-tooltip-top"><?php _e('Use this tag when selecting a image below.', 'adrotate-pro'); ?></span></span></a> <a href="#" onclick="textatcursor('adrotate_bannercode','%title%');return false;"><span class="ajdg-tooltip">%title%<span class="ajdg-tooltiptext ajdg-tooltip-top"><?php _e('Insert the advert name.', 'adrotate-pro'); ?></span></span></a> <a href="#" onclick="textatcursor('adrotate_bannercode','%random%');return false;"><span class="ajdg-tooltip">%random%<span class="ajdg-tooltiptext ajdg-tooltip-top"><?php _e('Insert a random string. Useful for DFP/DoubleClick type adverts.', 'adrotate-pro'); ?></span></span></a> <a href="#" onclick="textatcursor('adrotate_bannercode','target=&quot;_blank&quot;');return false;"><span class="ajdg-tooltip">target="_blank"<span class="ajdg-tooltiptext ajdg-tooltip-top"><?php _e('Add inside the &lt;a&gt; tag to open the advert in a new window.', 'adrotate-pro'); ?></span></span></a> <a href="#" onclick="textatcursor('adrotate_bannercode','rel=&quot;nofollow&quot;');return false;"><span class="ajdg-tooltip">rel="nofollow"<span class="ajdg-tooltiptext ajdg-tooltip-top"><?php _e('Add inside the &lt;a&gt; tag to tell crawlers to ignore this link.', 'adrotate-pro'); ?></span></span></a></em><br />
139
+ <?php _e('Place the cursor where you want to add a tag and click to add it to your AdCode.', 'adrotate-pro'); ?></p>
140
  </td>
141
  </tr>
142
  <?php if($edit_banner->type != 'empty') { ?>
163
  $assets = adrotate_dropdown_folder_contents(WP_CONTENT_DIR."/".$adrotate_config['banner_folder'], array('jpg', 'jpeg', 'gif', 'png', 'html', 'htm'));
164
  foreach($assets as $key => $option) {
165
  echo "<option value=\"$option\"";
166
+ if($image_dropdown == WP_CONTENT_URL."/banners/".$option) { echo " selected"; }
167
  echo ">$option</option>";
168
  }
169
  ?>
dashboard/publisher/adverts-error.php CHANGED
@@ -1,8 +1,8 @@
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.
8
  * By using this code you agree to indemnify Arnan de Gans from any
1
  <?php
2
  /* ------------------------------------------------------------------------------------
3
  * COPYRIGHT AND TRADEMARK NOTICE
4
+ * Copyright 2008-2020 Arnan de Gans. All Rights Reserved.
5
+ * ADROTATE is a registered trademark of Arnan de Gans.
6
 
7
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
8
  * By using this code you agree to indemnify Arnan de Gans from any
dashboard/publisher/adverts-generator.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 registered trademark of Arnan de Gans.
6
 
7
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
1
  <?php
2
  /* ------------------------------------------------------------------------------------
3
  * COPYRIGHT AND TRADEMARK NOTICE
4
+ * Copyright 2008-2020 Arnan de Gans. All Rights Reserved.
5
  * ADROTATE is a registered trademark of Arnan de Gans.
6
 
7
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
dashboard/publisher/adverts-main.php CHANGED
@@ -1,8 +1,8 @@
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.
8
  * By using this code you agree to indemnify Arnan de Gans from any
1
  <?php
2
  /* ------------------------------------------------------------------------------------
3
  * COPYRIGHT AND TRADEMARK NOTICE
4
+ * Copyright 2008-2020 Arnan de Gans. All Rights Reserved.
5
+ * ADROTATE is a registered trademark of Arnan de Gans.
6
 
7
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
8
  * By using this code you agree to indemnify Arnan de Gans from any
dashboard/publisher/groups-edit.php CHANGED
@@ -1,8 +1,8 @@
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.
8
  * By using this code you agree to indemnify Arnan de Gans from any
1
  <?php
2
  /* ------------------------------------------------------------------------------------
3
  * COPYRIGHT AND TRADEMARK NOTICE
4
+ * Copyright 2008-2020 Arnan de Gans. All Rights Reserved.
5
+ * ADROTATE is a registered trademark of Arnan de Gans.
6
 
7
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
8
  * By using this code you agree to indemnify Arnan de Gans from any
dashboard/publisher/groups-main.php CHANGED
@@ -1,8 +1,8 @@
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.
8
  * By using this code you agree to indemnify Arnan de Gans from any
1
  <?php
2
  /* ------------------------------------------------------------------------------------
3
  * COPYRIGHT AND TRADEMARK NOTICE
4
+ * Copyright 2008-2020 Arnan de Gans. All Rights Reserved.
5
+ * ADROTATE is a registered trademark of Arnan de Gans.
6
 
7
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
8
  * By using this code you agree to indemnify Arnan de Gans from any
dashboard/publisher/media.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 registered trademark of Arnan de Gans.
6
 
7
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
1
  <?php
2
  /* ------------------------------------------------------------------------------------
3
  * COPYRIGHT AND TRADEMARK NOTICE
4
+ * Copyright 2008-2020 Arnan de Gans. All Rights Reserved.
5
  * ADROTATE is a registered trademark of Arnan de Gans.
6
 
7
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
dashboard/publisher/schedules-main.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 registered trademark of Arnan de Gans.
6
 
7
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
1
  <?php
2
  /* ------------------------------------------------------------------------------------
3
  * COPYRIGHT AND TRADEMARK NOTICE
4
+ * Copyright 2008-2020 Arnan de Gans. All Rights Reserved.
5
  * ADROTATE is a registered trademark of Arnan de Gans.
6
 
7
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
dashboard/publisher/statistics-advert.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 registered trademark of Arnan de Gans.
6
 
7
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
1
  <?php
2
  /* ------------------------------------------------------------------------------------
3
  * COPYRIGHT AND TRADEMARK NOTICE
4
+ * Copyright 2008-2020 Arnan de Gans. All Rights Reserved.
5
  * ADROTATE is a registered trademark of Arnan de Gans.
6
 
7
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
dashboard/publisher/statistics-group.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 registered trademark of Arnan de Gans.
6
 
7
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
1
  <?php
2
  /* ------------------------------------------------------------------------------------
3
  * COPYRIGHT AND TRADEMARK NOTICE
4
+ * Copyright 2008-2020 Arnan de Gans. All Rights Reserved.
5
  * ADROTATE is a registered trademark of Arnan de Gans.
6
 
7
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
dashboard/publisher/statistics-main.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 registered trademark of Arnan de Gans.
6
 
7
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
1
  <?php
2
  /* ------------------------------------------------------------------------------------
3
  * COPYRIGHT AND TRADEMARK NOTICE
4
+ * Copyright 2008-2020 Arnan de Gans. All Rights Reserved.
5
  * ADROTATE is a registered trademark of Arnan de Gans.
6
 
7
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
dashboard/settings/advertisers.php CHANGED
@@ -1,8 +1,8 @@
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.
8
  * By using this code you agree to indemnify Arnan de Gans from any
1
  <?php
2
  /* ------------------------------------------------------------------------------------
3
  * COPYRIGHT AND TRADEMARK NOTICE
4
+ * Copyright 2008-2020 Arnan de Gans. All Rights Reserved.
5
+ * ADROTATE is a registered trademark of Arnan de Gans.
6
 
7
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
8
  * By using this code you agree to indemnify Arnan de Gans from any
dashboard/settings/general.php CHANGED
@@ -1,8 +1,8 @@
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.
8
  * By using this code you agree to indemnify Arnan de Gans from any
1
  <?php
2
  /* ------------------------------------------------------------------------------------
3
  * COPYRIGHT AND TRADEMARK NOTICE
4
+ * Copyright 2008-2020 Arnan de Gans. All Rights Reserved.
5
+ * ADROTATE is a registered trademark of Arnan de Gans.
6
 
7
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
8
  * By using this code you agree to indemnify Arnan de Gans from any
dashboard/settings/geotargeting.php CHANGED
@@ -1,8 +1,8 @@
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.
8
  * By using this code you agree to indemnify Arnan de Gans from any
1
  <?php
2
  /* ------------------------------------------------------------------------------------
3
  * COPYRIGHT AND TRADEMARK NOTICE
4
+ * Copyright 2008-2020 Arnan de Gans. All Rights Reserved.
5
+ * ADROTATE is a registered trademark of Arnan de Gans.
6
 
7
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
8
  * By using this code you agree to indemnify Arnan de Gans from any
dashboard/settings/maintenance.php CHANGED
@@ -1,8 +1,8 @@
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.
8
  * By using this code you agree to indemnify Arnan de Gans from any
1
  <?php
2
  /* ------------------------------------------------------------------------------------
3
  * COPYRIGHT AND TRADEMARK NOTICE
4
+ * Copyright 2008-2020 Arnan de Gans. All Rights Reserved.
5
+ * ADROTATE is a registered trademark of Arnan de Gans.
6
 
7
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
8
  * By using this code you agree to indemnify Arnan de Gans from any
dashboard/settings/misc.php CHANGED
@@ -1,8 +1,8 @@
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.
8
  * By using this code you agree to indemnify Arnan de Gans from any
1
  <?php
2
  /* ------------------------------------------------------------------------------------
3
  * COPYRIGHT AND TRADEMARK NOTICE
4
+ * Copyright 2008-2020 Arnan de Gans. All Rights Reserved.
5
+ * ADROTATE is a registered trademark of Arnan de Gans.
6
 
7
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
8
  * By using this code you agree to indemnify Arnan de Gans from any
dashboard/settings/notifications.php CHANGED
@@ -1,8 +1,8 @@
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.
8
  * By using this code you agree to indemnify Arnan de Gans from any
1
  <?php
2
  /* ------------------------------------------------------------------------------------
3
  * COPYRIGHT AND TRADEMARK NOTICE
4
+ * Copyright 2008-2020 Arnan de Gans. All Rights Reserved.
5
+ * ADROTATE is a registered trademark of Arnan de Gans.
6
 
7
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
8
  * By using this code you agree to indemnify Arnan de Gans from any
dashboard/settings/roles.php CHANGED
@@ -1,8 +1,8 @@
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.
8
  * By using this code you agree to indemnify Arnan de Gans from any
1
  <?php
2
  /* ------------------------------------------------------------------------------------
3
  * COPYRIGHT AND TRADEMARK NOTICE
4
+ * Copyright 2008-2020 Arnan de Gans. All Rights Reserved.
5
+ * ADROTATE is a registered trademark of Arnan de Gans.
6
 
7
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
8
  * By using this code you agree to indemnify Arnan de Gans from any
dashboard/settings/statistics.php CHANGED
@@ -1,8 +1,8 @@
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.
8
  * By using this code you agree to indemnify Arnan de Gans from any
1
  <?php
2
  /* ------------------------------------------------------------------------------------
3
  * COPYRIGHT AND TRADEMARK NOTICE
4
+ * Copyright 2008-2020 Arnan de Gans. All Rights Reserved.
5
+ * ADROTATE is a registered trademark of Arnan de Gans.
6
 
7
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
8
  * By using this code you agree to indemnify Arnan de Gans from any
dashboard/support.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /* ------------------------------------------------------------------------------------
3
  * COPYRIGHT AND TRADEMARK NOTICE
4
- * Copyright 2008-2019 Arnan de Gans. All Rights Reserved.
5
  * ADROTATE is a registered trademark of Arnan de Gans.
6
 
7
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
@@ -35,17 +35,6 @@ $data = get_option("adrotate_advert_status");
35
  </div>
36
  </div>
37
 
38
- <div class="ajdg-postbox">
39
- <h2 class="ajdg-postbox-title"><?php _e('Additional Services', 'adrotate'); ?></h2>
40
- <div id="get-pro" class="ajdg-postbox-content">
41
- <p><img src="<?php echo plugins_url('/images/icon-services.png', dirname(__FILE__)); ?>" class="alignleft pro-image" /><?php _e('Have stuff done for you, by AJdG Solutions. If you need HTML5 Adverts set up. Or do not know how to update the plugin. Get me to do it for you! These professional services are available for every AdRotate and AdRotate Pro user and are usually handled in less than 2 business days.', 'adrotate'); ?></p>
42
-
43
- <p><a href="https://ajdg.solutions/product/adrotate-html5-setup-service/?pk_campaign=adrotatefree&pk_keyword=support_page&pk_content=service-6" target="_blank"><strong><?php _e('HTML5 Advert setup', 'adrotate'); ?> (&euro; 22.50/advert)</strong></strong></a><br /><em><?php _e('Got a HTML5 advert that needs to be set up?', 'adrotate'); ?> <a href="https://ajdg.solutions/product/adrotate-html5-setup-service/?pk_campaign=adrotatefree&pk_keyword=support_page&pk_content=service-6" target="_blank"><?php _e('Order now', 'adrotate'); ?> &raquo;</a></em></p>
44
- <p><a href="https://ajdg.solutions/product/adrotate-update/?pk_campaign=adrotatefree&pk_keyword=support_page&pk_content=service-7" target="_blank"><strong><?php _e('Update AdRotate Banner Manager', 'adrotate'); ?> (&euro; 22.50)</strong></a><br /><em><?php _e('Get a newer version of AdRotate Banner Manager installed.', 'adrotate'); ?> <a href="https://ajdg.solutions/product/adrotate-update/?pk_campaign=adrotatefree&pk_keyword=support_page&pk_content=service-7" target="_blank"><?php _e('Order now', 'adrotate'); ?> &raquo;</a></em></p>
45
- <p><strong><?php _e('AdRotate setup', 'adrotate'); ?> (&euro; 45/hr)</strong></strong><br /><em><?php _e('Contact AJdG Solutions and inquire about the possibilities to set up AdRotate for you.', 'adrotate'); ?></em></p>
46
- </div>
47
- </div>
48
-
49
  </div>
50
  <div id="right-column" class="ajdg-postbox-container">
51
 
@@ -59,8 +48,7 @@ $data = get_option("adrotate_advert_status");
59
  <p><label for="ajdg_support_email"><strong><?php _e('Your Email Address:', 'adrotate'); ?></strong><br /><input tabindex="1" name="ajdg_support_email" type="text" class="search-input" style="width:100%;" value="<?php echo $current_user->user_email;?>" autocomplete="off" disabled /></label></p>
60
  <p><label for="ajdg_support_subject"><strong><?php _e('Subject:', 'adrotate'); ?></strong><br /><input tabindex="2" name="ajdg_support_subject" type="text" class="search-input" style="width:100%;" value="" autocomplete="off" disabled /></label></p>
61
  <p><label for="ajdg_support_message"><strong><?php _e('Problem description / Question:', 'adrotate'); ?></strong><br /><textarea tabindex="3" name="ajdg_support_message" style="width:100%; height:100px;" disabled></textarea></label></p>
62
- <p><label for="ajdg_support_account"><input tabindex="4" name="ajdg_support_account" type="checkbox" disabled /> <?php _e('Please log in to my website and take a look.', 'adrotate'); ?> <span class="ajdg-tooltip">What's this?<span class="ajdg-tooltiptext ajdg-tooltip-top">Checking this option will create an account for Arnan to log in and take a look at your setup.</span>
63
- </span></label></p>
64
 
65
  <p><strong><?php _e('When you send this form the following data will be submitted:', 'adrotate'); ?></strong><br/>
66
  <em><?php _e('Your name, Account email address, Your website url and some basic WordPress information will be included with the message.', 'adrotate'); ?><br /><?php _e('This information is treated as confidential and is mandatory.', 'adrotate'); ?></em></p>
1
  <?php
2
  /* ------------------------------------------------------------------------------------
3
  * COPYRIGHT AND TRADEMARK NOTICE
4
+ * Copyright 2008-2020 Arnan de Gans. All Rights Reserved.
5
  * ADROTATE is a registered trademark of Arnan de Gans.
6
 
7
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
35
  </div>
36
  </div>
37
 
 
 
 
 
 
 
 
 
 
 
 
38
  </div>
39
  <div id="right-column" class="ajdg-postbox-container">
40
 
48
  <p><label for="ajdg_support_email"><strong><?php _e('Your Email Address:', 'adrotate'); ?></strong><br /><input tabindex="1" name="ajdg_support_email" type="text" class="search-input" style="width:100%;" value="<?php echo $current_user->user_email;?>" autocomplete="off" disabled /></label></p>
49
  <p><label for="ajdg_support_subject"><strong><?php _e('Subject:', 'adrotate'); ?></strong><br /><input tabindex="2" name="ajdg_support_subject" type="text" class="search-input" style="width:100%;" value="" autocomplete="off" disabled /></label></p>
50
  <p><label for="ajdg_support_message"><strong><?php _e('Problem description / Question:', 'adrotate'); ?></strong><br /><textarea tabindex="3" name="ajdg_support_message" style="width:100%; height:100px;" disabled></textarea></label></p>
51
+ <p><label for="ajdg_support_account"><input tabindex="4" name="ajdg_support_account" type="checkbox" disabled /> <?php _e('Please log in to my website and take a look.', 'adrotate'); ?> <span class="ajdg-tooltip">What's this?<span class="ajdg-tooltiptext ajdg-tooltip-top">Checking this option will create an account for Arnan to log in and take a look at your setup.</span></span></label></p>
 
52
 
53
  <p><strong><?php _e('When you send this form the following data will be submitted:', 'adrotate'); ?></strong><br/>
54
  <em><?php _e('Your name, Account email address, Your website url and some basic WordPress information will be included with the message.', 'adrotate'); ?><br /><?php _e('This information is treated as confidential and is mandatory.', 'adrotate'); ?></em></p>
images/birthday.png ADDED
Binary file
images/offers/inmotionhosting-vps.jpg ADDED
Binary file
library/dashboard.css CHANGED
@@ -28,19 +28,13 @@
28
  .ajdg-notification-cta { border-left: 1px solid #E5E5E5; background: #F8F8F8; padding: 0 30px; position: relative; white-space: nowrap; }
29
  .wp-core-ui .ajdg-notification-cta a, .wp-core-ui .ajdg-notification-cta .button-primary:active { vertical-align: middle; }
30
  .ajdg-notification-dismiss { background: transparent; margin-left: 20px; border: 0; cursor: pointer; color: #BBB; text-decoration: none; }
31
- /* Old */
32
- .ajdg_notification { margin:12px 0; position:relative; overflow:hidden; }
33
- .ajdg_notification .text { color:#000; font-size:15px; line-height:26px; margin:18px 18px 14px; float:left; width:auto; max-width:80%; }
34
- .ajdg_notification .text span { font-size:12px; }
35
- .ajdg_notification .button { float:left; border:1px solid #e2f4d2; font-size:14px; margin:18px 0 18px 16px; padding:12px 0; color:#FFF; text-shadow:none; font-weight:bold; background:#86c351; -moz-border-radius:3px; border-radius:3px; -webkit-border-radius:3px; text-decoration:none; height:50px; text-align:center; text-transform:uppercase; width:147px; box-shadow:none; line-height:26px; box-shadow: 0 2px 2px 0 rgba(0,0,0,.3); }
36
- .ajdg_notification .button:hover { background:#5f9d28; color:#fff; border:1px solid #e2f4d2;}
37
- .ajdg_notification .button_premium { border:1px solid #95c5e9; background:#1fa4d1; }
38
- .ajdg_notification .button_premium:hover { background:#137292; color:#fff; border:1px solid #2085d1;}
39
- .ajdg_notification .button_large { width:200px; }
40
- .ajdg_notification .text_update { color:#fff; }
41
- .ajdg_notification .icon { float:right; margin:12px 8px 8px 8px; }
42
- .ajdg_notification .close_notification { float:right; margin:8px; cursor:pointer; }
43
- /* - */
44
 
45
  /* Dashboard styles */
46
  .ajdg-postbox-container { width: 49.5%; float: left; }
28
  .ajdg-notification-cta { border-left: 1px solid #E5E5E5; background: #F8F8F8; padding: 0 30px; position: relative; white-space: nowrap; }
29
  .wp-core-ui .ajdg-notification-cta a, .wp-core-ui .ajdg-notification-cta .button-primary:active { vertical-align: middle; }
30
  .ajdg-notification-dismiss { background: transparent; margin-left: 20px; border: 0; cursor: pointer; color: #BBB; text-decoration: none; }
31
+
32
+ /* Update button */
33
+ .update-button { -webkit-animation: glowing 1500ms infinite; -moz-animation: glowing 1500ms infinite; -o-animation: glowing 1500ms infinite; animation: glowing 1500ms infinite; }
34
+ @-webkit-keyframes glowing { 0% { -webkit-box-shadow: 0 0 3px #1fa4d1; } 50% { -webkit-box-shadow: 0 0 40px #466f82; } 100% { -webkit-box-shadow: 0 0 3px #1fa4d1; } }
35
+ @-moz-keyframes glowing { 0% { -moz-box-shadow: 0 0 3px #1fa4d1; } 50% { -moz-box-shadow: 0 0 40px #466f82; } 100% { -moz-box-shadow: 0 0 3px #1fa4d1; } }
36
+ @-o-keyframes glowing { 0% { box-shadow: 0 0 3px #1fa4d1; } 50% { box-shadow: 0 0 40px #466f82; } 100% { box-shadow: 0 0 3px #1fa4d1; } }
37
+ @keyframes glowing { 0% { box-shadow: 0 0 3px #1fa4d1; } 50% { box-shadow: 0 0 40px #466f82; } 100% { box-shadow: 0 0 3px #1fa4d1; } }
 
 
 
 
 
 
38
 
39
  /* Dashboard styles */
40
  .ajdg-postbox-container { width: 49.5%; float: left; }
library/jquery.adrotate.clicktracker.js CHANGED
@@ -8,8 +8,8 @@ Original code: Arnan de Gans
8
 
9
  /* ------------------------------------------------------------------------------------
10
  * COPYRIGHT AND TRADEMARK NOTICE
11
- * Copyright 2008-2015 Arnan de Gans. All Rights Reserved.
12
- * ADROTATE is a trademark of Arnan de Gans.
13
 
14
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
15
  * By using this code you agree to indemnify Arnan de Gans from any
8
 
9
  /* ------------------------------------------------------------------------------------
10
  * COPYRIGHT AND TRADEMARK NOTICE
11
+ * Copyright 2008-2020 Arnan de Gans. All Rights Reserved.
12
+ * ADROTATE is a registered trademark of Arnan de Gans.
13
 
14
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
15
  * By using this code you agree to indemnify Arnan de Gans from any
library/jquery.adrotate.datepicker.js CHANGED
@@ -7,8 +7,8 @@ Original code: Arnan de Gans
7
 
8
  /* ------------------------------------------------------------------------------------
9
  * COPYRIGHT AND TRADEMARK NOTICE
10
- * Copyright 2008-2018 Arnan de Gans. All Rights Reserved.
11
- * ADROTATE is a trademark of Arnan de Gans.
12
 
13
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
14
  * By using this code you agree to indemnify Arnan de Gans from any
7
 
8
  /* ------------------------------------------------------------------------------------
9
  * COPYRIGHT AND TRADEMARK NOTICE
10
+ * Copyright 2008-2020 Arnan de Gans. All Rights Reserved.
11
+ * ADROTATE is a registered trademark of Arnan de Gans.
12
 
13
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
14
  * By using this code you agree to indemnify Arnan de Gans from any
library/jquery.adrotate.dyngroup.js CHANGED
@@ -8,8 +8,8 @@ Original code: Arnan de Gans
8
 
9
  /* ------------------------------------------------------------------------------------
10
  * COPYRIGHT AND TRADEMARK NOTICE
11
- * Copyright 2008-2019 Arnan de Gans. All Rights Reserved.
12
- * ADROTATE is a trademark of Arnan de Gans.
13
 
14
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
15
  * By using this code you agree to indemnify Arnan de Gans from any
8
 
9
  /* ------------------------------------------------------------------------------------
10
  * COPYRIGHT AND TRADEMARK NOTICE
11
+ * Copyright 2008-2020 Arnan de Gans. All Rights Reserved.
12
+ * ADROTATE is a registered trademark of Arnan de Gans.
13
 
14
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
15
  * By using this code you agree to indemnify Arnan de Gans from any
library/jquery.adrotate.tablesorter.js CHANGED
@@ -8,8 +8,8 @@ Original code: Tablesorter docs
8
 
9
  /* ------------------------------------------------------------------------------------
10
  * COPYRIGHT AND TRADEMARK NOTICE
11
- * Copyright 2008-2017 Arnan de Gans. All Rights Reserved.
12
- * ADROTATE is a trademark of Arnan de Gans.
13
 
14
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
15
  * By using this code you agree to indemnify Arnan de Gans from any
8
 
9
  /* ------------------------------------------------------------------------------------
10
  * COPYRIGHT AND TRADEMARK NOTICE
11
+ * Copyright 2008-2020 Arnan de Gans. All Rights Reserved.
12
+ * ADROTATE is a registered trademark of Arnan de Gans.
13
 
14
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
15
  * By using this code you agree to indemnify Arnan de Gans from any
library/textatcursor.js CHANGED
@@ -5,8 +5,8 @@
5
 
6
  /* ------------------------------------------------------------------------------------
7
  * COPYRIGHT AND TRADEMARK NOTICE
8
- * Copyright 2008-2017 Arnan de Gans. All Rights Reserved.
9
- * ADROTATE is a trademark of Arnan de Gans.
10
 
11
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
12
  * By using this code you agree to indemnify Arnan de Gans from any
5
 
6
  /* ------------------------------------------------------------------------------------
7
  * COPYRIGHT AND TRADEMARK NOTICE
8
+ * Copyright 2008-2020 Arnan de Gans. All Rights Reserved.
9
+ * ADROTATE is a registered trademark of Arnan de Gans.
10
 
11
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
12
  * By using this code you agree to indemnify Arnan de Gans from any
library/uploader-hook.js CHANGED
@@ -5,8 +5,8 @@
5
 
6
  /* ------------------------------------------------------------------------------------
7
  * COPYRIGHT AND TRADEMARK NOTICE
8
- * Copyright 2008-2017 Arnan de Gans. All Rights Reserved.
9
- * ADROTATE is a trademark of Arnan de Gans.
10
 
11
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
12
  * By using this code you agree to indemnify Arnan de Gans from any
5
 
6
  /* ------------------------------------------------------------------------------------
7
  * COPYRIGHT AND TRADEMARK NOTICE
8
+ * Copyright 2008-2020 Arnan de Gans. All Rights Reserved.
9
+ * ADROTATE is a registered trademark of Arnan de Gans.
10
 
11
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
12
  * By using this code you agree to indemnify Arnan de Gans from any
readme.txt CHANGED
@@ -1,34 +1,34 @@
1
- === AdRotate Banner Manager ===
2
  Contributors: adegans
3
  Donate link: https://www.arnan.me/donate.html?pk_campaign=adrotatefree&pk_keyword=readme
4
  Tags: adverts, ads, banners, advert manager, ad manager, banner manager, monetise, revenue, place banners, adsense, dfp, doubleclick, amazon, affiliate, referral
5
  Requires at least: 4.6
6
  Requires PHP: 5.6
7
- Tested up to: 5.3
8
- Stable tag: 5.6.2
9
  License: GPLv3
10
 
11
  Manage your advertisements the easy way! Monetise your website with AdRotate. AdRotate has everything you need and keeps management simple!
12
 
13
  == Description ==
14
 
15
- With AdRotate Banner Manager you can easily place advertising banners pretty much anywhere on your website while managing everything from the easy to use dashboard. No fussing with your themes code or complex functions if you don't want to.
16
 
17
  Easily create your own adverts with basic HTML and/or Javascript code or use adverts from your favorite Ad Server such as Media.net, Blind Ferret, Yahoo! Adverts, DFP, Google AdSense, Google Ad Manager, Bing Ads, Amazon Affiliates, Chitika, Doubleclick, JuiceAds and many more similar ad servers and affiliate programs.
18
 
19
- > AdRotate Banner Manager is compatible with every advert you have, all managed from your dashboard.
20
 
21
  Including Google's new Auto-Ads, Javascript adverts, HTML5, VAST and even old-school Flash adverts.
22
 
23
- AdRotate Banner Manager looks and feels similar to the WordPress dashboard you already know, this means you're already familiar with AdRotate Banner Manager before you even start using it. Familiarize yourself with the many useful features and you'll be up and running in minutes.
24
 
25
  <strong>Getting started</strong>
26
  Get your ad campaigns online in minutes. Simply install the plugin, explore the dashboard pages and new options and start creating ads.
27
- If you need a hand installing AdRotate Banner Manager or you just want someone to handle the initial setup. Take a look at these [services](https://ajdg.solutions/services/?pk_campaign=adrotatefree&pk_keyword=readme).
28
 
29
- Getting started with AdRotate Banner Manager is not complex, but a little help or advise is never bad.
30
 
31
- **Some of the AdRotate Banner Manager Features**
32
 
33
  * Works with ad servers such as; Media.net, Blind Ferret, Google, Bing, Amazon, DFP and most other referrer/ad servers
34
  * Put random, or selected, banners in pages or posts
@@ -54,44 +54,47 @@ Getting started with AdRotate Banner Manager is not complex, but a little help o
54
  * AdRotate Geo, AJdG Solutions' exclusive Geo Targeting service
55
  * Export statistics to CSV
56
 
57
- AdRotate Banner Manager and AdRotate Professional share many features. But some features are available in AdRotate Professional only. Learn more about [AdRotate Professional](https://ajdg.solutions/product-category/adrotate-pro/?pk_campaign=adrotatefree&pk_keyword=readme) on my website.
58
 
59
  == Installation ==
60
 
61
  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.
62
- Once activated, a new menu appears called "AdRotate" in the dashboard menu from which you manage everything in AdRotate Banner Manager.
63
 
64
- For more detailed instructions check out the [installation steps](https://ajdg.solutions/support/adrotate-manuals/installing-adrotate-on-your-website/?pk_campaign=adrotatefree&pk_keyword=readme) on the AdRotate Banner Manager website.
65
-
66
- == Upgrade Notice ==
67
-
68
- Fixing datepicker dates and some dashboard tweaks. Update today!
69
 
70
  == Changelog ==
71
 
72
  Be a Pro and get [AdRotate Professional](https://ajdg.solutions/product-category/adrotate-pro/?pk_campaign=adrotatefree&pk_keyword=readme)!
73
 
74
- = AdRotate Banner Manager 5.6.2 =
75
- * [reversal] Date format (dd-mm-yyyy) for date pickers
76
- * [new] Datepicker months can be numbers (01-12) or names (Jan-Dec)
 
 
77
 
78
- = AdRotate Professional 5.6.4 =
79
- * [reversal] Date format (dd-mm-yyyy) for date pickers
80
- * [new] Datepicker months can be numbers (01-12) or names (Jan-Dec)
81
- * [new] Update data is cached for 6 hours and refreshed once a day
82
- * [change] Update checker no longer relies on WordPress schedule
83
- * [change] Update checker no longer uses transient filter
84
- * [fix] WordPress sending millions of update checks for some users
85
- * [fix] PHP Error when archiving adverts with no stats
 
 
 
 
 
86
 
87
- All recent changes are available on the [AdRotate Banner Manager Changelog](https://ajdg.solutions/support/adrotate-development/?pk_campaign=adrotatefree&pk_keyword=readme).
88
 
89
  == Frequently Asked Questions ==
90
 
91
- = Can I migrate my data from another plugin to AdRotate Banner Manager? =
92
  Maybe. Take a look at [AdRotate Switch](https://ajdg.solutions/product/adrotate-switch/?pk_campaign=adrotatefree&pk_keyword=readme) and see if your current advertising plugin is compatible for migrating your data!
93
 
94
- = How do I use AdRotate Banner Manager =
95
  There are [user guides](https://ajdg.solutions/support/adrotate-manuals/?pk_campaign=adrotatefree&pk_keyword=readme) with every popular feature explained.
96
  You can also post your questions on the [forum](https://ajdg.solutions/forums/?pk_campaign=adrotatefree&pk_keyword=readme).
97
 
@@ -99,37 +102,37 @@ You can also post your questions on the [forum](https://ajdg.solutions/forums/?p
99
  If a dashboard notification misses it's layout or looks out of shape try clearing your browser cache.
100
  Some adblockers block parts of the AdRotate dashboard, check out this page to make an exception for your website in adblockers - [Whitelist your site](https://ajdg.solutions/support/adrotate-manuals/configure-adblockers-for-your-own-website/?pk_campaign=adrotatefree&pk_keyword=readme).
101
 
102
- = Is AdRotate Banner Manager compatible with Yoast SEO or other SEO plugins? =
103
- Yes, Yoast SEO, All in One SEO pack and all other SEO plugins work fine with AdRotate Banner Manager.
104
 
105
- = Is Jetpack compatible with AdRotate Banner Manager? =
106
  Yes.
107
 
108
- = Does AdRotate Banner Manager work alongside caching plugins? =
109
- AdRotate Banner Manager works best with Borlabs Cache and W3 Total Cache.
110
  Other plugins such as WP Super Cache or WP Fastest Cache may work, but are untested.
111
 
112
  = Can I use my adverts from Google AdSense? =
113
  Yes, usually you can use their code as-is.
114
  Even Googles new Auto-Ads are supported.
115
 
116
- = Does AdRotate Banner Manager support HTML5 adverts? =
117
  Yes!
118
 
119
- = Does AdRotate Banner Manager work with WooCommerce? =
120
  Yes!
121
 
122
- = Can I use bbPress alongside AdRotate Banner Manager? =
123
  Yes!
124
 
125
- = Does AdRotate Banner Manager offer click tracking? =
126
  Yes, and it counts impressions and CTR as well.
127
 
128
  = Can I place adverts on forms from Contact Form 7? =
129
  All contact form plugins should work fine.
130
 
131
- = Are emails sent by AdRotate Banner Manager sent through my installed SMTP plugin? =
132
- Yes! SMTP Mailer and similar plugins take over the wp_mail function which is what AdRotate Banner Manager uses.
133
 
134
  == Screenshots ==
135
 
1
+ === AdRotate ===
2
  Contributors: adegans
3
  Donate link: https://www.arnan.me/donate.html?pk_campaign=adrotatefree&pk_keyword=readme
4
  Tags: adverts, ads, banners, advert manager, ad manager, banner manager, monetise, revenue, place banners, adsense, dfp, doubleclick, amazon, affiliate, referral
5
  Requires at least: 4.6
6
  Requires PHP: 5.6
7
+ Tested up to: 5.4
8
+ Stable tag: 5.7
9
  License: GPLv3
10
 
11
  Manage your advertisements the easy way! Monetise your website with AdRotate. AdRotate has everything you need and keeps management simple!
12
 
13
  == Description ==
14
 
15
+ With AdRotate you can easily place advertising banners pretty much anywhere on your website while managing everything from the easy to use dashboard. No fussing with your themes code or complex functions if you don't want to.
16
 
17
  Easily create your own adverts with basic HTML and/or Javascript code or use adverts from your favorite Ad Server such as Media.net, Blind Ferret, Yahoo! Adverts, DFP, Google AdSense, Google Ad Manager, Bing Ads, Amazon Affiliates, Chitika, Doubleclick, JuiceAds and many more similar ad servers and affiliate programs.
18
 
19
+ > AdRotate is compatible with every advert you have, all managed from your dashboard.
20
 
21
  Including Google's new Auto-Ads, Javascript adverts, HTML5, VAST and even old-school Flash adverts.
22
 
23
+ AdRotate looks and feels similar to the WordPress dashboard you already know, this means you're already familiar with AdRotate before you even start using it. Familiarize yourself with the many useful features and you'll be up and running in minutes.
24
 
25
  <strong>Getting started</strong>
26
  Get your ad campaigns online in minutes. Simply install the plugin, explore the dashboard pages and new options and start creating ads.
27
+ If you need a hand installing AdRotate or you just want someone to handle the initial setup. Take a look at these [services](https://ajdg.solutions/services/?pk_campaign=adrotatefree&pk_keyword=readme).
28
 
29
+ Getting started with AdRotate is not complex, but a little help or advise is never bad.
30
 
31
+ **Some of the AdRotate Features**
32
 
33
  * Works with ad servers such as; Media.net, Blind Ferret, Google, Bing, Amazon, DFP and most other referrer/ad servers
34
  * Put random, or selected, banners in pages or posts
54
  * AdRotate Geo, AJdG Solutions' exclusive Geo Targeting service
55
  * Export statistics to CSV
56
 
57
+ AdRotate and AdRotate Professional share many features. But some features are available in AdRotate Professional only. Learn more about [AdRotate Professional](https://ajdg.solutions/product-category/adrotate-pro/?pk_campaign=adrotatefree&pk_keyword=readme) on my website.
58
 
59
  == Installation ==
60
 
61
  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.
62
+ Once activated, a new menu appears called "AdRotate" in the dashboard menu from which you manage everything in AdRotate.
63
 
64
+ For more detailed instructions check out the [installation steps](https://ajdg.solutions/support/adrotate-manuals/installing-adrotate-on-your-website/?pk_campaign=adrotatefree&pk_keyword=readme) on the AdRotate website.
 
 
 
 
65
 
66
  == Changelog ==
67
 
68
  Be a Pro and get [AdRotate Professional](https://ajdg.solutions/product-category/adrotate-pro/?pk_campaign=adrotatefree&pk_keyword=readme)!
69
 
70
+ = AdRotate 5.7 =
71
+ * [fix] Vulnerability related to groups
72
+ * [fix] Asset sometimes gets deselected when editing adverts
73
+ * [new] Tooltips for useful tags when editing adverts
74
+ * [change] Dashboard tweaks
75
 
76
+ = AdRotate Professional 5.7.1 =
77
+ * [fix] Better organised $_SESSION data for duplicate adverts
78
+ * [fix] Date selection for exports not working for some users
79
+ * [fix] Date selection for group stats not working for some users
80
+ * [fix] Date selection for advert stats not working for some users
81
+ * [fix] Better error handling for Geo Targeting
82
+ * [fix] Vulnerability related to groups
83
+ * [fix] Better error handling when checking for updates
84
+ * [change] Dashboard tweaks
85
+
86
+ All recent changes are available on the [AdRotate Changelog](https://ajdg.solutions/support/adrotate-development/?pk_campaign=adrotatefree&pk_keyword=readme).
87
+
88
+ == Upgrade Notice ==
89
 
90
+ Enjoy this latest update with the latest tweaks and fixes to further improve AdRotate for WordPress!
91
 
92
  == Frequently Asked Questions ==
93
 
94
+ = Can I migrate my data from another plugin to AdRotate? =
95
  Maybe. Take a look at [AdRotate Switch](https://ajdg.solutions/product/adrotate-switch/?pk_campaign=adrotatefree&pk_keyword=readme) and see if your current advertising plugin is compatible for migrating your data!
96
 
97
+ = How do I use AdRotate =
98
  There are [user guides](https://ajdg.solutions/support/adrotate-manuals/?pk_campaign=adrotatefree&pk_keyword=readme) with every popular feature explained.
99
  You can also post your questions on the [forum](https://ajdg.solutions/forums/?pk_campaign=adrotatefree&pk_keyword=readme).
100
 
102
  If a dashboard notification misses it's layout or looks out of shape try clearing your browser cache.
103
  Some adblockers block parts of the AdRotate dashboard, check out this page to make an exception for your website in adblockers - [Whitelist your site](https://ajdg.solutions/support/adrotate-manuals/configure-adblockers-for-your-own-website/?pk_campaign=adrotatefree&pk_keyword=readme).
104
 
105
+ = Is AdRotate compatible with Yoast SEO or other SEO plugins? =
106
+ Yes, Yoast SEO, All in One SEO pack and all other SEO plugins work fine with AdRotate.
107
 
108
+ = Is Jetpack compatible with AdRotate? =
109
  Yes.
110
 
111
+ = Does AdRotate work alongside caching plugins? =
112
+ AdRotate works best with Borlabs Cache and W3 Total Cache.
113
  Other plugins such as WP Super Cache or WP Fastest Cache may work, but are untested.
114
 
115
  = Can I use my adverts from Google AdSense? =
116
  Yes, usually you can use their code as-is.
117
  Even Googles new Auto-Ads are supported.
118
 
119
+ = Does AdRotate support HTML5 adverts? =
120
  Yes!
121
 
122
+ = Does AdRotate work with WooCommerce? =
123
  Yes!
124
 
125
+ = Can I use bbPress alongside AdRotate? =
126
  Yes!
127
 
128
+ = Does AdRotate offer click tracking? =
129
  Yes, and it counts impressions and CTR as well.
130
 
131
  = Can I place adverts on forms from Contact Form 7? =
132
  All contact form plugins should work fine.
133
 
134
+ = Are emails sent by AdRotate sent through my installed SMTP plugin? =
135
+ Yes! SMTP Mailer and similar plugins take over the wp_mail function which is what AdRotate uses.
136
 
137
  == Screenshots ==
138
 
uninstall.php ADDED
@@ -0,0 +1,91 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if(!defined('ABSPATH') OR !defined('WP_UNINSTALL_PLUGIN')) exit;
3
+ if(!current_user_can('activate_plugins')) return;
4
+
5
+ /*-------------------------------------------------------------
6
+ Name: adrotate_initiate_uninstall
7
+ Purpose: Loop through all instances and init adrotate_uninstall_setup()
8
+ Since: 5.7
9
+ -------------------------------------------------------------*/
10
+ function adrotate_initiate_uninstall() {
11
+ global $network_wide, $wpdb;
12
+
13
+ if(is_multisite()) {
14
+ $blog_ids = $wpdb->get_col("SELECT blog_id FROM $wpdb->blogs");
15
+
16
+ if($blog_ids) {
17
+ foreach($blog_ids as $blog_id) {
18
+ switch_to_blog($blog_id);
19
+ adrotate_uninstall_setup();
20
+ restore_current_blog();
21
+ }
22
+ }
23
+ } else {
24
+ adrotate_uninstall_setup();
25
+ }
26
+ }
27
+
28
+ /*-------------------------------------------------------------
29
+ Name: adrotate_uninstall_setup
30
+ Purpose: Delete all data per instance
31
+ Since: 5.7
32
+ -------------------------------------------------------------*/
33
+ function adrotate_uninstall_setup() {
34
+ global $wpdb, $wp_roles;
35
+
36
+ // Clean up capabilities from ALL users
37
+ $editable_roles = apply_filters('editable_roles', $wp_roles->roles);
38
+ foreach($editable_roles as $role => $details) {
39
+ $wp_roles->remove_cap($details['name'], "adrotate_ad_manage");
40
+ $wp_roles->remove_cap($details['name'], "adrotate_ad_delete");
41
+ $wp_roles->remove_cap($details['name'], "adrotate_group_manage");
42
+ $wp_roles->remove_cap($details['name'], "adrotate_group_delete");
43
+ }
44
+
45
+ // Clear out userroles
46
+ remove_role('adrotate_advertiser');
47
+
48
+ // Clear out wp_cron
49
+ wp_clear_scheduled_hook('adrotate_evaluate_ads');
50
+ wp_clear_scheduled_hook('adrotate_empty_trackerdata');
51
+
52
+ // Drop MySQL Tables
53
+ $wpdb->query("DROP TABLE IF EXISTS `{$wpdb->prefix}adrotate`");
54
+ $wpdb->query("DROP TABLE IF EXISTS `{$wpdb->prefix}adrotate_groups`");
55
+ $wpdb->query("DROP TABLE IF EXISTS `{$wpdb->prefix}adrotate_linkmeta`");
56
+ $wpdb->query("DROP TABLE IF EXISTS `{$wpdb->prefix}adrotate_stats`");
57
+ $wpdb->query("DROP TABLE IF EXISTS `{$wpdb->prefix}adrotate_stats_archive`");
58
+ $wpdb->query("DROP TABLE IF EXISTS `{$wpdb->prefix}adrotate_schedule`");
59
+ $wpdb->query("DROP TABLE IF EXISTS `{$wpdb->prefix}adrotate_tracker`");
60
+
61
+ // Delete Options
62
+ delete_option('adrotate_activate');
63
+ delete_option('adrotate_config');
64
+ delete_option('adrotate_crawlers');
65
+ delete_option('adrotate_version');
66
+ delete_option('adrotate_db_version');
67
+ delete_option('adrotate_db_timer');
68
+ delete_option('adrotate_debug');
69
+ delete_option('adrotate_geo_required');
70
+ delete_option('adrotate_geo_requests');
71
+ delete_option('adrotate_geo_reset');
72
+ delete_option('adrotate_group_css');
73
+ delete_option('adrotate_header_output');
74
+ delete_option('adrotate_dynamic_required');
75
+ delete_option('adrotate_hide_license');
76
+ delete_option('adrotate_hide_review');
77
+ delete_option('adrotate_hide_competition');
78
+ delete_option('adrotate_hide_getpro');
79
+ delete_option('adrotate_hide_birthday');
80
+ delete_option('adrotate_advert_status');
81
+ delete_option('adrotate_notifications');
82
+
83
+ // Cleanup user meta
84
+ $wpdb->query("DELETE FROM `{$wpdb->prefix}usermeta` WHERE `meta_key` = 'adrotate_is_advertiser';");
85
+ $wpdb->query("DELETE FROM `{$wpdb->prefix}usermeta` WHERE `meta_key` = 'adrotate_notes';");
86
+ $wpdb->query("DELETE FROM `{$wpdb->prefix}usermeta` WHERE `meta_key` = 'adrotate_permissions';");
87
+ }
88
+
89
+ // Run the uninstaller
90
+ adrotate_initiate_uninstall();
91
+ ?>