AdRotate Banner Manager - Version 3.11.4

Version Description

FREE = * [fix] New adverts validating properly * [fix] Much more accurate post injection filter * [fix] Much more accurate page injection filter * [fix] Welcome popup 'dismiss' not always working * [tweak] Clicktracking counting jQuery on() * [tweak] Changed "upgrade" button to "update now" * [tweak] Clearer error status for responsive adverts

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.4
Comparing to
See all releases

Code changes from version 3.11.3 to 3.11.4

adrotate-functions.php CHANGED
@@ -244,27 +244,22 @@ function adrotate_filter_schedule($selected, $banner) {
244
 
245
  // Get schedules for advert
246
  $schedules = $wpdb->get_results("SELECT `".$wpdb->prefix."adrotate_schedule`.`id`, `starttime`, `stoptime`, `maxclicks`, `maximpressions` FROM `".$wpdb->prefix."adrotate_schedule`, `".$wpdb->prefix."adrotate_linkmeta` WHERE `schedule` = `".$wpdb->prefix."adrotate_schedule`.`id` AND `ad` = '".$banner->id."' ORDER BY `starttime` ASC LIMIT 1;");
247
-
248
  $schedule = $schedules[0];
249
 
250
- $current = array();
251
- if($schedule->starttime > $now OR $schedule->stoptime < $now) {
252
- $current[] = 0;
 
 
 
 
 
 
253
  } else {
254
- $current[] = 1;
255
- if($adrotate_config['enable_stats'] == 'Y') {
256
  $stat = adrotate_stats($banner->id, $schedule->starttime, $schedule->stoptime);
257
 
258
- if($adrotate_debug['general'] == true) {
259
- echo "<p><strong>[DEBUG][adrotate_filter_schedule] Ad ".$banner->id." - Has schedule (id: ".$schedule->id.")</strong><pre>";
260
- echo "<br />Start: ".$schedule->starttime." (".date("F j, Y, g:i a", $schedule->starttime).")";
261
- echo "<br />End: ".$schedule->stoptime." (".date("F j, Y, g:i a", $schedule->stoptime).")";
262
- echo "<br />Clicks this period: ".$stat['clicks'];
263
- echo "<br />Impressions this period: ".$stat['impressions'];
264
- echo "</pre></p>";
265
- }
266
-
267
- if($stat['clicks'] >= $schedule->maxclicks AND $schedule->maxclicks > 0 AND $banner->tracker == "Y") {
268
  unset($selected[$banner->id]);
269
  }
270
 
@@ -274,12 +269,6 @@ function adrotate_filter_schedule($selected, $banner) {
274
  }
275
  }
276
 
277
- // Remove advert from array if all schedules are false (0)
278
- if(!in_array(1, $current)) {
279
- unset($selected[$banner->id]);
280
- }
281
- unset($current, $schedules);
282
-
283
  return $selected;
284
  }
285
 
@@ -449,15 +438,22 @@ function adrotate_select_pages($savedpages, $count = 2, $child_of = 0, $parent =
449
  Name: adrotate_prepare_evaluate_ads
450
 
451
  Purpose: Initiate evaluations for errors and determine the ad status
452
- Receive: -None-
453
- Return: -None-
454
  Since: 3.6.5
455
  -------------------------------------------------------------*/
456
- function adrotate_prepare_evaluate_ads($return = true) {
457
  global $wpdb;
458
 
 
 
 
 
 
 
 
459
  // Fetch ads
460
- $ads = $wpdb->get_results("SELECT `id`, `type` FROM `".$wpdb->prefix."adrotate` WHERE `type` != 'disabled' AND `type` != 'empty' ORDER BY `id` ASC;");
461
 
462
  // Determine error states
463
  $error = $expired = $expiressoon = $normal = $unknown = 0;
@@ -743,15 +739,10 @@ function adrotate_dashboard_scripts() {
743
 
744
  // WP Pointers
745
  $seen_it = explode(',', get_user_meta(get_current_user_id(), 'dismissed_wp_pointers', true));
746
- $do_add_script = false;
747
- if(!in_array('adrotate_free_'.ADROTATE_VERSION.ADROTATE_DB_VERSION, $seen_it)) {
748
- $do_add_script = true;
749
- add_action('admin_print_footer_scripts', 'adrotate_welcome_pointer');
750
- }
751
-
752
- if($do_add_script) {
753
  wp_enqueue_script('wp-pointer');
754
  wp_enqueue_style('wp-pointer');
 
755
  }
756
  }
757
 
244
 
245
  // Get schedules for advert
246
  $schedules = $wpdb->get_results("SELECT `".$wpdb->prefix."adrotate_schedule`.`id`, `starttime`, `stoptime`, `maxclicks`, `maximpressions` FROM `".$wpdb->prefix."adrotate_schedule`, `".$wpdb->prefix."adrotate_linkmeta` WHERE `schedule` = `".$wpdb->prefix."adrotate_schedule`.`id` AND `ad` = '".$banner->id."' ORDER BY `starttime` ASC LIMIT 1;");
 
247
  $schedule = $schedules[0];
248
 
249
+ if($adrotate_debug['general'] == true) {
250
+ echo "<p><strong>[DEBUG][adrotate_filter_schedule] Ad ".$banner->id." - Has schedule (id: ".$schedule->id.")</strong><pre>";
251
+ echo "<br />Start: ".$schedule->starttime." (".date("F j, Y, g:i a", $schedule->starttime).")";
252
+ echo "<br />End: ".$schedule->stoptime." (".date("F j, Y, g:i a", $schedule->stoptime).")";
253
+ echo "</pre></p>";
254
+ }
255
+
256
+ if($now < $schedule->starttime OR $now > $schedule->stoptime) {
257
+ unset($selected[$banner->id]);
258
  } else {
259
+ if($adrotate_config['stats'] == 1 AND $banner->tracker == "Y") {
 
260
  $stat = adrotate_stats($banner->id, $schedule->starttime, $schedule->stoptime);
261
 
262
+ if($stat['clicks'] >= $schedule->maxclicks AND $schedule->maxclicks > 0) {
 
 
 
 
 
 
 
 
 
263
  unset($selected[$banner->id]);
264
  }
265
 
269
  }
270
  }
271
 
 
 
 
 
 
 
272
  return $selected;
273
  }
274
 
438
  Name: adrotate_prepare_evaluate_ads
439
 
440
  Purpose: Initiate evaluations for errors and determine the ad status
441
+ Receive: $return, $id
442
+ Return:
443
  Since: 3.6.5
444
  -------------------------------------------------------------*/
445
+ function adrotate_prepare_evaluate_ads($return = true, $id = 0) {
446
  global $wpdb;
447
 
448
+ $getid = '';
449
+ if($id > 0) {
450
+ $getid = " AND `id` = {$id}";
451
+ } else {
452
+ $getid = " AND `type` != 'empty'";
453
+ }
454
+
455
  // Fetch ads
456
+ $ads = $wpdb->get_results("SELECT `id` FROM `".$wpdb->prefix."adrotate` WHERE `type` != 'disabled'{$getid} ORDER BY `id` ASC;");
457
 
458
  // Determine error states
459
  $error = $expired = $expiressoon = $normal = $unknown = 0;
739
 
740
  // WP Pointers
741
  $seen_it = explode(',', get_user_meta(get_current_user_id(), 'dismissed_wp_pointers', true));
742
+ if(!in_array('adrotatefree_'.ADROTATE_VERSION.ADROTATE_DB_VERSION, $seen_it)) {
 
 
 
 
 
 
743
  wp_enqueue_script('wp-pointer');
744
  wp_enqueue_style('wp-pointer');
745
+ add_action('admin_print_footer_scripts', 'adrotate_welcome_pointer');
746
  }
747
  }
748
 
adrotate-manage-publisher.php CHANGED
@@ -146,7 +146,7 @@ function adrotate_insert_input() {
146
  $wpdb->update($wpdb->prefix.'adrotate_schedule', array('starttime' => $startdate, 'stoptime' => $enddate, 'maxclicks' => $maxclicks, 'maximpressions' => $maxshown), array('id' => $schedule_id));
147
 
148
  // Save the ad to the DB
149
- $wpdb->update($wpdb->prefix.'adrotate', array('title' => $title, 'bannercode' => $bannercode, 'updated' => $thetime, 'author' => $author, 'imagetype' => $imagetype, 'image' => $image, 'link' => $link, 'tracker' => $tracker, 'responsive' => $responsive, 'sortorder' => $sortorder), array('id' => $id));
150
 
151
  // Determine Responsive requirement
152
  $responsive_count = $wpdb->get_var("SELECT COUNT(*) as `total` FROM `".$wpdb->prefix."adrotate` WHERE `responsive` = 'Y';");
@@ -183,14 +183,8 @@ function adrotate_insert_input() {
183
  }
184
 
185
  if($active == "active") {
186
- // Determine status of ad
187
- $adstate = adrotate_evaluate_ad($id);
188
- if($adstate == 'error' OR $adstate == 'expired' OR $adstate == 'expiring') {
189
- $action = 'field_error';
190
- }
191
- $active = $adstate;
192
  }
193
- $wpdb->update($wpdb->prefix."adrotate", array('type' => $active), array('id' => $id));
194
 
195
  adrotate_return($action, array($id));
196
  exit;
@@ -594,9 +588,13 @@ function adrotate_options_submit() {
594
  $config['group_manage'] = $_POST['adrotate_group_manage'];
595
  $config['group_delete'] = $_POST['adrotate_group_delete'];
596
 
597
- //Advertisers
598
- if(isset($_POST['adrotate_enable_stats'])) $config['enable_stats'] = 'Y';
599
- else $config['enable_stats'] = 'N';
 
 
 
 
600
 
601
  // Set the banner folder, reset if empty
602
  $config['banner_folder'] = "wp-content/banners/";
146
  $wpdb->update($wpdb->prefix.'adrotate_schedule', array('starttime' => $startdate, 'stoptime' => $enddate, 'maxclicks' => $maxclicks, 'maximpressions' => $maxshown), array('id' => $schedule_id));
147
 
148
  // Save the ad to the DB
149
+ $wpdb->update($wpdb->prefix.'adrotate', array('title' => $title, 'bannercode' => $bannercode, 'updated' => $thetime, 'author' => $author, 'imagetype' => $imagetype, 'image' => $image, 'link' => $link, 'tracker' => $tracker, 'responsive' => $responsive, 'type' => $active, 'sortorder' => $sortorder), array('id' => $id));
150
 
151
  // Determine Responsive requirement
152
  $responsive_count = $wpdb->get_var("SELECT COUNT(*) as `total` FROM `".$wpdb->prefix."adrotate` WHERE `responsive` = 'Y';");
183
  }
184
 
185
  if($active == "active") {
186
+ adrotate_prepare_evaluate_ads(false, $id);
 
 
 
 
 
187
  }
 
188
 
189
  adrotate_return($action, array($id));
190
  exit;
588
  $config['group_manage'] = $_POST['adrotate_group_manage'];
589
  $config['group_delete'] = $_POST['adrotate_group_delete'];
590
 
591
+ // Enable stats
592
+ $stats = trim($_POST['adrotate_stats']);
593
+ if(is_numeric($stats) AND $stats >= 0 AND $stats <= 2) {
594
+ $config['stats'] = $stats;
595
+ } else {
596
+ $config['stats'] = 1;
597
+ }
598
 
599
  // Set the banner folder, reset if empty
600
  $config['banner_folder'] = "wp-content/banners/";
adrotate-output.php CHANGED
@@ -55,7 +55,7 @@ function adrotate_ad($banner_id, $individual = true, $group = 0, $block = 0, $si
55
  $output .= adrotate_ad_output($banner->id, 0, $banner->bannercode, $banner->tracker, $banner->link, $image, $banner->responsive);
56
  if($individual == true) $output .= '</div>';
57
 
58
- if($adrotate_config['enable_stats'] == 'Y'){
59
  adrotate_count_impression($banner->id, 0, 0);
60
  }
61
  } else {
@@ -193,7 +193,7 @@ function adrotate_group($group_ids, $fallback = 0, $weight = 0, $site = 0) {
193
  $columns++;
194
  }
195
 
196
- if($adrotate_config['enable_stats'] == 'Y'){
197
  adrotate_count_impression($selected[$banner_id]->id, $group->id, 0);
198
  }
199
 
@@ -208,7 +208,7 @@ function adrotate_group($group_ids, $fallback = 0, $weight = 0, $site = 0) {
208
  $output .= $before.adrotate_ad_output($selected[$banner_id]->id, $group->id, $selected[$banner_id]->bannercode, $selected[$banner_id]->tracker, $selected[$banner_id]->link, $image, $selected[$banner_id]->responsive).$after;
209
  $output .= '</div>';
210
 
211
- if($adrotate_config['enable_stats'] == 'Y'){
212
  adrotate_count_impression($selected[$banner_id]->id, $group->id, 0);
213
  }
214
  }
@@ -252,7 +252,7 @@ function adrotate_inject_pages($post_content) {
252
  $pages = explode(",", $id->page);
253
  // Build array of groups for pages
254
  if(in_array($post->ID, $pages)) {
255
- $group_array[] = array('group' => $id->id, 'location' => $id->page_loc, 'paragraph' => $id->page_par, 'pages' => $pages);
256
  }
257
  }
258
 
@@ -276,7 +276,8 @@ function adrotate_inject_pages($post_content) {
276
 
277
  shuffle($group_choice);
278
  } else {
279
- $group_choice = array(0,0);
 
280
  }
281
 
282
  if($adrotate_debug['general'] == true) {
@@ -291,13 +292,13 @@ function adrotate_inject_pages($post_content) {
291
  if(is_page($group_array[$group_id]['pages'])) {
292
  // Advert in front of content
293
  if(($group_array[$group_id]['location'] == 1 OR $group_array[$group_id]['location'] == 3) AND $before == 0) {
294
- $post_content = adrotate_group($group_array[$group_id]['group']).$post_content;
295
  $before = 1;
296
  }
297
 
298
  // Advert behind the content
299
  if(($group_array[$group_id]['location'] == 2 OR $group_array[$group_id]['location'] == 3) AND $after == 0) {
300
- $post_content = $post_content.adrotate_group($group_array[$group_id]['group']);
301
  $after = 1;
302
  }
303
 
@@ -311,7 +312,7 @@ function adrotate_inject_pages($post_content) {
311
  OR ($par == 2 AND $group_array[$group_id]['paragraph'] == 20)
312
  OR ($par == 3 AND $group_array[$group_id]['paragraph'] == 30)
313
  OR ($par == 4 AND $group_array[$group_id]['paragraph'] == 40)) {
314
- $paragraph = $paragraph.adrotate_group($group_array[$group_id]['group']);
315
 
316
  if($group_array[$group_id]['paragraph'] > 1 AND $group_array[$group_id]['paragraph'] < 10) {
317
  $par = 1;
@@ -341,81 +342,82 @@ function adrotate_inject_pages($post_content) {
341
  Added: 3.7
342
  -------------------------------------------------------------*/
343
  function adrotate_inject_posts($post_content) {
344
- global $wpdb, $post, $adrotate_debug;
345
 
346
  if(is_single()) {
347
  // Inject ads into posts in specified category
348
  $ids = $wpdb->get_results("SELECT `id`, `cat`, `cat_loc`, `cat_par` FROM `".$wpdb->prefix."adrotate_groups` WHERE `cat_loc` > 0;");
349
- $categories = get_terms('category', array('fields' => 'ids'));
350
 
351
- $category_array = array();
352
  foreach($ids as $id) {
353
- $cats = explode(",", $id->cat);
354
  // Build array of groups for categories
355
- foreach($categories as $category) {
356
- if(in_array($category, $cats)) {
357
- $category_array[] = array('group' => $id->id, 'location' => $id->cat_loc, 'paragraph' => $id->cat_par, 'categories' => $cats);
358
  }
359
  }
360
  }
361
 
362
  if($adrotate_debug['general'] == true) {
363
- echo "<p><strong>[DEBUG][adrotate_inject_posts()] category_array</strong><pre>";
364
- print_r($category_array);
365
  echo "</pre></p>";
366
  }
367
- unset($ids, $cats);
368
 
369
- $category_count = count($category_array);
370
- if($category_count > 0) {
371
- if($category_count > 1) {
372
  // Try to prevent the same ad from showing when there are multiple ads to show
373
  $paragraph_count = substr_count($post_content, '<p>');
374
- if($paragraph_count == 0 OR $category_count < $paragraph_count) {
375
- $paragraph_count = $category_count;
376
  }
377
- $category_choice = array_rand($category_array, $paragraph_count);
378
- if(!is_array($category_choice)) $category_choice = array($category_choice);
379
 
380
- shuffle($category_choice);
381
  } else {
382
- $category_choice = array(0,0);
 
383
  }
384
 
385
  if($adrotate_debug['general'] == true) {
386
- echo "<p><strong>[DEBUG][adrotate_inject_posts()] category_choice</strong><pre>";
387
- print_r($category_choice);
388
  echo "</pre></p>";
389
  }
390
 
391
  $before = $after = 0;
392
- foreach($category_choice as $key => $group_id) {
393
- if(in_category($category_array[$group_id]['categories'])) {
394
  // Advert in front of content
395
- if(($category_array[$group_id]['location'] == 1 OR $category_array[$group_id]['location'] == 3) AND $before == 0) {
396
- $post_content = adrotate_group($category_array[$group_id]['group']).$post_content;
397
  $before = 1;
398
  }
399
 
400
  // Advert behind content
401
- if(($category_array[$group_id]['location'] == 2 OR $category_array[$group_id]['location'] == 3) AND $after == 0) {
402
- $post_content = $post_content.adrotate_group($category_array[$group_id]['group']);
403
  $after = 1;
404
  }
405
 
406
  // Adverts inside the content
407
- if($category_array[$group_id]['location'] == 4) {
408
  $paragraphs = explode("</p>", $post_content);
409
  $par = 1;
410
  $post_content = '';
411
  foreach($paragraphs as $paragraph) {
412
- if(($par == $category_array[$group_id]['paragraph']
413
- OR ($par == 2 AND $category_array[$group_id]['paragraph'] == 20)
414
- OR ($par == 3 AND $category_array[$group_id]['paragraph'] == 30)
415
- OR ($par == 4 AND $category_array[$group_id]['paragraph'] == 40))) {
416
- $paragraph = $paragraph.adrotate_group($category_array[$group_id]['group']);
417
 
418
- if($category_array[$group_id]['paragraph'] > 1 AND $category_array[$group_id]['paragraph'] < 10) {
419
  $par = 1;
420
  } else {
421
  $par++;
@@ -429,7 +431,7 @@ function adrotate_inject_posts($post_content) {
429
  }
430
  }
431
  }
432
- unset($category_choice, $category_count, $category_array, $paragraph, $paragraph_count, $before, $after);
433
  }
434
 
435
  return $post_content;
@@ -497,25 +499,23 @@ function adrotate_ad_output($id, $group = 0, $bannercode, $tracker, $link, $imag
497
  $banner_output = stripslashes(htmlspecialchars_decode($banner_output, ENT_QUOTES));
498
  $banner_output = str_replace('%link%', $link, $banner_output);
499
 
500
- if($adrotate_config['enable_stats'] == 'Y') {
501
  if(empty($blog_id) or $blog_id == '') {
502
  $blog_id = 0;
503
  }
504
 
505
- $banner_output = str_replace('<a ', '<a data-track="'.adrotate_hash($id, $group, $blog_id).'" ', $banner_output);
506
-
507
- if($tracker == "Y") {
508
  preg_match_all('/<a[^>](.*?)>/i', $banner_output, $matches, PREG_SET_ORDER);
509
- if(count($matches) > 0) {
510
- foreach($matches as &$value) {
511
- if(preg_match('/<a[^>]+class=\"(.+?)\"[^>]*>/i', $value[0], $regs)) {
512
  $result = $regs[1]." gofollow";
513
- $str = str_replace('class="'.$regs[1].'"', 'class="'.$result.'"', $value[0]);
514
  } else {
515
- $str = str_replace('<a ', '<a class="gofollow" ', $value[0]);
516
  }
517
- $banner_output = str_replace($value[0], $str, $banner_output);
518
- unset($value, $regs, $result, $str);
519
  }
520
  }
521
  if($adrotate_debug['timers'] == true) {
@@ -527,25 +527,22 @@ function adrotate_ad_output($id, $group = 0, $bannercode, $tracker, $link, $imag
527
 
528
  // Add Responsive classes
529
  preg_match_all('/<img[^>](.*?)>/i', $banner_output, $matches, PREG_SET_ORDER);
530
- if(count($matches) > 0) {
531
- foreach($matches as &$value) {
532
- if(preg_match('/<img[^>]+class=\"(.+?)\"[^>]*>/i', $value[0], $regs)) {
533
  $result = $regs[1];
534
  if($responsive == 'Y') $result .= " responsive";
535
  $result = trim($result);
536
- $str = str_replace('class="'.$regs[1].'"', 'class="'.$result.'"', $value[0]);
537
  } else {
538
  $result = '';
539
  if($responsive == 'Y') $result .= " responsive";
540
  $result = trim($result);
541
  if(strlen($result) > 0) {
542
- $str = str_replace('<img ', '<img class="'.$result.'" ', $value[0]);
543
- } else {
544
- $str = $value[0];
545
  }
546
  }
547
- $banner_output = str_replace($value[0], $str, $banner_output);
548
- unset($value, $regs, $result, $str);
549
  }
550
  }
551
  unset($matches);
@@ -580,7 +577,7 @@ function adrotate_custom_scripts() {
580
  if(get_option('adrotate_responsive_required') > 0) wp_enqueue_script('responsive-adrotate', plugins_url('/library/jquery.adrotate.responsive.js', __FILE__), false, '0.4', $in_footer);
581
 
582
  // Make clicktracking and impression tracking a possibility
583
- if($adrotate_config['enable_stats'] == 'Y'){
584
  wp_enqueue_script('clicktrack-adrotate', plugins_url('/library/jquery.adrotate.clicktracker.js', __FILE__), false, '0.7', $in_footer);
585
  wp_localize_script('jshowoff-adrotate', 'impression_object', array('ajax_url' => admin_url( 'admin-ajax.php')));
586
  wp_localize_script('clicktrack-adrotate', 'click_object', array('ajax_url' => admin_url('admin-ajax.php')));
@@ -745,7 +742,7 @@ function adrotate_nonce_error() {
745
  echo ' <h2 style="text-align: center;">'.__('Oh no! Something went wrong!', 'adrotate').'</h2>';
746
  echo ' <p style="text-align: center;">'.__('WordPress was unable to verify the authenticity of the url you have clicked. Verify if the url used is valid or log in via your browser.', 'adrotate').'</p>';
747
  echo ' <p style="text-align: center;">'.__('If you have received the url you want to visit via email, you are being tricked!', 'adrotate').'</p>';
748
- echo ' <p style="text-align: center;">'.__('Contact support if the issue persists:', 'adrotate').' <a href="https://ajdg.solutions/forums/" title="AdRotate Support" target="_blank">AJdG Solutions Support</a>.</p>';
749
  }
750
 
751
  /*-------------------------------------------------------------
@@ -797,7 +794,7 @@ function adrotate_error($action, $arg = null) {
797
 
798
  // Database
799
  case "db_error" :
800
- $result = '<span style="font-weight: bold; color: #f00;">'.__('There was an error locating the database tables for AdRotate. Please deactivate and re-activate AdRotate from the plugin page!!', 'adrotate').'<br />'.__('If this does not solve the issue please seek support at', 'adrotate').' <a href="https://ajdg.solutions/forums/forum/adrotate-for-wordpress/">ajdg.solutions/forums/forum/adrotate-for-wordpress/</a></span>';
801
  return $result;
802
  break;
803
 
@@ -846,7 +843,7 @@ function adrotate_notifications_dashboard() {
846
  if($pro_banner != 1 AND $pro_banner < (adrotate_now() - 604800) AND strpos($page, 'adrotate') !== false) {
847
  echo '<div class="updated" style="padding: 0; margin: 0; border-left: none;">';
848
  echo ' <div class="adrotate_banner">';
849
- echo ' <div class="button_div"><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></div>';
850
  echo ' <div class="text">'.__("You've been using <strong>AdRotate</strong> for a while now. Why not upgrade to the <strong>PRO</strong> version", 'adrotate').'?<br /><span>'.__('Get more features to even better run your advertising campaigns.', 'adrotate' ).' '.__('Thank you for your consideration!', 'adrotate' ).'</span></div>';
851
  echo ' <a class="close_banner" href="admin.php?page=adrotate-pro&hide=1"><img title="Close" src="'.plugins_url('images/close-icon.png', __FILE__).'" alt=""/></a>';
852
  echo ' <div class="icon"><img title="" src="'.plugins_url('images/adrotate-logo-60x60.png', __FILE__).'" alt=""/></div>';
@@ -859,7 +856,7 @@ function adrotate_notifications_dashboard() {
859
  echo '<div class="updated" style="padding: 0; margin: 0; border-left: none;">';
860
  echo ' <div class="adrotate_banner">';
861
  echo ' <div class="button_div"><a class="button" target="_blank" href="https://wordpress.org/support/view/plugin-reviews/adrotate?rate=5#postform">Rate AdRotate</a></div>';
862
- echo ' <div class="text">If you like <strong>AdRotate</strong> please let the world know that you do. Thanks for your support!<br /><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></div>';
863
  echo ' <a class="close_banner" href="admin.php?page=adrotate&hide=2"><img title="Close" src="'.plugins_url('images/close-icon.png', __FILE__).'" alt=""/></a>';
864
  echo ' <div class="icon"><img title="" src="'.plugins_url('images/adrotate-logo-60x60.png', __FILE__).'" alt=""/></div>';
865
  echo ' </div>';
@@ -873,7 +870,7 @@ function adrotate_notifications_dashboard() {
873
  if($adrotate_db_version['current'] < ADROTATE_DB_VERSION OR $adrotate_version['current'] < ADROTATE_VERSION) {
874
  echo '<div class="updated" style="padding: 0; margin: 0; border-left: none;">';
875
  echo ' <div class="adrotate_banner">';
876
- echo ' <div class="button_div"><a class="button" href="admin.php?page=adrotate&upgrade=1">Upgrade Now</a></div>';
877
  echo ' <div class="text">You have almost finished upgrading <strong>AdRotate</strong> to version <strong>'.ADROTATE_DISPLAY.'</strong>!<br /><span>To complete the update click the button on the left. This may take a few seconds to complete!</span></div>';
878
  echo ' <div class="icon"><img title="" src="'.plugins_url('images/adrotate-logo-60x60.png', __FILE__).'" alt=""/></div>';
879
  echo ' </div>';
@@ -904,7 +901,7 @@ function adrotate_welcome_pointer() {
904
  },
905
  close: function() {
906
  $.post(ajaxurl, {
907
- pointer:'adrotate_free_'+<?php echo ADROTATE_VERSION.ADROTATE_DB_VERSION; ?>,
908
  action:'dismiss-wp-pointer'
909
  });
910
  }
@@ -930,11 +927,10 @@ function adrotate_help_info() {
930
  'title' => __('Useful Links'),
931
  'content' => '<h4>'.__('Useful links to learn more about AdRotate', 'adrotate').'</h4>'.
932
  '<ul>'.
933
- '<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>'.
934
- '<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>'.
935
- '<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>'.
936
- '<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>'.
937
- '<li><a href="http://wordpress.org/support/plugin/adrotate" target="_blank">'.__('WordPress.org Forum', 'adrotate').'</a>.</li>'.
938
  '</ul>'
939
  )
940
  );
@@ -942,7 +938,7 @@ function adrotate_help_info() {
942
  'id' => 'adrotate_thanks',
943
  'title' => 'Thank You',
944
  'content' => '<h4>Thank you for using AdRotate</h4><p>AdRotate is growing to be one of the most popular WordPress plugins for Advertising and is a household name for many companies around the world. AdRotate wouldn\'t be possible without your support and my life wouldn\'t be what it is today without your help.</p><p><em>- Arnan from AJdG Solutions</em></p>'.
945
- '<p><strong>Add me:</strong> <a href="http://twitter.com/ajdgsolutions/" target="_blank">Twitter</a>, <a href="https://www.facebook.com/AJdgSolutions" target="_blank">Facebook</a>. <strong>Business:</strong> <a href="https://ajdg.solutions/" target="_blank">ajdg.solutions</a> <strong>Blog:</strong> <a href="http://meandmymac.net/" target="_blank">meandmymac.net</a> and <strong>adventure:</strong> <a href="http://www.floatingcoconut.net/" target="_blank">floatingcoconut.net</a>.</p>'
946
  )
947
  );
948
  }
@@ -967,11 +963,11 @@ function adrotate_credits() {
967
 
968
  echo '<tbody>';
969
  echo '<tr>';
970
- 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>';
971
  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>';
972
 
973
- 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>';
974
- 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>';
975
  echo '</tr>';
976
  echo '</tbody>';
977
 
55
  $output .= adrotate_ad_output($banner->id, 0, $banner->bannercode, $banner->tracker, $banner->link, $image, $banner->responsive);
56
  if($individual == true) $output .= '</div>';
57
 
58
+ if($adrotate_config['stats'] == 1 AND $banner->tracker == "Y") {
59
  adrotate_count_impression($banner->id, 0, 0);
60
  }
61
  } else {
193
  $columns++;
194
  }
195
 
196
+ if($adrotate_config['stats'] == 1){
197
  adrotate_count_impression($selected[$banner_id]->id, $group->id, 0);
198
  }
199
 
208
  $output .= $before.adrotate_ad_output($selected[$banner_id]->id, $group->id, $selected[$banner_id]->bannercode, $selected[$banner_id]->tracker, $selected[$banner_id]->link, $image, $selected[$banner_id]->responsive).$after;
209
  $output .= '</div>';
210
 
211
+ if($adrotate_config['stats'] == 1){
212
  adrotate_count_impression($selected[$banner_id]->id, $group->id, 0);
213
  }
214
  }
252
  $pages = explode(",", $id->page);
253
  // Build array of groups for pages
254
  if(in_array($post->ID, $pages)) {
255
+ $group_array[$id->id] = array('location' => $id->page_loc, 'paragraph' => $id->page_par, 'pages' => $pages);
256
  }
257
  }
258
 
276
 
277
  shuffle($group_choice);
278
  } else {
279
+ $group_choice = array_rand($group_array, 1);
280
+ $group_choice = array($group_choice,$group_choice);
281
  }
282
 
283
  if($adrotate_debug['general'] == true) {
292
  if(is_page($group_array[$group_id]['pages'])) {
293
  // Advert in front of content
294
  if(($group_array[$group_id]['location'] == 1 OR $group_array[$group_id]['location'] == 3) AND $before == 0) {
295
+ $post_content = adrotate_group($group_id).$post_content;
296
  $before = 1;
297
  }
298
 
299
  // Advert behind the content
300
  if(($group_array[$group_id]['location'] == 2 OR $group_array[$group_id]['location'] == 3) AND $after == 0) {
301
+ $post_content = $post_content.adrotate_group($group_id);
302
  $after = 1;
303
  }
304
 
312
  OR ($par == 2 AND $group_array[$group_id]['paragraph'] == 20)
313
  OR ($par == 3 AND $group_array[$group_id]['paragraph'] == 30)
314
  OR ($par == 4 AND $group_array[$group_id]['paragraph'] == 40)) {
315
+ $paragraph = $paragraph.adrotate_group($group_id);
316
 
317
  if($group_array[$group_id]['paragraph'] > 1 AND $group_array[$group_id]['paragraph'] < 10) {
318
  $par = 1;
342
  Added: 3.7
343
  -------------------------------------------------------------*/
344
  function adrotate_inject_posts($post_content) {
345
+ global $wpdb, $adrotate_debug;
346
 
347
  if(is_single()) {
348
  // Inject ads into posts in specified category
349
  $ids = $wpdb->get_results("SELECT `id`, `cat`, `cat_loc`, `cat_par` FROM `".$wpdb->prefix."adrotate_groups` WHERE `cat_loc` > 0;");
350
+ $wp_categories = get_terms('category', array('fields' => 'ids'));
351
 
352
+ $group_array = array();
353
  foreach($ids as $id) {
354
+ $categories = explode(",", $id->cat);
355
  // Build array of groups for categories
356
+ foreach($wp_categories as $key => $value) {
357
+ if(!in_array($value, $categories)) {
358
+ $group_array[$id->id] = array('location' => $id->cat_loc, 'paragraph' => $id->cat_par, 'categories' => $categories);
359
  }
360
  }
361
  }
362
 
363
  if($adrotate_debug['general'] == true) {
364
+ echo "<p><strong>[DEBUG][adrotate_inject_posts()] group_array</strong><pre>";
365
+ print_r($group_array);
366
  echo "</pre></p>";
367
  }
368
+ unset($ids, $wp_categories, $categories);
369
 
370
+ $group_count = count($group_array);
371
+ if($group_count > 0) {
372
+ if($group_count > 1) {
373
  // Try to prevent the same ad from showing when there are multiple ads to show
374
  $paragraph_count = substr_count($post_content, '<p>');
375
+ if($paragraph_count == 0 OR $group_count < $paragraph_count) {
376
+ $paragraph_count = $group_count;
377
  }
378
+ $group_choice = array_rand($group_array, $paragraph_count);
379
+ if(!is_array($group_choice)) $group_choice = array($group_choice);
380
 
381
+ shuffle($group_choice);
382
  } else {
383
+ $group_choice = array_rand($group_array, 1);
384
+ $group_choice = array($group_choice,$group_choice);
385
  }
386
 
387
  if($adrotate_debug['general'] == true) {
388
+ echo "<p><strong>[DEBUG][adrotate_inject_posts()] group_choice</strong><pre>";
389
+ print_r($group_choice);
390
  echo "</pre></p>";
391
  }
392
 
393
  $before = $after = 0;
394
+ foreach($group_choice as $key => $group_id) {
395
+ if(in_category($group_array[$group_id]['categories'])) {
396
  // Advert in front of content
397
+ if(($group_array[$group_id]['location'] == 1 OR $group_array[$group_id]['location'] == 3) AND $before == 0) {
398
+ $post_content = adrotate_group($group_id).$post_content;
399
  $before = 1;
400
  }
401
 
402
  // Advert behind content
403
+ if(($group_array[$group_id]['location'] == 2 OR $group_array[$group_id]['location'] == 3) AND $after == 0) {
404
+ $post_content = $post_content.adrotate_group($group_id);
405
  $after = 1;
406
  }
407
 
408
  // Adverts inside the content
409
+ if($group_array[$group_id]['location'] == 4) {
410
  $paragraphs = explode("</p>", $post_content);
411
  $par = 1;
412
  $post_content = '';
413
  foreach($paragraphs as $paragraph) {
414
+ if($par == $group_array[$group_id]['paragraph']
415
+ OR ($par == 2 AND $group_array[$group_id]['paragraph'] == 20)
416
+ OR ($par == 3 AND $group_array[$group_id]['paragraph'] == 30)
417
+ OR ($par == 4 AND $group_array[$group_id]['paragraph'] == 40)) {
418
+ $paragraph = $paragraph.adrotate_group($group_id);
419
 
420
+ if($group_array[$group_id]['paragraph'] > 1 AND $group_array[$group_id]['paragraph'] < 10) {
421
  $par = 1;
422
  } else {
423
  $par++;
431
  }
432
  }
433
  }
434
+ unset($group_choice, $group_count, $group_array, $paragraph, $paragraph_count, $before, $after);
435
  }
436
 
437
  return $post_content;
499
  $banner_output = stripslashes(htmlspecialchars_decode($banner_output, ENT_QUOTES));
500
  $banner_output = str_replace('%link%', $link, $banner_output);
501
 
502
+ if($adrotate_config['stats'] > 0) {
503
  if(empty($blog_id) or $blog_id == '') {
504
  $blog_id = 0;
505
  }
506
 
507
+ if($adrotate_config['stats'] == 1 AND $tracker == "Y") { // Internal tracker
508
+ $banner_output = str_replace('<a ', '<a data-track="'.adrotate_hash($id, $group, $blog_id).'" ', $banner_output);
 
509
  preg_match_all('/<a[^>](.*?)>/i', $banner_output, $matches, PREG_SET_ORDER);
510
+ if(isset($matches[0])) {
511
+ foreach($matches[0] as $value) {
512
+ if(preg_match('/<a[^>]+class=\"(.+?)\"[^>]*>/i', $value, $regs)) {
513
  $result = $regs[1]." gofollow";
514
+ $banner_output = str_replace('class="'.$regs[1].'"', 'class="'.$result.'"', $banner_output);
515
  } else {
516
+ $banner_output = str_replace('<a ', '<a class="gofollow" ', $banner_output);
517
  }
518
+ unset($value, $regs, $result);
 
519
  }
520
  }
521
  if($adrotate_debug['timers'] == true) {
527
 
528
  // Add Responsive classes
529
  preg_match_all('/<img[^>](.*?)>/i', $banner_output, $matches, PREG_SET_ORDER);
530
+ if(isset($matches[0])) {
531
+ foreach($matches[0] as $value) {
532
+ if(preg_match('/<img[^>]+class=\"(.+?)\"[^>]*>/i', $value, $regs)) {
533
  $result = $regs[1];
534
  if($responsive == 'Y') $result .= " responsive";
535
  $result = trim($result);
536
+ $banner_output = str_replace('class="'.$regs[1].'"', 'class="'.$result.'"', $banner_output);
537
  } else {
538
  $result = '';
539
  if($responsive == 'Y') $result .= " responsive";
540
  $result = trim($result);
541
  if(strlen($result) > 0) {
542
+ $banner_output = str_replace('<img ', '<img class="'.$result.'" ', $banner_output);
 
 
543
  }
544
  }
545
+ unset($value, $regs, $result);
 
546
  }
547
  }
548
  unset($matches);
577
  if(get_option('adrotate_responsive_required') > 0) wp_enqueue_script('responsive-adrotate', plugins_url('/library/jquery.adrotate.responsive.js', __FILE__), false, '0.4', $in_footer);
578
 
579
  // Make clicktracking and impression tracking a possibility
580
+ if($adrotate_config['stats'] == 1){
581
  wp_enqueue_script('clicktrack-adrotate', plugins_url('/library/jquery.adrotate.clicktracker.js', __FILE__), false, '0.7', $in_footer);
582
  wp_localize_script('jshowoff-adrotate', 'impression_object', array('ajax_url' => admin_url( 'admin-ajax.php')));
583
  wp_localize_script('clicktrack-adrotate', 'click_object', array('ajax_url' => admin_url('admin-ajax.php')));
742
  echo ' <h2 style="text-align: center;">'.__('Oh no! Something went wrong!', 'adrotate').'</h2>';
743
  echo ' <p style="text-align: center;">'.__('WordPress was unable to verify the authenticity of the url you have clicked. Verify if the url used is valid or log in via your browser.', 'adrotate').'</p>';
744
  echo ' <p style="text-align: center;">'.__('If you have received the url you want to visit via email, you are being tricked!', 'adrotate').'</p>';
745
+ echo ' <p style="text-align: center;">'.__('Contact support if the issue persists:', 'adrotate').' <a href="https://ajdg.solutions/forums/pk_campaign=adrotatefree-nonceerror&pk_kwd=forum" title="AdRotate Support" target="_blank">AJdG Solutions Support</a>.</p>';
746
  }
747
 
748
  /*-------------------------------------------------------------
794
 
795
  // Database
796
  case "db_error" :
797
+ $result = '<span style="font-weight: bold; color: #f00;">'.__('There was an error locating the database tables for AdRotate. Please deactivate and re-activate AdRotate from the plugin page!!', 'adrotate').'<br />'.__('If this does not solve the issue please seek support at', 'adrotate').' <a href="https://ajdg.solutions/forums/forum/adrotate-for-wordpress/?pk_campaign=adrotatefree-databaseerror&pk_kwd=forum">ajdg.solutions/forums/forum/adrotate-for-wordpress/</a></span>';
798
  return $result;
799
  break;
800
 
843
  if($pro_banner != 1 AND $pro_banner < (adrotate_now() - 604800) AND strpos($page, 'adrotate') !== false) {
844
  echo '<div class="updated" style="padding: 0; margin: 0; border-left: none;">';
845
  echo ' <div class="adrotate_banner">';
846
+ echo ' <div class="button_div"><a class="button" target="_blank" href="https://ajdg.solutions/products/adrotate-for-wordpress/?pk_campaign=adrotatefree-upgradebanner&pk_kwd=upgrade_adrotatefree">'.__('Learn More', 'adrotate').'</a></div>';
847
  echo ' <div class="text">'.__("You've been using <strong>AdRotate</strong> for a while now. Why not upgrade to the <strong>PRO</strong> version", 'adrotate').'?<br /><span>'.__('Get more features to even better run your advertising campaigns.', 'adrotate' ).' '.__('Thank you for your consideration!', 'adrotate' ).'</span></div>';
848
  echo ' <a class="close_banner" href="admin.php?page=adrotate-pro&hide=1"><img title="Close" src="'.plugins_url('images/close-icon.png', __FILE__).'" alt=""/></a>';
849
  echo ' <div class="icon"><img title="" src="'.plugins_url('images/adrotate-logo-60x60.png', __FILE__).'" alt=""/></div>';
856
  echo '<div class="updated" style="padding: 0; margin: 0; border-left: none;">';
857
  echo ' <div class="adrotate_banner">';
858
  echo ' <div class="button_div"><a class="button" target="_blank" href="https://wordpress.org/support/view/plugin-reviews/adrotate?rate=5#postform">Rate AdRotate</a></div>';
859
+ echo ' <div class="text">If you like <strong>AdRotate</strong> please let the world know that you do. Thanks for your support!<br /><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/?pk_campaign=adrotatefree-reviewbanner&pk_kwd=get_help" target="_blank">get in touch</a>!</span></div>';
860
  echo ' <a class="close_banner" href="admin.php?page=adrotate&hide=2"><img title="Close" src="'.plugins_url('images/close-icon.png', __FILE__).'" alt=""/></a>';
861
  echo ' <div class="icon"><img title="" src="'.plugins_url('images/adrotate-logo-60x60.png', __FILE__).'" alt=""/></div>';
862
  echo ' </div>';
870
  if($adrotate_db_version['current'] < ADROTATE_DB_VERSION OR $adrotate_version['current'] < ADROTATE_VERSION) {
871
  echo '<div class="updated" style="padding: 0; margin: 0; border-left: none;">';
872
  echo ' <div class="adrotate_banner">';
873
+ echo ' <div class="button_div"><a class="button" href="admin.php?page=adrotate&upgrade=1">Update Now</a></div>';
874
  echo ' <div class="text">You have almost finished upgrading <strong>AdRotate</strong> to version <strong>'.ADROTATE_DISPLAY.'</strong>!<br /><span>To complete the update click the button on the left. This may take a few seconds to complete!</span></div>';
875
  echo ' <div class="icon"><img title="" src="'.plugins_url('images/adrotate-logo-60x60.png', __FILE__).'" alt=""/></div>';
876
  echo ' </div>';
901
  },
902
  close: function() {
903
  $.post(ajaxurl, {
904
+ pointer:'adrotatefree_'+<?php echo ADROTATE_VERSION.ADROTATE_DB_VERSION; ?>,
905
  action:'dismiss-wp-pointer'
906
  });
907
  }
927
  'title' => __('Useful Links'),
928
  'content' => '<h4>'.__('Useful links to learn more about AdRotate', 'adrotate').'</h4>'.
929
  '<ul>'.
930
+ '<li><a href="https://ajdg.solutions/products/adrotate-for-wordpress/?pk_campaign=adrotatefree-helptab&pk_kwd=adrotate_page" target="_blank">'.__('AdRotate Page', 'adrotate').'</a>.</li>'.
931
+ '<li><a href="https://ajdg.solutions/manuals/adrotate/getting-started-with-adrotate/?pk_campaign=adrotatefree-helptab&pk_kwd=gettingstarted" target="_blank">'.__('Getting Started With AdRotate', 'adrotate').'</a>.</li>'.
932
+ '<li><a href="https://ajdg.solutions/manuals/adrotate/?pk_campaign=adrotatefree-helptab&pk_kwd=manuals" target="_blank">'.__('AdRotate manuals', 'adrotate').'</a>.</li>'.
933
+ '<li><a href="https://ajdg.solutions/forums/forum/adrotate-for-wordpress/?pk_campaign=adrotatefree-helptab&pk_kwd=forum" target="_blank">'.__('AdRotate Support Forum', 'adrotate').'</a>.</li>'.
 
934
  '</ul>'
935
  )
936
  );
938
  'id' => 'adrotate_thanks',
939
  'title' => 'Thank You',
940
  'content' => '<h4>Thank you for using AdRotate</h4><p>AdRotate is growing to be one of the most popular WordPress plugins for Advertising and is a household name for many companies around the world. AdRotate wouldn\'t be possible without your support and my life wouldn\'t be what it is today without your help.</p><p><em>- Arnan from AJdG Solutions</em></p>'.
941
+ '<p><strong>Add me:</strong> <a href="http://twitter.com/ajdgsolutions/" target="_blank">Twitter</a>, <a href="https://www.facebook.com/AJdgSolutions" target="_blank">Facebook</a>. <strong>Business:</strong> <a href="https://ajdg.solutions/?pk_campaign=adrotatefree-helptab&pk_kwd=ajdgsolutions" target="_blank">ajdg.solutions</a> <strong>Blog:</strong> <a href="http://meandmymac.net/?pk_campaign=adrotatefree-helptab&pk_kwd=meandmymac" target="_blank">meandmymac.net</a> and <strong>adventure:</strong> <a href="http://www.floatingcoconut.net/?pk_campaign=adrotatefree-helptab&pk_kwd=floatingcoconut" target="_blank">floatingcoconut.net</a>.</p>'
942
  )
943
  );
944
  }
963
 
964
  echo '<tbody>';
965
  echo '<tr>';
966
+ echo '<td><center><a href="https://ajdg.solutions/products/adrotate-for-wordpress/?pk_campaign=adrotatefree-credits&pk_kwd=adrotate_logo" 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>';
967
  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>';
968
 
969
+ echo '<td><center><a href="https://ajdg.solutions/?pk_campaign=adrotatefree-credits&pk_kwd=ajdg_logo" title="AJdG Solutions"><img src="'.plugins_url('/images/ajdg-logo-100x60.png', __FILE__).'" alt="ajdg-logo-100x60" width="100" height="60" /></a></center></td>';
970
+ echo '<td><a href="https://ajdg.solutions/?pk_campaign=adrotatefree-credits&pk_kwd=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/?pk_campaign=adrotatefree-credits&pk_kwd=ajdg_link" target="_blank">AJdG Solutions</a> '.__('website', 'adrotate').'</td>';
971
  echo '</tr>';
972
  echo '</tbody>';
973
 
adrotate-setup.php CHANGED
@@ -267,7 +267,7 @@ function adrotate_check_config() {
267
  if(!isset($config['moderate_approve'])) $config['moderate_approve'] = 'administrator';
268
  if(!isset($config['enable_advertisers']) OR ($config['enable_advertisers'] != 'Y' AND $config['enable_advertisers'] != 'N')) $config['enable_advertisers'] = 'N';
269
  if(!isset($config['enable_editing']) OR ($config['enable_editing'] != 'Y' AND $config['enable_editing'] != 'N')) $config['enable_editing'] = 'N';
270
- if(!isset($config['enable_stats']) OR ($config['enable_stats'] != 'Y' AND $config['enable_stats'] != 'N')) $config['enable_stats'] = 'Y';
271
  if(!isset($config['enable_loggedin_impressions']) OR ($config['enable_loggedin_impressions'] != 'Y' AND $config['enable_loggedin_impressions'] != 'N')) $config['enable_loggedin_impressions'] = 'Y';
272
  if(!isset($config['enable_loggedin_clicks']) OR ($config['enable_loggedin_clicks'] != 'Y' AND $config['enable_loggedin_clicks'] != 'N')) $config['enable_loggedin_clicks'] = 'Y';
273
  if(!isset($config['enable_geo'])) $config['enable_geo'] = 0;
@@ -387,7 +387,7 @@ function adrotate_database_install() {
387
  $engine = ' ENGINE=InnoDB';
388
  }
389
 
390
- $found_tables = $wpdb->get_col("SHOW TABLES LIKE '{$wpdb->prefix}adrotate';");
391
 
392
  if(!in_array("{$wpdb->prefix}adrotate", $found_tables)) {
393
  dbDelta("CREATE TABLE `{$wpdb->prefix}adrotate` (
@@ -883,6 +883,18 @@ function adrotate_core_upgrade() {
883
  if(!wp_next_scheduled('adrotate_evaluate_ads')) wp_schedule_event($firstrun + 3600, 'twicedaily', 'adrotate_evaluate_ads');
884
  }
885
 
 
 
 
 
 
 
 
 
 
 
 
 
886
  update_option("adrotate_version", array('current' => ADROTATE_VERSION, 'previous' => $adrotate_version['current']));
887
  }
888
 
267
  if(!isset($config['moderate_approve'])) $config['moderate_approve'] = 'administrator';
268
  if(!isset($config['enable_advertisers']) OR ($config['enable_advertisers'] != 'Y' AND $config['enable_advertisers'] != 'N')) $config['enable_advertisers'] = 'N';
269
  if(!isset($config['enable_editing']) OR ($config['enable_editing'] != 'Y' AND $config['enable_editing'] != 'N')) $config['enable_editing'] = 'N';
270
+ if(!isset($config['stats']) OR ($config['stats'] < 0 AND $config['stats'] > 2)) $config['stats'] = 1;
271
  if(!isset($config['enable_loggedin_impressions']) OR ($config['enable_loggedin_impressions'] != 'Y' AND $config['enable_loggedin_impressions'] != 'N')) $config['enable_loggedin_impressions'] = 'Y';
272
  if(!isset($config['enable_loggedin_clicks']) OR ($config['enable_loggedin_clicks'] != 'Y' AND $config['enable_loggedin_clicks'] != 'N')) $config['enable_loggedin_clicks'] = 'Y';
273
  if(!isset($config['enable_geo'])) $config['enable_geo'] = 0;
387
  $engine = ' ENGINE=InnoDB';
388
  }
389
 
390
+ $found_tables = $wpdb->get_col("SHOW TABLES LIKE '{$wpdb->prefix}adrotate%';");
391
 
392
  if(!in_array("{$wpdb->prefix}adrotate", $found_tables)) {
393
  dbDelta("CREATE TABLE `{$wpdb->prefix}adrotate` (
883
  if(!wp_next_scheduled('adrotate_evaluate_ads')) wp_schedule_event($firstrun + 3600, 'twicedaily', 'adrotate_evaluate_ads');
884
  }
885
 
886
+ // 3.11.4
887
+ if($adrotate_version['current'] < 379) {
888
+ $config379 = get_option('adrotate_config');
889
+ if($config379['enable_stats'] == 'Y') {
890
+ $config379['stats'] = 1;
891
+ } else {
892
+ $config379['stats'] = 0;
893
+ }
894
+ unset($config379['enable_stats']);
895
+ update_option('adrotate_config', $config379);
896
+ }
897
+
898
  update_option("adrotate_version", array('current' => ADROTATE_VERSION, 'previous' => $adrotate_version['current']));
899
  }
900
 
adrotate.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php
2
  /*
3
  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: 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.3
9
  License: GPLv3
10
  */
11
 
@@ -20,8 +20,8 @@ License: GPLv3
20
  ------------------------------------------------------------------------------------ */
21
 
22
  /*--- AdRotate values ---------------------------------------*/
23
- define("ADROTATE_DISPLAY", '3.11.3');
24
- define("ADROTATE_VERSION", 378);
25
  define("ADROTATE_DB_VERSION", 50);
26
  define("ADROTATE_FOLDER", 'adrotate');
27
  /*-----------------------------------------------------------*/
@@ -57,7 +57,7 @@ add_action('widgets_init', create_function('', 'return register_widget("adrotate
57
  /*-----------------------------------------------------------*/
58
 
59
  /*--- Front end ---------------------------------------------*/
60
- if($adrotate_config['enable_stats'] == 'Y'){
61
  add_action('wp_ajax_adrotate_impression', 'adrotate_impression_callback');
62
  add_action('wp_ajax_nopriv_adrotate_impression', 'adrotate_impression_callback');
63
  add_action('wp_ajax_adrotate_click', 'adrotate_click_callback');
@@ -217,8 +217,6 @@ function adrotate_manage() {
217
  <div id="message" class="updated"><p><?php _e('The ad was saved but has an issue which might prevent it from working properly. Review the yellow marked ad.', 'adrotate'); ?></p></div>
218
  <?php } else if ($message == 'exported') { ?>
219
  <div id="message" class="updated"><p><?php _e('Export created', 'adrotate'); ?> <a href="<?php echo WP_CONTENT_URL; ?>/reports/<?php echo $file; ?>">Download</a>.</p></div>
220
-
221
-
222
  <?php } else if ($message == 'no_access') { ?>
223
  <div id="message" class="updated"><p><?php _e('Action prohibited', 'adrotate'); ?></p></div>
224
  <?php } else if ($message == 'nodata') { ?>
@@ -335,7 +333,7 @@ function adrotate_manage() {
335
  Return: -none-
336
  -------------------------------------------------------------*/
337
  function adrotate_manage_group() {
338
- global $wpdb, $adrotate_debug;
339
 
340
  $message = $view = $group_edit_id = '';
341
  if(isset($_GET['message'])) $message = esc_attr($_GET['message']);
@@ -378,6 +376,9 @@ function adrotate_manage_group() {
378
  <div class="alignleft actions">
379
  <a class="row-title" href="<?php echo admin_url('/admin.php?page=adrotate-groups&view=manage');?>"><?php _e('Manage', 'adrotate'); ?></a> |
380
  <a class="row-title" href="<?php echo admin_url('/admin.php?page=adrotate-groups&view=addnew');?>"><?php _e('Add New', 'adrotate'); ?></a>
 
 
 
381
  </div>
382
  </div>
383
 
@@ -690,9 +691,23 @@ function adrotate_options() {
690
  <h3><?php _e('Statistics', 'adrotate'); ?></h3></td>
691
  <table class="form-table">
692
  <tr>
693
- <th valign="top"><?php _e('Enable stats', 'adrotate'); ?></th>
694
  <td>
695
- <input type="checkbox" name="adrotate_enable_stats" <?php if($adrotate_config['enable_stats'] == 'Y') { ?>checked="checked" <?php } ?> /> <?php _e('Track clicks and impressions.', 'adrotate'); ?><br /><span class="description"><?php _e('Disabling this also disables click and impression limits on schedules.', 'adrotate'); ?></span><br />
 
 
 
 
 
 
 
 
 
 
 
 
 
 
696
  </td>
697
  </tr>
698
  <tr>
1
  <?php
2
  /*
3
  Plugin Name: AdRotate
4
+ Plugin URI: https://ajdg.solutions/products/adrotate-for-wordpress/?pk_campaign=adrotatefree-pluginpage&pk_kwd=pluginurl
5
  Author: Arnan de Gans of AJdG Solutions
6
+ Author URI: http://ajdg.solutions/?pk_campaign=adrotatefree-pluginpage&pk_kwd=authorurl
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.4
9
  License: GPLv3
10
  */
11
 
20
  ------------------------------------------------------------------------------------ */
21
 
22
  /*--- AdRotate values ---------------------------------------*/
23
+ define("ADROTATE_DISPLAY", '3.11.4');
24
+ define("ADROTATE_VERSION", 379);
25
  define("ADROTATE_DB_VERSION", 50);
26
  define("ADROTATE_FOLDER", 'adrotate');
27
  /*-----------------------------------------------------------*/
57
  /*-----------------------------------------------------------*/
58
 
59
  /*--- Front end ---------------------------------------------*/
60
+ if($adrotate_config['stats'] == 1){
61
  add_action('wp_ajax_adrotate_impression', 'adrotate_impression_callback');
62
  add_action('wp_ajax_nopriv_adrotate_impression', 'adrotate_impression_callback');
63
  add_action('wp_ajax_adrotate_click', 'adrotate_click_callback');
217
  <div id="message" class="updated"><p><?php _e('The ad was saved but has an issue which might prevent it from working properly. Review the yellow marked ad.', 'adrotate'); ?></p></div>
218
  <?php } else if ($message == 'exported') { ?>
219
  <div id="message" class="updated"><p><?php _e('Export created', 'adrotate'); ?> <a href="<?php echo WP_CONTENT_URL; ?>/reports/<?php echo $file; ?>">Download</a>.</p></div>
 
 
220
  <?php } else if ($message == 'no_access') { ?>
221
  <div id="message" class="updated"><p><?php _e('Action prohibited', 'adrotate'); ?></p></div>
222
  <?php } else if ($message == 'nodata') { ?>
333
  Return: -none-
334
  -------------------------------------------------------------*/
335
  function adrotate_manage_group() {
336
+ global $wpdb, $adrotate_config, $adrotate_debug;
337
 
338
  $message = $view = $group_edit_id = '';
339
  if(isset($_GET['message'])) $message = esc_attr($_GET['message']);
376
  <div class="alignleft actions">
377
  <a class="row-title" href="<?php echo admin_url('/admin.php?page=adrotate-groups&view=manage');?>"><?php _e('Manage', 'adrotate'); ?></a> |
378
  <a class="row-title" href="<?php echo admin_url('/admin.php?page=adrotate-groups&view=addnew');?>"><?php _e('Add New', 'adrotate'); ?></a>
379
+ <?php if($group_edit_id AND $adrotate_config['stats'] == 1) { ?>
380
+ | <a class="row-title" href="<?php echo admin_url('/admin.php?page=adrotate-groups&view=report&group='.$group_edit_id);?>"><?php _e('Report', 'adrotate'); ?></a>
381
+ <?php } ?>
382
  </div>
383
  </div>
384
 
691
  <h3><?php _e('Statistics', 'adrotate'); ?></h3></td>
692
  <table class="form-table">
693
  <tr>
694
+ <th valign="top"><?php _e('How to track stats', 'adrotate'); ?></th>
695
  <td>
696
+ <select name="adrotate_stats">
697
+ <option value="0" <?php if($adrotate_config['stats'] == 0) { echo 'selected'; } ?>><?php _e('Disabled', 'adrotate'); ?></option>
698
+ <option value="1" <?php if($adrotate_config['stats'] == 1) { echo 'selected'; } ?>>AdRotate (Default)</option>
699
+ <option value="0" disabled>Piwik Analytics (Advanced, Faster)</option>
700
+ <option value="0" disabled>Google Analytics (Advanced)</option>
701
+ </select><br />
702
+ <span class="description">
703
+ <strong>Disabled</strong> - <?php _e('No impressions and clicks are recorded for any of your adverts.', 'adrotate'); ?><br /><br />
704
+ <strong>AdRotate</strong> - <?php _e('Tracks impressions and clicks internally.', 'adrotate'); ?><br />
705
+ <strong>Supports:</strong> <em><?php _e('Click and Impression recording, Click and impression limits, impression spread for schedules, local stats display.', 'adrotate'); ?></em><br /><br />
706
+ <strong>Piwik Analytics</strong> - <?php _e('Requires Piwik Analytics tracker installed in your sites footer! Uses data attributes.', 'adrotate'); ?> <?php _e('Available in AdRotate Pro!', 'adrotate'); ?><br />
707
+ <strong>Supports:</strong> <em><?php _e('Click and Impression recording via Cookie, stats are displayed in Actions > Contents.', 'adrotate'); ?></em><br /><br />
708
+ <strong>Google Analytics</strong> - <?php _e('Requires Google Analytics tracker installed in your sites footer! uses onClick() in adverts.', 'adrotate'); ?> <?php _e('Available in AdRotate Pro!', 'adrotate'); ?><br />
709
+ <strong>Supports:</strong> <em><?php _e('Click and Impression recording via Cookie, stats are displayed in Events.', 'adrotate'); ?></em>
710
+ </span>
711
  </td>
712
  </tr>
713
  <tr>
dashboard/adrotate-info.php CHANGED
@@ -136,8 +136,8 @@ $data = get_option("adrotate_advert_status");
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>
@@ -149,7 +149,7 @@ $data = get_option("adrotate_advert_status");
149
  <div class="postbox-adrotate">
150
  <div class="inside">
151
  <?php wp_widget_rss_output(array(
152
- 'url' => array('http://feeds.feedburner.com/meandmymacnet', 'http://ajdg.solutions/feed/'),
153
  'title' => 'AdRotate Development News',
154
  'items' => 4,
155
  'show_summary' => 1,
@@ -168,28 +168,28 @@ $data = get_option("adrotate_advert_status");
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">
178
- <a href="https://ajdg.solutions/products/adrotate-for-wordpress/?utm_source=adrotate_free&utm_medium=adrotate_info_page&utm_campaign=compare_license"><img src="<?php echo WP_CONTENT_URL; ?>/plugins/adrotate/images/adrotate-product.png" alt="adrotate-product" width="150" height="150" align="right" style="padding: 0 0 10px 10px;" /></a>
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">
191
- <p><a href="https://ajdg.solutions/" title="AJdG Solutions"><img src="<?php echo WP_CONTENT_URL; ?>/plugins/adrotate/images/ajdg-logo-100x60.png" alt="ajdg-logo-100x60" width="100" height="60" align="left" style="padding: 0 10px 10px 0;" /></a>
192
- <a href="https://ajdg.solutions/" title="AJdG Solutions">AJdG Solutions</a> - <?php _e('Your one stop for Webdevelopment, consultancy and anything WordPress! If you need a custom plugin. Theme customizations or have your site moved/migrated entirely. Visit my website for details!', 'adrotate'); ?> <a href="https://ajdg.solutions/" title="AJdG Solutions"><?php _e('Find out more', 'adrotate'); ?></a>!</p>
193
 
194
  <p><center><a href="https://twitter.com/AJdGSolutions" class="twitter-follow-button" data-show-count="false" data-size="large" data-dnt="true"><?php _e('Follow', 'adrotate'); ?> @AJdGSolutions</a>
195
  <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script></center></p>
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 money? 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%20Donation&item_number=000&no_shipping=0&no_note=0&tax=0&currency_code=EUR&bn=PP%2dDonationsBF&charset=UTF%2d8&amount=5" target="_blank">Donate &euro; 5 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>
149
  <div class="postbox-adrotate">
150
  <div class="inside">
151
  <?php wp_widget_rss_output(array(
152
+ 'url' => array('http://meandmymac.net/feed/', 'http://ajdg.solutions/feed/'),
153
  'title' => 'AdRotate Development News',
154
  'items' => 4,
155
  'show_summary' => 1,
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/?pk_campaign=adrotatefree-infopage&pk_kwd=adrotate_logo" 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/?pk_campaign=adrotatefree-infopage&pk_kwd=adrotate_link" 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">
178
+ <a href="https://ajdg.solutions/products/adrotate-for-wordpress/?pk_campaign=adrotatefree-infopage&pk_kwd=compare_license"><img src="<?php echo WP_CONTENT_URL; ?>/plugins/adrotate/images/adrotate-product.png" alt="adrotate-product" width="150" height="150" align="right" style="padding: 0 0 10px 10px;" /></a>
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&pk_campaign=adrotatefree-infopage&pk_kwd=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&pk_campaign=adrotatefree-infopage&pk_kwd=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&pk_campaign=adrotatefree-infopage&pk_kwd=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&pk_campaign=adrotatefree-infopage&pk_kwd=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&pk_campaign=adrotatefree-infopage&pk_kwd=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/?pk_campaign=adrotatefree-infopage&pk_kwd=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">
191
+ <p><a href="https://ajdg.solutions/?pk_campaign=adrotatefree-infopage&pk_kwd=ajdg_logo" title="AJdG Solutions"><img src="<?php echo WP_CONTENT_URL; ?>/plugins/adrotate/images/ajdg-logo-100x60.png" alt="ajdg-logo-100x60" width="100" height="60" align="left" style="padding: 0 10px 10px 0;" /></a>
192
+ <a href="https://ajdg.solutions/?pk_campaign=adrotatefree-infopage&pk_kwd=ajdg_link" title="AJdG Solutions">AJdG Solutions</a> - <?php _e('Your one stop for Webdevelopment, consultancy and anything WordPress! If you need a custom plugin. Theme customizations or have your site moved/migrated entirely. Visit my website for details!', 'adrotate'); ?> <a href="https://ajdg.solutions/?pk_campaign=adrotatefree-infopage&pk_kwd=ajdg_link" title="AJdG Solutions"><?php _e('Find out more', 'adrotate'); ?></a>!</p>
193
 
194
  <p><center><a href="https://twitter.com/AJdGSolutions" class="twitter-follow-button" data-show-count="false" data-size="large" data-dnt="true"><?php _e('Follow', 'adrotate'); ?> @AJdGSolutions</a>
195
  <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script></center></p>
dashboard/adrotate-pro.php CHANGED
@@ -10,7 +10,7 @@
10
  ------------------------------------------------------------------------------------ */
11
  ?>
12
  <div id="dashboard-widgets-wrap">
13
- <p><center>Take a peek into professional advertising for WordPress websites and discover how you can benefit from the powerful features <a href="https://ajdg.solutions/products/adrotate-for-wordpress/?utm_source=adrotate_free&utm_medium=adrotate_pro_page&utm_campaign=upgrade_adrotatefree" target="_blank">AdRotate Professional</a> has to offer.</center></p>
14
 
15
  <div id="dashboard-widgets" class="metabox-holder">
16
 
@@ -21,7 +21,7 @@
21
  <div class="postbox-adrotate">
22
  <div class="inside">
23
  <p><?php _e('Set up advertisers and let them log in to their statistics or even create their own adverts. Created adverts go into a moderation queue for your staff to review. Advertisers have access to their own little dashboard where they can see their adverts performance.', 'adrotate'); ?></p>
24
- <center><a href="https://ajdg.solutions/products/adrotate-for-wordpress/?utm_source=adrotate_free&utm_medium=adrotate_pro_page&utm_campaign=upgrade_adrotatefree" target="_blank"><img src="<?php echo WP_CONTENT_URL; ?>/plugins/adrotate/images/demo-advertisers.jpg" /></a></center>
25
  </div>
26
  </div>
27
 
@@ -29,7 +29,7 @@
29
  <div class="postbox-adrotate">
30
  <div class="inside">
31
  <p><?php _e('Go nationwide or global with localized adverts for your various audiences. Set up adverts for countries and cities and sell impressions per general area. Connect your site to MaxMinds GeoIP2: Precision, FreegeoIP (MaxMind GeoLITE) or GeoBytes GeoSelect services.', 'adrotate'); ?></p>
32
- <center><a href="https://ajdg.solutions/products/adrotate-for-wordpress/?utm_source=adrotate_free&utm_medium=adrotate_pro_page&utm_campaign=upgrade_adrotatefree" target="_blank"><img src="<?php echo WP_CONTENT_URL; ?>/plugins/adrotate/images/demo-geotargetting.jpg" /></a></center>
33
  </div>
34
  </div>
35
 
@@ -61,7 +61,7 @@
61
  <div class="postbox-adrotate">
62
  <div class="inside">
63
  <p><?php _e('Schedule your adverts and set up advertising campaigns based on date without hassle. Seasonal adverts, weekly adverts. You name it. AdRotate schedules it.', 'adrotate'); ?></p>
64
- <center><a href="https://ajdg.solutions/products/adrotate-for-wordpress/?utm_source=adrotate_free&utm_medium=adrotate_pro_page&utm_campaign=upgrade_adrotatefree" target="_blank"><img src="<?php echo WP_CONTENT_URL; ?>/plugins/adrotate/images/demo-schedules.jpg" /></a></center>
65
  </div>
66
  </div>
67
 
@@ -69,20 +69,20 @@
69
  <div class="postbox-adrotate">
70
  <div class="inside">
71
  <p><?php _e('Stay in touch with Email and/or push notifications. Get notified when adverts expire, have errors or when advertisers create new adverts. Never miss an expiration date again.', 'adrotate'); ?></p>
72
- <center><a href="https://ajdg.solutions/products/adrotate-for-wordpress/?utm_source=adrotate_free&utm_medium=adrotate_pro_page&utm_campaign=upgrade_adrotatefree" target="_blank"><img src="<?php echo WP_CONTENT_URL; ?>/plugins/adrotate/images/demo-notifications.jpg" /></a></center>
73
  </div>
74
  </div>
75
 
76
  <h3><?php _e('Buy AdRotate Professional', 'adrotate'); ?></h3>
77
  <div class="postbox-adrotate">
78
  <div class="inside">
79
- <a href="https://ajdg.solutions/products/adrotate-for-wordpress/?utm_source=adrotate_free&utm_medium=adrotate_pro_page&utm_campaign=compare_license"><img src="<?php echo WP_CONTENT_URL; ?>/plugins/adrotate/images/adrotate-product.png" alt="adrotate-product" width="150" height="150" align="right" style="padding: 0 0 10px 10px;" /></a>
80
- <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_pro_page&utm_campaign=buy_single" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
81
- <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_pro_page&utm_campaign=buy_duo" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
82
- <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_pro_page&utm_campaign=buy_multi" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
83
- <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_pro_page&utm_campaign=buy_developer" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
84
- <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_pro_page&utm_campaign=buy_network" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
85
- <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_pro_page&utm_campaign=compare_license" target="_blank"><?php _e('All Licenses', 'adrotate'); ?> &raquo;</a></p>
86
  </div>
87
  </div>
88
 
@@ -93,6 +93,6 @@
93
 
94
  <div class="clear"></div>
95
 
96
- <p><center>A grasp of the features AdRotate Pro has to offer over the free version. Check out the <a href="https://ajdg.solutions/products/adrotate-for-wordpress/?utm_source=adrotate_free&utm_medium=adrotate_pro_page&utm_campaign=upgrade_adrotatefree" target="_blank">AdRotate website</a> for more information.<br />All prices are in Euros and inclusive of tax/VAT in the European Union. The amount will be converted to Euros automagically.</center></p>
97
  <p><?php echo adrotate_trademark(); ?></p>
98
  </div>
10
  ------------------------------------------------------------------------------------ */
11
  ?>
12
  <div id="dashboard-widgets-wrap">
13
+ <p><center>Take a peek into professional advertising for WordPress websites and discover how you can benefit from the powerful features <a href="https://ajdg.solutions/products/adrotate-for-wordpress/?pk_campaign=adrotatefree-propage&pk_kwd=upgrade_adrotatefree" target="_blank">AdRotate Professional</a> has to offer.</center></p>
14
 
15
  <div id="dashboard-widgets" class="metabox-holder">
16
 
21
  <div class="postbox-adrotate">
22
  <div class="inside">
23
  <p><?php _e('Set up advertisers and let them log in to their statistics or even create their own adverts. Created adverts go into a moderation queue for your staff to review. Advertisers have access to their own little dashboard where they can see their adverts performance.', 'adrotate'); ?></p>
24
+ <center><a href="https://ajdg.solutions/products/adrotate-for-wordpress/?pk_campaign=adrotatefree-propage&pk_kwd=upgrade_adrotatefree" target="_blank"><img src="<?php echo WP_CONTENT_URL; ?>/plugins/adrotate/images/demo-advertisers.jpg" /></a></center>
25
  </div>
26
  </div>
27
 
29
  <div class="postbox-adrotate">
30
  <div class="inside">
31
  <p><?php _e('Go nationwide or global with localized adverts for your various audiences. Set up adverts for countries and cities and sell impressions per general area. Connect your site to MaxMinds GeoIP2: Precision, FreegeoIP (MaxMind GeoLITE) or GeoBytes GeoSelect services.', 'adrotate'); ?></p>
32
+ <center><a href="https://ajdg.solutions/products/adrotate-for-wordpress/?pk_campaign=adrotatefree-propage&pk_kwd=upgrade_adrotatefree" target="_blank"><img src="<?php echo WP_CONTENT_URL; ?>/plugins/adrotate/images/demo-geotargetting.jpg" /></a></center>
33
  </div>
34
  </div>
35
 
61
  <div class="postbox-adrotate">
62
  <div class="inside">
63
  <p><?php _e('Schedule your adverts and set up advertising campaigns based on date without hassle. Seasonal adverts, weekly adverts. You name it. AdRotate schedules it.', 'adrotate'); ?></p>
64
+ <center><a href="https://ajdg.solutions/products/adrotate-for-wordpress/?pk_campaign=adrotatefree-propage&pk_kwd=upgrade_adrotatefree" target="_blank"><img src="<?php echo WP_CONTENT_URL; ?>/plugins/adrotate/images/demo-schedules.jpg" /></a></center>
65
  </div>
66
  </div>
67
 
69
  <div class="postbox-adrotate">
70
  <div class="inside">
71
  <p><?php _e('Stay in touch with Email and/or push notifications. Get notified when adverts expire, have errors or when advertisers create new adverts. Never miss an expiration date again.', 'adrotate'); ?></p>
72
+ <center><a href="https://ajdg.solutions/products/adrotate-for-wordpress/?pk_campaign=adrotatefree-propage&pk_kwd=upgrade_adrotatefree" target="_blank"><img src="<?php echo WP_CONTENT_URL; ?>/plugins/adrotate/images/demo-notifications.jpg" /></a></center>
73
  </div>
74
  </div>
75
 
76
  <h3><?php _e('Buy AdRotate Professional', 'adrotate'); ?></h3>
77
  <div class="postbox-adrotate">
78
  <div class="inside">
79
+ <a href="https://ajdg.solutions/products/adrotate-for-wordpress/?pk_campaign=adrotatefree-propage&pk_kwd=compare_license"><img src="<?php echo WP_CONTENT_URL; ?>/plugins/adrotate/images/adrotate-product.png" alt="adrotate-product" width="150" height="150" align="right" style="padding: 0 0 10px 10px;" /></a>
80
+ <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&pk_campaign=adrotatefree-propage&pk_kwd=buy_single" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
81
+ <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&pk_campaign=adrotatefree-propage&pk_kwd=buy_duo" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
82
+ <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&pk_campaign=adrotatefree-propage&pk_kwd=buy_multi" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
83
+ <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&pk_campaign=adrotatefree-propage&pk_kwd=buy_developer" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
84
+ <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&pk_campaign=adrotatefree-propage&pk_kwd=buy_network" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
85
+ <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/?pk_campaign=adrotatefree-propage&pk_kwd=compare_license" target="_blank"><?php _e('All Licenses', 'adrotate'); ?> &raquo;</a></p>
86
  </div>
87
  </div>
88
 
93
 
94
  <div class="clear"></div>
95
 
96
+ <p><center>A grasp of the features AdRotate Pro has to offer over the free version. Check out the <a href="https://ajdg.solutions/products/adrotate-for-wordpress/?pk_campaign=adrotatefree-propage&pk_kwd=upgrade_adrotatefree" target="_blank">AdRotate website</a> for more information.<br />All prices are in Euros and inclusive of tax/VAT in the European Union. The amount will be converted to Euros automagically.</center></p>
97
  <p><?php echo adrotate_trademark(); ?></p>
98
  </div>
dashboard/publisher/adrotate-ads-edit.php CHANGED
@@ -52,13 +52,13 @@ if($ad_edit_id) {
52
  echo '<div class="error"><p>'. __('You did use %image% in your AdCode but did not select an image!', 'adrotate').'</p></div>';
53
 
54
  if((($edit_banner->imagetype != '' AND $edit_banner->image == '') OR ($edit_banner->imagetype == '' AND $edit_banner->image != '')))
55
- echo '<div class="error"><p>'. __('There is a problem saving the image specification. Please reset your image and re-save the ad!', 'adrotate').'</p></div>';
56
 
57
  if(!preg_match("/%image%/i", $edit_banner->bannercode) AND $edit_banner->responsive == 'Y')
58
  echo '<div class="error"><p>'. __(' You did not use %image% in your AdCode. The responsive checkbox will be ineffective.', 'adrotate').'</p></div>';
59
 
60
  if(strlen($edit_banner->image) > 0 AND !preg_match("/full/", $edit_banner->image) AND $edit_banner->responsive == 'Y')
61
- echo '<div class="error"><p>'. __('Your chosen banner image does not have the right name. Check the responsive description and try again.', 'adrotate').'</p></div>';
62
 
63
  if(!preg_match_all('/<a[^>](.*?)>/i', stripslashes(htmlspecialchars_decode($edit_banner->bannercode, ENT_QUOTES)), $things) AND $edit_banner->tracker == 'Y')
64
  echo '<div class="error"><p>'. __("Clicktracking is enabled but no valid link was found in the adcode!", 'adrotate').'</p></div>';
@@ -151,12 +151,12 @@ if($edit_banner->imagetype == "field") {
151
  <em><?php _e('Use %image% in the code. Accepted files are:', 'adrotate'); ?> jpg, jpeg, gif, png, swf <?php _e('and', 'adrotate'); ?> flv. <?php _e('Use either the text field or the dropdown. If the textfield has content that field has priority.', 'adrotate'); ?></em>
152
  </td>
153
  </tr>
154
- <?php if($adrotate_config['enable_stats'] == 'Y') { ?>
155
  <tr>
156
- <th width="15%" valign="top"><?php _e('Clicktracking:', 'adrotate'); ?></th>
157
  <td colspan="2">
158
- <label for="adrotate_tracker"><input tabindex="6" type="checkbox" name="adrotate_tracker" <?php if($edit_banner->tracker == 'Y') { ?>checked="checked" <?php } ?> /> <?php _e('Enable click tracking for this advert.', 'adrotate'); ?> <br />
159
- <em><?php _e('Note: Clicktracking does not work for Javascript adverts such as those provided by Google AdSense/DFP/DoubleClick. Flash Adverts also are not supported.', 'adrotate'); ?></em>
160
  </label>
161
  </td>
162
  </tr>
@@ -275,7 +275,7 @@ if($edit_banner->imagetype == "field") {
275
  </label>
276
  </td>
277
  </tr>
278
- <?php if($adrotate_config['enable_stats'] == 'Y') { ?>
279
  <tr>
280
  <th><?php _e('Maximum Clicks:', 'adrotate'); ?></th>
281
  <td><input tabindex="19" name="adrotate_maxclicks" type="text" size="5" class="search-input" autocomplete="off" value="<?php echo $schedules->maxclicks;?>" /> <em><?php _e('Leave empty or 0 to skip this.', 'adrotate'); ?></em></td>
52
  echo '<div class="error"><p>'. __('You did use %image% in your AdCode but did not select an image!', 'adrotate').'</p></div>';
53
 
54
  if((($edit_banner->imagetype != '' AND $edit_banner->image == '') OR ($edit_banner->imagetype == '' AND $edit_banner->image != '')))
55
+ echo '<div class="error"><p>'. __('There is a problem saving the image. Please reset your image and re-save the ad!', 'adrotate').'</p></div>';
56
 
57
  if(!preg_match("/%image%/i", $edit_banner->bannercode) AND $edit_banner->responsive == 'Y')
58
  echo '<div class="error"><p>'. __(' You did not use %image% in your AdCode. The responsive checkbox will be ineffective.', 'adrotate').'</p></div>';
59
 
60
  if(strlen($edit_banner->image) > 0 AND !preg_match("/full/", $edit_banner->image) AND $edit_banner->responsive == 'Y')
61
+ echo '<div class="error"><p>'. __('Responsive is enabled but your banner image has the wrong name.', 'adrotate').'</p></div>';
62
 
63
  if(!preg_match_all('/<a[^>](.*?)>/i', stripslashes(htmlspecialchars_decode($edit_banner->bannercode, ENT_QUOTES)), $things) AND $edit_banner->tracker == 'Y')
64
  echo '<div class="error"><p>'. __("Clicktracking is enabled but no valid link was found in the adcode!", 'adrotate').'</p></div>';
151
  <em><?php _e('Use %image% in the code. Accepted files are:', 'adrotate'); ?> jpg, jpeg, gif, png, swf <?php _e('and', 'adrotate'); ?> flv. <?php _e('Use either the text field or the dropdown. If the textfield has content that field has priority.', 'adrotate'); ?></em>
152
  </td>
153
  </tr>
154
+ <?php if($adrotate_config['stats'] > 0) { ?>
155
  <tr>
156
+ <th width="15%" valign="top"><?php _e('Statistics:', 'adrotate'); ?></th>
157
  <td colspan="2">
158
+ <label for="adrotate_tracker"><input tabindex="6" type="checkbox" name="adrotate_tracker" <?php if($edit_banner->tracker == 'Y') { ?>checked="checked" <?php } ?> /> <?php _e('Enable click and impression tracking for this advert.', 'adrotate'); ?> <br />
159
+ <em><?php _e('Note: Clicktracking does not work for Javascript adverts such as those provided by Google AdSense/DFP/DoubleClick. Flash adverts are not always supported.', 'adrotate'); ?></em>
160
  </label>
161
  </td>
162
  </tr>
275
  </label>
276
  </td>
277
  </tr>
278
+ <?php if($adrotate_config['stats'] == 1) { ?>
279
  <tr>
280
  <th><?php _e('Maximum Clicks:', 'adrotate'); ?></th>
281
  <td><input tabindex="19" name="adrotate_maxclicks" type="text" size="5" class="search-input" autocomplete="off" value="<?php echo $schedules->maxclicks;?>" /> <em><?php _e('Leave empty or 0 to skip this.', 'adrotate'); ?></em></td>
dashboard/publisher/adrotate-ads-main.php CHANGED
@@ -40,11 +40,13 @@
40
  <th width="15%"><?php _e('Start / End', 'adrotate'); ?></th>
41
  <th><?php _e('Title', 'adrotate'); ?></th>
42
  <th width="5%"><center><?php _e('Weight', 'adrotate'); ?></center></th>
43
- <th width="5%"><center><?php _e('Shown', 'adrotate'); ?></center></th>
44
- <th width="5%"><center><?php _e('Today', 'adrotate'); ?></center></th>
45
- <th width="5%"><center><?php _e('Clicks', 'adrotate'); ?></center></th>
46
- <th width="5%"><center><?php _e('Today', 'adrotate'); ?></center></th>
47
- <th width="7%"><center><?php _e('CTR', 'adrotate'); ?></center></th>
 
 
48
  </tr>
49
  </thead>
50
  <tbody>
@@ -82,25 +84,29 @@
82
  <th class="check-column"><input type="checkbox" name="bannercheck[]" value="<?php echo $banner['id']; ?>" /></th>
83
  <td><center><?php echo $banner['id'];?></center></td>
84
  <td><?php echo date_i18n("F d, Y", $banner['firstactive']);?><br /><span style="color: <?php echo adrotate_prepare_color($banner['lastactive']);?>;"><?php echo date_i18n("F d, Y", $banner['lastactive']);?></span></td>
85
- <td><strong><a class="row-title" href="<?php echo admin_url('/admin.php?page=adrotate-ads&view=edit&ad='.$banner['id']);?>" title="<?php _e('Edit', 'adrotate'); ?>"><?php echo stripslashes(html_entity_decode($banner['title']));?></a></strong> - <a href="<?php echo admin_url('/admin.php?page=adrotate-ads&view=report&ad='.$banner['id']);?>" title="<?php _e('Report', 'adrotate'); ?>"><?php _e('Report', 'adrotate'); ?></a><span style="color:#999;"><?php if(strlen($grouplist) > 0) echo '<br /><span style="font-weight:bold;">'.__('Groups:', 'adrotate').'</span> '.$grouplist; ?></span></td>
86
  <td><center><?php echo $banner['weight']; ?></center></td>
87
- <td><center><?php echo $stats['impressions']; ?></center></td>
88
- <td><center><?php echo $stats_today['impressions']; ?></center></td>
89
- <?php if($banner['tracker'] == "Y") { ?>
90
- <td><center><?php echo $stats['clicks']; ?></center></td>
91
- <td><center><?php echo $stats_today['clicks']; ?></center></td>
92
- <td><center><?php echo $ctr; ?> %</center></td>
93
- <?php } else { ?>
94
- <td><center>--</center></td>
95
- <td><center>--</center></td>
96
- <td><center>--</center></td>
 
 
 
 
97
  <?php } ?>
98
  </tr>
99
  <?php } ?>
100
  <?php } else { ?>
101
  <tr id='no-groups'>
102
  <th class="check-column">&nbsp;</th>
103
- <td colspan="10"><em><?php _e('No ads created yet!', 'adrotate'); ?></em></td>
104
  </tr>
105
  <?php } ?>
106
  </tbody>
40
  <th width="15%"><?php _e('Start / End', 'adrotate'); ?></th>
41
  <th><?php _e('Title', 'adrotate'); ?></th>
42
  <th width="5%"><center><?php _e('Weight', 'adrotate'); ?></center></th>
43
+ <?php if($adrotate_config['stats'] == 1) { ?>
44
+ <th width="5%"><center><?php _e('Shown', 'adrotate'); ?></center></th>
45
+ <th width="5%"><center><?php _e('Today', 'adrotate'); ?></center></th>
46
+ <th width="5%"><center><?php _e('Clicks', 'adrotate'); ?></center></th>
47
+ <th width="5%"><center><?php _e('Today', 'adrotate'); ?></center></th>
48
+ <th width="7%"><center><?php _e('CTR', 'adrotate'); ?></center></th>
49
+ <?php } ?>
50
  </tr>
51
  </thead>
52
  <tbody>
84
  <th class="check-column"><input type="checkbox" name="bannercheck[]" value="<?php echo $banner['id']; ?>" /></th>
85
  <td><center><?php echo $banner['id'];?></center></td>
86
  <td><?php echo date_i18n("F d, Y", $banner['firstactive']);?><br /><span style="color: <?php echo adrotate_prepare_color($banner['lastactive']);?>;"><?php echo date_i18n("F d, Y", $banner['lastactive']);?></span></td>
87
+ <td><strong><a class="row-title" href="<?php echo admin_url('/admin.php?page=adrotate-ads&view=edit&ad='.$banner['id']);?>" title="<?php _e('Edit', 'adrotate'); ?>"><?php echo stripslashes(html_entity_decode($banner['title']));?></a></strong> <?php if($adrotate_config['stats'] == 1) { ?>- <a href="<?php echo admin_url('/admin.php?page=adrotate-ads&view=report&ad='.$banner['id']);?>" title="<?php _e('Report', 'adrotate'); ?>"><?php _e('Report', 'adrotate'); ?></a><?php } ?><span style="color:#999;"><?php if(strlen($grouplist) > 0) echo '<br /><span style="font-weight:bold;">'.__('Groups:', 'adrotate').'</span> '.$grouplist; ?></span></td>
88
  <td><center><?php echo $banner['weight']; ?></center></td>
89
+ <?php if($adrotate_config['stats'] == 1) { ?>
90
+ <?php if($banner['tracker'] == "Y") { ?>
91
+ <td><center><?php echo $stats['impressions']; ?></center></td>
92
+ <td><center><?php echo $stats_today['impressions']; ?></center></td>
93
+ <td><center><?php echo $stats['clicks']; ?></center></td>
94
+ <td><center><?php echo $stats_today['clicks']; ?></center></td>
95
+ <td><center><?php echo $ctr; ?> %</center></td>
96
+ <?php } else { ?>
97
+ <td><center>--</center></td>
98
+ <td><center>--</center></td>
99
+ <td><center>--</center></td>
100
+ <td><center>--</center></td>
101
+ <td><center>--</center></td>
102
+ <?php } ?>
103
  <?php } ?>
104
  </tr>
105
  <?php } ?>
106
  <?php } else { ?>
107
  <tr id='no-groups'>
108
  <th class="check-column">&nbsp;</th>
109
+ <td colspan="<?php echo ($adrotate_config['stats'] == 1) ? '10' : '5'; ?>"><em><?php _e('No ads created yet!', 'adrotate'); ?></em></td>
110
  </tr>
111
  <?php } ?>
112
  </tbody>
dashboard/publisher/adrotate-groups-edit.php CHANGED
@@ -207,9 +207,9 @@ if(!is_array($meta_array)) $meta_array = array();
207
  <select tabindex="13" name="adrotate_cat_paragraph">
208
  <option value="0" <?php if($edit_group->cat_par == 0) { echo 'selected'; } ?>>...</option>
209
  <option value="1" <?php if($edit_group->cat_par == 1) { echo 'selected'; } ?>><?php _e('the first paragraph', 'adrotate'); ?></option>
210
- <option value="20" <?php if($edit_group->cat_par == 20) { echo 'selected'; } ?>><?php _e('the 2nd paragraph', 'adrotate'); ?></option>
211
- <option value="30" <?php if($edit_group->cat_par == 30) { echo 'selected'; } ?>><?php _e('the 3rd paragraph', 'adrotate'); ?></option>
212
- <option value="40" <?php if($edit_group->cat_par == 40) { echo 'selected'; } ?>><?php _e('the 4th paragraph', 'adrotate'); ?></option>
213
  <option value="0" disabled>---</option>
214
  <option value="2" <?php if($edit_group->cat_par == 2) { echo 'selected'; } ?>><?php _e('every 2nd paragraph', 'adrotate'); ?></option>
215
  <option value="3" <?php if($edit_group->cat_par == 3) { echo 'selected'; } ?>><?php _e('every 3rd paragraph', 'adrotate'); ?></option>
@@ -248,9 +248,9 @@ if(!is_array($meta_array)) $meta_array = array();
248
  <select tabindex="15" name="adrotate_page_paragraph">
249
  <option value="0" <?php if($edit_group->page_par == 0) { echo 'selected'; } ?>>...</option>
250
  <option value="1" <?php if($edit_group->page_par == 1) { echo 'selected'; } ?>><?php _e('the first paragraph', 'adrotate'); ?></option>
251
- <option value="20" <?php if($edit_group->page_par == 20) { echo 'selected'; } ?>><?php _e('the 2nd paragraph', 'adrotate'); ?></option>
252
- <option value="30" <?php if($edit_group->page_par == 30) { echo 'selected'; } ?>><?php _e('the 3rd paragraph', 'adrotate'); ?></option>
253
- <option value="40" <?php if($edit_group->page_par == 40) { echo 'selected'; } ?>><?php _e('the 4th paragraph', 'adrotate'); ?></option>
254
  <option value="0" disabled>---</option>
255
  <option value="2" <?php if($edit_group->page_par == 2) { echo 'selected'; } ?>><?php _e('every 2nd paragraph', 'adrotate'); ?></option>
256
  <option value="3" <?php if($edit_group->page_par == 3) { echo 'selected'; } ?>><?php _e('every 3rd paragraph', 'adrotate'); ?></option>
@@ -325,8 +325,10 @@ if(!is_array($meta_array)) $meta_array = array();
325
  <tr>
326
  <th scope="col" class="manage-column column-cb check-column"><input type="checkbox" /></th>
327
  <th>&nbsp;</th>
328
- <th width="5%"><center><?php _e('Impressions', 'adrotate'); ?></center></th>
329
- <th width="5%"><center><?php _e('Clicks', 'adrotate'); ?></center></th>
 
 
330
  <th width="5%"><center><?php _e('Weight', 'adrotate'); ?></center></th>
331
  <th width="15%"><?php _e('Visible until', 'adrotate'); ?></th>
332
  </tr>
@@ -338,7 +340,9 @@ if(!is_array($meta_array)) $meta_array = array();
338
  foreach($ads as $ad) {
339
  $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;");
340
 
341
- $stats = adrotate_stats($ad->id);
 
 
342
 
343
  $errorclass = '';
344
  if($ad->type == 'error') $errorclass = ' row_error';
@@ -351,8 +355,15 @@ if(!is_array($meta_array)) $meta_array = array();
351
  <tr class='<?php echo $class; ?>'>
352
  <th class="check-column" width="2%"><input type="checkbox" name="adselect[]" value="<?php echo $ad->id; ?>" <?php if(in_array($ad->id, $meta_array)) echo "checked"; ?> /></th>
353
  <td><?php echo $ad->id; ?> - <strong><?php echo stripslashes(html_entity_decode($ad->title)); ?></strong></td>
354
- <td><center><?php echo $stats['impressions']; ?></center></td>
355
- <td><center><?php if($ad->tracker == 'Y') { echo $stats['clicks']; } else { ?>--<?php } ?></center></td>
 
 
 
 
 
 
 
356
  <td><center><?php echo $ad->weight; ?></center></td>
357
  <td><span style="color: <?php echo adrotate_prepare_color($stoptime);?>;"><?php echo date_i18n("F d, Y", $stoptime); ?></span></td>
358
  </tr>
@@ -361,7 +372,7 @@ if(!is_array($meta_array)) $meta_array = array();
361
  <?php } else { ?>
362
  <tr>
363
  <th class="check-column">&nbsp;</th>
364
- <td colspan="5"><em><?php _e('No ads created!', 'adrotate'); ?></em></td>
365
  </tr>
366
  <?php } ?>
367
  </tbody>
207
  <select tabindex="13" name="adrotate_cat_paragraph">
208
  <option value="0" <?php if($edit_group->cat_par == 0) { echo 'selected'; } ?>>...</option>
209
  <option value="1" <?php if($edit_group->cat_par == 1) { echo 'selected'; } ?>><?php _e('the first paragraph', 'adrotate'); ?></option>
210
+ <option value="20" <?php if($edit_group->cat_par == 20) { echo 'selected'; } ?>><?php _e('the second paragraph', 'adrotate'); ?></option>
211
+ <option value="30" <?php if($edit_group->cat_par == 30) { echo 'selected'; } ?>><?php _e('the third paragraph', 'adrotate'); ?></option>
212
+ <option value="40" <?php if($edit_group->cat_par == 40) { echo 'selected'; } ?>><?php _e('the fourth paragraph', 'adrotate'); ?></option>
213
  <option value="0" disabled>---</option>
214
  <option value="2" <?php if($edit_group->cat_par == 2) { echo 'selected'; } ?>><?php _e('every 2nd paragraph', 'adrotate'); ?></option>
215
  <option value="3" <?php if($edit_group->cat_par == 3) { echo 'selected'; } ?>><?php _e('every 3rd paragraph', 'adrotate'); ?></option>
248
  <select tabindex="15" name="adrotate_page_paragraph">
249
  <option value="0" <?php if($edit_group->page_par == 0) { echo 'selected'; } ?>>...</option>
250
  <option value="1" <?php if($edit_group->page_par == 1) { echo 'selected'; } ?>><?php _e('the first paragraph', 'adrotate'); ?></option>
251
+ <option value="20" <?php if($edit_group->page_par == 20) { echo 'selected'; } ?>><?php _e('the second paragraph', 'adrotate'); ?></option>
252
+ <option value="30" <?php if($edit_group->page_par == 30) { echo 'selected'; } ?>><?php _e('the third paragraph', 'adrotate'); ?></option>
253
+ <option value="40" <?php if($edit_group->page_par == 40) { echo 'selected'; } ?>><?php _e('the fourth paragraph', 'adrotate'); ?></option>
254
  <option value="0" disabled>---</option>
255
  <option value="2" <?php if($edit_group->page_par == 2) { echo 'selected'; } ?>><?php _e('every 2nd paragraph', 'adrotate'); ?></option>
256
  <option value="3" <?php if($edit_group->page_par == 3) { echo 'selected'; } ?>><?php _e('every 3rd paragraph', 'adrotate'); ?></option>
325
  <tr>
326
  <th scope="col" class="manage-column column-cb check-column"><input type="checkbox" /></th>
327
  <th>&nbsp;</th>
328
+ <?php if($adrotate_config['stats'] == 1) { ?>
329
+ <th width="5%"><center><?php _e('Impressions', 'adrotate'); ?></center></th>
330
+ <th width="5%"><center><?php _e('Clicks', 'adrotate'); ?></center></th>
331
+ <?php } ?>
332
  <th width="5%"><center><?php _e('Weight', 'adrotate'); ?></center></th>
333
  <th width="15%"><?php _e('Visible until', 'adrotate'); ?></th>
334
  </tr>
340
  foreach($ads as $ad) {
341
  $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;");
342
 
343
+ if($adrotate_config['stats'] == 1) {
344
+ $stats = adrotate_stats($ad->id);
345
+ }
346
 
347
  $errorclass = '';
348
  if($ad->type == 'error') $errorclass = ' row_error';
355
  <tr class='<?php echo $class; ?>'>
356
  <th class="check-column" width="2%"><input type="checkbox" name="adselect[]" value="<?php echo $ad->id; ?>" <?php if(in_array($ad->id, $meta_array)) echo "checked"; ?> /></th>
357
  <td><?php echo $ad->id; ?> - <strong><?php echo stripslashes(html_entity_decode($ad->title)); ?></strong></td>
358
+ <?php if($adrotate_config['stats'] == 1) {
359
+ if($ad->tracker == 'Y') { ?>
360
+ <td><center><?php echo $stats['impressions']; ?></center></td>
361
+ <td><center><?php echo $stats['clicks']; ?></center></td>
362
+ <?php } else { ?>
363
+ <td><center>--</center></td>
364
+ <td><center>--</center></td>
365
+ <?php } ?>
366
+ <?php } ?>
367
  <td><center><?php echo $ad->weight; ?></center></td>
368
  <td><span style="color: <?php echo adrotate_prepare_color($stoptime);?>;"><?php echo date_i18n("F d, Y", $stoptime); ?></span></td>
369
  </tr>
372
  <?php } else { ?>
373
  <tr>
374
  <th class="check-column">&nbsp;</th>
375
+ <td colspan="<?php echo ($adrotate_config['stats'] == 1) ? '6' : '4'; ?>"><em><?php _e('No ads created!', 'adrotate'); ?></em></td>
376
  </tr>
377
  <?php } ?>
378
  </tbody>
dashboard/publisher/adrotate-groups-main.php CHANGED
@@ -32,10 +32,12 @@
32
  <th width="5%"><center><?php _e('ID', 'adrotate'); ?></center></th>
33
  <th><?php _e('Name', 'adrotate'); ?></th>
34
  <th width="5%"><center><?php _e('Ads', 'adrotate'); ?></center></th>
35
- <th width="5%"><center><?php _e('Impressions', 'adrotate'); ?></center></th>
36
- <th width="5%"><center><?php _e('Today', 'adrotate'); ?></center></th>
37
- <th width="5%"><center><?php _e('Clicks', 'adrotate'); ?></center></th>
38
- <th width="5%"><center><?php _e('Today', 'adrotate'); ?></center></th>
 
 
39
  <th width="15%"><center><?php _e('Code', 'adrotate'); ?></center></th>
40
  </tr>
41
  </thead>
@@ -46,14 +48,15 @@
46
  $class = '';
47
  $modus = array();
48
  foreach($groups as $group) {
49
- $stats = $wpdb->get_row("SELECT SUM(`clicks`) as `clicks`, SUM(`impressions`) as `impressions` FROM `".$wpdb->prefix."adrotate_stats` WHERE `group` = '$group->id';", ARRAY_A);
50
- $stats_today = $wpdb->get_row("SELECT SUM(`clicks`) as `clicks`, SUM(`impressions`) as `impressions` FROM `".$wpdb->prefix."adrotate_stats` WHERE `group` = '$group->id' AND `thetime` = '$today';", ARRAY_A);
 
 
 
 
 
 
51
 
52
- // Prevent gaps in display
53
- if(empty($stats['impressions'])) $stats['impressions'] = 0;
54
- if(empty($stats['clicks'])) $stats['clicks'] = 0;
55
- if(empty($stats_today['impressions'])) $stats_today['impressions'] = 0;
56
- if(empty($stats_today['clicks'])) $stats_today['clicks'] = 0;
57
  if($group->adspeed > 0) $adspeed = $group->adspeed / 1000;
58
  if($group->modus == 0) $modus[] = __('Default', 'adrotate');
59
  if($group->modus == 1) $modus[] = __('Dynamic', 'adrotate').' ('.$adspeed.' '. __('second rotation', 'adrotate').')';
@@ -66,12 +69,14 @@
66
  <tr class='<?php echo $class; ?>'>
67
  <th class="check-column"><input type="checkbox" name="groupcheck[]" value="<?php echo $group->id; ?>" /></th>
68
  <td><center><?php echo $group->id;?></center></td>
69
- <td><strong><a class="row-title" href="<?php echo admin_url('/admin.php?page=adrotate-groups&view=edit&group='.$group->id);?>" title="<?php _e('Edit', 'adrotate'); ?>"><?php echo $group->name;?></a></strong> - <a href="<?php echo admin_url('/admin.php?page=adrotate-groups&view=report&group='.$group->id);?>" title="<?php _e('Report', 'adrotate'); ?>"><?php _e('Report', 'adrotate'); ?></a><span style="color:#999;"><?php echo '<br /><span style="font-weight:bold;">'.__('Mode', 'adrotate').':</span> '.implode(', ', $modus); ?></span></td>
70
  <td><center><?php echo $ads_in_group; ?></center></td>
71
- <td><center><?php echo $stats['impressions']; ?></center></td>
72
- <td><center><?php echo $stats_today['impressions']; ?></center></td>
73
- <td><center><?php echo $stats['clicks']; ?></center></td>
74
- <td><center><?php echo $stats_today['clicks']; ?></center></td>
 
 
75
  <td><center>[adrotate group="<?php echo $group->id; ?>"]</center></td>
76
  </tr>
77
  <?php unset($stats, $stats_today, $adspeed, $modus);?>
@@ -79,7 +84,7 @@
79
  <?php } else { ?>
80
  <tr>
81
  <th class="check-column">&nbsp;</th>
82
- <td colspan="9"><em><?php _e('No groups created!', 'adrotate'); ?></em></td>
83
  </tr>
84
  <?php } ?>
85
  </tbody>
32
  <th width="5%"><center><?php _e('ID', 'adrotate'); ?></center></th>
33
  <th><?php _e('Name', 'adrotate'); ?></th>
34
  <th width="5%"><center><?php _e('Ads', 'adrotate'); ?></center></th>
35
+ <?php if($adrotate_config['stats'] == 1) { ?>
36
+ <th width="5%"><center><?php _e('Impressions', 'adrotate'); ?></center></th>
37
+ <th width="5%"><center><?php _e('Today', 'adrotate'); ?></center></th>
38
+ <th width="5%"><center><?php _e('Clicks', 'adrotate'); ?></center></th>
39
+ <th width="5%"><center><?php _e('Today', 'adrotate'); ?></center></th>
40
+ <?php } ?>
41
  <th width="15%"><center><?php _e('Code', 'adrotate'); ?></center></th>
42
  </tr>
43
  </thead>
48
  $class = '';
49
  $modus = array();
50
  foreach($groups as $group) {
51
+ if($adrotate_config['stats'] == 1) {
52
+ $stats = $wpdb->get_row("SELECT SUM(`clicks`) as `clicks`, SUM(`impressions`) as `impressions` FROM `".$wpdb->prefix."adrotate_stats` WHERE `group` = '$group->id';", ARRAY_A);
53
+ $stats_today = $wpdb->get_row("SELECT SUM(`clicks`) as `clicks`, SUM(`impressions`) as `impressions` FROM `".$wpdb->prefix."adrotate_stats` WHERE `group` = '$group->id' AND `thetime` = '$today';", ARRAY_A);
54
+ if(empty($stats['impressions'])) $stats['impressions'] = 0;
55
+ if(empty($stats['clicks'])) $stats['clicks'] = 0;
56
+ if(empty($stats_today['impressions'])) $stats_today['impressions'] = 0;
57
+ if(empty($stats_today['clicks'])) $stats_today['clicks'] = 0;
58
+ }
59
 
 
 
 
 
 
60
  if($group->adspeed > 0) $adspeed = $group->adspeed / 1000;
61
  if($group->modus == 0) $modus[] = __('Default', 'adrotate');
62
  if($group->modus == 1) $modus[] = __('Dynamic', 'adrotate').' ('.$adspeed.' '. __('second rotation', 'adrotate').')';
69
  <tr class='<?php echo $class; ?>'>
70
  <th class="check-column"><input type="checkbox" name="groupcheck[]" value="<?php echo $group->id; ?>" /></th>
71
  <td><center><?php echo $group->id;?></center></td>
72
+ <td><strong><a class="row-title" href="<?php echo admin_url('/admin.php?page=adrotate-groups&view=edit&group='.$group->id);?>" title="<?php _e('Edit', 'adrotate'); ?>"><?php echo $group->name;?></a></strong> <?php if($adrotate_config['stats'] == 1) { ?>- <a href="<?php echo admin_url('/admin.php?page=adrotate-groups&view=report&group='.$group->id);?>" title="<?php _e('Report', 'adrotate'); ?>"><?php _e('Report', 'adrotate'); ?></a><?php } ?><span style="color:#999;"><?php echo '<br /><span style="font-weight:bold;">'.__('Mode', 'adrotate').':</span> '.implode(', ', $modus); ?></span></td>
73
  <td><center><?php echo $ads_in_group; ?></center></td>
74
+ <?php if($adrotate_config['stats'] == 1) { ?>
75
+ <td><center><?php echo $stats['impressions']; ?></center></td>
76
+ <td><center><?php echo $stats_today['impressions']; ?></center></td>
77
+ <td><center><?php echo $stats['clicks']; ?></center></td>
78
+ <td><center><?php echo $stats_today['clicks']; ?></center></td>
79
+ <?php } ?>
80
  <td><center>[adrotate group="<?php echo $group->id; ?>"]</center></td>
81
  </tr>
82
  <?php unset($stats, $stats_today, $adspeed, $modus);?>
84
  <?php } else { ?>
85
  <tr>
86
  <th class="check-column">&nbsp;</th>
87
+ <td colspan="<?php echo ($adrotate_config['stats'] == 1) ? '9' : '5'; ?>"><em><?php _e('No groups created!', 'adrotate'); ?></em></td>
88
  </tr>
89
  <?php } ?>
90
  </tbody>
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: 2015-04-19 05:09+0100\n"
6
- "PO-Revision-Date: 2015-04-19 05:09+0100\n"
7
  "Last-Translator: Arnan de Gans <info@ajdg.net>\n"
8
  "Language-Team: Nedko Ivanov <cocacoli4ko@gmail.com>\n"
9
  "Language: bg_BG\n"
@@ -17,19 +17,19 @@ msgstr ""
17
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
18
  "X-Poedit-SearchPath-0: .\n"
19
 
20
- #: adrotate-functions.php:809
21
  msgid "No files found"
22
  msgstr "Няма намерени файлове"
23
 
24
- #: adrotate-functions.php:812
25
  msgid "Folder not found or not accessible"
26
  msgstr "Папката не е намерена или не е достъпна"
27
 
28
- #: adrotate-output.php:745
29
  msgid "Oh no! Something went wrong!"
30
  msgstr "О не! Нещо се случи!"
31
 
32
- #: adrotate-output.php:746
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:747
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:748
48
  msgid "Contact support if the issue persists:"
49
  msgstr "Свържете се с поддръжката, ако този проблем продължави да се появява:"
50
 
51
- #: adrotate-output.php:766
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:768
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:775 adrotate-output.php:777
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:783
74
  msgid "Error, no Ad ID set! Check your syntax!"
75
  msgstr "Грешка, не е зададено ID на рекламата! Проверете синтаксиса!"
76
 
77
- #: adrotate-output.php:789
78
  msgid "Error, no group ID set! Check your syntax!"
79
  msgstr "Грешка, не е зададено ID на групата! Проверете синтаксиса!"
80
 
81
- #: adrotate-output.php:794
82
  msgid "Error, group does not exist! Check your syntax!"
83
  msgstr "Грешка, групата не съществува! Проверете синтаксиса!"
84
 
85
- #: adrotate-output.php:800
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:800
94
  msgid "If this does not solve the issue please seek support at"
95
  msgstr "Ако това не решава проблема, моля потърсете помощ на"
96
 
97
- #: adrotate-output.php:806
98
  msgid "An unknown error occured."
99
  msgstr "Възникна неизвестна грешка."
100
 
101
- #: adrotate-output.php:831
102
  msgid "active ad(s) expired."
103
  msgstr "изтекла/и активна/и реклама/и."
104
 
105
- #: adrotate-output.php:831
106
  msgid "Take action now"
107
  msgstr "Предприемане на действия"
108
 
109
- #: adrotate-output.php:833
110
  msgid "active ad(s) are about to expire."
111
  msgstr "изтичаща/и активна/и реклама/и."
112
 
113
- #: adrotate-output.php:833
114
  msgid "Check it out"
115
  msgstr "Проверете го"
116
 
117
- #: adrotate-output.php:835
118
  msgid "active ad(s) with configuration errors."
119
  msgstr "активна(и) реклама(и) с грешни настройки."
120
 
121
- #: adrotate-output.php:835
122
  msgid "Solve this"
123
  msgstr "Разреши това"
124
 
125
- #: adrotate-output.php:837
126
  msgid "ad(s) expired."
127
  msgstr "изтекла/и реклама/и."
128
 
129
- #: adrotate-output.php:837
130
  msgid "ad(s) are about to expire."
131
  msgstr "реклама/и изтича(т)."
132
 
133
- #: adrotate-output.php:837
134
  msgid "ad(s) with configuration errors."
135
  msgstr "реклама/и с грешни настройки."
136
 
137
- #: adrotate-output.php:837
138
  msgid "Fix this as soon as possible"
139
  msgstr "Поправка възможно най-скоро"
140
 
141
- #: adrotate-output.php:849
142
  msgid "Learn More"
143
  msgstr "Научете повече"
144
 
145
- #: adrotate-output.php:850
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,71 +150,67 @@ msgstr ""
150
  "Използвате <strong>AdRotate</strong> от известно време. Защо не надградите "
151
  "до <strong>PRO</strong> версията"
152
 
153
- #: adrotate-output.php:850
154
  msgid "Get more features to even better run your advertising campaigns."
155
  msgstr ""
156
  "Вземете повече опции за дори по-добро управление на вашите рекламни кампании."
157
 
158
- #: adrotate-output.php:850
159
  msgid "Thank you for your consideration!"
160
  msgstr "Благодарим Ви, че го обмислихте!"
161
 
162
- #: adrotate-output.php:894
163
  msgid ""
164
  "Welcome, and thanks for using AdRotate. Everything related to AdRotate is in "
165
  "this menu. Check out the"
166
  msgstr ""
167
 
168
- #: adrotate-output.php:894
169
  msgid "manuals"
170
  msgstr "ръководства"
171
 
172
- #: adrotate-output.php:894 adrotate-output.php:971
173
  #: dashboard/publisher/adrotate-ads-edit.php:151
174
  msgid "and"
175
  msgstr "и"
176
 
177
- #: adrotate-output.php:894
178
  msgid "forums"
179
  msgstr ""
180
 
181
- #: adrotate-output.php:930
182
  msgid "Useful Links"
183
  msgstr "Полезни връзки"
184
 
185
- #: adrotate-output.php:931
186
  msgid "Useful links to learn more about AdRotate"
187
  msgstr "Полезни връзки, за да получите повече информация за AdRotate"
188
 
189
- #: adrotate-output.php:933
190
  msgid "AdRotate Page"
191
  msgstr ""
192
 
193
- #: adrotate-output.php:934
194
  msgid "Getting Started With AdRotate"
195
  msgstr "Започнете от нулата с AdRotate Pro"
196
 
197
- #: adrotate-output.php:935
198
  msgid "AdRotate manuals"
199
  msgstr ""
200
 
201
- #: adrotate-output.php:936
202
  msgid "AdRotate Support Forum"
203
  msgstr "Форум за поддръжка на AdRotate"
204
 
205
- #: adrotate-output.php:937
206
- msgid "WordPress.org Forum"
207
- msgstr "WordPress.org форум"
208
-
209
- #: adrotate-output.php:963
210
  msgid "Help AdRotate Grow"
211
  msgstr "Помогнете за развитието на AdRotate"
212
 
213
- #: adrotate-output.php:964
214
  msgid "Brought to you by"
215
  msgstr "Достига до Вас благодарение на"
216
 
217
- #: adrotate-output.php:971
218
  msgid ""
219
  "A lot of users only think to review AdRotate when something goes wrong while "
220
  "thousands of people use AdRotate satisfactory. Don't let this go unnoticed."
@@ -223,23 +219,23 @@ msgstr ""
223
  "се обърка, докато хиляди хора използват AdRotate безпроблемно. Не оставяйте "
224
  "това да остане незабелязано."
225
 
226
- #: adrotate-output.php:971
227
  msgid "If you find AdRotate useful please leave your honest"
228
  msgstr "Ако намирате AdRotate за полезен, моля оставете честна"
229
 
230
- #: adrotate-output.php:971
231
  msgid "rating"
232
  msgstr "оценка"
233
 
234
- #: adrotate-output.php:971
235
  msgid "review"
236
  msgstr "мнение"
237
 
238
- #: adrotate-output.php:971
239
  msgid "on WordPress.org to help AdRotate grow in a positive way"
240
  msgstr "на WordPress.org, за да се развива AdRotate"
241
 
242
- #: adrotate-output.php:974
243
  msgid ""
244
  "Your one stop for Webdevelopment, consultancy and anything WordPress! Find "
245
  "out more about what I can do for you!"
@@ -247,27 +243,27 @@ msgstr ""
247
  "Мястото, където да се консултирате и/или да поръчате разработка за "
248
  "WordPress! Открийте с какво мога да Ви бъда полезен!"
249
 
250
- #: adrotate-output.php:974 dashboard/adrotate-info.php:171
251
  msgid "Visit the"
252
  msgstr "Посетете"
253
 
254
- #: adrotate-output.php:974 dashboard/adrotate-info.php:171
255
  msgid "website"
256
  msgstr "уебсайт"
257
 
258
- #: adrotate-output.php:1004
259
  msgid "Available in AdRotate Pro"
260
  msgstr "Налично в AdRotate Pro"
261
 
262
- #: adrotate-output.php:1004
263
  msgid "More information..."
264
  msgstr "Повече информация..."
265
 
266
- #: adrotate-output.php:1005
267
  msgid "This feature is available in AdRotate Pro"
268
  msgstr "Тази функционалност е налична в AdRotate Pro"
269
 
270
- #: adrotate-output.php:1005
271
  msgid "Learn more"
272
  msgstr "Повече информация"
273
 
@@ -403,7 +399,7 @@ msgstr "Управление на реклами"
403
  msgid "Manage Groups"
404
  msgstr "Управление на групи"
405
 
406
- #: adrotate.php:111 adrotate.php:440
407
  msgid "Manage Schedules"
408
  msgstr "Управление на графици"
409
 
@@ -467,47 +463,52 @@ msgstr ""
467
  msgid "Export created"
468
  msgstr "Експорта е завършен"
469
 
470
- #: adrotate.php:223
471
  msgid "Action prohibited"
472
  msgstr "Забранено действие"
473
 
474
- #: adrotate.php:225 adrotate.php:373
475
  msgid "No data found in selected time period"
476
  msgstr "Не е намерена информация за избрания период"
477
 
478
- #: adrotate.php:283 adrotate.php:379 adrotate.php:435
479
  msgid "Manage"
480
  msgstr "Управление"
481
 
482
- #: adrotate.php:284 adrotate.php:380 adrotate.php:436
483
  msgid "Add New"
484
  msgstr "Добавяне"
485
 
486
- #: adrotate.php:362
487
  msgid "Group Management"
488
  msgstr "Управление на групи"
489
 
490
- #: adrotate.php:365
491
  msgid "Group created"
492
  msgstr "Групата е създадена"
493
 
494
- #: adrotate.php:367
495
  msgid "Group updated"
496
  msgstr "Групата е обновена"
497
 
498
- #: adrotate.php:369
499
  msgid "Group deleted"
500
  msgstr "Групата е изтрита"
501
 
502
- #: adrotate.php:371
503
  msgid "Group including it's Ads deleted"
504
  msgstr "Групата и съдържащите се в нея реклами са изтрити"
505
 
506
- #: adrotate.php:431
 
 
 
 
 
507
  msgid "Schedule Management available in AdRotate Pro"
508
  msgstr "Управление с графици е налично в AdRotate Pro"
509
 
510
- #: adrotate.php:441
511
  msgid ""
512
  "Schedule management and multiple schedules per advert is available in "
513
  "AdRotate Pro."
@@ -515,83 +516,83 @@ msgstr ""
515
  "Управлението на графици и множество графици за една реклама са налични в "
516
  "AdRotate Pro."
517
 
518
- #: adrotate.php:441 adrotate.php:528
519
  #: dashboard/publisher/adrotate-ads-edit.php:177
520
- #: dashboard/publisher/adrotate-ads-main.php:108
521
  #: dashboard/publisher/adrotate-groups-edit.php:75
522
- #: dashboard/publisher/adrotate-groups-main.php:87
523
  msgid "More information"
524
  msgstr "Повече информация"
525
 
526
- #: adrotate.php:448 dashboard/publisher/adrotate-ads-main-disabled.php:20
527
  #: dashboard/publisher/adrotate-ads-main-error.php:19
528
  #: dashboard/publisher/adrotate-ads-main.php:20
529
  #: dashboard/publisher/adrotate-groups-main.php:20
530
  msgid "Bulk Actions"
531
  msgstr "Масови действия"
532
 
533
- #: adrotate.php:449 dashboard/publisher/adrotate-ads-main-disabled.php:25
534
  #: dashboard/publisher/adrotate-ads-main-error.php:29
535
  #: dashboard/publisher/adrotate-ads-main.php:30
536
  #: dashboard/publisher/adrotate-groups-main.php:24
537
  msgid "Go"
538
  msgstr "Напред"
539
 
540
- #: adrotate.php:458 dashboard/publisher/adrotate-ads-main-disabled.php:35
541
  #: dashboard/publisher/adrotate-ads-main-error.php:39
542
  #: dashboard/publisher/adrotate-ads-main.php:39
543
  #: dashboard/publisher/adrotate-groups-main.php:32
544
  msgid "ID"
545
  msgstr "ID"
546
 
547
- #: adrotate.php:459
548
  msgid "Start"
549
  msgstr "Начало"
550
 
551
- #: adrotate.php:459
552
  msgid "End"
553
  msgstr "Край"
554
 
555
- #: adrotate.php:460 dashboard/publisher/adrotate-ads-edit.php:426
556
  #: dashboard/publisher/adrotate-groups-main.php:34
557
  msgid "Ads"
558
  msgstr "Реклами"
559
 
560
- #: adrotate.php:462
561
  msgid "Max Clicks"
562
  msgstr "Максимум кликове"
563
 
564
- #: adrotate.php:463
565
  msgid "Max Impressions"
566
  msgstr "Максимум импресии"
567
 
568
- #: adrotate.php:493
569
  msgid "No schedules created yet!"
570
  msgstr "Все още няма създадени графици!"
571
 
572
- #: adrotate.php:498
573
  msgid "Easily manage your schedules from here with AdRotate Pro."
574
  msgstr "Можете лесно да управлявате графиците си от тук с AdRotate Pro."
575
 
576
- #: adrotate.php:498 adrotate.php:561
577
  msgid "Upgrade today!"
578
  msgstr "Надградете днес!"
579
 
580
- #: adrotate.php:501 dashboard/publisher/adrotate-ads-main-error.php:74
581
- #: dashboard/publisher/adrotate-groups-edit.php:372
582
  msgid "Expires soon."
583
  msgstr "Изтича скоро."
584
 
585
- #: adrotate.php:502 dashboard/publisher/adrotate-ads-main-error.php:75
586
- #: dashboard/publisher/adrotate-groups-edit.php:373
587
  msgid "Has expired."
588
  msgstr "Изтекла."
589
 
590
- #: adrotate.php:526
591
  msgid "Media Management available in AdRotate Pro"
592
  msgstr "Управление на медия е налично в AdRotate Pro"
593
 
594
- #: adrotate.php:528
595
  msgid ""
596
  "Upload images to the AdRotate Pro banners folder from here. This is "
597
  "especially useful if you use responsive adverts with multiple images."
@@ -599,27 +600,27 @@ msgstr ""
599
  "Качете картинки в папката за банери на AdRotate Pro от тук. Това е особено "
600
  "полезно, ако използвате responsive реклами с няколко картинки."
601
 
602
- #: adrotate.php:528
603
  msgid "Media uploading and management is available in AdRotate Pro."
604
  msgstr "Управлението и качването на медия са налични в AdRotate Pro."
605
 
606
- #: adrotate.php:530
607
  msgid "Upload new banner image"
608
  msgstr "Качване на нова картинка на банера"
609
 
610
- #: adrotate.php:531
611
  msgid "Accepted files are:"
612
  msgstr "Приемат се следните файлове:"
613
 
614
- #: adrotate.php:531
615
  msgid "Maximum size is 512Kb."
616
  msgstr "Максималния размер е 512Kb."
617
 
618
- #: adrotate.php:531
619
  msgid "Important:"
620
  msgstr "Важно:"
621
 
622
- #: adrotate.php:531
623
  msgid ""
624
  "Make sure your file has no spaces or special characters in the name. Replace "
625
  "spaces with a - or _."
@@ -627,7 +628,7 @@ msgstr ""
627
  "Уверете се, че файла няма интервали и специални знаци в името си. Заместете "
628
  "интервалите с - или _."
629
 
630
- #: adrotate.php:533
631
  msgid ""
632
  "For responsive adverts make sure the filename is in the following format; "
633
  "\"imagename.full.ext\". A full set of sized images is strongly recommended."
@@ -636,7 +637,7 @@ msgstr ""
636
  "формат: \"imagename.full.ext\". Пълен набор от правилно оразмерени картинки "
637
  "е строго препоръчителен."
638
 
639
- #: adrotate.php:534 dashboard/publisher/adrotate-ads-edit.php:308
640
  msgid ""
641
  "For smaller size images use \".320\", \".480\", \".768\" or \".1024\" in the "
642
  "filename instead of \".full\" for the various viewports."
@@ -645,13 +646,13 @@ msgstr ""
645
  "използвайте \".320\", \".480\", \".768\" или \".1024\" в имената на "
646
  "файловете, вместо \".full\"."
647
 
648
- #: adrotate.php:535 dashboard/publisher/adrotate-ads-edit.php:309
649
  #: dashboard/publisher/adrotate-groups-edit.php:308
650
  #: dashboard/publisher/adrotate-groups-edit.php:316
651
  msgid "Example:"
652
  msgstr "Пример:"
653
 
654
- #: adrotate.php:535 dashboard/publisher/adrotate-ads-edit.php:309
655
  msgid ""
656
  "image.full.jpg, image.320.jpg and image.768.jpg will serve the same advert "
657
  "for different viewports."
@@ -659,171 +660,207 @@ msgstr ""
659
  "image.full.jpg, image.320.jpg и image.768.jpg ще се използват от една и съща "
660
  "реклама в различни резолюции на екрана."
661
 
662
- #: adrotate.php:539
663
  msgid "Upload image"
664
  msgstr "Качването на картинка"
665
 
666
- #: adrotate.php:542
667
  msgid "Available banner images in"
668
  msgstr "Налични картинки за банери в"
669
 
670
- #: adrotate.php:547 dashboard/publisher/adrotate-groups-main.php:33
671
  msgid "Name"
672
  msgstr "Име"
673
 
674
- #: adrotate.php:548
675
  msgid "Actions"
676
  msgstr "Действия"
677
 
678
- #: adrotate.php:553 adrotate.php:554 adrotate.php:555 adrotate.php:556
679
- #: adrotate.php:557 dashboard/publisher/adrotate-ads-main-disabled.php:22
680
  #: dashboard/publisher/adrotate-ads-main-error.php:21
681
  #: dashboard/publisher/adrotate-ads-main.php:22
682
  msgid "Delete"
683
  msgstr "Изтриване"
684
 
685
- #: adrotate.php:561
686
  msgid ""
687
  "Make sure the banner images are not in use by adverts when you delete them!"
688
  msgstr ""
689
  "Уверете се, че картинките за банери не се използват от реклами, преди да ги "
690
  "изтриете!"
691
 
692
- #: adrotate.php:561
693
  msgid "Manage your banner folder from here with AdRotate Pro."
694
  msgstr "Можете да управлявате папката с банери от тук с AdRotate Pro."
695
 
696
- #: adrotate.php:605
697
  msgid "AdRotate Settings"
698
  msgstr "AdRotate Настройки"
699
 
700
- #: adrotate.php:608
701
  msgid "Settings saved"
702
  msgstr "Настройките са запазени"
703
 
704
- #: adrotate.php:610
705
  msgid "Database optimized"
706
  msgstr "Базата данни е оптимизирана"
707
 
708
- #: adrotate.php:612
709
  msgid "Database repaired"
710
  msgstr "Базата данни е поправена"
711
 
712
- #: adrotate.php:614
713
  msgid "Ads evaluated and statuses have been corrected where required"
714
  msgstr "Рекламите са оценени и статусите им са обновени, където е необходимо"
715
 
716
- #: adrotate.php:616
717
  msgid "Empty database records removed"
718
  msgstr "Празните записи в базата данни са премахнати"
719
 
720
- #: adrotate.php:618
721
  msgid "Database can only be optimized or cleaned once every hour"
722
  msgstr "Базата данни може да бъде почиствана или оптимизирана веднъж на час"
723
 
724
- #: adrotate.php:626
725
  msgid "Access Rights"
726
  msgstr "Права на достъп"
727
 
728
- #: adrotate.php:627
729
  msgid "Who has access to what?"
730
  msgstr "Кой до какво има достъп?"
731
 
732
- #: adrotate.php:630
733
  msgid "Manage/Add/Edit adverts"
734
  msgstr "Управление/Добавяне/Редакция на обяви"
735
 
736
- #: adrotate.php:634
737
  msgid "Role to see and add/edit ads."
738
  msgstr "Роля, позволяваща преглед, добавяне и редакция на реклами."
739
 
740
- #: adrotate.php:638
741
  msgid "Delete/Reset adverts"
742
  msgstr "Изтриване/Нулиране на реклами"
743
 
744
- #: adrotate.php:642
745
  msgid "Role to delete ads and reset stats."
746
  msgstr "Роля, позволяваща изтриване на реклами и нулиране на статистика."
747
 
748
- #: adrotate.php:646
749
  msgid "Manage/Add/Edit groups"
750
  msgstr "Управление/Добавяне/Редакция на групи"
751
 
752
- #: adrotate.php:650
753
  msgid "Role to see and add/edit groups."
754
  msgstr "Роля, позволяваща преглед, добавяне и редакция на групи."
755
 
756
- #: adrotate.php:654
757
  msgid "Delete groups"
758
  msgstr "Изтриване на групи"
759
 
760
- #: adrotate.php:658
761
  msgid "Role to delete groups."
762
  msgstr "Роля за изтриване на групи."
763
 
764
- #: adrotate.php:679 adrotate.php:729 adrotate.php:784 adrotate.php:831
765
- #: adrotate.php:875
766
  msgid "Update Options"
767
  msgstr "Опции за обновяване"
768
 
769
- #: adrotate.php:690
770
  msgid "Statistics"
771
  msgstr "Статистики"
772
 
773
- #: adrotate.php:693
774
- msgid "Enable stats"
775
- msgstr "Включване на статистиката"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
776
 
777
- #: adrotate.php:695
778
- msgid "Track clicks and impressions."
779
- msgstr "Проследяване на кликове и импресии."
780
 
781
- #: adrotate.php:695
782
- msgid "Disabling this also disables click and impression limits on schedules."
 
 
783
  msgstr ""
784
- "Ако деактивирате тази опция, ще бъдат деактивирани и лимитите за кликове и "
785
- "импресии на графици."
786
 
787
- #: adrotate.php:699
 
 
 
 
 
 
 
 
 
 
 
788
  msgid "Impressions timer"
789
  msgstr "Таймер за импресии"
790
 
791
- #: adrotate.php:701 adrotate.php:708
792
  msgid "Seconds."
793
  msgstr "Секудни."
794
 
795
- #: adrotate.php:702
796
  msgid "Default: 60."
797
  msgstr "По подразбиране: 60."
798
 
799
- #: adrotate.php:702
800
  msgid "This number may not be empty, be lower than 10 or exceed 3600 (1 hour)."
801
  msgstr ""
802
 
803
- #: adrotate.php:706
804
  msgid "Clicks timer"
805
  msgstr "Таймер за кликове"
806
 
807
- #: adrotate.php:709
808
  msgid "Default: 86400."
809
  msgstr "По подразбиране: 86400."
810
 
811
- #: adrotate.php:709
812
  msgid ""
813
  "This number may not be empty, be lower than 60 or exceed 86400 (24 hours)."
814
  msgstr ""
815
  "Полето не може да остава празно, да съдържа стойност под 60 или над 86400 "
816
  "(24 часа)."
817
 
818
- #: adrotate.php:714
819
  msgid "Bot filter"
820
  msgstr "Филтър на ботове"
821
 
822
- #: adrotate.php:717
823
  msgid "User-Agent Filter"
824
  msgstr "Филтър за агенти"
825
 
826
- #: adrotate.php:720
827
  msgid ""
828
  "A comma separated list of keywords. Filter out bots/crawlers/user-agents. To "
829
  "prevent impressions and clicks counted on them."
@@ -831,7 +868,7 @@ msgstr ""
831
  "Списък с ключови думи, за разделител използвайте запетая. Филтриране на "
832
  "импресиите и кликовете от ботове/роботи/агенти."
833
 
834
- #: adrotate.php:721
835
  msgid ""
836
  "Keep in mind that this might give false positives. The word 'google' also "
837
  "matches 'googlebot', but not vice-versa. So be careful!"
@@ -839,11 +876,11 @@ msgstr ""
839
  "Имайте в предвид, че това може да даде фалшиви резултати. Думата 'google' ще "
840
  "включи и 'googlebot', но не и обратното. Бъдете внимателни!"
841
 
842
- #: adrotate.php:721
843
  msgid "Keep your list up-to-date"
844
  msgstr "Поддържайте списъка актуален"
845
 
846
- #: adrotate.php:722
847
  msgid ""
848
  "Use only words with alphanumeric characters, [ - _ ] are allowed too. All "
849
  "other characters are stripped out."
@@ -851,29 +888,29 @@ msgstr ""
851
  "Използвайте само думи с букви и цифри, тире и долно тире. Всички останали "
852
  "знаци са забранени."
853
 
854
- #: adrotate.php:723
855
  msgid ""
856
  "Additionally to the list specified here, empty User-Agents are blocked as "
857
  "well."
858
  msgstr "Освен този списък, празни Агенти също ще бъдат блокирани."
859
 
860
- #: adrotate.php:723
861
  msgid "Learn more about"
862
  msgstr "Научете повече за"
863
 
864
- #: adrotate.php:723
865
  msgid "user-agents"
866
  msgstr "агенти"
867
 
868
- #: adrotate.php:732
869
  msgid "Miscellaneous"
870
  msgstr "Разни"
871
 
872
- #: adrotate.php:735
873
  msgid "Widget alignment"
874
  msgstr "Подравняване на джаджата"
875
 
876
- #: adrotate.php:736
877
  msgid ""
878
  "Check this box if your widgets do not align in your themes sidebar. (Does "
879
  "not always help!)"
@@ -881,11 +918,11 @@ msgstr ""
881
  "Сложете отметка, ако джаджите не са добре подравнени в страничната лента на "
882
  "темата Ви. (Не винаги помага)"
883
 
884
- #: adrotate.php:739
885
  msgid "Widget padding"
886
  msgstr "Padding за джаджата"
887
 
888
- #: adrotate.php:740
889
  msgid ""
890
  "Enable this to remove the padding (blank space) around ads in widgets. (Does "
891
  "not always work!)"
@@ -893,11 +930,11 @@ msgstr ""
893
  "Сложете отметка, за да премахнете празното пространство около рекламите в "
894
  "джаджата. (Не винаги работи!)"
895
 
896
- #: adrotate.php:745 adrotate.php:756
897
  msgid "NOTICE:"
898
  msgstr "ЗАБЕЛЕЖКА:"
899
 
900
- #: adrotate.php:746
901
  msgid ""
902
  "You have enabled W3 Total Caching support but not defined the security hash. "
903
  "You need to add the following line to your wp-config.php near the bottom or "
@@ -909,15 +946,15 @@ msgstr ""
909
  "до края или под ред 52. Също така функцията \"late init\" трябва да бъде "
910
  "включена в W3 Total Cache."
911
 
912
- #: adrotate.php:750
913
  msgid "W3 Total Caching"
914
  msgstr "W3 Total Caching"
915
 
916
- #: adrotate.php:751
917
  msgid "Check this box if you use W3 Total Caching on your site."
918
  msgstr "Сложете отметка ако използвате W3 Total Caching на сайта си."
919
 
920
- #: adrotate.php:757
921
  msgid ""
922
  "You have enabled WP Super Cache support. If you have version 1.4 or newer, "
923
  "this function will not work. WP Super Cache has discontinued support for "
@@ -927,15 +964,15 @@ msgstr ""
927
  "нова, тази функция няма да работи. WP Super Cache прекрати поддръжката за "
928
  "динамично съдържание."
929
 
930
- #: adrotate.php:761
931
  msgid "WP Super Cache"
932
  msgstr "WP Super Cache"
933
 
934
- #: adrotate.php:762
935
  msgid "Check this box if you use WP Super Cache on your site."
936
  msgstr "Сложете отметка ако използвате W3 Total Caching на сайта си."
937
 
938
- #: adrotate.php:767
939
  msgid ""
940
  "It may take a while for the ad to start rotating. The caching plugin needs "
941
  "to refresh the cache. This can take up to a week if not done manually."
@@ -944,7 +981,7 @@ msgstr ""
944
  "Кеширащото разширение трябва да обнови данните. Това може да отнеме до една "
945
  "седмица, ако не го направите ръчно."
946
 
947
- #: adrotate.php:767
948
  msgid ""
949
  "Caching support only works for [shortcodes] and the AdRotate Widget. If you "
950
  "use a PHP Snippet you need to wrap your PHP in the exclusion code yourself."
@@ -953,15 +990,15 @@ msgstr ""
953
  "на AdRotate. Ако използвате PHP кода, трябва да го поставите в изключващ код "
954
  "сами."
955
 
956
- #: adrotate.php:771
957
  msgid "Javascript"
958
  msgstr ""
959
 
960
- #: adrotate.php:774
961
  msgid "Load jQuery"
962
  msgstr "Зареди jQuery"
963
 
964
- #: adrotate.php:775
965
  msgid ""
966
  "jQuery is required for all Javascript features below. Enable this if your "
967
  "theme does not load jQuery already."
@@ -969,11 +1006,11 @@ msgstr ""
969
  " jQuery е необходим за всички Javascript опции по-долу. Включете го само ако "
970
  "темата ви вече не го е заредила."
971
 
972
- #: adrotate.php:778
973
  msgid "Load in footer?"
974
  msgstr "Зареди във футера?"
975
 
976
- #: adrotate.php:779
977
  msgid ""
978
  "Enable if you want to load the above libraries in the footer. Your theme "
979
  "needs to call wp_footer() for this to work."
@@ -981,11 +1018,11 @@ msgstr ""
981
  "Включете, ако искате да заредите изброените по-горе библиотеки във футера. "
982
  "Необходимо е темата ви да извиква wp_footer(), за да проработи."
983
 
984
- #: adrotate.php:787
985
  msgid "Maintenance"
986
  msgstr "Поддръжка"
987
 
988
- #: adrotate.php:788
989
  msgid ""
990
  "NOTE: The below functions are intented to be used to OPTIMIZE your database. "
991
  "They only apply to your ads/groups and stats. Not to other settings or other "
@@ -999,19 +1036,19 @@ msgstr ""
999
  "функции само когато забележите, че вашата база данни е бавна, мудна или не "
1000
  "отговаря."
1001
 
1002
- #: adrotate.php:803 adrotate.php:805
1003
  msgid "Optimize Database"
1004
  msgstr "Оптимизиране на базата данни"
1005
 
1006
- #: adrotate.php:805
1007
  msgid "You are about to optimize the AdRotate database."
1008
  msgstr "На път сте да оптимизирате базата данни на AdRotate."
1009
 
1010
- #: adrotate.php:805
1011
  msgid "Did you make a backup of your database?"
1012
  msgstr "Направихте ли резервно копие на своята база данни?"
1013
 
1014
- #: adrotate.php:805
1015
  msgid ""
1016
  "This may take a moment and may cause your website to respond slow "
1017
  "temporarily!"
@@ -1019,16 +1056,16 @@ msgstr ""
1019
  "Това ще отнеме малко време и може да накара сайта Ви да работи по-бавно за "
1020
  "момент!"
1021
 
1022
- #: adrotate.php:805 adrotate.php:813 adrotate.php:821
1023
  #: dashboard/publisher/adrotate-groups-main.php:24
1024
  msgid "OK to continue, CANCEL to stop."
1025
  msgstr "ОК, за да продължите, ОТКАЗ за стоп."
1026
 
1027
- #: adrotate.php:806
1028
  msgid "Cleans up overhead data in the AdRotate tables."
1029
  msgstr "Почиста overhead данните в таблиците на AdRotate."
1030
 
1031
- #: adrotate.php:807
1032
  msgid ""
1033
  "Overhead data is accumulated garbage resulting from many changes you've "
1034
  "made. This can vary from nothing to hundreds of KiB of data."
@@ -1036,11 +1073,11 @@ msgstr ""
1036
  "Overhead данните са боклук, акумулиран в резултат на множеството промени, "
1037
  "които правите. Те могар да варират от 0 до хиляди KB."
1038
 
1039
- #: adrotate.php:811 adrotate.php:813
1040
  msgid "Clean-up Database"
1041
  msgstr "Почистване на базата данни"
1042
 
1043
- #: adrotate.php:813
1044
  msgid ""
1045
  "You are about to clean up your database. This may delete expired schedules "
1046
  "and older statistics."
@@ -1048,21 +1085,21 @@ msgstr ""
1048
  "На път сте да почистите базата с данни. Това може да изтрие истекли графици "
1049
  "и стари статистики."
1050
 
1051
- #: adrotate.php:813
1052
  msgid "Are you sure you want to continue?"
1053
  msgstr "Сигурни ли сте, че искате да продължите?"
1054
 
1055
- #: adrotate.php:813 adrotate.php:821
1056
  msgid "This might take a while and may slow down your site during this action!"
1057
  msgstr ""
1058
  "Това действие ще отнеме време и може да забави сайта ви по време на "
1059
  "изпълнението му!"
1060
 
1061
- #: adrotate.php:814
1062
  msgid "Delete stats older than 356 days (Optional)."
1063
  msgstr "Изтриване на статистики по-стари от 365 дни (Не е задължително)."
1064
 
1065
- #: adrotate.php:815
1066
  msgid ""
1067
  "AdRotate creates empty records when you start making ads or groups. In rare "
1068
  "occasions these records are faulty."
@@ -1070,7 +1107,7 @@ msgstr ""
1070
  "AdRotate създава празни записи, когато започнете да създавате реклама или "
1071
  "група. В редки случай тези записи са дефектни."
1072
 
1073
- #: adrotate.php:815
1074
  msgid ""
1075
  "If you made an ad or group that does not save when you make it use this "
1076
  "button to delete those empty records."
@@ -1078,7 +1115,7 @@ msgstr ""
1078
  "Ако създадете реклама или група, която не може да се запише, използвайте "
1079
  "този бутон, за да изтриете празните полета."
1080
 
1081
- #: adrotate.php:815
1082
  msgid ""
1083
  "Additionally you can clean up old statistics. This will improve the speed of "
1084
  "your site."
@@ -1086,19 +1123,19 @@ msgstr ""
1086
  "Също така можете да изчистите остарелите статистики. Това ще подобри "
1087
  "скоростта на сайта Ви."
1088
 
1089
- #: adrotate.php:819
1090
  msgid "Re-evaluate Ads"
1091
  msgstr "Преоценка на реклами"
1092
 
1093
- #: adrotate.php:821
1094
  msgid "Re-evaluate all ads"
1095
  msgstr "Преоценка на всички реклами"
1096
 
1097
- #: adrotate.php:821
1098
  msgid "You are about to check all ads for errors."
1099
  msgstr "На път сте да проверите всички реклами за грешки."
1100
 
1101
- #: adrotate.php:822
1102
  msgid ""
1103
  "This will apply all evaluation rules to all ads to see if any error slipped "
1104
  "in. Normally you should not need this feature."
@@ -1106,7 +1143,7 @@ msgstr ""
1106
  "Това ще провери всички реклами за грешки. Попринцип не би трябвало да имате "
1107
  "нужда от тази функция."
1108
 
1109
- #: adrotate.php:826
1110
  msgid ""
1111
  "DISCLAIMER: If for any reason your data is lost, damaged or otherwise "
1112
  "becomes unusable in any way or by any means in whichever way I will not take "
@@ -1123,65 +1160,65 @@ msgstr ""
1123
  "Отстояването на тезата, че всичко е работело нормално преди да кликнете на "
1124
  "тези бутони е безсмислено."
1125
 
1126
- #: adrotate.php:834
1127
  msgid "Troubleshooting"
1128
  msgstr "Отстраняване на проблеми"
1129
 
1130
- #: adrotate.php:837
1131
  msgid "Current version:"
1132
  msgstr "Текуща версия:"
1133
 
1134
- #: adrotate.php:838
1135
  msgid "Previous version:"
1136
  msgstr "Предишна версия:"
1137
 
1138
- #: adrotate.php:841
1139
  msgid "Current database version:"
1140
  msgstr "Текуща верския на базата данни:"
1141
 
1142
- #: adrotate.php:842
1143
  msgid "Previous database version:"
1144
  msgstr "Предишна версия на базата данни:"
1145
 
1146
- #: adrotate.php:845
1147
  #, fuzzy
1148
  msgid "Ad evaluation next run:"
1149
  msgstr "Оценка на рекламата:"
1150
 
1151
- #: adrotate.php:846 adrotate.php:850
1152
  msgid "Not scheduled!"
1153
  msgstr "Не е планирано!"
1154
 
1155
- #: adrotate.php:849
1156
  #, fuzzy
1157
  msgid "Clean Trackerdata next run:"
1158
  msgstr "Изчистване на Trackerdata при следващо стартиране:"
1159
 
1160
- #: adrotate.php:853
1161
  msgid "Current status of adverts"
1162
  msgstr "Настоящ статус на рекламите"
1163
 
1164
- #: adrotate.php:854
1165
  msgid "Normal"
1166
  msgstr "Нормално"
1167
 
1168
- #: adrotate.php:854
1169
  msgid "Error"
1170
  msgstr "Грешка"
1171
 
1172
- #: adrotate.php:854
1173
  msgid "Expired"
1174
  msgstr "Изтекло"
1175
 
1176
- #: adrotate.php:854
1177
  msgid "Expires Soon"
1178
  msgstr "Изтича скоро"
1179
 
1180
- #: adrotate.php:854
1181
  msgid "Unknown Status"
1182
  msgstr "Неизвестен статус"
1183
 
1184
- #: adrotate.php:857
1185
  msgid ""
1186
  "NOTE: The below options are not meant for normal use and are only there for "
1187
  "developers to review saved settings or how ads are selected. These can be "
@@ -1194,35 +1231,35 @@ msgstr ""
1194
  "проблем, който трябва да се разреши. При нормална употреба оставете опциите "
1195
  "ИЗКЛЮЧЕНИ!!"
1196
 
1197
- #: adrotate.php:861
1198
  msgid "Developer Debug"
1199
  msgstr "Developer Debug"
1200
 
1201
- #: adrotate.php:863
1202
  msgid "Troubleshoot ads and how (if) they are selected, has front-end output."
1203
  msgstr ""
1204
  "Проверк за грешки в рекламите и как (дали) са закачени. Има потребителски "
1205
  "изглед."
1206
 
1207
- #: adrotate.php:864
1208
  msgid "Show all settings, dashboard routines and related values."
1209
  msgstr "Показване на всички настройки, рутинни процедури и свързани стойности."
1210
 
1211
- #: adrotate.php:865
1212
  msgid "Show array of all userroles and capabilities."
1213
  msgstr "Покажи масив с всички потребителски роли и възможности."
1214
 
1215
- #: adrotate.php:866
1216
  msgid "Review saved advertisers! Visible to advertisers."
1217
  msgstr "Преглед на записаните рекламодатели! Видимо за рекламодатели."
1218
 
1219
- #: adrotate.php:867
1220
  msgid "Review global stats, per ad/group stats. Visible only to publishers."
1221