AdRotate Banner Manager - Version 3.15

Version Description

FREE = * [new] AdRotate error detection and status notifications * [new] Stats display for graphs now shows totals and CTR * [change] Updated bot filter keywords * [change] Reports display tweaks * [change] Impressions always tracked when using internal tracker * [fix] Advert evaluation cache not always accurate

Download this release

Release Info

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

Code changes from version 3.14.2 to 3.15

adrotate-functions.php CHANGED
@@ -486,18 +486,11 @@ function adrotate_select_pages($savedpages, $count = 2, $child_of = 0, $parent =
486
  Return:
487
  Since: 3.6.5
488
  -------------------------------------------------------------*/
489
- function adrotate_prepare_evaluate_ads($return = true, $id = 0) {
490
  global $wpdb;
491
 
492
- $getid = '';
493
- if($id > 0) {
494
- $getid = " AND `id` = {$id}";
495
- } else {
496
- $getid = " AND `type` != 'empty'";
497
- }
498
-
499
  // Fetch ads
500
- $ads = $wpdb->get_results("SELECT `id` FROM `".$wpdb->prefix."adrotate` WHERE `type` != 'disabled'{$getid} ORDER BY `id` ASC;");
501
 
502
  // Determine error states
503
  $error = $expired = $expiressoon = $normal = $unknown = 0;
@@ -533,15 +526,7 @@ function adrotate_prepare_evaluate_ads($return = true, $id = 0) {
533
  }
534
  }
535
 
536
- $count = $expired + $expiressoon + $error;
537
- $result = array('error' => $error,
538
- 'expired' => $expired,
539
- 'expiressoon' => $expiressoon,
540
- 'normal' => $normal,
541
- 'total' => $count,
542
- 'unknown' => $unknown
543
- );
544
-
545
  update_option('adrotate_advert_status', $result);
546
  if($return) adrotate_return('adrotate-settings', 405);
547
  }
@@ -555,6 +540,7 @@ function adrotate_prepare_evaluate_ads($return = true, $id = 0) {
555
  Since: 3.8.5.1
556
  -------------------------------------------------------------*/
557
  function adrotate_evaluate_ads() {
 
558
  adrotate_prepare_evaluate_ads(false);
559
  }
560
 
486
  Return:
487
  Since: 3.6.5
488
  -------------------------------------------------------------*/
489
+ function adrotate_prepare_evaluate_ads($return = true) {
490
  global $wpdb;
491
 
 
 
 
 
 
 
 
492
  // Fetch ads
493
+ $ads = $wpdb->get_results("SELECT `id` FROM `".$wpdb->prefix."adrotate` WHERE `type` != 'disabled' AND `type` != 'empty' ORDER BY `id` ASC;");
494
 
495
  // Determine error states
496
  $error = $expired = $expiressoon = $normal = $unknown = 0;
526
  }
527
  }
528
 
529
+ $result = array('error' => $error, 'expired' => $expired, 'expiressoon' => $expiressoon, 'normal' => $normal, 'unknown' => $unknown);
 
 
 
 
 
 
 
 
530
  update_option('adrotate_advert_status', $result);
531
  if($return) adrotate_return('adrotate-settings', 405);
532
  }
540
  Since: 3.8.5.1
541
  -------------------------------------------------------------*/
542
  function adrotate_evaluate_ads() {
543
+ // Verify all ads
544
  adrotate_prepare_evaluate_ads(false);
545
  }
546
 
adrotate-manage-publisher.php CHANGED
@@ -180,7 +180,8 @@ function adrotate_insert_input() {
180
  }
181
 
182
  if($active == "active") {
183
- adrotate_prepare_evaluate_ads(false, $id);
 
184
  }
185
 
186
  adrotate_return('adrotate-ads', 200);
@@ -418,6 +419,7 @@ function adrotate_request_action() {
418
  }
419
  }
420
  }
 
421
  adrotate_prepare_evaluate_ads(false);
422
  }
423
 
@@ -466,11 +468,9 @@ function adrotate_delete($id, $what) {
466
  $wpdb->query($wpdb->prepare("DELETE FROM `{$wpdb->prefix}adrotate` WHERE `id` = %d;", $id));
467
  $wpdb->query($wpdb->prepare("DELETE FROM `{$wpdb->prefix}adrotate_linkmeta` WHERE `ad` = %d;", $id));
468
  $wpdb->query($wpdb->prepare("DELETE FROM `{$wpdb->prefix}adrotate_stats` WHERE `ad` = %d;", $id));
469
- adrotate_prepare_evaluate_ads(false);
470
  } else if ($what == 'group') {
471
  $wpdb->query($wpdb->prepare("DELETE FROM `{$wpdb->prefix}adrotate_groups` WHERE `id` = %d;", $id));
472
  $wpdb->query($wpdb->prepare("DELETE FROM `{$wpdb->prefix}adrotate_linkmeta` WHERE `group` = %d;", $id));
473
- adrotate_prepare_evaluate_ads(false);
474
  } else if ($what == 'bannergroup') {
475
  $linkmeta = $wpdb->get_results($wpdb->prepare("SELECT `ad` FROM `{$wpdb->prefix}adrotate_linkmeta` WHERE `group` = %d;", $id));
476
  foreach($linkmeta as $meta) {
@@ -481,8 +481,9 @@ function adrotate_delete($id, $what) {
481
  $wpdb->query($wpdb->prepare("DELETE FROM `{$wpdb->prefix}adrotate_groups` WHERE `id` = %d;", $id));
482
  $wpdb->query($wpdb->prepare("DELETE FROM `{$wpdb->prefix}adrotate_linkmeta` WHERE `group` = %d;", $id));
483
  $wpdb->query($wpdb->prepare("DELETE FROM `{$wpdb->prefix}adrotate_stats` WHERE `group` = %d;", $id)); // Perhaps unnessesary
484
- adrotate_prepare_evaluate_ads(false);
485
  }
 
 
486
  }
487
  }
488
 
@@ -591,9 +592,6 @@ function adrotate_options_submit() {
591
  $config['banner_folder'] = "wp-content/banners/";
592
  $config['notification_email'] = array();
593
  $config['advertiser_email'] = array();
594
- $config['adblock'] = 'N';
595
- $config['adblock_timer'] = 0;
596
- $config['adblock_message'] = '';
597
  $config['enable_geo'] = 0;
598
  $config['geo_cookie_life'] = 86400;
599
  $config['geo_email'] = '';
@@ -601,10 +599,6 @@ function adrotate_options_submit() {
601
  $config['enable_advertisers'] = 'N';
602
  $config['enable_editing'] = 'N';
603
  $config['enable_geo_advertisers'] = 0;
604
- $config['adblock'] = 'N';
605
- $config['adblock_loggedin'] = 'N';
606
- $config['adblock_timer'] = 5;
607
- $config['adblock_message'] = "Ad blocker detected! Please wait %time% seconds or disable your ad blocker!";
608
  update_option('adrotate_config', $config);
609
 
610
  // Sort out crawlers
@@ -621,7 +615,6 @@ function adrotate_options_submit() {
621
  // Turn options off. Available in AdRotate Pro only
622
  $notifications['notification_email'] = 'N';
623
  $notifications['notification_push'] = 'N';
624
- $notifications['notification_dashboard'] = 'Y';
625
  $notifications['notification_email_publisher'] = array();
626
  $notifications['notification_email_advertiser'] = array(get_option('admin_email'));
627
  $notifications['notification_push_geo'] = 'N';
180
  }
181
 
182
  if($active == "active") {
183
+ // Verify all ads
184
+ adrotate_prepare_evaluate_ads(false);
185
  }
186
 
187
  adrotate_return('adrotate-ads', 200);
419
  }
420
  }
421
  }
422
+ // Verify all ads
423
  adrotate_prepare_evaluate_ads(false);
424
  }
425
 
468
  $wpdb->query($wpdb->prepare("DELETE FROM `{$wpdb->prefix}adrotate` WHERE `id` = %d;", $id));
469
  $wpdb->query($wpdb->prepare("DELETE FROM `{$wpdb->prefix}adrotate_linkmeta` WHERE `ad` = %d;", $id));
470
  $wpdb->query($wpdb->prepare("DELETE FROM `{$wpdb->prefix}adrotate_stats` WHERE `ad` = %d;", $id));
 
471
  } else if ($what == 'group') {
472
  $wpdb->query($wpdb->prepare("DELETE FROM `{$wpdb->prefix}adrotate_groups` WHERE `id` = %d;", $id));
473
  $wpdb->query($wpdb->prepare("DELETE FROM `{$wpdb->prefix}adrotate_linkmeta` WHERE `group` = %d;", $id));
 
474
  } else if ($what == 'bannergroup') {
475
  $linkmeta = $wpdb->get_results($wpdb->prepare("SELECT `ad` FROM `{$wpdb->prefix}adrotate_linkmeta` WHERE `group` = %d;", $id));
476
  foreach($linkmeta as $meta) {
481
  $wpdb->query($wpdb->prepare("DELETE FROM `{$wpdb->prefix}adrotate_groups` WHERE `id` = %d;", $id));
482
  $wpdb->query($wpdb->prepare("DELETE FROM `{$wpdb->prefix}adrotate_linkmeta` WHERE `group` = %d;", $id));
483
  $wpdb->query($wpdb->prepare("DELETE FROM `{$wpdb->prefix}adrotate_stats` WHERE `group` = %d;", $id)); // Perhaps unnessesary
 
484
  }
485
+ // Verify all ads
486
+ adrotate_prepare_evaluate_ads(false);
487
  }
488
  }
489
 
592
  $config['banner_folder'] = "wp-content/banners/";
593
  $config['notification_email'] = array();
594
  $config['advertiser_email'] = array();
 
 
 
595
  $config['enable_geo'] = 0;
596
  $config['geo_cookie_life'] = 86400;
597
  $config['geo_email'] = '';
599
  $config['enable_advertisers'] = 'N';
600
  $config['enable_editing'] = 'N';
601
  $config['enable_geo_advertisers'] = 0;
 
 
 
 
602
  update_option('adrotate_config', $config);
603
 
604
  // Sort out crawlers
615
  // Turn options off. Available in AdRotate Pro only
616
  $notifications['notification_email'] = 'N';
617
  $notifications['notification_push'] = 'N';
 
618
  $notifications['notification_email_publisher'] = array();
619
  $notifications['notification_email_advertiser'] = array(get_option('admin_email'));
620
  $notifications['notification_push_geo'] = 'N';
adrotate-output.php CHANGED
@@ -45,7 +45,7 @@ function adrotate_ad($banner_id, $individual = true, $group = null, $site = 0) {
45
  $output .= adrotate_ad_output($banner->id, 0, $banner->title, $banner->bannercode, $banner->tracker, $image, $banner->responsive);
46
  if($individual == true) $output .= '</div>';
47
 
48
- if($adrotate_config['stats'] == 1 AND $banner->tracker == "Y") {
49
  adrotate_count_impression($banner->id, 0, 0, $adrotate_config['impression_timer']);
50
  }
51
  } else {
@@ -372,12 +372,12 @@ function adrotate_ad_output($id, $group = 0, $name, $bannercode, $tracker, $imag
372
  $banner_output = $bannercode;
373
  $banner_output = stripslashes(htmlspecialchars_decode($banner_output, ENT_QUOTES));
374
 
375
- if($adrotate_config['stats'] > 0) {
376
  if(empty($blog_id) or $blog_id == '') {
377
  $blog_id = 0;
378
  }
379
 
380
- if($adrotate_config['stats'] == 1 AND $tracker == "Y") { // Internal tracker
381
  preg_match_all('/<a[^>](?:.*?)>/i', $banner_output, $matches, PREG_SET_ORDER);
382
  if(isset($matches[0])) {
383
  $banner_output = str_replace('<a ', '<a data-track="'.adrotate_hash($id, $group, $blog_id).'" ', $banner_output);
@@ -449,7 +449,7 @@ function adrotate_custom_scripts() {
449
  if(get_option('adrotate_responsive_required') > 0) wp_enqueue_script('responsive-adrotate', plugins_url('/library/jquery.adrotate.responsive.js', __FILE__), false, null, $in_footer);
450
 
451
  // Make clicktracking and impression tracking a possibility
452
- if($adrotate_config['stats'] == 1){
453
  wp_enqueue_script('clicktrack-adrotate', plugins_url('/library/jquery.adrotate.clicktracker.js', __FILE__), false, null, $in_footer);
454
  wp_localize_script('jshowoff-adrotate', 'impression_object', array('ajax_url' => admin_url( 'admin-ajax.php')));
455
  wp_localize_script('clicktrack-adrotate', 'click_object', array('ajax_url' => admin_url('admin-ajax.php')));
@@ -485,21 +485,14 @@ function adrotate_custom_javascript() {
485
  unset($groups);
486
  }
487
 
488
- $output = "<!-- AdRotate JS -->\n";
489
- $output .= "<script type=\"text/javascript\">\n";
490
-
491
- if(($adrotate_config['adblock'] == 'Y' AND !is_user_logged_in()) OR ($adrotate_config['adblock'] == 'Y' AND $adrotate_config['adblock_loggedin'] == "Y" AND is_user_logged_in())) {
492
- $output .= "jQuery(document).ready(function() {\n";
493
- $output .= "\tjQuery('body').adblockdetect({time: ".$adrotate_config['adblock_timer'].", message: \"".$adrotate_config['adblock_message']."\"});\n";
494
- $output .= "});\n";
495
- }
496
-
497
  if(isset($output_js)) {
 
 
498
  $output .= $output_js;
 
 
499
  unset($output_js);
500
  }
501
- $output .= "</script>\n";
502
- $output .= "<!-- /AdRotate JS -->\n\n";
503
 
504
  echo $output;
505
  }
@@ -678,6 +671,46 @@ function adrotate_error($action, $arg = null) {
678
  }
679
  }
680
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
681
  /*-------------------------------------------------------------
682
  Name: adrotate_notifications_dashboard
683
 
@@ -687,24 +720,19 @@ function adrotate_error($action, $arg = null) {
687
  Since: 3.0
688
  -------------------------------------------------------------*/
689
  function adrotate_notifications_dashboard() {
690
- global $adrotate_advert_status;
691
  if(current_user_can('adrotate_ad_manage')) {
692
- if(!is_array($adrotate_advert_status)) {
693
- $data = unserialize($adrotate_advert_status);
694
- } else {
695
- $data = $adrotate_advert_status;
696
- }
697
-
698
- if($data['total'] > 0) {
699
- if($data['expired'] > 0 AND $data['expiressoon'] == 0 AND $data['error'] == 0) {
700
- echo '<div class="error"><p>'.$data['expired'].' '.__('active ad(s) expired.', 'adrotate').' <a href="admin.php?page=adrotate-ads">'.__('Take action now', 'adrotate').'</a>!</p></div>';
701
- } else if($data['expired'] == 0 AND $data['expiressoon'] > 0 AND $data['error'] == 0) {
702
- echo '<div class="error"><p>'.$data['expiressoon'].' '.__('active ad(s) are about to expire.', 'adrotate').' <a href="admin.php?page=adrotate-ads">'.__('Check it out', 'adrotate').'</a>!</p></div>';
703
- } else if($data['expired'] == 0 AND $data['expiressoon'] == 0 AND $data['error'] > 0) {
704
- echo '<div class="error"><p>There are '.$data['error'].' '.__('active ad(s) with configuration errors.', 'adrotate').' <a href="admin.php?page=adrotate-ads">'.__('Solve this', 'adrotate').'</a>!</p></div>';
705
- } else {
706
- echo '<div class="error"><p>'.$data['expired'].' '.__('ad(s) expired.', 'adrotate').' '.$data['expiressoon'].' '.__('ad(s) are about to expire.', 'adrotate').' There are '.$data['error'].' '.__('ad(s) with configuration errors.', 'adrotate').' <a href="admin.php?page=adrotate-ads">'.__('Fix this as soon as possible', 'adrotate').'</a>!</p></div>';
707
  }
 
 
 
 
708
  }
709
 
710
  if(isset($_GET['hide']) AND $_GET['hide'] == 1) update_option('adrotate_hide_banner', 1);
@@ -713,7 +741,7 @@ function adrotate_notifications_dashboard() {
713
 
714
  $pro_banner = get_option('adrotate_hide_banner');
715
  if($pro_banner != 1 AND $pro_banner < (adrotate_now() - 604800) AND strpos($page, 'adrotate') !== false) {
716
- echo '<div class="updated" style="padding: 0; margin: 0; border-left: none;">';
717
  echo ' <div class="adrotate_banner">';
718
  echo ' <div class="button_div"><a class="button" target="_blank" href="https://ajdg.solutions/products/adrotate-for-wordpress/?add-to-cart=1126?pk_campaign=adrotatefree-upgradebanner">'.__('Buy now', 'adrotate').'</a></div>';
719
  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>'.__('Use discount code <b>getadrotatepro</b> for 10% off on any AdRotate license!', 'adrotate' ).' '.__('Thank you for your purchase!', 'adrotate' ).'</span></div>';
@@ -725,7 +753,7 @@ function adrotate_notifications_dashboard() {
725
 
726
  $review_banner = get_option('adrotate_hide_review');
727
  if($review_banner != 1 AND $review_banner < (adrotate_now() - 2419200) AND strpos($page, 'adrotate') !== false) {
728
- echo '<div class="updated" style="padding: 0; margin: 0; border-left: none;">';
729
  echo ' <div class="adrotate_banner">';
730
  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>';
731
  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" target="_blank">get in touch</a>!</span></div>';
@@ -740,7 +768,7 @@ function adrotate_notifications_dashboard() {
740
  $adrotate_db_version = get_option("adrotate_db_version");
741
  $adrotate_version = get_option("adrotate_version");
742
  if($adrotate_db_version['current'] < ADROTATE_DB_VERSION OR $adrotate_version['current'] < ADROTATE_VERSION) {
743
- echo '<div class="updated" style="padding: 0; margin: 0; border-left: none;">';
744
  echo ' <div class="adrotate_banner">';
745
  echo ' <div class="button_div"><a class="button" href="admin.php?page=adrotate&upgrade=1">Update Now</a></div>';
746
  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>';
45
  $output .= adrotate_ad_output($banner->id, 0, $banner->title, $banner->bannercode, $banner->tracker, $image, $banner->responsive);
46
  if($individual == true) $output .= '</div>';
47
 
48
+ if($adrotate_config['stats'] == 1) {
49
  adrotate_count_impression($banner->id, 0, 0, $adrotate_config['impression_timer']);
50
  }
51
  } else {
372
  $banner_output = $bannercode;
373
  $banner_output = stripslashes(htmlspecialchars_decode($banner_output, ENT_QUOTES));
374
 
375
+ if($adrotate_config['stats'] > 0 AND $tracker == "Y") {
376
  if(empty($blog_id) or $blog_id == '') {
377
  $blog_id = 0;
378
  }
379
 
380
+ if($adrotate_config['stats'] == 1) { // Internal tracker
381
  preg_match_all('/<a[^>](?:.*?)>/i', $banner_output, $matches, PREG_SET_ORDER);
382
  if(isset($matches[0])) {
383
  $banner_output = str_replace('<a ', '<a data-track="'.adrotate_hash($id, $group, $blog_id).'" ', $banner_output);
449
  if(get_option('adrotate_responsive_required') > 0) wp_enqueue_script('responsive-adrotate', plugins_url('/library/jquery.adrotate.responsive.js', __FILE__), false, null, $in_footer);
450
 
451
  // Make clicktracking and impression tracking a possibility
452
+ if($adrotate_config['stats'] == 1) {
453
  wp_enqueue_script('clicktrack-adrotate', plugins_url('/library/jquery.adrotate.clicktracker.js', __FILE__), false, null, $in_footer);
454
  wp_localize_script('jshowoff-adrotate', 'impression_object', array('ajax_url' => admin_url( 'admin-ajax.php')));
455
  wp_localize_script('clicktrack-adrotate', 'click_object', array('ajax_url' => admin_url('admin-ajax.php')));
485
  unset($groups);
486
  }
487
 
 
 
 
 
 
 
 
 
 
488
  if(isset($output_js)) {
489
+ $output = "<!-- AdRotate JS -->\n";
490
+ $output .= "<script type=\"text/javascript\">\n";
491
  $output .= $output_js;
492
+ $output .= "</script>\n";
493
+ $output .= "<!-- /AdRotate JS -->\n\n";
494
  unset($output_js);
495
  }
 
 
496
 
497
  echo $output;
498
  }
671
  }
672
  }
673
 
674
+ /*-------------------------------------------------------------
675
+ Name: adrotate_dashboard_error
676
+
677
+ Purpose: Show errors for problems in using AdRotate
678
+ Since: 3.19.1
679
+ -------------------------------------------------------------*/
680
+ function adrotate_dashboard_error() {
681
+ global $adrotate_config;
682
+
683
+ $status = get_option('adrotate_advert_status');
684
+
685
+ // Adverts
686
+ if($status['expired'] > 0) {
687
+ $error['advert_expired'] = sprintf(_n('One advert is expired.', '%1$s adverts expired!', $status['expired'], 'adrotate-pro'), $status['expired']).' <a href="'.admin_url('admin.php?page=adrotate-ads').'">'.__('Check adverts', 'adrotate-pro').'</a>!';
688
+ }
689
+ if($status['expiressoon'] > 0) {
690
+ $error['advert_soon'] = sprintf(_n('One advert expires soon.', '%1$s adverts are almost expiring!', $status['expiressoon'], 'adrotate-pro'), $status['expiressoon']).' <a href="'.admin_url('admin.php?page=adrotate-ads').'">'.__('Check adverts', 'adrotate-pro').'</a>!';
691
+ }
692
+ if($status['error'] > 0) {
693
+ $error['advert_config'] = sprintf(_n('One advert with configuration errors.', '%1$s adverts have configuration errors!', $status['error'], 'adrotate-pro'), $status['error']).' <a href="'.admin_url('admin.php?page=adrotate-ads').'">'.__('Check adverts', 'adrotate-pro').'</a>!';
694
+ }
695
+
696
+ // Caching
697
+ if($adrotate_config['w3caching'] == "Y" AND !is_plugin_active('/w3-total-cache/w3-total-cache.php')) {
698
+ $error['w3tc_not_active'] = __('You have enable caching support but W3 Total Cache is not active on your site!', 'adrotate-pro').' <a href="'.admin_url('/admin.php?page=adrotate-settings&tab=misc').'">Disable Caching Support</a> or <a href="'.admin_url('/plugins.php').'">Enable W3 Total Cache</a>.';
699
+ }
700
+ if($adrotate_config['w3caching'] == "Y" AND !defined('W3TC_DYNAMIC_SECURITY')) {
701
+ $error['w3tc_no_hash'] = __('You have enable caching support but the W3TC_DYNAMIC_SECURITY definition is not set.', 'adrotate-pro').' <a href="'.admin_url('/admin.php?page=adrotate-settings&tab=misc').'">How to configure W3 Total Cache</a>.';
702
+ }
703
+
704
+ // Misc
705
+ if(!is_writable(ABSPATH.$adrotate_config['banner_folder'])) {
706
+ $error['banners_folder'] = __('Your AdRotate Banner folder is not writable or does not exist.', 'adrotate-pro').' <a href="https://ajdg.solutions/manuals/adrotate-manuals/manage-banner-images/" target="_blank">Set up your banner folder</a>.';
707
+ }
708
+
709
+ $error = (isset($error) AND is_array($error)) ? $error : false;
710
+
711
+ return $error;
712
+ }
713
+
714
  /*-------------------------------------------------------------
715
  Name: adrotate_notifications_dashboard
716
 
720
  Since: 3.0
721
  -------------------------------------------------------------*/
722
  function adrotate_notifications_dashboard() {
 
723
  if(current_user_can('adrotate_ad_manage')) {
724
+ $adrotate_has_error = adrotate_dashboard_error();
725
+ if($adrotate_has_error) {
726
+ echo '<div class="error" style="padding: 0; margin: 0;">';
727
+ echo ' <div class="adrotate_banner">';
728
+ echo ' <div class="text">AdRotate has detected '._n('one issue that requires', 'several issues that require', count($adrotate_has_error), 'adrotate-pro').' your attention:<br /><span>';
729
+ foreach($adrotate_has_error as $error => $message) {
730
+ echo '&raquo; '.$message.'<br />';
 
 
 
 
 
 
 
 
731
  }
732
+ echo ' </span></div>';
733
+ echo ' <div class="icon"><img title="AdRotate Logo" src="'.plugins_url('images/adrotate-logo-60x60.png', __FILE__).'" alt=""/></div>';
734
+ echo ' </div>';
735
+ echo '</div>';
736
  }
737
 
738
  if(isset($_GET['hide']) AND $_GET['hide'] == 1) update_option('adrotate_hide_banner', 1);
741
 
742
  $pro_banner = get_option('adrotate_hide_banner');
743
  if($pro_banner != 1 AND $pro_banner < (adrotate_now() - 604800) AND strpos($page, 'adrotate') !== false) {
744
+ echo '<div class="updated" style="padding: 0; margin: 0;">';
745
  echo ' <div class="adrotate_banner">';
746
  echo ' <div class="button_div"><a class="button" target="_blank" href="https://ajdg.solutions/products/adrotate-for-wordpress/?add-to-cart=1126?pk_campaign=adrotatefree-upgradebanner">'.__('Buy now', 'adrotate').'</a></div>';
747
  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>'.__('Use discount code <b>getadrotatepro</b> for 10% off on any AdRotate license!', 'adrotate' ).' '.__('Thank you for your purchase!', 'adrotate' ).'</span></div>';
753
 
754
  $review_banner = get_option('adrotate_hide_review');
755
  if($review_banner != 1 AND $review_banner < (adrotate_now() - 2419200) AND strpos($page, 'adrotate') !== false) {
756
+ echo '<div class="updated" style="padding: 0; margin: 0;">';
757
  echo ' <div class="adrotate_banner">';
758
  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>';
759
  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" target="_blank">get in touch</a>!</span></div>';
768
  $adrotate_db_version = get_option("adrotate_db_version");
769
  $adrotate_version = get_option("adrotate_version");
770
  if($adrotate_db_version['current'] < ADROTATE_DB_VERSION OR $adrotate_version['current'] < ADROTATE_VERSION) {
771
+ echo '<div class="updated" style="padding: 0; margin: 0;">';
772
  echo ' <div class="adrotate_banner">';
773
  echo ' <div class="button_div"><a class="button" href="admin.php?page=adrotate&upgrade=1">Update Now</a></div>';
774
  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>';
adrotate-setup.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /* ------------------------------------------------------------------------------------
3
  * COPYRIGHT AND TRADEMARK NOTICE
4
- * Copyright 2008-2015 Arnan de Gans. All Rights Reserved.
5
  * ADROTATE is a trademark of Arnan de Gans.
6
 
7
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
@@ -181,9 +181,9 @@ function adrotate_uninstall_setup() {
181
  $wpdb->query("DROP TABLE IF EXISTS `{$wpdb->prefix}adrotate`");
182
  $wpdb->query("DROP TABLE IF EXISTS `{$wpdb->prefix}adrotate_groups`");
183
  $wpdb->query("DROP TABLE IF EXISTS `{$wpdb->prefix}adrotate_tracker`");
184
- $wpdb->query("DROP TABLE IF EXISTS `{$wpdb->prefix}adrotate_blocks`"); // Obsolete in 3.9.10
185
  $wpdb->query("DROP TABLE IF EXISTS `{$wpdb->prefix}adrotate_linkmeta`");
186
  $wpdb->query("DROP TABLE IF EXISTS `{$wpdb->prefix}adrotate_stats`");
 
187
  $wpdb->query("DROP TABLE IF EXISTS `{$wpdb->prefix}adrotate_schedule`");
188
 
189
  // Delete Options
@@ -202,11 +202,7 @@ function adrotate_uninstall_setup() {
202
  delete_option('adrotate_geo_requests');
203
  delete_option('adrotate_responsive_required');
204
  delete_option('adrotate_dynamic_required');
205
- delete_option('adrotate_roles'); // Obsolete in 3.11.8
206
- delete_option('adrotate_server'); // Obsolete in 3.11.1
207
- delete_option('adrotate_server_hide'); // Obsolete in 3.11.1
208
  delete_option('adrotate_version');
209
- delete_site_option('adrotate_multisite'); // Obsolete in 3.10.18
210
 
211
  // Clear out userroles
212
  remove_role('adrotate_advertiser');
@@ -247,10 +243,10 @@ function adrotate_network_propagate($pfunction, $network_wide) {
247
  -------------------------------------------------------------*/
248
  function adrotate_check_config() {
249
 
250
- $config = get_option('adrotate_config');
251
  $notifications = get_option('adrotate_notifications');
252
- $crawlers = get_option('adrotate_crawlers');
253
- $debug = get_option('adrotate_debug');
254
 
255
  if(!isset($config)) $config = array();
256
  if(!isset($notifications)) $notifications = array();
@@ -290,15 +286,10 @@ function adrotate_check_config() {
290
  if(!isset($config['mobile_dynamic_mode']) OR ($config['mobile_dynamic_mode'] != 'Y' AND $config['mobile_dynamic_mode'] != 'N')) $config['mobile_dynamic_mode'] = 'N';
291
  if(!isset($config['jquery']) OR ($config['jquery'] != 'Y' AND $config['jquery'] != 'N')) $config['jquery'] = 'N';
292
  if(!isset($config['jsfooter']) OR ($config['jsfooter'] != 'Y' AND $config['jsfooter'] != 'N')) $config['jsfooter'] = 'Y';
293
- if(!isset($config['adblock']) OR ($config['adblock'] != 'Y' AND $config['adblock'] != 'N')) $config['adblock'] = 'N';
294
- if(!isset($config['adblock_timer']) OR $config['adblock_timer'] < 0 OR $config['adblock_timer'] > 20) $config['adblock_timer'] = 5;
295
- if(!isset($config['adblock_message'])) $config['adblock_message'] = "Ad blocker detected! Please wait %time% seconds or disable your ad blocker!";
296
- if(!isset($config['adblock_loggedin']) OR ($config['adblock_loggedin'] != 'Y' AND $config['adblock_loggedin'] != 'N')) $config['adblock_loggedin'] = "N";
297
  update_option('adrotate_config', $config);
298
 
299
  if(!isset($notifications['notification_push']) OR ($notifications['notification_push'] != 'Y' AND $notifications['notification_push'] != 'N')) $notifications['notification_push'] = 'N';
300
  if(!isset($notifications['notification_email']) OR ($notifications['notification_email'] != 'Y' AND $notifications['notification_email'] != 'N')) $notifications['notification_email'] = 'Y';
301
- if(!isset($config['notification_dashboard']) OR ($config['notification_dashboard'] != 'Y' AND $config['notification_dashboard'] != 'N')) $config['notification_dashboard'] = 'Y';
302
 
303
  if(!isset($notifications['notification_push_geo']) OR ($notifications['notification_push_geo'] != 'Y' AND $notifications['notification_push_geo'] != 'N')) $notifications['notification_push_geo'] = 'N';
304
  if(!isset($notifications['notification_push_status']) OR ($notifications['notification_push_status'] != 'Y' AND $notifications['notification_push_status'] != 'N')) $notifications['notification_push_status'] = 'N';
@@ -313,7 +304,7 @@ function adrotate_check_config() {
313
  if(!isset($notifications['notification_email_advertiser'])) $notifications['notification_email_advertiser'] = array(get_option('admin_email'));
314
  update_option('adrotate_notifications', $notifications);
315
 
316
- if(!isset($crawlers) OR count($crawlers) < 1) $crawlers = array("008", "ABACHOBot", "Accoona-AI-Agent", "AddSugarSpiderBot", "alexa", "AnyApexBot", "Arachmo", "B-l-i-t-z-B-O-T", "Baiduspider", "BecomeBot", "BeslistBot","BillyBobBot", "Bimbot", "Bingbot", "BlitzBOT", "boitho.com-dc", "boitho.com-robot", "btbot", "CatchBot", "Cerberian Drtrs","Charlotte", "ConveraCrawler", "cosmos", "Covario IDS", "DataparkSearch", "DiamondBot", "Discobot", "Dotbot", "EmeraldShield.com WebBot", "envolk[ITS]spider", "EsperanzaBot", "Exabot", "FAST Enterprise Crawler", "FAST-WebCrawler", "FDSE robot","FindLinks", "FurlBot", "FyberSpider", "g2crawler", "Gaisbot", "GalaxyBot", "genieBot", "Gigabot", "Girafabot", "Googlebot", "Googlebot-Image", "GurujiBot", "HappyFunBot", "hl_ftien_spider", "Holmes", "htdig", "iaskspider", "ia_archiver", "iCCrawler", "ichiro", "inktomi", "igdeSpyder", "IRLbot", "IssueCrawler", "Jaxified Bot", "Jyxobot", "KoepaBot", "L.webis", "LapozzBot", "Larbin", "LDSpider", "LexxeBot", "Linguee Bot", "LinkWalker", "lmspider", "lwp-trivial", "mabontland", "magpie-crawler", "Mediapartners-Google", "MJ12bot", "Mnogosearch", "mogimogi", "MojeekBot", "Moreoverbot", "Morning Paper", "msnbot", "MSRBot", "MVAClient", "mxbot", "NetResearchServer", "NetSeer Crawler", "NewsGator", "NG-Search", "nicebot", "noxtrumbot", "Nusearch Spider", "NutchCVS", "Nymesis", "obot", "oegp", "omgilibot", "OmniExplorer_Bot", "OOZBOT", "Orbiter", "PageBitesHyperBot", "Peew", "polybot", "Pompos", "PostPost", "Psbot", "PycURL", "Qseero", "Radian6", "RAMPyBot", "RufusBot", "SandCrawler", "SBIder", "ScoutJet", "Scrubby", "SearchSight", "Seekbot", "semanticdiscovery", "Sensis Web Crawler", "SEOChat::Bot", "SeznamBot", "Shim-Crawler", "ShopWiki", "Shoula robot", "silk", "Sitebot", "Snappy", "sogou spider", "Sosospider", "Speedy Spider", "Sqworm", "StackRambler", "suggybot", "SurveyBot", "SynooBot", "Teoma", "TerrawizBot", "TheSuBot", "Thumbnail.CZ robot", "TinEye", "truwoGPS", "TurnitinBot", "TweetedTimes Bot", "TwengaBot", "updated", "Urlfilebot", "Vagabondo", "VoilaBot", "Vortex", "voyager", "VYU2", "webcollage", "Websquash.com", "wf84", "WoFindeIch Robot", "WomlpeFactory", "Xaldon_WebSpider", "yacy", "Yahoo! Slurp", "Yahoo! Slurp China", "YahooSeeker", "YahooSeeker-Testing", "YandexBot", "YandexImages", "Yasaklibot", "Yeti", "YodaoBot", "yoogliFetchAgent", "YoudaoBot", "Zao", "Zealbot", "zspider", "ZyBorg", "crawler", "bot", "froogle","looksmart", "URL_Spider_SQL", "Firefly", "NationalDirectory", "Ask Jeeves", "TECNOSEEK", "InfoSeek", "WebFindBot", "Googlebot", "Scooter", "appie", "WebBug", "Spade", "rabaz", "Feedfetcher-Google", "TechnoratiSnoop", "Rankivabot", "Mediapartners-Google", "Sogou web spider", "WebAlta Crawler");
317
  update_option('adrotate_crawlers', $crawlers);
318
 
319
  if(!isset($debug['general'])) $debug['general'] = false;
@@ -500,6 +491,20 @@ function adrotate_database_install() {
500
  ) ".$charset_collate.$engine.";");
501
  }
502
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
503
  if(!in_array("{$wpdb->prefix}adrotate_tracker", $found_tables)) {
504
  dbDelta("CREATE TABLE `{$wpdb->prefix}adrotate_tracker` (
505
  `id` bigint(9) unsigned NOT NULL auto_increment,
@@ -537,6 +542,7 @@ function adrotate_check_upgrade() {
537
  $adrotate_db_version = get_option("adrotate_db_version");
538
  if($adrotate_db_version['current'] < ADROTATE_DB_VERSION) {
539
  adrotate_database_upgrade();
 
540
  adrotate_prepare_evaluate_ads(false);
541
  }
542
 
@@ -811,6 +817,40 @@ function adrotate_database_upgrade() {
811
  adrotate_del_column("{$wpdb->prefix}adrotate_tracker", 'useragent');
812
  }
813
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
814
  update_option("adrotate_db_version", array('current' => ADROTATE_DB_VERSION, 'previous' => $adrotate_db_version['current']));
815
  }
816
 
@@ -991,8 +1031,8 @@ function adrotate_optimize_database() {
991
  $now = adrotate_now();
992
 
993
  if($adrotate_db_timer < ($now - 86400)) {
994
- dbDelta("OPTIMIZE TABLE `{$wpdb->prefix}adrotate`, `{$wpdb->prefix}adrotate_groups`, `{$wpdb->prefix}adrotate_linkmeta`, `{$wpdb->prefix}adrotate_stats`, `{$wpdb->prefix}adrotate_tracker`, `{$wpdb->prefix}adrotate_schedule`, ;");
995
- dbDelta("REPAIR TABLE `{$wpdb->prefix}adrotate`, `{$wpdb->prefix}adrotate_groups`, `{$wpdb->prefix}adrotate_linkmeta`, `{$wpdb->prefix}adrotate_stats`, `{$wpdb->prefix}adrotate_tracker`, `{$wpdb->prefix}adrotate_schedule`;");
996
  update_option('adrotate_db_timer', $now);
997
  adrotate_return('adrotate-settings', 403);
998
  } else {
1
  <?php
2
  /* ------------------------------------------------------------------------------------
3
  * COPYRIGHT AND TRADEMARK NOTICE
4
+ * Copyright 2008-2016 Arnan de Gans. All Rights Reserved.
5
  * ADROTATE is a trademark of Arnan de Gans.
6
 
7
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
181
  $wpdb->query("DROP TABLE IF EXISTS `{$wpdb->prefix}adrotate`");
182
  $wpdb->query("DROP TABLE IF EXISTS `{$wpdb->prefix}adrotate_groups`");
183
  $wpdb->query("DROP TABLE IF EXISTS `{$wpdb->prefix}adrotate_tracker`");
 
184
  $wpdb->query("DROP TABLE IF EXISTS `{$wpdb->prefix}adrotate_linkmeta`");
185
  $wpdb->query("DROP TABLE IF EXISTS `{$wpdb->prefix}adrotate_stats`");
186
+ $wpdb->query("DROP TABLE IF EXISTS `{$wpdb->prefix}adrotate_stats_archive`");
187
  $wpdb->query("DROP TABLE IF EXISTS `{$wpdb->prefix}adrotate_schedule`");
188
 
189
  // Delete Options
202
  delete_option('adrotate_geo_requests');
203
  delete_option('adrotate_responsive_required');
204
  delete_option('adrotate_dynamic_required');
 
 
 
205
  delete_option('adrotate_version');
 
206
 
207
  // Clear out userroles
208
  remove_role('adrotate_advertiser');
243
  -------------------------------------------------------------*/
244
  function adrotate_check_config() {
245
 
246
+ $config = get_option('adrotate_config');
247
  $notifications = get_option('adrotate_notifications');
248
+ $crawlers = get_option('adrotate_crawlers');
249
+ $debug = get_option('adrotate_debug');
250
 
251
  if(!isset($config)) $config = array();
252
  if(!isset($notifications)) $notifications = array();
286
  if(!isset($config['mobile_dynamic_mode']) OR ($config['mobile_dynamic_mode'] != 'Y' AND $config['mobile_dynamic_mode'] != 'N')) $config['mobile_dynamic_mode'] = 'N';
287
  if(!isset($config['jquery']) OR ($config['jquery'] != 'Y' AND $config['jquery'] != 'N')) $config['jquery'] = 'N';
288
  if(!isset($config['jsfooter']) OR ($config['jsfooter'] != 'Y' AND $config['jsfooter'] != 'N')) $config['jsfooter'] = 'Y';
 
 
 
 
289
  update_option('adrotate_config', $config);
290
 
291
  if(!isset($notifications['notification_push']) OR ($notifications['notification_push'] != 'Y' AND $notifications['notification_push'] != 'N')) $notifications['notification_push'] = 'N';
292
  if(!isset($notifications['notification_email']) OR ($notifications['notification_email'] != 'Y' AND $notifications['notification_email'] != 'N')) $notifications['notification_email'] = 'Y';
 
293
 
294
  if(!isset($notifications['notification_push_geo']) OR ($notifications['notification_push_geo'] != 'Y' AND $notifications['notification_push_geo'] != 'N')) $notifications['notification_push_geo'] = 'N';
295
  if(!isset($notifications['notification_push_status']) OR ($notifications['notification_push_status'] != 'Y' AND $notifications['notification_push_status'] != 'N')) $notifications['notification_push_status'] = 'N';
304
  if(!isset($notifications['notification_email_advertiser'])) $notifications['notification_email_advertiser'] = array(get_option('admin_email'));
305
  update_option('adrotate_notifications', $notifications);
306
 
307
+ if(!isset($crawlers) OR count($crawlers) < 1) $crawlers = array("008", "bot", "crawler", "spider", "Accoona-AI-Agent", "alexa", "Arachmo", "B-l-i-t-z-B-O-T", "boitho.com-dc", "Cerberian Drtrs","Charlotte", "cosmos", "Covario IDS", "DataparkSearch","FindLinks", "Holmes", "htdig", "ia_archiver", "ichiro", "inktomi", "igdeSpyder", "L.webis", "Larbin", "LinkWalker", "lwp-trivial", "mabontland", "Mnogosearch", "mogimogi", "Morning Paper", "MVAClient", "NetResearchServer", "NewsGator", "NG-Search", "NutchCVS", "Nymesis", "oegp", "Orbiter", "Peew", "Pompos", "PostPost", "PycURL", "Qseero", "Radian6", "SBIder", "ScoutJet", "Scrubby", "SearchSight", "semanticdiscovery", "ShopWiki", "silk", "Snappy", "Sqworm", "StackRambler", "Teoma", "TinEye", "truwoGPS", "updated", "Vagabondo", "Vortex", "voyager", "VYU2", "webcollage", "Websquash.com", "wf84", "WomlpeFactory", "yacy", "Yahoo! Slurp", "Yahoo! Slurp China", "YahooSeeker", "YahooSeeker-Testing", "YandexImages", "Yeti", "yoogliFetchAgent", "Zao", "ZyBorg", "froogle","looksmart", "Firefly", "NationalDirectory", "Ask Jeeves", "TECNOSEEK", "InfoSeek", "Scooter", "appie", "WebBug", "Spade", "rabaz", "TechnoratiSnoop");
308
  update_option('adrotate_crawlers', $crawlers);
309
 
310
  if(!isset($debug['general'])) $debug['general'] = false;
491
  ) ".$charset_collate.$engine.";");
492
  }
493
 
494
+ if(!in_array("{$wpdb->prefix}adrotate_stats_archive", $found_tables)) {
495
+ dbDelta("CREATE TABLE `{$wpdb->prefix}adrotate_stats_archive` (
496
+ `id` bigint(9) unsigned NOT NULL auto_increment,
497
+ `ad` int(5) unsigned NOT NULL default '0',
498
+ `group` int(5) unsigned NOT NULL default '0',
499
+ `thetime` int(15) unsigned NOT NULL default '0',
500
+ `clicks` int(15) unsigned NOT NULL default '0',
501
+ `impressions` int(15) unsigned NOT NULL default '0',
502
+ PRIMARY KEY (`id`),
503
+ INDEX `ad` (`ad`),
504
+ INDEX `thetime` (`thetime`)
505
+ ) ".$charset_collate.$engine.";");
506
+ }
507
+
508
  if(!in_array("{$wpdb->prefix}adrotate_tracker", $found_tables)) {
509
  dbDelta("CREATE TABLE `{$wpdb->prefix}adrotate_tracker` (
510
  `id` bigint(9) unsigned NOT NULL auto_increment,
542
  $adrotate_db_version = get_option("adrotate_db_version");
543
  if($adrotate_db_version['current'] < ADROTATE_DB_VERSION) {
544
  adrotate_database_upgrade();
545
+ // Verify all ads
546
  adrotate_prepare_evaluate_ads(false);
547
  }
548
 
817
  adrotate_del_column("{$wpdb->prefix}adrotate_tracker", 'useragent');
818
  }
819
 
820
+ // Database: 57
821
+ // AdRotate: 4.0
822
+ if($adrotate_db_version['current'] < 57) {
823
+ require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
824
+
825
+ $charset_collate = $engine = '';
826
+ $found_tables = $wpdb->get_col("SHOW TABLES LIKE '{$wpdb->prefix}adrotate%';");
827
+ if(!empty($wpdb->charset)) {
828
+ $charset_collate .= " DEFAULT CHARACTER SET {$wpdb->charset}";
829
+ }
830
+ if($wpdb->has_cap('collation') AND !empty($wpdb->collate)) {
831
+ $charset_collate .= " COLLATE {$wpdb->collate}";
832
+ }
833
+
834
+ $found_engine = $wpdb->get_var("SELECT ENGINE FROM `information_schema`.`TABLES` WHERE `TABLE_SCHEMA` = '".DB_NAME."' AND `TABLE_NAME` = '{$wpdb->prefix}posts';");
835
+ if(strtolower($found_engine) == 'innodb') {
836
+ $engine = ' ENGINE=InnoDB';
837
+ }
838
+
839
+ if(!in_array("{$wpdb->prefix}adrotate_stats_archive", $found_tables)) {
840
+ dbDelta("CREATE TABLE `{$wpdb->prefix}adrotate_stats_archive` (
841
+ `id` bigint(9) unsigned NOT NULL auto_increment,
842
+ `ad` int(5) unsigned NOT NULL default '0',
843
+ `group` int(5) unsigned NOT NULL default '0',
844
+ `thetime` int(15) unsigned NOT NULL default '0',
845
+ `clicks` int(15) unsigned NOT NULL default '0',
846
+ `impressions` int(15) unsigned NOT NULL default '0',
847
+ PRIMARY KEY (`id`),
848
+ INDEX `ad` (`ad`),
849
+ INDEX `thetime` (`thetime`)
850
+ ) ".$charset_collate.$engine.";");
851
+ }
852
+ }
853
+
854
  update_option("adrotate_db_version", array('current' => ADROTATE_DB_VERSION, 'previous' => $adrotate_db_version['current']));
855
  }
856
 
1031
  $now = adrotate_now();
1032
 
1033
  if($adrotate_db_timer < ($now - 86400)) {
1034
+ dbDelta("OPTIMIZE TABLE `{$wpdb->prefix}adrotate`, `{$wpdb->prefix}adrotate_groups`, `{$wpdb->prefix}adrotate_linkmeta`, `{$wpdb->prefix}adrotate_stats`, `{$wpdb->prefix}adrotate_stats_archive`, `{$wpdb->prefix}adrotate_tracker`, `{$wpdb->prefix}adrotate_schedule`;");
1035
+ dbDelta("REPAIR TABLE `{$wpdb->prefix}adrotate`, `{$wpdb->prefix}adrotate_groups`, `{$wpdb->prefix}adrotate_linkmeta`, `{$wpdb->prefix}adrotate_stats`, `{$wpdb->prefix}adrotate_stats_archive`, `{$wpdb->prefix}adrotate_tracker`, `{$wpdb->prefix}adrotate_schedule`;");
1036
  update_option('adrotate_db_timer', $now);
1037
  adrotate_return('adrotate-settings', 403);
1038
  } else {
adrotate-widget.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /* ------------------------------------------------------------------------------------
3
  * COPYRIGHT AND TRADEMARK NOTICE
4
- * Copyright 2008-2015 Arnan de Gans. All Rights Reserved.
5
  * ADROTATE is a trademark of Arnan de Gans.
6
 
7
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
@@ -13,8 +13,6 @@
13
  Name: adrotate_widget
14
 
15
  Purpose: Unlimited widgets for the sidebar
16
- Receive: -none-
17
- Return: -none-
18
  Since: 0.8
19
  -------------------------------------------------------------*/
20
  class adrotate_widgets extends WP_Widget {
@@ -22,16 +20,18 @@ class adrotate_widgets extends WP_Widget {
22
  /*-------------------------------------------------------------
23
  Purpose: Construct the widget
24
  -------------------------------------------------------------*/
25
- function adrotate_widgets() {
26
-
27
- parent::__construct(false, 'AdRotate', array('description' => "Show a group of adverts or a single advert in any widget area."));
28
-
 
 
29
  }
30
 
31
  /*-------------------------------------------------------------
32
  Purpose: Display the widget
33
  -------------------------------------------------------------*/
34
- function widget($args, $instance) {
35
  global $adrotate_config, $blog_id;
36
 
37
  extract($args);
@@ -77,7 +77,7 @@ class adrotate_widgets extends WP_Widget {
77
  /*-------------------------------------------------------------
78
  Purpose: Save the widget options per instance
79
  -------------------------------------------------------------*/
80
- function update($new_instance, $old_instance) {
81
  $new_instance['title'] = strip_tags($new_instance['title']);
82
  $new_instance['description'] = strip_tags($new_instance['description']);
83
  $new_instance['type'] = strip_tags($new_instance['type']);
@@ -99,7 +99,7 @@ class adrotate_widgets extends WP_Widget {
99
  /*-------------------------------------------------------------
100
  Purpose: Display the widget options for admins
101
  -------------------------------------------------------------*/
102
- function form($instance) {
103
  global $blog_id;
104
 
105
  $defaults = array();
@@ -142,6 +142,5 @@ class adrotate_widgets extends WP_Widget {
142
  <input id="<?php echo $this->get_field_id('siteid'); ?>" name="<?php echo $this->get_field_name('siteid'); ?>" type="hidden" value="<?php echo $blog_id; ?>" />
143
  <?php
144
  }
145
-
146
  }
147
  ?>
1
  <?php
2
  /* ------------------------------------------------------------------------------------
3
  * COPYRIGHT AND TRADEMARK NOTICE
4
+ * Copyright 2008-2016 Arnan de Gans. All Rights Reserved.
5
  * ADROTATE is a trademark of Arnan de Gans.
6
 
7
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
13
  Name: adrotate_widget
14
 
15
  Purpose: Unlimited widgets for the sidebar
 
 
16
  Since: 0.8
17
  -------------------------------------------------------------*/
18
  class adrotate_widgets extends WP_Widget {
20
  /*-------------------------------------------------------------
21
  Purpose: Construct the widget
22
  -------------------------------------------------------------*/
23
+ public function __construct() {
24
+ $widget_ops = array(
25
+ 'classname' => 'adrotate_widgets',
26
+ 'description' => 'Show a group of adverts or a single advert in any widget area.',
27
+ );
28
+ parent::__construct('adrotate_widgets', 'AdRotate', $widget_ops);
29
  }
30
 
31
  /*-------------------------------------------------------------
32
  Purpose: Display the widget
33
  -------------------------------------------------------------*/
34
+ public function widget($args, $instance) {
35
  global $adrotate_config, $blog_id;
36
 
37
  extract($args);
77
  /*-------------------------------------------------------------
78
  Purpose: Save the widget options per instance
79
  -------------------------------------------------------------*/
80
+ public function update($new_instance, $old_instance) {
81
  $new_instance['title'] = strip_tags($new_instance['title']);
82
  $new_instance['description'] = strip_tags($new_instance['description']);
83
  $new_instance['type'] = strip_tags($new_instance['type']);
99
  /*-------------------------------------------------------------
100
  Purpose: Display the widget options for admins
101
  -------------------------------------------------------------*/
102
+ public function form($instance) {
103
  global $blog_id;
104
 
105
  $defaults = array();
142
  <input id="<?php echo $this->get_field_id('siteid'); ?>" name="<?php echo $this->get_field_name('siteid'); ?>" type="hidden" value="<?php echo $blog_id; ?>" />
143
  <?php
144
  }
 
145
  }
146
  ?>
adrotate.php CHANGED
@@ -7,13 +7,13 @@ Author URI: http://ajdg.solutions/?pk_campaign=adrotatefree-pluginpage
7
  Description: The popular choice for monetizing your website with adverts while keeping things simple. Start making money today!
8
  Text Domain: adrotate
9
  Domain Path: /languages/
10
- Version: 3.14.2
11
  License: GPLv3
12
  */
13
 
14
  /* ------------------------------------------------------------------------------------
15
  * COPYRIGHT AND TRADEMARK NOTICE
16
- * Copyright 2008-2015 Arnan de Gans. All Rights Reserved.
17
  * ADROTATE is a trademark of Arnan de Gans.
18
 
19
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
@@ -22,9 +22,9 @@ License: GPLv3
22
  ------------------------------------------------------------------------------------ */
23
 
24
  /*--- AdRotate values ---------------------------------------*/
25
- define("ADROTATE_DISPLAY", '3.14.2');
26
  define("ADROTATE_VERSION", 380);
27
- define("ADROTATE_DB_VERSION", 56);
28
  /*-----------------------------------------------------------*/
29
 
30
  /*--- Load Files --------------------------------------------*/
@@ -44,7 +44,6 @@ $adrotate_crawlers = get_option('adrotate_crawlers');
44
  $adrotate_version = get_option("adrotate_version");
45
  $adrotate_db_version = get_option("adrotate_db_version");
46
  $adrotate_debug = get_option("adrotate_debug");
47
- $adrotate_advert_status = get_option("adrotate_advert_status");
48
  /*-----------------------------------------------------------*/
49
 
50
  /*--- Core --------------------------------------------------*/
@@ -105,7 +104,7 @@ function adrotate_dashboard() {
105
  $adrotate_page = add_menu_page('AdRotate', 'AdRotate', 'adrotate_ad_manage', 'adrotate', 'adrotate_info', plugins_url('/images/icon-menu.png', __FILE__), '25.8');
106
  $adrotate_page = add_submenu_page('adrotate', 'AdRotate > '.__('General Info', 'adrotate'), __('General Info', 'adrotate'), 'adrotate_ad_manage', 'adrotate', 'adrotate_info');
107
  $adrotate_pro = add_submenu_page('adrotate', 'AdRotate > '.__('AdRotate Pro', 'adrotate'), __('AdRotate Pro', 'adrotate'), 'adrotate_ad_manage', 'adrotate-pro', 'adrotate_pro');
108
- $adrotate_adverts = add_submenu_page('adrotate', 'AdRotate > '.__('Manage Ads', 'adrotate'), __('Manage Ads', 'adrotate'), 'adrotate_ad_manage', 'adrotate-ads', 'adrotate_manage');
109
  $adrotate_groups = add_submenu_page('adrotate', 'AdRotate > '.__('Manage Groups', 'adrotate'), __('Manage Groups', 'adrotate'), 'adrotate_group_manage', 'adrotate-groups', 'adrotate_manage_group');
110
  $adrotate_schedules = add_submenu_page('adrotate', 'AdRotate > '.__('Manage Schedules', 'adrotate'), __('Manage Schedules', 'adrotate'), 'adrotate_ad_manage', 'adrotate-schedules', 'adrotate_manage_schedules');
111
  $adrotate_media = add_submenu_page('adrotate', 'AdRotate > '.__('Manage Media', 'adrotate'), __('Manage Media', 'adrotate'), 'adrotate_ad_manage', 'adrotate-media', 'adrotate_manage_media');
@@ -129,7 +128,7 @@ function adrotate_dashboard() {
129
  Return: -none-
130
  -------------------------------------------------------------*/
131
  function adrotate_info() {
132
- global $wpdb, $adrotate_advert_status;
133
  ?>
134
  <div class="wrap">
135
  <h1><?php _e('AdRotate Info', 'adrotate'); ?></h1>
@@ -196,7 +195,7 @@ function adrotate_manage() {
196
  $monthend = mktime(0, 0, 0, $month+1, 0, $year);
197
  ?>
198
  <div class="wrap">
199
- <h1><?php _e('Ad Management', 'adrotate'); ?></h1>
200
 
201
  <?php if($status > 0) adrotate_status($status, array('file' => $file)); ?>
202
 
@@ -581,6 +580,7 @@ function adrotate_options() {
581
 
582
  <?php
583
  $adrotate_config = get_option('adrotate_config');
 
584
 
585
  if($active_tab == 'general') {
586
  $adrotate_crawlers = get_option('adrotate_crawlers');
@@ -604,10 +604,9 @@ function adrotate_options() {
604
  } elseif($active_tab == 'misc') {
605
  include("dashboard/settings/misc.php");
606
  } elseif($active_tab == 'maintenance') {
607
- $adrotate_debug = get_option('adrotate_debug');
608
  $adrotate_version = get_option('adrotate_version');
609
  $adrotate_db_version = get_option('adrotate_db_version');
610
- $adrotate_advert_status = get_option("adrotate_advert_status");
611
 
612
  $adevaluate = wp_next_scheduled('adrotate_evaluate_ads');
613
  $adschedule = wp_next_scheduled('adrotate_notification');
7
  Description: The popular choice for monetizing your website with adverts while keeping things simple. Start making money today!
8
  Text Domain: adrotate
9
  Domain Path: /languages/
10
+ Version: 3.15
11
  License: GPLv3
12
  */
13
 
14
  /* ------------------------------------------------------------------------------------
15
  * COPYRIGHT AND TRADEMARK NOTICE
16
+ * Copyright 2008-2016 Arnan de Gans. All Rights Reserved.
17
  * ADROTATE is a trademark of Arnan de Gans.
18
 
19
  * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
22
  ------------------------------------------------------------------------------------ */
23
 
24
  /*--- AdRotate values ---------------------------------------*/
25
+ define("ADROTATE_DISPLAY", '3.15');
26
  define("ADROTATE_VERSION", 380);
27
+ define("ADROTATE_DB_VERSION", 57);
28
  /*-----------------------------------------------------------*/
29
 
30
  /*--- Load Files --------------------------------------------*/
44
  $adrotate_version = get_option("adrotate_version");
45
  $adrotate_db_version = get_option("adrotate_db_version");
46
  $adrotate_debug = get_option("adrotate_debug");
 
47
  /*-----------------------------------------------------------*/
48
 
49
  /*--- Core --------------------------------------------------*/
104
  $adrotate_page = add_menu_page('AdRotate', 'AdRotate', 'adrotate_ad_manage', 'adrotate', 'adrotate_info', plugins_url('/images/icon-menu.png', __FILE__), '25.8');
105
  $adrotate_page = add_submenu_page('adrotate', 'AdRotate > '.__('General Info', 'adrotate'), __('General Info', 'adrotate'), 'adrotate_ad_manage', 'adrotate', 'adrotate_info');
106
  $adrotate_pro = add_submenu_page('adrotate', 'AdRotate > '.__('AdRotate Pro', 'adrotate'), __('AdRotate Pro', 'adrotate'), 'adrotate_ad_manage', 'adrotate-pro', 'adrotate_pro');
107
+ $adrotate_adverts = add_submenu_page('adrotate', 'AdRotate > '.__('Manage Adverts', 'adrotate'), __('Manage Adverts', 'adrotate'), 'adrotate_ad_manage', 'adrotate-ads', 'adrotate_manage');
108
  $adrotate_groups = add_submenu_page('adrotate', 'AdRotate > '.__('Manage Groups', 'adrotate'), __('Manage Groups', 'adrotate'), 'adrotate_group_manage', 'adrotate-groups', 'adrotate_manage_group');
109
  $adrotate_schedules = add_submenu_page('adrotate', 'AdRotate > '.__('Manage Schedules', 'adrotate'), __('Manage Schedules', 'adrotate'), 'adrotate_ad_manage', 'adrotate-schedules', 'adrotate_manage_schedules');
110
  $adrotate_media = add_submenu_page('adrotate', 'AdRotate > '.__('Manage Media', 'adrotate'), __('Manage Media', 'adrotate'), 'adrotate_ad_manage', 'adrotate-media', 'adrotate_manage_media');
128
  Return: -none-
129
  -------------------------------------------------------------*/
130
  function adrotate_info() {
131
+ global $wpdb;
132
  ?>
133
  <div class="wrap">
134
  <h1><?php _e('AdRotate Info', 'adrotate'); ?></h1>
195
  $monthend = mktime(0, 0, 0, $month+1, 0, $year);
196
  ?>
197
  <div class="wrap">
198
+ <h1><?php _e('Advert Management', 'adrotate'); ?></h1>
199
 
200
  <?php if($status > 0) adrotate_status($status, array('file' => $file)); ?>
201
 
580
 
581
  <?php
582
  $adrotate_config = get_option('adrotate_config');
583
+ $adrotate_debug = get_option('adrotate_debug');
584
 
585
  if($active_tab == 'general') {
586
  $adrotate_crawlers = get_option('adrotate_crawlers');
604
  } elseif($active_tab == 'misc') {
605
  include("dashboard/settings/misc.php");
606
  } elseif($active_tab == 'maintenance') {
 
607
  $adrotate_version = get_option('adrotate_version');
608
  $adrotate_db_version = get_option('adrotate_db_version');
609
+ $advert_status = get_option("adrotate_advert_status");
610
 
611
  $adevaluate = wp_next_scheduled('adrotate_evaluate_ads');
612
  $adschedule = wp_next_scheduled('adrotate_notification');
dashboard/publisher/adverts-disabled.php CHANGED
@@ -12,7 +12,7 @@
12
  <form name="disabled_banners" id="post" method="post" action="admin.php?page=adrotate-ads">
13
  <?php wp_nonce_field('adrotate_bulk_ads_disable','adrotate_nonce'); ?>
14
 
15
- <h3><?php _e('Disabled Ads', 'adrotate'); ?></h3>
16
 
17
  <div class="tablenav">
18
  <div class="alignleft actions">
12
  <form name="disabled_banners" id="post" method="post" action="admin.php?page=adrotate-ads">
13
  <?php wp_nonce_field('adrotate_bulk_ads_disable','adrotate_nonce'); ?>
14
 
15
+ <h3><?php _e('Disabled Adverts', 'adrotate'); ?></h3>
16
 
17
  <div class="tablenav">
18
  <div class="alignleft actions">
dashboard/publisher/adverts-edit.php CHANGED
@@ -394,7 +394,7 @@ if($edit_banner->imagetype == "field") {
394
  <tr>
395
  <td scope="col" class="manage-column column-cb check-column"><input type="checkbox" /></td>
396
  <th><?php _e('ID - Name', 'adrotate'); ?></th>
397
- <th width="5%"><center><?php _e('Ads', 'adrotate'); ?></center></th>
398
  </tr>
399
  </thead>
400
 
394
  <tr>
395
  <td scope="col" class="manage-column column-cb check-column"><input type="checkbox" /></td>
396
  <th><?php _e('ID - Name', 'adrotate'); ?></th>
397
+ <th width="5%"><center><?php _e('Adverts', 'adrotate'); ?></center></th>
398
  </tr>
399
  </thead>
400
 
dashboard/publisher/adverts-error.php CHANGED
@@ -9,7 +9,7 @@
9
  * liability that might arise from it's use.
10
  ------------------------------------------------------------------------------------ */
11
  ?>
12
- <h3><?php _e('Ads that need immediate attention', 'adrotate'); ?></h3>
13
 
14
  <form name="errorbanners" id="post" method="post" action="admin.php?page=adrotate-ads">
15
  <?php wp_nonce_field('adrotate_bulk_ads_error','adrotate_nonce'); ?>
9
  * liability that might arise from it's use.
10
  ------------------------------------------------------------------------------------ */
11
  ?>
12
+ <h3><?php _e('Adverts that need attention', 'adrotate'); ?></h3>
13
 
14
  <form name="errorbanners" id="post" method="post" action="admin.php?page=adrotate-ads">
15
  <?php wp_nonce_field('adrotate_bulk_ads_error','adrotate_nonce'); ?>
dashboard/publisher/adverts-main.php CHANGED
@@ -9,7 +9,7 @@
9
  * liability that might arise from it's use.
10
  ------------------------------------------------------------------------------------ */
11
  ?>
12
- <h3><?php _e('Active Ads', 'adrotate'); ?></h3>
13
 
14
  <form name="banners" id="post" method="post" action="admin.php?page=adrotate-ads">
15
  <?php wp_nonce_field('adrotate_bulk_ads_active','adrotate_nonce'); ?>
@@ -106,7 +106,7 @@
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>
9
  * liability that might arise from it's use.
10
  ------------------------------------------------------------------------------------ */
11
  ?>
12
+ <h3><?php _e('Active Adverts', 'adrotate'); ?></h3>
13
 
14
  <form name="banners" id="post" method="post" action="admin.php?page=adrotate-ads">
15
  <?php wp_nonce_field('adrotate_bulk_ads_active','adrotate_nonce'); ?>
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 adverts created yet!', 'adrotate'); ?></em></td>
110
  </tr>
111
  <?php } ?>
112
  </tbody>
dashboard/publisher/adverts-report.php CHANGED
@@ -9,21 +9,22 @@
9
  * liability that might arise from it's use.
10
  ------------------------------------------------------------------------------------ */
11
 
12
- $banner = $wpdb->get_row("SELECT `title`, `tracker` FROM `".$wpdb->prefix."adrotate` WHERE `id` = '$ad_edit_id';");
13
- $stats = adrotate_stats($ad_edit_id);
14
- $stats_today = adrotate_stats($ad_edit_id, $today);
 
15
 
16
  // Get Click Through Rate
17
  $ctr = adrotate_ctr($stats['clicks'], $stats['impressions']);
 
18
 
19
- if($adrotate_debug['publisher'] == true) {
20
- echo "<p><strong>[DEBUG] Ad Stats (all time)</strong><pre>";
21
- print_r($stats);
22
- echo "</pre></p>";
23
- echo "<p><strong>[DEBUG] Ad Stats (today)</strong><pre>";
24
- print_r($stats_today);
25
- echo "</pre></p>";
26
- }
27
  ?>
28
 
29
  <h3><?php _e('Statistics for advert', 'adrotate'); ?> '<?php echo $banner->title; ?>'</h3>
@@ -45,12 +46,17 @@ if($adrotate_debug['publisher'] == true) {
45
  <table class="widefat" style="margin-top: .5em">
46
 
47
  <tbody>
48
- <tr>
49
- <th colspan="5">
50
  <div style="text-align:center;"><?php echo adrotate_stats_nav('ads', $ad_edit_id, $month, $year); ?></div>
51
  <?php echo adrotate_stats_graph('ads', $ad_edit_id, 1, $monthstart, $monthend); ?>
52
  </th>
53
- </tr>
 
 
 
 
 
54
  </tbody>
55
 
56
  </table>
9
  * liability that might arise from it's use.
10
  ------------------------------------------------------------------------------------ */
11
 
12
+ $banner = $wpdb->get_row("SELECT `title`, `tracker` FROM `".$wpdb->prefix."adrotate` WHERE `id` = '$ad_edit_id';");
13
+ $stats = adrotate_stats($ad_edit_id);
14
+ $stats_today = adrotate_stats($ad_edit_id, $today);
15
+ $stats_graph_month = adrotate_stats($ad_edit_id, $monthstart, $monthend);
16
 
17
  // Get Click Through Rate
18
  $ctr = adrotate_ctr($stats['clicks'], $stats['impressions']);
19
+ $ctr_graph_month = adrotate_ctr($stats_graph_month['clicks'], $stats_graph_month['impressions']);
20
 
21
+ // Prevent gaps in display
22
+ if(empty($stats['impressions'])) $stats['impressions'] = 0;
23
+ if(empty($stats['clicks'])) $stats['clicks'] = 0;
24
+ if(empty($stats_today['impressions'])) $stats_today['impressions'] = 0;
25
+ if(empty($stats_today['clicks'])) $stats_today['clicks'] = 0;
26
+ if(empty($stats_graph_month['impressions'])) $stats_graph_month['impressions'] = 0;
27
+ if(empty($stats_graph_month['clicks'])) $stats_graph_month['clicks'] = 0;
 
28
  ?>
29
 
30
  <h3><?php _e('Statistics for advert', 'adrotate'); ?> '<?php echo $banner->title; ?>'</h3>
46
  <table class="widefat" style="margin-top: .5em">
47
 
48
  <tbody>
49
+ <tr>
50
+ <th colspan="3">
51
  <div style="text-align:center;"><?php echo adrotate_stats_nav('ads', $ad_edit_id, $month, $year); ?></div>
52
  <?php echo adrotate_stats_graph('ads', $ad_edit_id, 1, $monthstart, $monthend); ?>
53
  </th>
54
+ </tr>
55
+ <tr>
56
+ <td width="33%"><div class="stats_large"><?php _e('Impressions', 'adrotate-pro'); ?><br /><div class="number_large"><?php echo $stats_graph_month['impressions']; ?></div></div></td>
57
+ <td width="33%"><div class="stats_large"><?php _e('Clicks', 'adrotate-pro'); ?><br /><div class="number_large"><?php if($banner->tracker == "Y") { echo $stats_graph_month['clicks']; } else { echo '--'; } ?></div></div></td>
58
+ <td width="34%"><div class="stats_large"><?php _e('CTR', 'adrotate-pro'); ?><br /><div class="number_large"><?php if($banner->tracker == "Y") { echo $ctr_graph_month.' %'; } else { echo '--'; } ?></div></div></td>
59
+ </tr>
60
  </tbody>
61
 
62
  </table>
dashboard/publisher/groups-edit.php CHANGED
@@ -63,7 +63,7 @@ if(!is_array($meta_array)) $meta_array = array();
63
  <select tabindex="2" name="adrotate_modus">
64
  <option value="0" <?php if($edit_group->modus == 0) { echo 'selected'; } ?>><?php _e('Default - Show one ad at a time', 'adrotate'); ?></option>
65
  <option value="1" <?php if($edit_group->modus == 1) { echo 'selected'; } ?>><?php _e('Dynamic Mode - Show a different ad every few seconds', 'adrotate'); ?></option>
66
- <option value="2" <?php if($edit_group->modus == 2) { echo 'selected'; } ?>><?php _e('Block Mode - Show a block of ads', 'adrotate'); ?></option>
67
  </select>
68
  </td>
69
  <td>
@@ -101,7 +101,7 @@ if(!is_array($meta_array)) $meta_array = array();
101
  <label for="adrotate_adwidth"><input tabindex="5" name="adrotate_adwidth" type="text" class="search-input" size="3" value="<?php echo $edit_group->adwidth; ?>" autocomplete="off" /> <?php _e('pixel(s) wide', 'adrotate'); ?>,</label> <label for="adrotate_adheight"><input tabindex="6" name="adrotate_adheight" type="text" class="search-input" size="3" value="<?php echo $edit_group->adheight; ?>" autocomplete="off" /> <?php _e('pixel(s) high.', 'adrotate'); ?></label>
102
  </td>
103
  <td colspan="2">
104
- <p><em><?php _e('Dynamic and Block Mode', 'adrotate'); ?> - <?php _e('Define the maximum size of the ads in pixels. Size can be \'auto\' (Not recommended). Default: 125/125.', 'adrotate'); ?></em></p>
105
  </td>
106
  </tr>
107
  <tr>
@@ -138,7 +138,7 @@ if(!is_array($meta_array)) $meta_array = array();
138
  <tbody>
139
  <tr>
140
  <th width="15%"><?php _e('Widget', 'adrotate'); ?></th>
141
- <td colspan="3"><?php _e('Drag the AdRotate widget to the sidebar you want it in, select "Group of Ads" and enter ID', 'adrotate'); ?> "<?php echo $edit_group->id; ?>".</td>
142
  </tr>
143
  <tr>
144
  <th width="15%"><?php _e('In a post or page', 'adrotate'); ?></th>
@@ -285,7 +285,7 @@ if(!is_array($meta_array)) $meta_array = array();
285
  <tbody>
286
  <tr>
287
  <th width="15%"><?php _e('Widget', 'adrotate'); ?></th>
288
- <td colspan="3"><?php _e('Drag the AdRotate widget to the sidebar you want it in, select "Group of Ads" and enter ID', 'adrotate'); ?> "<?php echo $edit_group->id; ?>".</td>
289
  </tr>
290
  <tr>
291
  <th width="15%"><?php _e('In a post or page', 'adrotate'); ?></th>
@@ -376,7 +376,7 @@ if(!is_array($meta_array)) $meta_array = array();
376
  <?php } else { ?>
377
  <tr>
378
  <th class="check-column">&nbsp;</th>
379
- <td colspan="<?php echo ($adrotate_config['stats'] == 1) ? '6' : '4'; ?>"><em><?php _e('No ads created!', 'adrotate'); ?></em></td>
380
  </tr>
381
  <?php } ?>
382
  </tbody>
63
  <select tabindex="2" name="adrotate_modus">
64
  <option value="0" <?php if($edit_group->modus == 0) { echo 'selected'; } ?>><?php _e('Default - Show one ad at a time', 'adrotate'); ?></option>
65
  <option value="1" <?php if($edit_group->modus == 1) { echo 'selected'; } ?>><?php _e('Dynamic Mode - Show a different ad every few seconds', 'adrotate'); ?></option>
66
+ <option value="2" <?php if($edit_group->modus == 2) { echo 'selected'; } ?>><?php _e('Block Mode - Show a block of adverts', 'adrotate'); ?></option>
67
  </select>
68
  </td>
69
  <td>
101
  <label for="adrotate_adwidth"><input tabindex="5" name="adrotate_adwidth" type="text" class="search-input" size="3" value="<?php echo $edit_group->adwidth; ?>" autocomplete="off" /> <?php _e('pixel(s) wide', 'adrotate'); ?>,</label> <label for="adrotate_adheight"><input tabindex="6" name="adrotate_adheight" type="text" class="search-input" size="3" value="<?php echo $edit_group->adheight; ?>" autocomplete="off" /> <?php _e('pixel(s) high.', 'adrotate'); ?></label>
102
  </td>
103
  <td colspan="2">
104
+ <p><em><?php _e('Dynamic and Block Mode', 'adrotate'); ?> - <?php _e('Define the maximum size of the adverts in pixels. Size can be \'auto\' (Not recommended). Default: 125/125.', 'adrotate'); ?></em></p>
105
  </td>
106
  </tr>
107
  <tr>
138
  <tbody>
139
  <tr>
140
  <th width="15%"><?php _e('Widget', 'adrotate'); ?></th>
141
+ <td colspan="3"><?php _e('Drag the AdRotate widget to the sidebar you want it in, select "Group of Adverts" and enter ID', 'adrotate'); ?> "<?php echo $edit_group->id; ?>".</td>
142
  </tr>
143
  <tr>
144
  <th width="15%"><?php _e('In a post or page', 'adrotate'); ?></th>
285
  <tbody>
286
  <tr>
287
  <th width="15%"><?php _e('Widget', 'adrotate'); ?></th>
288
+ <td colspan="3"><?php _e('Drag the AdRotate widget to the sidebar you want it in, select "Group of Adverts" and enter ID', 'adrotate'); ?> "<?php echo $edit_group->id; ?>".</td>
289
  </tr>
290
  <tr>
291
  <th width="15%"><?php _e('In a post or page', 'adrotate'); ?></th>
376
  <?php } else { ?>
377
  <tr>
378
  <th class="check-column">&nbsp;</th>
379
+ <td colspan="<?php echo ($adrotate_config['stats'] == 1) ? '6' : '4'; ?>"><em><?php _e('No adverts created!', 'adrotate'); ?></em></td>
380
  </tr>
381
  <?php } ?>
382
  </tbody>
dashboard/publisher/groups-main.php CHANGED
@@ -19,7 +19,7 @@
19
  <select name="adrotate_action" id="cat" class="postform">
20
  <option value=""><?php _e('Bulk Actions', 'adrotate'); ?></option>
21
  <option value="group_delete"><?php _e('Delete Group', 'adrotate'); ?></option>
22
- <option value="group_delete_banners"><?php _e('Delete Group including ads', 'adrotate'); ?></option>
23
  </select>
24
  <input onclick="return confirm('<?php _e('You are about to delete a group', 'adrotate'); ?>\n<?php _e('This action can not be undone!', 'adrotate'); ?>\n<?php _e('OK to continue, CANCEL to stop.', 'adrotate'); ?>')" type="submit" id="post-action-submit" name="adrotate_action_submit" value="<?php _e('Go', 'adrotate'); ?>" class="button-secondary" />
25
  </div>
@@ -31,7 +31,7 @@
31
  <td class="check-column">&nbsp;</td>
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('Shown', 'adrotate'); ?></center></th>
37
  <th width="5%"><center><?php _e('Today', 'adrotate'); ?></center></th>
19
  <select name="adrotate_action" id="cat" class="postform">
20
  <option value=""><?php _e('Bulk Actions', 'adrotate'); ?></option>
21
  <option value="group_delete"><?php _e('Delete Group', 'adrotate'); ?></option>
22
+ <option value="group_delete_banners"><?php _e('Delete Group including adverts', 'adrotate'); ?></option>
23
  </select>
24
  <input onclick="return confirm('<?php _e('You are about to delete a group', 'adrotate'); ?>\n<?php _e('This action can not be undone!', 'adrotate'); ?>\n<?php _e('OK to continue, CANCEL to stop.', 'adrotate'); ?>')" type="submit" id="post-action-submit" name="adrotate_action_submit" value="<?php _e('Go', 'adrotate'); ?>" class="button-secondary" />
25
  </div>
31
  <td class="check-column">&nbsp;</td>
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('Adverts', 'adrotate'); ?></center></th>
35
  <?php if($adrotate_config['stats'] == 1) { ?>
36
  <th width="5%"><center><?php _e('Shown', 'adrotate'); ?></center></th>
37
  <th width="5%"><center><?php _e('Today', 'adrotate'); ?></center></th>
dashboard/publisher/groups-report.php CHANGED
@@ -13,23 +13,19 @@ $title = $wpdb->get_var("SELECT `name` FROM `".$wpdb->prefix."adrotate_groups` W
13
  $stats = $wpdb->get_row("SELECT SUM(`clicks`) as `clicks`, SUM(`impressions`) as `impressions` FROM `".$wpdb->prefix."adrotate_stats` WHERE `group` = '$group_edit_id';", ARRAY_A);
14
  $stats_today = $wpdb->get_row("SELECT `clicks`, `impressions` FROM `".$wpdb->prefix."adrotate_stats` WHERE `group` = '$group_edit_id' AND `thetime` = '$today';", ARRAY_A);
15
 
 
 
16
  // Get Click Through Rate
17
  $ctr = adrotate_ctr($stats['clicks'], $stats['impressions']);
 
18
 
19
  // Prevent gaps in display
20
  if(empty($stats['impressions'])) $stats['impressions'] = 0;
21
  if(empty($stats['clicks'])) $stats['clicks'] = 0;
22
  if(empty($stats_today['impressions'])) $stats_today['impressions'] = 0;
23
  if(empty($stats_today['clicks'])) $stats_today['clicks'] = 0;
24
-
25
- if($adrotate_debug['publisher'] == true) {
26
- echo "<p><strong>[DEBUG] Group (all time)</strong><pre>";
27
- print_r($stats);
28
- echo "</pre></p>";
29
- echo "<p><strong>[DEBUG] Group (today)</strong><pre>";
30
- print_r($stats_today);
31
- echo "</pre></p>";
32
- }
33
  ?>
34
 
35
  <h3><?php _e('Statistics for group', 'adrotate'); ?> '<?php echo $title; ?>'</h3>
@@ -51,12 +47,17 @@ if($adrotate_debug['publisher'] == true) {
51
  <table class="widefat" style="margin-top: .5em">
52
 
53
  <tbody>
54
- <tr>
55
  <th colspan="5">
56
  <div style="text-align:center;"><?php echo adrotate_stats_nav('groups', $group_edit_id, $month, $year); ?></div>
57
  <?php echo adrotate_stats_graph('groups', $group_edit_id, 1, $monthstart, $monthend); ?>
58
  </th>
59
- </tr>
 
 
 
 
 
60
  </tbody>
61
 
62
  </table>
13
  $stats = $wpdb->get_row("SELECT SUM(`clicks`) as `clicks`, SUM(`impressions`) as `impressions` FROM `".$wpdb->prefix."adrotate_stats` WHERE `group` = '$group_edit_id';", ARRAY_A);
14
  $stats_today = $wpdb->get_row("SELECT `clicks`, `impressions` FROM `".$wpdb->prefix."adrotate_stats` WHERE `group` = '$group_edit_id' AND `thetime` = '$today';", ARRAY_A);
15
 
16
+ $stats_graph_month = $wpdb->get_row("SELECT SUM(`clicks`) as `clicks`, SUM(`impressions`) as `impressions` FROM `{$wpdb->prefix}adrotate_stats` WHERE `group` = {$group_edit_id} AND `thetime` >= {$monthstart} AND `thetime` <= {$monthend};", ARRAY_A);
17
+
18
  // Get Click Through Rate
19
  $ctr = adrotate_ctr($stats['clicks'], $stats['impressions']);
20
+ $ctr_graph_month = adrotate_ctr($stats_graph_month['clicks'], $stats_graph_month['impressions']);
21
 
22
  // Prevent gaps in display
23
  if(empty($stats['impressions'])) $stats['impressions'] = 0;
24
  if(empty($stats['clicks'])) $stats['clicks'] = 0;
25
  if(empty($stats_today['impressions'])) $stats_today['impressions'] = 0;
26
  if(empty($stats_today['clicks'])) $stats_today['clicks'] = 0;
27
+ if(empty($stats_graph_month['impressions'])) $stats_graph_month['impressions'] = 0;
28
+ if(empty($stats_graph_month['clicks'])) $stats_graph_month['clicks'] = 0;
 
 
 
 
 
 
 
29
  ?>
30
 
31
  <h3><?php _e('Statistics for group', 'adrotate'); ?> '<?php echo $title; ?>'</h3>
47
  <table class="widefat" style="margin-top: .5em">
48
 
49
  <tbody>
50
+ <tr>
51
  <th colspan="5">
52
  <div style="text-align:center;"><?php echo adrotate_stats_nav('groups', $group_edit_id, $month, $year); ?></div>
53
  <?php echo adrotate_stats_graph('groups', $group_edit_id, 1, $monthstart, $monthend); ?>
54
  </th>
55
+ </tr>
56
+ <tr>
57
+ <td width="33%"><div class="stats_large"><?php _e('Impressions', 'adrotate-pro'); ?><br /><div class="number_large"><?php echo $stats_graph_month['impressions']; ?></div></div></td>
58
+ <td width="33%"><div class="stats_large"><?php _e('Clicks', 'adrotate-pro'); ?><br /><div class="number_large"><?php echo $stats_graph_month['clicks']; ?></div></div></td>
59
+ <td width="34%"><div class="stats_large"><?php _e('CTR', 'adrotate-pro'); ?><br /><div class="number_large"><?php echo $ctr_graph_month; ?> %</div></div></td>
60
+ </tr>
61
  </tbody>
62
 
63
  </table>
dashboard/settings/maintenance.php CHANGED
@@ -64,7 +64,7 @@
64
  </tr>
65
  <tr>
66
  <td valign="top"><?php _e('Current status of adverts', 'adrotate'); ?></td>
67
- <td><?php _e('Normal', 'adrotate'); ?>: <?php echo $adrotate_advert_status['normal']; ?>, <?php _e('Error', 'adrotate'); ?>: <?php echo $adrotate_advert_status['error']; ?>, <?php _e('Expired', 'adrotate'); ?>: <?php echo $adrotate_advert_status['expired']; ?>, <?php _e('Expires Soon', 'adrotate'); ?>: <?php echo $adrotate_advert_status['expiressoon']; ?>, <?php _e('Unknown', 'adrotate'); ?>: <?php echo $adrotate_advert_status['unknown']; ?>.</td>
68
  </tr>
69
  <tr>
70
  <td><?php _e('Banners/assets Folder', 'adrotate-pro'); ?></td>
64
  </tr>
65
  <tr>
66
  <td valign="top"><?php _e('Current status of adverts', 'adrotate'); ?></td>
67
+ <td><?php _e('Normal', 'adrotate'); ?>: <?php echo $advert_status['normal']; ?>, <?php _e('Error', 'adrotate'); ?>: <?php echo $advert_status['error']; ?>, <?php _e('Expired', 'adrotate'); ?>: <?php echo $advert_status['expired']; ?>, <?php _e('Expires Soon', 'adrotate'); ?>: <?php echo $advert_status['expiressoon']; ?>, <?php _e('Unknown', 'adrotate'); ?>: <?php echo $advert_status['unknown']; ?>.</td>
68
  </tr>
69
  <tr>
70
  <td><?php _e('Banners/assets Folder', 'adrotate-pro'); ?></td>
dashboard/settings/notifications.php CHANGED
@@ -28,15 +28,6 @@
28
  </tr>
29
  </table>
30
 
31
- <h3><?php _e('Dashboard Notifications', 'adrotate'); ?></h3>
32
- <span class="description"><?php _e('These show to every administrator who can edit adverts.', 'adrotate'); ?></span>
33
- <table class="form-table">
34
- <tr>
35
- <th valign="top"><?php _e('Notification banners', 'adrotate'); ?></th>
36
- <td><label for="adrotate_notification_dashboard_disabled"><input type="checkbox" name="adrotate_notification_dashboard_disabled" disabled /> <?php _e('Disable dashboard notifications.', 'adrotate'); ?></label></td>
37
- </tr>
38
- </table>
39
-
40
  <h3><?php _e('Email Notifications', 'adrotate'); ?></h3>
41
  <span class="description"><?php _e('Set up who gets notification emails.', 'adrotate'); ?></span>
42
  <table class="form-table">
28
  </tr>
29
  </table>
30
 
 
 
 
 
 
 
 
 
 
31
  <h3><?php _e('Email Notifications', 'adrotate'); ?></h3>
32
  <span class="description"><?php _e('Set up who gets notification emails.', 'adrotate'); ?></span>
33
  <table class="form-table">
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-12-05 00:44+0800\n"
6
- "PO-Revision-Date: 2015-12-05 00:44+0800\n"
7
  "Last-Translator: Arnan de Gans <info@ajdg.net>\n"
8
  "Language-Team: Nedko Ivanov <cocacoli4ko@gmail.com>\n"
9
  "Language: bg_BG\n"
@@ -17,113 +17,113 @@ msgstr ""
17
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
18
  "X-Poedit-SearchPath-0: .\n"
19
 
20
- #: adrotate-functions.php:849
21
  msgid "No files found"
22
  msgstr "Няма намерени файлове"
23
 
24
- #: adrotate-functions.php:852
25
  msgid "Folder not found or not accessible"
26
  msgstr "Папката не е намерена или не е достъпна"
27
 
28
- #: adrotate-functions.php:901
29
  msgid "Ad saved"
30
  msgstr ""
31
 
32
- #: adrotate-functions.php:905
33
  msgid "Group saved"
34
  msgstr ""
35
 
36
- #: adrotate-functions.php:909
37
  msgid "Ad(s) deleted"
38
  msgstr "Успешно изтриване"
39
 
40
- #: adrotate-functions.php:913
41
  msgid "Group deleted"
42
  msgstr "Групата е изтрита"
43
 
44
- #: adrotate-functions.php:917
45
  msgid "Ad(s) statistics reset"
46
  msgstr "Статистиката е нулирана"
47
 
48
- #: adrotate-functions.php:921
49
  msgid "Ad(s) renewed"
50
  msgstr "Успешно подновяване"
51
 
52
- #: adrotate-functions.php:925
53
  msgid "Ad(s) deactivated"
54
  msgstr "Успешно деактивиране"
55
 
56
- #: adrotate-functions.php:929
57
  msgid "Ad(s) activated"
58
  msgstr "Успешно активиране"
59
 
60
- #: adrotate-functions.php:933
61
  msgid "Group including it's Ads deleted"
62
  msgstr "Групата и съдържащите се в нея реклами са изтрити"
63
 
64
- #: adrotate-functions.php:937
65
  msgid "Export created"
66
  msgstr "Експорта е завършен"
67
 
68
- #: adrotate-functions.php:942
69
  msgid "Settings saved"
70
  msgstr "Настройките са запазени"
71
 
72
- #: adrotate-functions.php:946
73
  msgid "Database optimized"
74
  msgstr "Базата данни е оптимизирана"
75
 
76
- #: adrotate-functions.php:950
77
  msgid "Database repaired"
78
  msgstr "Базата данни е поправена"
79
 
80
- #: adrotate-functions.php:954
81
  msgid "Ads evaluated and statuses have been corrected where required"
82
  msgstr "Рекламите са оценени и статусите им са обновени, където е необходимо"
83
 
84
- #: adrotate-functions.php:958
85
  msgid "Empty database records removed"
86
  msgstr "Празните записи в базата данни са премахнати"
87
 
88
- #: adrotate-functions.php:963
89
  msgid "Action prohibited"
90
  msgstr "Забранено действие"
91
 
92
- #: adrotate-functions.php:967
93
  msgid ""
94
  "The ad was saved but has an issue which might prevent it from working "
95
  "properly. Review the colored ad."
96
  msgstr ""
97
 
98
- #: adrotate-functions.php:971
99
  msgid "No data found in selected time period"
100
  msgstr "Не е намерена информация за избрания период"
101
 
102
- #: adrotate-functions.php:975
103
  msgid "Database can only be optimized or cleaned once every hour"
104
  msgstr "Базата данни може да бъде почиствана или оптимизирана веднъж на час"
105
 
106
- #: adrotate-functions.php:979
107
  msgid "Form can not be (partially) empty!"
108
  msgstr ""
109
 
110
- #: adrotate-functions.php:983
111
  msgid "No ads found."
112
  msgstr ""
113
 
114
- #: adrotate-functions.php:987
115
  msgid "Unexpected error"
116
  msgstr ""
117
 
118
- #: adrotate-manage-publisher.php:709
119
  msgid "AdRotate Advertiser"
120
  msgstr ""
121
 
122
- #: adrotate-output.php:637
123
  msgid "Oh no! Something went wrong!"
124
  msgstr "О не! Нещо се случи!"
125
 
126
- #: adrotate-output.php:638
127
  msgid ""
128
  "WordPress was unable to verify the authenticity of the url you have clicked. "
129
  "Verify if the url used is valid or log in via your browser."
@@ -132,17 +132,17 @@ msgstr ""
132
  "кликнал. Проверете дали адреса е валиден или се впишете посредством браузъра "
133
  "си."
134
 
135
- #: adrotate-output.php:639
136
  msgid ""
137
  "If you have received the url you want to visit via email, you are being "
138
  "tricked!"
139
  msgstr "Ако сте получили този адрес по email, то някой ви е изиграл!"
140
 
141
- #: adrotate-output.php:640
142
  msgid "Contact support if the issue persists:"
143
  msgstr "Свържете се с поддръжката, ако този проблем продължави да се появява:"
144
 
145
- #: adrotate-output.php:658
146
  msgid ""
147
  "Error, Ad is not available at this time due to schedule/geolocation "
148
  "restrictions or does not exist!"
@@ -150,33 +150,33 @@ msgstr ""
150
  "Грешка, рекламата не е налична в момента, поради ограничения в графика/"
151
  "геолокацията или не съществува!"
152
 
153
- #: adrotate-output.php:660
154
  msgid ""
155
  "Error, Ad is not available at this time due to schedule/geolocation "
156
  "restrictions!"
157
  msgstr ""
158
  "Грешка, рекламата не е налична, поради ограничения в графика/геолокацията!"
159
 
160
- #: adrotate-output.php:667 adrotate-output.php:669
161
  msgid ""
162
  "Either there are no banners, they are disabled or none qualified for this "
163
  "location!"
164
  msgstr ""
165
  "Няма налични банери, те са деактивирани или не са подходящи за това място!"
166
 
167
- #: adrotate-output.php:675
168
  msgid "Error, no Ad ID set! Check your syntax!"
169
  msgstr "Грешка, не е зададено ID на рекламата! Проверете синтаксиса!"
170
 
171
- #: adrotate-output.php:681
172
  msgid "Error, no group ID set! Check your syntax!"
173
  msgstr "Грешка, не е зададено ID на групата! Проверете синтаксиса!"
174
 
175
- #: adrotate-output.php:686
176
  msgid "Error, group does not exist! Check your syntax!"
177
  msgstr "Грешка, групата не съществува! Проверете синтаксиса!"
178
 
179
- #: adrotate-output.php:692
180
  msgid ""
181
  "There was an error locating the database tables for AdRotate. Please "
182
  "deactivate and re-activate AdRotate from the plugin page!!"
@@ -184,66 +184,46 @@ msgstr ""
184
  "Не могат да бъдат открити таблиците на AdRotate в базата данни. Моля, "
185
  "изключете и включете наново AdRotate от страницата с плъгините!!"
186
 
187
- #: adrotate-output.php:692
188
  msgid "If this does not solve the issue please seek support at"
189
  msgstr "Ако това не решава проблема, моля потърсете помощ на"
190
 
191
- #: adrotate-output.php:698
192
  msgid "An unknown error occured."
193
  msgstr "Възникна неизвестна грешка."
194
 
195
- #: adrotate-output.php:723
196
- msgid "active ad(s) expired."
197
- msgstr "изтекла/и активна/и реклама/и."
198
-
199
- #: adrotate-output.php:723
200
- msgid "Take action now"
201
- msgstr "Предприемане на действия"
202
-
203
- #: adrotate-output.php:725
204
- msgid "active ad(s) are about to expire."
205
- msgstr "изтичаща/и активна/и реклама/и."
206
-
207
- #: adrotate-output.php:725
208
- msgid "Check it out"
209
- msgstr "Проверете го"
210
-
211
- #: adrotate-output.php:727
212
- msgid "active ad(s) with configuration errors."
213
- msgstr "активна(и) реклама(и) с грешни настройки."
214
-
215
- #: adrotate-output.php:727
216
- msgid "Solve this"
217
- msgstr "Разреши това"
218
-
219
- #: adrotate-output.php:729
220
- msgid "ad(s) expired."
221
- msgstr "изтекла/и реклама/и."
222
-
223
- #: adrotate-output.php:729
224
- msgid "ad(s) are about to expire."
225
- msgstr "реклама/и изтича(т)."
226
-
227
- #: adrotate-output.php:729
228
- msgid "ad(s) with configuration errors."
229
- msgstr "реклама/и с грешни настройки."
230
-
231
- #: adrotate-output.php:729
232
- msgid "Fix this as soon as possible"
233
- msgstr "Поправка възможно най-скоро"
234
-
235
- #: adrotate-output.php:741 dashboard/adrotatepro.php:106
236
- #: dashboard/adrotatepro.php:107 dashboard/adrotatepro.php:108
237
- #: dashboard/adrotatepro.php:109 dashboard/adrotatepro.php:118
238
- #: dashboard/adrotatepro.php:119 dashboard/adrotatepro.php:120
239
- #: dashboard/adrotatepro.php:121 dashboard/info.php:114 dashboard/info.php:115
240
- #: dashboard/info.php:116 dashboard/info.php:117 dashboard/info.php:126
241
- #: dashboard/info.php:127 dashboard/info.php:128 dashboard/info.php:129
242
  #: dashboard/settings/geotargeting.php:26
243
  msgid "Buy now"
244
  msgstr "Купи сега"
245
 
246
- #: adrotate-output.php:742
247
  msgid ""
248
  "You've been using <strong>AdRotate</strong> for a while now. Why not upgrade "
249
  "to the <strong>PRO</strong> version"
@@ -251,67 +231,67 @@ msgstr ""
251
  "Използвате <strong>AdRotate</strong> от известно време. Защо не надградите "
252
  "до <strong>PRO</strong> версията"
253
 
254
- #: adrotate-output.php:742
255
  #, php-format
256
  msgid ""
257
  "Use discount code <b>getadrotatepro</b> for 10% off on any AdRotate license!"
258
  msgstr ""
259
 
260
- #: adrotate-output.php:742
261
  msgid "Thank you for your purchase!"
262
  msgstr ""
263
 
264
- #: adrotate-output.php:786
265
  msgid ""
266
  "Welcome, and thanks for using AdRotate. Everything related to AdRotate is in "
267
  "this menu. Check out the"
268
  msgstr ""
269
 
270
- #: adrotate-output.php:786
271
  msgid "manuals"
272
  msgstr "ръководства"
273
 
274
- #: adrotate-output.php:786 adrotate-output.php:859
275
  msgid "and"
276
  msgstr "и"
277
 
278
- #: adrotate-output.php:786
279
  msgid "forums"
280
  msgstr ""
281
 
282
- #: adrotate-output.php:819
283
  msgid "Useful Links"
284
  msgstr "Полезни връзки"
285
 
286
- #: adrotate-output.php:820
287
  msgid "Useful links to learn more about AdRotate"
288
  msgstr "Полезни връзки, за да получите повече информация за AdRotate"
289
 
290
- #: adrotate-output.php:822
291
  msgid "AdRotate website"
292
  msgstr ""
293
 
294
- #: adrotate-output.php:823
295
  msgid "Getting Started With AdRotate"
296
  msgstr "Започнете от нулата с AdRotate Pro"
297
 
298
- #: adrotate-output.php:824
299
  msgid "AdRotate manuals"
300
  msgstr ""
301
 
302
- #: adrotate-output.php:825
303
  msgid "AdRotate Support Forum"
304
  msgstr "Форум за поддръжка на AdRotate"
305
 
306
- #: adrotate-output.php:851
307
  msgid "Help AdRotate Grow"
308
  msgstr "Помогнете за развитието на AdRotate"
309
 
310
- #: adrotate-output.php:852
311
- msgid "Brought to you by"
312
- msgstr "Достига до Вас благодарение на"
313
 
314
- #: adrotate-output.php:859
315
  msgid ""
316
  "A lot of users only think to review AdRotate when something goes wrong while "
317
  "thousands of people use AdRotate satisfactory. Don't let this go unnoticed."
@@ -320,35 +300,35 @@ msgstr ""
320
  "се обърка, докато хиляди хора използват AdRotate безпроблемно. Не оставяйте "
321
  "това да остане незабелязано."
322
 
323
- #: adrotate-output.php:859
324
  msgid "If you find AdRotate useful please leave your honest"
325
  msgstr "Ако намирате AdRotate за полезен, моля оставете честна"
326
 
327
- #: adrotate-output.php:859
328
  msgid "rating"
329
  msgstr "оценка"
330
 
331
- #: adrotate-output.php:859
332
  msgid "review"
333
  msgstr "мнение"
334
 
335
- #: adrotate-output.php:859
336
  msgid "on WordPress.org to help AdRotate grow in a positive way"
337
  msgstr "на WordPress.org, за да се развива AdRotate"
338
 
339
- #: adrotate-output.php:891
340
  msgid "Available in AdRotate Pro"
341
  msgstr "Налично в AdRotate Pro"
342
 
343
- #: adrotate-output.php:891
344
  msgid "More information..."
345
  msgstr "Повече информация..."
346
 
347
- #: adrotate-output.php:892
348
  msgid "This feature is available in AdRotate Pro"
349
  msgstr "Тази функционалност е налична в AdRotate Pro"
350
 
351
- #: adrotate-output.php:892
352
  msgid "Learn more"
353
  msgstr "Повече информация"
354
 
@@ -428,108 +408,108 @@ msgstr "Следващ"
428
  msgid "No data to show!"
429
  msgstr "Няма информация!"
430
 
431
- #: adrotate-widget.php:112
432
  msgid "Title (optional):"
433
  msgstr "Заглавие (не е задължително):"
434
 
435
- #: adrotate-widget.php:115
436
  msgid "HTML will be stripped out."
437
  msgstr "HTML тагове не се поддържат."
438
 
439
- #: adrotate-widget.php:118
440
  msgid "Description (optional):"
441
  msgstr "Описание (не е задължително):"
442
 
443
- #: adrotate-widget.php:121
444
  msgid "What is this widget used for? (Not parsed, HTML will be stripped out.)"
445
  msgstr "За какво се използва тази джаджа? (Не се поддържат HTML тагове.)"
446
 
447
- #: adrotate-widget.php:124
448
  msgid "Type:"
449
  msgstr "Тип:"
450
 
451
- #: adrotate-widget.php:126
452
- msgid "Single Ad - Use Ad ID"
453
- msgstr "Единична реклама - Използване на ID на рекламата"
454
 
455
- #: adrotate-widget.php:127
456
- msgid "Group of Ads - Use group ID"
457
- msgstr "Група реклами - Използване на ID на групата"
458
 
459
- #: adrotate-widget.php:130
460
  msgid "Choose what you want to use this widget for"
461
  msgstr "Изберете за какво иската да използвате тази джаджа"
462
 
463
- #: adrotate-widget.php:133
464
  msgid "ID:"
465
  msgstr "ID:"
466
 
467
- #: adrotate-widget.php:136
468
  msgid "Fill in the ID of the type you want to display!"
469
  msgstr "Попълнете ID-то на типа, който искате да се показва!"
470
 
471
- #: adrotate.php:106
472
  msgid "General Info"
473
  msgstr "Обща информация"
474
 
475
- #: adrotate.php:107
476
  msgid "AdRotate Pro"
477
  msgstr "AdRotate Pro"
478
 
479
- #: adrotate.php:108
480
- msgid "Manage Ads"
481
- msgstr "Управление на реклами"
482
 
483
- #: adrotate.php:109 dashboard/publisher/groups-main.php:12
484
  msgid "Manage Groups"
485
  msgstr "Управление на групи"
486
 
487
- #: adrotate.php:110 adrotate.php:408
488
  msgid "Manage Schedules"
489
  msgstr "Управление на графици"
490
 
491
- #: adrotate.php:111
492
  msgid "Manage Media"
493
  msgstr "Управление на Медия"
494
 
495
- #: adrotate.php:112
496
  msgid "Settings"
497
  msgstr "Настройки"
498
 
499
- #: adrotate.php:135
500
  msgid "AdRotate Info"
501
  msgstr "AdRotate Info"
502
 
503
- #: adrotate.php:156
504
  msgid "AdRotate Professional"
505
  msgstr "AdRotate Professional"
506
 
507
- #: adrotate.php:199
508
- msgid "Ad Management"
509
- msgstr "Управление на реклами"
510
 
511
- #: adrotate.php:258 adrotate.php:344 adrotate.php:403
512
  msgid "Manage"
513
  msgstr "Управление"
514
 
515
- #: adrotate.php:259 adrotate.php:345 adrotate.php:404
516
  msgid "Add New"
517
  msgstr "Добавяне"
518
 
519
- #: adrotate.php:337
520
  msgid "Group Management"
521
  msgstr "Управление на групи"
522
 
523
- #: adrotate.php:347 dashboard/publisher/adverts-main.php:87
524
  #: dashboard/publisher/groups-main.php:70
525
  msgid "Report"
526
  msgstr "Доклад"
527
 
528
- #: adrotate.php:399
529
  msgid "Schedule Management available in AdRotate Pro"
530
  msgstr "Управление с графици е налично в AdRotate Pro"
531
 
532
- #: adrotate.php:409
533
  msgid ""
534
  "Schedule management and multiple schedules per advert is available in "
535
  "AdRotate Pro."
@@ -537,28 +517,28 @@ msgstr ""
537
  "Управлението на графици и множество графици за една реклама са налични в "
538
  "AdRotate Pro."
539
 
540
- #: adrotate.php:409 adrotate.php:496 dashboard/publisher/adverts-edit.php:188
541
  #: dashboard/publisher/adverts-main.php:114
542
  #: dashboard/publisher/groups-edit.php:75
543
  #: dashboard/publisher/groups-main.php:89
544
  msgid "More information"
545
  msgstr "Повече информация"
546
 
547
- #: adrotate.php:416 dashboard/publisher/adverts-disabled.php:20
548
  #: dashboard/publisher/adverts-error.php:19
549
  #: dashboard/publisher/adverts-main.php:20
550
  #: dashboard/publisher/groups-main.php:20
551
  msgid "Bulk Actions"
552
  msgstr "Масови действия"
553
 
554
- #: adrotate.php:417 dashboard/publisher/adverts-disabled.php:25
555
  #: dashboard/publisher/adverts-error.php:29
556
  #: dashboard/publisher/adverts-main.php:30
557
  #: dashboard/publisher/groups-main.php:24
558
  msgid "Go"
559
  msgstr "Напред"
560
 
561
- #: adrotate.php:426 dashboard/publisher/adverts-disabled.php:35
562
  #: dashboard/publisher/adverts-error.php:39
563
  #: dashboard/publisher/adverts-main.php:39
564
  #: dashboard/publisher/groups-edit.php:51
@@ -566,88 +546,87 @@ msgstr "Напред"
566
  msgid "ID"
567
  msgstr "ID"
568
 
569
- #: adrotate.php:427
570
  msgid "Start"
571
  msgstr "Начало"
572
 
573
- #: adrotate.php:427
574
  msgid "End"
575
  msgstr "Край"
576
 
577
- #: adrotate.php:428 dashboard/publisher/adverts-edit.php:397
578
- #: dashboard/publisher/groups-main.php:34
579
  msgid "Ads"
580
  msgstr "Реклами"
581
 
582
- #: adrotate.php:430
583
  msgid "Max Impressions"
584
  msgstr "Максимум импресии"
585
 
586
- #: adrotate.php:431
587
  msgid "Max Clicks"
588
  msgstr "Максимум кликове"
589
 
590
- #: adrotate.php:461
591
  msgid "No schedules created yet!"
592
  msgstr "Все още няма създадени графици!"
593
 
594
- #: adrotate.php:466
595
  msgid "Easily manage your schedules from here with AdRotate Pro."
596
  msgstr "Можете лесно да управлявате графиците си от тук с AdRotate Pro."
597
 
598
- #: adrotate.php:466 adrotate.php:532
599
  msgid "Upgrade today!"
600
  msgstr "Надградете днес!"
601
 
602
- #: adrotate.php:469 dashboard/publisher/adverts-error.php:72
603
  #: dashboard/publisher/groups-edit.php:387
604
  msgid "Expires soon."
605
  msgstr "Изтича скоро."
606
 
607
- #: adrotate.php:470 dashboard/publisher/adverts-error.php:73
608
  #: dashboard/publisher/groups-edit.php:388
609
  msgid "Has expired."
610
  msgstr "Изтекла."
611
 
612
- #: adrotate.php:494
613
  msgid "Media Management available in AdRotate Pro"
614
  msgstr "Управление на медия е налично в AdRotate Pro"
615
 
616
- #: adrotate.php:496
617
  msgid "Upload images to the AdRotate Pro banners folder from here."
618
  msgstr ""
619
 
620
- #: adrotate.php:496
621
  msgid ""
622
  "This is useful if you use responsive adverts with multiple images or have "
623
  "HTML5 adverts containing multiple files."
624
  msgstr ""
625
 
626
- #: adrotate.php:496
627
  msgid "Media uploading and management is available in AdRotate Pro."
628
  msgstr "Управлението и качването на медия са налични в AdRotate Pro."
629
 
630
- #: adrotate.php:498
631
  msgid "Upload new file"
632
  msgstr ""
633
 
634
- #: adrotate.php:499
635
  msgid "Accepted files:"
636
  msgstr ""
637
 
638
- #: adrotate.php:499
639
  msgid "For HTML5 ads you can also upload html and javascript files."
640
  msgstr ""
641
 
642
- #: adrotate.php:499
643
  msgid "Maximum size is 512Kb."
644
  msgstr "Максималния размер е 512Kb."
645
 
646
- #: adrotate.php:499
647
  msgid "Important:"
648
  msgstr "Важно:"
649
 
650
- #: adrotate.php:499
651
  msgid ""
652
  "Make sure your file has no spaces or special characters in the name. Replace "
653
  "spaces with a - or _."
@@ -655,13 +634,13 @@ msgstr ""
655
  "Уверете се, че файла няма интервали и специални знаци в името си. Заместете "
656
  "интервалите с - или _."
657
 
658
- #: adrotate.php:499
659
  msgid ""
660
  "If you remove spaces from filenames for HTML5 adverts also edit the html "
661
  "file so it knows about the changed name. For example for the javascript file."
662
  msgstr ""
663
 
664
- #: adrotate.php:502
665
  msgid ""
666
  "For responsive adverts make sure the filename is in the following format; "
667
  "\"imagename.full.ext\". A full set of sized images is strongly recommended."
@@ -670,7 +649,7 @@ msgstr ""
670
  "формат: \"imagename.full.ext\". Пълен набор от правилно оразмерени картинки "
671
  "е строго препоръчителен."
672
 
673
- #: adrotate.php:503 dashboard/publisher/adverts-edit.php:311
674
  msgid ""
675
  "For smaller size images use \".320\", \".480\", \".768\" or \".1024\" in the "
676
  "filename instead of \".full\" for the various viewports."
@@ -679,12 +658,12 @@ msgstr ""
679
  "използвайте \".320\", \".480\", \".768\" или \".1024\" в имената на "
680
  "файловете, вместо \".full\"."
681
 
682
- #: adrotate.php:504 dashboard/publisher/groups-edit.php:312
683
  #: dashboard/publisher/groups-edit.php:320
684
  msgid "Example:"
685
  msgstr "Пример:"
686
 
687
- #: adrotate.php:504
688
  msgid ""
689
  "image.full.jpg, image.320.jpg and image.768.jpg will serve the same advert "
690
  "for different viewports."
@@ -692,51 +671,51 @@ msgstr ""
692
  "image.full.jpg, image.320.jpg и image.768.jpg ще се използват от една и съща "
693
  "реклама в различни резолюции на екрана."
694
 
695
- #: adrotate.php:508
696
  msgid "Upload file"
697
  msgstr ""
698
 
699
- #: adrotate.php:508
700
  msgid "Click only once per file!"
701
  msgstr ""
702
 
703
- #: adrotate.php:511
704
  msgid "Available files in"
705
  msgstr ""
706
 
707
- #: adrotate.php:516 dashboard/publisher/groups-edit.php:55
708
  #: dashboard/publisher/groups-main.php:33
709
  msgid "Name"
710
  msgstr "Име"
711
 
712
- #: adrotate.php:517
713
  msgid "Actions"
714
  msgstr "Действия"
715
 
716
- #: adrotate.php:522 adrotate.php:523 adrotate.php:524 adrotate.php:525
717
- #: adrotate.php:526 adrotate.php:527 adrotate.php:528
718
  #: dashboard/publisher/adverts-disabled.php:22
719
  #: dashboard/publisher/adverts-error.php:21
720
  #: dashboard/publisher/adverts-main.php:22
721
  msgid "Delete"
722
  msgstr "Изтриване"
723
 
724
- #: adrotate.php:532
725
  msgid ""
726
  "Make sure the banner images are not in use by adverts when you delete them!"
727
  msgstr ""
728
  "Уверете се, че картинките за банери не се използват от реклами, преди да ги "
729
  "изтриете!"
730
 
731
- #: adrotate.php:532
732
  msgid "Manage your banner folder from here with AdRotate Pro."
733
  msgstr "Можете да управлявате папката с банери от тук с AdRotate Pro."
734
 
735
- #: adrotate.php:561
736
  msgid "AdRotate Settings"
737
  msgstr "AdRotate Настройки"
738
 
739
- #: adrotate.php:632
740
  msgid "Update Options"
741
  msgstr "Опции за обновяване"
742
 
@@ -792,22 +771,15 @@ msgid ""
792
  "forum. Get a solution (usually) within a day."
793
  msgstr ""
794
 
795
- #: dashboard/adrotatepro.php:48 dashboard/info.php:136
796
  msgid "AdRotate is brought to you by"
797
  msgstr "AdRotate достига до Вас, благодарение на"
798
 
799
- #: dashboard/adrotatepro.php:52 dashboard/info.php:140
800
- msgid ""
801
- "Premium plugins, support and services for WordPress and WooCommerce! I am a "
802
- "digital nomad in the Philippines. Click on my name to find out more about me "
803
- "and what I am doing. Thanks for your support and for using my plugins!"
804
- msgstr ""
805
-
806
- #: dashboard/adrotatepro.php:81
807
  msgid "Schedule all campaigns with ease"
808
  msgstr "Планиране на всички кампании с лекота"
809
 
810
- #: dashboard/adrotatepro.php:84
811
  msgid ""
812
  "Schedule your adverts and set up advertising campaigns based on dates you or "
813
  "your advertisers specify without hassle. Seasonal adverts, weekly adverts. "
@@ -815,11 +787,11 @@ msgid ""
815
  "much more easy. You can set one or many schedules for adverts."
816
  msgstr ""
817
 
818
- #: dashboard/adrotatepro.php:88
819
  msgid "Avoid adblockers"
820
  msgstr ""
821
 
822
- #: dashboard/adrotatepro.php:91
823
  msgid ""
824
  "Try and avoid adblockers so you adverts get the exposure you want them to "
825
  "have. AdRotate Pro offers some advanced tools to deceive adblockers so your "
@@ -827,11 +799,11 @@ msgid ""
827
  "adverts smartly so these features reach their full potential!"
828
  msgstr ""
829
 
830
- #: dashboard/adrotatepro.php:95
831
  msgid "Stay up-to-date with notifications"
832
  msgstr ""
833
 
834
- #: dashboard/adrotatepro.php:98
835
  msgid ""
836
  "Stay in touch with Email notifications. Have AdRotate send you an alert when "
837
  "adverts expire or need your attention. Additionally, you can have AdRotate "
@@ -840,89 +812,89 @@ msgid ""
840
  "miss an expiration date again."
841
  msgstr ""
842
 
843
- #: dashboard/adrotatepro.php:102 dashboard/adrotatepro.php:114
844
- #: dashboard/info.php:110 dashboard/info.php:122
845
  msgid "Buy AdRotate Professional"
846
  msgstr "Купете AdRotate Professional"
847
 
848
- #: dashboard/adrotatepro.php:106 dashboard/info.php:114
849
  msgid "Single License"
850
  msgstr ""
851
 
852
- #: dashboard/adrotatepro.php:106 dashboard/info.php:114
853
  msgid "For one WordPress installation."
854
  msgstr "За една инсталация на WordPress."
855
 
856
- #: dashboard/adrotatepro.php:107 dashboard/adrotatepro.php:119
857
- #: dashboard/info.php:115 dashboard/info.php:127
858
  msgid "Duo License"
859
  msgstr "Duo лиценз"
860
 
861
- #: dashboard/adrotatepro.php:107 dashboard/info.php:115
862
  msgid "For two WordPress installations."
863
  msgstr "За две Wordpress инсталации."
864
 
865
- #: dashboard/adrotatepro.php:108 dashboard/adrotatepro.php:120
866
- #: dashboard/info.php:116 dashboard/info.php:128
867
  msgid "Multi License"
868
  msgstr "Multi лиценз"
869
 
870
- #: dashboard/adrotatepro.php:108 dashboard/info.php:116
871
  msgid " For up to five WordPress installations."
872
  msgstr " За до 5 Wordpress инсталации."
873
 
874
- #: dashboard/adrotatepro.php:109 dashboard/adrotatepro.php:121
875
- #: dashboard/info.php:117 dashboard/info.php:129
876
  msgid "Developer License"
877
  msgstr "Developer лиценз"
878
 
879
- #: dashboard/adrotatepro.php:109 dashboard/info.php:117
880
  msgid "Unlimited WordPress installations and/or networks."
881
  msgstr ""
882
 
883
- #: dashboard/adrotatepro.php:110 dashboard/adrotatepro.php:123
884
- #: dashboard/info.php:118 dashboard/info.php:131
885
  msgid "Compare licenses"
886
  msgstr "Сравнение на лицензи"
887
 
888
- #: dashboard/adrotatepro.php:110 dashboard/info.php:118
889
  msgid "Not sure which license is for you? Compare them..."
890
  msgstr "Не сте сигурни кой лиценз ви е необходим? Сравнете ги..."
891
 
892
- #: dashboard/adrotatepro.php:110 dashboard/info.php:118
893
  msgid "All Licenses"
894
  msgstr "Всички лицензи"
895
 
896
- #: dashboard/adrotatepro.php:118 dashboard/info.php:126
897
  msgid "Lifetime License"
898
  msgstr ""
899
 
900
- #: dashboard/adrotatepro.php:118 dashboard/info.php:126
901
  msgid "Single installation."
902
  msgstr ""
903
 
904
- #: dashboard/adrotatepro.php:119 dashboard/info.php:127
905
  msgid "Up to 2 installations."
906
  msgstr ""
907
 
908
- #: dashboard/adrotatepro.php:120 dashboard/info.php:128
909
  msgid "Up to 10 installations."
910
  msgstr ""
911
 
912
- #: dashboard/adrotatepro.php:121 dashboard/info.php:129
913
  msgid "Up to 25 installations or multisite networks."
914
  msgstr ""
915
 
916
- #: dashboard/adrotatepro.php:122 dashboard/info.php:130
917
  msgid ""
918
  "Subscriptions get 1 year access to updates, email support & AdRotate Geo."
919
  msgstr ""
920
 
921
- #: dashboard/adrotatepro.php:123 dashboard/info.php:131
922
  msgid "Not sure which license is for you?"
923
  msgstr ""
924
 
925
- #: dashboard/adrotatepro.php:123 dashboard/info.php:131
926
  msgid "Compare Licenses"
927
  msgstr ""
928
 
@@ -938,7 +910,8 @@ msgstr "Вие имате"
938
  msgid "Adverts that need you"
939
  msgstr "Реклами, които изискват вниманието Ви"
940
 
941
- #: dashboard/info.php:37
 
942
  msgid "Adverts"
943
  msgstr "Реклами"
944
 
@@ -960,19 +933,22 @@ msgstr "Подкрепете AdRotate"
960
 
961
  #: dashboard/info.php:55
962
  msgid ""
963
- "Your donation helps to improve AdRotate. Consider writing a review if you "
964
- "like AdRotate. Also follow my Facebook page and twitter. Thank you!"
965
  msgstr ""
966
 
967
- #: dashboard/info.php:81
968
- msgid "AdRotate News and Developer Blog"
969
- msgstr "AdRotate блог за новини и разработка"
970
-
971
  #: dashboard/info.php:103
 
 
 
 
 
 
 
972
  msgid "Get more features with AdRotate Pro"
973
  msgstr "Получете по-голяма функционалност с AdRotate Pro"
974
 
975
- #: dashboard/info.php:106
976
  msgid ""
977
  "Benefit from extra features to reinforce your income with advertising "
978
  "campaigns. Make the most of your website with the powerful tools AdRotate "
@@ -982,21 +958,25 @@ msgstr ""
982
  "подобрите приходите. Използвайте пълния потенциал на сайта си с мощните "
983
  "функции, които предлага AdRotate Pro спрямо безплатната версия."
984
 
985
- #: dashboard/info.php:106
986
  msgid "Want to know more about"
987
  msgstr ""
988
 
989
- #: dashboard/info.php:106
990
  msgid "Visit the"
991
  msgstr "Посетете"
992
 
993
- #: dashboard/info.php:106
994
  msgid "website"
995
  msgstr "уебсайт"
996
 
 
 
 
 
997
  #: dashboard/publisher/adverts-disabled.php:15
998
- msgid "Disabled Ads"
999
- msgstr "Деактивиране на реклами"
1000
 
1001
  #: dashboard/publisher/adverts-disabled.php:21
1002
  #: dashboard/publisher/adverts-edit.php:176
@@ -1031,17 +1011,21 @@ msgstr "Показана"
1031
 
1032
  #: dashboard/publisher/adverts-disabled.php:39
1033
  #: dashboard/publisher/adverts-main.php:46
1034
- #: dashboard/publisher/adverts-report.php:35
 
1035
  #: dashboard/publisher/groups-edit.php:334
1036
  #: dashboard/publisher/groups-main.php:38
1037
- #: dashboard/publisher/groups-report.php:41
 
1038
  msgid "Clicks"
1039
  msgstr "Кликове"
1040
 
1041
  #: dashboard/publisher/adverts-disabled.php:40
1042
  #: dashboard/publisher/adverts-main.php:48
1043
- #: dashboard/publisher/adverts-report.php:38
1044
- #: dashboard/publisher/groups-report.php:44
 
 
1045
  msgid "CTR"
1046
  msgstr "CTR"
1047
 
@@ -1411,8 +1395,8 @@ msgid ""
1411
  msgstr ""
1412
 
1413
  #: dashboard/publisher/adverts-edit.php:312
1414
- #: dashboard/publisher/adverts-report.php:58
1415
- #: dashboard/publisher/groups-report.php:64
1416
  msgid "Note:"
1417
  msgstr "Забележка:"
1418
 
@@ -1538,8 +1522,8 @@ msgid "Mode"
1538
  msgstr "Режим"
1539
 
1540
  #: dashboard/publisher/adverts-error.php:12
1541
- msgid "Ads that need immediate attention"
1542
- msgstr "Реклами, които се нуждаят от незабавно внимание"
1543
 
1544
  #: dashboard/publisher/adverts-error.php:20
1545
  #: dashboard/publisher/adverts-main.php:21
@@ -1577,8 +1561,8 @@ msgid "Configuration errors."
1577
  msgstr "Грешки при конфигурирането."
1578
 
1579
  #: dashboard/publisher/adverts-main.php:12
1580
- msgid "Active Ads"
1581
- msgstr "Активиране на рекламите"
1582
 
1583
  #: dashboard/publisher/adverts-main.php:24
1584
  msgid "Export to XML"
@@ -1597,35 +1581,37 @@ msgid "Today"
1597
  msgstr "Днес"
1598
 
1599
  #: dashboard/publisher/adverts-main.php:109
1600
- msgid "No ads created yet!"
1601
- msgstr "Все още няма създадени реклами!"
1602
 
1603
- #: dashboard/publisher/adverts-report.php:29
1604
  msgid "Statistics for advert"
1605
  msgstr "Статистика за реклами"
1606
 
1607
- #: dashboard/publisher/adverts-report.php:34
1608
- #: dashboard/publisher/groups-report.php:40
 
 
1609
  msgid "Impressions"
1610
  msgstr "Импресии"
1611
 
1612
- #: dashboard/publisher/adverts-report.php:36
1613
- #: dashboard/publisher/groups-report.php:42
1614
  msgid "Impressions today"
1615
  msgstr "Импресии днес"
1616
 
1617
- #: dashboard/publisher/adverts-report.php:37
1618
- #: dashboard/publisher/groups-report.php:43
1619
  msgid "Clicks today"
1620
  msgstr "Кликове днес"
1621
 
1622
- #: dashboard/publisher/adverts-report.php:44
1623
- #: dashboard/publisher/groups-report.php:50
1624
  msgid "Monthly overview of clicks and impressions"
1625
  msgstr "Месечен преглед на кликовете и импресиите"
1626
 
1627
- #: dashboard/publisher/adverts-report.php:58
1628
- #: dashboard/publisher/groups-report.php:64
1629
  msgid ""
1630
  "All statistics are indicative. They do not nessesarily reflect results "
1631
  "counted by other parties."
@@ -1651,8 +1637,8 @@ msgstr ""
1651
  "Динамичен Режим - показва се различна реклама на определен брой секунди"
1652
 
1653
  #: dashboard/publisher/groups-edit.php:66
1654
- msgid "Block Mode - Show a block of ads"
1655
- msgstr "Блоков режим - показва се блок от реклами"
1656
 
1657
  #: dashboard/publisher/groups-edit.php:70
1658
  msgid "Dynamic mode requires jQuery. You can enable this in AdRotate Settings."
@@ -1703,11 +1689,9 @@ msgstr "пиксела височина."
1703
 
1704
  #: dashboard/publisher/groups-edit.php:104
1705
  msgid ""
1706
- "Define the maximum size of the ads in pixels. Size can be 'auto' (Not "
1707
  "recommended). Default: 125/125."
1708
  msgstr ""
1709
- "Задайте максималния размер на рекламите в пиксели. Размера не може да е "
1710
- "'auto' (Не е препоръчително). По подразбиране: 125/125."
1711
 
1712
  #: dashboard/publisher/groups-edit.php:108
1713
  msgid "Automated refresh"
@@ -1731,8 +1715,8 @@ msgstr ""
1731
  #: dashboard/publisher/groups-edit.php:141
1732
  #: dashboard/publisher/groups-edit.php:288
1733
  msgid ""
1734
- "Drag the AdRotate widget to the sidebar you want it in, select \"Group of Ads"
1735
- "\" and enter ID"
1736
  msgstr ""
1737
 
1738
  #: dashboard/publisher/groups-edit.php:153
@@ -1950,16 +1934,16 @@ msgid "Visible until"
1950
  msgstr "Да се вижда до"
1951
 
1952
  #: dashboard/publisher/groups-edit.php:379
1953
- msgid "No ads created!"
1954
- msgstr "Няма създадени реклами!"
1955
 
1956
  #: dashboard/publisher/groups-main.php:21
1957
  msgid "Delete Group"
1958
  msgstr "Изтриване на група"
1959
 
1960
  #: dashboard/publisher/groups-main.php:22
1961
- msgid "Delete Group including ads"
1962
- msgstr "Изтриване на група заедно с рекламите"
1963
 
1964
  #: dashboard/publisher/groups-main.php:24
1965
  msgid "You are about to delete a group"
@@ -1978,7 +1962,7 @@ msgstr "ОК, за да продължите, ОТКАЗ за стоп."
1978
  msgid "No groups created!"
1979
  msgstr "Няма създадени групи!"
1980
 
1981
- #: dashboard/publisher/groups-report.php:35
1982
  msgid "Statistics for group"
1983
  msgstr "Статистика за групи"
1984
 
@@ -2444,15 +2428,27 @@ msgid "Unknown"
2444
  msgstr ""
2445
 
2446
  #: dashboard/settings/maintenance.php:70
 
 
 
 
 
 
 
 
 
 
 
 
2447
  #, fuzzy
2448
  msgid "Ad evaluation next run:"
2449
  msgstr "Оценка на рекламата:"
2450
 
2451
- #: dashboard/settings/maintenance.php:71 dashboard/settings/maintenance.php:75
2452
  msgid "Not scheduled!"
2453
  msgstr "Не е планирано!"
2454
 
2455
- #: dashboard/settings/maintenance.php:74
2456
  #, fuzzy
2457
  msgid "Clean Trackerdata next run:"
2458
  msgstr "Изчистване на Trackerdata при следващо стартиране:"
@@ -2574,35 +2570,19 @@ msgstr ""
2574
  "Изпращане на тестово известие. Преди да кликнете тест, запазете настройките!"
2575
 
2576
  #: dashboard/settings/notifications.php:31
2577
- msgid "Dashboard Notifications"
2578
- msgstr "Известия на таблото"
2579
-
2580
- #: dashboard/settings/notifications.php:32
2581
- msgid "These show to every administrator who can edit adverts."
2582
- msgstr ""
2583
-
2584
- #: dashboard/settings/notifications.php:35
2585
- msgid "Notification banners"
2586
- msgstr ""
2587
-
2588
- #: dashboard/settings/notifications.php:36
2589
- msgid "Disable dashboard notifications."
2590
- msgstr ""
2591
-
2592
- #: dashboard/settings/notifications.php:40
2593
  msgid "Email Notifications"
2594
  msgstr "Email Известия"
2595
 
2596
- #: dashboard/settings/notifications.php:41
2597
  msgid "Set up who gets notification emails."
2598
  msgstr "Задайте кой да получава известия по email."
2599
 
2600
- #: dashboard/settings/notifications.php:44
2601
- #: dashboard/settings/notifications.php:64
2602
  msgid "Publishers"
2603
  msgstr "Издатели"
2604
 
2605
- #: dashboard/settings/notifications.php:47
2606
  msgid ""
2607
  "A comma separated list of email addresses. Maximum of 5 addresses. Keep this "
2608
  "list to a minimum!"
@@ -2610,7 +2590,7 @@ msgstr ""
2610
  "За разделител използвайте запетая. Максимум 5 адреса. Използвайте възможно "
2611
  "най-малко адреси в този списък!"
2612
 
2613
- #: dashboard/settings/notifications.php:48
2614
  msgid ""
2615
  "Messages are sent once every 24 hours when needed. If this field is empty no "
2616
  "email notifications will be send."
@@ -2618,11 +2598,11 @@ msgstr ""
2618
  "Съобщенията се изпращат когато е необходимо, но не по-често от веднъж на 24 "
2619
  "часа. Ако полето е празно няма да се изпращат известия по email."
2620
 
2621
- #: dashboard/settings/notifications.php:52
2622
  msgid "Advertisers"
2623
  msgstr "Рекламодатели"
2624
 
2625
- #: dashboard/settings/notifications.php:55
2626
  msgid ""
2627
  "Who gets email from advertisers. Maximum of 2 addresses. Comma seperated. "
2628
  "This field may not be empty!"
@@ -2630,11 +2610,11 @@ msgstr ""
2630
  "Кой да получава email съобщения от рекламодатели. Максимум 2 адреса, "
2631
  "разделени със запетая. Полето не може да бъде празно!"
2632
 
2633
- #: dashboard/settings/notifications.php:60
2634
  msgid "Push Notifications"
2635
  msgstr "Push известия"
2636
 
2637
- #: dashboard/settings/notifications.php:61
2638
  msgid ""
2639
  "Receive information about what is happening with your AdRotate setup on your "
2640
  "smartphone via Pushover."
@@ -2642,28 +2622,28 @@ msgstr ""
2642
  "Получавайте информация относно случващото се с вашата AdRotate инсталация "
2643
  "директно на смартфона си чрез Pushover."
2644
 
2645
- #: dashboard/settings/notifications.php:66
2646
  msgid "When you are running out of Geo Targeting Lookups."
2647
  msgstr ""
2648
 
2649
- #: dashboard/settings/notifications.php:67
2650
  msgid "Daily digest of any advert status other than normal."
2651
  msgstr ""
2652
  "Изпращане на дневен отчет с обявите, чийто статус е различен от нормален."
2653
 
2654
- #: dashboard/settings/notifications.php:68
2655
  msgid "Any advertiser saving an advert in your moderation queue."
2656
  msgstr "Всеки рекламодател, записващ реклама в опашката за одобрение."
2657
 
2658
- #: dashboard/settings/notifications.php:69
2659
  msgid "A moderator approved an advert from the moderation queue."
2660
  msgstr "Модератора е одобрил реклама от опашката за одобрение."
2661
 
2662
- #: dashboard/settings/notifications.php:70
2663
  msgid "A moderator rejected an advert from the moderation queue."
2664
  msgstr "Модератора е отхвърлил реклама от опашката за одобрение."
2665
 
2666
- #: dashboard/settings/notifications.php:70
2667
  msgid ""
2668
  "If you have a lot of activity with many advertisers adding/changing adverts "
2669
  "you may get a lot of messages!"
@@ -2671,32 +2651,32 @@ msgstr ""
2671
  "Ако имате множество дейности с много рекламодатели, които добавят/променят "
2672
  "реклами, то ще получавате много съобщения!"
2673
 
2674
- #: dashboard/settings/notifications.php:75
2675
  msgid "User Key"
2676
  msgstr "Потребителски ключ"
2677
 
2678
- #: dashboard/settings/notifications.php:77
2679
  msgid "Get your user token"
2680
  msgstr ""
2681
 
2682
- #: dashboard/settings/notifications.php:77
2683
- #: dashboard/settings/notifications.php:83
2684
  msgid "here"
2685
  msgstr ""
2686
 
2687
- #: dashboard/settings/notifications.php:81
2688
  msgid "Api Token"
2689
  msgstr "Api Token"
2690
 
2691
- #: dashboard/settings/notifications.php:83
2692
  msgid "Create your"
2693
  msgstr ""
2694
 
2695
- #: dashboard/settings/notifications.php:83
2696
  msgid "App"
2697
  msgstr ""
2698
 
2699
- #: dashboard/settings/notifications.php:83
2700
  msgid "and get your API token"
2701
  msgstr ""
2702
 
@@ -2849,6 +2829,82 @@ msgstr ""
2849
  "Полето не може да остава празно, да съдържа стойност под 60 или над 86400 "
2850
  "(24 часа)."
2851
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2852
  #~ msgid ""
2853
  #~ "Upload your images to the banner folder and make sure the filename is in "
2854
  #~ "the following format; \"imagename.full.ext\". A full set of sized images "
2
  msgstr ""
3
  "Project-Id-Version: AdRotate\n"
4
  "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2016-02-08 20:58+0800\n"
6
+ "PO-Revision-Date: 2016-02-08 20:58+0800\n"
7
  "Last-Translator: Arnan de Gans <info@ajdg.net>\n"
8
  "Language-Team: Nedko Ivanov <cocacoli4ko@gmail.com>\n"
9
  "Language: bg_BG\n"
17
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
18
  "X-Poedit-SearchPath-0: .\n"
19
 
20
+ #: adrotate-functions.php:844
21
  msgid "No files found"
22
  msgstr "Няма намерени файлове"
23
 
24
+ #: adrotate-functions.php:847
25
  msgid "Folder not found or not accessible"
26
  msgstr "Папката не е намерена или не е достъпна"
27
 
28
+ #: adrotate-functions.php:896
29
  msgid "Ad saved"
30
  msgstr ""
31
 
32
+ #: adrotate-functions.php:900
33
  msgid "Group saved"
34
  msgstr ""
35
 
36
+ #: adrotate-functions.php:904
37
  msgid "Ad(s) deleted"
38
  msgstr "Успешно изтриване"
39
 
40
+ #: adrotate-functions.php:908
41
  msgid "Group deleted"
42
  msgstr "Групата е изтрита"
43
 
44
+ #: adrotate-functions.php:912
45
  msgid "Ad(s) statistics reset"
46
  msgstr "Статистиката е нулирана"
47
 
48
+ #: adrotate-functions.php:916
49
  msgid "Ad(s) renewed"
50
  msgstr "Успешно подновяване"
51
 
52
+ #: adrotate-functions.php:920
53
  msgid "Ad(s) deactivated"
54
  msgstr "Успешно деактивиране"
55
 
56
+ #: adrotate-functions.php:924
57