AdRotate Banner Manager - Version 3.11.2

Version Description

FREE = * NOTE: Due to an earlier bugfix you may need to open/edit each AdRotate widget and click 'Save' * [fix] Query error when cleaning database manually * [fix] Self-repairing database function now actually works * [tweak] Load max. 20 ads for a dynamic group * [tweak] Impression counting excluded from popular caching plugins * [tweak] Click counting excluded from popular caching plugins * [change] Upgrade script cleaned up * [change] Removed unnecessary indexes from database * [change] Removed obsolete 'block' columns from database * [change] Improved INT() unsigned datatypes in MySQL

NOTE: Certain features are exclusive to AdRotate PRO. If you need these features please consider upgrading to AdRotate PRO.

Download this release

Release Info

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

Code changes from version 3.11.1 to 3.11.2

adrotate-functions.php CHANGED
@@ -20,10 +20,9 @@
20
  function adrotate_shortcode($atts, $content = null) {
21
  global $adrotate_config;
22
 
23
- $banner_id = $group_ids = $block_id = $fallback = $weight = $site = 0;
24
  if(!empty($atts['banner'])) $banner_id = trim($atts['banner'], "\r\t ");
25
  if(!empty($atts['group'])) $group_ids = trim($atts['group'], "\r\t ");
26
- if(!empty($atts['block'])) $block_id = trim($atts['block'], "\r\t ");
27
  if(!empty($atts['fallback'])) $fallback = trim($atts['fallback'], "\r\t "); // Optional for groups (override)
28
  if(!empty($atts['weight'])) $weight = trim($atts['weight'], "\r\t "); // Optional for groups (override)
29
  if(!empty($atts['site'])) $site = 0; // Not supported in free version
@@ -32,24 +31,18 @@ function adrotate_shortcode($atts, $content = null) {
32
 
33
  if($adrotate_config['w3caching'] == "Y") $output .= '<!-- mfunc '.W3TC_DYNAMIC_SECURITY.' -->';
34
 
35
- if($banner_id > 0 AND ($group_ids == 0 OR $group_ids > 0) AND $block_id == 0) { // Show one Ad
36
  if($adrotate_config['supercache'] == "Y") $output .= '<!--mfunc echo adrotate_ad('.$banner_id.', true, 0, 0) -->';
37
  $output .= adrotate_ad($banner_id, true, 0, 0);
38
  if($adrotate_config['supercache'] == "Y") $output .= '<!--/mfunc-->';
39
  }
40
 
41
- if($banner_id == 0 AND $group_ids > 0 AND $block_id == 0) { // Show group
42
  if($adrotate_config['supercache'] == "Y") $output .= '<!--mfunc echo adrotate_group('.$group_ids.', '.$fallback.', '.$weight.') -->';
43
  $output .= adrotate_group($group_ids, $fallback, $weight);
44
  if($adrotate_config['supercache'] == "Y") $output .= '<!--/mfunc-->';
45
  }
46
 
47
- if($banner_id == 0 AND $group_ids == 0 AND $block_id > 0) { // Show block
48
- if($adrotate_config['supercache'] == "Y") $output .= '<!--mfunc echo adrotate_block( $block_id, $weight ) -->';
49
- $output .= adrotate_block($block_id, $weight);
50
- if($adrotate_config['supercache'] == "Y") $output .= '<!--/mfunc-->';
51
- }
52
-
53
  if($adrotate_config['w3caching'] == "Y") $output .= '<!-- /mfunc -->';
54
 
55
  return $output;
@@ -137,7 +130,7 @@ function adrotate_count_impression($ad, $group = 0, $blog_id = 0, $impression_ti
137
  if($stats > 0) {
138
  $wpdb->query("UPDATE `".$wpdb->prefix."adrotate_stats` SET `impressions` = `impressions` + 1 WHERE `id` = $stats;");
139
  } else {
140
- $wpdb->insert($wpdb->prefix.'adrotate_stats', array('ad' => $ad, 'group' => $group, 'block' => 0, 'thetime' => $today, 'clicks' => 0, 'impressions' => 1));
141
  }
142
 
143
  $wpdb->insert($wpdb->prefix."adrotate_tracker", array('ipaddress' => $remote_ip, 'timer' => $now, 'bannerid' => $ad, 'stat' => 'i', 'useragent' => '', 'country' => '', 'city' => ''));
@@ -154,6 +147,10 @@ function adrotate_count_impression($ad, $group = 0, $blog_id = 0, $impression_ti
154
  Since: 3.10.14
155
  -------------------------------------------------------------*/
156
  function adrotate_impression_callback() {
 
 
 
 
157
  global $adrotate_debug;
158
 
159
  $meta = $_POST['track'];
@@ -165,7 +162,7 @@ function adrotate_impression_callback() {
165
  list($ad, $group, $blog_id, $impression_timer) = explode(",", $meta, 4);
166
  adrotate_count_impression($ad, $group, $blog_id, $impression_timer);
167
 
168
- die();
169
  }
170
 
171
 
@@ -178,6 +175,10 @@ function adrotate_impression_callback() {
178
  Since: 3.10.14
179
  -------------------------------------------------------------*/
180
  function adrotate_click_callback() {
 
 
 
 
181
  global $wpdb, $adrotate_config, $adrotate_debug;
182
 
183
  $meta = $_POST['track'];
@@ -209,7 +210,7 @@ function adrotate_click_callback() {
209
  if($stats > 0) {
210
  $wpdb->query("UPDATE `".$wpdb->prefix."adrotate_stats` SET `clicks` = `clicks` + 1 WHERE `id` = $stats;");
211
  } else {
212
- $wpdb->insert($wpdb->prefix.'adrotate_stats', array('ad' => $ad, 'group' => $group, 'block' => 0, 'thetime' => $today, 'clicks' => 1, 'impressions' => 1));
213
  }
214
 
215
  $wpdb->insert($wpdb->prefix.'adrotate_tracker', array('ipaddress' => $remote_ip, 'timer' => $now, 'bannerid' => $ad, 'stat' => 'c', 'useragent' => $useragent, 'country' => '', 'city' => ''));
@@ -220,7 +221,7 @@ function adrotate_click_callback() {
220
  unset($remote_ip, $track, $meta, $ad, $group, $remote, $banner);
221
  }
222
 
223
- die();
224
  }
225
  /*-------------------------------------------------------------
226
  Name: adrotate_filter_schedule
@@ -334,19 +335,15 @@ function adrotate_rand($length = 8) {
334
  Name: adrotate_shuffle
335
 
336
  Purpose: Randomize and slice an array but keep keys intact
337
- Receive: $array, $amount
338
  Return: $shuffle
339
  Since: 3.8.8.3
340
  -------------------------------------------------------------*/
341
- function adrotate_shuffle($array, $amount = 0) {
342
  if(!is_array($array)) return $array;
343
  $keys = array_keys($array);
344
  shuffle($keys);
345
 
346
- $count = count($keys);
347
- if($amount == 0 OR $amount > $count) $amount = $count;
348
- $keys = array_slice($keys, 0, $amount, 1);
349
-
350
  $shuffle = array();
351
  foreach($keys as $key) {
352
  $shuffle[$key] = $array[$key];
@@ -538,7 +535,7 @@ function adrotate_evaluate_ad($ad_id) {
538
 
539
  // Fetch ad
540
  $ad = $wpdb->get_row($wpdb->prepare("SELECT `id`, `bannercode`, `tracker`, `link`, `imagetype`, `image`, `cbudget`, `ibudget`, `crate`, `irate` FROM `".$wpdb->prefix."adrotate` WHERE `id` = %d;", $ad_id));
541
- $advertiser = $wpdb->get_var("SELECT `user` FROM `".$wpdb->prefix."adrotate_linkmeta` WHERE `ad` = '".$ad->id."' AND `group` = 0 AND `block` = 0 AND `user` > 0 AND `schedule` = 0;");
542
  $stoptime = $wpdb->get_var("SELECT `stoptime` FROM `".$wpdb->prefix."adrotate_schedule`, `".$wpdb->prefix."adrotate_linkmeta` WHERE `ad` = '".$ad->id."' AND `schedule` = `".$wpdb->prefix."adrotate_schedule`.`id` ORDER BY `stoptime` DESC LIMIT 1;");
543
 
544
  $bannercode = stripslashes(htmlspecialchars_decode($ad->bannercode, ENT_QUOTES));
@@ -614,7 +611,6 @@ function adrotate_ad_is_in_groups($id) {
614
  WHERE
615
  `".$wpdb->prefix."adrotate_linkmeta`.`ad` = '".$id."'
616
  AND `".$wpdb->prefix."adrotate_linkmeta`.`group` = `".$wpdb->prefix."adrotate_groups`.`id`
617
- AND `".$wpdb->prefix."adrotate_linkmeta`.`block` = 0
618
  AND `".$wpdb->prefix."adrotate_linkmeta`.`user` = 0
619
  ;");
620
  if($groups) {
20
  function adrotate_shortcode($atts, $content = null) {
21
  global $adrotate_config;
22
 
23
+ $banner_id = $group_ids = $fallback = $weight = 0;
24
  if(!empty($atts['banner'])) $banner_id = trim($atts['banner'], "\r\t ");
25
  if(!empty($atts['group'])) $group_ids = trim($atts['group'], "\r\t ");
 
26
  if(!empty($atts['fallback'])) $fallback = trim($atts['fallback'], "\r\t "); // Optional for groups (override)
27
  if(!empty($atts['weight'])) $weight = trim($atts['weight'], "\r\t "); // Optional for groups (override)
28
  if(!empty($atts['site'])) $site = 0; // Not supported in free version
31
 
32
  if($adrotate_config['w3caching'] == "Y") $output .= '<!-- mfunc '.W3TC_DYNAMIC_SECURITY.' -->';
33
 
34
+ if($banner_id > 0 AND $group_ids == 0) { // Show one Ad
35
  if($adrotate_config['supercache'] == "Y") $output .= '<!--mfunc echo adrotate_ad('.$banner_id.', true, 0, 0) -->';
36
  $output .= adrotate_ad($banner_id, true, 0, 0);
37
  if($adrotate_config['supercache'] == "Y") $output .= '<!--/mfunc-->';
38
  }
39
 
40
+ if($banner_id == 0 AND $group_ids > 0) { // Show group
41
  if($adrotate_config['supercache'] == "Y") $output .= '<!--mfunc echo adrotate_group('.$group_ids.', '.$fallback.', '.$weight.') -->';
42
  $output .= adrotate_group($group_ids, $fallback, $weight);
43
  if($adrotate_config['supercache'] == "Y") $output .= '<!--/mfunc-->';
44
  }
45
 
 
 
 
 
 
 
46
  if($adrotate_config['w3caching'] == "Y") $output .= '<!-- /mfunc -->';
47
 
48
  return $output;
130
  if($stats > 0) {
131
  $wpdb->query("UPDATE `".$wpdb->prefix."adrotate_stats` SET `impressions` = `impressions` + 1 WHERE `id` = $stats;");
132
  } else {
133
+ $wpdb->insert($wpdb->prefix.'adrotate_stats', array('ad' => $ad, 'group' => $group, 'thetime' => $today, 'clicks' => 0, 'impressions' => 1));
134
  }
135
 
136
  $wpdb->insert($wpdb->prefix."adrotate_tracker", array('ipaddress' => $remote_ip, 'timer' => $now, 'bannerid' => $ad, 'stat' => 'i', 'useragent' => '', 'country' => '', 'city' => ''));
147
  Since: 3.10.14
148
  -------------------------------------------------------------*/
149
  function adrotate_impression_callback() {
150
+ define('DONOTCACHEPAGE', true);
151
+ define('DONOTCACHEDB', true);
152
+ define('DONOTCACHCEOBJECT', true);
153
+
154
  global $adrotate_debug;
155
 
156
  $meta = $_POST['track'];
162
  list($ad, $group, $blog_id, $impression_timer) = explode(",", $meta, 4);
163
  adrotate_count_impression($ad, $group, $blog_id, $impression_timer);
164
 
165
+ wp_die();
166
  }
167
 
168
 
175
  Since: 3.10.14
176
  -------------------------------------------------------------*/
177
  function adrotate_click_callback() {
178
+ define('DONOTCACHEPAGE', true);
179
+ define('DONOTCACHEDB', true);
180
+ define('DONOTCACHCEOBJECT', true);
181
+
182
  global $wpdb, $adrotate_config, $adrotate_debug;
183
 
184
  $meta = $_POST['track'];
210
  if($stats > 0) {
211
  $wpdb->query("UPDATE `".$wpdb->prefix."adrotate_stats` SET `clicks` = `clicks` + 1 WHERE `id` = $stats;");
212
  } else {
213
+ $wpdb->insert($wpdb->prefix.'adrotate_stats', array('ad' => $ad, 'group' => $group, 'thetime' => $today, 'clicks' => 1, 'impressions' => 1));
214
  }
215
 
216
  $wpdb->insert($wpdb->prefix.'adrotate_tracker', array('ipaddress' => $remote_ip, 'timer' => $now, 'bannerid' => $ad, 'stat' => 'c', 'useragent' => $useragent, 'country' => '', 'city' => ''));
221
  unset($remote_ip, $track, $meta, $ad, $group, $remote, $banner);
222
  }
223
 
224
+ wp_die();
225
  }
226
  /*-------------------------------------------------------------
227
  Name: adrotate_filter_schedule
335
  Name: adrotate_shuffle
336
 
337
  Purpose: Randomize and slice an array but keep keys intact
338
+ Receive: $array
339
  Return: $shuffle
340
  Since: 3.8.8.3
341
  -------------------------------------------------------------*/
342
+ function adrotate_shuffle($array) {
343
  if(!is_array($array)) return $array;
344
  $keys = array_keys($array);
345
  shuffle($keys);
346
 
 
 
 
 
347
  $shuffle = array();
348
  foreach($keys as $key) {
349
  $shuffle[$key] = $array[$key];
535
 
536
  // Fetch ad
537
  $ad = $wpdb->get_row($wpdb->prepare("SELECT `id`, `bannercode`, `tracker`, `link`, `imagetype`, `image`, `cbudget`, `ibudget`, `crate`, `irate` FROM `".$wpdb->prefix."adrotate` WHERE `id` = %d;", $ad_id));
538
+ $advertiser = $wpdb->get_var("SELECT `user` FROM `".$wpdb->prefix."adrotate_linkmeta` WHERE `ad` = '".$ad->id."' AND `group` = 0 AND `user` > 0 AND `schedule` = 0;");
539
  $stoptime = $wpdb->get_var("SELECT `stoptime` FROM `".$wpdb->prefix."adrotate_schedule`, `".$wpdb->prefix."adrotate_linkmeta` WHERE `ad` = '".$ad->id."' AND `schedule` = `".$wpdb->prefix."adrotate_schedule`.`id` ORDER BY `stoptime` DESC LIMIT 1;");
540
 
541
  $bannercode = stripslashes(htmlspecialchars_decode($ad->bannercode, ENT_QUOTES));
611
  WHERE
612
  `".$wpdb->prefix."adrotate_linkmeta`.`ad` = '".$id."'
613
  AND `".$wpdb->prefix."adrotate_linkmeta`.`group` = `".$wpdb->prefix."adrotate_groups`.`id`
 
614
  AND `".$wpdb->prefix."adrotate_linkmeta`.`user` = 0
615
  ;");
616
  if($groups) {
adrotate-manage-publisher.php CHANGED
@@ -136,7 +136,7 @@ function adrotate_insert_input() {
136
 
137
  // Save schedule for new ads or update the existing one
138
  if($type != 'empty') {
139
- $wpdb->query($wpdb->prepare("DELETE FROM `".$wpdb->prefix."adrotate_schedule` WHERE `id` IN (SELECT `schedule` FROM `".$wpdb->prefix."adrotate_linkmeta` WHERE `schedule` != %d AND `schedule` > 0 AND `ad` = %d AND `group` = 0 AND `block` = 0 AND `user` = 0);", $schedule_id, $id));
140
  }
141
  $wpdb->update($wpdb->prefix.'adrotate_schedule', array('starttime' => $startdate, 'stoptime' => $enddate, 'maxclicks' => $maxclicks, 'maximpressions' => $maxshown), array('id' => $schedule_id));
142
 
@@ -148,7 +148,7 @@ function adrotate_insert_input() {
148
  update_option('adrotate_responsive_required', $responsive_count);
149
 
150
  // Fetch group records for the ad
151
- $groupmeta = $wpdb->get_results($wpdb->prepare("SELECT `group` FROM `".$wpdb->prefix."adrotate_linkmeta` WHERE `ad` = %d AND `block` = 0 AND `user` = 0 AND `schedule` = 0;", $id));
152
  foreach($groupmeta as $meta) {
153
  $group_array[] = $meta->group;
154
  }
@@ -159,14 +159,14 @@ function adrotate_insert_input() {
159
  // Add new groups to this ad
160
  $insert = array_diff($groups, $group_array);
161
  foreach($insert as &$value) {
162
- $wpdb->insert($wpdb->prefix.'adrotate_linkmeta', array('ad' => $id, 'group' => $value, 'block' => 0, 'user' => 0, 'schedule' => 0));
163
  }
164
  unset($value);
165
 
166
  // Remove groups from this ad
167
  $delete = array_diff($group_array, $groups);
168
  foreach($delete as &$value) {
169
- $wpdb->query($wpdb->prepare("DELETE FROM `".$wpdb->prefix."adrotate_linkmeta` WHERE `ad` = %d AND `group` = %d AND `block` = 0 AND `user` = 0 AND `schedule` = 0;", $id, $value));
170
  }
171
  unset($value);
172
 
@@ -283,7 +283,7 @@ function adrotate_insert_group() {
283
  if($page_loc != 4) $page_par = 0;
284
 
285
  // Fetch records for the group
286
- $linkmeta = $wpdb->get_results($wpdb->prepare("SELECT `ad` FROM `".$wpdb->prefix."adrotate_linkmeta` WHERE `group` = %d AND `block` = 0 AND `user` = 0;", $id));
287
  foreach($linkmeta as $meta) {
288
  $meta_array[] = $meta->ad;
289
  }
@@ -294,14 +294,14 @@ function adrotate_insert_group() {
294
  // Add new ads to this group
295
  $insert = array_diff($ads,$meta_array);
296
  foreach($insert as &$value) {
297
- $wpdb->insert($wpdb->prefix.'adrotate_linkmeta', array('ad' => $value, 'group' => $id, 'block' => 0, 'user' => 0));
298
  }
299
  unset($value);
300
 
301
  // Remove ads from this group
302
  $delete = array_diff($meta_array,$ads);
303
  foreach($delete as &$value) {
304
- $wpdb->query($wpdb->prepare("DELETE FROM `".$wpdb->prefix."adrotate_linkmeta` WHERE `ad` = %d AND `group` = %d AND `block` = 0 AND `user` = 0;", $value, $id));
305
  }
306
  unset($value);
307
 
@@ -471,7 +471,7 @@ function adrotate_delete($id, $what) {
471
  $wpdb->query($wpdb->prepare("DELETE FROM `".$wpdb->prefix."adrotate_linkmeta` WHERE `group` = %d;", $id));
472
  adrotate_prepare_evaluate_ads(false);
473
  } else if ($what == 'bannergroup') {
474
- $linkmeta = $wpdb->get_results($wpdb->prepare("SELECT `ad` FROM `".$wpdb->prefix."adrotate_linkmeta` WHERE `group` = %d AND `block` = '0';", $id));
475
  foreach($linkmeta as $meta) {
476
  $wpdb->query("DELETE FROM `".$wpdb->prefix."adrotate` WHERE `id` = ".$meta->ad.";");
477
  $wpdb->query("DELETE FROM `".$wpdb->prefix."adrotate_stats` WHERE `ad` = ".$meta->ad.";");
@@ -542,14 +542,14 @@ function adrotate_renew($id, $howlong = 2592000) {
542
  global $wpdb;
543
 
544
  if($id > 0) {
545
- $schedule_id = $wpdb->get_var($wpdb->prepare("SELECT `schedule` FROM `".$wpdb->prefix."adrotate_linkmeta` WHERE `ad` = %d AND `group` = 0 AND `block` = 0 AND `user` = 0 ORDER BY `id` DESC LIMIT 1;", $id));
546
  if($schedule_id > 0) {
547
  $wpdb->query("UPDATE `".$wpdb->prefix."adrotate_schedule` SET `stoptime` = `stoptime` + $howlong WHERE `id` = $schedule_id;");
548
  } else {
549
  $now = adrotate_now();
550
  $stoptime = $now + $howlong;
551
  $wpdb->insert($wpdb->prefix.'adrotate_schedule', array('name' => 'Schedule for ad '.$id, 'starttime' => $now, 'stoptime' => $stoptime, 'maxclicks' => 0, 'maximpressions' => 0));
552
- $wpdb->insert($wpdb->prefix.'adrotate_linkmeta', array('ad' => $id, 'group' => 0, 'block' => 0, 'user' => 0, 'schedule' => $wpdb->insert_id));
553
  }
554
  }
555
  }
136
 
137
  // Save schedule for new ads or update the existing one
138
  if($type != 'empty') {
139
+ $wpdb->query($wpdb->prepare("DELETE FROM `".$wpdb->prefix."adrotate_schedule` WHERE `id` IN (SELECT `schedule` FROM `".$wpdb->prefix."adrotate_linkmeta` WHERE `schedule` != %d AND `schedule` > 0 AND `ad` = %d AND `group` = 0 AND `user` = 0);", $schedule_id, $id));
140
  }
141
  $wpdb->update($wpdb->prefix.'adrotate_schedule', array('starttime' => $startdate, 'stoptime' => $enddate, 'maxclicks' => $maxclicks, 'maximpressions' => $maxshown), array('id' => $schedule_id));
142
 
148
  update_option('adrotate_responsive_required', $responsive_count);
149
 
150
  // Fetch group records for the ad
151
+ $groupmeta = $wpdb->get_results($wpdb->prepare("SELECT `group` FROM `".$wpdb->prefix."adrotate_linkmeta` WHERE `ad` = %d AND `user` = 0 AND `schedule` = 0;", $id));
152
  foreach($groupmeta as $meta) {
153
  $group_array[] = $meta->group;
154
  }
159
  // Add new groups to this ad
160
  $insert = array_diff($groups, $group_array);
161
  foreach($insert as &$value) {
162
+ $wpdb->insert($wpdb->prefix.'adrotate_linkmeta', array('ad' => $id, 'group' => $value, 'user' => 0, 'schedule' => 0));
163
  }
164
  unset($value);
165
 
166
  // Remove groups from this ad
167
  $delete = array_diff($group_array, $groups);
168
  foreach($delete as &$value) {
169
+ $wpdb->query($wpdb->prepare("DELETE FROM `".$wpdb->prefix."adrotate_linkmeta` WHERE `ad` = %d AND `group` = %d AND `user` = 0 AND `schedule` = 0;", $id, $value));
170
  }
171
  unset($value);
172
 
283
  if($page_loc != 4) $page_par = 0;
284
 
285
  // Fetch records for the group
286
+ $linkmeta = $wpdb->get_results($wpdb->prepare("SELECT `ad` FROM `".$wpdb->prefix."adrotate_linkmeta` WHERE `group` = %d AND `user` = 0;", $id));
287
  foreach($linkmeta as $meta) {
288
  $meta_array[] = $meta->ad;
289
  }
294
  // Add new ads to this group
295
  $insert = array_diff($ads,$meta_array);
296
  foreach($insert as &$value) {
297
+ $wpdb->insert($wpdb->prefix.'adrotate_linkmeta', array('ad' => $value, 'group' => $id, 'user' => 0));
298
  }
299
  unset($value);
300
 
301
  // Remove ads from this group
302
  $delete = array_diff($meta_array,$ads);
303
  foreach($delete as &$value) {
304
+ $wpdb->query($wpdb->prepare("DELETE FROM `".$wpdb->prefix."adrotate_linkmeta` WHERE `ad` = %d AND `group` = %d AND `user` = 0;", $value, $id));
305
  }
306
  unset($value);
307
 
471
  $wpdb->query($wpdb->prepare("DELETE FROM `".$wpdb->prefix."adrotate_linkmeta` WHERE `group` = %d;", $id));
472
  adrotate_prepare_evaluate_ads(false);
473
  } else if ($what == 'bannergroup') {
474
+ $linkmeta = $wpdb->get_results($wpdb->prepare("SELECT `ad` FROM `".$wpdb->prefix."adrotate_linkmeta` WHERE `group` = %d;", $id));
475
  foreach($linkmeta as $meta) {
476
  $wpdb->query("DELETE FROM `".$wpdb->prefix."adrotate` WHERE `id` = ".$meta->ad.";");
477
  $wpdb->query("DELETE FROM `".$wpdb->prefix."adrotate_stats` WHERE `ad` = ".$meta->ad.";");
542
  global $wpdb;
543
 
544
  if($id > 0) {
545
+ $schedule_id = $wpdb->get_var($wpdb->prepare("SELECT `schedule` FROM `".$wpdb->prefix."adrotate_linkmeta` WHERE `ad` = %d AND `group` = 0 AND `user` = 0 ORDER BY `id` DESC LIMIT 1;", $id));
546
  if($schedule_id > 0) {
547
  $wpdb->query("UPDATE `".$wpdb->prefix."adrotate_schedule` SET `stoptime` = `stoptime` + $howlong WHERE `id` = $schedule_id;");
548
  } else {
549
  $now = adrotate_now();
550
  $stoptime = $now + $howlong;
551
  $wpdb->insert($wpdb->prefix.'adrotate_schedule', array('name' => 'Schedule for ad '.$id, 'starttime' => $now, 'stoptime' => $stoptime, 'maxclicks' => 0, 'maximpressions' => 0));
552
+ $wpdb->insert($wpdb->prefix.'adrotate_linkmeta', array('ad' => $id, 'group' => 0, 'user' => 0, 'schedule' => $wpdb->insert_id));
553
  }
554
  }
555
  }
adrotate-output.php CHANGED
@@ -92,11 +92,11 @@ function adrotate_group($group_ids, $fallback = 0, $weight = 0, $site = 0) {
92
  (!is_array($group_ids)) ? $group_array = explode(",", $group_ids) : $group_array = $group_ids;
93
 
94
  foreach($group_array as $key => $value) {
95
- $group_select .= ' `'.$wpdb->prefix.'adrotate_linkmeta`.`group` = '.$value.' OR';
96
  }
97
  $group_select = rtrim($group_select, " OR");
98
 
99
- $group = $wpdb->get_row($wpdb->prepare("SELECT * FROM `".$wpdb->prefix."adrotate_groups` WHERE `name` != '' AND `id` = %d;", $group_array[0]));
100
 
101
  if($adrotate_debug['general'] == true) {
102
  echo "<p><strong>[DEBUG][adrotate_group] Selected group</strong><pre>";
@@ -106,31 +106,34 @@ function adrotate_group($group_ids, $fallback = 0, $weight = 0, $site = 0) {
106
 
107
  if($group) {
108
  if($fallback == 0) $fallback = $group->fallback;
109
- if($weight > 0) $weightoverride = " AND `".$wpdb->prefix."adrotate`.`weight` >= '$weight'";
110
 
 
 
 
 
111
  $ads = $wpdb->get_results(
112
  "SELECT
113
- `".$wpdb->prefix."adrotate`.`id`,
114
- `".$wpdb->prefix."adrotate`.`bannercode`,
115
- `".$wpdb->prefix."adrotate`.`link`,
116
- `".$wpdb->prefix."adrotate`.`image`,
117
- `".$wpdb->prefix."adrotate`.`responsive`,
118
- `".$wpdb->prefix."adrotate`.`tracker`,
119
- `".$wpdb->prefix."adrotate_linkmeta`.`group`
120
  FROM
121
- `".$wpdb->prefix."adrotate`,
122
- `".$wpdb->prefix."adrotate_linkmeta`
123
  WHERE
124
- (".$group_select.")
125
- AND `".$wpdb->prefix."adrotate_linkmeta`.`block` = 0
126
- AND `".$wpdb->prefix."adrotate_linkmeta`.`user` = 0
127
- AND `".$wpdb->prefix."adrotate`.`id` = `".$wpdb->prefix."adrotate_linkmeta`.`ad`
128
- AND (`".$wpdb->prefix."adrotate`.`type` = 'active'
129
- OR `".$wpdb->prefix."adrotate`.`type` = '2days'
130
- OR `".$wpdb->prefix."adrotate`.`type` = '7days')
131
- ".$weightoverride."
132
- GROUP BY `".$wpdb->prefix."adrotate`.`id`
133
- ORDER BY `".$wpdb->prefix."adrotate`.`id`;");
134
 
135
  if($ads) {
136
  if($adrotate_debug['general'] == true) {
@@ -162,10 +165,7 @@ function adrotate_group($group_ids, $fallback = 0, $weight = 0, $site = 0) {
162
  if($group->modus == 1) { // Dynamic ads
163
  $i = 1;
164
 
165
- // Determine the amount of ads to show for the group
166
- $amount = ($group->adspeed >= 10000) ? 5 : 10;
167
- $selected = adrotate_shuffle($selected, $amount);
168
-
169
  foreach($selected as $key => $banner) {
170
  $image = str_replace('%folder%', $adrotate_config['banner_folder'], $banner->image);
171
 
@@ -445,21 +445,8 @@ function adrotate_inject_posts($post_content) {
445
  Return: $output
446
  Since: 3.0
447
  -------------------------------------------------------------*/
448
- function adrotate_block($block_id, $weight = 0) {
449
- global $wpdb;
450
-
451
- $output = '';
452
- if($block_id) {
453
- $groups = $wpdb->get_results($wpdb->prepare("SELECT `group` FROM `".$wpdb->prefix."adrotate_linkmeta` WHERE `ad` = 0 AND `block` = %d AND `user` = 0;", $block_id));
454
- if($groups) {
455
- foreach($groups as $group) {
456
- $group_ids[] = $group->group;
457
- }
458
- $output .= adrotate_group($group_ids);
459
- }
460
- }
461
-
462
- return $output;
463
  }
464
 
465
  /*-------------------------------------------------------------
@@ -666,6 +653,7 @@ function adrotate_custom_css() {
666
  $groups = $wpdb->get_results("SELECT `id`, `modus`, `gridrows`, `gridcolumns`, `adwidth`, `adheight`, `admargin`, `align` FROM `".$wpdb->prefix."adrotate_groups` WHERE `name` != '' ORDER BY `id` ASC;");
667
  if($groups) {
668
  $output_css = "\t.g { margin:0px; padding:0px; overflow:hidden; line-height:1; zoom:1; }\n";
 
669
  $output_css .= "\t.g-col { position:relative; float:left; }\n";
670
  $output_css .= "\t.g-col:first-child { margin-left: 0; }\n";
671
  $output_css .= "\t.g-col:last-child { margin-right: 0; }\n";
@@ -853,13 +841,14 @@ function adrotate_notifications_dashboard() {
853
  }
854
  }
855
 
856
- if(isset($_GET['hide'])) update_option('adrotate_hide_banner', 1);
 
857
  if(isset($_GET['page'])) { $page = $_GET['page']; } else { $page = ''; }
858
 
859
- $banner = get_option('adrotate_hide_banner');
860
- if($banner != 1 AND $banner < (adrotate_now() - 604800) AND strpos($page, 'adrotate') !== false) {
861
  echo '<div class="updated" style="padding: 0; margin: 0; border-left: none;">';
862
- echo ' <div class="adrotate_pro_banner">';
863
  echo ' <div class="button_div">';
864
  echo ' <a class="button" target="_blank" href="https://ajdg.solutions/products/adrotate-for-wordpress/?utm_source=adrotate_free&utm_medium=adrotate_free_banner&utm_campaign=upgrade_adrotatefree">'.__('Learn More', 'adrotate').'</a>';
865
  echo ' </div>';
@@ -873,6 +862,24 @@ function adrotate_notifications_dashboard() {
873
  echo ' </div>';
874
  echo '</div>';
875
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
876
  }
877
  }
878
 
@@ -886,7 +893,7 @@ function adrotate_notifications_dashboard() {
886
  -------------------------------------------------------------*/
887
  function adrotate_welcome_pointer() {
888
  $pointer_content = '<h3>AdRotate '.ADROTATE_DISPLAY.'</h3>';
889
- $pointer_content .= '<p>'.__('Welcome, and thanks for using AdRotate Pro. Everything related to AdRotate Pro is in this menu. Check out the', 'adrotate').' <a href="http:\/\/ajdg.solutions\/manuals\/adrotate\/" target="_blank">'.__('manuals', 'adrotate').'</a> '.__('and', 'adrotate').' <a href="https:\/\/ajdg.solutions\/forums\/forum\/adrotate-for-wordpress\/" target="_blank">'.__('forums', 'adrotate').'</a>.</p>';
890
  $pointer_content .= '<p><strong>AdRotate Professional</strong><br />Did you know there is also a premium version of AdRotate? Learn how you can benefit from the <a href="admin.php?page=adrotate-pro" target="_blank">extra features</a>.</p>';
891
  ?>
892
  <script type="text/javascript">
@@ -925,10 +932,10 @@ function adrotate_help_info() {
925
  'title' => __('Useful Links'),
926
  'content' => '<h4>'.__('Useful links to learn more about AdRotate', 'adrotate').'</h4>'.
927
  '<ul>'.
928
- '<li><a href="https://ajdg.solutions/products/adrotate-for-wordpress/" target="_blank">'.__('AdRotate Page', 'adrotate').'</a>.</li>'.
929
- '<li><a href="https://ajdg.solutions/manuals/adrotate/getting-started-with-adrotate/" target="_blank">'.__('Getting Started With AdRotate', 'adrotate').'</a>.</li>'.
930
- '<li><a href="https://ajdg.solutions/manuals/adrotate/" target="_blank">'.__('AdRotate manuals', 'adrotate').'</a>.</li>'.
931
- '<li><a href="https://ajdg.solutions/forums/forum/adrotate-for-wordpress/" target="_blank">'.__('AdRotate Support Forum', 'adrotate').'</a>.</li>'.
932
  '<li><a href="http://wordpress.org/support/plugin/adrotate" target="_blank">'.__('WordPress.org Forum', 'adrotate').'</a>.</li>'.
933
  '</ul>'
934
  )
@@ -942,25 +949,6 @@ function adrotate_help_info() {
942
  );
943
  }
944
 
945
- /*-------------------------------------------------------------
946
- Name: adrotate_credits
947
-
948
- Purpose: Promotional stuff shown throughout the plugin
949
- Receive: -none-
950
- Return: -none-
951
- Since: 3.7
952
- -------------------------------------------------------------*/
953
- function adrotate_help_links() {
954
- echo '<h4>'.__('Useful links to learn more about AdRotate', 'adrotate').'</h4>';
955
- echo '<ul>';
956
- echo '<li><a href="https://ajdg.solutions/products/adrotate-for-wordpress/" target="_blank">'.__('AdRotate Website.', 'adrotate').'</a></li>';
957
- echo '<li><a href="https://ajdg.solutions/manuals/adrotate/getting-started-with-adrotate/" target="_blank">'.__('AdRotate Getting Started.', 'adrotate').'</a></li>';
958
- echo '<li><a href="https://ajdg.solutions/manuals/adrotate/" target="_blank">'.__('AdRotate Knoweledge base and manuals.', 'adrotate').'</a></li>';
959
- echo '<li><a href="https://ajdg.solutions/forums/" target="_blank">'.__('AdRotate Website Forum.', 'adrotate').'</a></li>';
960
- echo '<li><a href="http://wordpress.org/support/plugin/adrotate" target="_blank">'.__('WordPress.org Forum.', 'adrotate').'</a></li>';
961
- echo '</ul>';
962
- }
963
-
964
  /*-------------------------------------------------------------
965
  Name: adrotate_credits
966
 
@@ -984,8 +972,8 @@ function adrotate_credits() {
984
  echo '<td><center><a href="https://ajdg.solutions/products/adrotate-for-wordpress/?utm_source=adrotate_free&utm_medium=adrotate_credits&utm_campaign=adrotatefree" title="AdRotate plugin for WordPress"><img src="'.plugins_url('/images/adrotate-logo-60x60.png', __FILE__).'" alt="adrotate-logo-60x60" width="60" height="60" /></a></center></td>';
985
  echo '<td>'.__("A lot of users only think to review AdRotate when something goes wrong while thousands of people use AdRotate satisfactory. Don't let this go unnoticed.", 'adrotate').' <strong>'. __("If you find AdRotate useful please leave your honest", 'adrotate').' <a href="https://wordpress.org/support/view/plugin-reviews/adrotate?rate=5#postform" target="_blank">'.__('rating','adrotate').'</a> '.__('and','adrotate').' <a href="https://wordpress.org/support/view/plugin-reviews/adrotate" target="_blank">'.__('review','adrotate').'</a> '.__('on WordPress.org to help AdRotate grow in a positive way', 'adrotate').'!</strong></td>';
986
 
987
- echo '<td><center><a href="https://ajdg.solutions/" title="AJdG Solutions"><img src="'.plugins_url('/images/ajdg-logo-100x60.png', __FILE__).'" alt="ajdg-logo-100x60" width="100" height="60" /></a></center></td>';
988
- echo '<td><a href="https://ajdg.solutions/" title="AJdG Solutions">AJdG Solutions</a> - '.__('Your one stop for Webdevelopment, consultancy and anything WordPress! Find out more about what I can do for you!', 'adrotate').' '.__('Visit the', 'adrotate').' <a href="https://ajdg.solutions/" target="_blank">AJdG Solutions</a> '.__('website', 'adrotate').'</td>';
989
  echo '</tr>';
990
  echo '</tbody>';
991
 
92
  (!is_array($group_ids)) ? $group_array = explode(",", $group_ids) : $group_array = $group_ids;
93
 
94
  foreach($group_array as $key => $value) {
95
+ $group_select .= " `{$wpdb->prefix}adrotate_linkmeta`.`group` = {$value} OR";
96
  }
97
  $group_select = rtrim($group_select, " OR");
98
 
99
+ $group = $wpdb->get_row($wpdb->prepare("SELECT * FROM `{$wpdb->prefix}adrotate_groups` WHERE `name` != '' AND `id` = %d;", $group_array[0]));
100
 
101
  if($adrotate_debug['general'] == true) {
102
  echo "<p><strong>[DEBUG][adrotate_group] Selected group</strong><pre>";
106
 
107
  if($group) {
108
  if($fallback == 0) $fallback = $group->fallback;
109
+ if($weight > 0) $weightoverride = " AND `{$wpdb->prefix}adrotate`.`weight` >= '{$weight}'";
110
 
111
+ // Limit group to save resources
112
+ $amount = ($group->adspeed >= 10000) ? 10 : 20;
113
+
114
+ // Get all ads in all selected groups
115
  $ads = $wpdb->get_results(
116
  "SELECT
117
+ `{$wpdb->prefix}adrotate`.`id`,
118
+ `{$wpdb->prefix}adrotate`.`bannercode`,
119
+ `{$wpdb->prefix}adrotate`.`link`,
120
+ `{$wpdb->prefix}adrotate`.`image`,
121
+ `{$wpdb->prefix}adrotate`.`responsive`,
122
+ `{$wpdb->prefix}adrotate`.`tracker`,
123
+ `{$wpdb->prefix}adrotate_linkmeta`.`group`
124
  FROM
125
+ `{$wpdb->prefix}adrotate`,
126
+ `{$wpdb->prefix}adrotate_linkmeta`
127
  WHERE
128
+ ({$group_select})
129
+ AND `{$wpdb->prefix}adrotate_linkmeta`.`user` = 0
130
+ AND `{$wpdb->prefix}adrotate`.`id` = `{$wpdb->prefix}adrotate_linkmeta`.`ad`
131
+ AND (`{$wpdb->prefix}adrotate`.`type` = 'active'
132
+ OR `{$wpdb->prefix}adrotate`.`type` = '2days'
133
+ OR `{$wpdb->prefix}adrotate`.`type` = '7days')
134
+ {$weightoverride}
135
+ GROUP BY `{$wpdb->prefix}adrotate`.`id`
136
+ ORDER BY RAND() LIMIT {$amount};");
 
137
 
138
  if($ads) {
139
  if($adrotate_debug['general'] == true) {
165
  if($group->modus == 1) { // Dynamic ads
166
  $i = 1;
167
 
168
+ $selected = adrotate_shuffle($selected);
 
 
 
169
  foreach($selected as $key => $banner) {
170
  $image = str_replace('%folder%', $adrotate_config['banner_folder'], $banner->image);
171
 
445
  Return: $output
446
  Since: 3.0
447
  -------------------------------------------------------------*/
448
+ function adrotate_block($block_id = 0, $weight = 0) {
449
+ return null;
 
 
 
 
 
 
 
 
 
 
 
 
 
450
  }
451
 
452
  /*-------------------------------------------------------------
653
  $groups = $wpdb->get_results("SELECT `id`, `modus`, `gridrows`, `gridcolumns`, `adwidth`, `adheight`, `admargin`, `align` FROM `".$wpdb->prefix."adrotate_groups` WHERE `name` != '' ORDER BY `id` ASC;");
654
  if($groups) {
655
  $output_css = "\t.g { margin:0px; padding:0px; overflow:hidden; line-height:1; zoom:1; }\n";
656
+ $output_css .= "\t.g img { height:auto; }\n";
657
  $output_css .= "\t.g-col { position:relative; float:left; }\n";
658
  $output_css .= "\t.g-col:first-child { margin-left: 0; }\n";
659
  $output_css .= "\t.g-col:last-child { margin-right: 0; }\n";
841
  }
842
  }
843
 
844
+ if(isset($_GET['hide']) AND $_GET['hide'] == 1) update_option('adrotate_hide_banner', 1);
845
+ if(isset($_GET['hide']) AND $_GET['hide'] == 2) update_option('adrotate_hide_review', 1);
846
  if(isset($_GET['page'])) { $page = $_GET['page']; } else { $page = ''; }
847
 
848
+ $pro_banner = get_option('adrotate_hide_banner');
849
+ if($pro_banner != 1 AND $pro_banner < (adrotate_now() - 604800) AND strpos($page, 'adrotate') !== false) {
850
  echo '<div class="updated" style="padding: 0; margin: 0; border-left: none;">';
851
+ echo ' <div class="adrotate_banner">';
852
  echo ' <div class="button_div">';
853
  echo ' <a class="button" target="_blank" href="https://ajdg.solutions/products/adrotate-for-wordpress/?utm_source=adrotate_free&utm_medium=adrotate_free_banner&utm_campaign=upgrade_adrotatefree">'.__('Learn More', 'adrotate').'</a>';
854
  echo ' </div>';
862
  echo ' </div>';
863
  echo '</div>';
864
  }
865
+
866
+ $review_banner = get_option('adrotate_hide_review');
867
+ if($review_banner != 1 AND $review_banner < (adrotate_now() - 2419200) AND strpos($page, 'adrotate') !== false) {
868
+ echo '<div class="updated" style="padding: 0; margin: 0; border-left: none;">';
869
+ echo ' <div class="adrotate_banner">';
870
+ echo ' <div class="button_div">';
871
+ echo ' <a class="button" target="_blank" href="https://wordpress.org/support/view/plugin-reviews/adrotate?rate=5#postform">Rate AdRotate</a>';
872
+ echo ' </div>';
873
+ echo ' <div class="text">If you like <strong>AdRotate</strong> please let the world know that you do. Thanks for your support!<br />';
874
+ echo ' <span>If you have questions, suggestions or something else that doesn\'t belong in a review, please <a href="https://ajdg.solutions/forums/forum/adrotate-for-wordpress/?utm_source=adrotate_free&utm_medium=adrotate_review_banner&utm_campaign=get_help" target="_blank">get in touch</a>!</span>';
875
+ echo ' </div>';
876
+ echo ' <a class="close_banner" href="admin.php?page=adrotate&hide=2"><small>dismiss</small></a>';
877
+ echo ' <div class="icon">';
878
+ echo ' <img title="" src="'.plugins_url('images/adrotate-logo-60x60.png', __FILE__).'" alt=""/>';
879
+ echo ' </div>';
880
+ echo ' </div>';
881
+ echo '</div>';
882
+ }
883
  }
884
  }
885
 
893
  -------------------------------------------------------------*/
894
  function adrotate_welcome_pointer() {
895
  $pointer_content = '<h3>AdRotate '.ADROTATE_DISPLAY.'</h3>';
896
+ $pointer_content .= '<p>'.__('Welcome, and thanks for using AdRotate. Everything related to AdRotate is in this menu. Check out the', 'adrotate').' <a href="http:\/\/ajdg.solutions\/manuals\/adrotate\/" target="_blank">'.__('manuals', 'adrotate').'</a> '.__('and', 'adrotate').' <a href="https:\/\/ajdg.solutions\/forums\/forum\/adrotate-for-wordpress\/" target="_blank">'.__('forums', 'adrotate').'</a>.</p>';
897
  $pointer_content .= '<p><strong>AdRotate Professional</strong><br />Did you know there is also a premium version of AdRotate? Learn how you can benefit from the <a href="admin.php?page=adrotate-pro" target="_blank">extra features</a>.</p>';
898
  ?>
899
  <script type="text/javascript">
932
  'title' => __('Useful Links'),
933
  'content' => '<h4>'.__('Useful links to learn more about AdRotate', 'adrotate').'</h4>'.
934
  '<ul>'.
935
+ '<li><a href="https://ajdg.solutions/products/adrotate-for-wordpress/?utm_source=adrotate_free&utm_medium=adrotate_help_tab&utm_campaign=adrotate_link" target="_blank">'.__('AdRotate Page', 'adrotate').'</a>.</li>'.
936
+ '<li><a href="https://ajdg.solutions/manuals/adrotate/getting-started-with-adrotate/?utm_source=adrotate_free&utm_medium=adrotate_help_tab&utm_campaign=manuals" target="_blank">'.__('Getting Started With AdRotate', 'adrotate').'</a>.</li>'.
937
+ '<li><a href="https://ajdg.solutions/manuals/adrotate/?utm_source=adrotate_free&utm_medium=adrotate_help_tab&utm_campaign=manuals" target="_blank">'.__('AdRotate manuals', 'adrotate').'</a>.</li>'.
938
+ '<li><a href="https://ajdg.solutions/forums/forum/adrotate-for-wordpress/?utm_source=adrotate_free&utm_medium=adrotate_help_tab&utm_campaign=support" target="_blank">'.__('AdRotate Support Forum', 'adrotate').'</a>.</li>'.
939
  '<li><a href="http://wordpress.org/support/plugin/adrotate" target="_blank">'.__('WordPress.org Forum', 'adrotate').'</a>.</li>'.
940
  '</ul>'
941
  )
949
  );
950
  }
951
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
952
  /*-------------------------------------------------------------
953
  Name: adrotate_credits
954
 
972
  echo '<td><center><a href="https://ajdg.solutions/products/adrotate-for-wordpress/?utm_source=adrotate_free&utm_medium=adrotate_credits&utm_campaign=adrotatefree" title="AdRotate plugin for WordPress"><img src="'.plugins_url('/images/adrotate-logo-60x60.png', __FILE__).'" alt="adrotate-logo-60x60" width="60" height="60" /></a></center></td>';
973
  echo '<td>'.__("A lot of users only think to review AdRotate when something goes wrong while thousands of people use AdRotate satisfactory. Don't let this go unnoticed.", 'adrotate').' <strong>'. __("If you find AdRotate useful please leave your honest", 'adrotate').' <a href="https://wordpress.org/support/view/plugin-reviews/adrotate?rate=5#postform" target="_blank">'.__('rating','adrotate').'</a> '.__('and','adrotate').' <a href="https://wordpress.org/support/view/plugin-reviews/adrotate" target="_blank">'.__('review','adrotate').'</a> '.__('on WordPress.org to help AdRotate grow in a positive way', 'adrotate').'!</strong></td>';
974
 
975
+ echo '<td><center><a href="https://ajdg.solutions/?utm_source=adrotate_free&utm_medium=adrotate_credits&utm_campaign=ajdg_link" title="AJdG Solutions"><img src="'.plugins_url('/images/ajdg-logo-100x60.png', __FILE__).'" alt="ajdg-logo-100x60" width="100" height="60" /></a></center></td>';
976
+ echo '<td><a href="https://ajdg.solutions/?utm_source=adrotate_free&utm_medium=adrotate_credits&utm_campaign=ajdg_link" title="AJdG Solutions">AJdG Solutions</a> - '.__('Your one stop for Webdevelopment, consultancy and anything WordPress! Find out more about what I can do for you!', 'adrotate').' '.__('Visit the', 'adrotate').' <a href="https://ajdg.solutions/?utm_source=adrotate_free&utm_medium=adrotate_credits&utm_campaign=ajdg_link" target="_blank">AJdG Solutions</a> '.__('website', 'adrotate').'</td>';
977
  echo '</tr>';
978
  echo '</tbody>';
979
 
adrotate-setup.php CHANGED
@@ -72,6 +72,7 @@ function adrotate_activate_setup() {
72
  add_option('adrotate_responsive_required', 0);
73
  add_option('adrotate_dynamic_required', 0);
74
  add_option('adrotate_hide_banner', adrotate_now());
 
75
 
76
  adrotate_check_config();
77
 
@@ -134,6 +135,9 @@ function adrotate_deactivate_setup() {
134
  adrotate_remove_roles();
135
  }
136
 
 
 
 
137
  // Clean up capabilities from ALL users
138
  adrotate_remove_capability("adrotate_advertiser");
139
  adrotate_remove_capability("adrotate_global_report");
@@ -196,6 +200,8 @@ function adrotate_uninstall_setup() {
196
  delete_option('adrotate_db_version');
197
  delete_option('adrotate_debug');
198
  delete_option('adrotate_hide_license');
 
 
199
  delete_option('adrotate_notifications');
200
  delete_option('adrotate_geo_required');
201
  delete_option('adrotate_responsive_required');
@@ -248,7 +254,7 @@ function adrotate_check_upgrade() {
248
 
249
  if(version_compare(PHP_VERSION, '5.3.0', '<') == -1) {
250
  deactivate_plugins(plugin_basename('adrotate/adrotate.php'));
251
- wp_die('AdRotate 3.10.8 and up requires PHP 5.3 or higher. You have version '.PHP_VERSION.'. Contact your hosting provider about upgrading your server!<br /><a href="'. get_option('siteurl').'/wp-admin/plugins.php">Back to plugins</a>.');
252
  return;
253
  } else {
254
  $adrotate_db_version = get_option("adrotate_db_version");
@@ -256,6 +262,10 @@ function adrotate_check_upgrade() {
256
 
257
  // Check if there are tables with AdRotate in the name
258
  if($wpdb->get_var("SHOW TABLES LIKE '".$wpdb->prefix."adrotate%';")) {
 
 
 
 
259
  // Old version? Upgrade
260
  if(is_array($adrotate_db_version) AND $adrotate_db_version['current'] < ADROTATE_DB_VERSION) {
261
  adrotate_database_upgrade();
@@ -275,7 +285,7 @@ function adrotate_check_upgrade() {
275
  $ad_id = $wpdb->insert_id;
276
  $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));
277
  $schedule_id = $wpdb->insert_id;
278
- $wpdb->insert($wpdb->prefix.'adrotate_linkmeta', array('ad' => $ad_id, 'group' => 0, 'block' => 0, 'user' => 0, 'schedule' => $schedule_id));
279
  unset($ad_id, $schedule_id);
280
 
281
  // Demo ad 2
@@ -283,15 +293,15 @@ function adrotate_check_upgrade() {
283
  $ad_id = $wpdb->insert_id;
284
  $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));
285
  $schedule_id = $wpdb->insert_id;
286
- $wpdb->insert($wpdb->prefix.'adrotate_linkmeta', array('ad' => $ad_id, 'group' => 0, 'block' => 0, 'user' => 0, 'schedule' => $schedule_id));
287
  unset($ad_id, $schedule_id);
288
 
289
- // Demo ad 3 (FLoating Coconut)
290
  $wpdb->insert($wpdb->prefix."adrotate", array('title' => 'Visit floatingcoconut.net', 'bannercode' => '&lt;a href=\&quot;http:\/\/www.floatingcoconut.net\&quot;&gt;&lt;img src=\&quot;http://ajdg.solutions/assets/banners/floatingcoconut-horizontal.jpg\&quot; /&gt;&lt;/a&gt;', 'thetime' => $now, 'updated' => $now, 'author' => $current_user->user_login, 'imagetype' => '', 'image' => '', 'link' => '', 'tracker' => 'Y', 'responsive' => 'N', 'type' => 'active', 'weight' => 6, 'sortorder' => 0, 'cbudget' => 0, 'ibudget' => 0, 'crate' => 0, 'irate' => 0, 'cities' => serialize(array()), 'countries' => serialize(array())));
291
  $ad_id = $wpdb->insert_id;
292
  $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));
293
  $schedule_id = $wpdb->insert_id;
294
- $wpdb->insert($wpdb->prefix.'adrotate_linkmeta', array('ad' => $ad_id, 'group' => 0, 'block' => 0, 'user' => 0, 'schedule' => $schedule_id));
295
  unset($ad_id, $schedule_id);
296
  }
297
 
@@ -458,48 +468,43 @@ function adrotate_database_install() {
458
 
459
  dbDelta("CREATE TABLE IF NOT EXISTS `".$tables['adrotate_linkmeta']."` (
460
  `id` mediumint(8) unsigned NOT NULL auto_increment,
461
- `ad` int(5) NOT NULL default '0',
462
- `group` int(5) NOT NULL default '0',
463
- `block` int(5) NOT NULL default '0',
464
- `user` int(5) NOT NULL default '0',
465
- `schedule` int(5) NOT NULL default '0',
466
- PRIMARY KEY (`id`),
467
- KEY `schedule` (`schedule`),
468
- KEY `ad` (`ad`)
469
  ) ".$charset_collate.$engine.";");
470
 
471
  dbDelta("CREATE TABLE IF NOT EXISTS `".$tables['adrotate_schedule']."` (
472
  `id` int(8) unsigned NOT NULL auto_increment,
473
  `name` varchar(255) NOT NULL default '',
474
- `starttime` int(15) NOT NULL default '0',
475
- `stoptime` int(15) NOT NULL default '0',
476
- `maxclicks` int(15) NOT NULL default '0',
477
- `maximpressions` int(15) NOT NULL default '0',
478
  `spread` varchar(5) NOT NULL default 'N',
479
- `dayimpressions` int(15) NOT NULL default '0',
480
  PRIMARY KEY (`id`),
481
- KEY `starttime` (`starttime`),
482
- KEY `stoptime` (`stoptime`)
483
  ) ".$charset_collate.$engine.";");
484
 
485
  dbDelta("CREATE TABLE IF NOT EXISTS `".$tables['adrotate_stats']."` (
486
  `id` bigint(9) unsigned NOT NULL auto_increment,
487
- `ad` int(5) NOT NULL default '0',
488
- `group` int(5) NOT NULL default '0',
489
- `block` int(5) NOT NULL default '0',
490
- `thetime` int(15) NOT NULL default '0',
491
- `clicks` int(15) NOT NULL default '0',
492
- `impressions` int(15) NOT NULL default '0',
493
  PRIMARY KEY (`id`),
494
  INDEX `ad` (`ad`),
495
- INDEX `group` (`group`)
496
  ) ".$charset_collate.$engine.";");
497
 
498
  dbDelta("CREATE TABLE IF NOT EXISTS `".$tables['adrotate_tracker']."` (
499
  `id` bigint(9) unsigned NOT NULL auto_increment,
500
- `ipaddress` varchar(255) NOT NULL default '0',
501
- `timer` int(15) NOT NULL default '0',
502
- `bannerid` int(15) NOT NULL default '0',
503
  `stat` char(1) NOT NULL default 'c',
504
  `useragent` mediumtext NOT NULL,
505
  `country` text NOT NULL,
@@ -533,8 +538,6 @@ function adrotate_database_upgrade() {
533
  if($wpdb->get_var("SHOW TABLES LIKE '".$wpdb->prefix."adrotate_stats_tracker'")) {
534
  $wpdb->query("RENAME TABLE `".$wpdb->prefix."adrotate_stats_tracker` TO `".$wpdb->prefix."adrotate_stats`;");
535
  }
536
- adrotate_del_column($tables['adrotate_blocks'], 'gridborder');
537
- adrotate_del_column($tables['adrotate_blocks'], 'adpadding');
538
  }
539
 
540
  // Database: 25
@@ -544,7 +547,6 @@ function adrotate_database_upgrade() {
544
  $wpdb->query("CREATE INDEX `ipaddress` ON `".$tables['adrotate_tracker']."` (ipaddress);");
545
  $wpdb->query("CREATE INDEX `ad` ON `".$tables['adrotate_stats']."` (ad);");
546
  $wpdb->query("CREATE INDEX `thetime` ON `".$tables['adrotate_stats']."` (thetime);");
547
- $wpdb->query("CREATE INDEX `ad` ON `".$tables['adrotate_schedule']."` (ad);");
548
  }
549
 
550
  // Database: 26
@@ -556,13 +558,6 @@ function adrotate_database_upgrade() {
556
  adrotate_add_column($tables['adrotate'], 'irate', 'double NOT NULL default \'0\' AFTER `crate`');
557
  }
558
 
559
- // Database: 27
560
- // AdRotate: 3.8.3.1
561
- if($adrotate_db_version['current'] < 27) {
562
- $wpdb->query("ALTER TABLE `".$tables['adrotate_blocks']."` CHANGE `adwidth` `adwidth` varchar(6) NOT NULL DEFAULT '125';");
563
- $wpdb->query("ALTER TABLE `".$tables['adrotate_blocks']."` CHANGE `adheight` `adheight` varchar(6) NOT NULL DEFAULT '125';");
564
- }
565
-
566
  // Database: 30
567
  // AdRotate: 3.8.3.4
568
  if($adrotate_db_version['current'] < 30) {
@@ -570,12 +565,6 @@ function adrotate_database_upgrade() {
570
  adrotate_add_column($tables['adrotate_groups'], 'wrapper_after', 'longtext NOT NULL AFTER `wrapper_before`');
571
  }
572
 
573
- // Database: 31
574
- // AdRotate: 3.8.4
575
- if($adrotate_db_version['current'] < 31) {
576
- adrotate_add_column($tables['adrotate_groups'], 'token', 'varchar(10) NOT NULL default \'0\' AFTER `name`');
577
- }
578
-
579
  // Database: 32
580
  // AdRotate: 3.8.4.4
581
  if($adrotate_db_version['current'] < 32) {
@@ -615,7 +604,7 @@ function adrotate_database_upgrade() {
615
  adrotate_add_column($tables['adrotate_linkmeta'], 'schedule', 'int(5) NOT NULL default \'0\' AFTER `user`');
616
  $schedules = $wpdb->get_results("SELECT `id`, `ad` FROM ".$tables['adrotate_schedule']." ORDER BY `id` ASC;");
617
  foreach($schedules as $schedule) {
618
- $wpdb->insert($tables['adrotate_linkmeta'], array('ad' => $schedule->ad, 'group' => 0, 'block' => 0, 'user' => 0, 'schedule' => $schedule->id), array('%d', '%d', '%d', '%d', '%d'));
619
  unset($schedule);
620
  }
621
  unset($schedules);
@@ -677,26 +666,6 @@ function adrotate_database_upgrade() {
677
  adrotate_del_column($tables['adrotate'], 'timeframeimpressions');
678
  }
679
 
680
- // Database: 45
681
- // AdRotate: 3.10.11
682
- if($adrotate_db_version['current'] < 45) {
683
- if($wpdb->get_var("SHOW INDEX FROM `".$tables['adrotate_tracker']."` WHERE Key_name = 'bannerid';") === null) {
684
- $wpdb->query("CREATE INDEX `bannerid` ON `".$tables['adrotate_tracker']."` (bannerid);");
685
- }
686
- if($wpdb->get_var("SHOW INDEX FROM `".$tables['adrotate_linkmeta']."` WHERE Key_name = 'schedule';") === null) {
687
- $wpdb->query("CREATE INDEX `schedule` ON `".$tables['adrotate_linkmeta']."` (schedule);");
688
- }
689
- if($wpdb->get_var("SHOW INDEX FROM `".$tables['adrotate_stats']."` WHERE Key_name = 'starttime';") === null) {
690
- $wpdb->query("CREATE INDEX `starttime` ON `".$tables['adrotate_schedule']."` (starttime);");
691
- }
692
- if($wpdb->get_var("SHOW INDEX FROM `".$tables['adrotate_stats']."` WHERE Key_name = 'stoptime';") === null) {
693
- $wpdb->query("CREATE INDEX `stoptime` ON `".$tables['adrotate_schedule']."` (stoptime);");
694
- }
695
- if($wpdb->get_var("SHOW INDEX FROM `".$tables['adrotate_stats']."` WHERE Key_name = 'thetime';") === null) {
696
- $wpdb->query("CREATE INDEX `thetime` ON `".$tables['adrotate_stats']."` (thetime);");
697
- }
698
- }
699
-
700
  // Database: 46
701
  // AdRotate: 3.10.13
702
  if($adrotate_db_version['current'] < 46) {
@@ -704,11 +673,52 @@ function adrotate_database_upgrade() {
704
  }
705
 
706
  // Database: 47
707
- // AdRotate: 3.10.13
708
  if($adrotate_db_version['current'] < 47) {
709
  adrotate_add_column($tables['adrotate_groups'], 'align', 'tinyint(1) NOT NULL default \'0\' AFTER `wrapper_after`');
710
  }
711
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
712
  update_option("adrotate_db_version", array('current' => ADROTATE_DB_VERSION, 'previous' => $adrotate_db_version['current']));
713
  }
714
 
@@ -845,6 +855,14 @@ function adrotate_core_upgrade() {
845
  delete_option('adrotate_server_hide');
846
  }
847
 
 
 
 
 
 
 
 
 
848
  update_option("adrotate_version", array('current' => ADROTATE_VERSION, 'previous' => $adrotate_version['current']));
849
  }
850
 
@@ -900,7 +918,7 @@ function adrotate_cleanup_database() {
900
 
901
  // Clean up Tracker data
902
  $yesterday = $now - 2073600;
903
- $wpdb->query("DELETE FROM `".$wpdb->prefix."adrotate_tracker` WHERE `thetime` < $yesterday;");
904
 
905
  // Delete empty ads, groups and schedules
906
  $wpdb->query("DELETE FROM `".$wpdb->prefix."adrotate` WHERE `type` = 'empty' OR `type` = 'a_empty';");
72
  add_option('adrotate_responsive_required', 0);
73
  add_option('adrotate_dynamic_required', 0);
74
  add_option('adrotate_hide_banner', adrotate_now());
75
+ add_option('adrotate_hide_review', adrotate_now());
76
 
77
  adrotate_check_config();
78
 
135
  adrotate_remove_roles();
136
  }
137
 
138
+ update_option('adrotate_hide_banner', adrotate_now());
139
+ update_option('adrotate_hide_review', adrotate_now());
140
+
141
  // Clean up capabilities from ALL users
142
  adrotate_remove_capability("adrotate_advertiser");
143
  adrotate_remove_capability("adrotate_global_report");
200
  delete_option('adrotate_db_version');
201
  delete_option('adrotate_debug');
202
  delete_option('adrotate_hide_license');
203
+ delete_option('adrotate_hide_banner');
204
+ delete_option('adrotate_hide_review');
205
  delete_option('adrotate_notifications');
206
  delete_option('adrotate_geo_required');
207
  delete_option('adrotate_responsive_required');
254
 
255
  if(version_compare(PHP_VERSION, '5.3.0', '<') == -1) {
256
  deactivate_plugins(plugin_basename('adrotate/adrotate.php'));
257
+ wp_die('AdRotate 3.10.8 and up requires PHP 5.3 or higher. Your server reports version '.PHP_VERSION.'. Contact your hosting provider about upgrading your server!<br /><a href="'. get_option('siteurl').'/wp-admin/plugins.php">Back to plugins</a>.');
258
  return;
259
  } else {
260
  $adrotate_db_version = get_option("adrotate_db_version");
262
 
263
  // Check if there are tables with AdRotate in the name
264
  if($wpdb->get_var("SHOW TABLES LIKE '".$wpdb->prefix."adrotate%';")) {
265
+
266
+ // Install missing bits in database
267
+ adrotate_database_install();
268
+
269
  // Old version? Upgrade
270
  if(is_array($adrotate_db_version) AND $adrotate_db_version['current'] < ADROTATE_DB_VERSION) {
271
  adrotate_database_upgrade();
285
  $ad_id = $wpdb->insert_id;
286
  $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));
287
  $schedule_id = $wpdb->insert_id;
288
+ $wpdb->insert($wpdb->prefix.'adrotate_linkmeta', array('ad' => $ad_id, 'group' => 0, 'user' => 0, 'schedule' => $schedule_id));
289
  unset($ad_id, $schedule_id);
290
 
291
  // Demo ad 2
293
  $ad_id = $wpdb->insert_id;
294
  $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));
295
  $schedule_id = $wpdb->insert_id;
296
+ $wpdb->insert($wpdb->prefix.'adrotate_linkmeta', array('ad' => $ad_id, 'group' => 0, 'user' => 0, 'schedule' => $schedule_id));
297
  unset($ad_id, $schedule_id);
298
 
299
+ // Demo ad 3 (Floating Coconut)
300
  $wpdb->insert($wpdb->prefix."adrotate", array('title' => 'Visit floatingcoconut.net', 'bannercode' => '&lt;a href=\&quot;http:\/\/www.floatingcoconut.net\&quot;&gt;&lt;img src=\&quot;http://ajdg.solutions/assets/banners/floatingcoconut-horizontal.jpg\&quot; /&gt;&lt;/a&gt;', 'thetime' => $now, 'updated' => $now, 'author' => $current_user->user_login, 'imagetype' => '', 'image' => '', 'link' => '', 'tracker' => 'Y', 'responsive' => 'N', 'type' => 'active', 'weight' => 6, 'sortorder' => 0, 'cbudget' => 0, 'ibudget' => 0, 'crate' => 0, 'irate' => 0, 'cities' => serialize(array()), 'countries' => serialize(array())));
301
  $ad_id = $wpdb->insert_id;
302
  $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));
303
  $schedule_id = $wpdb->insert_id;
304
+ $wpdb->insert($wpdb->prefix.'adrotate_linkmeta', array('ad' => $ad_id, 'group' => 0, 'user' => 0, 'schedule' => $schedule_id));
305
  unset($ad_id, $schedule_id);
306
  }
307
 
468
 
469
  dbDelta("CREATE TABLE IF NOT EXISTS `".$tables['adrotate_linkmeta']."` (
470
  `id` mediumint(8) unsigned NOT NULL auto_increment,
471
+ `ad` int(5) unsigned NOT NULL default '0',
472
+ `group` int(5) unsigned NOT NULL default '0',
473
+ `user` int(5) unsigned NOT NULL default '0',
474
+ `schedule` int(5) unsigned NOT NULL default '0',
475
+ PRIMARY KEY (`id`)
 
 
 
476
  ) ".$charset_collate.$engine.";");
477
 
478
  dbDelta("CREATE TABLE IF NOT EXISTS `".$tables['adrotate_schedule']."` (
479
  `id` int(8) unsigned NOT NULL auto_increment,
480
  `name` varchar(255) NOT NULL default '',
481
+ `starttime` int(15) unsigned NOT NULL default '0',
482
+ `stoptime` int(15) unsigned NOT NULL default '0',
483
+ `maxclicks` int(15) unsigned NOT NULL default '0',
484
+ `maximpressions` int(15) unsigned NOT NULL default '0',
485
  `spread` varchar(5) NOT NULL default 'N',
486
+ `dayimpressions` int(15) unsigned NOT NULL default '0',
487
  PRIMARY KEY (`id`),
488
+ KEY `starttime` (`starttime`)
 
489
  ) ".$charset_collate.$engine.";");
490
 
491
  dbDelta("CREATE TABLE IF NOT EXISTS `".$tables['adrotate_stats']."` (
492
  `id` bigint(9) unsigned NOT NULL auto_increment,
493
+ `ad` int(5) unsigned NOT NULL default '0',
494
+ `group` int(5) unsigned NOT NULL default '0',
495
+ `thetime` int(15) unsigned NOT NULL default '0',
496
+ `clicks` int(15) unsigned NOT NULL default '0',
497
+ `impressions` int(15) unsigned NOT NULL default '0',
 
498
  PRIMARY KEY (`id`),
499
  INDEX `ad` (`ad`),
500
+ INDEX `thetime` (`thetime`)
501
  ) ".$charset_collate.$engine.";");
502
 
503
  dbDelta("CREATE TABLE IF NOT EXISTS `".$tables['adrotate_tracker']."` (
504
  `id` bigint(9) unsigned NOT NULL auto_increment,
505
+ `ipaddress` varchar(15) NOT NULL default '0',
506
+ `timer` int(15) unsigned NOT NULL default '0',
507
+ `bannerid` int(15) unsigned NOT NULL default '0',
508
  `stat` char(1) NOT NULL default 'c',
509
  `useragent` mediumtext NOT NULL,
510
  `country` text NOT NULL,
538
  if($wpdb->get_var("SHOW TABLES LIKE '".$wpdb->prefix."adrotate_stats_tracker'")) {
539
  $wpdb->query("RENAME TABLE `".$wpdb->prefix."adrotate_stats_tracker` TO `".$wpdb->prefix."adrotate_stats`;");
540
  }
 
 
541
  }
542
 
543
  // Database: 25
547
  $wpdb->query("CREATE INDEX `ipaddress` ON `".$tables['adrotate_tracker']."` (ipaddress);");
548
  $wpdb->query("CREATE INDEX `ad` ON `".$tables['adrotate_stats']."` (ad);");
549
  $wpdb->query("CREATE INDEX `thetime` ON `".$tables['adrotate_stats']."` (thetime);");
 
550
  }
551
 
552
  // Database: 26
558
  adrotate_add_column($tables['adrotate'], 'irate', 'double NOT NULL default \'0\' AFTER `crate`');
559
  }
560
 
 
 
 
 
 
 
 
561
  // Database: 30
562
  // AdRotate: 3.8.3.4
563
  if($adrotate_db_version['current'] < 30) {
565
  adrotate_add_column($tables['adrotate_groups'], 'wrapper_after', 'longtext NOT NULL AFTER `wrapper_before`');
566
  }
567
 
 
 
 
 
 
 
568
  // Database: 32
569
  // AdRotate: 3.8.4.4
570
  if($adrotate_db_version['current'] < 32) {
604
  adrotate_add_column($tables['adrotate_linkmeta'], 'schedule', 'int(5) NOT NULL default \'0\' AFTER `user`');
605
  $schedules = $wpdb->get_results("SELECT `id`, `ad` FROM ".$tables['adrotate_schedule']." ORDER BY `id` ASC;");
606
  foreach($schedules as $schedule) {
607
+ $wpdb->insert($tables['adrotate_linkmeta'], array('ad' => $schedule->ad, 'group' => 0, 'user' => 0, 'schedule' => $schedule->id), array('%d', '%d', '%d', '%d', '%d'));
608
  unset($schedule);
609
  }
610
  unset($schedules);
666
  adrotate_del_column($tables['adrotate'], 'timeframeimpressions');
667
  }
668
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
669
  // Database: 46
670
  // AdRotate: 3.10.13
671
  if($adrotate_db_version['current'] < 46) {
673
  }
674
 
675
  // Database: 47
676
+ // AdRotate: 3.10.18
677
  if($adrotate_db_version['current'] < 47) {
678
  adrotate_add_column($tables['adrotate_groups'], 'align', 'tinyint(1) NOT NULL default \'0\' AFTER `wrapper_after`');
679
  }
680
 
681
+ // Database: 48
682
+ // AdRotate: 3.11.2b2
683
+ if($adrotate_db_version['current'] < 48) {
684
+ if($wpdb->get_var("SHOW INDEX FROM `".$tables['adrotate_tracker']."` WHERE Key_name = 'bannerid';") !== null) {
685
+ $wpdb->query("ALTER TABLE `".$tables['adrotate_tracker']."` DROP KEY `bannerid`;");
686
+ }
687
+ if($wpdb->get_var("SHOW INDEX FROM `".$tables['adrotate_schedule']."` WHERE Key_name = 'stoptime';") !== null) {
688
+ $wpdb->query("ALTER TABLE `".$tables['adrotate_schedule']."` DROP KEY `stoptime`;");
689
+ }
690
+ if($wpdb->get_var("SHOW INDEX FROM `".$tables['adrotate_schedule']."` WHERE Key_name = 'ad';") !== null) {
691
+ $wpdb->query("ALTER TABLE `".$tables['adrotate_schedule']."` DROP KEY `ad`;");
692
+ }
693
+ adrotate_del_column($tables['adrotate_stats'], 'block');
694
+ adrotate_del_column($tables['adrotate_linkmeta'], 'block');
695
+ }
696
+
697
+ // Database: 49
698
+ // AdRotate: 3.11.2b3
699
+ if($adrotate_db_version['current'] < 49) {
700
+ $wpdb->query("ALTER TABLE `".$tables['adrotate_stats']."` CHANGE `ad` `ad` INT(5) UNSIGNED NOT NULL DEFAULT '0';");
701
+ $wpdb->query("ALTER TABLE `".$tables['adrotate_stats']."` CHANGE `group` `group` INT(5) UNSIGNED NOT NULL DEFAULT '0';");
702
+ $wpdb->query("ALTER TABLE `".$tables['adrotate_stats']."` CHANGE `thetime` `thetime` INT(15) UNSIGNED NOT NULL DEFAULT '0';");
703
+ $wpdb->query("ALTER TABLE `".$tables['adrotate_stats']."` CHANGE `clicks` `clicks` INT(15) UNSIGNED NOT NULL DEFAULT '0';");
704
+ $wpdb->query("ALTER TABLE `".$tables['adrotate_stats']."` CHANGE `impressions` `impressions` INT(15) UNSIGNED NOT NULL DEFAULT '0';");
705
+
706
+ $wpdb->query("ALTER TABLE `".$tables['adrotate_tracker']."` CHANGE `ipaddress` `ipaddress` char(15) NOT NULL DEFAULT '';");
707
+ $wpdb->query("ALTER TABLE `".$tables['adrotate_tracker']."` CHANGE `timer` `timer` INT(15) UNSIGNED NOT NULL DEFAULT '0';");
708
+ $wpdb->query("ALTER TABLE `".$tables['adrotate_tracker']."` CHANGE `bannerid` `bannerid` INT(15) UNSIGNED NOT NULL DEFAULT '0';");
709
+
710
+ $wpdb->query("ALTER TABLE `".$tables['adrotate_schedule']."` CHANGE `starttime` `starttime` INT(15) UNSIGNED NOT NULL DEFAULT '0';");
711
+ $wpdb->query("ALTER TABLE `".$tables['adrotate_schedule']."` CHANGE `stoptime` `stoptime` INT(15) UNSIGNED NOT NULL DEFAULT '0';");
712
+ $wpdb->query("ALTER TABLE `".$tables['adrotate_schedule']."` CHANGE `maxclicks` `maxclicks` INT(15) UNSIGNED NOT NULL DEFAULT '0';");
713
+ $wpdb->query("ALTER TABLE `".$tables['adrotate_schedule']."` CHANGE `maximpressions` `maximpressions` INT(15) UNSIGNED NOT NULL DEFAULT '0';");
714
+ $wpdb->query("ALTER TABLE `".$tables['adrotate_schedule']."` CHANGE `dayimpressions` `dayimpressions` INT(15) UNSIGNED NOT NULL DEFAULT '0';");
715
+
716
+ $wpdb->query("ALTER TABLE `".$tables['adrotate_linkmeta']."` CHANGE `ad` `ad` INT(5) UNSIGNED NOT NULL DEFAULT '0';");
717
+ $wpdb->query("ALTER TABLE `".$tables['adrotate_linkmeta']."` CHANGE `group` `group` INT(5) UNSIGNED NOT NULL DEFAULT '0';");
718
+ $wpdb->query("ALTER TABLE `".$tables['adrotate_linkmeta']."` CHANGE `user` `user` INT(5) UNSIGNED NOT NULL DEFAULT '0';");
719
+ $wpdb->query("ALTER TABLE `".$tables['adrotate_linkmeta']."` CHANGE `schedule` `schedule` INT(5) UNSIGNED NOT NULL DEFAULT '0';");
720
+ }
721
+
722
  update_option("adrotate_db_version", array('current' => ADROTATE_DB_VERSION, 'previous' => $adrotate_db_version['current']));
723
  }
724
 
855
  delete_option('adrotate_server_hide');
856
  }
857
 
858
+ // 3.11.2
859
+ if($adrotate_version['current'] < 378) {
860
+ // Reset wp-cron tasks
861
+ if(!wp_next_scheduled('adrotate_notification')) wp_schedule_event($firstrun, 'daily', 'adrotate_notification');
862
+ if(!wp_next_scheduled('adrotate_clean_trackerdata')) wp_schedule_event($firstrun + 1800, 'twicedaily', 'adrotate_clean_trackerdata');
863
+ if(!wp_next_scheduled('adrotate_evaluate_ads')) wp_schedule_event($firstrun + 3600, 'twicedaily', 'adrotate_evaluate_ads');
864
+ }
865
+
866
  update_option("adrotate_version", array('current' => ADROTATE_VERSION, 'previous' => $adrotate_version['current']));
867
  }
868
 
918
 
919
  // Clean up Tracker data
920
  $yesterday = $now - 2073600;
921
+ $wpdb->query("DELETE FROM `".$wpdb->prefix."adrotate_tracker` WHERE `timer` < $yesterday;");
922
 
923
  // Delete empty ads, groups and schedules
924
  $wpdb->query("DELETE FROM `".$wpdb->prefix."adrotate` WHERE `type` = 'empty' OR `type` = 'a_empty';");
adrotate-widget.php CHANGED
@@ -35,9 +35,11 @@ class adrotate_widgets extends WP_Widget {
35
  global $adrotate_config, $blog_id;
36
 
37
  extract($args);
38
- $title = apply_filters('widget_title', $instance['title']);
39
  if(empty($instance['adid'])) $instance['adid'] = 0;
40
  if(empty($instance['siteid'])) $instance['siteid'] = $blog_id;
 
 
 
41
 
42
  echo $before_widget;
43
  if($title) {
35
  global $adrotate_config, $blog_id;
36
 
37
  extract($args);
 
38
  if(empty($instance['adid'])) $instance['adid'] = 0;
39
  if(empty($instance['siteid'])) $instance['siteid'] = $blog_id;
40
+ if(empty($instance['title'])) $instance['title'] = '';
41
+
42
+ $title = apply_filters('widget_title', $instance['title']);
43
 
44
  echo $before_widget;
45
  if($title) {
adrotate.php CHANGED
@@ -4,8 +4,8 @@ Plugin Name: AdRotate
4
  Plugin URI: https://ajdg.solutions/products/adrotate-for-wordpress/
5
  Author: Arnan de Gans of AJdG Solutions
6
  Author URI: http://ajdg.solutions/
7
- Description: The very best and most convenient way to publish your ads.
8
- Version: 3.11.1
9
  License: GPLv3
10
  */
11
 
@@ -20,9 +20,9 @@ License: GPLv3
20
  ------------------------------------------------------------------------------------ */
21
 
22
  /*--- AdRotate values ---------------------------------------*/
23
- define("ADROTATE_DISPLAY", '3.11.1');
24
- define("ADROTATE_VERSION", 377);
25
- define("ADROTATE_DB_VERSION", 47);
26
  define("ADROTATE_FOLDER", 'adrotate');
27
  /*-----------------------------------------------------------*/
28
 
4
  Plugin URI: https://ajdg.solutions/products/adrotate-for-wordpress/
5
  Author: Arnan de Gans of AJdG Solutions
6
  Author URI: http://ajdg.solutions/
7
+ Description: Used on over a hundred thousand websites and by even more people! AdRotate is the popular choice for monetizing your website with adverts while keeping things simple.
8
+ Version: 3.11.2
9
  License: GPLv3
10
  */
11
 
20
  ------------------------------------------------------------------------------------ */
21
 
22
  /*--- AdRotate values ---------------------------------------*/
23
+ define("ADROTATE_DISPLAY", '3.11.2');
24
+ define("ADROTATE_VERSION", 378);
25
+ define("ADROTATE_DB_VERSION", 49);
26
  define("ADROTATE_FOLDER", 'adrotate');
27
  /*-----------------------------------------------------------*/
28
 
dashboard/adrotate-info.php CHANGED
@@ -126,15 +126,25 @@ $data = get_option("adrotate_advert_status");
126
  </td>
127
  </tr>
128
  </tbody>
129
- </table>
130
 
131
- <div class="versions">
132
- <span id="adrotate-version-message"><?php _e('You are using', 'adrotate'); ?> <strong>AdRotate <?php echo ADROTATE_DISPLAY; ?></strong>.</span>
133
- <br class="clear">
134
- </div>
 
 
 
 
 
 
 
 
 
 
 
135
  </div>
136
  </div>
137
-
138
  <h3><?php _e('AdRotate News and Developer Blog', 'adrotate'); ?></h3>
139
  <div class="postbox-adrotate">
140
  <div class="inside">
@@ -155,6 +165,13 @@ $data = get_option("adrotate_advert_status");
155
  <div id="postbox-container-3" class="postbox-container" style="width:50%;">
156
  <div id="side-sortables" class="meta-box-sortables ui-sortable">
157
 
 
 
 
 
 
 
 
158
  <h3><?php _e('Buy AdRotate Professional', 'adrotate'); ?></h3>
159
  <div class="postbox-adrotate">
160
  <div class="inside">
@@ -162,28 +179,12 @@ $data = get_option("adrotate_advert_status");
162
  <p><h4><?php _e('Singe License', 'adrotate'); ?> (&euro; 29.00)</h4><?php _e('For one WordPress installation.', 'adrotate'); ?> <a href="https://ajdg.solutions/cart/?add-to-cart=1124&utm_source=adrotate_free&utm_medium=adrotate_info_page&utm_campaign=buy_single" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
163
  <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_source=adrotate_free&utm_medium=adrotate_info_page&utm_campaign=buy_duo" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
164
  <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_source=adrotate_free&utm_medium=adrotate_info_page&utm_campaign=buy_multi" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
165
- <p><h4><?php _e('Developer License', 'adrotate'); ?> (&euro; 299.00)</h4><?php _e('Activate AdRotate on unlimited WordPress installations and/or networks.', 'adrotate'); ?> <a href="https://ajdg.solutions/cart/?add-to-cart=1130&utm_source=adrotate_free&utm_medium=adrotate_info_page&utm_campaign=buy_developer" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
166
  <p><h4><?php _e('Network License', 'adrotate'); ?> (&euro; 199.00)</h4><?php _e('Set up your own advertising network on a WordPress Multisite.', 'adrotate'); ?> <a href="https://ajdg.solutions/cart/?add-to-cart=1132&utm_source=adrotate_free&utm_medium=adrotate_info_page&utm_campaign=buy_network" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
167
  <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_source=adrotate_free&utm_medium=adrotate_info_page&utm_campaign=compare_license" target="_blank"><?php _e('All Licenses', 'adrotate'); ?> &raquo;</a></p>
168
  </div>
169
  </div>
170
 
171
- <h3><?php _e('Get more features with AdRotate Pro', 'adrotate'); ?></h3>
172
- <div class="postbox-adrotate">
173
- <div class="inside">
174
- <p><a href="https://ajdg.solutions/products/adrotate-for-wordpress/?utm_source=adrotate_free&utm_medium=adrotate_info_page&utm_campaign=upgrade_adrotatefree" title="AdRotate plugin for WordPress"><img src="<?php echo WP_CONTENT_URL; ?>/plugins/adrotate/images/adrotate-logo-60x60.png" alt="adrotate-logo-60x60" width="60" height="60" align="left" style="padding: 0 10px 10px 0;" /></a><?php _e('Benefit from extra features to reinforce your income with advertising campaigns. Make the most of your website with the powerful tools AdRotate Pro offers on top of the trusted features included in the free version.', 'adrotate'); ?></p>
175
- <p><?php _e('Learn more about', 'adrotate'); ?> <a href="admin.php?page=adrotate-pro">AdRotate Pro</a> <?php _e('or go to the', 'adrotate'); ?> <a href="https://ajdg.solutions/products/adrotate-for-wordpress/?utm_source=adrotate_free&utm_medium=adrotate_info_page&utm_campaign=upgrade_adrotatefree" target="_blank">AdRotate <?php _e('website', 'adrotate'); ?> &raquo;</a></p>
176
- </div>
177
- </div>
178
-
179
- <h3><?php _e('Support AdRotate', 'adrotate'); ?></h3>
180
- <div class="postbox-adrotate">
181
- <div class="inside">
182
- <p><center><?php _e('Your gift will ensure the continued development of AdRotate!', 'adrotate'); ?></center></p>
183
- <p><center><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=paypal%40ajdg%2enet&item_name=AdRotate%20One-time%20Donation&item_number=000&no_shipping=0&no_note=0&tax=0&currency_code=EUR&bn=PP%2dDonationsBF&charset=UTF%2d8" target="_blank"><img src="http://www.paypal.com/en_US/i/btn/btn_donate_LG.gif" /></a></center></p>
184
- </div>
185
- </div>
186
-
187
  <h3><?php _e('AdRotate is brought to you by', 'adrotate'); ?></h3>
188
  <div class="postbox-adrotate">
189
  <div class="inside">
126
  </td>
127
  </tr>
128
  </tbody>
 
129
 
130
+ <thead>
131
+ <tr class="first">
132
+ <td colspan="2"><strong><?php _e('Support AdRotate', 'adrotate'); ?></strong></td>
133
+ </tr>
134
+ </thead>
135
+
136
+ <tbody>
137
+ <tr class="first">
138
+ <td colspan="2">
139
+ <p><center><?php _e('Your gift helps ensure the continued development of AdRotate!', 'adrotate'); ?><br /><?php _e("Can't donate funds? Consider writing a review instead. Thank you!", 'adrotate'); ?></center></p>
140
+ <p><center><a class="button-primary" href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=paypal%40ajdg%2enet&item_name=AdRotate%20One-time%20Donation&item_number=000&no_shipping=0&no_note=0&tax=0&currency_code=EUR&bn=PP%2dDonationsBF&charset=UTF%2d8" target="_blank">Donate 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></p>
141
+ </td>
142
+ </tr>
143
+ </tbody>
144
+ </table>
145
  </div>
146
  </div>
147
+
148
  <h3><?php _e('AdRotate News and Developer Blog', 'adrotate'); ?></h3>
149
  <div class="postbox-adrotate">
150
  <div class="inside">
165
  <div id="postbox-container-3" class="postbox-container" style="width:50%;">
166
  <div id="side-sortables" class="meta-box-sortables ui-sortable">
167
 
168
+ <h3><?php _e('Get more features with AdRotate Pro', 'adrotate'); ?></h3>
169
+ <div class="postbox-adrotate">
170
+ <div class="inside">
171
+ <p><a href="https://ajdg.solutions/products/adrotate-for-wordpress/?utm_source=adrotate_free&utm_medium=adrotate_info_page&utm_campaign=upgrade_adrotatefree" title="AdRotate plugin for WordPress"><img src="<?php echo WP_CONTENT_URL; ?>/plugins/adrotate/images/adrotate-logo-60x60.png" alt="adrotate-logo-60x60" width="60" height="60" align="left" style="padding: 0 10px 10px 0;" /></a><?php _e('Benefit from extra features to reinforce your income with advertising campaigns. Make the most of your website with the powerful tools AdRotate Pro offers on top of the trusted features included in the free version.', 'adrotate'); ?> <?php _e('Want to know more about', 'adrotate'); ?> <a href="admin.php?page=adrotate-pro">AdRotate Pro</a>? <?php _e('Visit the', 'adrotate'); ?> <a href="https://ajdg.solutions/products/adrotate-for-wordpress/?utm_source=adrotate_free&utm_medium=adrotate_info_page&utm_campaign=upgrade_adrotatefree" target="_blank">AdRotate <?php _e('website', 'adrotate'); ?></a>.</p>
172
+ </div>
173
+ </div>
174
+
175
  <h3><?php _e('Buy AdRotate Professional', 'adrotate'); ?></h3>
176
  <div class="postbox-adrotate">
177
  <div class="inside">
179
  <p><h4><?php _e('Singe License', 'adrotate'); ?> (&euro; 29.00)</h4><?php _e('For one WordPress installation.', 'adrotate'); ?> <a href="https://ajdg.solutions/cart/?add-to-cart=1124&utm_source=adrotate_free&utm_medium=adrotate_info_page&utm_campaign=buy_single" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
180
  <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_source=adrotate_free&utm_medium=adrotate_info_page&utm_campaign=buy_duo" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
181
  <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_source=adrotate_free&utm_medium=adrotate_info_page&utm_campaign=buy_multi" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
182
+ <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_source=adrotate_free&utm_medium=adrotate_info_page&utm_campaign=buy_developer" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
183
  <p><h4><?php _e('Network License', 'adrotate'); ?> (&euro; 199.00)</h4><?php _e('Set up your own advertising network on a WordPress Multisite.', 'adrotate'); ?> <a href="https://ajdg.solutions/cart/?add-to-cart=1132&utm_source=adrotate_free&utm_medium=adrotate_info_page&utm_campaign=buy_network" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
184
  <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_source=adrotate_free&utm_medium=adrotate_info_page&utm_campaign=compare_license" target="_blank"><?php _e('All Licenses', 'adrotate'); ?> &raquo;</a></p>
185
  </div>
186
  </div>
187
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
188
  <h3><?php _e('AdRotate is brought to you by', 'adrotate'); ?></h3>
189
  <div class="postbox-adrotate">
190
  <div class="inside">
dashboard/publisher/adrotate-ads-edit.php CHANGED
@@ -16,15 +16,15 @@ if(!$ad_edit_id) {
16
  $edit_id = $wpdb->insert_id;
17
  $wpdb->insert($wpdb->prefix.'adrotate_schedule', array('name' => 'Schedule for ad '.$edit_id, 'starttime' => $now, 'stoptime' => $in84days, 'maxclicks' => 0, 'maximpressions' => 0));
18
  $schedule_id = $wpdb->insert_id;
19
- $wpdb->insert($wpdb->prefix.'adrotate_linkmeta', array('ad' => $edit_id, 'group' => 0, 'block' => 0, 'user' => 0, 'schedule' => $schedule_id));
20
  }
21
  $ad_edit_id = $edit_id;
22
  }
23
 
24
  $edit_banner = $wpdb->get_row("SELECT * FROM `".$wpdb->prefix."adrotate` WHERE `id` = '$ad_edit_id';");
25
  $groups = $wpdb->get_results("SELECT * FROM `".$wpdb->prefix."adrotate_groups` WHERE `name` != '' ORDER BY `sortorder` ASC, `id` ASC;");
26
- $schedules = $wpdb->get_row("SELECT `".$wpdb->prefix."adrotate_schedule`.`id`, `starttime`, `stoptime`, `maxclicks`, `maximpressions` FROM `".$wpdb->prefix."adrotate_schedule`, `".$wpdb->prefix."adrotate_linkmeta` WHERE `ad` = $edit_banner->id AND `group` = 0 AND `block` = 0 AND `user` = 0 AND `schedule` = `".$wpdb->prefix."adrotate_schedule`.`id` ORDER BY `".$wpdb->prefix."adrotate_schedule`.`id` ASC LIMIT 1;");
27
- $linkmeta = $wpdb->get_results("SELECT `group` FROM `".$wpdb->prefix."adrotate_linkmeta` WHERE `ad` = '$edit_banner->id' AND `block` = 0 AND `user` = 0 AND `schedule` = 0;");
28
 
29
  wp_enqueue_media();
30
  wp_enqueue_script('uploader-hook', plugins_url().'/'.ADROTATE_FOLDER.'/library/uploader-hook.js', array('jquery'));
@@ -467,7 +467,7 @@ if($edit_banner->imagetype == "field") {
467
  if($group->cat_loc > 0 OR $group->page_loc > 0) $modus[] = __('Post Injection', 'adrotate');
468
  if($group->geo == 1 AND $adrotate_config['enable_geo'] > 0) $modus[] = __('Geolocation', 'adrotate');
469
 
470
- $ads_in_group = $wpdb->get_var("SELECT COUNT(*) FROM `".$wpdb->prefix."adrotate_linkmeta` WHERE `group` = ".$group->id." AND `block` = 0 AND `user` = 0 AND `schedule` = 0;");
471
  $class = ('alternate' != $class) ? 'alternate' : ''; ?>
472
  <tr id='group-<?php echo $group->id; ?>' class=' <?php echo $class; ?>'>
473
  <th class="check-column" width="2%"><input type="checkbox" name="groupselect[]" value="<?php echo $group->id; ?>" <?php if(in_array($group->id, $meta_array)) echo "checked"; ?> /></th>
16
  $edit_id = $wpdb->insert_id;
17
  $wpdb->insert($wpdb->prefix.'adrotate_schedule', array('name' => 'Schedule for ad '.$edit_id, 'starttime' => $now, 'stoptime' => $in84days, 'maxclicks' => 0, 'maximpressions' => 0));
18
  $schedule_id = $wpdb->insert_id;
19
+ $wpdb->insert($wpdb->prefix.'adrotate_linkmeta', array('ad' => $edit_id, 'group' => 0, 'user' => 0, 'schedule' => $schedule_id));
20
  }
21
  $ad_edit_id = $edit_id;
22
  }
23
 
24
  $edit_banner = $wpdb->get_row("SELECT * FROM `".$wpdb->prefix."adrotate` WHERE `id` = '$ad_edit_id';");
25
  $groups = $wpdb->get_results("SELECT * FROM `".$wpdb->prefix."adrotate_groups` WHERE `name` != '' ORDER BY `sortorder` ASC, `id` ASC;");
26
+ $schedules = $wpdb->get_row("SELECT `".$wpdb->prefix."adrotate_schedule`.`id`, `starttime`, `stoptime`, `maxclicks`, `maximpressions` FROM `".$wpdb->prefix."adrotate_schedule`, `".$wpdb->prefix."adrotate_linkmeta` WHERE `ad` = $edit_banner->id AND `group` = 0 AND `user` = 0 AND `schedule` = `".$wpdb->prefix."adrotate_schedule`.`id` ORDER BY `".$wpdb->prefix."adrotate_schedule`.`id` ASC LIMIT 1;");
27
+ $linkmeta = $wpdb->get_results("SELECT `group` FROM `".$wpdb->prefix."adrotate_linkmeta` WHERE `ad` = '$edit_banner->id' AND `user` = 0 AND `schedule` = 0;");
28
 
29
  wp_enqueue_media();
30
  wp_enqueue_script('uploader-hook', plugins_url().'/'.ADROTATE_FOLDER.'/library/uploader-hook.js', array('jquery'));
467
  if($group->cat_loc > 0 OR $group->page_loc > 0) $modus[] = __('Post Injection', 'adrotate');
468
  if($group->geo == 1 AND $adrotate_config['enable_geo'] > 0) $modus[] = __('Geolocation', 'adrotate');
469
 
470
+ $ads_in_group = $wpdb->get_var("SELECT COUNT(*) FROM `".$wpdb->prefix."adrotate_linkmeta` WHERE `group` = ".$group->id." AND `user` = 0 AND `schedule` = 0;");
471
  $class = ('alternate' != $class) ? 'alternate' : ''; ?>
472
  <tr id='group-<?php echo $group->id; ?>' class=' <?php echo $class; ?>'>
473
  <th class="check-column" width="2%"><input type="checkbox" name="groupselect[]" value="<?php echo $group->id; ?>" <?php if(in_array($group->id, $meta_array)) echo "checked"; ?> /></th>
dashboard/publisher/adrotate-groups-edit.php CHANGED
@@ -25,7 +25,7 @@
25
  $edit_group = $wpdb->get_row("SELECT * FROM `".$wpdb->prefix."adrotate_groups` WHERE `id` = '$group_edit_id';");
26
  $groups = $wpdb->get_results("SELECT * FROM `".$wpdb->prefix."adrotate_groups` WHERE `name` != '' ORDER BY `id` ASC;");
27
  $ads = $wpdb->get_results("SELECT `id`, `title`, `tracker`, `weight`, `crate`, `cbudget`, `irate`, `ibudget`, `type` FROM `".$wpdb->prefix."adrotate` WHERE (`type` != 'empty' AND `type` != 'a_empty') ORDER BY `id` ASC;");
28
- $linkmeta = $wpdb->get_results("SELECT `ad` FROM `".$wpdb->prefix."adrotate_linkmeta` WHERE `group` = '$group_edit_id' AND `block` = 0 AND `user` = 0;");
29
 
30
  $meta_array = '';
31
  foreach($linkmeta as $meta) {
25
  $edit_group = $wpdb->get_row("SELECT * FROM `".$wpdb->prefix."adrotate_groups` WHERE `id` = '$group_edit_id';");
26
  $groups = $wpdb->get_results("SELECT * FROM `".$wpdb->prefix."adrotate_groups` WHERE `name` != '' ORDER BY `id` ASC;");
27
  $ads = $wpdb->get_results("SELECT `id`, `title`, `tracker`, `weight`, `crate`, `cbudget`, `irate`, `ibudget`, `type` FROM `".$wpdb->prefix."adrotate` WHERE (`type` != 'empty' AND `type` != 'a_empty') ORDER BY `id` ASC;");
28
+ $linkmeta = $wpdb->get_results("SELECT `ad` FROM `".$wpdb->prefix."adrotate_linkmeta` WHERE `group` = '$group_edit_id' AND `user` = 0;");
29
 
30
  $meta_array = '';
31
  foreach($linkmeta as $meta) {
dashboard/publisher/adrotate-groups-main.php CHANGED
@@ -61,7 +61,7 @@
61
  if($group->cat_loc > 0 OR $group->page_loc > 0) $modus[] = __('Post Injection', 'adrotate');
62
  if($group->geo == 1) $modus[] = __('Geolocation', 'adrotate');
63
 
64
- $ads_in_group = $wpdb->get_var("SELECT COUNT(*) FROM `".$wpdb->prefix."adrotate_linkmeta` WHERE `group` = ".$group->id." AND `block` = 0;");
65
  $class = ('alternate' != $class) ? 'alternate' : ''; ?>
66
  <tr class='<?php echo $class; ?>'>
67
  <th class="check-column"><input type="checkbox" name="groupcheck[]" value="<?php echo $group->id; ?>" /></th>
61
  if($group->cat_loc > 0 OR $group->page_loc > 0) $modus[] = __('Post Injection', 'adrotate');
62
  if($group->geo == 1) $modus[] = __('Geolocation', 'adrotate');
63
 
64
+ $ads_in_group = $wpdb->get_var("SELECT COUNT(*) FROM `".$wpdb->prefix."adrotate_linkmeta` WHERE `group` = ".$group->id.";");
65
  $class = ('alternate' != $class) ? 'alternate' : ''; ?>
66
  <tr class='<?php echo $class; ?>'>
67
  <th class="check-column"><input type="checkbox" name="groupcheck[]" value="<?php echo $group->id; ?>" /></th>
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: 2014-12-15 01:11+0100\n"
6
- "PO-Revision-Date: 2015-01-11 22:29+0200\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"
@@ -13,23 +13,23 @@ msgstr ""
13
  "X-Poedit-KeywordsList: __;_e;_\n"
14
  "X-Poedit-Basepath: ..\n"
15
  "X-Poedit-SourceCharset: UTF-8\n"
16
- "X-Generator: Poedit 1.7.1\n"
17
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
18
  "X-Poedit-SearchPath-0: .\n"
19
 
20
- #: adrotate-functions.php:806
21
  msgid "No files found"
22
  msgstr "Няма намерени файлове"
23
 
24
- #: adrotate-functions.php:809
25
  msgid "Folder not found or not accessible"
26
  msgstr "Папката не е намерена или не е достъпна"
27
 
28
- #: adrotate-output.php:724
29
  msgid "Oh no! Something went wrong!"
30
  msgstr "О не! Нещо се случи!"
31
 
32
- #: adrotate-output.php:725
33
  msgid ""
34
  "WordPress was unable to verify the authenticity of the url you have clicked. "
35
  "Verify if the url used is valid or log in via your browser."
@@ -38,17 +38,17 @@ msgstr ""
38
  "кликнал. Проверете дали адреса е валиден или се впишете посредством браузъра "
39
  "си."
40
 
41
- #: adrotate-output.php:726
42
  msgid ""
43
  "If you have received the url you want to visit via email, you are being "
44
  "tricked!"
45
  msgstr "Ако сте получили този адрес по email, то някой ви е изиграл!"
46
 
47
- #: adrotate-output.php:727
48
  msgid "Contact support if the issue persists:"
49
  msgstr "Свържете се с поддръжката, ако този проблем продължави да се появява:"
50
 
51
- #: adrotate-output.php:745
52
  msgid ""
53
  "Error, Ad is not available at this time due to schedule/geolocation "
54
  "restrictions or does not exist!"
@@ -56,33 +56,33 @@ msgstr ""
56
  "Грешка, рекламата не е налична в момента, поради ограничения в графика/"
57
  "геолокацията или не съществува!"
58
 
59
- #: adrotate-output.php:747
60
  msgid ""
61
  "Error, Ad is not available at this time due to schedule/geolocation "
62
  "restrictions!"
63
  msgstr ""
64
  "Грешка, рекламата не е налична, поради ограничения в графика/геолокацията!"
65
 
66
- #: adrotate-output.php:754 adrotate-output.php:756
67
  msgid ""
68
  "Either there are no banners, they are disabled or none qualified for this "
69
  "location!"
70
  msgstr ""
71
  "Няма налични банери, те са деактивирани или не са подходящи за това място!"
72
 
73
- #: adrotate-output.php:762
74
  msgid "Error, no Ad ID set! Check your syntax!"
75
  msgstr "Грешка, не е зададено ID на рекламата! Проверете синтаксиса!"
76
 
77
- #: adrotate-output.php:768
78
  msgid "Error, no group ID set! Check your syntax!"
79
  msgstr "Грешка, не е зададено ID на групата! Проверете синтаксиса!"
80
 
81
- #: adrotate-output.php:773
82
  msgid "Error, group does not exist! Check your syntax!"
83
  msgstr "Грешка, групата не съществува! Проверете синтаксиса!"
84
 
85
- #: adrotate-output.php:779
86
  msgid ""
87
  "There was an error locating the database tables for AdRotate. Please "
88
  "deactivate and re-activate AdRotate from the plugin page!!"
@@ -90,59 +90,59 @@ msgstr ""
90
  "Не могат да бъдат открити таблиците на AdRotate в базата данни. Моля, "
91
  "изключете и включете наново AdRotate от страницата с плъгините!!"
92
 
93
- #: adrotate-output.php:779
94
  msgid "If this does not solve the issue please seek support at"
95
  msgstr "Ако това не решава проблема, моля потърсете помощ на"
96
 
97
- #: adrotate-output.php:785
98
  msgid "An unknown error occured."
99
  msgstr "Възникна неизвестна грешка."
100
 
101
- #: adrotate-output.php:811
102
  msgid "active ad(s) expired."
103
  msgstr "изтекла/и активна/и реклама/и."
104
 
105
- #: adrotate-output.php:811
106
  msgid "Take action now"
107
  msgstr "Предприемане на действия"
108
 
109
- #: adrotate-output.php:813
110
  msgid "active ad(s) are about to expire."
111
  msgstr "изтичаща/и активна/и реклама/и."
112
 
113
- #: adrotate-output.php:813
114
  msgid "Check it out"
115
  msgstr "Проверете го"
116
 
117
- #: adrotate-output.php:815
118
  msgid "active ad(s) with configuration errors."
119
  msgstr "активна(и) реклама(и) с грешни настройки."
120
 
121
- #: adrotate-output.php:815
122
  msgid "Solve this"
123
  msgstr "Разреши това"
124
 
125
- #: adrotate-output.php:817
126
  msgid "ad(s) expired."
127
  msgstr "изтекла/и реклама/и."
128
 
129
- #: adrotate-output.php:817
130
  msgid "ad(s) are about to expire."
131
  msgstr "реклама/и изтича(т)."
132
 
133
- #: adrotate-output.php:817
134
  msgid "ad(s) with configuration errors."
135
  msgstr "реклама/и с грешни настройки."
136
 
137
- #: adrotate-output.php:817
138
  msgid "Fix this as soon as possible"
139
  msgstr "Поправка възможно най-скоро"
140
 
141
- #: adrotate-output.php:829
142
  msgid "Learn More"
143
  msgstr "Научете повече"
144
 
145
- #: adrotate-output.php:831
146
  msgid ""
147
  "You've been using <strong>AdRotate</strong> for a while now. Why not upgrade "
148
  "to the <strong>PRO</strong> version"
@@ -150,72 +150,71 @@ msgstr ""
150
  "Използвате <strong>AdRotate</strong> от известно време. Защо не надградите "
151
  "до <strong>PRO</strong> версията"
152
 
153
- #: adrotate-output.php:832
154
  msgid "Get more features to even better run your advertising campaigns."
155
  msgstr ""
156
  "Вземете повече опции за дори по-добро управление на вашите рекламни кампании."
157
 
158
- #: adrotate-output.php:832
159
  msgid "Thank you for your consideration!"
160
  msgstr "Благодарим Ви, че го обмислихте!"
161
 
162
- #: adrotate-output.php:890
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
163
  msgid "Useful Links"
164
  msgstr "Полезни връзки"
165
 
166
- #: adrotate-output.php:891 adrotate-output.php:919
167
  msgid "Useful links to learn more about AdRotate"
168
  msgstr "Полезни връзки, за да получите повече информация за AdRotate"
169
 
170
- #: adrotate-output.php:893
171
- msgid "AdRotate Website"
172
- msgstr "Уебсайт на AdRotate"
173
 
174
- #: adrotate-output.php:894
175
  msgid "Getting Started With AdRotate"
176
  msgstr "Започнете от нулата с AdRotate Pro"
177
 
178
- #: adrotate-output.php:895
179
- msgid "AdRotate Knowledge base and manuals"
180
- msgstr "AdRotate помощна информация и упътвания"
181
 
182
- #: adrotate-output.php:896
183
  msgid "AdRotate Support Forum"
184
  msgstr "Форум за поддръжка на AdRotate"
185
 
186
- #: adrotate-output.php:897
187
  msgid "WordPress.org Forum"
188
  msgstr "WordPress.org форум"
189
 
190
- #: adrotate-output.php:921
191
- msgid "AdRotate Website."
192
- msgstr "Уебсайт на AdRotate."
193
-
194
- #: adrotate-output.php:922
195
- msgid "AdRotate Getting Started."
196
- msgstr "Започнете от нулата с AdRotate."
197
-
198
- #: adrotate-output.php:923
199
- msgid "AdRotate Knoweledge base and manuals."
200
- msgstr "AdRotate помощна информация и упътвания."
201
-
202
- #: adrotate-output.php:924
203
- msgid "AdRotate Website Forum."
204
- msgstr "Форум на сайта на AdRotate."
205
-
206
- #: adrotate-output.php:925
207
- msgid "WordPress.org Forum."
208
- msgstr "WordPress.org форум."
209
-
210
- #: adrotate-output.php:942
211
  msgid "Help AdRotate Grow"
212
  msgstr "Помогнете за развитието на AdRotate"
213
 
214
- #: adrotate-output.php:943
215
  msgid "Brought to you by"
216
  msgstr "Достига до Вас благодарение на"
217
 
218
- #: adrotate-output.php:950
219
  msgid ""
220
  "A lot of users only think to review AdRotate when something goes wrong while "
221
  "thousands of people use AdRotate satisfactory. Don't let this go unnoticed."
@@ -224,27 +223,23 @@ msgstr ""
224
  "се обърка, докато хиляди хора използват AdRotate безпроблемно. Не оставяйте "
225
  "това да остане незабелязано."
226
 
227
- #: adrotate-output.php:950
228
  msgid "If you find AdRotate useful please leave your honest"
229
  msgstr "Ако намирате AdRotate за полезен, моля оставете честна"
230
 
231
- #: adrotate-output.php:950
232
  msgid "rating"
233
  msgstr "оценка"
234
 
235
- #: adrotate-output.php:950 dashboard/publisher/adrotate-ads-edit.php:228
236
- msgid "and"
237
- msgstr "и"
238
-
239
- #: adrotate-output.php:950
240
  msgid "review"
241
  msgstr "мнение"
242
 
243
- #: adrotate-output.php:950
244
  msgid "on WordPress.org to help AdRotate grow in a positive way"
245
  msgstr "на WordPress.org, за да се развива AdRotate"
246
 
247
- #: adrotate-output.php:953
248
  msgid ""
249
  "Your one stop for Webdevelopment, consultancy and anything WordPress! Find "
250
  "out more about what I can do for you!"
@@ -252,87 +247,87 @@ msgstr ""
252
  "Мястото, където да се консултирате и/или да поръчате разработка за "
253
  "WordPress! Открийте с какво мога да Ви бъда полезен!"
254
 
255
- #: adrotate-output.php:953
256
  msgid "Visit the"
257
  msgstr "Посетете"
258
 
259
- #: adrotate-output.php:953 dashboard/adrotate-info.php:179
260
  msgid "website"
261
  msgstr "уебсайт"
262
 
263
- #: adrotate-output.php:983
264
  msgid "Available in AdRotate Pro"
265
  msgstr "Налично в AdRotate Pro"
266
 
267
- #: adrotate-output.php:983
268
  msgid "More information..."
269
  msgstr "Повече информация..."
270
 
271
- #: adrotate-output.php:984
272
  msgid "This feature is available in AdRotate Pro"
273
  msgstr "Тази функционалност е налична в AdRotate Pro"
274
 
275
- #: adrotate-output.php:984
276
  msgid "Learn more"
277
  msgstr "Повече информация"
278
 
279
- #: adrotate-statistics.php:217 dashboard/publisher/adrotate-ads-edit.php:330
280
- #: dashboard/publisher/adrotate-ads-edit.php:351
281
  msgid "January"
282
  msgstr "Януари"
283
 
284
- #: adrotate-statistics.php:217 dashboard/publisher/adrotate-ads-edit.php:331
285
- #: dashboard/publisher/adrotate-ads-edit.php:352
286
  msgid "February"
287
  msgstr "Февруари"
288
 
289
- #: adrotate-statistics.php:217 dashboard/publisher/adrotate-ads-edit.php:332
290
- #: dashboard/publisher/adrotate-ads-edit.php:353
291
  msgid "March"
292
  msgstr "Март"
293
 
294
- #: adrotate-statistics.php:217 dashboard/publisher/adrotate-ads-edit.php:333
295
- #: dashboard/publisher/adrotate-ads-edit.php:354
296
  msgid "April"
297
  msgstr "Април"
298
 
299
- #: adrotate-statistics.php:217 dashboard/publisher/adrotate-ads-edit.php:334
300
- #: dashboard/publisher/adrotate-ads-edit.php:355
301
  msgid "May"
302
  msgstr "Май"
303
 
304
- #: adrotate-statistics.php:217 dashboard/publisher/adrotate-ads-edit.php:335
305
- #: dashboard/publisher/adrotate-ads-edit.php:356
306
  msgid "June"
307
  msgstr "Юни"
308
 
309
- #: adrotate-statistics.php:217 dashboard/publisher/adrotate-ads-edit.php:336
310
- #: dashboard/publisher/adrotate-ads-edit.php:357
311
  msgid "July"
312
  msgstr "Юли"
313
 
314
- #: adrotate-statistics.php:217 dashboard/publisher/adrotate-ads-edit.php:337
315
- #: dashboard/publisher/adrotate-ads-edit.php:358
316
  msgid "August"
317
  msgstr "Август"
318
 
319
- #: adrotate-statistics.php:217 dashboard/publisher/adrotate-ads-edit.php:338
320
- #: dashboard/publisher/adrotate-ads-edit.php:359
321
  msgid "September"
322
  msgstr "Септември"
323
 
324
- #: adrotate-statistics.php:217 dashboard/publisher/adrotate-ads-edit.php:339
325
- #: dashboard/publisher/adrotate-ads-edit.php:360
326
  msgid "October"
327
  msgstr "Октомври"
328
 
329
- #: adrotate-statistics.php:217 dashboard/publisher/adrotate-ads-edit.php:340
330
- #: dashboard/publisher/adrotate-ads-edit.php:361
331
  msgid "November"
332
  msgstr "Ноември"
333
 
334
- #: adrotate-statistics.php:217 dashboard/publisher/adrotate-ads-edit.php:341
335
- #: dashboard/publisher/adrotate-ads-edit.php:362
336
  msgid "December"
337
  msgstr "Декември"
338
 
@@ -352,51 +347,51 @@ msgstr "Следващ"
352
  msgid "No data to show!"
353
  msgstr "Няма информация!"
354
 
355
- #: adrotate-widget.php:115
356
  msgid "Title (optional):"
357
  msgstr "Заглавие (не е задължително):"
358
 
359
- #: adrotate-widget.php:118
360
  msgid "HTML will be stripped out."
361
  msgstr "HTML тагове не се поддържат."
362
 
363
- #: adrotate-widget.php:121
364
  msgid "Description (optional):"
365
  msgstr "Описание (не е задължително):"
366
 
367
- #: adrotate-widget.php:124
368
  msgid "What is this widget used for? (Not parsed, HTML will be stripped out.)"
369
  msgstr "За какво се използва тази джаджа? (Не се поддържат HTML тагове.)"
370
 
371
- #: adrotate-widget.php:127
372
  msgid "Type:"
373
  msgstr "Тип:"
374
 
375
- #: adrotate-widget.php:129
376
  msgid "Single Ad - Use Ad ID"
377
  msgstr "Единична реклама - Използване на ID на рекламата"
378
 
379
- #: adrotate-widget.php:130
380
  msgid "Group of Ads - Use group ID"
381
  msgstr "Група реклами - Използване на ID на групата"
382
 
383
- #: adrotate-widget.php:133
384
  msgid "Choose what you want to use this widget for"
385
  msgstr "Изберете за какво иската да използвате тази джаджа"
386
 
387
- #: adrotate-widget.php:136 dashboard/publisher/adrotate-groups-edit.php:52
388
  msgid "ID:"
389
  msgstr "ID:"
390
 
391
- #: adrotate-widget.php:139
392
  msgid "Fill in the ID of the type you want to display!"
393
  msgstr "Попълнете ID-то на типа, който искате да се показва!"
394
 
395
- #: adrotate.php:107
396
  msgid "General Info"
397
  msgstr "Обща информация"
398
 
399
- #: adrotate.php:108
400
  msgid "AdRotate Pro"
401
  msgstr "AdRotate Pro"
402
 
@@ -404,64 +399,64 @@ msgstr "AdRotate Pro"
404
  msgid "Manage Ads"
405
  msgstr "Управление на реклами"
406
 
407
- #: adrotate.php:112 dashboard/publisher/adrotate-groups-main.php:12
408
  msgid "Manage Groups"
409
  msgstr "Управление на групи"
410
 
411
- #: adrotate.php:114 adrotate.php:445
412
- #: dashboard/publisher/adrotate-ads-edit.php:401
413
  msgid "Manage Schedules"
414
  msgstr "Управление на графици"
415
 
416
- #: adrotate.php:115
417
  msgid "Manage Media"
418
  msgstr "Управление на Медия"
419
 
420
- #: adrotate.php:118 adrotate.php:612
421
  msgid "Settings"
422
  msgstr "Настройки"
423
 
424
- #: adrotate.php:141
425
  msgid "AdRotate Info"
426
  msgstr "AdRotate Info"
427
 
428
- #: adrotate.php:162
429
  msgid "AdRotate Professional"
430
  msgstr "AdRotate Professional"
431
 
432
- #: adrotate.php:205
433
  msgid "Ad Management"
434
  msgstr "Управление на реклами"
435
 
436
- #: adrotate.php:208
437
  msgid "Ad created"
438
  msgstr "Рекламата е създадена"
439
 
440
- #: adrotate.php:210
441
  msgid "Ad updated"
442
  msgstr "Рекламата е обновена"
443
 
444
- #: adrotate.php:212
445
  msgid "Ad(s) deleted"
446
  msgstr "Успешно изтриване"
447
 
448
- #: adrotate.php:214
449
  msgid "Ad(s) statistics reset"
450
  msgstr "Статистиката е нулирана"
451
 
452
- #: adrotate.php:216
453
  msgid "Ad(s) renewed"
454
  msgstr "Успешно подновяване"
455
 
456
- #: adrotate.php:218
457
  msgid "Ad(s) deactivated"
458
  msgstr "Успешно деактивиране"
459
 
460
- #: adrotate.php:220
461
  msgid "Ad(s) activated"
462
  msgstr "Успешно активиране"
463
 
464
- #: adrotate.php:222
465
  msgid ""
466
  "The ad was saved but has an issue which might prevent it from working "
467
  "properly. Review the yellow marked ad."
@@ -469,51 +464,51 @@ msgstr ""
469
  "Рекламата е запазена, но има проблеми, които могат да ѝ попречат да работи "
470
  "нормално. Прегледайте рекламата маркирана в жълто."
471
 
472
- #: adrotate.php:224
473
  msgid "Export created"
474
  msgstr "Експорта е завършен"
475
 
476
- #: adrotate.php:228
477
  msgid "Action prohibited"
478
  msgstr "Забранено действие"
479
 
480
- #: adrotate.php:230 adrotate.php:378
481
  msgid "No data found in selected time period"
482
  msgstr "Не е намерена информация за избрания период"
483
 
484
- #: adrotate.php:288 adrotate.php:384 adrotate.php:440
485
  msgid "Manage"
486
  msgstr "Управление"
487
 
488
- #: adrotate.php:289 adrotate.php:385 adrotate.php:441
489
  msgid "Add New"
490
  msgstr "Добавяне"
491
 
492
- #: adrotate.php:367
493
  msgid "Group Management"
494
  msgstr "Управление на групи"
495
 
496
- #: adrotate.php:370
497
  msgid "Group created"
498
  msgstr "Групата е създадена"
499
 
500
- #: adrotate.php:372
501
  msgid "Group updated"
502
  msgstr "Групата е обновена"
503
 
504
- #: adrotate.php:374
505
  msgid "Group deleted"
506
  msgstr "Групата е изтрита"
507
 
508
- #: adrotate.php:376
509
  msgid "Group including it's Ads deleted"
510
  msgstr "Групата и съдържащите се в нея реклами са изтрити"
511
 
512
- #: adrotate.php:436
513
  msgid "Schedule Management available in AdRotate Pro"
514
  msgstr "Управление с графици е налично в AdRotate Pro"
515
 
516
- #: adrotate.php:446
517
  msgid ""
518
  "Schedule management and multiple schedules per advert is available in "
519
  "AdRotate Pro."
@@ -521,87 +516,85 @@ msgstr ""
521
  "Управлението на графици и множество графици за една реклама са налични в "
522
  "AdRotate Pro."
523
 
524
- #: adrotate.php:446 adrotate.php:533
525
- #: dashboard/publisher/adrotate-ads-edit.php:144
526
  #: dashboard/publisher/adrotate-ads-main.php:108
527
  #: dashboard/publisher/adrotate-groups-edit.php:76
528
  #: dashboard/publisher/adrotate-groups-main.php:87
529
  msgid "More information"
530
  msgstr "Повече информация"
531
 
532
- #: adrotate.php:453 dashboard/publisher/adrotate-ads-main-disabled.php:20
533
  #: dashboard/publisher/adrotate-ads-main-error.php:19
534
  #: dashboard/publisher/adrotate-ads-main.php:20
535
  #: dashboard/publisher/adrotate-groups-main.php:20
536
  msgid "Bulk Actions"
537
  msgstr "Масови действия"
538
 
539
- #: adrotate.php:454 dashboard/publisher/adrotate-ads-main-disabled.php:25
540
  #: dashboard/publisher/adrotate-ads-main-error.php:29
541
  #: dashboard/publisher/adrotate-ads-main.php:30
542
  #: dashboard/publisher/adrotate-groups-main.php:24
543
  msgid "Go"
544
  msgstr "Напред"
545
 
546
- #: adrotate.php:463 dashboard/publisher/adrotate-ads-edit.php:407
547
  #: dashboard/publisher/adrotate-ads-main-disabled.php:35
548
  #: dashboard/publisher/adrotate-ads-main-error.php:39
549
  #: dashboard/publisher/adrotate-ads-main.php:39
550
  #: dashboard/publisher/adrotate-groups-main.php:32
551
- #: dashboard/server/adrotate-active.php:18
552
- #: dashboard/server/adrotate-error.php:18
553
  msgid "ID"
554
  msgstr "ID"
555
 
556
- #: adrotate.php:464
557
  msgid "Start"
558
  msgstr "Начало"
559
 
560
- #: adrotate.php:464
561
  msgid "End"
562
  msgstr "Край"
563
 
564
- #: adrotate.php:465 dashboard/publisher/adrotate-ads-edit.php:474
565
  #: dashboard/publisher/adrotate-groups-main.php:34
566
  msgid "Ads"
567
  msgstr "Реклами"
568
 
569
- #: adrotate.php:467
570
  msgid "Max Clicks"
571
  msgstr "Максимум кликове"
572
 
573
- #: adrotate.php:468
574
  msgid "Max Impressions"
575
  msgstr "Максимум импресии"
576
 
577
- #: adrotate.php:498
578
  msgid "No schedules created yet!"
579
  msgstr "Все още няма създадени графици!"
580
 
581
- #: adrotate.php:503
582
  msgid "Easily manage your schedules from here with AdRotate Pro."
583
  msgstr "Можете лесно да управлявате графиците си от тук с AdRotate Pro."
584
 
585
- #: adrotate.php:503 adrotate.php:566
586
  msgid "Upgrade today!"
587
  msgstr "Надградете днес!"
588
 
589
- #: adrotate.php:506 dashboard/publisher/adrotate-ads-edit.php:437
590
  #: dashboard/publisher/adrotate-ads-main-error.php:74
591
- #: dashboard/publisher/adrotate-groups-edit.php:385
592
  msgid "Expires soon."
593
  msgstr "Изтича скоро."
594
 
595
- #: adrotate.php:507 dashboard/publisher/adrotate-ads-main-error.php:75
596
- #: dashboard/publisher/adrotate-groups-edit.php:386
597
  msgid "Has expired."
598
  msgstr "Изтекла."
599
 
600
- #: adrotate.php:531
601
  msgid "Media Management available in AdRotate Pro"
602
  msgstr "Управление на медия е налично в AdRotate Pro"
603
 
604
- #: adrotate.php:533
605
  msgid ""
606
  "Upload images to the AdRotate Pro banners folder from here. This is "
607
  "especially useful if you use responsive adverts with multiple images."
@@ -609,27 +602,27 @@ msgstr ""
609
  "Качете картинки в папката за банери на AdRotate Pro от тук. Това е особено "
610
  "полезно, ако използвате responsive реклами с няколко картинки."
611
 
612
- #: adrotate.php:533
613
  msgid "Media uploading and management is available in AdRotate Pro."
614
  msgstr "Управлението и качването на медия са налични в AdRotate Pro."
615
 
616
- #: adrotate.php:535
617
  msgid "Upload new banner image"
618
  msgstr "Качване на нова картинка на банера"
619
 
620
- #: adrotate.php:536
621
  msgid "Accepted files are:"
622
  msgstr "Приемат се следните файлове:"
623
 
624
- #: adrotate.php:536
625
  msgid "Maximum size is 512Kb."
626
  msgstr "Максималния размер е 512Kb."
627
 
628
- #: adrotate.php:536
629
  msgid "Important:"
630
  msgstr "Важно:"
631
 
632
- #: adrotate.php:536
633
  msgid ""
634
  "Make sure your file has no spaces or special characters in the name. Replace "
635
  "spaces with a - or _."
@@ -637,7 +630,7 @@ msgstr ""
637
  "Уверете се, че файла няма интервали и специални знаци в името си. Заместете "
638
  "интервалите с - или _."
639
 
640
- #: adrotate.php:538
641
  msgid ""
642
  "For responsive adverts make sure the filename is in the following format; "
643
  "\"imagename.full.ext\". A full set of sized images is strongly recommended."
@@ -646,7 +639,7 @@ msgstr ""
646
  "формат: \"imagename.full.ext\". Пълен набор от правилно оразмерени картинки "
647
  "е строго препоръчителен."
648
 
649
- #: adrotate.php:539 dashboard/publisher/adrotate-ads-edit.php:211
650
  msgid ""
651
  "For smaller size images use \".320\", \".480\", \".768\" or \".1024\" in the "
652
  "filename instead of \".full\" for the various viewports."
@@ -655,13 +648,13 @@ msgstr ""
655
  "използвайте \".320\", \".480\", \".768\" или \".1024\" в имената на "
656
  "файловете, вместо \".full\"."
657
 
658
- #: adrotate.php:540 dashboard/publisher/adrotate-ads-edit.php:212
659
- #: dashboard/publisher/adrotate-groups-edit.php:320
660
- #: dashboard/publisher/adrotate-groups-edit.php:329
661
  msgid "Example:"
662
  msgstr "Пример:"
663
 
664
- #: adrotate.php:540
665
  msgid ""
666
  "image.full.jpg, image.320.jpg and image.768.jpg will serve the same advert "
667
  "for different viewports."
@@ -669,189 +662,171 @@ msgstr ""
669
  "image.full.jpg, image.320.jpg и image.768.jpg ще се използват от една и съща "
670
  "реклама в различни резолюции на екрана."
671
 
672
- #: adrotate.php:544
673
  msgid "Upload image"
674
  msgstr "Качването на картинка"
675
 
676
- #: adrotate.php:547
677
  msgid "Available banner images in"
678
  msgstr "Налични картинки за банери в"
679
 
680
- #: adrotate.php:552 dashboard/publisher/adrotate-groups-main.php:33
681
  msgid "Name"
682
  msgstr "Име"
683
 
684
- #: adrotate.php:553
685
  msgid "Actions"
686
  msgstr "Действия"
687
 
688
- #: adrotate.php:558 adrotate.php:559 adrotate.php:560 adrotate.php:561
689
- #: adrotate.php:562 dashboard/publisher/adrotate-ads-main-disabled.php:22
690
  #: dashboard/publisher/adrotate-ads-main-error.php:21
691
  #: dashboard/publisher/adrotate-ads-main.php:22
692
  msgid "Delete"
693
  msgstr "Изтриване"
694
 
695
- #: adrotate.php:566
696
  msgid ""
697
  "Make sure the banner images are not in use by adverts when you delete them!"
698
  msgstr ""
699
  "Уверете се, че картинките за банери не се използват от реклами, преди да ги "
700
  "изтриете!"
701
 
702
- #: adrotate.php:566
703
  msgid "Manage your banner folder from here with AdRotate Pro."
704
  msgstr "Можете да управлявате папката с банери от тук с AdRotate Pro."
705
 
706
- #: adrotate.php:599
707
- msgid "AdRotate Server"
708
- msgstr "AdRotate Сървър"
709
-
710
- #: adrotate.php:607
711
- msgid ""
712
- "AdRotate server is currently in development and these menus are not "
713
- "functional yet."
714
- msgstr ""
715
- "AdRotate Server все още се разработва и тези менюта не функционират в "
716
- "момента."
717
-
718
- #: adrotate.php:611
719
- msgid "Overview"
720
- msgstr "Преглед"
721
-
722
- #: adrotate.php:706
723
  msgid "AdRotate Settings"
724
  msgstr "AdRotate Настройки"
725
 
726
- #: adrotate.php:709
727
  msgid "Settings saved"
728
  msgstr "Настройките са запазени"
729
 
730
- #: adrotate.php:711
731
  msgid "Database optimized"
732
  msgstr "Базата данни е оптимизирана"
733
 
734
- #: adrotate.php:713
735
  msgid "Database repaired"
736
  msgstr "Базата данни е поправена"
737
 
738
- #: adrotate.php:715
739
  msgid "Ads evaluated and statuses have been corrected where required"
740
  msgstr "Рекламите са оценени и статусите им са обновени, където е необходимо"
741
 
742
- #: adrotate.php:717
743
  msgid "Empty database records removed"
744
  msgstr "Празните записи в базата данни са премахнати"
745
 
746
- #: adrotate.php:719
747
  msgid "Database can only be optimized or cleaned once every hour"
748
  msgstr "Базата данни може да бъде почиствана или оптимизирана веднъж на час"
749
 
750
- #: adrotate.php:727
751
  msgid "Access Rights"
752
  msgstr "Права на достъп"
753
 
754
- #: adrotate.php:728
755
  msgid "Who has access to what?"
756
  msgstr "Кой до какво има достъп?"
757
 
758
- #: adrotate.php:731
759
  msgid "Manage/Add/Edit adverts"
760
  msgstr "Управление/Добавяне/Редакция на обяви"
761
 
762
- #: adrotate.php:735
763
  msgid "Role to see and add/edit ads."
764
  msgstr "Роля, позволяваща преглед, добавяне и редакция на реклами."
765
 
766
- #: adrotate.php:739
767
  msgid "Delete/Reset adverts"
768
  msgstr "Изтриване/Нулиране на реклами"
769
 
770
- #: adrotate.php:743
771
  msgid "Role to delete ads and reset stats."
772
  msgstr "Роля, позволяваща изтриване на реклами и нулиране на статистика."
773
 
774
- #: adrotate.php:747
775
  msgid "Manage/Add/Edit groups"
776
  msgstr "Управление/Добавяне/Редакция на групи"
777
 
778
- #: adrotate.php:751
779
  msgid "Role to see and add/edit groups."
780
  msgstr "Роля, позволяваща преглед, добавяне и редакция на групи."
781
 
782
- #: adrotate.php:755
783
  msgid "Delete groups"
784
  msgstr "Изтриване на групи"
785
 
786
- #: adrotate.php:759
787
  msgid "Role to delete groups."
788
  msgstr "Роля за изтриване на групи."
789
 
790
- #: adrotate.php:780 adrotate.php:830 adrotate.php:885 adrotate.php:932
791
- #: adrotate.php:972
792
  msgid "Update Options"
793
  msgstr "Опции за обновяване"
794
 
795
- #: adrotate.php:791
796
  msgid "Statistics"
797
  msgstr "Статистики"
798
 
799
- #: adrotate.php:794
800
  msgid "Enable stats"
801
  msgstr "Включване на статистиката"
802
 
803
- #: adrotate.php:796
804
  msgid "Track clicks and impressions."
805
  msgstr "Проследяване на кликове и импресии."
806
 
807
- #: adrotate.php:796
808
  msgid "Disabling this also disables click and impression limits on schedules."
809
  msgstr ""
810
  "Ако деактивирате тази опция, ще бъдат деактивирани и лимитите за кликове и "
811
  "импресии на графици."
812
 
813
- #: adrotate.php:800
814
  msgid "Impressions timer"
815
  msgstr "Таймер за импресии"
816
 
817
- #: adrotate.php:802 adrotate.php:809
818
  msgid "Seconds."
819
  msgstr "Секудни."
820
 
821
- #: adrotate.php:803
822
  msgid "Default: 60."
823
  msgstr "По подразбиране: 60."
824
 
825
- #: adrotate.php:803
826
- msgid "This number may not be empty, be lower than 60 or exceed 3600 (1 hour)."
827
  msgstr ""
828
- "Полето не може да остава празно, да съдържа стойност под 60 или над 3600 (1 "
829
- "час)."
830
 
831
- #: adrotate.php:807
832
  msgid "Clicks timer"
833
  msgstr "Таймер за кликове"
834
 
835
- #: adrotate.php:810
836
  msgid "Default: 86400."
837
  msgstr "По подразбиране: 86400."
838
 
839
- #: adrotate.php:810
840
  msgid ""
841
  "This number may not be empty, be lower than 60 or exceed 86400 (24 hours)."
842
  msgstr ""
843
  "Полето не може да остава празно, да съдържа стойност под 60 или над 86400 "
844
  "(24 часа)."
845
 
846
- #: adrotate.php:815
847
  msgid "Bot filter"
848
  msgstr "Филтър на ботове"
849
 
850
- #: adrotate.php:818
851
  msgid "User-Agent Filter"
852
  msgstr "Филтър за агенти"
853
 
854
- #: adrotate.php:821
855
  msgid ""
856
  "A comma separated list of keywords. Filter out bots/crawlers/user-agents. To "
857
  "prevent impressions and clicks counted on them."
@@ -859,7 +834,7 @@ msgstr ""
859
  "Списък с ключови думи, за разделител използвайте запетая. Филтриране на "
860
  "импресиите и кликовете от ботове/роботи/агенти."
861
 
862
- #: adrotate.php:822
863
  msgid ""
864
  "Keep in mind that this might give false positives. The word 'google' also "
865
  "matches 'googlebot', but not vice-versa. So be careful!"
@@ -867,11 +842,11 @@ msgstr ""
867
  "Имайте в предвид, че това може да даде фалшиви резултати. Думата 'google' ще "
868
  "включи и 'googlebot', но не и обратното. Бъдете внимателни!"
869
 
870
- #: adrotate.php:822
871
  msgid "Keep your list up-to-date"
872
  msgstr "Поддържайте списъка актуален"
873
 
874
- #: adrotate.php:823
875
  msgid ""
876
  "Use only words with alphanumeric characters, [ - _ ] are allowed too. All "
877
  "other characters are stripped out."
@@ -879,29 +854,29 @@ msgstr ""
879
  "Използвайте само думи с букви и цифри, тире и долно тире. Всички останали "
880
  "знаци са забранени."
881
 
882
- #: adrotate.php:824
883
  msgid ""
884
  "Additionally to the list specified here, empty User-Agents are blocked as "
885
  "well."
886
  msgstr "Освен този списък, празни Агенти също ще бъдат блокирани."
887
 
888
- #: adrotate.php:824 dashboard/adrotate-info.php:179
889
  msgid "Learn more about"
890
  msgstr "Научете повече за"
891
 
892
- #: adrotate.php:824
893
  msgid "user-agents"
894
  msgstr "агенти"
895
 
896
- #: adrotate.php:833
897
  msgid "Miscellaneous"
898
  msgstr "Разни"
899
 
900
- #: adrotate.php:836
901
  msgid "Widget alignment"
902
  msgstr "Подравняване на джаджата"
903
 
904
- #: adrotate.php:837
905
  msgid ""
906
  "Check this box if your widgets do not align in your themes sidebar. (Does "
907
  "not always help!)"
@@ -909,11 +884,11 @@ msgstr ""
909
  "Сложете отметка, ако джаджите не са добре подравнени в страничната лента на "
910
  "темата Ви. (Не винаги помага)"
911
 
912
- #: adrotate.php:840
913
  msgid "Widget padding"
914
  msgstr "Padding за джаджата"
915
 
916
- #: adrotate.php:841
917
  msgid ""
918
  "Enable this to remove the padding (blank space) around ads in widgets. (Does "
919
  "not always work!)"
@@ -921,11 +896,11 @@ msgstr ""
921
  "Сложете отметка, за да премахнете празното пространство около рекламите в "
922
  "джаджата. (Не винаги работи!)"
923
 
924
- #: adrotate.php:846 adrotate.php:857
925
  msgid "NOTICE:"
926
  msgstr "ЗАБЕЛЕЖКА:"
927
 
928
- #: adrotate.php:847
929
  msgid ""
930
  "You have enabled W3 Total Caching support but not defined the security hash. "
931
  "You need to add the following line to your wp-config.php near the bottom or "
@@ -937,15 +912,15 @@ msgstr ""
937
  "до края или под ред 52. Също така функцията \"late init\" трябва да бъде "
938
  "включена в W3 Total Cache."
939
 
940
- #: adrotate.php:851
941
  msgid "W3 Total Caching"
942
  msgstr "W3 Total Caching"
943
 
944
- #: adrotate.php:852
945
  msgid "Check this box if you use W3 Total Caching on your site."
946
  msgstr "Сложете отметка ако използвате W3 Total Caching на сайта си."
947
 
948
- #: adrotate.php:858
949
  msgid ""
950
  "You have enabled WP Super Cache support. If you have version 1.4 or newer, "
951
  "this function will not work. WP Super Cache has discontinued support for "
@@ -955,15 +930,15 @@ msgstr ""
955
  "нова, тази функция няма да работи. WP Super Cache прекрати поддръжката за "
956
  "динамично съдържание."
957
 
958
- #: adrotate.php:862
959
  msgid "WP Super Cache"
960
  msgstr "WP Super Cache"
961
 
962
- #: adrotate.php:863
963
  msgid "Check this box if you use WP Super Cache on your site."
964
  msgstr "Сложете отметка ако използвате W3 Total Caching на сайта си."
965
 
966
- #: adrotate.php:868
967
  msgid ""
968
  "It may take a while for the ad to start rotating. The caching plugin needs "
969
  "to refresh the cache. This can take up to a week if not done manually."
@@ -972,7 +947,7 @@ msgstr ""
972
  "Кеширащото разширение трябва да обнови данните. Това може да отнеме до една "
973
  "седмица, ако не го направите ръчно."
974
 
975
- #: adrotate.php:868
976
  msgid ""
977
  "Caching support only works for [shortcodes] and the AdRotate Widget. If you "
978
  "use a PHP Snippet you need to wrap your PHP in the exclusion code yourself."
@@ -981,15 +956,15 @@ msgstr ""
981
  "на AdRotate. Ако използвате PHP кода, трябва да го поставите в изключващ код "
982
  "сами."
983
 
984
- #: adrotate.php:872
985
- msgid "Javascript Libraries"
986
- msgstr "Javascript библиотеки"
987
 
988
- #: adrotate.php:875
989
  msgid "Load jQuery"
990
  msgstr "Зареди jQuery"
991
 
992
- #: adrotate.php:876
993
  msgid ""
994
  "jQuery is required for all Javascript features below. Enable this if your "
995
  "theme does not load jQuery already."
@@ -997,11 +972,11 @@ msgstr ""
997
  " jQuery е необходим за всички Javascript опции по-долу. Включете го само ако "
998
  "темата ви вече не го е заредила."
999
 
1000
- #: adrotate.php:879
1001
  msgid "Load in footer?"
1002
  msgstr "Зареди във футера?"
1003
 
1004
- #: adrotate.php:880
1005
  msgid ""
1006
  "Enable if you want to load the above libraries in the footer. Your theme "
1007
  "needs to call wp_footer() for this to work."
@@ -1009,11 +984,11 @@ msgstr ""
1009
  "Включете, ако искате да заредите изброените по-горе библиотеки във футера. "
1010
  "Необходимо е темата ви да извиква wp_footer(), за да проработи."
1011
 
1012
- #: adrotate.php:888
1013
  msgid "Maintenance"
1014
  msgstr "Поддръжка"
1015
 
1016
- #: adrotate.php:889
1017
  msgid ""
1018
  "NOTE: The below functions are intented to be used to OPTIMIZE your database. "
1019
  "They only apply to your ads/groups and stats. Not to other settings or other "
@@ -1027,19 +1002,19 @@ msgstr ""
1027
  "функции само когато забележите, че вашата база данни е бавна, мудна или не "
1028
  "отговаря."
1029
 
1030
- #: adrotate.php:904 adrotate.php:906
1031
  msgid "Optimize Database"
1032
  msgstr "Оптимизиране на базата данни"
1033
 
1034
- #: adrotate.php:906
1035
  msgid "You are about to optimize the AdRotate database."
1036
  msgstr "На път сте да оптимизирате базата данни на AdRotate."
1037
 
1038
- #: adrotate.php:906
1039
  msgid "Did you make a backup of your database?"
1040
  msgstr "Направихте ли резервно копие на своята база данни?"
1041
 
1042
- #: adrotate.php:906
1043
  msgid ""
1044
  "This may take a moment and may cause your website to respond slow "
1045
  "temporarily!"
@@ -1047,16 +1022,16 @@ msgstr ""
1047
  "Това ще отнеме малко време и може да накара сайта Ви да работи по-бавно за "
1048
  "момент!"
1049
 
1050
- #: adrotate.php:906 adrotate.php:914 adrotate.php:922
1051
  #: dashboard/publisher/adrotate-groups-main.php:24
1052
  msgid "OK to continue, CANCEL to stop."
1053
  msgstr "ОК, за да продължите, ОТКАЗ за стоп."
1054
 
1055
- #: adrotate.php:907
1056
  msgid "Cleans up overhead data in the AdRotate tables."
1057
  msgstr "Почиста overhead данните в таблиците на AdRotate."
1058
 
1059
- #: adrotate.php:908
1060
  msgid ""
1061
  "Overhead data is accumulated garbage resulting from many changes you've "
1062
  "made. This can vary from nothing to hundreds of KiB of data."
@@ -1064,11 +1039,11 @@ msgstr ""
1064
  "Overhead данните са боклук, акумулиран в резултат на множеството промени, "
1065
  "които правите. Те могар да варират от 0 до хиляди KB."
1066
 
1067
- #: adrotate.php:912 adrotate.php:914
1068
  msgid "Clean-up Database"
1069
  msgstr "Почистване на базата данни"
1070
 
1071
- #: adrotate.php:914
1072
  msgid ""
1073
  "You are about to clean up your database. This may delete expired schedules "
1074
  "and older statistics."
@@ -1076,21 +1051,21 @@ msgstr ""
1076
  "На път сте да почистите базата с данни. Това може да изтрие истекли графици "
1077
  "и стари статистики."
1078
 
1079
- #: adrotate.php:914
1080
  msgid "Are you sure you want to continue?"
1081
  msgstr "Сигурни ли сте, че искате да продължите?"
1082
 
1083
- #: adrotate.php:914 adrotate.php:922
1084
  msgid "This might take a while and may slow down your site during this action!"
1085
  msgstr ""
1086
  "Това действие ще отнеме време и може да забави сайта ви по време на "
1087
  "изпълнението му!"
1088
 
1089
- #: adrotate.php:915
1090
  msgid "Delete stats older than 356 days (Optional)."
1091
  msgstr "Изтриване на статистики по-стари от 365 дни (Не е задължително)."
1092
 
1093
- #: adrotate.php:916
1094
  msgid ""
1095
  "AdRotate creates empty records when you start making ads or groups. In rare "
1096
  "occasions these records are faulty."
@@ -1098,7 +1073,7 @@ msgstr ""
1098
  "AdRotate създава празни записи, когато започнете да създавате реклама или "
1099
  "група. В редки случай тези записи са дефектни."
1100
 
1101
- #: adrotate.php:916
1102
  msgid ""
1103
  "If you made an ad or group that does not save when you make it use this "
1104
  "button to delete those empty records."
@@ -1106,7 +1081,7 @@ msgstr ""
1106
  "Ако създадете реклама или група, която не може да се запише, използвайте "
1107
  "този бутон, за да изтриете празните полета."
1108
 
1109
- #: adrotate.php:916
1110
  msgid ""
1111
  "Additionally you can clean up old statistics. This will improve the speed of "
1112
  "your site."
@@ -1114,19 +1089,19 @@ msgstr ""
1114
  "Също така можете да изчистите остарелите статистики. Това ще подобри "
1115
  "скоростта на сайта Ви."
1116
 
1117
- #: adrotate.php:920
1118
  msgid "Re-evaluate Ads"
1119
  msgstr "Преоценка на реклами"
1120
 
1121
- #: adrotate.php:922
1122
  msgid "Re-evaluate all ads"
1123
  msgstr "Преоценка на всички реклами"
1124
 
1125
- #: adrotate.php:922
1126
  msgid "You are about to check all ads for errors."
1127
  msgstr "На път сте да проверите всички реклами за грешки."
1128
 
1129
- #: adrotate.php:923
1130
  msgid ""
1131
  "This will apply all evaluation rules to all ads to see if any error slipped "
1132
  "in. Normally you should not need this feature."
@@ -1134,7 +1109,7 @@ msgstr ""
1134
  "Това ще провери всички реклами за грешки. Попринцип не би трябвало да имате "
1135
  "нужда от тази функция."
1136
 
1137
- #: adrotate.php:927
1138
  msgid ""
1139
  "DISCLAIMER: If for any reason your data is lost, damaged or otherwise "
1140
  "becomes unusable in any way or by any means in whichever way I will not take "
@@ -1151,60 +1126,65 @@ msgstr ""
1151
  "Отстояването на тезата, че всичко е работело нормално преди да кликнете на "
1152
  "тези бутони е безсмислено."
1153
 
1154
- #: adrotate.php:935
1155
  msgid "Troubleshooting"
1156
  msgstr "Отстраняване на проблеми"
1157
 
1158
- #: adrotate.php:938
1159
  msgid "Current version:"
1160
  msgstr "Текуща версия:"
1161
 
1162
- #: adrotate.php:939
1163
  msgid "Previous version:"
1164
  msgstr "Предишна версия:"
1165
 
1166
- #: adrotate.php:942
1167
  msgid "Current database version:"
1168
  msgstr "Текуща верския на базата данни:"
1169
 
1170
- #: adrotate.php:943
1171
  msgid "Previous database version:"
1172
  msgstr "Предишна версия на базата данни:"
1173
 
1174
- #: adrotate.php:946
1175
  #, fuzzy
1176
  msgid "Ad evaluation next run:"
1177
  msgstr "Оценка на рекламата:"
1178
 
1179
- #: adrotate.php:947
1180
  msgid "Not scheduled!"
1181
  msgstr "Не е планирано!"
1182
 
1183
- #: adrotate.php:950
 
 
 
 
 
1184
  msgid "Current status of adverts"
1185
  msgstr "Настоящ статус на рекламите"
1186
 
1187
- #: adrotate.php:951
1188
  msgid "Normal"
1189
  msgstr "Нормално"
1190
 
1191
- #: adrotate.php:951
1192
  msgid "Error"
1193
  msgstr "Грешка"
1194
 
1195
- #: adrotate.php:951
1196
  msgid "Expired"
1197
  msgstr "Изтекло"
1198
 
1199
- #: adrotate.php:951
1200
  msgid "Expires Soon"
1201
  msgstr "Изтича скоро"
1202
 
1203
- #: adrotate.php:951
1204
  msgid "Unknown Status"
1205
  msgstr "Неизвестен статус"
1206
 
1207
- #: adrotate.php:954
1208
  msgid ""
1209
  "NOTE: The below options are not meant for normal use and are only there for "
1210
  "developers to review saved settings or how ads are selected. These can be "
@@ -1217,35 +1197,35 @@ msgstr ""
1217
  "проблем, който трябва да се разреши. При нормална употреба оставете опциите "
1218
  "ИЗКЛЮЧЕНИ!!"
1219
 
1220
- #: adrotate.php:958
1221
  msgid "Developer Debug"
1222
  msgstr "Developer Debug"
1223
 
1224
- #: adrotate.php:960
1225
  msgid "Troubleshoot ads and how (if) they are selected, has front-end output."
1226
  msgstr ""
1227
  "Проверк за грешки в рекламите и как (дали) са закачени. Има потребителски "
1228
  "изглед."
1229
 
1230
- #: adrotate.php:961
1231
  msgid "Show all settings, dashboard routines and related values."
1232
  msgstr "Показване на всички настройки, рутинни процедури и свързани стойности."
1233
 
1234
- #: adrotate.php:962
1235
  msgid "Show array of all userroles and capabilities."
1236