AdRotate Banner Manager - Version 3.15.5

Version Description

FREE = * [change] Updated database for AdRotate Pro 4.0 * [change] Dashboard tweaks * [fix] Notification settings not always saving correctly * [fix] AdRotate Logo path no longer using WP_CONTENT_URL * [fix] Redirect for using Maintenance functions * [i18n] New and updated translation strings

Download this release

Release Info

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

Code changes from version 3.15.4 to 3.15.5

adrotate-functions.php CHANGED
@@ -528,7 +528,7 @@ function adrotate_prepare_evaluate_ads($return = true) {
528
 
529
  $result = array('error' => $error, 'expired' => $expired, 'expiressoon' => $expiressoon, 'normal' => $normal, 'unknown' => $unknown);
530
  update_option('adrotate_advert_status', $result);
531
- if($return) adrotate_return('adrotate-settings', 405);
532
  }
533
 
534
  /*-------------------------------------------------------------
@@ -569,10 +569,8 @@ function adrotate_evaluate_ad($ad_id) {
569
  if(
570
  strlen($bannercode) < 1 // AdCode empty
571
  OR (!preg_match_all('/<(a|script|embed|iframe)[^>](.*?)>/i', $bannercode, $things) AND $ad->tracker == 'Y') // Clicktracking active but no valid link/tag present
572
- OR (preg_match("/%image%/i", $bannercode) AND $ad->image == '' AND $ad->imagetype == '') // Did use %image% but didn't select an image
573
- OR (!preg_match("/%image%/i", $bannercode) AND $ad->image != '' AND $ad->imagetype != '') // Didn't use %image% but selected an image
574
- OR (!preg_match("/%image%/i", $bannercode) AND $ad->responsive == 'Y') // Didn't use %image% but enabled Responsive
575
- OR (strlen($ad->image) > 0 AND !preg_match("/full/", $ad->image) AND $ad->responsive == 'Y') // Filename not correct for Responsive
576
  OR (($ad->image == '' AND $ad->imagetype != '') OR ($ad->image != '' AND $ad->imagetype == '')) // Image and Imagetype mismatch
577
  OR $schedules == 0 // No Schedules for this ad
578
  ) {
528
 
529
  $result = array('error' => $error, 'expired' => $expired, 'expiressoon' => $expiressoon, 'normal' => $normal, 'unknown' => $unknown);
530
  update_option('adrotate_advert_status', $result);
531
+ if($return) adrotate_return('adrotate-settings', 405, array('tab' => 'maintenance'));
532
  }
533
 
534
  /*-------------------------------------------------------------
569
  if(
570
  strlen($bannercode) < 1 // AdCode empty
571
  OR (!preg_match_all('/<(a|script|embed|iframe)[^>](.*?)>/i', $bannercode, $things) AND $ad->tracker == 'Y') // Clicktracking active but no valid link/tag present
572
+ OR (preg_match_all("/(%image%|%asset%)/i", $bannercode, $things) AND $ad->image == '' AND $ad->imagetype == '') // Did use %image% but didn't select an image
573
+ OR (!preg_match_all("/(%image%|%asset%)/i", $bannercode, $things) AND $ad->image != '' AND $ad->imagetype != '') // Didn't use %image% but selected an image
 
 
574
  OR (($ad->image == '' AND $ad->imagetype != '') OR ($ad->image != '' AND $ad->imagetype == '')) // Image and Imagetype mismatch
575
  OR $schedules == 0 // No Schedules for this ad
576
  ) {
adrotate-manage-publisher.php CHANGED
@@ -582,7 +582,9 @@ function adrotate_options_submit() {
582
  if(strlen($crawler) > 0) $new_crawlers[] = $crawler;
583
  }
584
  update_option('adrotate_crawlers', $new_crawlers);
 
585
 
 
586
  $notifications = get_option('adrotate_notifications');
587
 
588
  $notifications['notification_dashboard'] = (isset($_POST['adrotate_notification_dashboard'])) ? 'Y' : 'N';
@@ -594,16 +596,21 @@ function adrotate_options_submit() {
594
  // Turn options off. Available in AdRotate Pro only
595
  $notifications['notification_email'] = 'N';
596
  $notifications['notification_push'] = 'N';
597
- $notifications['notification_email_publisher'] = array();
598
  $notifications['notification_email_advertiser'] = array(get_option('admin_email'));
 
 
 
 
 
 
 
599
  $notifications['notification_push_geo'] = 'N';
600
  $notifications['notification_push_status'] = 'N';
601
  $notifications['notification_push_queue'] = 'N';
602
  $notifications['notification_push_approved'] = 'N';
603
- $notifications['notification_push_rejected'] = 'N';
604
- $notifications['notification_push_user'] = '';
605
- $notifications['notification_push_api'] = '';
606
-
607
  update_option('adrotate_notifications', $notifications);
608
  }
609
 
582
  if(strlen($crawler) > 0) $new_crawlers[] = $crawler;
583
  }
584
  update_option('adrotate_crawlers', $new_crawlers);
585
+ }
586
 
587
+ if($settings_tab == 'notifications') {
588
  $notifications = get_option('adrotate_notifications');
589
 
590
  $notifications['notification_dashboard'] = (isset($_POST['adrotate_notification_dashboard'])) ? 'Y' : 'N';
596
  // Turn options off. Available in AdRotate Pro only
597
  $notifications['notification_email'] = 'N';
598
  $notifications['notification_push'] = 'N';
599
+ $notifications['notification_email_publisher'] = array(get_option('admin_email'));
600
  $notifications['notification_email_advertiser'] = array(get_option('admin_email'));
601
+ $notifications['notification_mail_geo'] = 'N';
602
+ $notifications['notification_mail_status'] = 'N';
603
+ $notifications['notification_mail_queue'] = 'N';
604
+ $notifications['notification_mail_approved'] = 'N';
605
+ $notifications['notification_mail_rejected'] = 'N';
606
+ $notifications['notification_push_user'] = '';
607
+ $notifications['notification_push_api'] = '';
608
  $notifications['notification_push_geo'] = 'N';
609
  $notifications['notification_push_status'] = 'N';
610
  $notifications['notification_push_queue'] = 'N';
611
  $notifications['notification_push_approved'] = 'N';
612
+ $notifications['notification_push_rejected'] = 'N';
613
+
 
 
614
  update_option('adrotate_notifications', $notifications);
615
  }
616
 
adrotate-output.php CHANGED
@@ -406,7 +406,8 @@ function adrotate_ad_output($id, $group = 0, $name, $bannercode, $tracker, $imag
406
 
407
  $banner_output = str_replace('%title%', $name, $banner_output);
408
  $banner_output = str_replace('%random%', rand(100000,999999), $banner_output);
409
- $banner_output = str_replace('%image%', $image, $banner_output);
 
410
  $banner_output = str_replace('%id%', $id, $banner_output);
411
  $banner_output = do_shortcode($banner_output);
412
 
406
 
407
  $banner_output = str_replace('%title%', $name, $banner_output);
408
  $banner_output = str_replace('%random%', rand(100000,999999), $banner_output);
409
+ $banner_output = str_replace('%asset%', $image, $banner_output); // Replaces %image%
410
+ $banner_output = str_replace('%image%', $image, $banner_output); // Depreciated, remove in AdRotate 5.0
411
  $banner_output = str_replace('%id%', $id, $banner_output);
412
  $banner_output = do_shortcode($banner_output);
413
 
adrotate-setup.php CHANGED
@@ -11,10 +11,7 @@
11
 
12
  /*-------------------------------------------------------------
13
  Name: adrotate_activate
14
-
15
  Purpose: Set up AdRotate on your current blog
16
- Receive: -none-
17
- Return: -none-
18
  Since: 3.9.8
19
  -------------------------------------------------------------*/
20
  function adrotate_activate($network_wide) {
@@ -39,10 +36,7 @@ function adrotate_activate($network_wide) {
39
 
40
  /*-------------------------------------------------------------
41
  Name: adrotate_activate_setup
42
-
43
  Purpose: Creates database table if it doesnt exist
44
- Receive: -none-
45
- Return: -none-
46
  Since: 0.1
47
  -------------------------------------------------------------*/
48
  function adrotate_activate_setup() {
@@ -112,10 +106,7 @@ function adrotate_activate_setup() {
112
 
113
  /*-------------------------------------------------------------
114
  Name: adrotate_deactivate
115
-
116
  Purpose: Deactivate script
117
- Receive: -none-
118
- Return: -none-
119
  Since: 2.0
120
  -------------------------------------------------------------*/
121
  function adrotate_deactivate($network_wide) {
@@ -124,10 +115,7 @@ function adrotate_deactivate($network_wide) {
124
 
125
  /*-------------------------------------------------------------
126
  Name: adrotate_deactivate_setup
127
-
128
  Purpose: Deactivate script
129
- Receive: -none-
130
- Return: -none-
131
  Since: 2.0
132
  -------------------------------------------------------------*/
133
  function adrotate_deactivate_setup() {
@@ -153,10 +141,7 @@ function adrotate_deactivate_setup() {
153
 
154
  /*-------------------------------------------------------------
155
  Name: adrotate_uninstall
156
-
157
  Purpose: Initiate uninstallation
158
- Receive: -none-
159
- Return: -none-
160
  Since: 2.4.2
161
  -------------------------------------------------------------*/
162
  function adrotate_uninstall($network_wide) {
@@ -165,10 +150,7 @@ function adrotate_uninstall($network_wide) {
165
 
166
  /*-------------------------------------------------------------
167
  Name: adrotate_uninstall
168
-
169
  Purpose: Delete the entire AdRotate database and remove the options on uninstall
170
- Receive: -none-
171
- Return: -none-
172
  Since: 2.4.2
173
  -------------------------------------------------------------*/
174
  function adrotate_uninstall_setup() {
@@ -210,10 +192,7 @@ function adrotate_uninstall_setup() {
210
 
211
  /*-------------------------------------------------------------
212
  Name: adrotate_network_propagate
213
-
214
  Purpose: Check how many sites use AdRotate
215
- Receive: -none-
216
- Return: -none-
217
  Since: 3.9.9
218
  -------------------------------------------------------------*/
219
  function adrotate_network_propagate($pfunction, $network_wide) {
@@ -235,10 +214,7 @@ function adrotate_network_propagate($pfunction, $network_wide) {
235
 
236
  /*-------------------------------------------------------------
237
  Name: adrotate_check_config
238
-
239
  Purpose: Update the options
240
- Receive: -none-
241
- Return: -none-
242
  Since: 0.1
243
  -------------------------------------------------------------*/
244
  function adrotate_check_config() {
@@ -292,23 +268,9 @@ function adrotate_check_config() {
292
  unset($wpcontent);
293
 
294
  if(!isset($notifications['notification_dash']) OR ($notifications['notification_dash'] != 'Y' AND $notifications['notification_dash'] != 'N')) $notifications['notification_dash'] = 'Y';
295
- if(!isset($notifications['notification_email'])) $notifications['notification_email'] = 'N';
296
- if(!isset($notifications['notification_push'])) $notifications['notification_push'] = 'N';
297
 
298
  if(!isset($notifications['notification_dash_expired']) OR ($notifications['notification_dash_expired'] != 'Y' AND $notifications['notification_dash_expired'] != 'N')) $notifications['notification_dash_expired'] = 'Y';
299
  if(!isset($notifications['notification_dash_soon']) OR ($notifications['notification_dash_soon'] != 'Y' AND $notifications['notification_dash_soon'] != 'N')) $notifications['notification_dash_soon'] = 'Y';
300
-
301
- if(!isset($notifications['notification_push_geo']) OR ($notifications['notification_push_geo'] != 'Y' AND $notifications['notification_push_geo'] != 'N')) $notifications['notification_push_geo'] = 'N';
302
- if(!isset($notifications['notification_push_status']) OR ($notifications['notification_push_status'] != 'Y' AND $notifications['notification_push_status'] != 'N')) $notifications['notification_push_status'] = 'N';
303
- if(!isset($notifications['notification_push_queue']) OR ($notifications['notification_push_queue'] != 'Y' AND $notifications['notification_push_queue'] != 'N')) $notifications['notification_push_queue'] = 'N';
304
- if(!isset($notifications['notification_push_approved']) OR ($notifications['notification_push_approved'] != 'Y' AND $notifications['notification_push_approved'] != 'N')) $notifications['notification_push_approved'] = 'N';
305
- if(!isset($notifications['notification_push_rejected']) OR ($notifications['notification_push_rejected'] != 'Y' AND $notifications['notification_push_rejected'] != 'N')) $notifications['notification_push_rejected'] = 'N';
306
- if(!isset($notifications['notification_push_user'])) $notifications['notification_push_user'] = '';
307
- if(!isset($notifications['notification_push_api'])) $notifications['notification_push_api'] = '';
308
- if(!isset($notifications['notification_push_advertisers']) OR ($notifications['notification_push_advertisers'] != 'Y' AND $notifications['notification_push_advertisers'] != 'N')) $notifications['notification_push_advertisers'] = 'N';
309
-
310
- if(!isset($notifications['notification_email_publisher'])) $notifications['notification_email_publisher'] = array(get_option('admin_email'));
311
- if(!isset($notifications['notification_email_advertiser'])) $notifications['notification_email_advertiser'] = array(get_option('admin_email'));
312
  update_option('adrotate_notifications', $notifications);
313
 
314
  if(!isset($crawlers) OR count($crawlers) < 1) $crawlers = array("008", "bot", "crawler", "spider", "Accoona-AI-Agent", "alexa", "Arachmo", "B-l-i-t-z-B-O-T", "boitho.com-dc", "Cerberian Drtrs","Charlotte", "cosmos", "Covario IDS", "DataparkSearch","FindLinks", "Holmes", "htdig", "ia_archiver", "ichiro", "inktomi", "igdeSpyder", "L.webis", "Larbin", "LinkWalker", "lwp-trivial", "mabontland", "Mnogosearch", "mogimogi", "Morning Paper", "MVAClient", "NetResearchServer", "NewsGator", "NG-Search", "NutchCVS", "Nymesis", "oegp", "Orbiter", "Peew", "Pompos", "PostPost", "PycURL", "Qseero", "Radian6", "SBIder", "ScoutJet", "Scrubby", "SearchSight", "semanticdiscovery", "ShopWiki", "silk", "Snappy", "Sqworm", "StackRambler", "Teoma", "TinEye", "truwoGPS", "updated", "Vagabondo", "Vortex", "voyager", "VYU2", "webcollage", "Websquash.com", "wf84", "WomlpeFactory", "yacy", "Yahoo! Slurp", "Yahoo! Slurp China", "YahooSeeker", "YahooSeeker-Testing", "YandexImages", "Yeti", "yoogliFetchAgent", "Zao", "ZyBorg", "froogle","looksmart", "Firefly", "NationalDirectory", "Ask Jeeves", "TECNOSEEK", "InfoSeek", "Scooter", "appie", "WebBug", "Spade", "rabaz", "TechnoratiSnoop");
@@ -383,7 +345,7 @@ function adrotate_dummy_data() {
383
  // Demo ad 1
384
  $wpdb->insert("{$wpdb->prefix}adrotate", array('title' => 'Demo ad 468x60', 'bannercode' => '&lt;a href=\&quot;http:\/\/www.adrotateforwordpress.com\&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', 'desktop' => 'Y', 'mobile' => 'Y', 'tablet' => 'Y', 'responsive' => 'N', 'type' => 'active', 'weight' => 6, 'sortorder' => 0, 'budget' => 0, 'crate' => 0, 'irate' => 0, 'cities' => serialize(array()), 'countries' => serialize(array())));
385
  $ad_id = $wpdb->insert_id;
386
- $wpdb->insert("{$wpdb->prefix}adrotate_schedule", array('name' => 'Schedule for ad '.$ad_id, 'starttime' => $now, 'stoptime' => $in84days, 'maxclicks' => 0, 'maximpressions' => 0, 'spread' => 'N', 'dayimpressions' => 0, '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'));
387
  $schedule_id = $wpdb->insert_id;
388
  $wpdb->insert("{$wpdb->prefix}adrotate_linkmeta", array('ad' => $ad_id, 'group' => 0, 'user' => 0, 'schedule' => $schedule_id));
389
  unset($ad_id, $schedule_id);
@@ -391,7 +353,7 @@ function adrotate_dummy_data() {
391
  // Demo ad 2
392
  $wpdb->insert("{$wpdb->prefix}adrotate", array('title' => 'Demo ad 200x200', 'bannercode' => '&lt;a href=\&quot;http:\/\/www.adrotateforwordpress.com\&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', 'desktop' => 'Y', 'mobile' => 'Y', 'tablet' => 'Y', 'responsive' => 'N', 'type' => 'active', 'weight' => 6, 'sortorder' => 0, 'budget' => 0, 'crate' => 0, 'irate' => 0, 'cities' => serialize(array()), 'countries' => serialize(array())));
393
  $ad_id = $wpdb->insert_id;
394
- $wpdb->insert("{$wpdb->prefix}adrotate_schedule", array('name' => 'Schedule for ad '.$ad_id, 'starttime' => $now, 'stoptime' => $in84days, 'maxclicks' => 0, 'maximpressions' => 0, 'spread' => 'N', 'dayimpressions' => 0, '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'));
395
  $schedule_id = $wpdb->insert_id;
396
  $wpdb->insert("{$wpdb->prefix}adrotate_linkmeta", array('ad' => $ad_id, 'group' => 0, 'user' => 0, 'schedule' => $schedule_id));
397
  unset($ad_id, $schedule_id);
@@ -508,7 +470,7 @@ function adrotate_database_install() {
508
  `maxclicks` int(15) unsigned NOT NULL default '0',
509
  `maximpressions` int(15) unsigned NOT NULL default '0',
510
  `spread` char(1) NOT NULL default 'N',
511
- `dayimpressions` int(15) unsigned NOT NULL default '0',
512
  `daystarttime` char(4) NOT NULL default '0000',
513
  `daystoptime` char(4) NOT NULL default '0000',
514
  `day_mon` char(1) NOT NULL default 'Y',
@@ -669,7 +631,6 @@ function adrotate_database_upgrade() {
669
  adrotate_add_column("{$wpdb->prefix}adrotate_groups", 'adspeed', 'int(5) NOT NULL default \'6000\' AFTER `adheight`');
670
  }
671
 
672
-
673
  // Database: 36
674
  // AdRotate: 3.8.10
675
  if($adrotate_db_version['current'] < 36) {
@@ -749,7 +710,7 @@ function adrotate_database_upgrade() {
749
  // Database: 46
750
  // AdRotate: 3.10.13
751
  if($adrotate_db_version['current'] < 46) {
752
- $wpdb->query("ALTER TABLE `{$wpdb->prefix}adrotate_schedule` CHANGE `hourimpressions` `dayimpressions` int(15) NOT NULL default '0';");
753
  }
754
 
755
  // Database: 47
@@ -897,15 +858,18 @@ function adrotate_database_upgrade() {
897
  }
898
  }
899
 
 
 
 
 
 
 
900
  update_option("adrotate_db_version", array('current' => ADROTATE_DB_VERSION, 'previous' => $adrotate_db_version['current']));
901
  }
902
 
903
  /*-------------------------------------------------------------
904
  Name: adrotate_core_upgrade
905
-
906
  Purpose: Upgrades AdRotate where required
907
- Receive: -none-
908
- Return: -none-
909
  Since: 3.5
910
  -------------------------------------------------------------*/
911
  function adrotate_core_upgrade() {
@@ -1062,10 +1026,7 @@ function adrotate_core_upgrade() {
1062
 
1063
  /*-------------------------------------------------------------
1064
  Name: adrotate_optimize_database
1065
-
1066
  Purpose: Optimizes all AdRotate tables
1067
- Receive: -none-
1068
- Return: -none-
1069
  Since: 3.4
1070
  -------------------------------------------------------------*/
1071
  function adrotate_optimize_database() {
@@ -1080,18 +1041,15 @@ function adrotate_optimize_database() {
1080
  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`;");
1081
  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`;");
1082
  update_option('adrotate_db_timer', $now);
1083
- adrotate_return('adrotate-settings', 403);
1084
  } else {
1085
- adrotate_return('adrotate-settings', 504);
1086
  }
1087
  }
1088
 
1089
  /*-------------------------------------------------------------
1090
  Name: adrotate_cleanup_database
1091
-
1092
  Purpose: Clean AdRotate tables
1093
- Receive: -none-
1094
- Return: -none-
1095
  Since: 3.5
1096
  -------------------------------------------------------------*/
1097
  function adrotate_cleanup_database() {
@@ -1140,15 +1098,12 @@ function adrotate_cleanup_database() {
1140
  // Clean up stray linkmeta
1141
  $wpdb->query("DELETE FROM `{$wpdb->prefix}adrotate_linkmeta` WHERE `ad` = 0 OR `ad` = '';");
1142
 
1143
- adrotate_return('adrotate-settings', 406);
1144
  }
1145
 
1146
  /*-------------------------------------------------------------
1147
  Name: adrotate_clean_trackerdata
1148
-
1149
  Purpose: Removes old statistics
1150
- Receive: -none-
1151
- Return: -none-
1152
  Since: 2.0
1153
  -------------------------------------------------------------*/
1154
  function adrotate_clean_trackerdata() {
@@ -1163,10 +1118,7 @@ function adrotate_clean_trackerdata() {
1163
 
1164
  /*-------------------------------------------------------------
1165
  Name: adrotate_add_column
1166
-
1167
  Purpose: Check if the column exists in the table
1168
- Receive: $table_name, $column_name, $attributes
1169
- Return: Boolean
1170
  Since: 3.0.3
1171
  -------------------------------------------------------------*/
1172
  function adrotate_add_column($table_name, $column_name, $attributes) {
@@ -1187,10 +1139,7 @@ function adrotate_add_column($table_name, $column_name, $attributes) {
1187
 
1188
  /*-------------------------------------------------------------
1189
  Name: adrotate_del_column
1190
-
1191
  Purpose: Check if the column exists in the table remove if it does
1192
- Receive: $table_name, $column_name
1193
- Return: Boolean
1194
  Since: 3.8.3.3
1195
  -------------------------------------------------------------*/
1196
  function adrotate_del_column($table_name, $column_name) {
11
 
12
  /*-------------------------------------------------------------
13
  Name: adrotate_activate
 
14
  Purpose: Set up AdRotate on your current blog
 
 
15
  Since: 3.9.8
16
  -------------------------------------------------------------*/
17
  function adrotate_activate($network_wide) {
36
 
37
  /*-------------------------------------------------------------
38
  Name: adrotate_activate_setup
 
39
  Purpose: Creates database table if it doesnt exist
 
 
40
  Since: 0.1
41
  -------------------------------------------------------------*/
42
  function adrotate_activate_setup() {
106
 
107
  /*-------------------------------------------------------------
108
  Name: adrotate_deactivate
 
109
  Purpose: Deactivate script
 
 
110
  Since: 2.0
111
  -------------------------------------------------------------*/
112
  function adrotate_deactivate($network_wide) {
115
 
116
  /*-------------------------------------------------------------
117
  Name: adrotate_deactivate_setup
 
118
  Purpose: Deactivate script
 
 
119
  Since: 2.0
120
  -------------------------------------------------------------*/
121
  function adrotate_deactivate_setup() {
141
 
142
  /*-------------------------------------------------------------
143
  Name: adrotate_uninstall
 
144
  Purpose: Initiate uninstallation
 
 
145
  Since: 2.4.2
146
  -------------------------------------------------------------*/
147
  function adrotate_uninstall($network_wide) {
150
 
151
  /*-------------------------------------------------------------
152
  Name: adrotate_uninstall
 
153
  Purpose: Delete the entire AdRotate database and remove the options on uninstall
 
 
154
  Since: 2.4.2
155
  -------------------------------------------------------------*/
156
  function adrotate_uninstall_setup() {
192
 
193
  /*-------------------------------------------------------------
194
  Name: adrotate_network_propagate
 
195
  Purpose: Check how many sites use AdRotate
 
 
196
  Since: 3.9.9
197
  -------------------------------------------------------------*/
198
  function adrotate_network_propagate($pfunction, $network_wide) {
214
 
215
  /*-------------------------------------------------------------
216
  Name: adrotate_check_config
 
217
  Purpose: Update the options
 
 
218
  Since: 0.1
219
  -------------------------------------------------------------*/
220
  function adrotate_check_config() {
268
  unset($wpcontent);
269
 
270
  if(!isset($notifications['notification_dash']) OR ($notifications['notification_dash'] != 'Y' AND $notifications['notification_dash'] != 'N')) $notifications['notification_dash'] = 'Y';
 
 
271
 
272
  if(!isset($notifications['notification_dash_expired']) OR ($notifications['notification_dash_expired'] != 'Y' AND $notifications['notification_dash_expired'] != 'N')) $notifications['notification_dash_expired'] = 'Y';
273
  if(!isset($notifications['notification_dash_soon']) OR ($notifications['notification_dash_soon'] != 'Y' AND $notifications['notification_dash_soon'] != 'N')) $notifications['notification_dash_soon'] = 'Y';
 
 
 
 
 
 
 
 
 
 
 
 
274
  update_option('adrotate_notifications', $notifications);
275
 
276
  if(!isset($crawlers) OR count($crawlers) < 1) $crawlers = array("008", "bot", "crawler", "spider", "Accoona-AI-Agent", "alexa", "Arachmo", "B-l-i-t-z-B-O-T", "boitho.com-dc", "Cerberian Drtrs","Charlotte", "cosmos", "Covario IDS", "DataparkSearch","FindLinks", "Holmes", "htdig", "ia_archiver", "ichiro", "inktomi", "igdeSpyder", "L.webis", "Larbin", "LinkWalker", "lwp-trivial", "mabontland", "Mnogosearch", "mogimogi", "Morning Paper", "MVAClient", "NetResearchServer", "NewsGator", "NG-Search", "NutchCVS", "Nymesis", "oegp", "Orbiter", "Peew", "Pompos", "PostPost", "PycURL", "Qseero", "Radian6", "SBIder", "ScoutJet", "Scrubby", "SearchSight", "semanticdiscovery", "ShopWiki", "silk", "Snappy", "Sqworm", "StackRambler", "Teoma", "TinEye", "truwoGPS", "updated", "Vagabondo", "Vortex", "voyager", "VYU2", "webcollage", "Websquash.com", "wf84", "WomlpeFactory", "yacy", "Yahoo! Slurp", "Yahoo! Slurp China", "YahooSeeker", "YahooSeeker-Testing", "YandexImages", "Yeti", "yoogliFetchAgent", "Zao", "ZyBorg", "froogle","looksmart", "Firefly", "NationalDirectory", "Ask Jeeves", "TECNOSEEK", "InfoSeek", "Scooter", "appie", "WebBug", "Spade", "rabaz", "TechnoratiSnoop");
345
  // Demo ad 1
346
  $wpdb->insert("{$wpdb->prefix}adrotate", array('title' => 'Demo ad 468x60', 'bannercode' => '&lt;a href=\&quot;http:\/\/www.adrotateforwordpress.com\&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', 'desktop' => 'Y', 'mobile' => 'Y', 'tablet' => 'Y', 'responsive' => 'N', 'type' => 'active', 'weight' => 6, 'sortorder' => 0, 'budget' => 0, 'crate' => 0, 'irate' => 0, 'cities' => serialize(array()), 'countries' => serialize(array())));
347
  $ad_id = $wpdb->insert_id;
348
+ $wpdb->insert("{$wpdb->prefix}adrotate_schedule", array('name' => 'Schedule for ad '.$ad_id, 'starttime' => $now, 'stoptime' => $in84days, 'maxclicks' => 0, 'maximpressions' => 0, 'spread' => 'N', 'hourimpressions' => 0, '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'));
349
  $schedule_id = $wpdb->insert_id;
350
  $wpdb->insert("{$wpdb->prefix}adrotate_linkmeta", array('ad' => $ad_id, 'group' => 0, 'user' => 0, 'schedule' => $schedule_id));
351
  unset($ad_id, $schedule_id);
353
  // Demo ad 2
354
  $wpdb->insert("{$wpdb->prefix}adrotate", array('title' => 'Demo ad 200x200', 'bannercode' => '&lt;a href=\&quot;http:\/\/www.adrotateforwordpress.com\&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', 'desktop' => 'Y', 'mobile' => 'Y', 'tablet' => 'Y', 'responsive' => 'N', 'type' => 'active', 'weight' => 6, 'sortorder' => 0, 'budget' => 0, 'crate' => 0, 'irate' => 0, 'cities' => serialize(array()), 'countries' => serialize(array())));
355
  $ad_id = $wpdb->insert_id;
356
+ $wpdb->insert("{$wpdb->prefix}adrotate_schedule", array('name' => 'Schedule for ad '.$ad_id, 'starttime' => $now, 'stoptime' => $in84days, 'maxclicks' => 0, 'maximpressions' => 0, 'spread' => 'N', 'hourimpressions' => 0, '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'));
357
  $schedule_id = $wpdb->insert_id;
358
  $wpdb->insert("{$wpdb->prefix}adrotate_linkmeta", array('ad' => $ad_id, 'group' => 0, 'user' => 0, 'schedule' => $schedule_id));
359
  unset($ad_id, $schedule_id);
470
  `maxclicks` int(15) unsigned NOT NULL default '0',
471
  `maximpressions` int(15) unsigned NOT NULL default '0',
472
  `spread` char(1) NOT NULL default 'N',
473
+ `hourimpressions` int(15) unsigned NOT NULL default '0',
474
  `daystarttime` char(4) NOT NULL default '0000',
475
  `daystoptime` char(4) NOT NULL default '0000',
476
  `day_mon` char(1) NOT NULL default 'Y',
631
  adrotate_add_column("{$wpdb->prefix}adrotate_groups", 'adspeed', 'int(5) NOT NULL default \'6000\' AFTER `adheight`');
632
  }
633
 
 
634
  // Database: 36
635
  // AdRotate: 3.8.10
636
  if($adrotate_db_version['current'] < 36) {
710
  // Database: 46
711
  // AdRotate: 3.10.13
712
  if($adrotate_db_version['current'] < 46) {
713
+ $wpdb->query("ALTER TABLE `{$wpdb->prefix}adrotate_schedule` CHANGE `hourimpressions` `hourimpressions` int(15) NOT NULL default '0';");
714
  }
715
 
716
  // Database: 47
858
  }
859
  }
860
 
861
+ // Database: 58
862
+ // AdRotate: 3.15.5b1
863
+ if($adrotate_db_version['current'] < 58) {
864
+ $wpdb->query("ALTER TABLE `{$wpdb->prefix}adrotate_schedule` CHANGE `dayimpressions` `hourimpressions` int(15) NOT NULL default '0';");
865
+ }
866
+
867
  update_option("adrotate_db_version", array('current' => ADROTATE_DB_VERSION, 'previous' => $adrotate_db_version['current']));
868
  }
869
 
870
  /*-------------------------------------------------------------
871
  Name: adrotate_core_upgrade
 
872
  Purpose: Upgrades AdRotate where required
 
 
873
  Since: 3.5
874
  -------------------------------------------------------------*/
875
  function adrotate_core_upgrade() {
1026
 
1027
  /*-------------------------------------------------------------
1028
  Name: adrotate_optimize_database
 
1029
  Purpose: Optimizes all AdRotate tables
 
 
1030
  Since: 3.4
1031
  -------------------------------------------------------------*/
1032
  function adrotate_optimize_database() {
1041
  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`;");
1042
  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`;");
1043
  update_option('adrotate_db_timer', $now);
1044
+ adrotate_return('adrotate-settings', 403, array('tab' => 'maintenance'));
1045
  } else {
1046
+ adrotate_return('adrotate-settings', 504, array('tab' => 'maintenance'));
1047
  }
1048
  }
1049
 
1050
  /*-------------------------------------------------------------
1051
  Name: adrotate_cleanup_database
 
1052
  Purpose: Clean AdRotate tables
 
 
1053
  Since: 3.5
1054
  -------------------------------------------------------------*/
1055
  function adrotate_cleanup_database() {
1098
  // Clean up stray linkmeta
1099
  $wpdb->query("DELETE FROM `{$wpdb->prefix}adrotate_linkmeta` WHERE `ad` = 0 OR `ad` = '';");
1100
 
1101
+ adrotate_return('adrotate-settings', 406, array('tab' => 'maintenance'));
1102
  }
1103
 
1104
  /*-------------------------------------------------------------
1105
  Name: adrotate_clean_trackerdata
 
1106
  Purpose: Removes old statistics
 
 
1107
  Since: 2.0
1108
  -------------------------------------------------------------*/
1109
  function adrotate_clean_trackerdata() {
1118
 
1119
  /*-------------------------------------------------------------
1120
  Name: adrotate_add_column
 
1121
  Purpose: Check if the column exists in the table
 
 
1122
  Since: 3.0.3
1123
  -------------------------------------------------------------*/
1124
  function adrotate_add_column($table_name, $column_name, $attributes) {
1139
 
1140
  /*-------------------------------------------------------------
1141
  Name: adrotate_del_column
 
1142
  Purpose: Check if the column exists in the table remove if it does
 
 
1143
  Since: 3.8.3.3
1144
  -------------------------------------------------------------*/
1145
  function adrotate_del_column($table_name, $column_name) {
adrotate.php CHANGED
@@ -7,7 +7,7 @@ Author URI: http://ajdg.solutions/?utm_campaign=homepage&utm_medium=plugin-info&
7
  Description: The popular choice for monetizing your website with adverts while keeping things simple. Start making money today!
8
  Text Domain: adrotate
9
  Domain Path: /languages/
10
- Version: 3.15.4
11
  License: GPLv3
12
  */
13
 
@@ -22,9 +22,9 @@ License: GPLv3
22
  ------------------------------------------------------------------------------------ */
23
 
24
  /*--- AdRotate values ---------------------------------------*/
25
- define("ADROTATE_DISPLAY", '3.15.4');
26
  define("ADROTATE_VERSION", 381);
27
- define("ADROTATE_DB_VERSION", 57);
28
  /*-----------------------------------------------------------*/
29
 
30
  /*--- Load Files --------------------------------------------*/
@@ -83,7 +83,7 @@ if(is_admin()) {
83
  if(isset($_POST['adrotate_action_submit'])) add_action('init', 'adrotate_request_action');
84
  if(isset($_POST['adrotate_disabled_action_submit'])) add_action('init', 'adrotate_request_action');
85
  if(isset($_POST['adrotate_error_action_submit'])) add_action('init', 'adrotate_request_action');
86
- if(isset($_POST['adrotate_options_submit'])) add_action('init', 'adrotate_options_submit');
87
  if(isset($_POST['adrotate_request_submit'])) add_action('init', 'adrotate_mail_message');
88
  if(isset($_POST['adrotate_db_optimize_submit'])) add_action('init', 'adrotate_optimize_database');
89
  if(isset($_POST['adrotate_db_cleanup_submit'])) add_action('init', 'adrotate_cleanup_database');
@@ -92,10 +92,7 @@ if(is_admin()) {
92
 
93
  /*-------------------------------------------------------------
94
  Name: adrotate_dashboard
95
-
96
  Purpose: Add pages to admin menus
97
- Receive: -none-
98
- Return: -none-
99
  -------------------------------------------------------------*/
100
  function adrotate_dashboard() {
101
  global $adrotate_config;
@@ -122,10 +119,7 @@ function adrotate_dashboard() {
122
 
123
  /*-------------------------------------------------------------
124
  Name: adrotate_info
125
-
126
  Purpose: Admin general info page
127
- Receive: -none-
128
- Return: -none-
129
  -------------------------------------------------------------*/
130
  function adrotate_info() {
131
  global $wpdb;
@@ -144,10 +138,7 @@ function adrotate_info() {
144
 
145
  /*-------------------------------------------------------------
146
  Name: adrotate_pro
147
-
148
  Purpose: AdRotate Pro Sales
149
- Receive: -none-
150
- Return: -none-
151
  -------------------------------------------------------------*/
152
  function adrotate_pro() {
153
  ?>
@@ -165,10 +156,7 @@ function adrotate_pro() {
165
 
166
  /*-------------------------------------------------------------
167
  Name: adrotate_manage
168
-
169
  Purpose: Admin management page
170
- Receive: -none-
171
- Return: -none-
172
  -------------------------------------------------------------*/
173
  function adrotate_manage() {
174
  global $wpdb, $userdata, $adrotate_config, $adrotate_debug;
@@ -287,10 +275,7 @@ function adrotate_manage() {
287
 
288
  /*-------------------------------------------------------------
289
  Name: adrotate_manage_group
290
-
291
  Purpose: Manage groups
292
- Receive: -none-
293
- Return: -none-
294
  -------------------------------------------------------------*/
295
  function adrotate_manage_group() {
296
  global $wpdb, $adrotate_config, $adrotate_debug;
@@ -360,10 +345,7 @@ function adrotate_manage_group() {
360
 
361
  /*-------------------------------------------------------------
362
  Name: adrotate_manage_schedules
363
-
364
  Purpose: Manage schedules for ads
365
- Receive: -none-
366
- Return: -none-
367
  -------------------------------------------------------------*/
368
  function adrotate_manage_schedules() {
369
  global $wpdb;
@@ -460,10 +442,7 @@ function adrotate_manage_schedules() {
460
 
461
  /*-------------------------------------------------------------
462
  Name: adrotate_manage_images
463
-
464
  Purpose: Manage banner images for ads
465
- Receive: -none-
466
- Return: -none-
467
  -------------------------------------------------------------*/
468
  function adrotate_manage_media() {
469
  global $adrotate_config;
@@ -523,10 +502,7 @@ function adrotate_manage_media() {
523
 
524
  /*-------------------------------------------------------------
525
  Name: adrotate_options
526
-
527
  Purpose: Admin options page
528
- Receive: -none-
529
- Return: -none-
530
  -------------------------------------------------------------*/
531
  function adrotate_options() {
532
  global $wpdb, $wp_roles;
@@ -552,68 +528,55 @@ function adrotate_options() {
552
  <a href="?page=adrotate-settings&tab=maintenance" class="nav-tab <?php echo $active_tab == 'maintenance' ? 'nav-tab-active' : ''; ?>">Maintenance</a>
553
  </h2>
554
 
555
- <form name="settings" id="post" method="post" action="admin.php?page=adrotate-settings">
556
- <input type="hidden" name="adrotate_settings_tab" value="<?php echo $active_tab; ?>" />
 
557
 
558
- <?php wp_nonce_field('adrotate_email_test','adrotate_nonce'); ?>
559
- <?php wp_nonce_field('adrotate_settings','adrotate_nonce_settings'); ?>
560
 
561
- <?php
562
- $adrotate_config = get_option('adrotate_config');
563
- $adrotate_debug = get_option('adrotate_debug');
564
-
565
- if($active_tab == 'general') {
566
- $adrotate_crawlers = get_option('adrotate_crawlers');
567
-
568
- $crawlers = '';
569
- if(is_array($adrotate_crawlers)) {
570
- $crawlers = implode(', ', $adrotate_crawlers);
571
- }
572
-
573
- include("dashboard/settings/general.php");
574
- } elseif($active_tab == 'notifications') {
575
- $adrotate_notifications = get_option("adrotate_notifications");
576
- include("dashboard/settings/notifications.php");
577
- } elseif($active_tab == 'stats') {
578
- include("dashboard/settings/statistics.php");
579
- } elseif($active_tab == 'geo') {
580
- include("dashboard/settings/geotargeting.php");
581
- } elseif($active_tab == 'advertisers') {
582
- include("dashboard/settings/advertisers.php");
583
- } elseif($active_tab == 'roles') {
584
- include("dashboard/settings/roles.php");
585
- } elseif($active_tab == 'misc') {
586
- include("dashboard/settings/misc.php");
587
- } elseif($active_tab == 'maintenance') {
588
- $adrotate_version = get_option('adrotate_version');
589
- $adrotate_db_version = get_option('adrotate_db_version');
590
- $advert_status = get_option("adrotate_advert_status");
591
-
592
- $adevaluate = wp_next_scheduled('adrotate_evaluate_ads');
593
- $adschedule = wp_next_scheduled('adrotate_notification');
594
- $adtracker = wp_next_scheduled('adrotate_clean_trackerdata');
595
-
596
- include("dashboard/settings/maintenance.php");
597
- } elseif($active_tab == 'license') {
598
- $adrotate_is_networked = adrotate_is_networked();
599
- $adrotate_hide_license = get_option('adrotate_hide_license');
600
- if($adrotate_is_networked) {
601
- $adrotate_activate = get_site_option('adrotate_activate');
602
- } else {
603
- $adrotate_activate = get_option('adrotate_activate');
604
- }
605
-
606
- include("dashboard/settings/license.php");
607
  }
608
- ?>
609
 
610
- <?php if($active_tab != 'license') { ?>
611
- <p class="submit">
612
- <input type="submit" name="adrotate_options_submit" class="button-primary" value="<?php _e('Update Options', 'adrotate'); ?>" />
613
- </p>
614
- <?php } ?>
615
- </form>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
616
  </div>
617
  <?php
618
  }
619
- ?>
7
  Description: The popular choice for monetizing your website with adverts while keeping things simple. Start making money today!
8
  Text Domain: adrotate
9
  Domain Path: /languages/
10
+ Version: 3.15.5
11
  License: GPLv3
12
  */
13
 
22
  ------------------------------------------------------------------------------------ */
23
 
24
  /*--- AdRotate values ---------------------------------------*/
25
+ define("ADROTATE_DISPLAY", '3.15.5');
26
  define("ADROTATE_VERSION", 381);
27
+ define("ADROTATE_DB_VERSION", 58);
28
  /*-----------------------------------------------------------*/
29
 
30
  /*--- Load Files --------------------------------------------*/
83
  if(isset($_POST['adrotate_action_submit'])) add_action('init', 'adrotate_request_action');
84
  if(isset($_POST['adrotate_disabled_action_submit'])) add_action('init', 'adrotate_request_action');
85
  if(isset($_POST['adrotate_error_action_submit'])) add_action('init', 'adrotate_request_action');
86
+ if(isset($_POST['adrotate_save_options'])) add_action('init', 'adrotate_options_submit');
87
  if(isset($_POST['adrotate_request_submit'])) add_action('init', 'adrotate_mail_message');
88
  if(isset($_POST['adrotate_db_optimize_submit'])) add_action('init', 'adrotate_optimize_database');
89
  if(isset($_POST['adrotate_db_cleanup_submit'])) add_action('init', 'adrotate_cleanup_database');
92
 
93
  /*-------------------------------------------------------------
94
  Name: adrotate_dashboard
 
95
  Purpose: Add pages to admin menus
 
 
96
  -------------------------------------------------------------*/
97
  function adrotate_dashboard() {
98
  global $adrotate_config;
119
 
120
  /*-------------------------------------------------------------
121
  Name: adrotate_info
 
122
  Purpose: Admin general info page
 
 
123
  -------------------------------------------------------------*/
124
  function adrotate_info() {
125
  global $wpdb;
138
 
139
  /*-------------------------------------------------------------
140
  Name: adrotate_pro
 
141
  Purpose: AdRotate Pro Sales
 
 
142
  -------------------------------------------------------------*/
143
  function adrotate_pro() {
144
  ?>
156
 
157
  /*-------------------------------------------------------------
158
  Name: adrotate_manage
 
159
  Purpose: Admin management page
 
 
160
  -------------------------------------------------------------*/
161
  function adrotate_manage() {
162
  global $wpdb, $userdata, $adrotate_config, $adrotate_debug;
275
 
276
  /*-------------------------------------------------------------
277
  Name: adrotate_manage_group
 
278
  Purpose: Manage groups
 
 
279
  -------------------------------------------------------------*/
280
  function adrotate_manage_group() {
281
  global $wpdb, $adrotate_config, $adrotate_debug;
345
 
346
  /*-------------------------------------------------------------
347
  Name: adrotate_manage_schedules
 
348
  Purpose: Manage schedules for ads
 
 
349
  -------------------------------------------------------------*/
350
  function adrotate_manage_schedules() {
351
  global $wpdb;
442
 
443
  /*-------------------------------------------------------------
444
  Name: adrotate_manage_images
 
445
  Purpose: Manage banner images for ads
 
 
446
  -------------------------------------------------------------*/
447
  function adrotate_manage_media() {
448
  global $adrotate_config;
502
 
503
  /*-------------------------------------------------------------
504
  Name: adrotate_options
 
505
  Purpose: Admin options page
 
 
506
  -------------------------------------------------------------*/
507
  function adrotate_options() {
508
  global $wpdb, $wp_roles;
528
  <a href="?page=adrotate-settings&tab=maintenance" class="nav-tab <?php echo $active_tab == 'maintenance' ? 'nav-tab-active' : ''; ?>">Maintenance</a>
529
  </h2>
530
 
531
+ <?php
532
+ $adrotate_config = get_option('adrotate_config');
533
+ $adrotate_debug = get_option('adrotate_debug');
534
 
535
+ if($active_tab == 'general') {
536
+ $adrotate_crawlers = get_option('adrotate_crawlers');
537
 
538
+ $crawlers = '';
539
+ if(is_array($adrotate_crawlers)) {
540
+ $crawlers = implode(', ', $adrotate_crawlers);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
541
  }
 
542
 
543
+ include("dashboard/settings/general.php");
544
+ } elseif($active_tab == 'notifications') {
545
+ $adrotate_notifications = get_option("adrotate_notifications");
546
+ include("dashboard/settings/notifications.php");
547
+ } elseif($active_tab == 'stats') {
548
+ include("dashboard/settings/statistics.php");
549
+ } elseif($active_tab == 'geo') {
550
+ include("dashboard/settings/geotargeting.php");
551
+ } elseif($active_tab == 'advertisers') {
552
+ include("dashboard/settings/advertisers.php");
553
+ } elseif($active_tab == 'roles') {
554
+ include("dashboard/settings/roles.php");
555
+ } elseif($active_tab == 'misc') {
556
+ include("dashboard/settings/misc.php");
557
+ } elseif($active_tab == 'maintenance') {
558
+ $adrotate_version = get_option('adrotate_version');
559
+ $adrotate_db_version = get_option('adrotate_db_version');
560
+ $advert_status = get_option("adrotate_advert_status");
561
+
562
+ $adevaluate = wp_next_scheduled('adrotate_evaluate_ads');
563
+ $adschedule = wp_next_scheduled('adrotate_notification');
564
+ $adtracker = wp_next_scheduled('adrotate_clean_trackerdata');
565
+
566
+ include("dashboard/settings/maintenance.php");
567
+ } elseif($active_tab == 'license') {
568
+ $adrotate_is_networked = adrotate_is_networked();
569
+ $adrotate_hide_license = get_option('adrotate_hide_license');
570
+ if($adrotate_is_networked) {
571
+ $adrotate_activate = get_site_option('adrotate_activate');
572
+ } else {
573
+ $adrotate_activate = get_option('adrotate_activate');
574
+ }
575
+
576
+ include("dashboard/settings/license.php");
577
+ }
578
+ ?>
579
  </div>
580
  <?php
581
  }
582
+ ?>
dashboard/adrotatepro.php CHANGED
@@ -95,11 +95,11 @@
95
  <h3><?php _e('Buy AdRotate Professional', 'adrotate'); ?></h3>
96
  <div class="postbox-adrotate">
97
  <div class="inside">
98
- <a href="https://ajdg.solutions/products/adrotate-for-wordpress/?utm_campaign=compare-licenses&utm_medium=pro-page&utm_source=adrotate-free"><img src="<?php echo WP_CONTENT_URL; ?>/plugins/adrotate/images/adrotate-product.png" alt="adrotate-product" width="150" height="150" align="right" style="padding: 0 0 10px 10px;" /></a>
99
  <p><h4><?php _e('Single License', 'adrotate'); ?> (&euro; 29.00)</h4><?php _e('For one WordPress installation.', 'adrotate'); ?> <a href="https://ajdg.solutions/cart/?add-to-cart=1124&utm_campaign=buy-single&utm_medium=pro-page&utm_source=adrotate-free" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
100
  <p><h4><?php _e('Duo License', 'adrotate'); ?> (&euro; 39.00)</h4><?php _e('For two WordPress installations.', 'adrotate'); ?> <a href="https://ajdg.solutions/cart/?add-to-cart=1126&utm_campaign=buy-duo&utm_medium=pro-page&utm_source=adrotate-free" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
101
  <p><h4><?php _e('Multi License', 'adrotate'); ?> (&euro; 99.00)</h4><?php _e(' For up to five WordPress installations.', 'adrotate'); ?> <a href="https://ajdg.solutions/cart/?add-to-cart=1128&utm_campaign=buy-multi&utm_medium=pro-page&utm_source=adrotate-free" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
102
- <p><h4><?php _e('Developer License', 'adrotate'); ?> (&euro; 299.00)</h4><?php _e('Unlimited WordPress installations and/or networks.', 'adrotate'); ?> <a href="https://ajdg.solutions/cart/?add-to-cart=1130&utm_campaign=buy-developer&utm_medium=pro-page&utm_source=adrotate-free" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
103
  <p><h4><?php _e('Compare licenses', 'adrotate'); ?></h4> <?php _e("Not sure which license is for you? Compare them...", 'adrotate'); ?> <a href="https://ajdg.solutions/products/adrotate-for-wordpress/?utm_campaign=compare-licenses&utm_medium=pro-page&utm_source=adrotate-free" target="_blank"><?php _e('All Licenses', 'adrotate'); ?> &raquo;</a></p>
104
  </div>
105
  </div>
95
  <h3><?php _e('Buy AdRotate Professional', 'adrotate'); ?></h3>
96
  <div class="postbox-adrotate">
97
  <div class="inside">
98
+ <a href="https://ajdg.solutions/products/adrotate-for-wordpress/?utm_campaign=compare-licenses&utm_medium=pro-page&utm_source=adrotate-free"><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>
99
  <p><h4><?php _e('Single License', 'adrotate'); ?> (&euro; 29.00)</h4><?php _e('For one WordPress installation.', 'adrotate'); ?> <a href="https://ajdg.solutions/cart/?add-to-cart=1124&utm_campaign=buy-single&utm_medium=pro-page&utm_source=adrotate-free" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
100
  <p><h4><?php _e('Duo License', 'adrotate'); ?> (&euro; 39.00)</h4><?php _e('For two WordPress installations.', 'adrotate'); ?> <a href="https://ajdg.solutions/cart/?add-to-cart=1126&utm_campaign=buy-duo&utm_medium=pro-page&utm_source=adrotate-free" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
101
  <p><h4><?php _e('Multi License', 'adrotate'); ?> (&euro; 99.00)</h4><?php _e(' For up to five WordPress installations.', 'adrotate'); ?> <a href="https://ajdg.solutions/cart/?add-to-cart=1128&utm_campaign=buy-multi&utm_medium=pro-page&utm_source=adrotate-free" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
102
+ <p><h4><?php _e('Developer License', 'adrotate'); ?> (&euro; 249.00)</h4><?php _e('Unlimited WordPress installations and/or networks.', 'adrotate'); ?> <a href="https://ajdg.solutions/cart/?add-to-cart=1130&utm_campaign=buy-developer&utm_medium=pro-page&utm_source=adrotate-free" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
103
  <p><h4><?php _e('Compare licenses', 'adrotate'); ?></h4> <?php _e("Not sure which license is for you? Compare them...", 'adrotate'); ?> <a href="https://ajdg.solutions/products/adrotate-for-wordpress/?utm_campaign=compare-licenses&utm_medium=pro-page&utm_source=adrotate-free" target="_blank"><?php _e('All Licenses', 'adrotate'); ?> &raquo;</a></p>
104
  </div>
105
  </div>
dashboard/info.php CHANGED
@@ -52,7 +52,7 @@ $data = get_option("adrotate_advert_status");
52
  <tbody>
53
  <tr class="first">
54
  <td colspan="2">
55
- <center><?php _e('Consider writing a review if you like AdRotate. Also follow my Facebook page for updates about me and my plugins. Thank you!', 'adrotate-pro'); ?><br /><br />
56
  <center><a class="button-primary" href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=paypal%40ajdg%2enet&item_name=AdRotate%20Donation&no_shipping=0&no_note=0&tax=0&currency_code=EUR&bn=PP%2dDonationsBF&charset=UTF%2d8&amount=10" target="_blank">Donate &euro; 10 via Paypal</a> <a class="button" target="_blank" href="https://wordpress.org/support/view/plugin-reviews/adrotate?rate=5#postform">Write review on WordPress.org</a></center><br />
57
  <script>(function(d, s, id) {
58
  var js, fjs = d.getElementsByTagName(s)[0];
@@ -82,10 +82,10 @@ $data = get_option("adrotate_advert_status");
82
  <p><h4><?php _e('Single License', 'adrotate'); ?> (&euro; 29.00)</h4><?php _e('For one WordPress installation.', 'adrotate'); ?> <a href="https://ajdg.solutions/cart/?add-to-cart=1124&utm_campaign=buy-single&utm_medium=info-page&utm_source=adrotate-free" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
83
  <p><h4><?php _e('Duo License', 'adrotate'); ?> (&euro; 39.00)</h4><?php _e('For two WordPress installations.', 'adrotate'); ?> <a href="https://ajdg.solutions/cart/?add-to-cart=1126&utm_campaign=buy-duo&utm_medium=info-page&utm_source=adrotate-free" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
84
  <p><h4><?php _e('Multi License', 'adrotate'); ?> (&euro; 99.00)</h4><?php _e(' For up to five WordPress installations.', 'adrotate'); ?> <a href="https://ajdg.solutions/cart/?add-to-cart=1128&utm_campaign=buy-multi&utm_medium=info-page&utm_source=adrotate-free" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
85
- <p><h4><?php _e('Developer License', 'adrotate'); ?> (&euro; 299.00)</h4><?php _e('Unlimited WordPress installations and/or networks.', 'adrotate'); ?> <a href="https://ajdg.solutions/cart/?add-to-cart=1130&utm_campaign=buy-developer&utm_medium=info-page&utm_source=adrotate-free" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
86
  <p><h4><?php _e('Compare licenses', 'adrotate'); ?></h4> <?php _e("Not sure which license is for you? Compare them...", 'adrotate'); ?> <a href="https://ajdg.solutions/products/adrotate-for-wordpress/?utm_campaign=compare-license&utm_medium=info-page&utm_source=adrotate-free" target="_blank"><?php _e('All Licenses', 'adrotate'); ?> &raquo;</a></p>
87
  <!--
88
- <img src="<?php echo WP_CONTENT_URL; ?>/plugins/adrotate/images/adrotate-product.png" alt="adrotate-product" width="150" height="150" align="right" style="padding: 0 0 10px 10px;" />
89
  <p><h4><?php _e('Lifetime License', 'adrotate'); ?> (&euro; 59.00)</h4><?php _e('Single installation.', 'adrotate'); ?> <a href="https://ajdg.solutions/cart/?add-to-cart=1124&utm_campaign=buy-single&utm_medium=info-page&utm_source=adrotate-free" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
90
  <p><h4><?php _e('Duo License', 'adrotate'); ?> (&euro; 29.00 p/year)</h4><?php _e('Up to 2 installations.', 'adrotate'); ?> <a href="https://ajdg.solutions/cart/?add-to-cart=1126&utm_campaign=buy-duo&utm_medium=info-page&utm_source=adrotate-free" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
91
  <p><h4><?php _e('Multi License', 'adrotate'); ?> (&euro; 99.00 p/year)</h4><?php _e('Up to 10 installations.', 'adrotate'); ?> <a href="https://ajdg.solutions/cart/?add-to-cart=1128&utm_campaign=buy-multi&utm_medium=info-page&utm_source=adrotate-free" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
52
  <tbody>
53
  <tr class="first">
54
  <td colspan="2">
55
+ <center><?php _e('Consider writing a review if you like AdRotate. Also follow my Facebook page for updates about me and my plugins. Thank you!', 'adrotate'); ?><br /><br />
56
  <center><a class="button-primary" href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=paypal%40ajdg%2enet&item_name=AdRotate%20Donation&no_shipping=0&no_note=0&tax=0&currency_code=EUR&bn=PP%2dDonationsBF&charset=UTF%2d8&amount=10" target="_blank">Donate &euro; 10 via Paypal</a> <a class="button" target="_blank" href="https://wordpress.org/support/view/plugin-reviews/adrotate?rate=5#postform">Write review on WordPress.org</a></center><br />
57
  <script>(function(d, s, id) {
58
  var js, fjs = d.getElementsByTagName(s)[0];
82
  <p><h4><?php _e('Single License', 'adrotate'); ?> (&euro; 29.00)</h4><?php _e('For one WordPress installation.', 'adrotate'); ?> <a href="https://ajdg.solutions/cart/?add-to-cart=1124&utm_campaign=buy-single&utm_medium=info-page&utm_source=adrotate-free" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
83
  <p><h4><?php _e('Duo License', 'adrotate'); ?> (&euro; 39.00)</h4><?php _e('For two WordPress installations.', 'adrotate'); ?> <a href="https://ajdg.solutions/cart/?add-to-cart=1126&utm_campaign=buy-duo&utm_medium=info-page&utm_source=adrotate-free" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
84
  <p><h4><?php _e('Multi License', 'adrotate'); ?> (&euro; 99.00)</h4><?php _e(' For up to five WordPress installations.', 'adrotate'); ?> <a href="https://ajdg.solutions/cart/?add-to-cart=1128&utm_campaign=buy-multi&utm_medium=info-page&utm_source=adrotate-free" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
85
+ <p><h4><?php _e('Developer License', 'adrotate'); ?> (&euro; 249.00)</h4><?php _e('Unlimited WordPress installations and/or networks.', 'adrotate'); ?> <a href="https://ajdg.solutions/cart/?add-to-cart=1130&utm_campaign=buy-developer&utm_medium=info-page&utm_source=adrotate-free" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
86
  <p><h4><?php _e('Compare licenses', 'adrotate'); ?></h4> <?php _e("Not sure which license is for you? Compare them...", 'adrotate'); ?> <a href="https://ajdg.solutions/products/adrotate-for-wordpress/?utm_campaign=compare-license&utm_medium=info-page&utm_source=adrotate-free" target="_blank"><?php _e('All Licenses', 'adrotate'); ?> &raquo;</a></p>
87
  <!--
88
+ <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;" />
89
  <p><h4><?php _e('Lifetime License', 'adrotate'); ?> (&euro; 59.00)</h4><?php _e('Single installation.', 'adrotate'); ?> <a href="https://ajdg.solutions/cart/?add-to-cart=1124&utm_campaign=buy-single&utm_medium=info-page&utm_source=adrotate-free" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
90
  <p><h4><?php _e('Duo License', 'adrotate'); ?> (&euro; 29.00 p/year)</h4><?php _e('Up to 2 installations.', 'adrotate'); ?> <a href="https://ajdg.solutions/cart/?add-to-cart=1126&utm_campaign=buy-duo&utm_medium=info-page&utm_source=adrotate-free" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
91
  <p><h4><?php _e('Multi License', 'adrotate'); ?> (&euro; 99.00 p/year)</h4><?php _e('Up to 10 installations.', 'adrotate'); ?> <a href="https://ajdg.solutions/cart/?add-to-cart=1128&utm_campaign=buy-multi&utm_medium=info-page&utm_source=adrotate-free" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
dashboard/publisher/adverts-edit.php CHANGED
@@ -15,7 +15,7 @@ if(!$ad_edit_id) {
15
  $wpdb->insert($wpdb->prefix."adrotate", array('title' => '', 'bannercode' => '', 'thetime' => $now, 'updated' => $now, 'author' => $userdata->user_login, 'imagetype' => 'dropdown', 'image' => '', 'tracker' => 'N', 'desktop' => 'Y', 'mobile' => 'Y', 'tablet' => 'Y', 'responsive' => 'N', 'type' => 'empty', 'weight' => 6, 'sortorder' => 0, 'budget' => 0, 'crate' => 0, 'irate' => 0, 'cities' => serialize(array()), 'countries' => serialize(array())));
16
  $edit_id = $wpdb->insert_id;
17
 
18
- $wpdb->insert($wpdb->prefix.'adrotate_schedule', array('name' => 'Schedule for ad '.$edit_id, 'starttime' => $now, 'stoptime' => $in84days, 'maxclicks' => 0, 'maximpressions' => 0, 'spread' => 'N', 'dayimpressions' => 0, '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'));
19
 
20
  $schedule_id = $wpdb->insert_id;
21
  $wpdb->insert($wpdb->prefix.'adrotate_linkmeta', array('ad' => $edit_id, 'group' => 0, 'user' => 0, 'schedule' => $schedule_id));
@@ -47,21 +47,15 @@ if($ad_edit_id) {
47
  if(strlen($edit_banner->bannercode) < 1 AND $edit_banner->type != 'empty')
48
  echo '<div class="error"><p>'. __('The AdCode cannot be empty!', 'adrotate').'</p></div>';
49
 
50
- if(!preg_match("/%image%/i", $edit_banner->bannercode) AND $edit_banner->image != '')
51
- echo '<div class="error"><p>'. __('You did not use %image% in your AdCode but did select a file to use!', 'adrotate').'</p></div>';
52
-
53
- if(preg_match("/%image%/i", $edit_banner->bannercode) AND $edit_banner->image == '')
54
- echo '<div class="error"><p>'. __('You did use %image% in your AdCode but did not select a file to use!', 'adrotate').'</p></div>';
55
-
56
- if(!preg_match("/%image%/i", $edit_banner->bannercode) AND $edit_banner->responsive == 'Y')
57
- echo '<div class="error"><p>'. __('You did not use %image% in your AdCode. The responsive checkbox will be ineffective.', 'adrotate').'</p></div>';
58
 
59
  if((($edit_banner->imagetype != '' AND $edit_banner->image == '') OR ($edit_banner->imagetype == '' AND $edit_banner->image != '')))
60
  echo '<div class="error"><p>'. __('There is a problem saving the image. Please reset your image and re-save the ad!', 'adrotate').'</p></div>';
61
 
62
- if(strlen($edit_banner->image) > 0 AND !preg_match("/full/", $edit_banner->image) AND $edit_banner->responsive == 'Y')
63
- echo '<div class="error"><p>'. __('Responsive is enabled but your banner image has the wrong name.', 'adrotate').'</p></div>';
64
-
65
  if(!preg_match_all('/<(a|script|embed|iframe)[^>](.*?)>/i', stripslashes(htmlspecialchars_decode($edit_banner->bannercode, ENT_QUOTES)), $things) AND $edit_banner->tracker == 'Y')
66
  echo '<div class="error"><p>'. __("Tracking is enabled but no valid link/tag was found in the adcode!", 'adrotate').'</p></div>';
67
 
@@ -125,15 +119,15 @@ if($edit_banner->imagetype == "field") {
125
  </td>
126
  <td width="30%">
127
  <p><strong><?php _e('Basic Examples:', 'adrotate'); ?></strong></p>
128
- <p><em><a href="#" onclick="textatcursor('adrotate_bannercode','&lt;a href=&quot;http://www.adrotateforwordpress.com&quot;&gt;&lt;img src=&quot;%image%&quot; /&gt;&lt;/a&gt;');return false;">&lt;a href="http://www.adrotateforwordpress.com"&gt;&lt;img src="%image%" /&gt;&lt;/a&gt;</a></em></p>
129
  <p><em><a href="#" onclick="textatcursor('adrotate_bannercode','&lt;span class=&quot;ad-%id%&quot;&gt;&lt;a href=&quot;http://www.adrotateforwordpress.com&quot;&gt;Text Link Ad!&lt;/a&gt;&lt;/span&gt;');return false;">&lt;span class="ad-%id%"&gt;&lt;a href="http://www.adrotateforwordpress.com"&gt;Text Link Ad!&lt;/a&gt;&lt;/span&gt;</a></em></p>
130
- <p><em><a href="#" onclick="textatcursor('adrotate_bannercode','&lt;iframe src=&quot;%image%&quot; height=&quot;250&quot; frameborder=&quot;0&quot; style=&quot;border:none;&quot;&gt;&lt;/iframe&gt;');return false;">&lt;iframe src=&quot;%image%&quot; height=&quot;250&quot; frameborder=&quot;0&quot; style=&quot;border:none;&quot;&gt;&lt;/iframe&gt;</a></em></p>
131
  </td>
132
  </tr>
133
  <tr>
134
  <th valign="top"><?php _e('Useful tags', 'adrotate'); ?></th>
135
  <td colspan="2">
136
- <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 image below.', 'adrotate'); ?>" onclick="textatcursor('adrotate_bannercode','%image%');return false;">%image%</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>
137
  </td>
138
  </tr>
139
  <?php if($edit_banner->type != 'empty') { ?>
@@ -159,7 +153,7 @@ if($edit_banner->imagetype == "field") {
159
  <?php echo adrotate_folder_contents($image_dropdown); ?>
160
  </select><br />
161
  </label>
162
- <em><?php _e('Use %image% in the adcode instead of the file path.', 'adrotate'); ?> <?php _e('Use either the text field or the dropdown. If the textfield has content that field has priority.', 'adrotate'); ?></em>
163
  </td>
164
  </tr>
165
  <?php if($adrotate_config['stats'] > 0) { ?>
@@ -197,7 +191,7 @@ if($edit_banner->imagetype == "field") {
197
  <tbody>
198
  <tr>
199
  <th width="15%"><?php _e('Widget', 'adrotate'); ?></th>
200
- <td colspan="3"><?php _e('Drag the AdRotate widget to the sidebar you want it in, select "Single Ad" and enter ID', 'adrotate'); ?> "<?php echo $edit_banner->id; ?>".</td>
201
  </tr>
202
  <tr>
203
  <th width="15%"><?php _e('In a post or page', 'adrotate'); ?></th>
@@ -292,29 +286,57 @@ if($edit_banner->imagetype == "field") {
292
  <a href="admin.php?page=adrotate-ads&view=manage" class="button"><?php _e('Cancel', 'adrotate'); ?></a>
293
  </p>
294
 
295
- <h3><?php _e('Advanced', 'adrotate'); ?></h3>
296
- <p><em><?php _e('Everything below is optional.', 'adrotate'); ?></em></p>
297
  <table class="widefat" style="margin-top: .5em">
 
298
  <tbody>
299
- <tr>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
300
  <th width="15%" valign="top"><?php _e('Mobile', 'adrotate'); ?></th>
301
- <td colspan="3">
302
- <?php _e('Show on;', 'adrotate'); ?>&nbsp;&nbsp;<label for="adrotate_desktop"><input disabled type="checkbox" name="adrotate_desktop" checked="checked" /><?php _e('Computers', 'adrotate'); ?></label>&nbsp;&nbsp;<label for="adrotate_mobile"><input disabled type="checkbox" name="adrotate_mobile" checked="checked" /><?php _e('Smartphones', 'adrotate'); ?></label>&nbsp;&nbsp;<label for="adrotate_tablet"><input disabled type="checkbox" name="adrotate_tablet" checked="checked" /><?php _e('Tablets.', 'adrotate'); ?></label><br />
303
- <em><?php _e('Also enable mobile support in the group this advert goes in.', 'adrotate'); ?></em>
304
  </td>
305
- </tr>
306
- <tr>
307
- <th width="15%" valign="top"><?php _e('Responsive', 'adrotate'); ?></th>
308
- <td colspan="3">
309
- <label for="adrotate_responsive"><input tabindex="22" type="checkbox" name="adrotate_responsive" <?php if($edit_banner->responsive == 'Y') { ?>checked="checked" <?php } ?> /> <?php _e('Enable responsive support for this advert.', 'adrotate'); ?></label><br />
310
- <em><?php _e('Upload your images to the banner folder and make sure the filename is in the following format; "imagename.full.ext".', 'adrotate'); ?></em><br />
311
- <em><?php _e('For smaller size images use ".320", ".480", ".768" or ".1024" in the filename instead of ".full" for the various viewports.', 'adrotate'); ?></em><br />
312
- <em><strong><?php _e('Note:', 'adrotate'); ?></strong> <?php _e('This feature will not be developed any further. Consider switching to the Mobile feature in AdRotate Pro as seen above!', 'adrotate'); ?></em></label>
313
  </td>
314
- </tr>
315
- <tr>
 
 
 
 
 
 
316
  <th><?php _e('Sortorder', 'adrotate'); ?></th>
317
- <td colspan="3">
318
  <label for="adrotate_sortorder"><input tabindex="23" name="adrotate_sortorder" type="text" size="5" class="search-input" autocomplete="off" value="<?php echo $edit_banner->sortorder;?>" /> <em><?php _e('For administrative purposes set a sortorder.', 'adrotate'); ?> <?php _e('Leave empty or 0 to skip this. Will default to ad id.', 'adrotate'); ?></em></label>
319
  </td>
320
  </tr>
@@ -371,7 +393,7 @@ if($edit_banner->imagetype == "field") {
371
  <tbody>
372
  <tr>
373
  <th width="15%"><?php _e('Widget', 'adrotate'); ?></th>
374
- <td colspan="3"><?php _e('Drag the AdRotate widget to the sidebar you want it in, select "Single Ad" and enter ID', 'adrotate'); ?> "<?php echo $edit_banner->id; ?>".</td>
375
  </tr>
376
  <tr>
377
  <th width="15%"><?php _e('In a post or page', 'adrotate'); ?></th>
15
  $wpdb->insert($wpdb->prefix."adrotate", array('title' => '', 'bannercode' => '', 'thetime' => $now, 'updated' => $now, 'author' => $userdata->user_login, 'imagetype' => 'dropdown', 'image' => '', 'tracker' => 'N', 'desktop' => 'Y', 'mobile' => 'Y', 'tablet' => 'Y', 'responsive' => 'N', 'type' => 'empty', 'weight' => 6, 'sortorder' => 0, 'budget' => 0, 'crate' => 0, 'irate' => 0, 'cities' => serialize(array()), 'countries' => serialize(array())));
16
  $edit_id = $wpdb->insert_id;
17
 
18
+ $wpdb->insert($wpdb->prefix.'adrotate_schedule', array('name' => 'Schedule for ad '.$edit_id, 'starttime' => $now, 'stoptime' => $in84days, 'maxclicks' => 0, 'maximpressions' => 0, 'spread' => 'N', 'hourimpressions' => 0, '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'));
19
 
20
  $schedule_id = $wpdb->insert_id;
21
  $wpdb->insert($wpdb->prefix.'adrotate_linkmeta', array('ad' => $edit_id, 'group' => 0, 'user' => 0, 'schedule' => $schedule_id));
47
  if(strlen($edit_banner->bannercode) < 1 AND $edit_banner->type != 'empty')
48
  echo '<div class="error"><p>'. __('The AdCode cannot be empty!', 'adrotate').'</p></div>';
49
 
50
+ if(!preg_match("/(%image%|%asset%)/i", $edit_banner->bannercode, $things) AND $edit_banner->image != '')
51
+ echo '<div class="error"><p>'. __('You did not use %asset% (or %image%) in your AdCode but did select a file to use!', 'adrotate-pro').'</p></div>';
52
+
53
+ if(preg_match("/(%image%|%asset%)/i", $edit_banner->bannercode, $things) AND $edit_banner->image == '')
54
+ echo '<div class="error"><p>'. __('You did use %asset% (or %image%) in your AdCode but did not select a file to use!', 'adrotate-pro').'</p></div>';
 
 
 
55
 
56
  if((($edit_banner->imagetype != '' AND $edit_banner->image == '') OR ($edit_banner->imagetype == '' AND $edit_banner->image != '')))
57
  echo '<div class="error"><p>'. __('There is a problem saving the image. Please reset your image and re-save the ad!', 'adrotate').'</p></div>';
58
 
 
 
 
59
  if(!preg_match_all('/<(a|script|embed|iframe)[^>](.*?)>/i', stripslashes(htmlspecialchars_decode($edit_banner->bannercode, ENT_QUOTES)), $things) AND $edit_banner->tracker == 'Y')
60
  echo '<div class="error"><p>'. __("Tracking is enabled but no valid link/tag was found in the adcode!", 'adrotate').'</p></div>';
61
 
119
  </td>
120
  <td width="30%">
121
  <p><strong><?php _e('Basic Examples:', 'adrotate'); ?></strong></p>
122
+ <p><em><a href="#" onclick="textatcursor('adrotate_bannercode','&lt;a href=&quot;http://www.adrotateforwordpress.com&quot;&gt;&lt;img src=&quot;%asset%&quot; /&gt;&lt;/a&gt;');return false;">&lt;a href="http://www.adrotateforwordpress.com"&gt;&lt;img src="%asset%" /&gt;&lt;/a&gt;</a></em></p>
123
  <p><em><a href="#" onclick="textatcursor('adrotate_bannercode','&lt;span class=&quot;ad-%id%&quot;&gt;&lt;a href=&quot;http://www.adrotateforwordpress.com&quot;&gt;Text Link Ad!&lt;/a&gt;&lt;/span&gt;');return false;">&lt;span class="ad-%id%"&gt;&lt;a href="http://www.adrotateforwordpress.com"&gt;Text Link Ad!&lt;/a&gt;&lt;/span&gt;</a></em></p>
124
+ <p><em><a href="#" onclick="textatcursor('adrotate_bannercode','&lt;iframe src=&quot;%asset%&quot; height=&quot;250&quot; frameborder=&quot;0&quot; style=&quot;border:none;&quot;&gt;&lt;/iframe&gt;');return false;">&lt;iframe src=&quot;%asset%&quot; height=&quot;250&quot; frameborder=&quot;0&quot; style=&quot;border:none;&quot;&gt;&lt;/iframe&gt;</a></em></p>
125
  </td>
126
  </tr>
127
  <tr>
128
  <th valign="top"><?php _e('Useful tags', 'adrotate'); ?></th>
129
  <td colspan="2">
130
+ <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>
131
  </td>
132
  </tr>
133
  <?php if($edit_banner->type != 'empty') { ?>
153
  <?php echo adrotate_folder_contents($image_dropdown); ?>
154
  </select><br />
155
  </label>
156
+ <em><?php _e('Use %asset% in the adcode instead of the file path.', 'adrotate'); ?> <?php _e('Use either the text field or the dropdown. If the textfield has content that field has priority.', 'adrotate'); ?></em>
157
  </td>
158
  </tr>
159
  <?php if($adrotate_config['stats'] > 0) { ?>
191
  <tbody>
192
  <tr>
193
  <th width="15%"><?php _e('Widget', 'adrotate'); ?></th>
194
+ <td colspan="3"><?php _e('Drag the AdRotate widget to the sidebar where you want to place the advert and select the advert or the group the advert is in.', 'adrotate'); ?></td>
195
  </tr>
196
  <tr>
197
  <th width="15%"><?php _e('In a post or page', 'adrotate'); ?></th>
286
  <a href="admin.php?page=adrotate-ads&view=manage" class="button"><?php _e('Cancel', 'adrotate'); ?></a>
287
  </p>
288
 
289
+ <h2><?php _e('Advanced', 'adrotate'); ?></h2>
290
+ <p><em><?php _e('Everything below is optional.', 'adrotate'); ?> <?php _e('Available in AdRotate Pro!', 'adrotate'); ?></em></p>
291
  <table class="widefat" style="margin-top: .5em">
292
+
293
  <tbody>
294
+ <tr>
295
+ <th width="15%" valign="top"><?php _e('Weight', 'adrotate'); ?></th>
296
+ <td width="17%">
297
+ <label for="adrotate_weight">
298
+ <center><input type="radio" disabled name="adrotate_weight" value="2" /><br /><?php _e('Few impressions', 'adrotate'); ?></center>
299
+ </label>
300
+ </td>
301
+ <td width="17%">
302
+ <label for="adrotate_weight">
303
+ <center><input type="radio" disabled name="adrotate_weight" value="4" /><br /><?php _e('Less than average', 'adrotate'); ?></center>
304
+ </label>
305
+ </td>
306
+ <td width="17%">
307
+ <label for="adrotate_weight">
308
+ <center><input type="radio" disabled name="adrotate_weight" value="6" checked="1" /><br /><?php _e('Normal impressions', 'adrotate'); ?></center>
309
+ </label>
310
+ </td>
311
+ <td width="17%">
312
+ <label for="adrotate_weight">
313
+ <center><input type="radio" disabled name="adrotate_weight" value="8" /><br /><?php _e('More than average', 'adrotate'); ?></center>
314
+ </label>
315
+ </td>
316
+ <td>
317
+ <label for="adrotate_weight">
318
+ <center><input type="radio" disabled name="adrotate_weight" value="10" /><br /><?php _e('Many impressions', 'adrotate'); ?>
319
+ </label>
320
+ </td>
321
+ </tr>
322
+ <tr>
323
  <th width="15%" valign="top"><?php _e('Mobile', 'adrotate'); ?></th>
324
+ <td>
325
+ <label for="adrotate_desktop"><center><input disabled type="checkbox" name="adrotate_desktop" checked="1" /><br /><?php _e('Computers', 'adrotate'); ?></center></label>
 
326
  </td>
327
+ <td>
328
+ <label for="adrotate_mobile"><center><input disabled type="checkbox" name="adrotate_mobile" checked="1" /><br /><?php _e('Smartphones', 'adrotate'); ?></center></label>
 
 
 
 
 
 
329
  </td>
330
+ <td>
331
+ <label for="adrotate_tablet"><center><input disabled type="checkbox" name="adrotate_tablet" checked="1" /><br /><?php _e('Tablets', 'adrotate'); ?></center></label>
332
+ </td>
333
+ <td colspan="2">
334
+ <em><?php _e('Also enable mobile support in the group this advert goes in or these are ignored.', 'adrotate'); ?></em>
335
+ </td>
336
+ </tr>
337
+ <tr>
338
  <th><?php _e('Sortorder', 'adrotate'); ?></th>
339
+ <td colspan="5">
340
  <label for="adrotate_sortorder"><input tabindex="23" name="adrotate_sortorder" type="text" size="5" class="search-input" autocomplete="off" value="<?php echo $edit_banner->sortorder;?>" /> <em><?php _e('For administrative purposes set a sortorder.', 'adrotate'); ?> <?php _e('Leave empty or 0 to skip this. Will default to ad id.', 'adrotate'); ?></em></label>
341
  </td>
342
  </tr>
393
  <tbody>
394
  <tr>
395
  <th width="15%"><?php _e('Widget', 'adrotate'); ?></th>
396
+ <td colspan="3"><?php _e('Drag the AdRotate widget to the sidebar where you want to place the advert and select the advert or the group the advert is in.', 'adrotate'); ?></td>
397
  </tr>
398
  <tr>
399
  <th width="15%"><?php _e('In a post or page', 'adrotate'); ?></th>
dashboard/publisher/adverts-report.php CHANGED
@@ -53,9 +53,9 @@ if(empty($stats_graph_month['clicks'])) $stats_graph_month['clicks'] = 0;
53
  </th>
54
  </tr>
55
  <tr>
56
- <td width="33%"><div class="stats_large"><?php _e('Impressions', 'adrotate-pro'); ?><br /><div class="number_large"><?php echo $stats_graph_month['impressions']; ?></div></div></td>
57
- <td width="33%"><div class="stats_large"><?php _e('Clicks', 'adrotate-pro'); ?><br /><div class="number_large"><?php if($banner->tracker == "Y") { echo $stats_graph_month['clicks']; } else { echo '--'; } ?></div></div></td>
58
- <td width="34%"><div class="stats_large"><?php _e('CTR', 'adrotate-pro'); ?><br /><div class="number_large"><?php if($banner->tracker == "Y") { echo $ctr_graph_month.' %'; } else { echo '--'; } ?></div></div></td>
59
  </tr>
60
  </tbody>
61
 
53
  </th>
54
  </tr>
55
  <tr>
56
+ <td width="33%"><div class="stats_large"><?php _e('Impressions', 'adrotate'); ?><br /><div class="number_large"><?php echo $stats_graph_month['impressions']; ?></div></div></td>
57
+ <td width="33%"><div class="stats_large"><?php _e('Clicks', 'adrotate'); ?><br /><div class="number_large"><?php if($banner->tracker == "Y") { echo $stats_graph_month['clicks']; } else { echo '--'; } ?></div></div></td>
58
+ <td width="34%"><div class="stats_large"><?php _e('CTR', 'adrotate'); ?><br /><div class="number_large"><?php if($banner->tracker == "Y") { echo $ctr_graph_month.' %'; } else { echo '--'; } ?></div></div></td>
59
  </tr>
60
  </tbody>
61
 
dashboard/publisher/groups-edit.php CHANGED
@@ -47,10 +47,6 @@ if(!is_array($meta_array)) $meta_array = array();
47
 
48
  <table class="widefat" style="margin-top: .5em">
49
  <tbody>
50
- <tr>
51
- <th width="15%"><?php _e('ID', 'adrotate'); ?></th>
52
- <td colspan="2"><?php echo $edit_group->id; ?></td>
53
- </tr>
54
  <tr>
55
  <th width="15%"><?php _e('Name', 'adrotate'); ?></th>
56
  <td colspan="2">
47
 
48
  <table class="widefat" style="margin-top: .5em">
49
  <tbody>
 
 
 
 
50
  <tr>
51
  <th width="15%"><?php _e('Name', 'adrotate'); ?></th>
52
  <td colspan="2">
dashboard/publisher/groups-report.php CHANGED
@@ -54,9 +54,9 @@ if(empty($stats_graph_month['clicks'])) $stats_graph_month['clicks'] = 0;
54
  </th>
55
  </tr>
56
  <tr>
57
- <td width="33%"><div class="stats_large"><?php _e('Impressions', 'adrotate-pro'); ?><br /><div class="number_large"><?php echo $stats_graph_month['impressions']; ?></div></div></td>
58
- <td width="33%"><div class="stats_large"><?php _e('Clicks', 'adrotate-pro'); ?><br /><div class="number_large"><?php echo $stats_graph_month['clicks']; ?></div></div></td>
59
- <td width="34%"><div class="stats_large"><?php _e('CTR', 'adrotate-pro'); ?><br /><div class="number_large"><?php echo $ctr_graph_month; ?> %</div></div></td>
60
  </tr>
61
  </tbody>
62
 
54
  </th>
55
  </tr>
56
  <tr>
57
+ <td width="33%"><div class="stats_large"><?php _e('Impressions', 'adrotate'); ?><br /><div class="number_large"><?php echo $stats_graph_month['impressions']; ?></div></div></td>
58
+ <td width="33%"><div class="stats_large"><?php _e('Clicks', 'adrotate'); ?><br /><div class="number_large"><?php echo $stats_graph_month['clicks']; ?></div></div></td>
59
+ <td width="34%"><div class="stats_large"><?php _e('CTR', 'adrotate'); ?><br /><div class="number_large"><?php echo $ctr_graph_month; ?> %</div></div></td>
60
  </tr>
61
  </tbody>
62
 
dashboard/settings/advertisers.php CHANGED
@@ -9,32 +9,47 @@
9
  * liability that might arise from it's use.
10
  ------------------------------------------------------------------------------------ */
11
  ?>
12
- <h3><?php _e('Advertisers - Available in AdRotate Pro', 'adrotate'); ?></h3>
 
 
 
 
13
  <span class="description"><?php _e('Enable advertisers so they can review and manage their own ads.', 'adrotate'); ?></span>
14
  <table class="form-table">
15
  <tr>
16
  <th valign="top"><?php _e('Enable Advertisers', 'adrotate'); ?></th>
17
  <td>
18
- <label for="adrotate_enable_advertisers"><input type="checkbox" name="adrotate_enable_advertisers_disabled" disabled /> <?php _e('Allow adverts to be coupled to users (Advertisers).', 'adrotate'); ?></label>
19
  </td>
20
  </tr>
21
  <tr>
22
  <th valign="top"><?php _e('Edit/update adverts', 'adrotate'); ?></th>
23
  <td>
24
- <label for="adrotate_enable_editing"><input type="checkbox" name="adrotate_enable_editing_disabled" disabled /> <?php _e('Allow advertisers to add new or edit their adverts.', 'adrotate'); ?></label>
 
 
 
 
 
 
25
  </td>
26
  </tr>
27
  <tr>
28
  <th valign="top"><?php _e('Geo Targeting', 'adrotate'); ?></th>
29
  <td>
30
- <input type="checkbox" name="adrotate_enable_geo_advertisers_disabled" disabled /> <?php _e('Allow advertisers to specify where their ads will show. Geo Targeting has to be enabled, too.', 'adrotate'); ?>
31
  </td>
32
  </tr>
33
  <tr>
34
  <th valign="top"><?php _e('Advertiser role', 'adrotate'); ?></th>
35
  <td>
36
- <label for="adrotate_role"><input type="checkbox" name="adrotate_role_disabled" disabled /> <?php _e('Create a seperate user role for your advertisers.', 'adrotate'); ?></label><br />
37
  <span class="description"><?php _e('Don\'t forget to give these users access to their advertiser dashboard via the Roles tab.', 'adrotate'); ?></span>
38
  </td>
39
  </tr>
40
- </table>
 
 
 
 
 
9
  * liability that might arise from it's use.
10
  ------------------------------------------------------------------------------------ */
11
  ?>
12
+ <form name="settings" id="post" method="post" action="admin.php?page=adrotate-settings&tab=advertisers">
13
+ <?php wp_nonce_field('adrotate_settings','adrotate_nonce_settings'); ?>
14
+ <input type="hidden" name="adrotate_settings_tab" value="<?php echo $active_tab; ?>" />
15
+
16
+ <h2><?php _e('Advertisers - Available in AdRotate Pro', 'adrotate'); ?></h2>
17
  <span class="description"><?php _e('Enable advertisers so they can review and manage their own ads.', 'adrotate'); ?></span>
18
  <table class="form-table">
19
  <tr>
20
  <th valign="top"><?php _e('Enable Advertisers', 'adrotate'); ?></th>
21
  <td>
22
+ <label for="adrotate_enable_advertisers"><input type="checkbox" name="adrotate_enable_advertisers_disabled" disabled="1" /> <?php _e('Allow adverts to be coupled to users (Advertisers).', 'adrotate'); ?></label>
23
  </td>
24
  </tr>
25
  <tr>
26
  <th valign="top"><?php _e('Edit/update adverts', 'adrotate'); ?></th>
27
  <td>
28
+ <label for="adrotate_enable_editing"><input type="checkbox" name="adrotate_enable_editing_disabled" disabled="1" /> <?php _e('Allow advertisers to add new or edit their adverts.', 'adrotate'); ?></label>
29
+ </td>
30
+ </tr>
31
+ <tr>
32
+ <th valign="top"><?php _e('Mobile adverts', 'adrotate'); ?></th>
33
+ <td>
34
+ <input type="checkbox" name="adrotate_enable_mobile_advertisers_disabled" disabled="1" /> <?php _e('Allow advertisers to specify on which devices their ads will show.', 'adrotate'); ?>
35
  </td>
36
  </tr>
37
  <tr>
38
  <th valign="top"><?php _e('Geo Targeting', 'adrotate'); ?></th>
39
  <td>
40
+ <input type="checkbox" name="adrotate_enable_geo_advertisers_disabled" disabled="1" /> <?php _e('Allow advertisers to specify where their ads will show. Geo Targeting has to be enabled, too.', 'adrotate'); ?>
41
  </td>
42
  </tr>
43
  <tr>
44
  <th valign="top"><?php _e('Advertiser role', 'adrotate'); ?></th>
45
  <td>
46
+ <label for="adrotate_role"><input type="checkbox" name="adrotate_role_disabled" disabled="1" /> <?php _e('Create a seperate user role for your advertisers.', 'adrotate'); ?></label><br />
47
  <span class="description"><?php _e('Don\'t forget to give these users access to their advertiser dashboard via the Roles tab.', 'adrotate'); ?></span>
48
  </td>
49
  </tr>
50
+ </table>
51
+
52
+ <p class="submit">
53
+ <input type="submit" name="adrotate_save_options" class="button-primary" value="<?php _e('Update Options', 'adrotate'); ?>" />
54
+ </p>
55
+ </form>
dashboard/settings/general.php CHANGED
@@ -9,7 +9,12 @@
9
  * liability that might arise from it's use.
10
  ------------------------------------------------------------------------------------ */
11
  ?>
12
- <h3><?php _e('General Settings', 'adrotate'); ?></h3>
 
 
 
 
 
13
  <span class="description"><?php _e('General settings for AdRotate.', 'adrotate'); ?> <?php _e('Some options are only available in AdRotate Pro!', 'adrotate'); ?></span>
14
  <table class="form-table">
15
  <tr>
@@ -21,7 +26,7 @@
21
  <td><label for="adrotate_live_preview"><input type="checkbox" name="adrotate_live_preview" disabled checked /><?php _e('Enable this option if you have faulty adverts that overflow their designated area while creating/editing adverts.', 'adrotate'); ?></label></td>
22
  </tr>
23
  <tr>
24
- <th valign="top"><?php _e('Disable dynamic mode', 'adrotate-pro'); ?></th>
25
  <td><label for="adrotate_mobile_dynamic_mode"><input type="checkbox" name="adrotate_mobile_dynamic_mode" <?php if($adrotate_config['mobile_dynamic_mode'] == 'Y') { ?>checked="checked" <?php } ?> /><?php _e('Enable this option to disable dynamic mode in groups for mobile devices if you notice skipping or jumpy content.', 'adrotate'); ?></label></td>
26
  </tr>
27
  <tr>
@@ -47,7 +52,7 @@
47
  <tr>
48
  <th valign="top"><?php _e('Location', 'adrotate'); ?></th>
49
  <td>
50
- <label for="adrotate_banner_folder"><?php echo site_url(); ?>/<input name="adrotate_banner_folder_disabled" type="text" class="search-input" size="30" value="wp-content/banners/" disabled /> <?php _e('(Default: wp-content/banners/).', 'adrotate'); ?><br />
51
  <span class="description"><?php _e('To try and trick ad blockers you could set the folder to something crazy like:', 'adrotate'); ?> "/wp-content/<?php echo adrotate_rand(12); ?>/".<br />
52
  <?php _e("This folder will not be automatically created if it doesn't exist. AdRotate will show errors when the folder is missing.", 'adrotate'); ?></span>
53
  </td>
@@ -60,11 +65,16 @@
60
  <tr>
61
  <th valign="top"><?php _e('User-Agent Filter', 'adrotate'); ?></th>
62
  <td>
63
- <textarea name="adrotate_crawlers" cols="90" rows="15"><?php echo $crawlers; ?></textarea><br />
64
  <span class="description"><?php _e('A comma separated list of keywords. Filter out bots/crawlers/user-agents.', 'adrotate'); ?><br />
65
  <?php _e('Keep in mind that this might give false positives. The word \'fire\' also matches \'firefox\', but not vice-versa. So be careful!', 'adrotate'); ?><br />
66
  <?php _e('Only words with alphanumeric characters and [ - _ ] are allowed. All other characters are stripped out.', 'adrotate'); ?><br />
67
  <?php _e('Additionally to the list specified here, empty User-Agents are blocked as well.', 'adrotate'); ?> (<?php _e('Learn more about', 'adrotate'); ?> <a href="http://en.wikipedia.org/wiki/User_agent" title="User Agents" target="_blank"><?php _e('user-agents', 'adrotate'); ?></a>.)</span>
68
  </td>
69
  </tr>
70
- </table>
 
 
 
 
 
9
  * liability that might arise from it's use.
10
  ------------------------------------------------------------------------------------ */
11
  ?>
12
+
13
+ <form name="settings" id="post" method="post" action="admin.php?page=adrotate-settings&tab=general">
14
+ <?php wp_nonce_field('adrotate_settings','adrotate_nonce_settings'); ?>
15
+ <input type="hidden" name="adrotate_settings_tab" value="<?php echo $active_tab; ?>" />
16
+
17
+ <h2><?php _e('General Settings', 'adrotate'); ?></h2>
18
  <span class="description"><?php _e('General settings for AdRotate.', 'adrotate'); ?> <?php _e('Some options are only available in AdRotate Pro!', 'adrotate'); ?></span>
19
  <table class="form-table">
20
  <tr>
26
  <td><label for="adrotate_live_preview"><input type="checkbox" name="adrotate_live_preview" disabled checked /><?php _e('Enable this option if you have faulty adverts that overflow their designated area while creating/editing adverts.', 'adrotate'); ?></label></td>
27
  </tr>
28
  <tr>
29
+ <th valign="top"><?php _e('Disable dynamic mode', 'adrotate'); ?></th>
30
  <td><label for="adrotate_mobile_dynamic_mode"><input type="checkbox" name="adrotate_mobile_dynamic_mode" <?php if($adrotate_config['mobile_dynamic_mode'] == 'Y') { ?>checked="checked" <?php } ?> /><?php _e('Enable this option to disable dynamic mode in groups for mobile devices if you notice skipping or jumpy content.', 'adrotate'); ?></label></td>
31
  </tr>
32
  <tr>
52
  <tr>
53
  <th valign="top"><?php _e('Location', 'adrotate'); ?></th>
54
  <td>
55
+ <label for="adrotate_banner_folder"><?php echo ABSPATH; ?><input name="adrotate_banner_folder_disabled" type="text" class="search-input" size="30" value="<?php echo $adrotate_config['banner_folder']; ?>" disabled="1" /> <?php _e('(Default: wp-content/banners/).', 'adrotate'); ?><br />
56
  <span class="description"><?php _e('To try and trick ad blockers you could set the folder to something crazy like:', 'adrotate'); ?> "/wp-content/<?php echo adrotate_rand(12); ?>/".<br />
57
  <?php _e("This folder will not be automatically created if it doesn't exist. AdRotate will show errors when the folder is missing.", 'adrotate'); ?></span>
58
  </td>
65
  <tr>
66
  <th valign="top"><?php _e('User-Agent Filter', 'adrotate'); ?></th>
67
  <td>
68
+ <textarea name="adrotate_crawlers" cols="90" rows="10"><?php echo $crawlers; ?></textarea><br />
69
  <span class="description"><?php _e('A comma separated list of keywords. Filter out bots/crawlers/user-agents.', 'adrotate'); ?><br />
70
  <?php _e('Keep in mind that this might give false positives. The word \'fire\' also matches \'firefox\', but not vice-versa. So be careful!', 'adrotate'); ?><br />
71
  <?php _e('Only words with alphanumeric characters and [ - _ ] are allowed. All other characters are stripped out.', 'adrotate'); ?><br />
72
  <?php _e('Additionally to the list specified here, empty User-Agents are blocked as well.', 'adrotate'); ?> (<?php _e('Learn more about', 'adrotate'); ?> <a href="http://en.wikipedia.org/wiki/User_agent" title="User Agents" target="_blank"><?php _e('user-agents', 'adrotate'); ?></a>.)</span>
73
  </td>
74
  </tr>
75
+ </table>
76
+
77
+ <p class="submit">
78
+ <input type="submit" name="adrotate_save_options" class="button-primary" value="<?php _e('Update Options', 'adrotate'); ?>" />
79
+ </p>
80
+ </form>
dashboard/settings/geotargeting.php CHANGED
@@ -9,23 +9,36 @@
9
  * liability that might arise from it's use.
10
  ------------------------------------------------------------------------------------ */
11
  ?>
12
- <h3><?php _e('Geo Targeting - Available in AdRotate Pro', 'adrotate'); ?></h3>
 
 
 
 
 
13
  <span class="description"><?php _e('Target certain areas in the world for better advertising oppurtunities.', 'adrotate'); ?></span>
14
  <table class="form-table">
15
  <tr>
16
  <th valign="top"><?php _e('Which Geo Service', 'adrotate'); ?></th>
17
  <td>
18
  <select name="adrotate_enable_geo_disabled">
19
- <option value="0" disabled><?php _e('Disabled', 'adrotate'); ?></option>
20
- <option value="0" disabled>AdRotate Geo</option>
21
- <option value="0" disabled>MaxMind City (Recommended)</option>
22
- <option value="0" disabled>MaxMind Country</option>
 
23
  </select><br />
24
  <span class="description">
25
- <strong>MaxMind</strong> - <a href="https://www.maxmind.com/en/geoip2-precision-services?rId=ajdgnet" target="_blank">GeoIP2 Precision</a> - <?php _e('The most complete and accurate geo targeting you can get for only $20 USD per 50000 lookups.', 'adrotate'); ?> <a href="https://www.maxmind.com/en/geoip2-precision-city?rId=ajdgnet" target="_blank"><?php _e('Buy now', 'adrotate'); ?>.</a><br />
26
- <em><strong>Supports:</strong> Countries, States, State ISO codes, Cities and DMA codes.</em><br /><br />
27
- <strong>AdRotate Geo</strong> - <?php _e('Free lookups every day, uses GeoLite2 databases from MaxMind!', 'adrotate'); ?><br />
28
- <em><strong>Supports:</strong> Countries, Cities, DMA codes, States and State ISO codes.</em><br /><br />
 
 
 
 
 
 
 
29
  </span>
30
  </td>
31
  </tr>
9
  * liability that might arise from it's use.
10
  ------------------------------------------------------------------------------------ */
11
  ?>
12
+
13
+ <form name="settings" id="post" method="post" action="admin.php?page=adrotate-settings&tab=geo">
14
+ <?php wp_nonce_field('adrotate_settings','adrotate_nonce_settings'); ?>
15
+ <input type="hidden" name="adrotate_settings_tab" value="<?php echo $active_tab; ?>" />
16
+
17
+ <h2><?php _e('Geo Targeting - Available in AdRotate Pro', 'adrotate'); ?></h2>
18
  <span class="description"><?php _e('Target certain areas in the world for better advertising oppurtunities.', 'adrotate'); ?></span>
19
  <table class="form-table">
20
  <tr>
21
  <th valign="top"><?php _e('Which Geo Service', 'adrotate'); ?></th>
22
  <td>
23
  <select name="adrotate_enable_geo_disabled">
24
+ <option value="0" disabled="1"><?php _e('Disabled', 'adrotate'); ?></option>
25
+ <option value="0" disabled="1">AdRotate Geo</option>
26
+ <option value="0" disabled="1">MaxMind City (Recommended)</option>
27
+ <option value="0" disabled="1">MaxMind Country</option>
28
+ <option value="0" disabled="1">CloudFlare (<?php _e('Experimental', 'adrotate'); ?>)</option>
29
  </select><br />
30
  <span class="description">
31
+ <p><strong>AdRotate Geo</strong> - <?php _e('30000 free lookups every day, uses GeoLite2 databases from MaxMind!', 'adrotate'); ?><br />
32
+ <em><strong><?php _e('Supports:', 'adrotate'); ?></strong> ipv4/ipv6, Countries, Cities, DMA codes, States and State ISO (3166-2) codes.</em><br />
33
+ <em><strong><?php _e('Scalability:', 'adrotate'); ?></strong> <?php _e('Suitable for small to medium websites.', 'adrotate'); ?></em><br /><br />
34
+
35
+ <strong>MaxMind</strong> - <a href="https://www.maxmind.com/en/geoip2-precision-services?rId=ajdgnet" target="_blank">GeoIP2 Precision</a> - <?php _e('The most accurate geo targeting you can get for only $20 USD per 50000 lookups.', 'adrotate'); ?> <a href="https://www.maxmind.com/en/geoip2-precision-city?rId=ajdgnet" target="_blank"><?php _e('Buy now', 'adrotate'); ?>.</a><br />
36
+ <em><strong><?php _e('Supports:', 'adrotate'); ?></strong> ipv4/ipv6, Countries, States, State ISO (3166-2) codes, Cities and DMA codes.</em><br />
37
+ <em><strong><?php _e('Scalability:', 'adrotate'); ?></strong> <?php _e('Suitable for any size website as long as you have lookups.', 'adrotate'); ?></em><br /><br />
38
+
39
+ <strong>CloudFlare</strong> - <a href="https://support.cloudflare.com/hc/en-us/articles/200168236-What-does-CloudFlare-IP-Geolocation-do-" target="_blank">IP Geolocation</a> - <?php _e('Basic geolocation included in every CloudFlare account.', 'adrotate'); ?><br />
40
+ <em><strong><?php _e('Supports:', 'adrotate'); ?></strong> ipv4/ipv6, Countries.</em><br />
41
+ <em><strong><?php _e('Scalability:', 'adrotate'); ?></strong> <?php _e('Suitable for any size website.', 'adrotate'); ?></em><br /><br />
42
  </span>
43
  </td>
44
  </tr>
dashboard/settings/maintenance.php CHANGED
@@ -9,7 +9,11 @@
9
  * liability that might arise from it's use.
10
  ------------------------------------------------------------------------------------ */
11
  ?>
12
- <h3><?php _e('Maintenance', 'adrotate'); ?></h3>
 
 
 
 
13
  <span class="description"><?php _e('Use these functions when you notice your database is slow, unresponsive and sluggish.', 'adrotate'); ?></span>
14
  <table class="form-table">
15
  <tr>
@@ -55,29 +59,39 @@
55
  <h3><?php _e('Status and Versions', 'adrotate'); ?></h3>
56
  <table class="form-table">
57
  <tr>
58
- <td><?php _e('Current version:', 'adrotate'); ?> <?php echo $adrotate_version['current']; ?></td>
59
- <td><?php _e('Previous version:', 'adrotate'); ?> <?php echo $adrotate_version['previous']; ?></td>
60
- </tr>
61
- <tr>
62
- <td><?php _e('Current database version:', 'adrotate'); ?> <?php echo $adrotate_db_version['current']; ?></td>
63
- <td><?php _e('Previous database version:', 'adrotate'); ?> <?php echo $adrotate_db_version['previous']; ?></td>
64
  </tr>
65
  <tr>
66
- <td valign="top"><?php _e('Current status of adverts', 'adrotate'); ?></td>
67
- <td><?php _e('Normal', 'adrotate'); ?>: <?php echo $advert_status['normal']; ?>, <?php _e('Error', 'adrotate'); ?>: <?php echo $advert_status['error']; ?>, <?php _e('Expired', 'adrotate'); ?>: <?php echo $advert_status['expired']; ?>, <?php _e('Expires Soon', 'adrotate'); ?>: <?php echo $advert_status['expiressoon']; ?>, <?php _e('Unknown', 'adrotate'); ?>: <?php echo $advert_status['unknown']; ?>.</td>
68
- </tr>
69
- <tr>
70
- <td><?php _e('Banners/assets Folder', 'adrotate-pro'); ?></td>
71
  <td>
72
- <?php echo (is_writable(ABSPATH.'wp-content/banners/')) ? '<span style="color:#009900;">'.__('Exists and appears writable', 'adrotate-pro').'</span>' : '<span style="color:#CC2900;">'.__('Not writable or does not exist', 'adrotate-pro').'</span>'; ?>
 
 
 
 
73
  </td>
74
  </tr>
75
  <tr>
76
- <td><?php _e('Ad evaluation next run:', 'adrotate'); ?></td>
77
- <td><?php if(!$adevaluate) _e('Not scheduled!', 'adrotate'); else echo date_i18n(get_option('date_format')." H:i", $adevaluate); ?></td>
 
 
78
  </tr>
 
 
 
 
 
79
  <tr>
80
- <td><?php _e('Clean Trackerdata next run:', 'adrotate'); ?></td>
81
- <td><?php if(!$adtracker) _e('Not scheduled!', 'adrotate'); else echo date_i18n(get_option('date_format')." H:i", $adtracker); ?></td>
 
 
82
  </tr>
83
  </table>
 
 
 
 
 
9
  * liability that might arise from it's use.
10
  ------------------------------------------------------------------------------------ */
11
  ?>
12
+ <form name="settings" id="post" method="post" action="admin.php?page=adrotate-settings&tab=maintenance">
13
+ <?php wp_nonce_field('adrotate_settings','adrotate_nonce_settings'); ?>
14
+ <input type="hidden" name="adrotate_settings_tab" value="<?php echo $active_tab; ?>" />
15
+
16
+ <h2><?php _e('Maintenance', 'adrotate'); ?></h2>
17
  <span class="description"><?php _e('Use these functions when you notice your database is slow, unresponsive and sluggish.', 'adrotate'); ?></span>
18
  <table class="form-table">
19
  <tr>
59
  <h3><?php _e('Status and Versions', 'adrotate'); ?></h3>
60
  <table class="form-table">
61
  <tr>
62
+ <th valign="top"><?php _e('Current status of adverts', 'adrotate'); ?></th>
63
+ <td colspan="3"><?php _e('Normal', 'adrotate'); ?>: <?php echo $advert_status['normal']; ?>, <?php _e('Error', 'adrotate'); ?>: <?php echo $advert_status['error']; ?>, <?php _e('Expired', 'adrotate'); ?>: <?php echo $advert_status['expired']; ?>, <?php _e('Expires Soon', 'adrotate'); ?>: <?php echo $advert_status['expiressoon']; ?>, <?php _e('Unknown', 'adrotate'); ?>: <?php echo $advert_status['unknown']; ?>.</td>
 
 
 
 
64
  </tr>
65
  <tr>
66
+ <th width="15%"><?php _e('Banners/assets Folder', 'adrotate'); ?></th>
 
 
 
 
67
  <td>
68
+ <?php echo (is_writeable(ABSPATH.$adrotate_config['banner_folder'])) ? '<span style="color:#009900;">'.__('Exists and appears writable', 'adrotate-pro').'</span>' : '<span style="color:#CC2900;">'.__('Not writable or does not exist', 'adrotate-pro').'</span>'; ?>
69
+ </td>
70
+ <th width="15%"><?php _e('Reports Folder', 'adrotate'); ?></th>
71
+ <td>
72
+ <?php echo (is_writable(ABSPATH.'wp-content/reports/')) ? '<span style="color:#009900;">'.__('Exists and appears writable', 'adrotate-pro').'</span>' : '<span style="color:#CC2900;">'.__('Not writable or does not exist', 'adrotate-pro').'</span>'; ?>
73
  </td>
74
  </tr>
75
  <tr>
76
+ <th width="15%"><?php _e('Advert evaluation', 'adrotate'); ?></th>
77
+ <td><?php if(!$adevaluate) '<span style="color:#CC2900;">'._e('Not scheduled! Re-activate the plugin from the plugins page.', 'adrotate-pro').'</span>'; else echo '<span style="color:#009900;">'.date_i18n(get_option('date_format')." H:i", $adevaluate).'</span>'; ?></td>
78
+ <th width="15%"><?php _e('Trackerdata cleanup', 'adrotate'); ?></th>
79
+ <td><?php if(!$adtracker) '<span style="color:#CC2900;">'._e('Not scheduled! Re-activate the plugin from the plugins page.', 'adrotate-pro').'</span>'; else echo '<span style="color:#009900;">'.date_i18n(get_option('date_format')." H:i", $adtracker).'</span>'; ?></td>
80
  </tr>
81
+ </table>
82
+
83
+ <h2><?php _e('Internal Versions', 'adrotate'); ?></h2>
84
+ <span class="description"><?php _e('Unless you experience database issues or a warning shows below, these numbers are not really relevant for troubleshooting. Support may ask for them to verify your database status.', 'adrotate'); ?></span>
85
+ <table class="form-table">
86
  <tr>
87
+ <th width="15%" valign="top"><?php _e('AdRotate version', 'adrotate'); ?></th>
88
+ <td><?php _e('Current:', 'adrotate'); ?> <?php echo '<span style="color:#009900;">'.$adrotate_version['current'].'</span>'; ?> <?php if($adrotate_version['current'] != ADROTATE_VERSION) { echo '<span style="color:#CC2900;">'; _e('Should be:', 'adrotate'); echo ' '.ADROTATE_VERSION; echo '</span>'; } ?><br /><?php _e('Previous:', 'adrotate'); ?> <?php echo $adrotate_version['previous']; ?></td>
89
+ <th width="15%" valign="top"><?php _e('Database version', 'adrotate'); ?></th>
90
+ <td><?php _e('Current:', 'adrotate'); ?> <?php echo '<span style="color:#009900;">'.$adrotate_db_version['current'].'</span>'; ?> <?php if($adrotate_version['current'] != ADROTATE_VERSION) { echo '<span style="color:#CC2900;">'; _e('Should be:', 'adrotate'); echo ' '.ADROTATE_DB_VERSION; echo '</span>'; } ?><br /><?php _e('Previous:', 'adrotate'); ?> <?php echo $adrotate_db_version['previous']; ?></td>
91
  </tr>
92
  </table>
93
+
94
+ <p class="submit">
95
+ <input type="submit" name="adrotate_save_options" class="button-primary" value="<?php _e('Update Options', 'adrotate'); ?>" />
96
+ </p>
97
+ </form>
dashboard/settings/misc.php CHANGED
@@ -9,7 +9,11 @@
9
  * liability that might arise from it's use.
10
  ------------------------------------------------------------------------------------ */
11
  ?>
12
- <h3><?php _e('Miscellaneous', 'adrotate'); ?></h3>
 
 
 
 
13
  <table class="form-table">
14
  <tr>
15
  <th valign="top"><?php _e('Widget alignment', 'adrotate'); ?></th>
@@ -34,3 +38,8 @@
34
  <td><span class="description"><?php _e('It may take a while for the ad to start rotating. The caching plugin needs to refresh the cache. This can take up to a week if not done manually.', 'adrotate'); ?> <?php _e('Caching support only works for [shortcodes] and the AdRotate Widget. If you use a PHP Snippet you need to wrap your PHP in the exclusion code yourself.', 'adrotate'); ?></span></td>
35
  </tr>
36
  </table>
 
 
 
 
 
9
  * liability that might arise from it's use.
10
  ------------------------------------------------------------------------------------ */
11
  ?>
12
+ <form name="settings" id="post" method="post" action="admin.php?page=adrotate-settings&tab=misc">
13
+ <?php wp_nonce_field('adrotate_settings','adrotate_nonce_settings'); ?>
14
+ <input type="hidden" name="adrotate_settings_tab" value="<?php echo $active_tab; ?>" />
15
+
16
+ <h2><?php _e('Miscellaneous', 'adrotate'); ?></h2>
17
  <table class="form-table">
18
  <tr>
19
  <th valign="top"><?php _e('Widget alignment', 'adrotate'); ?></th>
38
  <td><span class="description"><?php _e('It may take a while for the ad to start rotating. The caching plugin needs to refresh the cache. This can take up to a week if not done manually.', 'adrotate'); ?> <?php _e('Caching support only works for [shortcodes] and the AdRotate Widget. If you use a PHP Snippet you need to wrap your PHP in the exclusion code yourself.', 'adrotate'); ?></span></td>
39
  </tr>
40
  </table>
41
+
42
+ <p class="submit">
43
+ <input type="submit" name="adrotate_save_options" class="button-primary" value="<?php _e('Update Options', 'adrotate'); ?>" />
44
+ </p>
45
+ </form>
dashboard/settings/notifications.php CHANGED
@@ -9,13 +9,19 @@
9
  * liability that might arise from it's use.
10
  ------------------------------------------------------------------------------------ */
11
  ?>
12
- <h3><?php _e('Notifications', 'adrotate'); ?></h3>
 
 
 
 
 
 
13
  <span class="description"><?php _e('Set up who gets notifications if ads need your attention.', 'adrotate'); ?></span>
14
  <table class="form-table">
15
  <tr>
16
- <th valign="top"><?php _e('How to notify', 'adrotate-pro'); ?></th>
17
  <td>
18
- <input type="checkbox" name="adrotate_notification_dash" <?php if($adrotate_notifications['notification_dash'] == 'Y') { ?>checked="checked" <?php } ?> /> <?php _e('Dashboard banner.', 'adrotate-pro'); ?><br />
19
  <input type="checkbox" name="adrotate_notification_email_disabled" disabled /> <?php _e('Email message.', 'adrotate'); ?><br />
20
  <input type="checkbox" name="adrotate_notification_push_disabled" disabled /> <?php _e('Push notifications to your smartphone.', 'adrotate'); ?><br />
21
  <span class="description"><?php _e('Push notifications are delivered through Pushover, a notification service for Android and iOS', 'adrotate'); ?><br /><?php _e('The Pushover App is a one time purchase for either Android and/or iOS. More information can be found on the pushover website;', 'adrotate'); ?> <a href="http://www.pushover.net" target="_blank">pushover.net</a>.</span>
@@ -24,67 +30,82 @@
24
  <tr>
25
  <th scope="row" valign="top"><?php _e('Test notification', 'adrotate'); ?></th>
26
  <td>
27
- <input type="submit" name="adrotate_notification_test_submit_disabled" class="button-secondary" value="<?php _e('Test', 'adrotate-pro'); ?>" disabled /> <?php _e('Send a test notification to enabled methods. Before you test, save the options first!', 'adrotate-pro'); ?>
28
  </td>
29
  </tr>
30
  </table>
31
 
32
- <h3><?php _e('Dashboard', 'adrotate-pro'); ?></h3>
33
- <span class="description"><?php _e('These go in a dashboard banner visible to all users with access to AdRotate on every WordPress dashboard page.', 'adrotate-pro'); ?></span>
34
  <table class="form-table">
35
  <tr>
36
- <th valign="top"><?php _e('What', 'adrotate-pro'); ?></th>
37
  <td>
38
- <input type="checkbox" name="adrotate_notification_dash_expired" <?php if($adrotate_notifications['notification_dash_expired'] == 'Y') { ?>checked="checked" <?php } ?> /> <?php _e('Expired adverts.', 'adrotate-pro'); ?><br />
39
- <input type="checkbox" name="adrotate_notification_dash_soon" <?php if($adrotate_notifications['notification_dash_soon'] == 'Y') { ?>checked="checked" <?php } ?> /> <?php _e('Almost expired adverts.', 'adrotate-pro'); ?>
40
  </td>
41
  </tr>
42
  </table>
43
 
44
- <h3><?php _e('Email', 'adrotate'); ?> - <?php _e('Available in AdRotate Pro', 'adrotate'); ?></h3>
45
- <span class="description"><?php _e('Set up who gets notification emails.', 'adrotate'); ?></span>
46
  <table class="form-table">
 
 
 
 
 
 
 
 
 
 
 
47
  <tr>
48
  <th valign="top"><?php _e('Publishers', 'adrotate'); ?></th>
49
  <td>
50
- <textarea name="adrotate_notification_email_publisher" cols="50" rows="2" disabled><?php echo get_option('admin_email'); ?></textarea><br />
51
- <span class="description"><?php _e('A comma separated list of email addresses. Maximum of 5 addresses. Keep this list to a minimum!', 'adrotate'); ?><br />
52
- <?php _e('Messages are sent once every 24 hours when needed. If this field is empty no email notifications will be send.', 'adrotate'); ?></span>
53
  </td>
54
  </tr>
55
  <tr>
56
  <th valign="top"><?php _e('Advertisers', 'adrotate'); ?></th>
57
  <td>
58
- <textarea name="adrotate_notification_email_advertiser" cols="50" rows="2" disabled><?php echo get_option('admin_email'); ?></textarea><br />
59
- <span class="description"><?php _e('Who gets email from advertisers. Maximum of 2 addresses. Comma seperated. This field may not be empty!', 'adrotate'); ?></span>
60
  </td>
61
  </tr>
62
  </table>
63
 
64
- <h3><?php _e('Push', 'adrotate'); ?> - <?php _e('Available in AdRotate Pro', 'adrotate'); ?></h3>
65
  <span class="description"><?php _e('Receive information about what is happening with your AdRotate setup on your smartphone via Pushover.', 'adrotate'); ?></span>
66
  <table class="form-table">
67
  <tr>
68
  <th valign="top"><?php _e('What', 'adrotate'); ?></th>
69
  <td>
70
- <input type="checkbox" name="adrotate_notification_push_geo_disabled" disabled /> <?php _e('When you are running out of Geo Targeting Lookups.', 'adrotate'); ?><br /><br />
71
- <input type="checkbox" name="adrotate_notification_push_status_disabled" disabled /> <?php _e('Daily digest of any advert status other than normal.', 'adrotate'); ?><br />
72
- <input type="checkbox" name="adrotate_notification_push_queue_disabled" disabled /> <?php _e('Any advertiser saving an advert in your moderation queue.', 'adrotate'); ?><br />
73
- <input type="checkbox" name="adrotate_notification_push_approved_disabled" disabled /> <?php _e('A moderator approved an advert from the moderation queue.', 'adrotate'); ?><br />
74
- <input type="checkbox" name="adrotate_notification_push_rejected_disabled" disabled /> <?php _e('A moderator rejected an advert from the moderation queue.', 'adrotate'); ?><br /><span class="description"><?php _e('If you have a lot of activity with many advertisers adding/changing adverts you may get a lot of messages!', 'adrotate'); ?></span>
75
 
76
  </td>
77
  </tr>
78
  <tr>
79
  <th valign="top"><?php _e('User Key', 'adrotate'); ?></th>
80
  <td>
81
- <label for="adrotate_notification_push_user_disabled"><input name="adrotate_notification_push_user_disabled" type="text" class="search-input" size="50" value="" disabled /> <?php _e('Get your user token', 'adrotate'); ?> <a href="https://pushover.net" target="_blank"><?php _e('here', 'adrotate'); ?></a>.</label>
82
  </td>
83
  </tr>
84
  <tr>
85
  <th valign="top"><?php _e('Api Token', 'adrotate'); ?></th>
86
  <td>
87
- <label for="adrotate_notification_push_api_disabled"><input name="adrotate_notification_push_api_disabled" type="text" class="search-input" size="50" value="" disabled /> <?php _e('Create your', 'adrotate'); ?> <a href="https://pushover.net/apps/build" target="_blank"><?php _e('App', 'adrotate'); ?></a> <?php _e('and get your API token', 'adrotate'); ?> <a href="https://pushover.net/apps" target="_blank"><?php _e('here', 'adrotate'); ?></a>.</label>
88
  </td>
89
  </tr>
90
- </table>
 
 
 
 
 
9
  * liability that might arise from it's use.
10
  ------------------------------------------------------------------------------------ */
11
  ?>
12
+
13
+ <form name="settings" id="post" method="post" action="admin.php?page=adrotate-settings&tab=notifications">
14
+ <?php wp_nonce_field('adrotate_settings','adrotate_nonce_settings'); ?>
15
+ <?php wp_nonce_field('adrotate_email_test','adrotate_nonce'); ?>
16
+ <input type="hidden" name="adrotate_settings_tab" value="<?php echo $active_tab; ?>" />
17
+
18
+ <h2><?php _e('Notifications', 'adrotate'); ?></h2>
19
  <span class="description"><?php _e('Set up who gets notifications if ads need your attention.', 'adrotate'); ?></span>
20
  <table class="form-table">
21
  <tr>
22
+ <th valign="top"><?php _e('How to notify', 'adrotate'); ?></th>
23
  <td>
24
+ <input type="checkbox" name="adrotate_notification_dash" <?php if($adrotate_notifications['notification_dash'] == 'Y') { ?>checked="checked" <?php } ?> /> <?php _e('Dashboard banner.', 'adrotate'); ?><br />
25
  <input type="checkbox" name="adrotate_notification_email_disabled" disabled /> <?php _e('Email message.', 'adrotate'); ?><br />
26
  <input type="checkbox" name="adrotate_notification_push_disabled" disabled /> <?php _e('Push notifications to your smartphone.', 'adrotate'); ?><br />
27
  <span class="description"><?php _e('Push notifications are delivered through Pushover, a notification service for Android and iOS', 'adrotate'); ?><br /><?php _e('The Pushover App is a one time purchase for either Android and/or iOS. More information can be found on the pushover website;', 'adrotate'); ?> <a href="http://www.pushover.net" target="_blank">pushover.net</a>.</span>
30
  <tr>
31
  <th scope="row" valign="top"><?php _e('Test notification', 'adrotate'); ?></th>
32
  <td>
33
+ <input type="submit" name="adrotate_notification_test_submit_disabled" class="button-secondary" value="<?php _e('Test', 'adrotate'); ?>" disabled /> <?php _e('Send a test notification to enabled methods. Before you test, save the options first!', 'adrotate'); ?>
34
  </td>
35
  </tr>
36
  </table>
37
 
38
+ <h3><?php _e('Dashboard Banner', 'adrotate'); ?></h3>
39
+ <span class="description"><?php _e('These go in a dashboard banner visible to all users with access to AdRotate on every WordPress dashboard page.', 'adrotate'); ?></span>
40
  <table class="form-table">
41
  <tr>
42
+ <th valign="top"><?php _e('What', 'adrotate'); ?></th>
43
  <td>
44
+ <input type="checkbox" name="adrotate_notification_dash_expired" <?php if($adrotate_notifications['notification_dash_expired'] == 'Y') { ?>checked="checked" <?php } ?> /> <?php _e('Expired adverts.', 'adrotate'); ?><br />
45
+ <input type="checkbox" name="adrotate_notification_dash_soon" <?php if($adrotate_notifications['notification_dash_soon'] == 'Y') { ?>checked="checked" <?php } ?> /> <?php _e('Almost expired adverts.', 'adrotate'); ?>
46
  </td>
47
  </tr>
48
  </table>
49
 
50
+ <h3><?php _e('Email Message', 'adrotate'); ?> - <?php _e('Available in AdRotate Pro', 'adrotate'); ?></h3>
51
+ <span class="description"><?php _e('Receive email notifications about what is happening with your AdRotate setup.', 'adrotate'); ?></span>
52
  <table class="form-table">
53
+ <tr>
54
+ <th valign="top"><?php _e('What', 'adrotate'); ?></th>
55
+ <td>
56
+ <input type="checkbox" name="adrotate_notification_mail_status" disabled="1" /> <?php _e('Daily digest of any advert status other than normal.', 'adrotate'); ?><br />
57
+ <input type="checkbox" name="adrotate_notification_mail_geo" disabled="1" /> <?php _e('When you are running out of Geo Targeting Lookups.', 'adrotate'); ?><br />
58
+ <input type="checkbox" name="adrotate_notification_mail_queue" disabled="1" /> <?php _e('Any advertiser saving an advert in your moderation queue.', 'adrotate'); ?><br />
59
+ <input type="checkbox" name="adrotate_notification_mail_approved" disabled="1" /> <?php _e('A moderator approved an advert from the moderation queue.', 'adrotate'); ?><br />
60
+ <input type="checkbox" name="adrotate_notification_mail_rejected" disabled="1" <?php _e('A moderator rejected an advert from the moderation queue.', 'adrotate'); ?><br /><span class="description"><?php _e('If you have a lot of activity with many advertisers adding/changing adverts you may get a lot of messages!', 'adrotate'); ?><br /><br /><strong><?php _e('Note:', 'adrotate'); ?></strong> <?php _e('Sending out a lot of email is sometimes seen as automated mailing and deemed spammy. This may result in automated filters such as those used in services like Google Gmail and Microsoft Hotmail/Outlook.com blocking your server. Make sure you whitelist the sending address in your email account once you start receiving notifications!', 'adrotate'); ?></span>
61
+
62
+ </td>
63
+ </tr>
64
  <tr>
65
  <th valign="top"><?php _e('Publishers', 'adrotate'); ?></th>
66
  <td>
67
+ <textarea name="adrotate_notification_email_publisher" cols="50" rows="2" disabled="1"><?php echo get_option('admin_email'); ?></textarea><br />
68
+ <span class="description"><?php _e('Messages are sent once every 24 hours. Maximum of 5 addresses. Comma separated. This field may not be empty!', 'adrotate'); ?></span>
 
69
  </td>
70
  </tr>
71
  <tr>
72
  <th valign="top"><?php _e('Advertisers', 'adrotate'); ?></th>
73
  <td>
74
+ <textarea name="adrotate_notification_email_advertiser" cols="50" rows="2" disabled="1"><?php echo get_option('admin_email'); ?></textarea><br />
75
+ <span class="description"><?php _e('Who gets email from advertisers. Maximum of 5 addresses. Comma separated. This field may not be empty!', 'adrotate'); ?></span>
76
  </td>
77
  </tr>
78
  </table>
79
 
80
+ <h3><?php _e('Push Notifications', 'adrotate'); ?> - <?php _e('Available in AdRotate Pro', 'adrotate'); ?></h3>
81
  <span class="description"><?php _e('Receive information about what is happening with your AdRotate setup on your smartphone via Pushover.', 'adrotate'); ?></span>
82
  <table class="form-table">
83
  <tr>
84
  <th valign="top"><?php _e('What', 'adrotate'); ?></th>
85
  <td>
86
+ <input type="checkbox" name="adrotate_notification_push_status" disabled="1" /> <?php _e('Daily digest of any advert status other than normal.', 'adrotate'); ?><br />
87
+ <input type="checkbox" name="adrotate_notification_push_geo" disabled="1" /> <?php _e('When you are running out of Geo Targeting Lookups.', 'adrotate'); ?><br />
88
+ <input type="checkbox" name="adrotate_notification_push_queue" disabled="1" /> <?php _e('Any advertiser saving an advert in your moderation queue.', 'adrotate'); ?><br />
89
+ <input type="checkbox" name="adrotate_notification_push_approved" disabled="1" /> <?php _e('A moderator approved an advert from the moderation queue.', 'adrotate'); ?><br />
90
+ <input type="checkbox" name="adrotate_notification_push_rejected" disabled="1" /> <?php _e('A moderator rejected an advert from the moderation queue.', 'adrotate'); ?><br /><span class="description"><?php _e('If you have a lot of activity with many advertisers adding/changing adverts you may get a lot of messages!', 'adrotate'); ?><br /><br /><strong><?php _e('Note:', 'adrotate'); ?></strong> <?php _e('Pushover has a monthly limit of 7500 messages, this should be plenty. If you run out, you will not receive push notifications until the quota is reset! Every message AdRotate sends, regardless of the number of receiving devices, counts as one message.', 'adrotate'); ?></span>
91
 
92
  </td>
93
  </tr>
94
  <tr>
95
  <th valign="top"><?php _e('User Key', 'adrotate'); ?></th>
96
  <td>
97
+ <label for="adrotate_notification_push_user"><input name="adrotate_notification_push_user" type="text" class="search-input" size="50" value="" disabled="1" /> <?php _e('Get your user token', 'adrotate'); ?> <a href="https://pushover.net" target="_blank"><?php _e('here', 'adrotate'); ?></a>.</label>
98
  </td>
99
  </tr>
100
  <tr>
101
  <th valign="top"><?php _e('Api Token', 'adrotate'); ?></th>
102
  <td>
103
+ <label for="adrotate_notification_push_api"><input name="adrotate_notification_push_api" type="text" class="search-input" size="50" value="" disabled="1" /> <?php _e('Create your', 'adrotate'); ?> <a href="https://pushover.net/apps/build" target="_blank"><?php _e('App', 'adrotate'); ?></a> <?php _e('and get your API token', 'adrotate'); ?> <a href="https://pushover.net/apps" target="_blank"><?php _e('here', 'adrotate'); ?></a>.</label>
104
  </td>
105
  </tr>
106
+ </table>
107
+
108
+ <p class="submit">
109
+ <input type="submit" name="adrotate_save_options" class="button-primary" value="<?php _e('Update Options', 'adrotate'); ?>" />
110
+ </p>
111
+ </form>
dashboard/settings/roles.php CHANGED
@@ -9,7 +9,12 @@
9
  * liability that might arise from it's use.
10
  ------------------------------------------------------------------------------------ */
11
  ?>
12
- <h3><?php _e('Roles', 'adrotate'); ?></h3>
 
 
 
 
 
13
  <span class="description"><?php _e('Who has access to what?', 'adrotate'); ?></span>
14
  <table class="form-table">
15
  <tr>
@@ -44,4 +49,9 @@
44
  </select> <?php _e('Role to delete groups.', 'adrotate'); ?></label>
45
  </td>
46
  </tr>
47
- </table>
 
 
 
 
 
9
  * liability that might arise from it's use.
10
  ------------------------------------------------------------------------------------ */
11
  ?>
12
+
13
+ <form name="settings" id="post" method="post" action="admin.php?page=adrotate-settings&tab=roles">
14
+ <?php wp_nonce_field('adrotate_settings','adrotate_nonce_settings'); ?>
15
+ <input type="hidden" name="adrotate_settings_tab" value="<?php echo $active_tab; ?>" />
16
+
17
+ <h2><?php _e('Roles', 'adrotate'); ?></h2>
18
  <span class="description"><?php _e('Who has access to what?', 'adrotate'); ?></span>
19
  <table class="form-table">
20
  <tr>
49
  </select> <?php _e('Role to delete groups.', 'adrotate'); ?></label>
50
  </td>
51
  </tr>
52
+ </table>
53
+
54
+ <p class="submit">
55
+ <input type="submit" name="adrotate_save_options" class="button-primary" value="<?php _e('Update Options', 'adrotate'); ?>" />
56
+ </p>
57
+ </form>
dashboard/settings/statistics.php CHANGED
@@ -9,7 +9,12 @@
9
  * liability that might arise from it's use.
10
  ------------------------------------------------------------------------------------ */
11
  ?>
12
- <h3><?php _e('Statistics', 'adrotate'); ?></h3></td>
 
 
 
 
 
13
  <span class="description"><?php _e('Track statistics for your adverts.', 'adrotate'); ?> <?php _e('Some options are only available in AdRotate Pro!', 'adrotate'); ?></span>
14
  <table class="form-table">
15
  <tr>
@@ -63,3 +68,8 @@
63
  </td>
64
  </tr>
65
  </table>
 
 
 
 
 
9
  * liability that might arise from it's use.
10
  ------------------------------------------------------------------------------------ */
11
  ?>
12
+
13
+ <form name="settings" id="post" method="post" action="admin.php?page=adrotate-settings&tab=stats">
14
+ <?php wp_nonce_field('adrotate_settings','adrotate_nonce_settings'); ?>
15
+ <input type="hidden" name="adrotate_settings_tab" value="<?php echo $active_tab; ?>" />
16
+
17
+ <h2><?php _e('Statistics', 'adrotate'); ?></h2>
18
  <span class="description"><?php _e('Track statistics for your adverts.', 'adrotate'); ?> <?php _e('Some options are only available in AdRotate Pro!', 'adrotate'); ?></span>
19
  <table class="form-table">
20
  <tr>
68
  </td>
69
  </tr>
70
  </table>
71
+
72
+ <p class="submit">
73
+ <input type="submit" name="adrotate_save_options" class="button-primary" value="<?php _e('Update Options', 'adrotate'); ?>" />
74
+ </p>
75
+ </form>
language/adrotate-bg_BG.mo CHANGED
Binary file
language/adrotate-bg_BG.po CHANGED
@@ -2,8 +2,8 @@ msgid ""
2
  msgstr ""
3
  "Project-Id-Version: AdRotate\n"
4
  "Report-Msgid-Bugs-To: \n"
5
- "POT-Creation-Date: 2016-05-30 14:27+0800\n"
6
- "PO-Revision-Date: 2016-05-30 14:27+0800\n"
7
  "Last-Translator: Arnan de Gans <info@ajdg.net>\n"
8
  "Language-Team: Nedko Ivanov <cocacoli4ko@gmail.com>\n"
9
  "Language: bg_BG\n"
@@ -17,113 +17,113 @@ msgstr ""
17
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
18
  "X-Poedit-SearchPath-0: .\n"
19
 
20
- #: adrotate-functions.php:844
21
  msgid "No files found"
22
  msgstr "Няма намерени файлове"
23
 
24
- #: adrotate-functions.php:847
25
  msgid "Folder not found or not accessible"
26
  msgstr "Папката не е намерена или не е достъпна"
27
 
28
- #: adrotate-functions.php:896
29
  msgid "Ad saved"
30
  msgstr ""
31
 
32
- #: adrotate-functions.php:900
33
  msgid "Group saved"
34
  msgstr ""
35
 
36
- #: adrotate-functions.php:904
37
  msgid "Ad(s) deleted"
38
  msgstr "Успешно изтриване"
39
 
40
- #: adrotate-functions.php:908
41
  msgid "Group deleted"
42
  msgstr "Групата е изтрита"
43
 
44
- #: adrotate-functions.php:912
45
  msgid "Ad(s) statistics reset"
46
  msgstr "Статистиката е нулирана"
47
 
48
- #: adrotate-functions.php:916
49
  msgid "Ad(s) renewed"
50
  msgstr "Успешно подновяване"
51
 
52
- #: adrotate-functions.php:920
53
  msgid "Ad(s) deactivated"
54
  msgstr "Успешно деактивиране"
55
 
56
- #: adrotate-functions.php:924
57
  msgid "Ad(s) activated"
58
  msgstr "Успешно активиране"
59
 
60
- #: adrotate-functions.php:928
61
  msgid "Group including it's Ads deleted"
62
  msgstr "Групата и съдържащите се в нея реклами са изтрити"
63
 
64
- #: adrotate-functions.php:932
65
  msgid "Export created"
66
  msgstr "Експорта е завършен"
67
 
68
- #: adrotate-functions.php:937
69
  msgid "Settings saved"
70
  msgstr "Настройките са запазени"
71
 
72
- #: adrotate-functions.php:941
73
  msgid "Database optimized"
74
  msgstr "Базата данни е оптимизирана"
75
 
76
- #: adrotate-functions.php:945
77
  msgid "Database repaired"
78
  msgstr "Базата данни е поправена"
79
 
80
- #: adrotate-functions.php:949
81
  msgid "Ads evaluated and statuses have been corrected where required"
82
  msgstr "Рекламите са оценени и статусите им са обновени, където е необходимо"
83
 
84
- #: adrotate-functions.php:953
85
  msgid "Empty database records removed"
86
  msgstr "Празните записи в базата данни са премахнати"
87
 
88
- #: adrotate-functions.php:958
89
  msgid "Action prohibited"
90
  msgstr "Забранено действие"
91
 
92
- #: adrotate-functions.php:962
93
  msgid ""
94
  "The ad was saved but has an issue which might prevent it from working "
95
  "properly. Review the colored ad."
96
  msgstr ""
97
 
98
- #: adrotate-functions.php:966
99
  msgid "No data found in selected time period"
100
  msgstr "Не е намерена информация за избрания период"
101
 
102
- #: adrotate-functions.php:970
103
  msgid "Database can only be optimized or cleaned once every hour"
104
  msgstr "Базата данни може да бъде почиствана или оптимизирана веднъж на час"
105
 
106
- #: adrotate-functions.php:974
107
  msgid "Form can not be (partially) empty!"
108
  msgstr ""
109
 
110
- #: adrotate-functions.php:978
111
  msgid "No ads found."
112
  msgstr ""
113
 
114
- #: adrotate-functions.php:982
115
  msgid "Unexpected error"
116
  msgstr ""
117
 
118
- #: adrotate-manage-publisher.php:678
119
  msgid "AdRotate Advertiser"
120
  msgstr ""
121
 
122
- #: adrotate-output.php:574
123
  msgid "Oh no! Something went wrong!"
124
  msgstr "О не! Нещо се случи!"
125
 
126
- #: adrotate-output.php:575
127
  msgid ""
128
  "WordPress was unable to verify the authenticity of the url you have clicked. "
129
  "Verify if the url used is valid or log in via your browser."
@@ -132,17 +132,17 @@ msgstr ""
132
  "кликнал. Проверете дали адреса е валиден или се впишете посредством браузъра "
133
  "си."
134
 
135
- #: adrotate-output.php:576
136
  msgid ""
137
  "If you have received the url you want to visit via email, you are being "
138
  "tricked!"
139
  msgstr "Ако сте получили този адрес по email, то някой ви е изиграл!"
140
 
141
- #: adrotate-output.php:577
142
  msgid "Contact support if the issue persists:"
143
  msgstr "Свържете се с поддръжката, ако този проблем продължави да се появява:"
144
 
145
- #: adrotate-output.php:592
146
  msgid ""
147
  "Error, Ad is not available at this time due to schedule/geolocation "
148
  "restrictions or does not exist!"
@@ -150,33 +150,33 @@ msgstr ""
150
  "Грешка, рекламата не е налична в момента, поради ограничения в графика/"
151
  "геолокацията или не съществува!"
152
 
153
- #: adrotate-output.php:594
154
  msgid ""
155
  "Error, Ad is not available at this time due to schedule/geolocation "
156
  "restrictions!"
157
  msgstr ""
158
  "Грешка, рекламата не е налична, поради ограничения в графика/геолокацията!"
159
 
160
- #: adrotate-output.php:601 adrotate-output.php:603
161
  msgid ""
162
  "Either there are no banners, they are disabled or none qualified for this "
163
  "location!"
164
  msgstr ""
165
  "Няма налични банери, те са деактивирани или не са подходящи за това място!"
166
 
167
- #: adrotate-output.php:609
168
  msgid "Error, no Ad ID set! Check your syntax!"
169
  msgstr "Грешка, не е зададено ID на рекламата! Проверете синтаксиса!"
170
 
171
- #: adrotate-output.php:615
172
  msgid "Error, no group ID set! Check your syntax!"
173
  msgstr "Грешка, не е зададено ID на групата! Проверете синтаксиса!"
174
 
175
- #: adrotate-output.php:620
176
  msgid "Error, group does not exist! Check your syntax!"
177
  msgstr "Грешка, групата не съществува! Проверете синтаксиса!"
178
 
179
- #: adrotate-output.php:626
180
  msgid ""
181
  "There was an error locating the database tables for AdRotate. Please "
182
  "deactivate and re-activate AdRotate from the plugin page!!"
@@ -184,47 +184,47 @@ msgstr ""
184
  "Не могат да бъдат открити таблиците на AdRotate в базата данни. Моля, "
185
  "изключете и включете наново AdRotate от страницата с плъгините!!"
186
 
187
- #: adrotate-output.php:626
188
  msgid "If this does not solve the issue please seek support at"
189
  msgstr "Ако това не решава проблема, моля потърсете помощ на"
190
 
191
- #: adrotate-output.php:632
192
  msgid "An unknown error occured."
193
  msgstr "Възникна неизвестна грешка."
194
 
195
- #: adrotate-output.php:651 adrotate-output.php:654 adrotate-output.php:658
196
- #: adrotate-output.php:663 adrotate-output.php:666 adrotate-output.php:669
197
  msgid "Check adverts"
198
  msgstr ""
199
 
200
- #: adrotate-output.php:674
201
  msgid ""
202
  "You have enable caching support but W3 Total Cache is not active on your "
203
  "site!"
204
  msgstr ""
205
 
206
- #: adrotate-output.php:677
207
  msgid ""
208
  "You have enable caching support but the W3TC_DYNAMIC_SECURITY definition is "
209
  "not set."
210
  msgstr ""
211
 
212
- #: adrotate-output.php:682
213
  msgid "Your AdRotate Banner folder is not writable or does not exist."
214
  msgstr ""
215
 
216
- #: adrotate-output.php:722 dashboard/adrotatepro.php:99
217
  #: dashboard/adrotatepro.php:100 dashboard/adrotatepro.php:101
218
  #: dashboard/adrotatepro.php:102 dashboard/adrotatepro.php:111
219
  #: dashboard/adrotatepro.php:112 dashboard/adrotatepro.php:113
220
  #: dashboard/adrotatepro.php:114 dashboard/info.php:82 dashboard/info.php:83
221
  #: dashboard/info.php:84 dashboard/info.php:85 dashboard/info.php:89
222
  #: dashboard/info.php:90 dashboard/info.php:91 dashboard/info.php:92
223
- #: dashboard/settings/geotargeting.php:25
224
  msgid "Buy now"
225
  msgstr "Купи сега"
226
 
227
- #: adrotate-output.php:723
228
  msgid ""
229
  "You've been using <strong>AdRotate</strong> for a while now. Why not upgrade "
230
  "to the <strong>PRO</strong> version"
@@ -232,67 +232,67 @@ msgstr ""
232
  "Използвате <strong>AdRotate</strong> от известно време. Защо не надградите "
233
  "до <strong>PRO</strong> версията"
234
 
235
- #: adrotate-output.php:723
236
  #, php-format
237
  msgid ""
238
  "Use discount code <b>getadrotatepro</b> for 10% off on any AdRotate license!"
239
  msgstr ""
240
 
241
- #: adrotate-output.php:723
242
  msgid "Thank you for your purchase!"
243
  msgstr ""
244
 
245
- #: adrotate-output.php:784
246
  msgid ""
247
  "Welcome, and thanks for using AdRotate. Everything related to AdRotate is in "
248
  "this menu. Check out the"
249
  msgstr ""
250
 
251
- #: adrotate-output.php:784
252
  msgid "manuals"
253
  msgstr "ръководства"
254
 
255
- #: adrotate-output.php:784 adrotate-output.php:851
256
  msgid "and"
257
  msgstr "и"
258
 
259
- #: adrotate-output.php:784
260
  msgid "forums"
261
  msgstr ""
262
 
263
- #: adrotate-output.php:814
264
  msgid "Useful Links"
265
  msgstr "Полезни връзки"
266
 
267
- #: adrotate-output.php:815
268
  msgid "Useful links to learn more about AdRotate"
269
  msgstr "Полезни връзки, за да получите повече информация за AdRotate"
270
 
271
- #: adrotate-output.php:817
272
  msgid "AdRotate website"
273
  msgstr ""
274
 
275
- #: adrotate-output.php:818
276
  msgid "Getting Started With AdRotate"
277
  msgstr "Започнете от нулата с AdRotate Pro"
278
 
279
- #: adrotate-output.php:819
280
  msgid "AdRotate manuals"
281
  msgstr ""
282
 
283
- #: adrotate-output.php:820
284
  msgid "AdRotate Support Forum"
285
  msgstr "Форум за поддръжка на AdRotate"
286
 
287
- #: adrotate-output.php:843
288
  msgid "Help AdRotate Grow"
289
  msgstr "Помогнете за развитието на AdRotate"
290
 
291
- #: adrotate-output.php:844
292
  msgid "Follow Arnan on Facebook"
293
  msgstr ""
294
 
295
- #: adrotate-output.php:851
296
  msgid ""
297
  "A lot of users only think to review AdRotate when something goes wrong while "
298
  "thousands of people use AdRotate satisfactory. Don't let this go unnoticed."
@@ -301,96 +301,96 @@ msgstr ""
301
  "се обърка, докато хиляди хора използват AdRotate безпроблемно. Не оставяйте "
302
  "това да остане незабелязано."
303
 
304
- #: adrotate-output.php:851
305
  msgid "If you find AdRotate useful please leave your honest"
306
  msgstr "Ако намирате AdRotate за полезен, моля оставете честна"
307
 
308
- #: adrotate-output.php:851
309
  msgid "rating"
310
  msgstr "оценка"
311
 
312
- #: adrotate-output.php:851
313
  msgid "review"
314
  msgstr "мнение"
315
 
316
- #: adrotate-output.php:851
317
  msgid "on WordPress.org to help AdRotate grow in a positive way"
318
  msgstr "на WordPress.org, за да се развива AdRotate"
319
 
320
- #: adrotate-output.php:884 dashboard/settings/notifications.php:44
321
- #: dashboard/settings/notifications.php:64
322
  msgid "Available in AdRotate Pro"
323
  msgstr "Налично в AdRotate Pro"
324
 
325
- #: adrotate-output.php:884
326
  msgid "More information..."
327
  msgstr "Повече информация..."
328
 
329
- #: adrotate-output.php:885
330
  msgid "This feature is available in AdRotate Pro"
331
  msgstr "Тази функционалност е налична в AdRotate Pro"
332
 
333
- #: adrotate-output.php:885
334
  msgid "Learn more"
335
  msgstr "Повече информация"
336
 
337
- #: adrotate-statistics.php:217 dashboard/publisher/adverts-edit.php:220
338
- #: dashboard/publisher/adverts-edit.php:241
339
  msgid "January"
340
  msgstr "Януари"
341
 
342
- #: adrotate-statistics.php:217 dashboard/publisher/adverts-edit.php:221
343
- #: dashboard/publisher/adverts-edit.php:242
344
  msgid "February"
345
  msgstr "Февруари"
346
 
347
- #: adrotate-statistics.php:217 dashboard/publisher/adverts-edit.php:222
348
- #: dashboard/publisher/adverts-edit.php:243
349
  msgid "March"
350
  msgstr "Март"
351
 
352
- #: adrotate-statistics.php:217 dashboard/publisher/adverts-edit.php:223
353
- #: dashboard/publisher/adverts-edit.php:244
354
  msgid "April"
355
  msgstr "Април"
356
 
357
- #: adrotate-statistics.php:217 dashboard/publisher/adverts-edit.php:224
358
- #: dashboard/publisher/adverts-edit.php:245
359
  msgid "May"
360
  msgstr "Май"
361
 
362
- #: adrotate-statistics.php:217 dashboard/publisher/adverts-edit.php:225
363
- #: dashboard/publisher/adverts-edit.php:246
364
  msgid "June"
365
  msgstr "Юни"
366
 
367
- #: adrotate-statistics.php:217 dashboard/publisher/adverts-edit.php:226
368
- #: dashboard/publisher/adverts-edit.php:247
369
  msgid "July"
370
  msgstr "Юли"
371
 
372
- #: adrotate-statistics.php:217 dashboard/publisher/adverts-edit.php:227
373
- #: dashboard/publisher/adverts-edit.php:248
374
  msgid "August"
375
  msgstr "Август"
376
 
377
- #: adrotate-statistics.php:217 dashboard/publisher/adverts-edit.php:228
378
- #: dashboard/publisher/adverts-edit.php:249
379
  msgid "September"
380
  msgstr "Септември"
381
 
382
- #: adrotate-statistics.php:217 dashboard/publisher/adverts-edit.php:229
383
- #: dashboard/publisher/adverts-edit.php:250
384
  msgid "October"
385
  msgstr "Октомври"
386
 
387
- #: adrotate-statistics.php:217 dashboard/publisher/adverts-edit.php:230
388
- #: dashboard/publisher/adverts-edit.php:251
389
  msgid "November"
390
  msgstr "Ноември"
391
 
392
- #: adrotate-statistics.php:217 dashboard/publisher/adverts-edit.php:231
393
- #: dashboard/publisher/adverts-edit.php:252
394
  msgid "December"
395
  msgstr "Декември"
396
 
@@ -450,67 +450,67 @@ msgstr "ID:"
450
  msgid "Fill in the ID of the type you want to display!"
451
  msgstr "Попълнете ID-то на типа, който искате да се показва!"
452
 
453
- #: adrotate.php:105
454
  msgid "General Info"
455
  msgstr "Обща информация"
456
 
457
- #: adrotate.php:106
458
  msgid "AdRotate Pro"
459
  msgstr "AdRotate Pro"
460
 
461
- #: adrotate.php:107
462
  msgid "Manage Adverts"
463
  msgstr ""
464
 
465
- #: adrotate.php:108 dashboard/publisher/groups-main.php:12
466
  msgid "Manage Groups"
467
  msgstr "Управление на групи"
468
 
469
- #: adrotate.php:109 adrotate.php:387
470
  msgid "Manage Schedules"
471
  msgstr "Управление на графици"
472
 
473
- #: adrotate.php:110
474
  msgid "Manage Media"
475
  msgstr "Управление на Медия"
476
 
477
- #: adrotate.php:111
478
  msgid "Settings"
479
  msgstr "Настройки"
480
 
481
- #: adrotate.php:134
482
  msgid "AdRotate Info"
483
  msgstr "AdRotate Info"
484
 
485
- #: adrotate.php:155
486
  msgid "AdRotate Professional"
487
  msgstr "AdRotate Professional"
488
 
489
- #: adrotate.php:198
490
  msgid "Advert Management"
491
  msgstr ""
492
 
493
- #: adrotate.php:256 adrotate.php:326 adrotate.php:382
494
  msgid "Manage"
495
  msgstr "Управление"
496
 
497
- #: adrotate.php:257 adrotate.php:327 adrotate.php:383
498
  msgid "Add New"
499
  msgstr "Добавяне"
500
 
501
- #: adrotate.php:320
502
  msgid "Group Management"
503
  msgstr "Управление на групи"
504
 
505
- #: adrotate.php:329
506
  msgid "Report"
507
  msgstr "Доклад"
508
 
509
- #: adrotate.php:378
510
  msgid "Schedule Management available in AdRotate Pro"
511
  msgstr "Управление с графици е налично в AdRotate Pro"
512
 
513
- #: adrotate.php:388
514
  msgid ""
515
  "Schedule management and multiple schedules per advert is available in "
516
  "AdRotate Pro."
@@ -518,116 +518,115 @@ msgstr ""
518
  "Управлението на графици и множество графици за една реклама са налични в "
519
  "AdRotate Pro."
520
 
521
- #: adrotate.php:388 adrotate.php:475 dashboard/publisher/adverts-edit.php:188
522
  #: dashboard/publisher/adverts-main.php:114
523
- #: dashboard/publisher/groups-edit.php:75
524
  #: dashboard/publisher/groups-main.php:89
525
  msgid "More information"
526
  msgstr "Повече информация"
527
 
528
- #: adrotate.php:395 dashboard/publisher/adverts-disabled.php:20
529
  #: dashboard/publisher/adverts-error.php:19
530
  #: dashboard/publisher/adverts-main.php:20
531
  #: dashboard/publisher/groups-main.php:20
532
  msgid "Bulk Actions"
533
  msgstr "Масови действия"
534
 
535
- #: adrotate.php:396 dashboard/publisher/adverts-disabled.php:25
536
  #: dashboard/publisher/adverts-error.php:29
537
  #: dashboard/publisher/adverts-main.php:30
538
  #: dashboard/publisher/groups-main.php:24
539
  msgid "Go"
540
  msgstr "Напред"
541
 
542
- #: adrotate.php:405 dashboard/publisher/adverts-disabled.php:35
543
  #: dashboard/publisher/adverts-error.php:39
544
  #: dashboard/publisher/adverts-main.php:39
545
- #: dashboard/publisher/groups-edit.php:51
546
  #: dashboard/publisher/groups-main.php:32
547
  msgid "ID"
548
  msgstr "ID"
549
 
550
- #: adrotate.php:406
551
  msgid "Start"
552
  msgstr "Начало"
553