Advanced Ads - Version 1.5.4

Version Description

  • PLEASE READ the update notice to learn more about the changes on visitor conditions
  • visitor conditions completely rewritten to allow combination of multiple conditions
  • created simpler placement creation
  • reordered Advanced Ads dashboard
  • added AdSense tutorial
Download this release

Release Info

Developer webzunft
Plugin Icon 128x128 Advanced Ads
Version 1.5.4
Comparing to
See all releases

Code changes from version 1.5.2.1 to 1.5.4

Files changed (42) hide show
  1. admin/assets/css/admin.css +25 -7
  2. admin/assets/js/admin.js +51 -11
  3. admin/class-advanced-ads-admin.php +81 -69
  4. admin/includes/class-ad-groups-list.php +20 -10
  5. admin/includes/class-display-condition-callbacks.php +3 -3
  6. admin/includes/class-notices.php +354 -41
  7. admin/includes/class-overview-widgets.php +44 -22
  8. admin/includes/notices.php +28 -0
  9. admin/views/ad-display-metabox.php +1 -7
  10. admin/views/ad-group-list-form-row.php +2 -1
  11. admin/views/ad-group.php +1 -1
  12. admin/views/ad-parameters-metabox.php +1 -1
  13. admin/views/ad-visitor-metabox.php +104 -6
  14. admin/views/debug.php +3 -4
  15. admin/views/notices/error.php +1 -0
  16. admin/views/notices/inline.php +6 -0
  17. admin/views/notices/subscribe.php +6 -0
  18. admin/views/placements.php +28 -37
  19. advanced-ads.php +4 -3
  20. classes/ad-select.php +2 -2
  21. classes/ad.php +49 -7
  22. classes/ad_ajax_callbacks.php +65 -3
  23. classes/ad_group.php +8 -6
  24. classes/ad_placements.php +4 -8
  25. classes/ad_type_abstract.php +1 -1
  26. classes/ad_type_content.php +1 -1
  27. classes/ad_type_plain.php +1 -1
  28. classes/plugin.php +20 -4
  29. classes/visitor-conditions.php +169 -0
  30. classes/widget.php +2 -2
  31. includes/array_ad_conditions.php +5 -5
  32. languages/advanced-ads-de_DE.mo +0 -0
  33. languages/advanced-ads-de_DE.po +433 -386
  34. languages/advanced-ads.pot +383 -350
  35. modules/gadsense/config.php +1 -1
  36. modules/gadsense/includes/class-ad-type-adsense.php +1 -1
  37. modules/gadsense/main.php +1 -1
  38. public/class-advanced-ads.php +3 -3
  39. readme.txt +22 -2
  40. vendor/autoload_52.php +1 -1
  41. vendor/composer/autoload_classmap.php +12 -11
  42. vendor/composer/autoload_real_52.php +3 -3
admin/assets/css/admin.css CHANGED
@@ -65,9 +65,11 @@
65
  .post-type-advanced_ads #ad-display-box .advads-conditions-terms-buttons .button { margin: 0 -1px .3em 0; padding: 0 .5em; background: #f7f7f7; height: 22px; line-height: 22px; color: #555; border: 1px solid #ccc; border-radius: 0; font-family: inherit; }
66
  .post-type-advanced_ads #ad-display-box .advads-conditions-terms-buttons label span { margin: 0; padding: 0; line-height: 22px; }
67
 
68
- .post-type-advanced_ads #ad-display-box .advads-conditions-terms-buttons .ui-state-active,
69
- .post-type-advanced_ads #ad-display-box .advads-conditions-terms-buttons .button,
70
- .post-type-advanced_ads #ad-display-box .advanced-ads-display-condition-set .ui-button.ui-state-active { border-color: #0074a2; background: #2ea2cc; color: #fff; box-shadow: none; }
 
 
71
 
72
  #ad-display-box .advads-conditions-terms-show-search { height: 22px; line-height: 22px; font-weight: bold; font-size: 1.5em; }
73
  .advads-conditions-terms-show-search + .description { display: none; }
@@ -88,6 +90,17 @@
88
 
89
  .advads-debug-output legend { text-decoration: underline; cursor: pointer; }
90
 
 
 
 
 
 
 
 
 
 
 
 
91
  /**
92
  AD GROUP LIST
93
  */
@@ -112,10 +125,12 @@
112
  .advads-placements-new-form select { display: inline-block; min-width: 10em; }
113
  .advads-placements-new-form label { display: inline-block; width: 10em; }
114
  .advads-placements-new-form input { display: inline-block; }
115
- .advads-placements-table { min-width: 80%; }
116
- .advads-placements-table thead tr { background: #fff; }
117
- .advads-placements-table tbody tr:nth-child(even) { background: #fff; }
118
  .advads-placements-table th { margin: 0; padding: 10px; text-align: left; vertical-align: top; }
 
 
119
  .advads-placements-table td { margin: 0; padding: 10px; text-align: left; vertical-align: top; }
120
  .advads-placements-table-options { text-align: right; }
121
  .advads-placement-options input, .advads-placement-options select { background: transparent; }
@@ -129,7 +144,10 @@
129
  .advads-box { margin-bottom: 20px; padding: 10px; background: #fff; border: solid 1px; }
130
  .on-hover { display: none; }
131
  tr:hover .on-hover { display: block; }
132
- .advads-admin-notices .button-primary { float: right; margin-bottom: 0.5em; }
 
 
 
133
 
134
  /**
135
  - GOOGLE ADSENSE MODULE
65
  .post-type-advanced_ads #ad-display-box .advads-conditions-terms-buttons .button { margin: 0 -1px .3em 0; padding: 0 .5em; background: #f7f7f7; height: 22px; line-height: 22px; color: #555; border: 1px solid #ccc; border-radius: 0; font-family: inherit; }
66
  .post-type-advanced_ads #ad-display-box .advads-conditions-terms-buttons label span { margin: 0; padding: 0; line-height: 22px; }
67
 
68
+ .advads-buttonset label span { margin: 0; padding: 0; }
69
+
70
+ .advads-buttonset .ui-state-active,
71
+ .advads-buttonset .button,
72
+ .advads-buttonset .ui-button.ui-state-active { border-color: #0074a2; background: #2ea2cc; color: #fff; box-shadow: none; }
73
 
74
  #ad-display-box .advads-conditions-terms-show-search { height: 22px; line-height: 22px; font-weight: bold; font-size: 1.5em; }
75
  .advads-conditions-terms-show-search + .description { display: none; }
90
 
91
  .advads-debug-output legend { text-decoration: underline; cursor: pointer; }
92
 
93
+ #advads-visitor-conditions select,
94
+ #advads-visitor-conditions input { margin: 0; padding: 3px; }
95
+ #advads-visitor-conditions label { float: left; }
96
+ #advads-visitor-conditions select { margin-left: 1em; }
97
+ #advads-visitor-conditions tbody tr:first-child { display: none; }
98
+ #advads-visitor-conditions td { padding: 0 5px; position: relative; top: 0; left: 0; }
99
+ #advads-visitor-conditions td hr { float: right; width: 80%;}
100
+ #advads-visitor-conditions td.advads-visitor-conditions-operator-or > hr { display: none; }
101
+ #advads-visitor-conditions-new .advads-buttonset label { text-transform: uppercase; }
102
+ #advads-visitor-conditions-new .advads-buttonset { float: left; }
103
+
104
  /**
105
  AD GROUP LIST
106
  */
125
  .advads-placements-new-form select { display: inline-block; min-width: 10em; }
126
  .advads-placements-new-form label { display: inline-block; width: 10em; }
127
  .advads-placements-new-form input { display: inline-block; }
128
+ .advads-placements-table { min-width: 80%; border-collapse: collapse; background: #fff; }
129
+ .advads-placements-table tbody tr:nth-child(4n+1) { background: none repeat scroll 0 0 #f9f9f9; }
130
+ .advads-placements-table tbody tr { border-top: 1px solid #f1f1f1; }
131
  .advads-placements-table th { margin: 0; padding: 10px; text-align: left; vertical-align: top; }
132
+ .advads-placements-table.widefat tbody th { font-weight: bold; }
133
+ .advads-placements-table th span { font-weight: normal; }
134
  .advads-placements-table td { margin: 0; padding: 10px; text-align: left; vertical-align: top; }
135
  .advads-placements-table-options { text-align: right; }
136
  .advads-placement-options input, .advads-placement-options select { background: transparent; }
144
  .advads-box { margin-bottom: 20px; padding: 10px; background: #fff; border: solid 1px; }
145
  .on-hover { display: none; }
146
  tr:hover .on-hover { display: block; }
147
+ .advads-admin-notice .button-primary { margin-left: 1em; }
148
+ .advads-admin-notice-inline { padding: 1px 12px; border: 1px solid #0074a2; border-left-width: 4px; }
149
+ .advads-admin-notice-inline p { margin: 0.5em 0; padding: 2px; }
150
+ .advads-spinner { float: none; visibility: visible; }
151
 
152
  /**
153
  - GOOGLE ADSENSE MODULE
admin/assets/js/admin.js CHANGED
@@ -2,7 +2,7 @@ jQuery( document ).ready(function ($) {
2
  "use strict";
3
 
4
  function advads_load_ad_type_parameter_metabox(ad_type) {
5
- $( '#advanced-ads-ad-parameters' ).html( '<span class="spinner advads-ad-parameters-spinner"></span>' );
6
  $.ajax({
7
  type: 'POST',
8
  url: ajaxurl,
@@ -55,8 +55,8 @@ jQuery( document ).ready(function ($) {
55
  $( '.advads-conditions-single input[type="checkbox"]' ).each(function () {
56
  advads_toggle_single_display_condition_checkbox( this );
57
  });
58
- // activate buttons
59
- $( '.advads-conditions-terms-buttons' ).buttonset();
60
 
61
  $( document ).on('click', '.advads-conditions-terms-buttons .button', function (e) {
62
  $( this ).remove();
@@ -172,13 +172,53 @@ jQuery( document ).ready(function ($) {
172
  $( '#' + active_tab + '-tab' ).addClass( 'nav-tab-active' );
173
  $( '.nav-tab-active' ).click();
174
 
175
- /**
176
- * SETTINGS PAGE
177
- */
178
- // render button sets on settings page
179
- $(function() {
180
- $( ".advads-settings-buttonset" ).buttonset();
181
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
182
  });
183
 
184
  /**
@@ -330,4 +370,4 @@ function advads_toggle_single_display_condition_checkbox(checkbox) {
330
  jQuery( 'label[for="' + counterpart.attr( 'id' ) + '"]' ).removeClass( 'ui-button-disabled' );
331
  jQuery( 'label[for="' + counterpart.attr( 'id' ) + '"]' ).removeClass( 'ui-state-disabled' );
332
  }
333
- }
2
  "use strict";
3
 
4
  function advads_load_ad_type_parameter_metabox(ad_type) {
5
+ $( '#advanced-ads-ad-parameters' ).html( '<span class="spinner advads-ad-parameters-spinner advads-spinner"></span>' );
6
  $.ajax({
7
  type: 'POST',
8
  url: ajaxurl,
55
  $( '.advads-conditions-single input[type="checkbox"]' ).each(function () {
56
  advads_toggle_single_display_condition_checkbox( this );
57
  });
58
+ // activate general buttons
59
+ $( '.advads-buttonset' ).buttonset();
60
 
61
  $( document ).on('click', '.advads-conditions-terms-buttons .button', function (e) {
62
  $( this ).remove();
172
  $( '#' + active_tab + '-tab' ).addClass( 'nav-tab-active' );
173
  $( '.nav-tab-active' ).click();
174
 
175
+ /**
176
+ * SETTINGS PAGE
177
+ */
178
+ // render button sets on settings page
179
+ $(function() {
180
+ $( ".advads-settings-buttonset" ).buttonset();
181
+ });
182
+
183
+ /**
184
+ * ADMIN NOTICES
185
+ */
186
+ // close button
187
+ $(document).on('click', '.advads-notices-button-close', function(){
188
+ if(this.dataset.notice === undefined) return;
189
+ var messagebox = $(this).parents('.advads-admin-notice');
190
+
191
+ var query = {
192
+ action: 'advads-close-notice',
193
+ notice: this.dataset.notice
194
+ };
195
+ // send and close message
196
+ $.post(ajaxurl, query, function (r) {
197
+ messagebox.fadeOut();
198
+ });
199
+
200
+ });
201
+ // autoresponder button
202
+ $('.advads-notices-button-subscribe').click(function(){
203
+ if(this.dataset.notice === undefined) return;
204
+ var messagebox = $(this).parents('.advads-admin-notice');
205
+ messagebox.find('p').append( '<span class="spinner advads-spinner"></span>' );
206
+
207
+ var query = {
208
+ action: 'advads-subscribe-notice',
209
+ notice: this.dataset.notice
210
+ };
211
+ // send and close message
212
+ $.post(ajaxurl, query, function (r) {
213
+ if(r === '1'){
214
+ messagebox.fadeOut();
215
+ } else {
216
+ messagebox.find('p').html(r);
217
+ messagebox.removeClass('updated').addClass('error');
218
+ }
219
+ });
220
+
221
+ });
222
  });
223
 
224
  /**
370
  jQuery( 'label[for="' + counterpart.attr( 'id' ) + '"]' ).removeClass( 'ui-button-disabled' );
371
  jQuery( 'label[for="' + counterpart.attr( 'id' ) + '"]' ).removeClass( 'ui-state-disabled' );
372
  }
373
+ }
admin/class-advanced-ads-admin.php CHANGED
@@ -27,6 +27,14 @@ class Advanced_Ads_Admin {
27
  */
28
  protected static $instance = null;
29
 
 
 
 
 
 
 
 
 
30
  /**
31
  * Slug of the settings page
32
  *
@@ -67,7 +75,7 @@ class Advanced_Ads_Admin {
67
  */
68
  private function __construct() {
69
  if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
70
- new Advads_Ad_Ajax_Callbacks;
71
  } else {
72
  add_action( 'plugins_loaded', array( $this, 'wp_plugins_loaded' ) );
73
  }
@@ -112,9 +120,6 @@ class Advanced_Ads_Admin {
112
  add_action( 'admin_init', array('Advanced_Ads_Placements', 'update_placements') );
113
 
114
  // check for update logic
115
- add_action( 'admin_init', array($this, 'update_version_logic') );
116
-
117
- // admin notices
118
  add_action( 'admin_notices', array($this, 'admin_notices') );
119
 
120
  // Add an action link pointing to the options page.
@@ -129,8 +134,8 @@ class Advanced_Ads_Admin {
129
  add_action( 'wp_dashboard_setup', array($this, 'add_dashboard_widget') );
130
 
131
  // set 1 column layout on overview page as user and page option
132
- add_filter( 'screen_layout_columns', array('AdvAds_Overview_Widgets_Callbacks', 'one_column_overview_page') );
133
- add_filter( 'get_user_option_screen_layout_toplevel_page_advanced', array( 'AdvAds_Overview_Widgets_Callbacks', 'one_column_overview_page_user') );
134
  }
135
 
136
  /**
@@ -183,16 +188,6 @@ class Advanced_Ads_Admin {
183
 
184
  }
185
 
186
- /**
187
- * display admin notices
188
- *
189
- * @since 1.2.1
190
- */
191
- public function admin_notices()
192
- {
193
- // removed ad injection notice in version 1.3.18
194
- }
195
-
196
  /**
197
  * Register the administration menu for this plugin into the WordPress Dashboard menu.
198
  *
@@ -239,7 +234,7 @@ class Advanced_Ads_Admin {
239
  $screen = get_current_screen();
240
 
241
  // set up overview widgets
242
- AdvAds_Overview_Widgets_Callbacks::setup_overview_widgets( $screen );
243
 
244
  // convert from vertical order to horizontal
245
  $screen->add_option( 'layout_columns', 1 );
@@ -404,7 +399,7 @@ class Advanced_Ads_Admin {
404
  if ( ! isset($post->post_type) || $post->post_type != $this->post_type ) {
405
  return;
406
  }
407
- $ad = new Advads_Ad( $post->ID );
408
 
409
  include ADVADS_BASE_PATH . 'admin/views/ad-info.php';
410
  }
@@ -442,7 +437,7 @@ class Advanced_Ads_Admin {
442
 
443
  if ( $post->post_type !== Advanced_Ads::POST_TYPE_SLUG ) { return; }
444
 
445
- $ad = new Advads_Ad( $post->ID );
446
 
447
  $time_adj = current_time( 'timestamp' );
448
 
@@ -464,7 +459,7 @@ class Advanced_Ads_Admin {
464
  * @todo move ad initialization to main function and just global it
465
  */
466
  public function markup_meta_boxes($post, $box) {
467
- $ad = new Advads_Ad( $post->ID );
468
 
469
  switch ( $box['id'] ) {
470
  case 'ad-main-box':
@@ -510,8 +505,8 @@ class Advanced_Ads_Admin {
510
  }
511
 
512
  // get ad object
513
- $ad = new Advads_Ad( $post_id );
514
- if ( ! $ad instanceof Advads_Ad ) {
515
  return;
516
  }
517
 
@@ -521,11 +516,20 @@ class Advanced_Ads_Admin {
521
  } else {
522
  $ad->set_option( 'output', array() );
523
  }
 
 
 
524
  if ( isset($_POST['advanced_ad']['visitor']) ) {
525
  $ad->set_option( 'visitor', $_POST['advanced_ad']['visitor'] );
526
  } else {
527
  $ad->set_option( 'visitor', array() );
528
  }
 
 
 
 
 
 
529
  // save size
530
  $ad->width = 0;
531
  if ( isset($_POST['advanced_ad']['width']) ) {
@@ -701,6 +705,14 @@ class Advanced_Ads_Admin {
701
  $hook,
702
  'advanced_ads_setting_section'
703
  );
 
 
 
 
 
 
 
 
704
 
705
  // hook for additional settings from add-ons
706
  do_action( 'advanced-ads-settings-init', $hook );
@@ -804,10 +816,23 @@ class Advanced_Ads_Admin {
804
  $checked = ( ! empty($options['block-bots'])) ? 1 : 0;
805
 
806
  echo '<input id="advanced-ads-block-bots" type="checkbox" value="1" name="'.ADVADS_SLUG.'[block-bots]" '.checked( $checked, 1, false ).'>';
807
- echo '<p class="description">'. sprintf( __( 'Hide ads from crawlers, bots and empty user agents. Also prevents counting impressions for bots when using the <a href="%s" target="_blank">Tracking Add-On</a>.', ADVADS_SLUG ), ADVADS_URL . 'add-ons/ad-tracking/' ) .'<br/>'
808
  . __( 'Disabling this option only makes sense if your ads contain content you want to display to bots (like search engines) or your site is cached and bots could create a cached version without the ads.', ADVADS_SLUG ) . '</p>';
809
  }
810
 
 
 
 
 
 
 
 
 
 
 
 
 
 
811
  /**
812
  * sanitize plugin settings
813
  *
@@ -872,7 +897,7 @@ class Advanced_Ads_Admin {
872
  */
873
  public function ad_list_columns_content($column_name, $ad_id) {
874
  if ( $column_name == 'ad_details' ) {
875
- $ad = new Advads_Ad( $ad_id );
876
 
877
  // load ad type title
878
  $types = Advanced_Ads::get_instance()->ad_types;
@@ -897,6 +922,10 @@ class Advanced_Ads_Admin {
897
  * @param string $post_type current post type
898
  */
899
  public function add_post_meta_box($post_type = ''){
 
 
 
 
900
  // get public post types
901
  $public_post_types = get_post_types( array('public' => true, 'publicly_queryable' => true), 'names', 'or' );
902
 
@@ -939,6 +968,10 @@ class Advanced_Ads_Admin {
939
  */
940
  public function save_post_meta_box( $post_id ) {
941
 
 
 
 
 
942
  // check nonce
943
  if ( ! isset( $_POST['advads_post_meta_box_nonce'] ) ) {
944
  return $post_id; }
@@ -988,7 +1021,7 @@ class Advanced_Ads_Admin {
988
  'link' => 'http://webgilde.com/en/ad-optimization/',
989
  'url' => 'http://webgilde.com/en/ad-optimization/feed/',
990
  'title' => __( 'From the ad optimization universe', ADVADS_SLUG ),
991
- 'items' => 3,
992
  'show_summary' => 0,
993
  'show_author' => 0,
994
  'show_date' => 0,
@@ -1021,6 +1054,21 @@ class Advanced_Ads_Admin {
1021
  __( 'plugin manual and homepage', ADVADS_SLUG ).'">Advanced Ads</a> '. $version .'</p>';
1022
  }
1023
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1024
  // rss feed
1025
  // $this->dashboard_widget_function_output('advads_dashboard_widget', $feed);
1026
  self::dashboard_cached_rss_widget( 'advads_dashboard_widget', array('Advanced_Ads_Admin', 'dashboard_widget_function_output'), array('advads' => $feeds) );
@@ -1071,50 +1119,14 @@ class Advanced_Ads_Admin {
1071
  }
1072
  }
1073
 
1074
- /**
1075
- * checks needed when the plugin was updated
1076
  *
1077
- * @since 1.4.5
1078
  */
1079
- public function update_version_logic(){
1080
- $plugin = Advanced_Ads_Plugin::get_instance();
1081
- $options = $plugin->internal_options();
1082
- $user_options = $plugin->options();
1083
-
1084
- $new_options = $options;
1085
-
1086
- // check, if current notices were deleted
1087
- // TODO: there is probably a better hook for that
1088
- if ( isset( $_GET['advads-remove-notices'] ) ) {
1089
- // TODO could as well use internal options instead of $_SESSION
1090
- // get options and clear the notices option
1091
- $new_options['version_notices'] = array();
1092
- if ( isset($_SESSION['advanced_ads_version_notices'] ) ) {
1093
- unset( $_SESSION['advanced_ads_version_notices'] );
1094
- }
1095
- }
1096
-
1097
- // use an artifical older version for updates on installed plugins before the notice logic was invented
1098
- if ( ! isset( $options['version'] ) && $user_options !== array() ){
1099
- $old_version = '1.4.4';
1100
- } else {
1101
- // set empty version for new installations
1102
- $old_version = 0;
1103
- }
1104
- $version = Advanced_Ads::VERSION;
1105
- $updated_versions = isset( $new_options['version_notices'] ) ? $new_options['version_notices'] : array();
1106
-
1107
- // handle update notices
1108
- new AdvAds_Admin_Notices( $old_version, $version, $updated_versions );
1109
-
1110
- $new_options['version'] = $version;
1111
- if ( isset( $_SESSION['advanced_ads_version_notices'] ) ) {
1112
- $new_options['version_notices'] = $_SESSION['advanced_ads_version_notices'];
1113
- }
1114
-
1115
- // save options, if version information changed
1116
- if ( $options !== $new_options ) {
1117
- $plugin->update_internal_options( $new_options );
1118
- }
1119
- }
1120
  }
27
  */
28
  protected static $instance = null;
29
 
30
+ /**
31
+ * Instance of admin notice class.
32
+ *
33
+ * @since 1.5.2
34
+ * @var object
35
+ */
36
+ protected $notices = null;
37
+
38
  /**
39
  * Slug of the settings page
40
  *
75
  */
76
  private function __construct() {
77
  if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
78
+ new Advanced_Ads_Ad_Ajax_Callbacks;
79
  } else {
80
  add_action( 'plugins_loaded', array( $this, 'wp_plugins_loaded' ) );
81
  }
120
  add_action( 'admin_init', array('Advanced_Ads_Placements', 'update_placements') );
121
 
122
  // check for update logic
 
 
 
123
  add_action( 'admin_notices', array($this, 'admin_notices') );
124
 
125
  // Add an action link pointing to the options page.
134
  add_action( 'wp_dashboard_setup', array($this, 'add_dashboard_widget') );
135
 
136
  // set 1 column layout on overview page as user and page option
137
+ add_filter( 'screen_layout_columns', array('Advanced_Ads_Overview_Widgets_Callbacks', 'one_column_overview_page') );
138
+ add_filter( 'get_user_option_screen_layout_toplevel_page_advanced', array( 'Advanced_Ads_Overview_Widgets_Callbacks', 'one_column_overview_page_user') );
139
  }
140
 
141
  /**
188
 
189
  }
190
 
 
 
 
 
 
 
 
 
 
 
191
  /**
192
  * Register the administration menu for this plugin into the WordPress Dashboard menu.
193
  *
234
  $screen = get_current_screen();
235
 
236
  // set up overview widgets
237
+ Advanced_Ads_Overview_Widgets_Callbacks::setup_overview_widgets( $screen );
238
 
239
  // convert from vertical order to horizontal
240
  $screen->add_option( 'layout_columns', 1 );
399
  if ( ! isset($post->post_type) || $post->post_type != $this->post_type ) {
400
  return;
401
  }
402
+ $ad = new Advanced_Ads_Ad( $post->ID );
403
 
404
  include ADVADS_BASE_PATH . 'admin/views/ad-info.php';
405
  }
437
 
438
  if ( $post->post_type !== Advanced_Ads::POST_TYPE_SLUG ) { return; }
439
 
440
+ $ad = new Advanced_Ads_Ad( $post->ID );
441
 
442
  $time_adj = current_time( 'timestamp' );
443
 
459
  * @todo move ad initialization to main function and just global it
460
  */
461
  public function markup_meta_boxes($post, $box) {
462
+ $ad = new Advanced_Ads_Ad( $post->ID );
463
 
464
  switch ( $box['id'] ) {
465
  case 'ad-main-box':
505
  }
506
 
507
  // get ad object
508
+ $ad = new Advanced_Ads_Ad( $post_id );
509
+ if ( ! $ad instanceof Advanced_Ads_Ad ) {
510
  return;
511
  }
512
 
516
  } else {
517
  $ad->set_option( 'output', array() );
518
  }
519
+ /**
520
+ * deprecated since introduction of "visitors" in 1.5.4
521
+ */
522
  if ( isset($_POST['advanced_ad']['visitor']) ) {
523
  $ad->set_option( 'visitor', $_POST['advanced_ad']['visitor'] );
524
  } else {
525
  $ad->set_option( 'visitor', array() );
526
  }
527
+ // visitor conditions
528
+ if ( isset($_POST['advanced_ad']['visitors']) ) {
529
+ $ad->set_option( 'visitors', $_POST['advanced_ad']['visitors'] );
530
+ } else {
531
+ $ad->set_option( 'visitors', array() );
532
+ }
533
  // save size
534
  $ad->width = 0;
535
  if ( isset($_POST['advanced_ad']['width']) ) {
705
  $hook,
706
  'advanced_ads_setting_section'
707
  );
708
+ // opt out from internal notices
709
+ add_settings_field(
710
+ 'disable-notices',
711
+ __( 'Disable notices', ADVADS_SLUG ),
712
+ array($this, 'render_settings_disabled_notices'),
713
+ $hook,
714
+ 'advanced_ads_setting_section'
715
+ );
716
 
717
  // hook for additional settings from add-ons
718
  do_action( 'advanced-ads-settings-init', $hook );
816
  $checked = ( ! empty($options['block-bots'])) ? 1 : 0;
817
 
818
  echo '<input id="advanced-ads-block-bots" type="checkbox" value="1" name="'.ADVADS_SLUG.'[block-bots]" '.checked( $checked, 1, false ).'>';
819
+ echo '<p class="description">'. sprintf( __( 'Hide ads from crawlers, bots and empty user agents. Also prevents counting impressions for bots when using the <a href="%s" target="_blank">Tracking Add-On</a>.', ADVADS_SLUG ), ADVADS_URL . 'add-ons/tracking/' ) .'<br/>'
820
  . __( 'Disabling this option only makes sense if your ads contain content you want to display to bots (like search engines) or your site is cached and bots could create a cached version without the ads.', ADVADS_SLUG ) . '</p>';
821
  }
822
 
823
+ /**
824
+ * render setting to disable notices
825
+ *
826
+ * @since 1.5.3
827
+ */
828
+ public function render_settings_disabled_notices(){
829
+ $options = Advanced_Ads::get_instance()->options();
830
+ $checked = ( ! empty($options['disable-notices'])) ? 1 : 0;
831
+
832
+ echo '<input id="advanced-ads-disabled-notices" type="checkbox" value="1" name="'.ADVADS_SLUG.'[disable-notices]" '.checked( $checked, 1, false ).'>';
833
+ echo '<p class="description">'. __( 'Disable all internal notices like tips, tutorials and email newsletters but not critical update notices. Disabling notices is recommended if you run multiple blogs with Advanced Ads already..', ADVADS_SLUG ) . '</p>';
834
+ }
835
+
836
  /**
837
  * sanitize plugin settings
838
  *
897
  */
898
  public function ad_list_columns_content($column_name, $ad_id) {
899
  if ( $column_name == 'ad_details' ) {
900
+ $ad = new Advanced_Ads_Ad( $ad_id );
901
 
902
  // load ad type title
903
  $types = Advanced_Ads::get_instance()->ad_types;
922
  * @param string $post_type current post type
923
  */
924
  public function add_post_meta_box($post_type = ''){
925
+ // don’t display for non admins
926
+ if( ! current_user_can('manage_options') ) {
927
+ return;
928
+ }
929
  // get public post types
930
  $public_post_types = get_post_types( array('public' => true, 'publicly_queryable' => true), 'names', 'or' );
931
 
968
  */
969
  public function save_post_meta_box( $post_id ) {
970
 
971
+ if( ! current_user_can('manage_options') ) {
972
+ return;
973
+ }
974
+
975
  // check nonce
976
  if ( ! isset( $_POST['advads_post_meta_box_nonce'] ) ) {
977
  return $post_id; }
1021
  'link' => 'http://webgilde.com/en/ad-optimization/',
1022
  'url' => 'http://webgilde.com/en/ad-optimization/feed/',
1023
  'title' => __( 'From the ad optimization universe', ADVADS_SLUG ),
1024
+ 'items' => 2,
1025
  'show_summary' => 0,
1026
  'show_author' => 0,
1027
  'show_date' => 0,
1054
  __( 'plugin manual and homepage', ADVADS_SLUG ).'">Advanced Ads</a> '. $version .'</p>';
1055
  }
1056
 
1057
+ $notice_options = Advanced_Ads_Admin_Notices::get_instance()->options();
1058
+ $_notice = 'nl_first_steps';
1059
+ if ( ! isset($notice_options['closed'][ $_notice ] ) ) {
1060
+ ?><div class="advads-admin-notice">
1061
+ <p><button type="button" class="button-primary advads-notices-button-subscribe" data-notice="<?php echo $_notice ?>"><?php _e('Get the tutorial via email', ADVADS_SLUG); ?></button></p>
1062
+ </div><?php
1063
+ }
1064
+
1065
+ $_notice = 'nl_adsense';
1066
+ if ( ! isset($notice_options['closed'][ $_notice ] ) ) {
1067
+ ?><div class="advads-admin-notice">
1068
+ <p><button type="button" class="button-primary advads-notices-button-subscribe" data-notice="<?php echo $_notice ?>"><?php _e('Get AdSense tips via email', ADVADS_SLUG); ?></button></p>
1069
+ </div><?php
1070
+ }
1071
+
1072
  // rss feed
1073
  // $this->dashboard_widget_function_output('advads_dashboard_widget', $feed);
1074
  self::dashboard_cached_rss_widget( 'advads_dashboard_widget', array('Advanced_Ads_Admin', 'dashboard_widget_function_output'), array('advads' => $feeds) );
1119
  }
1120
  }
1121
 
1122
+ /**
1123
+ * initiate the admin notices class
1124
  *
1125
+ * @since 1.5.3
1126
  */
1127
+ public function admin_notices(){
1128
+ if( current_user_can('manage_options') ){
1129
+ $this->notices = Advanced_Ads_Admin_Notices::get_instance();
1130
+ }
1131
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1132
  }
admin/includes/class-ad-groups-list.php CHANGED
@@ -5,7 +5,7 @@
5
  * @package Advanced Ads
6
  * @since 1.4.4
7
  */
8
- class AdvAds_Groups_List {
9
 
10
  /**
11
  * array with all groups
@@ -60,7 +60,7 @@ class AdvAds_Groups_List {
60
 
61
  $groups = array();
62
  foreach ( $terms as $_group ){
63
- $groups[] = new Advads_Ad_Group( $_group );
64
  }
65
 
66
  return $groups;
@@ -99,7 +99,7 @@ class AdvAds_Groups_List {
99
  *
100
  * @param obj $group the ad group object
101
  */
102
- public function render_form_row(Advads_Ad_Group $group){
103
 
104
  // query ads
105
  $ads = $this->get_ads( $group );
@@ -114,8 +114,8 @@ class AdvAds_Groups_List {
114
  $ad_id = $_ad->ID;
115
  $row .= '<tr><td>' . $_ad->post_title . '</td><td>';
116
  $row .= '<select name="advads-groups['. $group->id . '][ads]['.$_ad->ID.']">';
117
- $ad_weight = (isset($weights[$ad_id])) ? $weights[$ad_id] : Advads_Ad_Group::MAX_AD_GROUP_WEIGHT;
118
- for ( $i = 0; $i <= Advads_Ad_Group::MAX_AD_GROUP_WEIGHT; $i++ ) {
119
  $row .= '<option ' . selected( $ad_weight, $i, false ) . '>' . $i . '</option>';
120
  }
121
  $row .= '</select></td></tr>';
@@ -136,7 +136,7 @@ class AdvAds_Groups_List {
136
  *
137
  * @param $obj $group group object
138
  */
139
- public function render_ads_list(Advads_Ad_Group $group){
140
 
141
  $ads = $this->get_ads( $group );
142
 
@@ -161,7 +161,13 @@ class AdvAds_Groups_List {
161
  $line_output .= '<i>(' . __( 'pending', ADVADS_SLUG ) . ')</i>';
162
  break;
163
  }
164
- $_weight = (isset($weights[get_the_ID()])) ? $weights[get_the_ID()] : Advads_Ad_Group::MAX_AD_GROUP_WEIGHT;
 
 
 
 
 
 
165
  if ( $group->type == 'default' && $weight_sum ) {
166
  $line_output .= '<span class="ad-weight" title="'.__( 'Ad weight', ADVADS_SLUG ).'">' . number_format( ($_weight / $weight_sum) * 100 ) .'%</span></li>';
167
  }
@@ -172,7 +178,11 @@ class AdvAds_Groups_List {
172
 
173
  echo implode( '', $ads_output );
174
  echo ($group->type == 'default' && $weight_sum) ? '</ul>' : '</ol>';
175
- if ( $group->ad_count > 1 ) { echo '<p>' . sprintf( __( 'up to %d ads displayed', ADVADS_SLUG ), $group->ad_count ) . '</p>'; }
 
 
 
 
176
  } else {
177
  _e( 'No ads assigned', ADVADS_SLUG );
178
  }
@@ -222,7 +232,7 @@ class AdvAds_Groups_List {
222
  $types = array(
223
  'default' => array(
224
  'title' => __( 'Random ads', ADVADS_SLUG ),
225
- 'description' => __( 'Display ads randomly based on ad weight', ADVADS_SLUG )
226
  ),
227
  'ordered' => array(
228
  'title' => __( 'Ordered ads', ADVADS_SLUG ),
@@ -294,7 +304,7 @@ class AdvAds_Groups_List {
294
  wp_update_term( $_group_id, Advanced_Ads::AD_GROUP_TAXONOMY, $_group );
295
 
296
  // save ad weights
297
- $group = new Advads_Ad_Group( $_group['id'] );
298
  if ( isset($_group['ads']) ) {
299
  $group->save_ad_weights( $_group['ads'] ); }
300
 
5
  * @package Advanced Ads
6
  * @since 1.4.4
7
  */
8
+ class Advanced_Ads_Groups_List {
9
 
10
  /**
11
  * array with all groups
60
 
61
  $groups = array();
62
  foreach ( $terms as $_group ){
63
+ $groups[] = new Advanced_Ads_Group( $_group );
64
  }
65
 
66
  return $groups;
99
  *
100
  * @param obj $group the ad group object
101
  */
102
+ public function render_form_row(Advanced_Ads_Group $group){
103
 
104
  // query ads
105
  $ads = $this->get_ads( $group );
114
  $ad_id = $_ad->ID;
115
  $row .= '<tr><td>' . $_ad->post_title . '</td><td>';
116
  $row .= '<select name="advads-groups['. $group->id . '][ads]['.$_ad->ID.']">';
117
+ $ad_weight = (isset($weights[$ad_id])) ? $weights[$ad_id] : Advanced_Ads_Group::MAX_AD_GROUP_WEIGHT;
118
+ for ( $i = 0; $i <= Advanced_Ads_Group::MAX_AD_GROUP_WEIGHT; $i++ ) {
119
  $row .= '<option ' . selected( $ad_weight, $i, false ) . '>' . $i . '</option>';
120
  }
121
  $row .= '</select></td></tr>';
136
  *
137
  * @param $obj $group group object
138
  */
139
+ public function render_ads_list(Advanced_Ads_Group $group){
140
 
141
  $ads = $this->get_ads( $group );
142
 
161
  $line_output .= '<i>(' . __( 'pending', ADVADS_SLUG ) . ')</i>';
162
  break;
163
  }
164
+ // check expiry date
165
+ $ad = new Advanced_Ads_Ad( get_the_ID() );
166
+ if( ! $ad->can_display_by_expiry_date() ) {
167
+ $line_output .= '<i>(' . __( 'expired', ADVADS_SLUG ) . ')</i>';
168
+ }
169
+
170
+ $_weight = (isset($weights[get_the_ID()])) ? $weights[get_the_ID()] : Advanced_Ads_Group::MAX_AD_GROUP_WEIGHT;
171
  if ( $group->type == 'default' && $weight_sum ) {
172
  $line_output .= '<span class="ad-weight" title="'.__( 'Ad weight', ADVADS_SLUG ).'">' . number_format( ($_weight / $weight_sum) * 100 ) .'%</span></li>';
173
  }
178
 
179
  echo implode( '', $ads_output );
180
  echo ($group->type == 'default' && $weight_sum) ? '</ul>' : '</ol>';
181
+ if ( $group->ad_count === 'all' ) {
182
+ echo '<p>' . __( 'all published ads are displayed', ADVADS_SLUG ) . '</p>';
183
+ } elseif ( $group->ad_count > 1 ) {
184
+ echo '<p>' . sprintf( __( 'up to %d ads displayed', ADVADS_SLUG ), $group->ad_count ) . '</p>';
185
+ }
186
  } else {
187
  _e( 'No ads assigned', ADVADS_SLUG );
188
  }
232
  $types = array(
233
  'default' => array(
234
  'title' => __( 'Random ads', ADVADS_SLUG ),
235
+ 'description' => __( 'Display random ads based on ad weight', ADVADS_SLUG )
236
  ),
237
  'ordered' => array(
238
  'title' => __( 'Ordered ads', ADVADS_SLUG ),
304
  wp_update_term( $_group_id, Advanced_Ads::AD_GROUP_TAXONOMY, $_group );
305
 
306
  // save ad weights
307
+ $group = new Advanced_Ads_Group( $_group['id'] );
308
  if ( isset($_group['ads']) ) {
309
  $group->save_ad_weights( $_group['ads'] ); }
310
 
admin/includes/class-display-condition-callbacks.php CHANGED
@@ -6,7 +6,7 @@
6
  * @subpackage Advanced Ads Plugin
7
  * @since 1.2.2
8
  */
9
- class AdvAds_Display_Condition_Callbacks {
10
 
11
  /**
12
  * render display condition for post types
@@ -130,7 +130,7 @@ if ( ! empty($ad->conditions['categoryids']['exclude']) ){
130
  ?><td><?php
131
  // display search field if the term limit is reached
132
  if ( count( $terms ) == $max_terms ) :
133
- ?><div class="advads-conditions-terms-buttons" title="click to remove"><?php
134
 
135
  // query active terms
136
  if ( is_array( $checked ) && count( $checked ) ){
@@ -152,7 +152,7 @@ if ( is_array( $checked ) && count( $checked ) ){
152
  ?>" data-include-type="<?php echo $includetype; ?>" data-group="<?php echo $group; ?>" placeholder="<?php
153
  _e( 'term name or id', ADVADS_SLUG ); ?>"/><?php
154
  else :
155
- ?><div class="advads-conditions-terms-buttons"><?php
156
  foreach ( $terms as $_term ) :
157
  $field_id = "advads-conditions-terms-$includetype-$group-$_term->term_id";
158
  ?><input type="checkbox" id="<?php echo $field_id; ?>" name="<?php echo $inputname; ?>" value="<?php echo $_term->term_id; ?>" <?php
6
  * @subpackage Advanced Ads Plugin
7
  * @since 1.2.2
8
  */
9
+ class Advanced_Ads_Display_Condition_Callbacks {
10
 
11
  /**
12
  * render display condition for post types
130
  ?><td><?php
131
  // display search field if the term limit is reached
132
  if ( count( $terms ) == $max_terms ) :
133
+ ?><div class="advads-conditions-terms-buttons advads-buttonset" title="click to remove"><?php
134
 
135
  // query active terms
136
  if ( is_array( $checked ) && count( $checked ) ){
152
  ?>" data-include-type="<?php echo $includetype; ?>" data-group="<?php echo $group; ?>" placeholder="<?php
153
  _e( 'term name or id', ADVADS_SLUG ); ?>"/><?php
154
  else :
155
+ ?><div class="advads-conditions-terms-buttons advads-buttonset"><?php
156
  foreach ( $terms as $_term ) :
157
  $field_id = "advads-conditions-terms-$includetype-$group-$_term->term_id";
158
  ?><input type="checkbox" id="<?php echo $field_id; ?>" name="<?php echo $inputname; ?>" value="<?php echo $_term->term_id; ?>" <?php
admin/includes/class-notices.php CHANGED
@@ -1,4 +1,5 @@
1
  <?php
 
2
  /**
3
  * container class for admin notices
4
  *
@@ -6,73 +7,385 @@
6
  * @subpackage Advanced Ads Plugin
7
  * @since 1.4.5
8
  */
9
- class AdvAds_Admin_Notices {
10
 
11
  /**
12
- * array with new versions
13
  */
14
- public $new_versions = array();
15
 
16
  /**
17
- * array with update notices
 
 
 
18
  */
19
- public $update_notices = array();
20
 
21
  /**
22
- * handle update notices
23
  *
24
- * @param str $old_version previous installed version
25
- * @param str $new_version new version
26
- * @param arr $updated_versions array with updated versions
 
 
 
 
 
 
 
 
 
 
 
 
27
  */
28
- public function __construct($old_version = 0, $new_version = 0, $updated_versions = array()){
29
 
30
- if ( $updated_versions == array() && $old_version == 0 ) { return; }
 
 
 
 
 
31
 
32
- // load previous messages, if still existing
33
- if ( is_array( $updated_versions ) ){
34
- $this->new_versions = $updated_versions;
 
 
 
 
 
 
 
 
 
 
 
35
  }
36
 
37
- // load new messages
38
- if ( $old_version ){
39
- if ( version_compare( $old_version, '1.4.5' ) == -1 ){
40
- $this->new_versions[] = '1.4.5';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
41
  }
42
- // put notices into session to be able to give if back
43
- if ( $this->new_versions !== $updated_versions ) {
44
- $_SESSION['advanced_ads_version_notices'] = $this->new_versions; }
45
  }
 
46
 
47
- if ( $this->new_versions == array() ) { return; }
 
 
 
 
48
 
49
- // load update notices
50
- // not ready for translation, since there will always be change
51
- $this->update_notices = array(
52
- '1.4.5' => 'Advanced Ads 1.4.5 changes the behavior of some display conditions. Please read this <a href="'.ADVADS_URL.'advanced-ads-1-4-5/" target="_blank">update post</a> to learn if this change should concern you.',
53
- );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
54
 
55
- // register update notices
56
- add_action( 'admin_notices', array($this, 'show_update_admin_notices' ) );
 
 
57
  }
58
 
59
  /**
60
  *
61
- * display update notice
62
  *
63
  */
64
- public function show_update_admin_notices(){
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
65
 
66
- if ( $this->new_versions == array() ) { return; }
 
 
67
 
68
- ?><div class="error advads-admin-notices"><?php
69
- foreach ( $this->new_versions as $_version ) :
70
- if ( isset($this->update_notices[$_version]) ) :
71
- ?><p><?php echo $this->update_notices[$_version]; ?></p><?php
72
- endif;
73
- endforeach;
74
- $admin_url = admin_url( '?page=advanced-ads&advads-remove-notices=1' );
75
- ?><a class="button-primary" href="<?php echo $admin_url; ?>"><?php _e( 'Dismiss all notices', ADVADS_SLUG ); ?></a><br class="clear"/></div><?php
76
  }
77
 
78
- }
1
  <?php
2
+
3
  /**
4
  * container class for admin notices
5
  *
7
  * @subpackage Advanced Ads Plugin
8
  * @since 1.4.5
9
  */
10
+ class Advanced_Ads_Admin_Notices {
11
 
12
  /**
13
+ * maximum number of notices to show at once
14
  */
15
+ const MAX_NOTICES = 2;
16
 
17
  /**
18
+ * instance of this class.
19
+ *
20
+ * @since 1.5.3
21
+ * @var object
22
  */
23
+ protected static $instance = null;
24
 
25
  /**
26
+ * options
27
  *
28
+ * @since 1.5.3
29
+ * @var array
30
+ */
31
+ protected $options;
32
+
33
+ /**
34
+ * notices to be displayed
35
+ *
36
+ * @since 1.5.3
37
+ * @var array
38
+ */
39
+ protected $notices = array();
40
+
41
+ /**
42
+ * plugin class
43
  */
44
+ private $plugin;
45
 
46
+ public function __construct() {
47
+ $this->plugin = Advanced_Ads_Plugin::get_instance();
48
+ // load notices
49
+ $this->load_notices();
50
+ // display notices
51
+ $this->display_notices();
52
 
53
+ add_action( 'advanced-ads-ad-params-before', array( $this, 'adsense_tutorial' ), 10, 2 );
54
+ }
55
+
56
+ /**
57
+ * Return an instance of this class.
58
+ *
59
+ * @since 1.5.3
60
+ * @return object A single instance of this class.
61
+ */
62
+ public static function get_instance() {
63
+
64
+ // If the single instance hasn't been set, set it now.
65
+ if ( null == self::$instance ) {
66
+ self::$instance = new self;
67
  }
68
 
69
+ return self::$instance;
70
+ }
71
+
72
+ /**
73
+ * load admin notices
74
+ *
75
+ * @since 1.4.5
76
+ * @updated 1.5.3 moved from admin class here
77
+ */
78
+ public function load_notices() {
79
+
80
+ $options = $this->options();
81
+ $plugin_options = $this->plugin->options();
82
+
83
+ // load notices from queue
84
+ $this->notices = isset($options['queue']) ? $options['queue'] : array();
85
+ $notices_before = $this->notices;
86
+
87
+ // handle version notices
88
+ $this->register_version_notices();
89
+
90
+ // don’t check non-critical notices if they are disabled
91
+ if ( ! isset($plugin_options['disable-notices']) ) {
92
+ // check other notices
93
+ $this->check_notices();
94
+ }
95
+
96
+ // register notices in db so they get displayed until closed for good
97
+ if ( $this->notices !== $notices_before ) {
98
+ $this->add_to_queue( $this->notices );
99
+ }
100
+ }
101
+
102
+ /**
103
+ * register update notices
104
+ *
105
+ */
106
+ public function register_version_notices() {
107
+ $internal_options = $this->plugin->internal_options();
108
+ $new_options = $internal_options; // in case we udpate options here
109
+ $plugin_options = $this->plugin->options();
110
+
111
+ // set an artifical older version for updates on installed plugins before the notice logic was invented
112
+ if ( ! isset($internal_options['version']) && $plugin_options !== array() ) {
113
+ $old_version = '1.4.4';
114
+ } elseif ( isset($internal_options['version']) ) {
115
+ $old_version = $internal_options['version'];
116
+ } else {
117
+ // empty version for new installations
118
+ $old_version = 0;
119
+ }
120
+
121
+ if ( isset($internal_options['version']) && ($internal_options['version'] !== ADVADS_VERSION) && $old_version ) {
122
+ if ( version_compare( $old_version, '1.4.5' ) == -1 ) {
123
+ $this->notices[] = '1.4.5';
124
+ }
125
+ if ( version_compare( $old_version, '1.5.4' ) == -1 ) {
126
+ $this->notices[] = '1.5.4';
127
  }
 
 
 
128
  }
129
+ $new_options['version'] = ADVADS_VERSION;
130
 
131
+ // update version numbers
132
+ if ( $internal_options !== $new_options ) {
133
+ $this->plugin->update_internal_options( $new_options );
134
+ }
135
+ }
136
 
137
+ /**
138
+ * check various notices conditions
139
+ */
140
+ public function check_notices() {
141
+ $internal_options = $this->plugin->internal_options();
142
+ $now = time();
143
+ $activation = (isset($internal_options['installed'])) ? $internal_options['installed'] : $now; // activation time
144
+
145
+ $options = $this->options();
146
+ $closed = isset($options['closed']) ? $options['closed'] : array();
147
+ $queue = isset($options['queue']) ? $options['queue'] : array();
148
+
149
+ // offer email tutorial right after activation
150
+ if ( ! $this->is_subscribed() && ( ! in_array( 'nl_first_steps', $queue ) && $activation < $now && ! isset($closed['nl_first_steps'])) ) {
151
+ $this->notices[] = 'nl_first_steps';
152
+ }
153
+ }
154
+
155
+ /**
156
+ * add update notices to the queue of all notices that still needs to be closed
157
+ *
158
+ * @since 1.5.3
159
+ * @param str|arr $notices one or more notices to be added to the queue
160
+ */
161
+ public function add_to_queue($notices = 0) {
162
+ if ( ! $notices ) {
163
+ return;
164
+ }
165
+
166
+ // get queue from options
167
+ $options = $this->options();
168
+ $queue = isset($options['queue']) ? $options['queue'] : array();
169
+
170
+ if ( is_array( $notices ) ) {
171
+ $queue = array_merge( $queue, $notices );
172
+ } else {
173
+ $queue[] = $notices;
174
+ }
175
+
176
+ // remove possible duplicated
177
+ $queue = array_unique( $queue );
178
+
179
+ // update db
180
+ $options['queue'] = $queue;
181
+ $this->update_options( $options );
182
+ }
183
+
184
+ /**
185
+ * remove update notice from queue
186
+ * move notice into "closed"
187
+ *
188
+ * @since 1.5.3
189
+ * @param str $notice notice to be removed from the queue
190
+ */
191
+ public function remove_from_queue($notice) {
192
+ if ( ! isset($notice) ) {
193
+ return;
194
+ }
195
+
196
+ // get queue from options
197
+ $options = $this->options();
198
+ if ( ! isset($options['queue']) ) {
199
+ return;
200
+ }
201
+ $queue = (array) $options['queue'];
202
+ $closed = isset($options['closed']) ? $options['closed'] : array();
203
+
204
+ $key = array_search( $notice, $queue );
205
+ if ( $key !== false ) {
206
+ unset($queue[$key]);
207
+ // close message with timestamp
208
+ }
209
+ $closed[$notice] = time();
210
 
211
+ // update db
212
+ $options['queue'] = $queue;
213
+ $options['closed'] = $closed;
214
+ $this->update_options( $options );
215
  }
216
 
217
  /**
218
  *
219
+ * display notices
220
  *
221
  */
222
+ public function display_notices() {
223
+
224
+ if ( defined( 'DOING_AJAX' ) ) {
225
+ return; }
226
+
227
+ if ( $this->notices === array() ) {
228
+ return; }
229
+
230
+ // load notices
231
+ include ADVADS_BASE_PATH . '/admin/includes/notices.php';
232
+
233
+ // iterate through notices
234
+ $count = 0;
235
+ foreach ( $this->notices as $_notice ) {
236
+
237
+ if ( isset($advanced_ads_admin_notices[$_notice]) ) {
238
+ $notice = $advanced_ads_admin_notices[$_notice];
239
+ $text = $advanced_ads_admin_notices[$_notice]['text'];
240
+ $type = isset($advanced_ads_admin_notices[$_notice]['type']) ? $advanced_ads_admin_notices[$_notice]['type'] : '';
241
+ } else {
242
+ continue;
243
+ }
244
+
245
+ switch ( $type ) {
246
+ case 'subscribe' :
247
+ include ADVADS_BASE_PATH . '/admin/views/notices/subscribe.php';
248
+ break;
249
+ default :
250
+ include ADVADS_BASE_PATH . '/admin/views/notices/error.php';
251
+ }
252
+
253
+ if( ++$count == self::MAX_NOTICES ) {
254
+ break;
255
+ }
256
+ }
257
+ }
258
+
259
+ /**
260
+ * return notices options
261
+ *
262
+ * @since 1.5.3
263
+ * @return array $options
264
+ */
265
+ public function options() {
266
+ if ( ! isset($this->options) ) {
267
+ $this->options = get_option( ADVADS_SLUG . '-notices', array() );
268
+ }
269
+
270
+ return $this->options;
271
+ }
272
+
273
+ /**
274
+ * update notices options
275
+ *
276
+ * @since 1.5.3
277
+ * @param array $options new options
278
+ */
279
+ public function update_options(array $options) {
280
+ // do not allow to clear options
281
+ if ( $options === array() ) {
282
+ return;
283
+ }
284
+
285
+ $this->options = $options;
286
+ update_option( ADVADS_SLUG . '-notices', $options );
287
+ }
288
+
289
+ /**
290
+ * subscribe to newsletter and autoresponder
291
+ *
292
+ * @since 1.5.3
293
+ * @param string $notice slug of the subscription notice to send the correct reply
294
+ */
295
+ public function subscribe($notice) {
296
+ if ( ! isset($notice) ) {
297
+ return;
298
+ }
299
+
300
+ global $current_user;
301
+ $user = wp_get_current_user();
302
+
303
+ if ( $user->user_email == '' ) {
304
+ return sprintf( __( 'You don’t seem to have an email address. Please add one to your <a href="%s">WordPress profile</a>', ADVADS_SLUG ), get_edit_user_link() );
305
+ }
306
+
307
+ $data = array(
308
+ 'email' => $user->user_email,
309
+ 'notice' => $notice
310
+ );
311
+
312
+ $result = wp_remote_post('https://wpadvancedads.com/remote/subscribe.php?source=plugin', array(
313
+ 'method' => 'POST',
314
+ 'timeout' => 20,
315
+ 'redirection' => 5,
316
+ 'httpversion' => '1.1',
317
+ 'blocking' => true,
318
+ 'body' => $data)
319
+ );
320
+
321
+ if ( is_wp_error( $result ) ) {
322
+ return __( 'How embarrassing. The email server seems to be down. Please try again later.', ADVADS_SLUG );
323
+ } else {
324
+ // mark as subscribed and move notice from quere
325
+ $this->mark_as_subscribed();
326
+ $this->remove_from_queue( $notice );
327
+ return true;
328
+ }
329
+ }
330
+
331
+ /**
332
+ * check if blog is subscribed to the newsletter
333
+ */
334
+ public function is_subscribed() {
335
+
336
+ /**
337
+ * respect previous settings
338
+ */
339
+ $options = $this->options();
340
+ if ( isset($options['is_subscribed'] ) ) {
341
+ return true;
342
+ }
343
+
344
+ $user_id = get_current_user_id();
345
+ if( ! $user_id ) {
346
+ return true;
347
+ }
348
+
349
+ $subscribed = get_user_meta($user_id, 'advanced-ads-subscribed', true);
350
+ return $subscribed;
351
+ }
352
+
353
+ /**
354
+ * update information that the current user is subscribed
355
+ */
356
+ private function mark_as_subscribed() {
357
+
358
+ $user_id = get_current_user_id();
359
+
360
+ if( ! $this->is_subscribed() ) {
361
+ update_user_meta( $user_id, 'advanced-ads-subscribed', true);
362
+ }
363
+ }
364
+
365
+ /**
366
+ * add AdSense tutorial notice
367
+ *
368
+ * @param obj $ad ad object
369
+ * @param arr $types ad types
370
+ */
371
+ public function adsense_tutorial( $ad, $types = array() ){
372
+
373
+ $options = $this->options();
374
+ $_notice = 'nl_adsense';
375
+
376
+ if ( $ad->type !== 'adsense' || isset($options['closed'][ $_notice ] ) ) {
377
+ return;
378
+ }
379
+
380
+ include ADVADS_BASE_PATH . '/admin/includes/notices.php';
381
 
382
+ if ( ! isset( $advanced_ads_admin_notices[ $_notice ] ) ) {
383
+ return;
384
+ }
385
 
386
+ $notice = $advanced_ads_admin_notices[ $_notice ];
387
+ $text = $notice['text'];
388
+ include ADVADS_BASE_PATH . '/admin/views/notices/inline.php';
 
 
 
 
 
389
  }
390
 
391
+ }
admin/includes/class-overview-widgets.php CHANGED
@@ -6,7 +6,7 @@
6
  * @subpackage Advanced Ads Plugin
7
  * @since 1.4.3
8
  */
9
- class AdvAds_Overview_Widgets_Callbacks {
10
 
11
  /**
12
  * set the overview page to one column layout so widgets can get ordered horizontally
@@ -42,41 +42,54 @@ class AdvAds_Overview_Widgets_Callbacks {
42
  // abort if not on the overview page
43
  if ( ! isset($screen->id) || $screen->id !== 'toplevel_page_advanced-ads' ) { return; }
44
 
45
- add_meta_box('advads_overview_news', __( 'News and Tutorials', ADVADS_SLUG ),
46
- array('Advanced_Ads_Admin', 'dashboard_widget_function'), $screen->id, 'normal', 'high');
47
- add_meta_box('advads_overview_ads', __( 'My Ads', ADVADS_SLUG ),
48
- array('AdvAds_Overview_Widgets_Callbacks', 'render_ad_widget'), $screen->id, 'normal', 'high');
49
  add_meta_box('advads_overview_support', __( 'Manual and Support', ADVADS_SLUG ),
50
- array('AdvAds_Overview_Widgets_Callbacks', 'render_support'), $screen->id, 'normal', 'high');
51
 
52
  // add widgets for pro add ons
53
  add_meta_box('advads_overview_addon_tracking', __( 'Tracking and Stats', ADVADS_SLUG ),
54
- array('AdvAds_Overview_Widgets_Callbacks', 'render_add_on_tracking'), $screen->id, 'side', 'high');
55
  add_meta_box('advads_overview_addon_responsive', __( 'Responsive and Mobile ads', ADVADS_SLUG ),
56
- array('AdvAds_Overview_Widgets_Callbacks', 'render_add_on_responsive'), $screen->id, 'side', 'high');
57
  add_meta_box('advads_overview_addon_sticky', __( 'Sticky ads', ADVADS_SLUG ),
58
- array('AdvAds_Overview_Widgets_Callbacks', 'render_add_on_sticky'), $screen->id, 'side', 'high');
59
  add_meta_box('advads_overview_addon_layer', __( 'PopUps and Layers', ADVADS_SLUG ),
60
- array('AdvAds_Overview_Widgets_Callbacks', 'render_add_on_layer'), $screen->id, 'side', 'high');
61
 
62
  }
63
 
64
  /**
65
- * ads widget
 
 
66
  */
67
- public static function render_ad_widget(){
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
68
 
69
  $model = Advanced_Ads::get_instance()->get_model();
70
  $recent_ads = $model->get_ads();
71
 
72
- ?><p class="description"><?php _e( 'Ads are the smallest unit, containing the content or a single ad to be displayed.', ADVADS_SLUG ); ?></p>
73
- <p><?php printf( __( 'You have published %d ads.', ADVADS_SLUG ), count( $recent_ads ) );?></p><p><?php
74
- printf(__( '<a href="%s">Manage</a> them or <a href="%s">create</a> a new one', ADVADS_SLUG ),
75
- 'edit.php?post_type='. Advanced_Ads::POST_TYPE_SLUG,
76
- 'post-new.php?post_type='. Advanced_Ads::POST_TYPE_SLUG);
77
- ?>
78
- </p><?php
79
-
80
  // get next steps
81
  self::render_next_steps( $recent_ads );
82
  }
@@ -108,7 +121,7 @@ class AdvAds_Overview_Widgets_Callbacks {
108
 
109
  // display all options
110
  if ( count( $next_steps ) > 0 ){
111
- ?><h4><?php _e( 'Next steps', ADVADS_SLUG ); ?></h4><?php
112
  foreach ( $next_steps as $_step ){
113
  echo $_step;
114
  }
@@ -124,11 +137,20 @@ foreach ( $next_steps as $_step ){
124
  <?php printf( __( '<a href="%s" target="_blank">Manual</a>', ADVADS_SLUG ), ADVADS_URL . 'advancedads/manual/' ); ?></li>
125
  <li><?php printf( __( 'Ask other users in the <a href="%s" target="_blank">wordpress.org forum</a>', ADVADS_SLUG ), 'http://wordpress.org/plugins/advanced-ads/' ); ?></li>
126
  <li><?php printf( __( 'Vote for a <a href="%s" target="_blank">feature</a>', ADVADS_SLUG ), ADVADS_URL . 'advancedads/feature-requests/' ); ?></li>
127
- <li><?php printf( __( '<a href="%s" target="_blank">Hire the developer</a>', ADVADS_SLUG ), 'http://webgilde.com/en/contact/' ); ?></li>
128
  <li><?php printf( __( 'Thank the developer with a &#9733;&#9733;&#9733;&#9733;&#9733; review on <a href="%s" target="_blank">wordpress.org</a>', ADVADS_SLUG ), 'https://wordpress.org/support/view/plugin-reviews/advanced-ads' ); ?></li>
129
  </ul><?php
130
  }
131
 
 
 
 
 
 
 
 
 
 
 
132
  /**
133
  * tracking add-on widget
134
  */
6
  * @subpackage Advanced Ads Plugin
7
  * @since 1.4.3
8
  */
9
+ class Advanced_Ads_Overview_Widgets_Callbacks {
10
 
11
  /**
12
  * set the overview page to one column layout so widgets can get ordered horizontally
42
  // abort if not on the overview page
43
  if ( ! isset($screen->id) || $screen->id !== 'toplevel_page_advanced-ads' ) { return; }
44
 
45
+ add_meta_box('advads_overview_news', __( 'Tips and Tutorials', ADVADS_SLUG ),
46
+ array('Advanced_Ads_Overview_Widgets_Callbacks', 'render_subscribe'), $screen->id, 'normal', 'high');
47
+ add_meta_box('advads_overview_addon_help', __( 'Setup and Optimization Help', ADVADS_SLUG ),
48
+ array('Advanced_Ads_Overview_Widgets_Callbacks', 'render_help'), $screen->id, 'normal', 'high');
49
  add_meta_box('advads_overview_support', __( 'Manual and Support', ADVADS_SLUG ),
50
+ array('Advanced_Ads_Overview_Widgets_Callbacks', 'render_support'), $screen->id, 'normal', 'high');
51
 
52
  // add widgets for pro add ons
53
  add_meta_box('advads_overview_addon_tracking', __( 'Tracking and Stats', ADVADS_SLUG ),
54
+ array('Advanced_Ads_Overview_Widgets_Callbacks', 'render_add_on_tracking'), $screen->id, 'side', 'high');
55
  add_meta_box('advads_overview_addon_responsive', __( 'Responsive and Mobile ads', ADVADS_SLUG ),
56
+ array('Advanced_Ads_Overview_Widgets_Callbacks', 'render_add_on_responsive'), $screen->id, 'side', 'high');
57
  add_meta_box('advads_overview_addon_sticky', __( 'Sticky ads', ADVADS_SLUG ),
58
+ array('Advanced_Ads_Overview_Widgets_Callbacks', 'render_add_on_sticky'), $screen->id, 'side', 'high');
59
  add_meta_box('advads_overview_addon_layer', __( 'PopUps and Layers', ADVADS_SLUG ),
60
+ array('Advanced_Ads_Overview_Widgets_Callbacks', 'render_add_on_layer'), $screen->id, 'side', 'high');
61
 
62
  }
63
 
64
  /**
65
+ * subscribe widget
66
+ *
67
+ * @since 1.5.4
68
  */
69
+ public static function render_subscribe(){
70
+
71
+ $is_subscribed = Advanced_Ads_Admin_Notices::get_instance()->is_subscribed();
72
+ $options = Advanced_Ads_Admin_Notices::get_instance()->options();
73
+ $_notice = 'nl_adsense';
74
+
75
+ if ( ! isset($options['closed'][ $_notice ] ) && ! $is_subscribed ) {
76
+ ?><div class="advads-admin-notice">
77
+ <p><?php _e( 'Learn more about how and <strong>how much you can earn with AdSense</strong> and Advanced Ads from my dedicated newsletter.', ADVADS_SLUG ); ?></p>
78
+ <button type="button" class="button-primary advads-notices-button-subscribe" data-notice="<?php echo $_notice ?>"><?php _e('Subscribe me now', ADVADS_SLUG); ?></button>
79
+ </div><?php
80
+ }
81
+
82
+ $_notice = 'nl_first_steps';
83
+ if ( ! isset($options['closed'][ $_notice ] ) && ! $is_subscribed ) {
84
+ ?><div class="advads-admin-notice">
85
+ <p><?php _e( 'Get the first steps and more tutorials to your inbox.', ADVADS_SLUG ); ?></p>
86
+ <button type="button" class="button-primary advads-notices-button-subscribe" data-notice="<?php echo $_notice ?>"><?php _e('Send it now', ADVADS_SLUG); ?></button>
87
+ </div><?php
88
+ }
89
 
90
  $model = Advanced_Ads::get_instance()->get_model();
91
  $recent_ads = $model->get_ads();
92
 
 
 
 
 
 
 
 
 
93
  // get next steps
94
  self::render_next_steps( $recent_ads );
95
  }
121
 
122
  // display all options
123
  if ( count( $next_steps ) > 0 ){
124
+ ?><br/><h4><?php _e( 'Next steps', ADVADS_SLUG ); ?></h4><?php
125
  foreach ( $next_steps as $_step ){
126
  echo $_step;
127
  }
137
  <?php printf( __( '<a href="%s" target="_blank">Manual</a>', ADVADS_SLUG ), ADVADS_URL . 'advancedads/manual/' ); ?></li>
138
  <li><?php printf( __( 'Ask other users in the <a href="%s" target="_blank">wordpress.org forum</a>', ADVADS_SLUG ), 'http://wordpress.org/plugins/advanced-ads/' ); ?></li>
139
  <li><?php printf( __( 'Vote for a <a href="%s" target="_blank">feature</a>', ADVADS_SLUG ), ADVADS_URL . 'advancedads/feature-requests/' ); ?></li>
 
140
  <li><?php printf( __( 'Thank the developer with a &#9733;&#9733;&#9733;&#9733;&#9733; review on <a href="%s" target="_blank">wordpress.org</a>', ADVADS_SLUG ), 'https://wordpress.org/support/view/plugin-reviews/advanced-ads' ); ?></li>
141
  </ul><?php
142
  }
143
 
144
+ /**
145
+ * help widget
146
+ */
147
+ public static function render_help(){
148
+
149
+ ?><p><?php _e( 'Need help to set up and optimize your ads? Need custom coding on your site? Ask me for a quote.', ADVADS_SLUG ); ?></p>
150
+ <p><a class="button button-primary" href="mailto:support@wpadvancedads.com?subject=<?php printf( __( 'Help with ads on %s', ADVADS_SLUG ), home_url()); ?>"><?php
151
+ _e( 'Get an offer', ADVADS_SLUG ); ?></a></p><?php
152
+ }
153
+
154
  /**
155
  * tracking add-on widget
156
  */
admin/includes/notices.php ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * array with admin notices
4
+ */
5
+ $advanced_ads_admin_notices = array(
6
+ // if users updated from a previous version to 1.4.5
7
+ '1.4.5' => array(
8
+ 'type' => 'update',
9
+ 'text' => 'Advanced Ads 1.4.5 changes the behavior of some display conditions. Please read this <a href="http://wpadvancedads.com/advanced-ads-1-4-5/" target="_blank">update post</a> to learn if this change should concern you.',
10
+ ),
11
+ // newsletter after activation
12
+ 'nl_first_steps' => array(
13
+ 'type' => 'subscribe',
14
+ 'text' => __( 'Thank you for activating <strong>Advanced Ads</strong>. Would you like to receive the first steps via email?', ADVADS_SLUG ),
15
+ 'confirm_text' => __( 'Yes, send it', ADVADS_SLUG )
16
+ ),
17
+ // adsense newsletter group
18
+ 'nl_adsense' => array(
19
+ 'type' => 'subscribe',
20
+ 'text' => __( 'Learn more about how and <strong>how much you can earn with AdSense</strong> and Advanced Ads from my dedicated newsletter.', ADVADS_SLUG ),
21
+ 'confirm_text' => __( 'Subscribe me now', ADVADS_SLUG )
22
+ ),
23
+ // if users updated from a previous version to 1.5.4
24
+ '1.5.4' => array(
25
+ 'type' => 'update',
26
+ 'text' => 'With Advanced Ads 1.5.4 the handling of <strong>visitor conditions</strong> became more consistent, flexible, and hopefully easier to use too. Please read this <a href="http://wpadvancedads.com/advanced-ads-1-5-4/" target="_blank">update post</a> to learn if this change should concern you.',
27
+ ),
28
+ );
admin/views/ad-display-metabox.php CHANGED
@@ -4,12 +4,6 @@ require_once(ADVADS_BASE_PATH . 'admin/includes/class-display-condition-callback
4
  $types = Advanced_Ads::get_instance()->ad_types;
5
  $jquery_ui_buttons = array();
6
  ?>
7
- <script>
8
- jQuery(document).ready(function() {
9
- // initialize jquery ui buttons
10
- jQuery( ".advanced-ads-display-condition-set" ).buttonset();
11
- });
12
- </script>
13
  <p class="description"><?php _e( 'Choose where to display the ad and where to hide it.', ADVADS_SLUG ); ?></p>
14
  <div id="advanced-ad-conditions-enable">
15
  <?php $conditions_enabled = (empty($ad->conditions['enabled'])) ? 0 : 1; ?>
@@ -51,7 +45,7 @@ jQuery(document).ready(function() {
51
  <td><input type="text" name="advanced_ad[conditions][<?php echo $_key; ?>][include]" value="<?php if ( isset($ad->conditions[$_key]['include']) ) { echo $ad->conditions[$_key]['include']; } ?>"/></td>
52
  <td><input type="text" name="advanced_ad[conditions][<?php echo $_key; ?>][exclude]" value="<?php if ( isset($ad->conditions[$_key]['exclude']) ) { echo $ad->conditions[$_key]['exclude']; } ?>"/></td>
53
  <?php elseif ( $_condition['type'] == 'radio' ) : ?>
54
- <td class="advanced-ads-display-condition-set">
55
  <input type="radio" name="advanced_ad[conditions][<?php
56
  echo $_key; ?>]" id="advanced-ads-display-condition-<?php
57
  echo $_key; ?>-1" value="1" <?php if ( ! isset($ad->conditions[$_key]) || $ad->conditions[$_key] ) { checked( 1 ); } ?>/>
4
  $types = Advanced_Ads::get_instance()->ad_types;
5
  $jquery_ui_buttons = array();
6
  ?>
 
 
 
 
 
 
7
  <p class="description"><?php _e( 'Choose where to display the ad and where to hide it.', ADVADS_SLUG ); ?></p>
8
  <div id="advanced-ad-conditions-enable">
9
  <?php $conditions_enabled = (empty($ad->conditions['enabled'])) ? 0 : 1; ?>
45
  <td><input type="text" name="advanced_ad[conditions][<?php echo $_key; ?>][include]" value="<?php if ( isset($ad->conditions[$_key]['include']) ) { echo $ad->conditions[$_key]['include']; } ?>"/></td>
46
  <td><input type="text" name="advanced_ad[conditions][<?php echo $_key; ?>][exclude]" value="<?php if ( isset($ad->conditions[$_key]['exclude']) ) { echo $ad->conditions[$_key]['exclude']; } ?>"/></td>
47
  <?php elseif ( $_condition['type'] == 'radio' ) : ?>
48
+ <td class="advanced-ads-display-condition-set advads-buttonset">
49
  <input type="radio" name="advanced_ad[conditions][<?php
50
  echo $_key; ?>]" id="advanced-ads-display-condition-<?php
51
  echo $_key; ?>-1" value="1" <?php if ( ! isset($ad->conditions[$_key]) || $ad->conditions[$_key] ) { checked( 1 ); } ?>/>
admin/views/ad-group-list-form-row.php CHANGED
@@ -17,7 +17,8 @@
17
  for ( $i = 1; $i <= 10; $i++ ) : ?>
18
  <option <?php selected( $group->ad_count, $i ); ?>><?php echo $i; ?></option>
19
  <?php endfor;
20
- ?></select>
 
21
  </label>
22
  <p class="description"><?php _e( 'Number of ads to display in the block', ADVADS_SLUG ); ?></p>
23
  <h3><?php _e( 'Ads', ADVADS_SLUG ); ?></h3>
17
  for ( $i = 1; $i <= 10; $i++ ) : ?>
18
  <option <?php selected( $group->ad_count, $i ); ?>><?php echo $i; ?></option>
19
  <?php endfor;
20
+ ?><option <?php selected( $group->ad_count, 'all' ); ?> value="all"><?php _ex('all', 'option to display all ads in an ad groups', ADVADS_SLUG); ?></option>
21
+ </select>
22
  </label>
23
  <p class="description"><?php _e( 'Number of ads to display in the block', ADVADS_SLUG ); ?></p>
24
  <h3><?php _e( 'Ads', ADVADS_SLUG ); ?></h3>
admin/views/ad-group.php CHANGED
@@ -5,7 +5,7 @@
5
  * @since 1.0.0
6
  * @see /wp-admin/edit-tags.php (for a good example in WP core)
7
  */
8
- $ad_groups_list = new AdvAds_Groups_List();
9
 
10
  // save updated groups
11
  if ( isset($_REQUEST['advads-group-update-nonce']) ){
5
  * @since 1.0.0
6
  * @see /wp-admin/edit-tags.php (for a good example in WP core)
7
  */
8
+ $ad_groups_list = new Advanced_Ads_Groups_List();
9
 
10
  // save updated groups
11
  if ( isset($_REQUEST['advads-group-update-nonce']) ){
admin/views/ad-parameters-metabox.php CHANGED
@@ -6,7 +6,7 @@
6
  * @filesource includes/class-ajax-callbacks.php ::load_ad_parameters_metabox
7
  * @filesource classes/ad-type-content.php :: renter_parameters()
8
  */
9
- ?>
10
  <div id="advanced-ads-ad-parameters">
11
  <?php $type = (isset($types[$ad->type])) ? $types[$ad->type] : current( $types );
12
  $type->render_parameters( $ad );
6
  * @filesource includes/class-ajax-callbacks.php ::load_ad_parameters_metabox
7
  * @filesource classes/ad-type-content.php :: renter_parameters()
8
  */
9
+ do_action( 'advanced-ads-ad-params-before', $ad, $types ); ?>
10
  <div id="advanced-ads-ad-parameters">
11
  <?php $type = (isset($types[$ad->type])) ? $types[$ad->type] : current( $types );
12
  $type->render_parameters( $ad );
admin/views/ad-visitor-metabox.php CHANGED
@@ -1,5 +1,105 @@
1
- <p class="description"><?php _e( 'Display conditions that are based on the user. Use with caution on cached websites.', ADVADS_SLUG ); ?></p>
2
- <?php $options = $ad->options( 'visitor' ); ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  <ul id="advanced-ad-visitor-mobile">
4
  <li>
5
  <input type="radio" name="advanced_ad[visitor][mobile]"
@@ -16,7 +116,5 @@
16
  <label for="advanced-ad-visitor-mobile-no"><?php _e( 'not on mobile devices', ADVADS_SLUG ); ?></label>
17
  </li>
18
  </ul>
19
- <?php do_action( 'advanced-ads-visitor-conditions-after', $ad ); ?>
20
- <?php if ( ! defined( 'AAR_SLUG' ) ) : ?>
21
- <p><?php printf( __( 'Define the exact browser width for which an ad should be visible using the <a href="%s" target="_blank">Responsive add-on</a>.', ADVADS_SLUG ), ADVADS_URL . 'add-ons/responsive-ads/' ); ?></p>
22
- <?php endif;
1
+ <?php
2
+ $visitor_conditions = Advanced_Ads_Visitor_Conditions::get_instance()->conditions;
3
+ $options = $ad->options( 'visitors' );
4
+ ?><p class="description"><?php _e( 'Display conditions that are based on the user. Use with caution on cached websites.', ADVADS_SLUG ); ?></p>
5
+ <div id="advads-visitor-conditions">
6
+ <?php if ( isset( $options ) ) :
7
+ ?><table><tbody><?php
8
+ $i = 0;
9
+ foreach ( $options as $_options ) :
10
+ if ( isset( $visitor_conditions[ $_options['type'] ]['metabox'] ) ) {
11
+ $metabox = $visitor_conditions[ $_options['type'] ]['metabox'];
12
+ } else {
13
+ continue;
14
+ }
15
+ if ( method_exists( $metabox[0], $metabox[1] ) ) {
16
+ $_connector = isset( $_options['connector'] ) ? esc_attr( $_options['connector'] ) : 'and';
17
+ ?><tr><td colspan="3" class="advads-visitor-conditions-connector-<?php echo $_connector; ?>"><?php echo $_connector ?><hr/></td></tr><?php
18
+ ?><tr><td></td><td><?php
19
+ call_user_func( array( $metabox[0], $metabox[1] ), $_options, $i++ );
20
+ ?></td><td><button type="button" class="advads-visitor-conditions-remove button">x</button></td></tr><?php
21
+ }
22
+ endforeach;
23
+ ?></tbody></table><?php
24
+ endif; ?>
25
+ <input type="hidden" id="advads-visitor-conditions-index" value="<?php echo isset( $options ) ? count( $options ) : 0; ?>"/>
26
+ </div>
27
+ <hr/>
28
+ <fieldset>
29
+ <legend><?php _e( 'New condition', ADVADS_SLUG ); ?></legend>
30
+ <div id="advads-visitor-conditions-new">
31
+ <div class="advads-buttonset"<?php if ( ! isset( $options ) || 0 === count( $options ) ) { echo ' style="display: none;"'; } ?>>
32
+ <input type="radio" name="advads-visitor-conditions-new-andor" id="advads-visitor-conditions-new-and" value="and"/><label for="advads-visitor-conditions-new-and"><?php _ex( 'and', 'visitor condition connector', ADVADS_SLUG ); ?></label>
33
+ <input type="radio" name="advads-visitor-conditions-new-andor" id="advads-visitor-conditions-new-or" value="or"/><label for="advads-visitor-conditions-new-or"><?php _ex( 'or', 'visitor condition connector', ADVADS_SLUG ); ?></label>
34
+ </div>
35
+ <select>
36
+ <option value=""><?php _e( '-- choose a condition --', ADVADS_SLUG ); ?></option>
37
+ <?php foreach ( $visitor_conditions as $_condition_id => $_condition ) : ?>
38
+ <option value="<?php echo $_condition_id; ?>"><?php echo $_condition['label']; ?></option>
39
+ <?php endforeach; ?>
40
+ </select>
41
+ <button type="button" class="button"><?php _e( 'add', ADVADS_SLUG ); ?></button>
42
+ </div>
43
+ </fieldset>
44
+ <?php if ( ! defined( 'AAR_SLUG' ) ) : ?>
45
+ <p><?php printf( __( 'Define the exact browser width for which an ad should be visible using the <a href="%s" target="_blank">Responsive add-on</a>.', ADVADS_SLUG ), ADVADS_URL . 'add-ons/responsive-ads/' ); ?></p>
46
+ <?php endif;
47
+ ?><script>
48
+ jQuery( document ).ready(function ($) {
49
+ $('#advads-visitor-conditions-new button').click(function(){
50
+ var visitor_condition_type = $('#advads-visitor-conditions-new select').val();
51
+ if ( $('#advads-visitor-conditions-new .advads-buttonset :checked').length ){
52
+ var visitor_condition_connector = $('#advads-visitor-conditions-new .advads-buttonset :checked').val();
53
+ } else {
54
+ var visitor_condition_connector = 'and';
55
+ }
56
+ var visitor_condition_index = parseInt( $('#advads-visitor-conditions-index').val() );
57
+ if( ! visitor_condition_type ) return;
58
+ $.ajax({
59
+ type: 'POST',
60
+ url: ajaxurl,
61
+ data: {
62
+ action: 'load_visitor_conditions_metabox',
63
+ type: visitor_condition_type,
64
+ connector: visitor_condition_connector,
65
+ index: visitor_condition_index
66
+ },
67
+ success: function (r, textStatus, XMLHttpRequest) {
68
+ // add
69
+ if (r) {
70
+ var newline = '<tr class="advads-visitor-conditions-connector"><td colspan="3" class="advads-visitor-conditions-connector-' + visitor_condition_connector + '">' + visitor_condition_connector + '<hr/></td></tr>' +
71
+ '<tr><td></td><td>' + r + '</td><td><button type="button" class="advads-visitor-conditions-remove button">x</button></td></tr>';
72
+ $( '#advads-visitor-conditions table tbody' ).append( newline );
73
+ // increase count
74
+ visitor_condition_index++;
75
+ $('#advads-visitor-conditions-index').val( visitor_condition_index );
76
+ advads_toogle_visitor_conditions_connector();
77
+ }
78
+ },
79
+ error: function (MLHttpRequest, textStatus, errorThrown) {
80
+ $( '#advads-visitor-conditions-new' ).append( errorThrown );
81
+ }
82
+ });
83
+ });
84
+ $(document).on('click', '.advads-visitor-conditions-remove', function(){
85
+ var row = $(this).parents('#advads-visitor-conditions table tr');
86
+ row.prev('tr').remove();
87
+ row.remove();
88
+ advads_toogle_visitor_conditions_connector();
89
+ });
90
+ });
91
+ // show / hide connector
92
+ function advads_toogle_visitor_conditions_connector(){
93
+ if( jQuery('#advads-visitor-conditions table tr').length ) {
94
+ jQuery('#advads-visitor-conditions-new .advads-buttonset').show();
95
+ } else {
96
+ jQuery('#advads-visitor-conditions-new .advads-buttonset').hide();
97
+ }
98
+ }
99
+ </script>
100
+ <?php $options = $ad->options( 'visitor' );
101
+ if ( isset( $options['mobile'] ) && '' !== $options['mobile'] ) :
102
+ ?><p style="color: red;"><?php _e( 'The visitor conditions below are deprecated. Please use the new version of visitor conditions to replace it.', ADVADS_SLUG ); ?></p>
103
  <ul id="advanced-ad-visitor-mobile">
104
  <li>
105
  <input type="radio" name="advanced_ad[visitor][mobile]"
116
  <label for="advanced-ad-visitor-mobile-no"><?php _e( 'not on mobile devices', ADVADS_SLUG ); ?></label>
117
  </li>
118
  </ul>
119
+ <?php endif; ?>
120
+ <?php do_action( 'advanced-ads-visitor-conditions-after', $ad ); ?>
 
 
admin/views/debug.php CHANGED
@@ -2,9 +2,7 @@
2
  /**
3
  * the view for the debug page
4
  */
5
- ?>
6
-
7
- <div class="wrap">
8
  <h2 style="color:red;"><?php _e( 'Work in progress', ADVADS_SLUG ); ?></h2>
9
  <p><?php _e( 'This screen is work in progress. You can use the information if you understand them, but there is nothing to do here yet.', ADVADS_SLUG ); ?></p>
10
  <?php screen_icon(); ?>
@@ -16,4 +14,5 @@
16
  <h2><?php _e( 'Ad Placements', ADVADS_SLUG ); ?></h2>
17
  <pre><?php print_r( $ad_placements ); ?></pre>
18
 
19
- </div>
 
2
  /**
3
  * the view for the debug page
4
  */
5
+ ?><div class="wrap">
 
 
6
  <h2 style="color:red;"><?php _e( 'Work in progress', ADVADS_SLUG ); ?></h2>
7
  <p><?php _e( 'This screen is work in progress. You can use the information if you understand them, but there is nothing to do here yet.', ADVADS_SLUG ); ?></p>
8
  <?php screen_icon(); ?>
14
  <h2><?php _e( 'Ad Placements', ADVADS_SLUG ); ?></h2>
15
  <pre><?php print_r( $ad_placements ); ?></pre>
16
 
17
+ <?php do_action('advanced-ads-debug-after', $plugin_options); ?>
18
+ </div>
admin/views/notices/error.php ADDED
@@ -0,0 +1 @@
 
1
+ <div class="error advads-admin-notice"><p><?php echo $text; ?><button type="button" class="button-primary advads-notices-button-close" data-notice="<?php echo $_notice; ?>"><?php _e('OK', ADVADS_SLUG); ?></button></p></div>
admin/views/notices/inline.php ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
1
+ <div class="advads-admin-notice-inline advads-admin-notice">
2
+ <p><?php echo $text; ?>
3
+ <button type="button" class="button-primary advads-notices-button-subscribe" data-notice="<?php echo $_notice ?>"><?php echo isset( $notice['confirm_text'] ) ? $notice['confirm_text'] : __('Subscribe me now', ADVADS_SLUG); ?></button>
4
+ <button type="button" class="button-secondary advads-notices-button-close" data-notice="<?php echo $_notice; ?>"><?php _e('Close', ADVADS_SLUG); ?></button>
5
+ </p>
6
+ </div>
admin/views/notices/subscribe.php ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
1
+ <div class="updated advads-admin-notice">
2
+ <p><?php echo $text; ?>
3
+ <button type="button" class="button-primary advads-notices-button-subscribe" data-notice="<?php echo $_notice ?>"><?php echo isset( $notice['confirm_text'] ) ? $notice['confirm_text'] : __('Subscribe me now', ADVADS_SLUG); ?></button>
4
+ <button type="button" class="button-secondary advads-notices-button-close" data-notice="<?php echo $_notice; ?>"><?php _e('Close', ADVADS_SLUG); ?></button>
5
+ </p>
6
+ </div>
admin/views/placements.php CHANGED
@@ -11,41 +11,10 @@
11
  endif; ?>
12
  <?php endif; ?>
13
  <?php screen_icon(); ?>
14
- <h1><?php echo esc_html( get_admin_page_title() ); ?></h1>
15
  <p class="description"><?php _e( 'Placements are physically places in your theme and posts. You can use them if you plan to change ads and ad groups on the same place without the need to change your templates.', ADVADS_SLUG ); ?></p>
16
  <p class="description"><?php printf( __( 'See also the manual for more information on <a href="%s">placements</a> and <a href="%s">auto injection</a>.', ADVADS_SLUG ), ADVADS_URL . 'advancedads/manual/placements/', ADVADS_URL . 'advancedads/manual/auto-injection/' ); ?></p>
17
- <h2><?php _e( 'Create a new placement', ADVADS_SLUG ); ?></h2>
18
- <form method="POST" action="" class="advads-placements-new-form">
19
- <label for="advads-placement-type"><?php _e( 'Type', ADVADS_SLUG ); ?></label>
20
- <select id="advads-plcement-type" name="advads[placement][type]">
21
- <?php
22
- if ( is_array( $placement_types ) ) {
23
- foreach ( $placement_types as $_key => $_place ) :
24
- ?><option value="<?php echo $_key; ?>"><?php echo $_place['title']; ?></option><?php
25
- endforeach; };
26
- ?>
27
- </select>
28
- <a onclick="advads_toggle('#advads-ad-place-type-info')"><?php _e( 'What is this?', ADVADS_SLUG ); ?></a>
29
- <div id="advads-ad-place-type-info" style="display: none;">
30
- <p class="description"><?php _e( 'Placement types define how the placements works and where it is going to be displayed.', ADVADS_SLUG ); ?></p>
31
- <dl><?php foreach ( $placement_types as $_place ) : ?>
32
- <dt><?php echo $_place['title']; ?></dt><dd><?php echo $_place['description']; ?></dd>
33
- <?php endforeach; ?>
34
- </dl>
35
- </div>
36
-
37
-
38
- <br/>
39
- <label for="advads-placement-name"><?php _e( 'Name', ADVADS_SLUG ); ?></label>
40
- <input id="advads-plcement-name" name="advads[placement][name]" type="text" value=""/><br/>
41
- <label for="advads-placement-slug"><?php _e( 'ID', ADVADS_SLUG ); ?></label>
42
- <input id="advads-plcement-slug" name="advads[placement][slug]" type="text" value=""/>
43
- <p class="description"><?php _e( 'Individual identifier. Allowed are alphanumeric signs (lower case) and hyphen.', ADVADS_SLUG ); ?></p>
44
- <p class=""><?php _e( 'You can assign Ads and Groups after you created the placement.', ADVADS_SLUG ); ?></p>
45
- <input type="submit" class="button button-primary" value="<?php _e( 'Save New Placement', ADVADS_SLUG ); ?>"/>
46
- <?php wp_nonce_field( 'advads-placement', 'advads_placement', true ) ?>
47
- </form>
48
- <?php if ( isset($placements) && is_array( $placements ) ) : ?>
49
  <h2><?php _e( 'Placements', ADVADS_SLUG ); ?></h2>
50
  <a onclick="advads_toggle('#advads-ad-place-display-info')"><?php _e( 'How to use the <i>default</i> Ad Placement?', ADVADS_SLUG ); ?></a>
51
  <div id="advads-ad-place-display-info" style="display: none;">
@@ -58,12 +27,11 @@
58
  <pre><input type="text" onclick="this.select();" style="width: 400px;" value='the_ad_placement("skyscraper_left");'/></pre>
59
  </div>
60
  <form method="POST" action="">
61
- <table class="advads-placements-table">
62
  <thead>
63
  <tr>
64
  <th><?php _e( 'Name', ADVADS_SLUG ); ?></th>
65
  <th><?php _e( 'Type', ADVADS_SLUG ); ?></th>
66
- <th><?php _e( 'ID', ADVADS_SLUG ); ?></th>
67
  <th><?php _e( 'Options', ADVADS_SLUG ); ?></th>
68
  <th></th>
69
  </tr>
@@ -73,9 +41,12 @@
73
  $_placement['type'] = ( ! empty($_placement['type'])) ? $_placement['type'] : 'default';
74
  ?>
75
  <tr>
76
- <td><?php echo $_placement['name']; ?></td>
 
 
 
 
77
  <td><?php echo (isset($_placement['type']) && ! empty($placement_types[$_placement['type']]['title'])) ? $placement_types[$_placement['type']]['title'] : __( 'default', ADVADS_SLUG ); ?></td>
78
- <th><?php echo $_placement_slug; ?></th>
79
  <td class="advads-placements-table-options">
80
  <?php do_action( 'advanced-ads-placement-options-before', $_placement_slug, $_placement );
81
  $items = Advanced_Ads_Placements::items_for_select(); ?>
@@ -137,4 +108,24 @@
137
  <?php wp_nonce_field( 'advads-placement', 'advads_placement', true ) ?>
138
  </form>
139
  <?php endif; ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
140
  </div>
11
  endif; ?>
12
  <?php endif; ?>
13
  <?php screen_icon(); ?>
14
+ <h2><?php echo esc_html( get_admin_page_title() ); ?></h2>
15
  <p class="description"><?php _e( 'Placements are physically places in your theme and posts. You can use them if you plan to change ads and ad groups on the same place without the need to change your templates.', ADVADS_SLUG ); ?></p>
16
  <p class="description"><?php printf( __( 'See also the manual for more information on <a href="%s">placements</a> and <a href="%s">auto injection</a>.', ADVADS_SLUG ), ADVADS_URL . 'advancedads/manual/placements/', ADVADS_URL . 'advancedads/manual/auto-injection/' ); ?></p>
17
+ <?php if ( isset($placements) && is_array( $placements ) && count( $placements ) ) : ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
  <h2><?php _e( 'Placements', ADVADS_SLUG ); ?></h2>
19
  <a onclick="advads_toggle('#advads-ad-place-display-info')"><?php _e( 'How to use the <i>default</i> Ad Placement?', ADVADS_SLUG ); ?></a>
20
  <div id="advads-ad-place-display-info" style="display: none;">
27
  <pre><input type="text" onclick="this.select();" style="width: 400px;" value='the_ad_placement("skyscraper_left");'/></pre>
28
  </div>
29
  <form method="POST" action="">
30
+ <table class="widefat advads-placements-table">
31
  <thead>
32
  <tr>
33
  <th><?php _e( 'Name', ADVADS_SLUG ); ?></th>
34
  <th><?php _e( 'Type', ADVADS_SLUG ); ?></th>
 
35
  <th><?php _e( 'Options', ADVADS_SLUG ); ?></th>
36
  <th></th>
37
  </tr>
41
  $_placement['type'] = ( ! empty($_placement['type'])) ? $_placement['type'] : 'default';
42
  ?>
43
  <tr>
44
+ <th><?php echo $_placement['name']; ?><br/>
45
+ <?php if( 'default' === $_placement['type']) :
46
+ ?><span>ID: <?php echo $_placement_slug; ?></span><?php
47
+ endif;
48
+ ?></th>
49
  <td><?php echo (isset($_placement['type']) && ! empty($placement_types[$_placement['type']]['title'])) ? $placement_types[$_placement['type']]['title'] : __( 'default', ADVADS_SLUG ); ?></td>
 
50
  <td class="advads-placements-table-options">
51
  <?php do_action( 'advanced-ads-placement-options-before', $_placement_slug, $_placement );
52
  $items = Advanced_Ads_Placements::items_for_select(); ?>
108
  <?php wp_nonce_field( 'advads-placement', 'advads_placement', true ) ?>
109
  </form>
110
  <?php endif; ?>
111
+
112
+ <p><button type="button" class="<?php echo ( isset($placements) && count( $placements ) ) ? 'button-secondary' : 'button-primary'; ?>" onclick="advads_toggle('.advads-placements-new-form')"><?php _e( 'Create a new placement', ADVADS_SLUG ); ?></button></p>
113
+ <form method="POST" action="" class="advads-placements-new-form" style="display: none;">
114
+ <h4>1. <?php _e( 'Choose a placement type', ADVADS_SLUG ); ?></h4>
115
+ <p class="description"><?php printf(__( 'Placement types define how the placements works and where it is going to be displayed. Learn more about the different types from the <a href="%s">manual</a>', ADVADS_SLUG ), ADVADS_URL . 'manual/placements/' ); ?></p>
116
+ <?php
117
+ if ( is_array( $placement_types ) ) {
118
+ foreach ( $placement_types as $_key => $_place ) :
119
+ ?><p><label>
120
+ <input type="radio" name="advads[placement][type]" value="<?php echo $_key; ?>"/><?php echo $_place['title']; ?></label>
121
+ <span class="description"><?php echo $_place['description']; ?></span>
122
+ </p><?php
123
+ endforeach; };
124
+ ?>
125
+ <h4>2. <?php _e( 'Choose a Name', ADVADS_SLUG ); ?></h4>
126
+ <p class="description"><?php _e( 'The name of the placement is only visible to you. Tip: choose a descriptive one, e.g. <em>Below Post Headline</em>.', ADVADS_SLUG ); ?></p>
127
+ <p><input name="advads[placement][name]" type="text" value="" placeholder="<?php _e( 'Placement Name', ADVADS_SLUG ); ?>"/></p>
128
+ <input type="submit" class="button button-primary" value="<?php _e( 'Save New Placement', ADVADS_SLUG ); ?>"/>
129
+ <?php wp_nonce_field( 'advads-placement', 'advads_placement', true ) ?>
130
+ </form>
131
  </div>
advanced-ads.php CHANGED
@@ -2,17 +2,17 @@
2
  /**
3
  * Advanced Ads.
4
  *
5
- * @package Advanced_Ads_Admin
6
  * @author Thomas Maier <thomas.maier@webgilde.com>
7
  * @license GPL-2.0+
8
  * @link http://webgilde.com
9
- * @copyright 2013-2014 Thomas Maier, webgilde GmbH
10
  *
11
  * @wordpress-plugin
12
  * Plugin Name: Advanced Ads
13
  * Plugin URI: https://wpadvancedads.com
14
  * Description: Manage and optimize your ads in WordPress
15
- * Version: 1.5.2.1
16
  * Author: Thomas Maier
17
  * Author URI: http://webgilde.com
18
  * Text Domain: advanced-ads
@@ -38,6 +38,7 @@ define( 'ADVADS_BASE_DIR', dirname( plugin_basename( __FILE__ ) ) ); // director
38
  // general and global slug, e.g. to store options in WP, textdomain
39
  define( 'ADVADS_SLUG', 'advanced-ads' );
40
  define( 'ADVADS_URL', 'https://wpadvancedads.com/' );
 
41
 
42
  /*----------------------------------------------------------------------------*
43
  * Autoloading, modules and functions
2
  /**
3
  * Advanced Ads.
4
  *
5
+ * @package Advanced_Ads
6
  * @author Thomas Maier <thomas.maier@webgilde.com>
7
  * @license GPL-2.0+
8
  * @link http://webgilde.com
9
+ * @copyright 2013-2015 Thomas Maier, webgilde GmbH
10
  *
11
  * @wordpress-plugin
12
  * Plugin Name: Advanced Ads
13
  * Plugin URI: https://wpadvancedads.com
14
  * Description: Manage and optimize your ads in WordPress
15
+ * Version: 1.5.4
16
  * Author: Thomas Maier
17
  * Author URI: http://webgilde.com
18
  * Text Domain: advanced-ads
38
  // general and global slug, e.g. to store options in WP, textdomain
39
  define( 'ADVADS_SLUG', 'advanced-ads' );
40
  define( 'ADVADS_URL', 'https://wpadvancedads.com/' );
41
+ define( 'ADVADS_VERSION', '1.5.4' );
42
 
43
  /*----------------------------------------------------------------------------*
44
  * Autoloading, modules and functions
classes/ad-select.php CHANGED
@@ -100,7 +100,7 @@ class Advanced_Ads_Select {
100
  }
101
 
102
  // get ad
103
- $ad = new Advads_Ad( (int) $args['id'], $args );
104
 
105
  // check conditions
106
  if ( $ad->can_display() ) {
@@ -115,7 +115,7 @@ class Advanced_Ads_Select {
115
  }
116
 
117
  // get ad
118
- $adgroup = new Advads_Ad_Group( (int) $args['id'] );
119
  return $adgroup->output();
120
  }
121
 
100
  }
101
 
102
  // get ad
103
+ $ad = new Advanced_Ads_Ad( (int) $args['id'], $args );
104
 
105
  // check conditions
106
  if ( $ad->can_display() ) {
115
  }
116
 
117
  // get ad
118
+ $adgroup = new Advanced_Ads_Group( (int) $args['id'] );
119
  return $adgroup->output();
120
  }
121
 
classes/ad.php CHANGED
@@ -1,9 +1,9 @@
1
  <?php
2
 
3
  /**
4
- * Advanced Ads.
5
  *
6
- * @package Advads_Ad
7
  * @author Thomas Maier <thomas.maier@webgilde.com>
8
  * @license GPL-2.0+
9
  * @link http://webgilde.com
@@ -13,10 +13,20 @@
13
  /**
14
  * an ad object
15
  *
16
- * @package Advads_Ad
17
  * @author Thomas Maier <thomas.maier@webgilde.com>
 
18
  */
19
- class Advads_Ad {
 
 
 
 
 
 
 
 
 
20
 
21
  /**
22
  * id of the post type for this ad
@@ -145,7 +155,7 @@ class Advads_Ad {
145
  if ( isset($types[$this->type]) ){
146
  $this->type_obj = $types[$this->type];
147
  } else {
148
- $this->type_obj = new Advads_Ad_Type_Abstract;
149
  }
150
  $this->width = $this->options( 'width' );
151
  $this->height = $this->options( 'height' );
@@ -509,13 +519,41 @@ class Advads_Ad {
509
  */
510
  public function can_display_by_visitor(){
511
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
512
  if ( empty($this->options['visitor']) ||
513
  ! is_array( $this->options['visitor'] ) ) { return true; }
514
-
515
  $visitor_conditions = $this->options( 'visitor' );
516
 
517
  // check mobile condition
518
- if ( ! empty($visitor_conditions['mobile']) ){
519
  switch ( $visitor_conditions['mobile'] ){
520
  case 'only' :
521
  if ( ! wp_is_mobile() ) { return false; }
@@ -630,6 +668,10 @@ class Advads_Ad {
630
 
631
  // load ad type specific content filter
632
  $output = $this->type_obj->prepare_output( $this );
 
 
 
 
633
 
634
  // filter to manipulate the output before the wrapper is added
635
  $output = apply_filters( 'advanced-ads-output-inside-wrapper', $output, $this );
1
  <?php
2
 
3
  /**
4
+ * Advanced Ads Ad.
5
  *
6
+ * @package Advanced_Ads_Ad
7
  * @author Thomas Maier <thomas.maier@webgilde.com>
8
  * @license GPL-2.0+
9
  * @link http://webgilde.com
13
  /**
14
  * an ad object
15
  *
16
+ * @package Advanced_Ads_Ad
17
  * @author Thomas Maier <thomas.maier@webgilde.com>
18
+ * @deprecated since version 1.5.3 (May 6th 2015)
19
  */
20
+ class Advads_Ad extends Advanced_Ads_Ad {
21
+
22
+ }
23
+ /**
24
+ * an ad object
25
+ *
26
+ * @package Advanced_Ads_Ad
27
+ * @author Thomas Maier <thomas.maier@webgilde.com>
28
+ */
29
+ class Advanced_Ads_Ad {
30
 
31
  /**
32
  * id of the post type for this ad
155
  if ( isset($types[$this->type]) ){
156
  $this->type_obj = $types[$this->type];
157
  } else {
158
+ $this->type_obj = new Advanced_Ads_Ad_Type_Abstract;
159
  }
160
  $this->width = $this->options( 'width' );
161
  $this->height = $this->options( 'height' );
519
  */
520
  public function can_display_by_visitor(){
521
 
522
+ // check old "visitor" and new "visitors" conditions
523
+ if ( ( empty($this->options['visitors']) ||
524
+ ! is_array( $this->options['visitors'] ) )
525
+ && ( empty($this->options['visitor']) ||
526
+ ! is_array( $this->options['visitor'] )
527
+ )) { return true; }
528
+
529
+ if ( isset( $this->options['visitors'] ) && is_array( $this->options['visitors'] ) ) {
530
+
531
+ $visitor_conditions = $this->options['visitors'];
532
+
533
+ foreach( $visitor_conditions as $_condition ) {
534
+ $result = Advanced_Ads_Visitor_Conditions::frontend_check( $_condition );
535
+ if( ! $result ) {
536
+ // return false only, if the next condition doesn’t have an OR operator
537
+ $next = next( $visitor_conditions );
538
+ if( ! isset( $next['connector'] ) || $next['connector'] !== 'or' ) {
539
+ return false;
540
+ }
541
+ }
542
+ }
543
+ }
544
+
545
+ /**
546
+ * "old" visitor conditions
547
+ *
548
+ * @deprecated since version 1.5.4
549
+ */
550
+
551
  if ( empty($this->options['visitor']) ||
552
  ! is_array( $this->options['visitor'] ) ) { return true; }
 
553
  $visitor_conditions = $this->options( 'visitor' );
554
 
555
  // check mobile condition
556
+ if ( isset($visitor_conditions['mobile']) ){
557
  switch ( $visitor_conditions['mobile'] ){
558
  case 'only' :
559
  if ( ! wp_is_mobile() ) { return false; }
668
 
669
  // load ad type specific content filter
670
  $output = $this->type_obj->prepare_output( $this );
671
+ // don’t deliver anything, if main ad content is empty
672
+ if( $output == '' ) {
673
+ return;
674
+ }
675
 
676
  // filter to manipulate the output before the wrapper is added
677
  $output = apply_filters( 'advanced-ads-output-inside-wrapper', $output, $this );
classes/ad_ajax_callbacks.php CHANGED
@@ -7,7 +7,7 @@
7
  * @author Thomas Maier <thomas.maier@webgilde.com>
8
  * @license GPL-2.0+
9
  * @link http://webgilde.com
10
- * @copyright 2013 Thomas Maier, webgilde GmbH
11
  */
12
 
13
  /**
@@ -16,14 +16,17 @@
16
  * @package Advanced_Ads_Ajax_Callbacks
17
  * @author Thomas Maier <thomas.maier@webgilde.com>
18
  */
19
- class Advads_Ad_Ajax_Callbacks {
20
 
21
  public function __construct() {
22
 
23
  // NOTE: admin only!
24
  add_action( 'wp_ajax_load_content_editor', array( $this, 'load_content_editor' ) );
25
  add_action( 'wp_ajax_load_ad_parameters_metabox', array( $this, 'load_ad_parameters_metabox' ) );
 
26
  add_action( 'wp_ajax_advads-terms-search', array( $this, 'search_terms' ) );
 
 
27
  }
28
 
29
  /**
@@ -38,7 +41,7 @@ class Advads_Ad_Ajax_Callbacks {
38
  $ad_id = absint( $_REQUEST['ad_id'] );
39
  if ( empty($ad_id) ) { wp_die(); }
40
 
41
- $ad = new Advads_Ad( $ad_id );
42
 
43
  if ( ! empty($types[$type]) && method_exists( $types[$type], 'render_parameters' ) ) {
44
  $types[$type]->render_parameters( $ad );
@@ -55,6 +58,39 @@ class Advads_Ad_Ajax_Callbacks {
55
 
56
  }
57
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
58
  /**
59
  * search terms belonging to a specific taxonomy
60
  *
@@ -80,4 +116,30 @@ class Advads_Ad_Ajax_Callbacks {
80
  echo "\n";
81
  wp_die();
82
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
83
  }
7
  * @author Thomas Maier <thomas.maier@webgilde.com>
8
  * @license GPL-2.0+
9
  * @link http://webgilde.com
10
+ * @copyright 2013-2015 Thomas Maier, webgilde GmbH
11
  */
12
 
13
  /**
16
  * @package Advanced_Ads_Ajax_Callbacks
17
  * @author Thomas Maier <thomas.maier@webgilde.com>
18
  */
19
+ class Advanced_Ads_Ad_Ajax_Callbacks {
20
 
21
  public function __construct() {
22
 
23
  // NOTE: admin only!
24
  add_action( 'wp_ajax_load_content_editor', array( $this, 'load_content_editor' ) );
25
  add_action( 'wp_ajax_load_ad_parameters_metabox', array( $this, 'load_ad_parameters_metabox' ) );
26
+ add_action( 'wp_ajax_load_visitor_conditions_metabox', array( $this, 'load_visitor_condition' ) );
27
  add_action( 'wp_ajax_advads-terms-search', array( $this, 'search_terms' ) );
28
+ add_action( 'wp_ajax_advads-close-notice', array( $this, 'close_notice' ) );
29
+ add_action( 'wp_ajax_advads-subscribe-notice', array( $this, 'subscribe' ) );
30
  }
31
 
32
  /**
41
  $ad_id = absint( $_REQUEST['ad_id'] );
42
  if ( empty($ad_id) ) { wp_die(); }
43
 
44
+ $ad = new Advanced_Ads_Ad( $ad_id );
45
 
46
  if ( ! empty($types[$type]) && method_exists( $types[$type], 'render_parameters' ) ) {
47
  $types[$type]->render_parameters( $ad );
58
 
59
  }
60
 
61
+ /**
62
+ * load interface for single visitor condition
63
+ *
64
+ * @since 1.5.4
65
+ */
66
+ public function load_visitor_condition() {
67
+
68
+ if( ! current_user_can( 'manage_options') ) {
69
+ return;
70
+ }
71
+
72
+ // get visitor condition types
73
+ $visitor_conditions = Advanced_Ads_Visitor_Conditions::get_instance()->conditions;
74
+ $condition = array();
75
+
76
+ $condition['type'] = isset( $_POST['type'] ) ? $_POST['type'] : '';
77
+ $condition['connector'] = isset( $_POST['connector'] ) ? $_POST['connector'] : '';
78
+
79
+ $index = isset( $_POST['index'] ) ? $_POST['index'] : 0;
80
+
81
+ if( isset( $visitor_conditions[$condition['type']] ) ) {
82
+ $metabox = $visitor_conditions[$condition['type']]['metabox'];
83
+ } else {
84
+ die();
85
+ }
86
+
87
+ if ( method_exists( $metabox[0], $metabox[1] ) ) {
88
+ call_user_func( array($metabox[0], $metabox[1]), $condition, $index );
89
+ }
90
+
91
+ die();
92
+ }
93
+
94
  /**
95
  * search terms belonging to a specific taxonomy
96
  *
116
  echo "\n";
117
  wp_die();
118
  }
119
+
120
+ /**
121
+ * search terms belonging to a specific taxonomy
122
+ *
123
+ * @since 1.5.3
124
+ */
125
+ public function close_notice(){
126
+
127
+ if ( !isset( $_POST['notice'] ) || $_POST['notice'] === '' ) { die(); }
128
+
129
+ Advanced_Ads_Admin_Notices::get_instance()->remove_from_queue($_POST['notice']);
130
+ die();
131
+ }
132
+
133
+ /**
134
+ * subscribe to newsletter
135
+ *
136
+ * @since 1.5.3
137
+ */
138
+ public function subscribe(){
139
+
140
+ if ( !isset( $_POST['notice'] ) || $_POST['notice'] === '' ) { die(); }
141
+
142
+ echo Advanced_Ads_Admin_Notices::get_instance()->subscribe($_POST['notice']);
143
+ die();
144
+ }
145
  }
classes/ad_group.php CHANGED
@@ -3,7 +3,7 @@
3
  /**
4
  * Advanced Ads
5
  *
6
- * @package Advads_Ad_Group
7
  * @author Thomas Maier <thomas.maier@webgilde.com>
8
  * @license GPL-2.0+
9
  * @link http://webgilde.com
@@ -13,10 +13,10 @@
13
  /**
14
  * an ad group object
15
  *
16
- * @package Advads_Ad_Group
17
  * @author Thomas Maier <thomas.maier@webgilde.com>
18
  */
19
- class Advads_Ad_Group {
20
 
21
  /**
22
  * default ad group weight
@@ -127,7 +127,7 @@ class Advads_Ad_Group {
127
 
128
  // get ad count; default is 1
129
  if(isset($all_groups[$this->id]['ad_count'])){
130
- $this->ad_count = (int) $all_groups[$this->id]['ad_count'];
131
  }
132
  }
133
 
@@ -172,11 +172,13 @@ class Advads_Ad_Group {
172
  // +TODO should use ad-selection interface to output actual ad
173
  // .. might break context otherwise or cause hard to detect issues
174
  // load the ad object
175
- $ad = new Advads_Ad( $_ad_id );
176
  if ( $ad->can_display() ) {
177
  $output .= $ad->output();
178
  $ads_displayed++;
179
- if($ads_displayed === $this->ad_count) break;
 
 
180
  }
181
  // break the loop when maximum ads are reached
182
  }
3
  /**
4
  * Advanced Ads
5
  *
6
+ * @package Advanced_Ads_Group
7
  * @author Thomas Maier <thomas.maier@webgilde.com>
8
  * @license GPL-2.0+
9
  * @link http://webgilde.com
13
  /**
14
  * an ad group object
15
  *
16
+ * @package Advanced_Ads_Group
17
  * @author Thomas Maier <thomas.maier@webgilde.com>
18
  */
19
+ class Advanced_Ads_Group {
20
 
21
  /**
22
  * default ad group weight
127
 
128
  // get ad count; default is 1
129
  if(isset($all_groups[$this->id]['ad_count'])){
130
+ $this->ad_count = ($all_groups[$this->id]['ad_count'] === 'all' ) ? 'all' : absint( $all_groups[$this->id]['ad_count'] );
131
  }
132
  }
133
 
172
  // +TODO should use ad-selection interface to output actual ad
173
  // .. might break context otherwise or cause hard to detect issues
174
  // load the ad object
175
+ $ad = new Advanced_Ads_Ad( $_ad_id );
176
  if ( $ad->can_display() ) {
177
  $output .= $ad->output();
178
  $ads_displayed++;
179
+ if( $ads_displayed === $this->ad_count ) {
180
+ break;
181
+ }
182
  }
183
  // break the loop when maximum ads are reached
184
  }
classes/ad_placements.php CHANGED
@@ -93,15 +93,11 @@ class Advanced_Ads_Placements {
93
  // load placements // -TODO use model
94
  $placements = Advanced_Ads::get_ad_placements_array();
95
 
96
- // escape slug as slug
97
- $new_placement['slug'] = sanitize_title( $new_placement['slug'] );
98
 
99
- // check if slug already exists
100
- if ( $new_placement['slug'] == '' ) {
101
- return false;
102
- }
103
-
104
- if ( isset($placements[$new_placement['slug']]) ) {
105
  return false;
106
  }
107
 
93
  // load placements // -TODO use model
94
  $placements = Advanced_Ads::get_ad_placements_array();
95
 
96
+ // create slug
97
+ $new_placement['slug'] = sanitize_title( $new_placement['name'] );
98
 
99
+ // check if slug already exists or is empty
100
+ if ( $new_placement['slug'] === '' || isset( $placements[$new_placement['slug']] ) ) {
 
 
 
 
101
  return false;
102
  }
103
 
classes/ad_type_abstract.php CHANGED
@@ -13,7 +13,7 @@
13
  * see ad_type_content.php for an example on ad type
14
  *
15
  */
16
- class Advads_Ad_Type_Abstract {
17
 
18
  /**
19
  * ID - internal type of the ad type
13
  * see ad_type_content.php for an example on ad type
14
  *
15
  */
16
+ class Advanced_Ads_Ad_Type_Abstract {
17
 
18
  /**
19
  * ID - internal type of the ad type
classes/ad_type_content.php CHANGED
@@ -14,7 +14,7 @@
14
  * see also includes/ad-type-abstract.php for basic object
15
  *
16
  */
17
- class Advads_Ad_Type_Content extends Advads_Ad_Type_Abstract{
18
 
19
  /**
20
  * ID - internal type of the ad type
14
  * see also includes/ad-type-abstract.php for basic object
15
  *
16
  */
17
+ class Advanced_Ads_Ad_Type_Content extends Advanced_Ads_Ad_Type_Abstract{
18
 
19
  /**
20
  * ID - internal type of the ad type
classes/ad_type_plain.php CHANGED
@@ -13,7 +13,7 @@
13
  * see ad-type-content.php for a better sample on ad type
14
  *
15
  */
16
- class Advads_Ad_Type_Plain extends Advads_Ad_Type_Abstract{
17
 
18
  /**
19
  * ID - internal type of the ad type
13
  * see ad-type-content.php for a better sample on ad type
14
  *
15
  */
16
+ class Advanced_Ads_Ad_Type_Plain extends Advanced_Ads_Ad_Type_Abstract{
17
 
18
  /**
19
  * ID - internal type of the ad type
classes/plugin.php CHANGED
@@ -86,7 +86,7 @@ class Advanced_Ads_Plugin {
86
  // remove default ad group menu item // -TODO only for admin
87
  add_action( 'admin_menu', array( $this, 'remove_taxonomy_menu_item' ) );
88
  // load widgets
89
- add_action( 'widgets_init', array( $this, 'advads_widget_init' ) );
90
  }
91
 
92
  /**
@@ -121,8 +121,8 @@ class Advanced_Ads_Plugin {
121
  }
122
  }
123
 
124
- public function advads_widget_init() {
125
- register_widget( 'Advads_Widget' );
126
  }
127
 
128
  /**
@@ -343,7 +343,23 @@ class Advanced_Ads_Plugin {
343
  */
344
  public function internal_options() {
345
  if ( ! isset( $this->internal_options ) ) {
346
- $this->internal_options = get_option( ADVADS_SLUG . '-internal', array() );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
347
  }
348
 
349
  return $this->internal_options;
86
  // remove default ad group menu item // -TODO only for admin
87
  add_action( 'admin_menu', array( $this, 'remove_taxonomy_menu_item' ) );
88
  // load widgets
89
+ add_action( 'widgets_init', array( $this, 'widget_init' ) );
90
  }
91
 
92
  /**
121
  }
122
  }
123
 
124
+ public function widget_init() {
125
+ register_widget( 'Advanced_Ads_Widget' );
126
  }
127
 
128
  /**
343
  */
344
  public function internal_options() {
345
  if ( ! isset( $this->internal_options ) ) {
346
+ $defaults = array(
347
+ 'version' => ADVADS_VERSION,
348
+ 'installed' => time(), // when was this installed
349
+ );
350
+ $this->internal_options = get_option( ADVADS_SLUG . '-internal', array() );
351
+
352
+ // save defaults
353
+ if($this->internal_options === array()){
354
+ $this->internal_options = $defaults;
355
+ $this->update_internal_options($this->internal_options);
356
+ }
357
+
358
+ // for versions installed prior to 1.5.3 set installed date for now
359
+ if( ! isset( $this->internal_options['installed'] )){
360
+ $this->internal_options['installed'] = time();
361
+ $this->update_internal_options($this->internal_options);
362
+ }
363
  }
364
 
365
  return $this->internal_options;
classes/visitor-conditions.php ADDED
@@ -0,0 +1,169 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * visitor conditions under which to (not) show an ad
5
+ *
6
+ * @since 1.5.4
7
+ *
8
+ */
9
+ class Advanced_Ads_Visitor_Conditions {
10
+
11
+ /**
12
+ *
13
+ * @var Advanced_Ads_Visitor_Conditions
14
+ */
15
+ protected static $instance;
16
+
17
+ /**
18
+ * registered visitor conditions
19
+ */
20
+ public $conditions;
21
+
22
+ /**
23
+ * start of name in form elements
24
+ */
25
+ const FORM_NAME = 'advanced_ad[visitors]';
26
+
27
+ public function __construct() {
28
+
29
+ // register conditions
30
+ $this->conditions = apply_filters( 'advanced-ads-visitor-conditions', array(
31
+ 'mobile' => array( // type of the condition
32
+ 'label' => __( 'mobile device', ADVADS_SLUG ),
33
+ 'description' => __( 'Display ads only on mobile devices or hide them.', ADVADS_SLUG ),
34
+ 'metabox' => array( 'Advanced_Ads_Visitor_Conditions', 'metabox_is_or_not' ), // callback to generate the metabox
35
+ 'check' => array( 'Advanced_Ads_Visitor_Conditions', 'check_mobile' ) // callback for frontend check
36
+ ),
37
+ ));
38
+ }
39
+
40
+ /**
41
+ *
42
+ * @return Advanced_Ads_Plugin
43
+ */
44
+ public static function get_instance() {
45
+ // If the single instance hasn't been set, set it now.
46
+ if ( null === self::$instance ) {
47
+ self::$instance = new self;
48
+ }
49
+
50
+ return self::$instance;
51
+ }
52
+
53
+ /**
54
+ * callback to display the "is not" condition
55
+ *
56
+ * @param arr $options options of the condition
57
+ * @param int $index index of the condition
58
+ */
59
+ static function metabox_is_or_not( $options, $index = 0 ){
60
+
61
+ if ( ! isset ( $options['type'] ) || '' === $options['type'] ) { return; }
62
+
63
+ $type_options = self::get_instance()->conditions;
64
+
65
+ if ( ! isset( $type_options[ $options['type'] ] ) ) {
66
+ return;
67
+ }
68
+
69
+ // form name basis
70
+ $name = self::FORM_NAME . '[' . $index . ']';
71
+
72
+ // options
73
+ $operator = isset( $options['operator'] ) ? $options['operator'] : 'is';
74
+ $connector = isset( $options['connector'] ) ? $options['connector'] : 'and';
75
+
76
+ ?><p>
77
+ <input type="hidden" name="<?php echo $name; ?>[type]" value="<?php echo $options['type']; ?>"/>
78
+ <input type="hidden" name="<?php echo $name; ?>[connector]" value="<?php echo $connector; ?>"/>
79
+ <label><?php
80
+ echo $type_options[ $options['type'] ]['label'];
81
+ ?><select name="<?php echo $name; ?>[operator]">
82
+ <option value="is" <?php selected( 'is', $operator ); ?>><?php _e( 'is' ); ?></option>
83
+ <option value="is_not" <?php selected( 'is_not', $operator ); ?>><?php _e( 'is not' ); ?></option>
84
+ </select></label></p><?php
85
+ }
86
+
87
+ /**
88
+ * callback to display the any condition based on a number
89
+ *
90
+ * @param arr $options options of the condition
91
+ * @param int $index index of the condition
92
+ */
93
+ static function metabox_number( $options, $index = 0 ){
94
+
95
+ if ( ! isset ( $options['type'] ) || '' === $options['type'] ) { return; }
96
+
97
+ $type_options = self::get_instance()->conditions;
98
+
99
+ if ( ! isset( $type_options[ $options['type'] ] ) ) {
100
+ return;
101
+ }
102
+
103
+ // form name basis
104
+ $name = self::FORM_NAME . '[' . $index . ']';
105
+
106
+ // options
107
+ $value = isset( $options['value'] ) ? $options['value'] : 0;
108
+ $operator = isset( $options['operator'] ) ? $options['operator'] : 'is_equal';
109
+ $connector = isset( $options['connector'] ) ? $options['connector'] : 'and';
110
+
111
+ ?><p>
112
+ <input type="hidden" name="<?php echo $name; ?>[type]" value="<?php echo $options['type']; ?>"/>
113
+ <input type="hidden" name="<?php echo $name; ?>[connector]" value="<?php echo $connector; ?>"/>
114
+ <label><?php echo $type_options[ $options['type'] ]['label'];
115
+ ?><select name="<?php echo $name; ?>[operator]">
116
+ <option value="is_equal" <?php selected( 'is_equal', $operator ); ?>><?php _e( 'equal', ADVADS_SLUG ); ?></option>
117
+ <option value="is_higher" <?php selected( 'is_higher', $operator ); ?>><?php _e( 'equal and higher', ADVADS_SLUG ); ?></option>
118
+ <option value="is_lower" <?php selected( 'is_lower', $operator ); ?>><?php _e( 'equal and lower', ADVADS_SLUG ); ?></option>
119
+ </select></label><input type="number" name="<?php echo $name; ?>[value]" value="<?php echo absint( $value ); ?>"/></p><?php
120
+ }
121
+
122
+ /**
123
+ * controls frontend checks for conditions
124
+ *
125
+ * @param arr $options options of the condition
126
+ * @return bool false, if ad can’t be delivered
127
+ */
128
+ static function frontend_check( $options = array() ){
129
+ $visitor_conditions = Advanced_Ads_Visitor_Conditions::get_instance()->conditions;
130
+
131
+ if ( is_array( $options ) && isset( $visitor_conditions[ $options['type'] ]['check'] ) ) {
132
+ $check = $visitor_conditions[ $options['type'] ]['check'];
133
+ } else {
134
+ return true;
135
+ }
136
+
137
+ // call frontend check callback
138
+ if ( method_exists( $check[0], $check[1] ) ) {
139
+ return call_user_func( array( $check[0], $check[1] ), $options );
140
+ }
141
+
142
+ return true;
143
+ }
144
+
145
+ /**
146
+ * check mobile visitor condition in frontend
147
+ *
148
+ * @param arr $options options of the condition
149
+ * @return bool true if can be displayed
150
+ */
151
+ static function check_mobile( $options = array() ){
152
+
153
+ if ( ! isset( $options['operator'] ) ) {
154
+ return true;
155
+ }
156
+
157
+ switch ( $options['operator'] ){
158
+ case 'is' :
159
+ if ( ! wp_is_mobile() ) { return false; }
160
+ break;
161
+ case 'is_not' :
162
+ if ( wp_is_mobile() ) { return false; }
163
+ break;
164
+ }
165
+
166
+ return true;
167
+ }
168
+ }
169
+
classes/widget.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Advanced Ads Widget
4
  *
5
- * @package Advads_Widget
6
  * @author Thomas Maier <thomas.maier@webgilde.com>
7
  * @license GPL-2.0+
8
  * @link http://webgilde.com
@@ -13,7 +13,7 @@
13
  * Ad widget
14
  *
15
  */
16
- class Advads_Widget extends WP_Widget {
17
 
18
  function __construct() {
19
  $widget_ops = array('classname' => 'advads_widget', 'description' => __( 'Display Ads and Ad Groups.', ADVADS_SLUG ));
2
  /**
3
  * Advanced Ads Widget
4
  *
5
+ * @package Advanced_Ads_Widget
6
  * @author Thomas Maier <thomas.maier@webgilde.com>
7
  * @license GPL-2.0+
8
  * @link http://webgilde.com
13
  * Ad widget
14
  *
15
  */
16
+ class Advanced_Ads_Widget extends WP_Widget {
17
 
18
  function __construct() {
19
  $widget_ops = array('classname' => 'advads_widget', 'description' => __( 'Display Ads and Ad Groups.', ADVADS_SLUG ));
includes/array_ad_conditions.php CHANGED
@@ -32,31 +32,31 @@ $advanced_ads_ad_conditions = array(
32
  // 'label' => __('Post Types', $advanced_ads_slug),
33
  // 'description' => __('Choose the public post types on which to display the ad.', $advanced_ads_slug),
34
  'type' => 'other',
35
- // 'callback' => array('AdvAds_Display_Condition_Callbacks', 'post_types')
36
  ),
37
  'posttypes' => array(
38
  'label' => __( 'Post Types', $advanced_ads_slug ),
39
  'description' => __( 'Choose the public post types on which to display the ad.', $advanced_ads_slug ),
40
  'type' => 'textvalues',
41
- 'callback' => array('AdvAds_Display_Condition_Callbacks', 'post_types')
42
  ),
43
  'categoryids' => array(
44
  'label' => __( 'Categories, Tags and Taxonomies', $advanced_ads_slug ),
45
  'description' => __( 'Choose terms from public category, tag and other taxonomies a post must belong to in order to have ads.', $advanced_ads_slug ),
46
  'type' => 'idfield',
47
- 'callback' => array('AdvAds_Display_Condition_Callbacks', 'terms')
48
  ),
49
  'categoryarchiveids' => array(
50
  'label' => __( 'Category Archives', $advanced_ads_slug ),
51
  'description' => __( 'comma seperated IDs of category archives', $advanced_ads_slug ),
52
  'type' => 'idfield',
53
- 'callback' => array('AdvAds_Display_Condition_Callbacks', 'category_archives')
54
  ),
55
  'postids' => array(
56
  'label' => __( 'Individual Posts, Pages and Public Post Types', $advanced_ads_slug ),
57
  'description' => __( 'Choose on which individual posts, pages and public post type pages you want to display or hide ads.', $advanced_ads_slug ),
58
  'type' => 'other',
59
- 'callback' => array('AdvAds_Display_Condition_Callbacks', 'single_posts')
60
  ),
61
  'is_front_page' => array(
62
  'label' => __( 'Home Page', $advanced_ads_slug ),
32
  // 'label' => __('Post Types', $advanced_ads_slug),
33
  // 'description' => __('Choose the public post types on which to display the ad.', $advanced_ads_slug),
34
  'type' => 'other',
35
+ // 'callback' => array('Advanced_Ads_Display_Condition_Callbacks', 'post_types')
36
  ),
37
  'posttypes' => array(
38
  'label' => __( 'Post Types', $advanced_ads_slug ),
39
  'description' => __( 'Choose the public post types on which to display the ad.', $advanced_ads_slug ),
40
  'type' => 'textvalues',
41
+ 'callback' => array('Advanced_Ads_Display_Condition_Callbacks', 'post_types')
42
  ),
43
  'categoryids' => array(
44
  'label' => __( 'Categories, Tags and Taxonomies', $advanced_ads_slug ),
45
  'description' => __( 'Choose terms from public category, tag and other taxonomies a post must belong to in order to have ads.', $advanced_ads_slug ),
46
  'type' => 'idfield',
47
+ 'callback' => array('Advanced_Ads_Display_Condition_Callbacks', 'terms')
48
  ),
49
  'categoryarchiveids' => array(
50
  'label' => __( 'Category Archives', $advanced_ads_slug ),
51
  'description' => __( 'comma seperated IDs of category archives', $advanced_ads_slug ),
52
  'type' => 'idfield',
53
+ 'callback' => array('Advanced_Ads_Display_Condition_Callbacks', 'category_archives')
54
  ),
55
  'postids' => array(
56
  'label' => __( 'Individual Posts, Pages and Public Post Types', $advanced_ads_slug ),
57
  'description' => __( 'Choose on which individual posts, pages and public post type pages you want to display or hide ads.', $advanced_ads_slug ),
58
  'type' => 'other',
59
+ 'callback' => array('Advanced_Ads_Display_Condition_Callbacks', 'single_posts')
60
  ),
61
  'is_front_page' => array(
62
  'label' => __( 'Home Page', $advanced_ads_slug ),
languages/advanced-ads-de_DE.mo CHANGED
Binary file
languages/advanced-ads-de_DE.po CHANGED
@@ -3,7 +3,7 @@ msgstr ""
3
  "Project-Id-Version: Advanved Ads\n"
4
  "Report-Msgid-Bugs-To: http://wordpress.org/plugins/plugin-name\n"
5
  "POT-Creation-Date: 2015-01-27 16:47+0100\n"
6
- "PO-Revision-Date: Thu Apr 30 2015 13:30:06 GMT+0200 (CEST)\n"
7
  "Last-Translator: admin <post@webzunft.de>\n"
8
  "Language-Team: webgilde <thomas.maier@webgilde.com>\n"
9
  "Language: German\n"
@@ -26,62 +26,62 @@ msgstr ""
26
  "X-Textdomain-Support: yes\n"
27
  "X-Loco-Target-Locale: de_DE"
28
 
29
- #: ../admin/class-advanced-ads-admin.php:205
30
  msgid "Overview"
31
  msgstr "Übersicht"
32
 
33
  #. translators: plugin header field 'Name'
34
- #: ../admin/class-advanced-ads-admin.php:205 ../classes/widget.php:21
35
  msgid "Advanced Ads"
36
  msgstr "Advanced Ads"
37
 
38
- #: ../admin/class-advanced-ads-admin.php:209 ../admin/class-advanced-ads-admin.
39
- #: php:209 ../admin/views/ad-group-list-form-row.php:23 ../admin/views/ad-group-
40
- #: list-header.php:5 ../admin/views/placements.php:93 ../classes/widget.php:66 ..
41
  #: public/class-advanced-ads.php:539
42
  msgid "Ads"
43
  msgstr "Anzeigen"
44
 
45
- #: ../admin/class-advanced-ads-admin.php:213 ../admin/views/placements.php:86 ..
46
  #: classes/widget.php:59
47
  msgid "Ad Groups"
48
  msgstr "Anzeigen-Gruppen"
49
 
50
- #: ../admin/class-advanced-ads-admin.php:213 ../public/class-advanced-ads.php:513
51
  msgid "Groups"
52
  msgstr "Gruppen"
53
 
54
- #: ../admin/class-advanced-ads-admin.php:218 ../admin/views/debug.php:16
55
  msgid "Ad Placements"
56
  msgstr "Anzeigen-Platzierungen"
57
 
58
- #: ../admin/class-advanced-ads-admin.php:218 ../admin/views/placements.php:49
59
  msgid "Placements"
60
  msgstr "Platzierungen"
61
 
62
- #: ../admin/class-advanced-ads-admin.php:222
63
  msgid "Advanced Ads Settings"
64
  msgstr "Advanced-Ads-Einstellungen"
65
 
66
- #: ../admin/class-advanced-ads-admin.php:222 ../admin/class-advanced-ads-admin.
67
- #: php:392 ../admin/views/debug.php:13
68
  msgid "Settings"
69
  msgstr "Einstellungen"
70
 
71
- #: ../admin/class-advanced-ads-admin.php:225
72
  msgid "Advanced Ads Debugging"
73
  msgstr "Advanced-Ads-Fehleranalyse (Debugging)"
74
 
75
- #: ../admin/class-advanced-ads-admin.php:225
76
  msgid "Debug"
77
  msgstr "Debug"
78
 
79
- #: ../admin/class-advanced-ads-admin.php:306 ../admin/class-advanced-ads-admin.
80
- #: php:333
81
  msgid "Sorry, you are not allowed to access this feature."
82
  msgstr "Sie haben leider keinen Zugriff auf diese Funktion"
83
 
84
- #: ../admin/class-advanced-ads-admin.php:319
85
  msgid ""
86
  "You attempted to edit an ad group that doesn&#8217;t exist. Perhaps it was "
87
  "deleted?"
@@ -89,165 +89,161 @@ msgstr ""
89
  "Sie haben versucht, ein Element, das nicht existiert, zu bearbeiten. "
90
  "Vielleicht wurde es gelöscht?"
91
 
92
- #: ../admin/class-advanced-ads-admin.php:419
93
  msgid "Ad Type"
94
  msgstr "Anzeigen-Typ"
95
 
96
- #: ../admin/class-advanced-ads-admin.php:422
97
  msgid "Ad Parameters"
98
  msgstr "Anzeigen-Parameter"
99
 
100
- #: ../admin/class-advanced-ads-admin.php:425
101
  msgid "Layout / Output"
102
  msgstr "Layout / Ausgabe"
103
 
104
- #: ../admin/class-advanced-ads-admin.php:428
105
  msgid "Display Conditions"
106
  msgstr "Anzeige-Bedingungen"
107
 
108
- #: ../admin/class-advanced-ads-admin.php:431
109
  msgid "Visitor Conditions"
110
  msgstr "Besucher-Bedingungen"
111
 
112
- #: ../admin/class-advanced-ads-admin.php:579 ../admin/class-advanced-ads-admin.
113
- #: php:580
114
  msgid "Ad updated."
115
  msgstr "Anzeige aktualisiert."
116
 
117
  #. translators: %s: date and time of the revision
118
- #: ../admin/class-advanced-ads-admin.php:582
119
  #, php-format
120
  msgid "Ad restored to revision from %s"
121
  msgstr "Anzeige aus Revision %s wiederhergestellt"
122
 
123
- #: ../admin/class-advanced-ads-admin.php:583
124
  msgid "Ad published."
125
  msgstr "Anzeige veröffentlicht."
126
 
127
- #: ../admin/class-advanced-ads-admin.php:584
128
  msgid "Ad saved."
129
  msgstr "Anzeige gespeichert."
130
 
131
- #: ../admin/class-advanced-ads-admin.php:585
132
  msgid "Ad submitted."
133
  msgstr "Anzeige gesendet."
134
 
135
- #: ../admin/class-advanced-ads-admin.php:587
136
  #, php-format
137
  msgid "Ad scheduled for: <strong>%1$s</strong>."
138
  msgstr "Anzeige geplant für <strong>%1$s</strong>."
139
 
140
  #. translators: Publish box date format, see http://php.net/date
141
- #: ../admin/class-advanced-ads-admin.php:589
142
  msgid "M j, Y @ G:i"
143
  msgstr "j M Y @ G:i"
144
 
145
- #: ../admin/class-advanced-ads-admin.php:591
146
  msgid "Ad draft updated."
147
  msgstr "Anzeigenentwurf gespeichert."
148
 
149
- #: ../admin/class-advanced-ads-admin.php:610
150
  #, php-format
151
  msgid "%s ad updated."
152
  msgid_plural "%s ads updated."
153
  msgstr[0] "%s Anzeige aktualisiert."
154
  msgstr[1] "%s Anzeigen aktualisiert."
155
 
156
- #: ../admin/class-advanced-ads-admin.php:611
157
  #, php-format
158
  msgid "%s ad not updated, somebody is editing it."
159
  msgid_plural "%s ads not updated, somebody is editing them."
160
  msgstr[0] "%s Anzeige nicht aktualisiert, jemand bearbeitet sie."
161
  msgstr[1] "%s Anzeigen nicht aktualisiert, jemand bearbeitet sie."
162
 
163
- #: ../admin/class-advanced-ads-admin.php:612
164
  #, php-format
165
  msgid "%s ad permanently deleted."
166
  msgid_plural "%s ads permanently deleted."
167
  msgstr[0] "%s Anzeige endgültig gelöscht."
168
  msgstr[1] "%s Anzeigen endgültig gelöscht."
169
 
170
- #: ../admin/class-advanced-ads-admin.php:613
171
  #, php-format
172
  msgid "%s ad moved to the Trash."
173
  msgid_plural "%s ads moved to the Trash."
174
  msgstr[0] "%s Anzeige in den Papierkorb verschoben."
175
  msgstr[1] "%s Anzeigen in den Papierkorb verschoben."
176
 
177
- #: ../admin/class-advanced-ads-admin.php:614
178
  #, php-format
179
  msgid "%s ad restored from the Trash."
180
  msgid_plural "%s ads restored from the Trash."
181
  msgstr[0] "%s Anzeige aus dem Papierkorb wiederhergestellt."
182
  msgstr[1] "%s Anzeige aus dem Papierkorb wiederhergestellt."
183
 
184
- #: ../admin/class-advanced-ads-admin.php:651 ../admin/views/settings.php:12
185
  msgid "General"
186
  msgstr "Allgemein"
187
 
188
- #: ../admin/class-advanced-ads-admin.php:659 ../admin/views/settings.php:18
189
  msgid "Licenses"
190
  msgstr "Lizenzen"
191
 
192
- #: ../admin/class-advanced-ads-admin.php:667
193
  msgid "Disable ads"
194
  msgstr "Anzeigen auf dieser Seite deaktivieren."
195
 
196
- #: ../admin/class-advanced-ads-admin.php:675
197
  msgid "Hide ads for logged in users"
198
  msgstr "Verstecke Anzeigen vor eingeloggten Benutzern"
199
 
200
- #: ../admin/class-advanced-ads-admin.php:683
201
  msgid "Use advanced JavaScript"
202
  msgstr "Advanced-JavaScript benutzen"
203
 
204
- #: ../admin/class-advanced-ads-admin.php:691
205
  msgid "Priority of content injection filter"
206
  msgstr "Priorität der Anzeigen-Injektion"
207
 
208
- #: ../admin/class-advanced-ads-admin.php:699
209
  msgid "Hide ads from bots"
210
  msgstr "Anzeigen vor Bots verbergen"
211
 
212
- #: ../admin/class-advanced-ads-admin.php:724
213
- msgid ""
214
- "Enter license keys for our powerful <a href=\"https://wpadvancedads.com/add-"
215
- "ons/\" target=\"_blank\">add-ons</a>."
216
- msgstr ""
217
- "Hier verwalten Sie die Lizenzschlüssel für die mächtigen <a href=\"https:"
218
- "//wpadvancedads.com/add-ons/\" target=\"_blank\">Erweiterungen</a>."
219
 
220
- #: ../admin/class-advanced-ads-admin.php:755
221
  msgid "(display to all)"
222
  msgstr "(für alle sichtbar)"
223
 
224
- #: ../admin/class-advanced-ads-admin.php:756
225
  msgid "Subscriber"
226
  msgstr "Abonnent"
227
 
228
- #: ../admin/class-advanced-ads-admin.php:757
229
  msgid "Contributor"
230
  msgstr "Mitarbeiter"
231
 
232
- #: ../admin/class-advanced-ads-admin.php:758
233
  msgid "Author"
234
  msgstr "Autor"
235
 
236
- #: ../admin/class-advanced-ads-admin.php:759
237
  msgid "Editor"
238
  msgstr "Redakteur"
239
 
240
- #: ../admin/class-advanced-ads-admin.php:760
241
  msgid "Admin"
242
  msgstr "Admin"
243
 
244
- #: ../admin/class-advanced-ads-admin.php:768
245
  msgid "Choose the lowest role a user must have in order to not see any ads."
246
  msgstr ""
247
  "Wählen Sie die niedrigste Rolle die ein Benutzer haben muss um keine "
248
  "Anzeigen zu sehen."
249
 
250
- #: ../admin/class-advanced-ads-admin.php:781
251
  #, php-format
252
  msgid ""
253
  "Only enable this if you can and want to use the advanced JavaScript "
@@ -256,7 +252,7 @@ msgstr ""
256
  "Aktivieren Sie dies nur, wenn Sie die erweiterten und <a href=\"%s\">hier</a> "
257
  "beschriebenen Advanced-JavaScript-Funktionen verwenden können und wollen."
258
 
259
- #: ../admin/class-advanced-ads-admin.php:794
260
  msgid ""
261
  "Play with this value in order to change the priority of the injected ads "
262
  "compared to other auto injected elements in the post content."
@@ -264,7 +260,7 @@ msgstr ""
264
  "Ändern Sie diesen Wert um die Position automatisch eingefügter Anzeigen im "
265
  "Content gegenüber anderer Elementen zu beeinflussen."
266
 
267
- #: ../admin/class-advanced-ads-admin.php:807
268
  #, php-format
269
  msgid ""
270
  "Hide ads from crawlers, bots and empty user agents. Also prevents counting "
@@ -275,7 +271,7 @@ msgstr ""
275
  "werden mit dem <a href=\"%s\" target=\"_blank\">Tracking Add-On</a> dann auch "
276
  "keine Impressionen mehr gezählt."
277
 
278
- #: ../admin/class-advanced-ads-admin.php:808
279
  msgid ""
280
  "Disabling this option only makes sense if your ads contain content you want "
281
  "to display to bots (like search engines) or your site is cached and bots "
@@ -284,35 +280,53 @@ msgstr ""
284
  "Deaktivieren Sie diese Option, wenn Bots (z.B. Suchmaschinen) die "
285
  "Werbeinhalte sehen sollen oder Ihre Seite einen Cache nutzt."
286
 
287
- #: ../admin/class-advanced-ads-admin.php:837
 
 
 
 
 
 
 
 
 
 
288
  msgid "Ad Details"
289
  msgstr "Anzeigeneinstellungen"
290
 
291
- #: ../admin/class-advanced-ads-admin.php:907
292
  msgid "Ad Settings"
293
  msgstr "Anzeigen-Einstellungen"
294
 
295
- #: ../admin/class-advanced-ads-admin.php:978 ../admin/views/overview.php:23
296
  msgid "Ads Dashboard"
297
  msgstr "Anzeigen-Dashboard"
298
 
299
- #: ../admin/class-advanced-ads-admin.php:990
300
  msgid "From the ad optimization universe"
301
  msgstr "Neues aus dem Anzeigen-Universum"
302
 
303
- #: ../admin/class-advanced-ads-admin.php:999
304
  msgid "Advanced Ads Tutorials"
305
  msgstr "Advanced Ads Tutorials"
306
 
307
- #: ../admin/class-advanced-ads-admin.php:1010
308
  #, php-format
309
  msgid "%d ads – <a href=\"%s\">manage</a> - <a href=\"%s\">new</a>"
310
  msgstr "%d Anzeigen – <a href=\"%s\">verwalten</a> - <a href=\"%s\">neu</a>"
311
 
312
- #: ../admin/class-advanced-ads-admin.php:1021
313
  msgid "plugin manual and homepage"
314
  msgstr "Plugin-Anleitung und Homepage"
315
 
 
 
 
 
 
 
 
 
316
  #: ../admin/includes/class-ad-groups-list.php:158
317
  msgid "scheduled"
318
  msgstr "geplant"
@@ -321,54 +335,62 @@ msgstr "geplant"
321
  msgid "pending"
322
  msgstr "Entwurf"
323
 
324
- #: ../admin/includes/class-ad-groups-list.php:166
 
 
 
 
325
  msgid "Ad weight"
326
  msgstr "Anzeigengewichtung"
327
 
328
- #: ../admin/includes/class-ad-groups-list.php:175
 
 
 
 
329
  #, php-format
330
  msgid "up to %d ads displayed"
331
  msgstr "bis zu %d Anzeigen sichtbar"
332
 
333
- #: ../admin/includes/class-ad-groups-list.php:177 ../admin/views/ad-group-list-
334
- #: form-row.php:32
335
  msgid "No ads assigned"
336
  msgstr "Keine Anzeigen zugeordnet"
337
 
338
- #: ../admin/includes/class-ad-groups-list.php:224
339
  msgid "Random ads"
340
  msgstr "Zufällige Anzeigen"
341
 
342
- #: ../admin/includes/class-ad-groups-list.php:225
343
- msgid "Display ads randomly based on ad weight"
344
- msgstr "Zufällige Anzeigen basierend auf dem Anzeigengewicht"
345
 
346
- #: ../admin/includes/class-ad-groups-list.php:228
347
  msgid "Ordered ads"
348
  msgstr "Geordnete Anzeigen"
349
 
350
- #: ../admin/includes/class-ad-groups-list.php:229
351
  msgid "Display ads with the highest ad weight first"
352
  msgstr "Anzeigen mit dem höchsten Anzeigengewicht zuerst einblenden."
353
 
354
- #: ../admin/includes/class-ad-groups-list.php:248 ../public/class-advanced-ads.
355
  #: php:543
356
  msgid "Edit"
357
  msgstr "Bearbeiten"
358
 
359
- #: ../admin/includes/class-ad-groups-list.php:249
360
  msgid "Usage"
361
  msgstr "Einbindung"
362
 
363
- #: ../admin/includes/class-ad-groups-list.php:258
364
  msgid "Delete"
365
  msgstr "Entfernen"
366
 
367
- #: ../admin/includes/class-ad-groups-list.php:279
368
  msgid "Invalid Ad Group"
369
  msgstr "Ungültige Anzeigengruppe"
370
 
371
- #: ../admin/includes/class-ad-groups-list.php:284
372
  msgid "You don’t have permission to change the ad groups"
373
  msgstr "Sie haben nicht die notwendigen Rechte um Anzeigengruppen zu löschen."
374
 
@@ -524,90 +546,28 @@ msgstr "neu"
524
  msgid "type the title"
525
  msgstr "Geben Sie den Titel ein"
526
 
527
- #: ../admin/includes/class-list-table.php:187
528
- msgid "No items found."
529
- msgstr "Keine Elemente gefunden."
530
-
531
- #: ../admin/includes/class-list-table.php:311
532
- msgid "Bulk Actions"
533
- msgstr "Stapelverarbeitung"
534
-
535
- #: ../admin/includes/class-list-table.php:321
536
- msgid "Apply"
537
- msgstr "Anwenden"
538
-
539
- #: ../admin/includes/class-list-table.php:405
540
- msgid "Show all dates"
541
- msgstr "Alle Termine anzeigen"
542
-
543
- #. translators: 1: month name, 2: 4-digit year
544
- #: ../admin/includes/class-list-table.php:418
545
- #, php-format
546
- msgid "%1$s %2$d"
547
- msgstr "%1$s %2$d"
548
-
549
- #: ../admin/includes/class-list-table.php:434
550
- msgid "List View"
551
- msgstr "Listenansicht"
552
-
553
- #: ../admin/includes/class-list-table.php:435
554
- msgid "Excerpt View"
555
- msgstr "Teilansicht"
556
-
557
- #: ../admin/includes/class-list-table.php:461
558
- #, php-format
559
- msgid "%s pending"
560
- msgstr "%s anstehend"
561
-
562
- #: ../admin/includes/class-list-table.php:529 ../admin/includes/class-list-table.
563
- #: php:944
564
- #, php-format
565
- msgid "1 item"
566
- msgid_plural "%s items"
567
- msgstr[0] "1 Artikel"
568
- msgstr[1] "%s Artikel"
569
-
570
- #: ../admin/includes/class-list-table.php:547
571
- msgid "Go to the first page"
572
- msgstr "Zur ersten Seite gehen"
573
-
574
- #: ../admin/includes/class-list-table.php:554
575
- msgid "Go to the previous page"
576
- msgstr "Zur vorherigen Seite"
577
-
578
- #: ../admin/includes/class-list-table.php:563
579
- msgid "Current page"
580
- msgstr "Aktuelle Seite"
581
-
582
- #: ../admin/includes/class-list-table.php:569
583
  #, php-format
584
- msgctxt "paging"
585
- msgid "%1$s of %2$s"
586
- msgstr "%1$s von %2$s"
587
-
588
- #: ../admin/includes/class-list-table.php:573
589
- msgid "Go to the next page"
590
- msgstr "Zur nächsten Seite gehen"
591
-
592
- #: ../admin/includes/class-list-table.php:580
593
- msgid "Go to the last page"
594
- msgstr "Zur letzten Seite gehen"
595
-
596
- #: ../admin/includes/class-list-table.php:716
597
- msgid "Select All"
598
- msgstr "Alle wählen"
599
 
600
- #: ../admin/includes/class-notices.php:75
601
- msgid "Dismiss all notices"
602
- msgstr "Alle Hinweise ausblenden"
 
 
603
 
604
  #: ../admin/includes/class-overview-widgets.php:45
605
- msgid "News and Tutorials"
606
- msgstr "News und Anleitungen"
607
 
608
  #: ../admin/includes/class-overview-widgets.php:47
609
- msgid "My Ads"
610
- msgstr "Meine Anzeigen"
611
 
612
  #: ../admin/includes/class-overview-widgets.php:49
613
  msgid "Manual and Support"
@@ -629,27 +589,34 @@ msgstr "Sticky (fixierte) Anzeigen"
629
  msgid "PopUps and Layers"
630
  msgstr "PopUps und Layer"
631
 
632
- #: ../admin/includes/class-overview-widgets.php:72
633
  msgid ""
634
- "Ads are the smallest unit, containing the content or a single ad to be "
635
- "displayed."
636
- msgstr "Anzeigen sind die kleinste Einheit und enthalten Inhalte und Layout."
 
 
637
 
638
- #: ../admin/includes/class-overview-widgets.php:73
639
- #, php-format
640
- msgid "You have published %d ads."
641
- msgstr "Sie haben %d Anzeigen veröffentlicht."
642
 
643
- #: ../admin/includes/class-overview-widgets.php:74
644
- #, php-format
645
- msgid "<a href=\"%s\">Manage</a> them or <a href=\"%s\">create</a> a new one"
646
- msgstr "Anzeigen <a href=\"%s\">verwalten</a> oder neue <a href=\"%s\">erstellen</a>"
 
 
 
 
 
647
 
648
- #: ../admin/includes/class-overview-widgets.php:96
649
  msgid "Create your first ad"
650
  msgstr "Erstellen Sie Ihre erste Anzeige"
651
 
652
- #: ../admin/includes/class-overview-widgets.php:99
653
  msgid ""
654
  "Ad Groups contain ads and are currently used to rotate multiple ads on a "
655
  "single spot."
@@ -657,52 +624,47 @@ msgstr ""
657
  "Anzeigengruppen enthalten Anzeigen und werden verwendet, um mehrere Anzeigen "
658
  "an einer Stelle zu rotieren."
659
 
660
- #: ../admin/includes/class-overview-widgets.php:101
661
  msgid "Create your first group"
662
  msgstr "Erstellen Sie Ihre erste Gruppe"
663
 
664
- #: ../admin/includes/class-overview-widgets.php:104
665
  msgid "Ad Placements are the best way to manage where to display ads and groups."
666
  msgstr ""
667
  "Anzeigen-Platzierungen sind am besten geeignet um zu bestimmen, wo Anzeigen "
668
  "und Gruppen veröffentlicht werden."
669
 
670
- #: ../admin/includes/class-overview-widgets.php:106
671
  msgid "Create your first placement"
672
  msgstr "Erstellen Sie Ihre erste Platzierung"
673
 
674
- #: ../admin/includes/class-overview-widgets.php:111
675
  msgid "Next steps"
676
  msgstr "Nächste Schritte"
677
 
678
- #: ../admin/includes/class-overview-widgets.php:123
679
  #, php-format
680
  msgid "<a href=\"%s\" target=\"_blank\">Plugin Homepage</a>"
681
  msgstr "<a href=\"%s\" target=\"_blank\">Plugin Homepage</a>"
682
 
683
- #: ../admin/includes/class-overview-widgets.php:124
684
  #, php-format
685
  msgid "<a href=\"%s\" target=\"_blank\">Manual</a>"
686
  msgstr "<a href=\"%s\" target=\"_blank\">Anleitung (engl.)</a>"
687
 
688
- #: ../admin/includes/class-overview-widgets.php:125
689
  #, php-format
690
  msgid "Ask other users in the <a href=\"%s\" target=\"_blank\">wordpress.org forum</a>"
691
  msgstr ""
692
  "Andere Nutzer auf <a href=\"%s\" target=\"_blank\">wordpress.org</a> um Hilfe "
693
  "bitten."
694
 
695
- #: ../admin/includes/class-overview-widgets.php:126
696
  #, php-format
697
  msgid "Vote for a <a href=\"%s\" target=\"_blank\">feature</a>"
698
  msgstr "Über <a href=\"%s\" target=\"_blank\">neue Funktionen</a> abstimmen."
699
 
700
- #: ../admin/includes/class-overview-widgets.php:127
701
- #, php-format
702
- msgid "<a href=\"%s\" target=\"_blank\">Hire the developer</a>"
703
- msgstr "<a href=\"%s\" target=\"_blank\">Den Entwickler engagieren</a>."
704
-
705
- #: ../admin/includes/class-overview-widgets.php:128
706
  #, php-format
707
  msgid ""
708
  "Thank the developer with a &#9733;&#9733;&#9733;&#9733;&#9733; review on <a "
@@ -711,53 +673,71 @@ msgstr ""
711
  "Dem Entwickler mit einem &#9733;&#9733;&#9733;&#9733;&#9733; Review auf <a "
712
  "href=\"%s\" target=\"_blank\">wordpress.org</a> danken."
713
 
714
- #: ../admin/includes/class-overview-widgets.php:137
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
715
  msgid "Track the impressions of and clicks on your ads."
716
  msgstr "Einblendungen und Klicks von Anzeigen erfassen und auswerten."
717
 
718
- #: ../admin/includes/class-overview-widgets.php:138
719
  msgid "2 methods to count impressions"
720
  msgstr "2 Zählmethoden"
721
 
722
- #: ../admin/includes/class-overview-widgets.php:139
723
  msgid "beautiful stats for all or single ads"
724
  msgstr "Wunderschöne Statistiken"
725
 
726
- #: ../admin/includes/class-overview-widgets.php:140
727
  msgid "get stats for predefined and custom persiods"
728
  msgstr "Statistiken für vorgewählte oder eigene Zeiträume"
729
 
730
- #: ../admin/includes/class-overview-widgets.php:141
731
  msgid "group stats by day, week or month"
732
  msgstr "Statistik nach Tag, Woche oder Monat"
733
 
734
- #: ../admin/includes/class-overview-widgets.php:143
735
  msgid "Get the Tracking add-on"
736
  msgstr "Tracking-Erweiterung holen"
737
 
738
- #: ../admin/includes/class-overview-widgets.php:151
739
  msgid "Display ads based on the size of your visitor’s browser or device."
740
  msgstr ""
741
  "Anzeigen anhand der Browserbreite der Besucher ausliefern. DIE Lösung für "
742
  "mobile Layouts."
743
 
744
- #: ../admin/includes/class-overview-widgets.php:152
745
  msgid "set a range (from … to …) pixels for the browser size"
746
  msgstr "von … bis … Browserbreiten für Anzeigen angeben"
747
 
748
- #: ../admin/includes/class-overview-widgets.php:153
749
  msgid "set custom sizes for AdSense responsive ads"
750
  msgstr "Größen von AdSense Responsive Ads feinsteuern"
751
 
752
- #: ../admin/includes/class-overview-widgets.php:154
753
  msgid "list all ads by their responsive settings"
754
  msgstr "aller responsiven Anzeigen auf einem Blick listen\n"
755
 
756
- #: ../admin/includes/class-overview-widgets.php:156
757
  msgid "Get the Responsive add-on"
758
  msgstr "Responsive-Erweiterung holen\n"
759
 
760
- #: ../admin/includes/class-overview-widgets.php:164
761
  msgid ""
762
  "Fix ads to the browser while users are scrolling and create best performing "
763
  "anchor ads."
@@ -765,61 +745,73 @@ msgstr ""
765
  "Erstellen Sie stark performande Anzeigen durch mitscrollende Anzeigen am "
766
  "Browserfenster."
767
 
768
- #: ../admin/includes/class-overview-widgets.php:165
769
  msgid "position ads that don’t scroll with the screen"
770
  msgstr "Anzeigen erstellen, die beim Scrollen nicht verschwinden"
771
 
772
- #: ../admin/includes/class-overview-widgets.php:166
773
  msgid "build anchor ads not only on mobile devices"
774
  msgstr "Anchor-Anzeigen auch für Desktop-Geräte"
775
 
776
- #: ../admin/includes/class-overview-widgets.php:168
777
  msgid "Get the Sticky add-on"
778
  msgstr "Sticky-Erweiterung holen"
779
 
780
- #: ../admin/includes/class-overview-widgets.php:176
781
  msgid "Display content and ads in layers and popups on custom events."
782
  msgstr "Anzeigen und Inhalte in Layern und PopUps einblenden."
783
 
784
- #: ../admin/includes/class-overview-widgets.php:177
785
  msgid "display a popup after a user interaction like scrolling"
786
  msgstr "verschiedene Auslöser, z.B. nach Scrollen oder auf 2. Seitenhälfte"
787
 
788
- #: ../admin/includes/class-overview-widgets.php:178
789
  msgid "optional backgroup overlay"
790
  msgstr "optionale Hintergrundeinfärbung"
791
 
792
- #: ../admin/includes/class-overview-widgets.php:179
793
  msgid "allow users to close the popup"
794
  msgstr "Nutzern das Schließen des PopUps erlauben"
795
 
796
- #: ../admin/includes/class-overview-widgets.php:181
797
  msgid "Get the PopUp and Layer add-on"
798
  msgstr "PopUp und Layer Erweiterung holen\n"
799
 
800
- #: ../admin/views/ad-display-metabox.php:13
 
 
 
 
 
 
 
 
 
 
 
 
801
  msgid "Choose where to display the ad and where to hide it."
802
  msgstr "Wählen Sie, wo die Anzeige sichtbar und wo sie versteckt ist."
803
 
804
- #: ../admin/views/ad-display-metabox.php:16
805
  msgid "Display ad everywhere"
806
  msgstr "Anzeige überall zeigen"
807
 
808
- #: ../admin/views/ad-display-metabox.php:17
809
  msgid "Set display conditions"
810
  msgstr "Anzeige-Bedingungen festlegen"
811
 
812
- #: ../admin/views/ad-display-metabox.php:21
813
  msgid "If you want to display the ad everywhere, don't do anything here. "
814
  msgstr ""
815
  "Wenn Sie möchten, dass die Anzeige überall gezeigt wird, ist hier nichts zu "
816
  "tun."
817
 
818
- #: ../admin/views/ad-display-metabox.php:22
819
  msgid "The fewer conditions you enter, the better the performance will be."
820
  msgstr "Je weniger Bedingungen Sie eingeben, um so besser ist die Performance."
821
 
822
- #: ../admin/views/ad-display-metabox.php:23
823
  #, php-format
824
  msgid ""
825
  "Learn more about display conditions from the <a href=\"%s\" "
@@ -828,25 +820,25 @@ msgstr ""
828
  "Lernen Sie mehr über Anzeige-Bedingungen in der <a href=\"%s\" "
829
  "target=\"_blank\">Anleitung</a> (engl.)."
830
 
831
- #: ../admin/views/ad-display-metabox.php:40
832
  msgid "Other conditions"
833
  msgstr "Andere Bedingungen"
834
 
835
- #: ../admin/views/ad-display-metabox.php:58
836
  msgctxt "button label"
837
  msgid "on"
838
  msgstr "an"
839
 
840
- #: ../admin/views/ad-display-metabox.php:62
841
  msgctxt "button label"
842
  msgid "off"
843
  msgstr "aus"
844
 
845
- #: ../admin/views/ad-display-metabox.php:77
846
  msgid "show debug output"
847
  msgstr "Zeige Ergebnis der Fehlerbehebung"
848
 
849
- #: ../admin/views/ad-display-metabox.php:78
850
  msgid "Values saved for this ad in the database (post metas)"
851
  msgstr "Die Werte für diese Anzeige wurden in der Datenbank gespeichert (post metas)"
852
 
@@ -882,8 +874,7 @@ msgstr "Neue Anzeigengruppe erstellen"
882
  msgid "Update"
883
  msgstr "Update"
884
 
885
- #: ../admin/views/ad-group-list-form-row.php:3 ../admin/views/placements.php:39 ..
886
- #: admin/views/placements.php:64
887
  msgid "Name"
888
  msgstr "Name"
889
 
@@ -891,9 +882,8 @@ msgstr "Name"
891
  msgid "Description"
892
  msgstr "Beschreibung"
893
 
894
- #: ../admin/views/ad-group-list-form-row.php:7 ../admin/views/placements.php:19 ..
895
- #: admin/views/placements.php:65 ../modules/gadsense/admin/views/adsense-ad-
896
- #: parameters.php:27
897
  msgid "Type"
898
  msgstr "Typ"
899
 
@@ -901,16 +891,21 @@ msgstr "Typ"
901
  msgid "Number of ads"
902
  msgstr "Anzahl der Anzeigen"
903
 
904
- #: ../admin/views/ad-group-list-form-row.php:22
 
 
 
 
 
905
  msgid "Number of ads to display in the block"
906
  msgstr "Anzahl der Anzeigen die gleichzeitig im Block ausgegeben werden."
907
 
908
- #: ../admin/views/ad-group-list-form-row.php:26 ../public/class-advanced-ads.php:
909
  #: 540
910
  msgid "Ad"
911
  msgstr "Anzeige"
912
 
913
- #: ../admin/views/ad-group-list-form-row.php:27
914
  msgid "weight"
915
  msgstr "Gewicht"
916
 
@@ -923,12 +918,12 @@ msgid "Details"
923
  msgstr "Details"
924
 
925
  #: ../admin/views/ad-group-list-row.php:8 ../admin/views/ad-group.php:63 ..
926
- #: admin/views/ad_info.php:6 ../admin/views/placements.php:53
927
  msgid "shortcode"
928
  msgstr "Shortcode"
929
 
930
  #: ../admin/views/ad-group-list-row.php:11 ../admin/views/ad-group.php:66 ..
931
- #: admin/views/ad_info.php:9 ../admin/views/placements.php:56
932
  msgid "template"
933
  msgstr "Template"
934
 
@@ -1001,6 +996,44 @@ msgstr "Zum Anzeigen einer Anzeigen-Gruppe mit der ID 6 in Template-Dateien"
1001
  msgid "Update Groups"
1002
  msgstr "Gruppen aktualisieren\n"
1003
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1004
  #: ../admin/views/ad-main-metabox.php:3
1005
  msgid "No ad types defined"
1006
  msgstr "Keine Anzeigentypen definiert"
@@ -1017,7 +1050,7 @@ msgstr "Position"
1017
  msgid "- default -"
1018
  msgstr "- default -"
1019
 
1020
- #: ../admin/views/ad-output-metabox.php:7 ../admin/views/placements.php:77 ..
1021
  #: classes/ad_placements.php:31
1022
  msgid "default"
1023
  msgstr "Standard"
@@ -1068,15 +1101,15 @@ msgstr ""
1068
  "Tipp: Verwenden Sie dies, um einen Abstand zwischen Anzeige und Inhalt "
1069
  "einzufügen."
1070
 
1071
- #: ../admin/views/ad-parameters-metabox.php:15 ../classes/ad_ajax_callbacks.php:47
1072
  msgid "size:"
1073
  msgstr "Größe:"
1074
 
1075
- #: ../admin/views/ad-parameters-metabox.php:16 ../classes/ad_ajax_callbacks.php:48
1076
  msgid "width"
1077
  msgstr "Breite"
1078
 
1079
- #: ../admin/views/ad-parameters-metabox.php:17 ../classes/ad_ajax_callbacks.php:49
1080
  msgid "height"
1081
  msgstr "Höhe"
1082
 
@@ -1096,7 +1129,7 @@ msgctxt "order of expiry date fields 1: month, 2: day, 3: year"
1096
  msgid "%1$s %2$s, %3$s"
1097
  msgstr "%2$s %1$s %3$s"
1098
 
1099
- #: ../admin/views/ad-visitor-metabox.php:1
1100
  msgid ""
1101
  "Display conditions that are based on the user. Use with caution on cached "
1102
  "websites."
@@ -1104,19 +1137,29 @@ msgstr ""
1104
  "Anzeigebedingungen, die sich auf den Benutzer beziehen. Auf gecachten "
1105
  "Webseiten bitte mit Vorsicht anwenden."
1106
 
1107
- #: ../admin/views/ad-visitor-metabox.php:8
1108
- msgid "Display on all devices"
1109
- msgstr "Auf allen Geräten anzeigen"
1110
 
1111
- #: ../admin/views/ad-visitor-metabox.php:12
1112
- msgid "only on mobile devices"
1113
- msgstr "Nur auf mobilen Geräten"
 
1114
 
1115
- #: ../admin/views/ad-visitor-metabox.php:16
1116
- msgid "not on mobile devices"
1117
- msgstr "Nicht auf mobilen Endgeräten"
 
 
 
 
 
1118
 
1119
- #: ../admin/views/ad-visitor-metabox.php:21
 
 
 
 
1120
  #, php-format
1121
  msgid ""
1122
  "Define the exact browser width for which an ad should be visible using the "
@@ -1126,49 +1169,31 @@ msgstr ""
1126
  "geben Sie die genaue Browserbreite an, für die diese Anzeige sichtbar sein "
1127
  "sollen.\n"
1128
 
1129
- #: ../admin/views/ad_info.php:1
1130
- #, php-format
1131
- msgid "Ad Id: %s"
1132
- msgstr "Anzeigen-ID: %s"
1133
-
1134
- #: ../admin/views/ad_info.php:2
1135
- msgid "How to use this Ad?"
1136
- msgstr "Wie kann ich diese Anzeige verwenden?"
1137
-
1138
- #: ../admin/views/ad_info.php:5
1139
- #, php-format
1140
  msgid ""
1141
- "How to display the ad directly? Find more help and examples in the <a "
1142
- "href=\"%s\" target=\"_blank\">manual</a>"
1143
  msgstr ""
1144
- "Anzeige veröffentlichen? Hilfe und Beispiele finden Sie in der <a href=\"%s\" "
1145
- "target=\"_blank\">Anleitung</a>"
1146
-
1147
- #: ../admin/views/ad_info.php:7
1148
- msgid "To display an ad in content fields"
1149
- msgstr "Anzeige im Text-Editor einbinden"
1150
-
1151
- #: ../admin/views/ad_info.php:10
1152
- msgid "To display an ad in template files"
1153
- msgstr "Anzeige in Template-Dateien nutzen"
1154
 
1155
- #: ../admin/views/ad_info.php:15
1156
- msgid "click to change"
1157
- msgstr "zum Ändern klicken"
1158
 
1159
- #: ../admin/views/ad_info.php:19
1160
- msgid "Add a description"
1161
- msgstr "Beschreibung angeben"
1162
 
1163
- #: ../admin/views/ad_info.php:22
1164
- msgid "Internal description or your own notes about this ad."
1165
- msgstr "Eigene Beschreibung und Notizen zu dieser Anzeige."
1166
 
1167
- #: ../admin/views/debug.php:8
1168
  msgid "Work in progress"
1169
  msgstr "In Arbeit"
1170
 
1171
- #: ../admin/views/debug.php:9
1172
  msgid ""
1173
  "This screen is work in progress. You can use the information if you "
1174
  "understand them, but there is nothing to do here yet."
@@ -1206,49 +1231,11 @@ msgstr ""
1206
  "Weitere Informationen finden Sie in der Anleitung (engl.) unter <a "
1207
  "href=\"%s\">Placements</a> und <a href=\"%s\">Auto Injection</a>."
1208
 
1209
- #: ../admin/views/placements.php:17
1210
- msgid "Create a new placement"
1211
- msgstr "Neue Platzierung erstellen"
1212
-
1213
- #: ../admin/views/placements.php:28
1214
- msgid "What is this?"
1215
- msgstr "Was ist das?"
1216
-
1217
- #: ../admin/views/placements.php:30
1218
- msgid ""
1219
- "Placement types define how the placements works and where it is going to be "
1220
- "displayed."
1221
- msgstr ""
1222
- "Platzierungstypen definieren, wie die Platzierungen arbeiten und wo sie "
1223
- "angezeigt werden."
1224
-
1225
- #: ../admin/views/placements.php:41 ../admin/views/placements.php:66
1226
- msgid "ID"
1227
- msgstr "ID"
1228
-
1229
- #: ../admin/views/placements.php:43
1230
- msgid ""
1231
- "Individual identifier. Allowed are alphanumeric signs (lower case) and "
1232
- "hyphen."
1233
- msgstr ""
1234
- "Individuelle Kennung. Erlaubt sind alphanumerische Zeichen (Kleinbuchstaben) "
1235
- "und Bindestriche."
1236
-
1237
- #: ../admin/views/placements.php:44
1238
- msgid "You can assign Ads and Groups after you created the placement."
1239
- msgstr ""
1240
- "Sie können Anzeigen und Gruppen zuweisen, nachdem Sie die Platzierung "
1241
- "erstellt haben."
1242
-
1243
- #: ../admin/views/placements.php:45
1244
- msgid "Save New Placement"
1245
- msgstr "Neue Platzierung sichern"
1246
-
1247
- #: ../admin/views/placements.php:50
1248
  msgid "How to use the <i>default</i> Ad Placement?"
1249
  msgstr "Wie wird die <i>Standard</i>-Anzeigenplatzierung angewendet?"
1250
 
1251
- #: ../admin/views/placements.php:52
1252
  #, php-format
1253
  msgid ""
1254
  "Examples on how to use the <i>default</i> ad placement? Find more help and "
@@ -1257,83 +1244,98 @@ msgstr ""
1257
  "Suchen Sie Beispiele, wie die <i>Standard</i>-Anzeigenplatzierung zu nutzen "
1258
  "ist? Sie finden Hilfe in der <a href=\"%s\" target=\"_blank\">Anleitung</a>"
1259
 
1260
- #: ../admin/views/placements.php:54
1261
  msgid "To use an ad placement with the ID skyscraper_left in content fields"
1262
  msgstr ""
1263
  "Zum Benutzen einer Anzeigen-Platzierung mit der ID skyscraper_left in "
1264
  "Content-Feldern"
1265
 
1266
- #: ../admin/views/placements.php:57
1267
  msgid "To use an ad placement with the ID skyscraper_left in template files"
1268
  msgstr ""
1269
  "Zum Benutzen einer Anzeigen-Platzierung mit der ID Skyscraper_left in "
1270
  "Template-Dateien"
1271
 
1272
- #: ../admin/views/placements.php:67
1273
  msgid "Options"
1274
  msgstr "Optionen"
1275
 
1276
- #: ../admin/views/placements.php:82
1277
  msgid "Item"
1278
  msgstr "Anzeige"
1279
 
1280
- #: ../admin/views/placements.php:84 ../classes/widget.php:57
1281
  msgid "--empty--"
1282
  msgstr "--leer--"
1283
 
1284
- #: ../admin/views/placements.php:104
1285
  msgid "Inject"
1286
  msgstr "Einfügen"
1287
 
1288
- #: ../admin/views/placements.php:105
1289
  msgid "after"
1290
  msgstr "nach"
1291
 
1292
- #: ../admin/views/placements.php:105
1293
  msgid "before"
1294
  msgstr "vor"
1295
 
1296
- #: ../admin/views/placements.php:130
1297
  msgid "remove placement"
1298
  msgstr "Platzierung entfernen"
1299
 
1300
- #: ../admin/views/placements.php:136
1301
  msgid "Save Placements"
1302
  msgstr "Platzierungen sichern"
1303
 
1304
- #: ../admin/views/post_ad_settings_metabox.php:3
1305
- msgid "Disable ads on this page"
1306
- msgstr "Anzeigen auf dieser Seite deaktivieren."
1307
 
1308
- #: ../admin/views/settings.php:40
1309
- msgid "Save settings on this page"
1310
- msgstr "Einstellungen auf dieser Seite speichern"
1311
 
1312
- #: ../admin/views/settings.php:47
1313
- msgid "Debug Page"
1314
- msgstr "Debug-Seite"
 
 
 
 
 
 
 
1315
 
1316
- #: ../admin/views/settings.php:48
1317
- msgid "Advanced Ads on WordPress.org"
1318
- msgstr "Advanced Ads auf WordPress.org"
1319
 
1320
- #: ../admin/views/settings.php:48
1321
- msgid "Advanced Ads on wp.org"
1322
- msgstr "Advanced Ads auf wp.org"
 
 
 
 
1323
 
1324
- #: ../admin/views/settings.php:49
1325
- msgid "the company behind Advanced Ads"
1326
- msgstr "das Unternehmen hinter Advanced Ads"
1327
 
1328
- #: ../admin/views/settings.php:49
1329
- msgid "webgilde GmbH"
1330
- msgstr "webgilde GmbH"
1331
 
1332
- #: ../admin/views/settings_disable_ads.php:3
 
 
 
 
1333
  msgid "Disable all ads in frontend"
1334
  msgstr "Alle Anzeigen im Frontend deaktivieren"
1335
 
1336
- #: ../admin/views/settings_disable_ads.php:4
1337
  msgid ""
1338
  "Use this option to disable all ads in the frontend, but still be able to use "
1339
  "the plugin."
@@ -1341,25 +1343,25 @@ msgstr ""
1341
  "Benutzen Sie diese Einstellung um alle Anzeigen im Frontend zu deaktivieren "
1342
  "und das Plugin dennoch weiterhin zu nutzen."
1343
 
1344
- #: ../admin/views/settings_disable_ads.php:8
1345
  msgid "Disable ads on 404 error pages"
1346
  msgstr "Alle Anzeigen auf 404-Fehlerseiten deaktivieren"
1347
 
1348
- #: ../admin/views/settings_disable_ads.php:12
1349
  msgid "Disable ads on non-singular pages"
1350
  msgstr "Alle Anzeigen auf Nicht-Einzelseiten deaktivieren"
1351
 
1352
- #: ../admin/views/settings_disable_ads.php:13
1353
  msgid "e.g. archive pages like categories, tags, authors, front page (if a list)"
1354
  msgstr ""
1355
  "z.B. Archive wie Kategorien, Schlagwörter, Autoren, Übersicht auf der "
1356
  "Startseite"
1357
 
1358
- #: ../admin/views/settings_disable_ads.php:16
1359
  msgid "Disable ads on secondary queries"
1360
  msgstr "Anzeigen in sekundären Abfragen deaktivieren."
1361
 
1362
- #: ../admin/views/settings_disable_ads.php:17
1363
  msgid ""
1364
  "Secondary queries are custom queries of posts outside the main query of a "
1365
  "page. Try this option if you see ads injected on places where they shouldn’t "
@@ -1369,6 +1371,39 @@ msgstr ""
1369
  "außerhalb der üblichen Seitenlogik. Aktivieren Sie dieses Feld, wenn "
1370
  "Anzeigen außerhalb der Hauptinhalte erscheinen und dies nicht tun sollen."
1371
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1372
  #: ../classes/ad_placements.php:32
1373
  msgid "Manual placement."
1374
  msgstr "Manuelle Platzierung."
@@ -1419,22 +1454,22 @@ msgstr ""
1419
  "Injiziert in den Beitrags-Inhalt. Sie können den Absatz wählen, nach dem der "
1420
  "Inhalt angezeigt wird."
1421
 
1422
- #: ../classes/ad_placements.php:194
1423
  #, php-format
1424
  msgid "paragraph (%s)"
1425
  msgstr "Absatz (%s)"
1426
 
1427
- #: ../classes/ad_placements.php:195
1428
  #, php-format
1429
  msgid "headline 2 (%s)"
1430
  msgstr "Überschrift 2 (%s)"
1431
 
1432
- #: ../classes/ad_placements.php:196
1433
  #, php-format
1434
  msgid "headline 3 (%s)"
1435
  msgstr "Überschrift 3 (%s)"
1436
 
1437
- #: ../classes/ad_placements.php:197
1438
  #, php-format
1439
  msgid "headline 4 (%s)"
1440
  msgstr "Überschrift 4 (%s)"
@@ -1483,6 +1518,34 @@ msgstr "Fügen Sie Text oder Code in dieses Feld ein."
1483
  msgid "Execute PHP code (wrapped in <code>&lt;?php ?&gt;</code>)"
1484
  msgstr "PHP code ausführen (umgeben von <code>&lt;?php ?&gt;</code>)"
1485
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1486
  #: ../classes/widget.php:19
1487
  msgid "Display Ads and Ad Groups."
1488
  msgstr "Anzeigen und Anzeigen-Gruppen zeigen."
@@ -1609,7 +1672,7 @@ msgstr ""
1609
  "Ohne diese funktioniert diese Funktion leider nicht."
1610
 
1611
  #: ../modules/gadsense/admin/class-gadsense-admin.php:65 ..
1612
- #: modules/gadsense/admin/class-gadsense-admin.php:258
1613
  msgid "The Publisher ID has an incorrect format. (must start with \"pub-\")"
1614
  msgstr "Die Publisher-ID hat ein falsches Format. Sie muss mit \"pub-\" beginnen."
1615
 
@@ -1618,31 +1681,28 @@ msgid "Data updated"
1618
  msgstr "Angaben aktualisiert"
1619
 
1620
  #: ../modules/gadsense/admin/class-gadsense-admin.php:174 ..
1621
- #: modules/gadsense/admin/class-gadsense-admin.php:280
1622
  msgid "AdSense"
1623
- msgstr ""
1624
 
1625
  #: ../modules/gadsense/admin/class-gadsense-admin.php:182
1626
  msgid "AdSense ID"
1627
- msgstr ""
1628
 
1629
  #: ../modules/gadsense/admin/class-gadsense-admin.php:191
1630
  msgid "Limit to 3 ads"
1631
  msgstr "Auf 3 Anzeigen beschränken"
1632
 
1633
- #: ../modules/gadsense/admin/class-gadsense-admin.php:221 ..
1634
- #: modules/gadsense/admin/views/admin-page.php:20
1635
  msgid "Your AdSense Publisher ID <em>(pub-xxxxxxxxxxxxxx)</em>"
1636
  msgstr "Ihre AdSense Publisher ID <em>(pub-xxxxxxxxxxxxxx)</em>"
1637
 
1638
- #: ../modules/gadsense/admin/class-gadsense-admin.php:233 ..
1639
- #: modules/gadsense/admin/views/admin-page.php:24
1640
  #, php-format
1641
  msgid "Limit to %d AdSense ads"
1642
  msgstr "Auf maximal %d AdSense Anzeigen begrenzen"
1643
 
1644
- #: ../modules/gadsense/admin/class-gadsense-admin.php:237 ..
1645
- #: modules/gadsense/admin/views/admin-page.php:29
1646
  #, php-format
1647
  msgid ""
1648
  "Currently, Google AdSense <a target=\"_blank\" href=\"%s\" title=\"Terms Of "
@@ -1654,19 +1714,10 @@ msgstr ""
1654
  "Anzeigen pro Seite. Deaktivieren Sie diese Einstellung daher auf eigenes "
1655
  "Risiko."
1656
 
1657
- #: ../modules/gadsense/admin/class-gadsense-admin.php:240 ..
1658
- #: modules/gadsense/admin/views/admin-page.php:32
1659
  msgid "Notice: Advanced Ads only considers the AdSense ad type for this limit."
1660
  msgstr "Hinweis: Advanced Ads zählt nur die AdSense-Anzeigentypen für dieses Limit."
1661
 
1662
- #: ../modules/gadsense/admin/views/admin-page.php:18
1663
- msgid "Account ID"
1664
- msgstr "Konto-ID"
1665
-
1666
- #: ../modules/gadsense/admin/views/admin-page.php:35
1667
- msgid "Save AdSense Settings"
1668
- msgstr "AdSense-Einstellungen speichern"
1669
-
1670
  #: ../modules/gadsense/admin/views/adsense-ad-parameters.php:20
1671
  #, php-format
1672
  msgid "<a class=\"button\" href=\"#\" id=\"%s\">Copy&Paste existing ad code</a>"
@@ -1701,10 +1752,6 @@ msgstr "Kopieren Sie den Anzeigencode von AdSense einfach unten in das Feld"
1701
  msgid "Get details"
1702
  msgstr "Details laden"
1703
 
1704
- #: ../modules/gadsense/admin/views/adsense-ad-parameters.php:58
1705
- msgid "Close"
1706
- msgstr "Schließen"
1707
-
1708
  #: ../modules/gadsense/includes/class-ad-type-adsense.php:35
1709
  msgid "AdSense ad"
1710
  msgstr "AdSense Anzeige"
3
  "Project-Id-Version: Advanved Ads\n"
4
  "Report-Msgid-Bugs-To: http://wordpress.org/plugins/plugin-name\n"
5
  "POT-Creation-Date: 2015-01-27 16:47+0100\n"
6
+ "PO-Revision-Date: Tue May 12 2015 08:56:55 GMT+0200 (CEST)\n"
7
  "Last-Translator: admin <post@webzunft.de>\n"
8
  "Language-Team: webgilde <thomas.maier@webgilde.com>\n"
9
  "Language: German\n"
26
  "X-Textdomain-Support: yes\n"
27
  "X-Loco-Target-Locale: de_DE"
28
 
29
+ #: ../admin/class-advanced-ads-admin.php:200
30
  msgid "Overview"
31
  msgstr "Übersicht"
32
 
33
  #. translators: plugin header field 'Name'
34
+ #: ../admin/class-advanced-ads-admin.php:200 ../classes/widget.php:21
35
  msgid "Advanced Ads"
36
  msgstr "Advanced Ads"
37
 
38
+ #: ../admin/class-advanced-ads-admin.php:204 ../admin/class-advanced-ads-admin.
39
+ #: php:204 ../admin/views/ad-group-list-form-row.php:24 ../admin/views/ad-group-
40
+ #: list-header.php:5 ../admin/views/placements.php:64 ../classes/widget.php:66 ..
41
  #: public/class-advanced-ads.php:539
42
  msgid "Ads"
43
  msgstr "Anzeigen"
44
 
45
+ #: ../admin/class-advanced-ads-admin.php:208 ../admin/views/placements.php:57 ..
46
  #: classes/widget.php:59
47
  msgid "Ad Groups"
48
  msgstr "Anzeigen-Gruppen"
49
 
50
+ #: ../admin/class-advanced-ads-admin.php:208 ../public/class-advanced-ads.php:513
51
  msgid "Groups"
52
  msgstr "Gruppen"
53
 
54
+ #: ../admin/class-advanced-ads-admin.php:213 ../admin/views/debug.php:14
55
  msgid "Ad Placements"
56
  msgstr "Anzeigen-Platzierungen"
57
 
58
+ #: ../admin/class-advanced-ads-admin.php:213 ../admin/views/placements.php:18
59
  msgid "Placements"
60
  msgstr "Platzierungen"
61
 
62
+ #: ../admin/class-advanced-ads-admin.php:217
63
  msgid "Advanced Ads Settings"
64
  msgstr "Advanced-Ads-Einstellungen"
65
 
66
+ #: ../admin/class-advanced-ads-admin.php:217 ../admin/class-advanced-ads-admin.
67
+ #: php:387 ../admin/views/debug.php:11
68
  msgid "Settings"
69
  msgstr "Einstellungen"
70
 
71
+ #: ../admin/class-advanced-ads-admin.php:220
72
  msgid "Advanced Ads Debugging"
73
  msgstr "Advanced-Ads-Fehleranalyse (Debugging)"
74
 
75
+ #: ../admin/class-advanced-ads-admin.php:220
76
  msgid "Debug"
77
  msgstr "Debug"
78
 
79
+ #: ../admin/class-advanced-ads-admin.php:301 ../admin/class-advanced-ads-admin.
80
+ #: php:328
81
  msgid "Sorry, you are not allowed to access this feature."
82
  msgstr "Sie haben leider keinen Zugriff auf diese Funktion"
83
 
84
+ #: ../admin/class-advanced-ads-admin.php:314
85
  msgid ""
86
  "You attempted to edit an ad group that doesn&#8217;t exist. Perhaps it was "
87
  "deleted?"
89
  "Sie haben versucht, ein Element, das nicht existiert, zu bearbeiten. "
90
  "Vielleicht wurde es gelöscht?"
91
 
92
+ #: ../admin/class-advanced-ads-admin.php:414
93
  msgid "Ad Type"
94
  msgstr "Anzeigen-Typ"
95
 
96
+ #: ../admin/class-advanced-ads-admin.php:417
97
  msgid "Ad Parameters"
98
  msgstr "Anzeigen-Parameter"
99
 
100
+ #: ../admin/class-advanced-ads-admin.php:420
101
  msgid "Layout / Output"
102
  msgstr "Layout / Ausgabe"
103
 
104
+ #: ../admin/class-advanced-ads-admin.php:423
105
  msgid "Display Conditions"
106
  msgstr "Anzeige-Bedingungen"
107
 
108
+ #: ../admin/class-advanced-ads-admin.php:426
109
  msgid "Visitor Conditions"
110
  msgstr "Besucher-Bedingungen"
111
 
112
+ #: ../admin/class-advanced-ads-admin.php:583 ../admin/class-advanced-ads-admin.
113
+ #: php:584
114
  msgid "Ad updated."
115
  msgstr "Anzeige aktualisiert."
116
 
117
  #. translators: %s: date and time of the revision
118
+ #: ../admin/class-advanced-ads-admin.php:586
119
  #, php-format
120
  msgid "Ad restored to revision from %s"
121
  msgstr "Anzeige aus Revision %s wiederhergestellt"
122
 
123
+ #: ../admin/class-advanced-ads-admin.php:587
124
  msgid "Ad published."
125
  msgstr "Anzeige veröffentlicht."
126
 
127
+ #: ../admin/class-advanced-ads-admin.php:588
128
  msgid "Ad saved."
129
  msgstr "Anzeige gespeichert."
130
 
131
+ #: ../admin/class-advanced-ads-admin.php:589
132
  msgid "Ad submitted."
133
  msgstr "Anzeige gesendet."
134
 
135
+ #: ../admin/class-advanced-ads-admin.php:591
136
  #, php-format
137
  msgid "Ad scheduled for: <strong>%1$s</strong>."
138
  msgstr "Anzeige geplant für <strong>%1$s</strong>."
139
 
140
  #. translators: Publish box date format, see http://php.net/date
141
+ #: ../admin/class-advanced-ads-admin.php:593
142
  msgid "M j, Y @ G:i"
143
  msgstr "j M Y @ G:i"
144
 
145
+ #: ../admin/class-advanced-ads-admin.php:595
146
  msgid "Ad draft updated."
147
  msgstr "Anzeigenentwurf gespeichert."
148
 
149
+ #: ../admin/class-advanced-ads-admin.php:614
150
  #, php-format
151
  msgid "%s ad updated."
152
  msgid_plural "%s ads updated."
153
  msgstr[0] "%s Anzeige aktualisiert."
154
  msgstr[1] "%s Anzeigen aktualisiert."
155
 
156
+ #: ../admin/class-advanced-ads-admin.php:615
157
  #, php-format
158
  msgid "%s ad not updated, somebody is editing it."
159
  msgid_plural "%s ads not updated, somebody is editing them."
160
  msgstr[0] "%s Anzeige nicht aktualisiert, jemand bearbeitet sie."
161
  msgstr[1] "%s Anzeigen nicht aktualisiert, jemand bearbeitet sie."
162
 
163
+ #: ../admin/class-advanced-ads-admin.php:616
164
  #, php-format
165
  msgid "%s ad permanently deleted."
166
  msgid_plural "%s ads permanently deleted."
167
  msgstr[0] "%s Anzeige endgültig gelöscht."
168
  msgstr[1] "%s Anzeigen endgültig gelöscht."
169
 
170
+ #: ../admin/class-advanced-ads-admin.php:617
171
  #, php-format
172
  msgid "%s ad moved to the Trash."
173
  msgid_plural "%s ads moved to the Trash."
174
  msgstr[0] "%s Anzeige in den Papierkorb verschoben."
175
  msgstr[1] "%s Anzeigen in den Papierkorb verschoben."
176
 
177
+ #: ../admin/class-advanced-ads-admin.php:618
178
  #, php-format
179
  msgid "%s ad restored from the Trash."
180
  msgid_plural "%s ads restored from the Trash."
181
  msgstr[0] "%s Anzeige aus dem Papierkorb wiederhergestellt."
182
  msgstr[1] "%s Anzeige aus dem Papierkorb wiederhergestellt."
183
 
184
+ #: ../admin/class-advanced-ads-admin.php:655 ../admin/views/settings.php:12
185
  msgid "General"
186
  msgstr "Allgemein"
187
 
188
+ #: ../admin/class-advanced-ads-admin.php:663 ../admin/views/settings.php:18
189
  msgid "Licenses"
190
  msgstr "Lizenzen"
191
 
192
+ #: ../admin/class-advanced-ads-admin.php:671
193
  msgid "Disable ads"
194
  msgstr "Anzeigen auf dieser Seite deaktivieren."
195
 
196
+ #: ../admin/class-advanced-ads-admin.php:679
197
  msgid "Hide ads for logged in users"
198
  msgstr "Verstecke Anzeigen vor eingeloggten Benutzern"
199
 
200
+ #: ../admin/class-advanced-ads-admin.php:687
201
  msgid "Use advanced JavaScript"
202
  msgstr "Advanced-JavaScript benutzen"
203
 
204
+ #: ../admin/class-advanced-ads-admin.php:695
205
  msgid "Priority of content injection filter"
206
  msgstr "Priorität der Anzeigen-Injektion"
207
 
208
+ #: ../admin/class-advanced-ads-admin.php:703
209
  msgid "Hide ads from bots"
210
  msgstr "Anzeigen vor Bots verbergen"
211
 
212
+ #: ../admin/class-advanced-ads-admin.php:711
213
+ msgid "Disable notices"
214
+ msgstr "Mitteilungen deaktivieren"
 
 
 
 
215
 
216
+ #: ../admin/class-advanced-ads-admin.php:767
217
  msgid "(display to all)"
218
  msgstr "(für alle sichtbar)"
219
 
220
+ #: ../admin/class-advanced-ads-admin.php:768
221
  msgid "Subscriber"
222
  msgstr "Abonnent"
223
 
224
+ #: ../admin/class-advanced-ads-admin.php:769
225
  msgid "Contributor"
226
  msgstr "Mitarbeiter"
227
 
228
+ #: ../admin/class-advanced-ads-admin.php:770
229
  msgid "Author"
230
  msgstr "Autor"
231
 
232
+ #: ../admin/class-advanced-ads-admin.php:771
233
  msgid "Editor"
234
  msgstr "Redakteur"
235
 
236
+ #: ../admin/class-advanced-ads-admin.php:772
237
  msgid "Admin"
238
  msgstr "Admin"
239
 
240
+ #: ../admin/class-advanced-ads-admin.php:780
241
  msgid "Choose the lowest role a user must have in order to not see any ads."
242
  msgstr ""
243
  "Wählen Sie die niedrigste Rolle die ein Benutzer haben muss um keine "
244
  "Anzeigen zu sehen."
245
 
246
+ #: ../admin/class-advanced-ads-admin.php:793
247
  #, php-format
248
  msgid ""
249
  "Only enable this if you can and want to use the advanced JavaScript "
252
  "Aktivieren Sie dies nur, wenn Sie die erweiterten und <a href=\"%s\">hier</a> "
253
  "beschriebenen Advanced-JavaScript-Funktionen verwenden können und wollen."
254
 
255
+ #: ../admin/class-advanced-ads-admin.php:806
256
  msgid ""
257
  "Play with this value in order to change the priority of the injected ads "
258
  "compared to other auto injected elements in the post content."
260
  "Ändern Sie diesen Wert um die Position automatisch eingefügter Anzeigen im "
261
  "Content gegenüber anderer Elementen zu beeinflussen."
262
 
263
+ #: ../admin/class-advanced-ads-admin.php:819
264
  #, php-format
265
  msgid ""
266
  "Hide ads from crawlers, bots and empty user agents. Also prevents counting "
271
  "werden mit dem <a href=\"%s\" target=\"_blank\">Tracking Add-On</a> dann auch "
272
  "keine Impressionen mehr gezählt."
273
 
274
+ #: ../admin/class-advanced-ads-admin.php:820
275
  msgid ""
276
  "Disabling this option only makes sense if your ads contain content you want "
277
  "to display to bots (like search engines) or your site is cached and bots "
280
  "Deaktivieren Sie diese Option, wenn Bots (z.B. Suchmaschinen) die "
281
  "Werbeinhalte sehen sollen oder Ihre Seite einen Cache nutzt."
282
 
283
+ #: ../admin/class-advanced-ads-admin.php:833
284
+ msgid ""
285
+ "Disable all internal notices like tips, tutorials and email newsletters but "
286
+ "not critical update notices. Disabling notices is recommended if you run "
287
+ "multiple blogs with Advanced Ads already.."
288
+ msgstr ""
289
+ "Deaktivierung von internen Mitteilungen wie Tipps, Anleitungen, Newsletter. "
290
+ "Kritische Nachrichten sind hiervon ausgenommen. Nutzen Sie diese Einstellung,"
291
+ " wenn Sie Advanced Ads auf mehreren Blog installiert haben."
292
+
293
+ #: ../admin/class-advanced-ads-admin.php:862
294
  msgid "Ad Details"
295
  msgstr "Anzeigeneinstellungen"
296
 
297
+ #: ../admin/class-advanced-ads-admin.php:936
298
  msgid "Ad Settings"
299
  msgstr "Anzeigen-Einstellungen"
300
 
301
+ #: ../admin/class-advanced-ads-admin.php:1011 ../admin/views/overview.php:23
302
  msgid "Ads Dashboard"
303
  msgstr "Anzeigen-Dashboard"
304
 
305
+ #: ../admin/class-advanced-ads-admin.php:1023
306
  msgid "From the ad optimization universe"
307
  msgstr "Neues aus dem Anzeigen-Universum"
308
 
309
+ #: ../admin/class-advanced-ads-admin.php:1032
310
  msgid "Advanced Ads Tutorials"
311
  msgstr "Advanced Ads Tutorials"
312
 
313
+ #: ../admin/class-advanced-ads-admin.php:1043
314
  #, php-format
315
  msgid "%d ads – <a href=\"%s\">manage</a> - <a href=\"%s\">new</a>"
316
  msgstr "%d Anzeigen – <a href=\"%s\">verwalten</a> - <a href=\"%s\">neu</a>"
317
 
318
+ #: ../admin/class-advanced-ads-admin.php:1054
319
  msgid "plugin manual and homepage"
320
  msgstr "Plugin-Anleitung und Homepage"
321
 
322
+ #: ../admin/class-advanced-ads-admin.php:1061
323
+ msgid "Get the tutorial via email"
324
+ msgstr "Tutorial per E-Mail (engl.)\n"
325
+
326
+ #: ../admin/class-advanced-ads-admin.php:1068
327
+ msgid "Get AdSense tips via email"
328
+ msgstr "AdSense Tips per E-Mail (engl.)"
329
+
330
  #: ../admin/includes/class-ad-groups-list.php:158
331
  msgid "scheduled"
332
  msgstr "geplant"
335
  msgid "pending"
336
  msgstr "Entwurf"
337
 
338
+ #: ../admin/includes/class-ad-groups-list.php:167
339
+ msgid "expired"
340
+ msgstr "abgelaufen"
341
+
342
+ #: ../admin/includes/class-ad-groups-list.php:172
343
  msgid "Ad weight"
344
  msgstr "Anzeigengewichtung"
345
 
346
+ #: ../admin/includes/class-ad-groups-list.php:182
347
+ msgid "all published ads are displayed"
348
+ msgstr "Alle veröffentlichten Anzeigen werden dargestellt"
349
+
350
+ #: ../admin/includes/class-ad-groups-list.php:184
351
  #, php-format
352
  msgid "up to %d ads displayed"
353
  msgstr "bis zu %d Anzeigen sichtbar"
354
 
355
+ #: ../admin/includes/class-ad-groups-list.php:187 ../admin/views/ad-group-list-
356
+ #: form-row.php:33
357
  msgid "No ads assigned"
358
  msgstr "Keine Anzeigen zugeordnet"
359
 
360
+ #: ../admin/includes/class-ad-groups-list.php:234
361
  msgid "Random ads"
362
  msgstr "Zufällige Anzeigen"
363
 
364
+ #: ../admin/includes/class-ad-groups-list.php:235
365
+ msgid "Display random ads based on ad weight"
366
+ msgstr "Anzeigen in zufälliger Reihenfolge basierend auf dem Anzeigengewicht"
367
 
368
+ #: ../admin/includes/class-ad-groups-list.php:238
369
  msgid "Ordered ads"
370
  msgstr "Geordnete Anzeigen"
371
 
372
+ #: ../admin/includes/class-ad-groups-list.php:239
373
  msgid "Display ads with the highest ad weight first"
374
  msgstr "Anzeigen mit dem höchsten Anzeigengewicht zuerst einblenden."
375
 
376
+ #: ../admin/includes/class-ad-groups-list.php:258 ../public/class-advanced-ads.
377
  #: php:543
378
  msgid "Edit"
379
  msgstr "Bearbeiten"
380
 
381
+ #: ../admin/includes/class-ad-groups-list.php:259
382
  msgid "Usage"
383
  msgstr "Einbindung"
384
 
385
+ #: ../admin/includes/class-ad-groups-list.php:268
386
  msgid "Delete"
387
  msgstr "Entfernen"
388
 
389
+ #: ../admin/includes/class-ad-groups-list.php:289
390
  msgid "Invalid Ad Group"
391
  msgstr "Ungültige Anzeigengruppe"
392
 
393
+ #: ../admin/includes/class-ad-groups-list.php:294
394
  msgid "You don’t have permission to change the ad groups"
395
  msgstr "Sie haben nicht die notwendigen Rechte um Anzeigengruppen zu löschen."
396
 
546
  msgid "type the title"
547
  msgstr "Geben Sie den Titel ein"
548
 
549
+ #: ../admin/includes/class-notices.php:304
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
550
  #, php-format
551
+ msgid ""
552
+ "You don’t seem to have an email address. Please add one to your <a "
553
+ "href=\"%s\">WordPress profile</a>"
554
+ msgstr ""
555
+ "Scheinbar haben Sie keine E-Mail Adresse hinterlegt. Bitte tragen Sie eine "
556
+ "in Ihrem <a href=\"%s\">Profil</a> ein."
 
 
 
 
 
 
 
 
 
557
 
558
+ #: ../admin/includes/class-notices.php:322
559
+ msgid "How embarrassing. The email server seems to be down. Please try again later."
560
+ msgstr ""
561
+ "Peinlich. Der E-Mail-Dienst scheint gerade nicht erreichbar zu sein. Bitte "
562
+ "versuchen Sie es später noch einmal."
563
 
564
  #: ../admin/includes/class-overview-widgets.php:45
565
+ msgid "Tips and Tutorials"
566
+ msgstr "Tipps und Tutorials"
567
 
568
  #: ../admin/includes/class-overview-widgets.php:47
569
+ msgid "Setup and Optimization Help"
570
+ msgstr "Hilfe bei Setup und Optimierung"
571
 
572
  #: ../admin/includes/class-overview-widgets.php:49
573
  msgid "Manual and Support"
589
  msgid "PopUps and Layers"
590
  msgstr "PopUps und Layer"
591
 
592
+ #: ../admin/includes/class-overview-widgets.php:77 ../admin/includes/notices.php:20
593
  msgid ""
594
+ "Learn more about how and <strong>how much you can earn with AdSense</strong> "
595
+ "and Advanced Ads from my dedicated newsletter."
596
+ msgstr ""
597
+ "Erfahren Sie im Newsletter mehr darüber, wie und <strong>wie viel Sie mit "
598
+ "AdSense verdienen</strong> können (engl.)."
599
 
600
+ #: ../admin/includes/class-overview-widgets.php:78 ../admin/includes/notices.php:
601
+ #: 21 ../admin/views/notices/inline.php:3 ../admin/views/notices/subscribe.php:3
602
+ msgid "Subscribe me now"
603
+ msgstr "Jetzt abonnieren"
604
 
605
+ #: ../admin/includes/class-overview-widgets.php:85
606
+ msgid "Get the first steps and more tutorials to your inbox."
607
+ msgstr ""
608
+ "Erhalten Sie die Ersten Schritte und weitere Tutorials direkt in Ihr "
609
+ "Postfach."
610
+
611
+ #: ../admin/includes/class-overview-widgets.php:86
612
+ msgid "Send it now"
613
+ msgstr "Jetzt senden"
614
 
615
+ #: ../admin/includes/class-overview-widgets.php:109
616
  msgid "Create your first ad"
617
  msgstr "Erstellen Sie Ihre erste Anzeige"
618
 
619
+ #: ../admin/includes/class-overview-widgets.php:112
620
  msgid ""
621
  "Ad Groups contain ads and are currently used to rotate multiple ads on a "
622
  "single spot."
624
  "Anzeigengruppen enthalten Anzeigen und werden verwendet, um mehrere Anzeigen "
625
  "an einer Stelle zu rotieren."
626
 
627
+ #: ../admin/includes/class-overview-widgets.php:114
628
  msgid "Create your first group"
629
  msgstr "Erstellen Sie Ihre erste Gruppe"
630
 
631
+ #: ../admin/includes/class-overview-widgets.php:117
632
  msgid "Ad Placements are the best way to manage where to display ads and groups."
633
  msgstr ""
634
  "Anzeigen-Platzierungen sind am besten geeignet um zu bestimmen, wo Anzeigen "
635
  "und Gruppen veröffentlicht werden."
636
 
637
+ #: ../admin/includes/class-overview-widgets.php:119
638
  msgid "Create your first placement"
639
  msgstr "Erstellen Sie Ihre erste Platzierung"
640
 
641
+ #: ../admin/includes/class-overview-widgets.php:124
642
  msgid "Next steps"
643
  msgstr "Nächste Schritte"
644
 
645
+ #: ../admin/includes/class-overview-widgets.php:136
646
  #, php-format
647
  msgid "<a href=\"%s\" target=\"_blank\">Plugin Homepage</a>"
648
  msgstr "<a href=\"%s\" target=\"_blank\">Plugin Homepage</a>"
649
 
650
+ #: ../admin/includes/class-overview-widgets.php:137
651
  #, php-format
652
  msgid "<a href=\"%s\" target=\"_blank\">Manual</a>"
653
  msgstr "<a href=\"%s\" target=\"_blank\">Anleitung (engl.)</a>"
654
 
655
+ #: ../admin/includes/class-overview-widgets.php:138
656
  #, php-format
657
  msgid "Ask other users in the <a href=\"%s\" target=\"_blank\">wordpress.org forum</a>"
658
  msgstr ""
659
  "Andere Nutzer auf <a href=\"%s\" target=\"_blank\">wordpress.org</a> um Hilfe "
660
  "bitten."
661
 
662
+ #: ../admin/includes/class-overview-widgets.php:139
663
  #, php-format
664
  msgid "Vote for a <a href=\"%s\" target=\"_blank\">feature</a>"
665
  msgstr "Über <a href=\"%s\" target=\"_blank\">neue Funktionen</a> abstimmen."
666
 
667
+ #: ../admin/includes/class-overview-widgets.php:140
 
 
 
 
 
668
  #, php-format
669
  msgid ""
670
  "Thank the developer with a &#9733;&#9733;&#9733;&#9733;&#9733; review on <a "
673
  "Dem Entwickler mit einem &#9733;&#9733;&#9733;&#9733;&#9733; Review auf <a "
674
  "href=\"%s\" target=\"_blank\">wordpress.org</a> danken."
675
 
676
+ #: ../admin/includes/class-overview-widgets.php:149
677
+ msgid ""
678
+ "Need help to set up and optimize your ads? Need custom coding on your site? "
679
+ "Ask me for a quote."
680
+ msgstr ""
681
+ "Brauchen Sie Hilfe bei der Installation oder Optimierung Ihrer Anzeigen? "
682
+ "Benötigen Sie einen erfahrenen, deutschsprachigen WordPress-Entwickler? "
683
+ "Kontaktieren Sie mich bzgl. eines Angebotes."
684
+
685
+ #: ../admin/includes/class-overview-widgets.php:150
686
+ #, php-format
687
+ msgid "Help with ads on %s"
688
+ msgstr "Unterstützung von %s"
689
+
690
+ #: ../admin/includes/class-overview-widgets.php:151
691
+ msgid "Get an offer"
692
+ msgstr "Angebot erfragen"
693
+
694
+ #: ../admin/includes/class-overview-widgets.php:159
695
  msgid "Track the impressions of and clicks on your ads."
696
  msgstr "Einblendungen und Klicks von Anzeigen erfassen und auswerten."
697
 
698
+ #: ../admin/includes/class-overview-widgets.php:160
699
  msgid "2 methods to count impressions"
700
  msgstr "2 Zählmethoden"
701
 
702
+ #: ../admin/includes/class-overview-widgets.php:161
703
  msgid "beautiful stats for all or single ads"
704
  msgstr "Wunderschöne Statistiken"
705
 
706
+ #: ../admin/includes/class-overview-widgets.php:162
707
  msgid "get stats for predefined and custom persiods"
708
  msgstr "Statistiken für vorgewählte oder eigene Zeiträume"
709
 
710
+ #: ../admin/includes/class-overview-widgets.php:163
711
  msgid "group stats by day, week or month"
712
  msgstr "Statistik nach Tag, Woche oder Monat"
713
 
714
+ #: ../admin/includes/class-overview-widgets.php:165
715
  msgid "Get the Tracking add-on"
716
  msgstr "Tracking-Erweiterung holen"
717
 
718
+ #: ../admin/includes/class-overview-widgets.php:173
719
  msgid "Display ads based on the size of your visitor’s browser or device."
720
  msgstr ""
721
  "Anzeigen anhand der Browserbreite der Besucher ausliefern. DIE Lösung für "
722
  "mobile Layouts."
723
 
724
+ #: ../admin/includes/class-overview-widgets.php:174
725
  msgid "set a range (from … to …) pixels for the browser size"
726
  msgstr "von … bis … Browserbreiten für Anzeigen angeben"
727
 
728
+ #: ../admin/includes/class-overview-widgets.php:175
729
  msgid "set custom sizes for AdSense responsive ads"
730
  msgstr "Größen von AdSense Responsive Ads feinsteuern"
731
 
732
+ #: ../admin/includes/class-overview-widgets.php:176
733
  msgid "list all ads by their responsive settings"
734
  msgstr "aller responsiven Anzeigen auf einem Blick listen\n"
735
 
736
+ #: ../admin/includes/class-overview-widgets.php:178
737
  msgid "Get the Responsive add-on"
738
  msgstr "Responsive-Erweiterung holen\n"
739
 
740
+ #: ../admin/includes/class-overview-widgets.php:186
741
  msgid ""
742
  "Fix ads to the browser while users are scrolling and create best performing "
743
  "anchor ads."
745
  "Erstellen Sie stark performande Anzeigen durch mitscrollende Anzeigen am "
746
  "Browserfenster."
747
 
748
+ #: ../admin/includes/class-overview-widgets.php:187
749
  msgid "position ads that don’t scroll with the screen"
750
  msgstr "Anzeigen erstellen, die beim Scrollen nicht verschwinden"
751
 
752
+ #: ../admin/includes/class-overview-widgets.php:188
753
  msgid "build anchor ads not only on mobile devices"
754
  msgstr "Anchor-Anzeigen auch für Desktop-Geräte"
755
 
756
+ #: ../admin/includes/class-overview-widgets.php:190
757
  msgid "Get the Sticky add-on"
758
  msgstr "Sticky-Erweiterung holen"
759
 
760
+ #: ../admin/includes/class-overview-widgets.php:198
761
  msgid "Display content and ads in layers and popups on custom events."
762
  msgstr "Anzeigen und Inhalte in Layern und PopUps einblenden."
763
 
764
+ #: ../admin/includes/class-overview-widgets.php:199
765
  msgid "display a popup after a user interaction like scrolling"
766
  msgstr "verschiedene Auslöser, z.B. nach Scrollen oder auf 2. Seitenhälfte"
767
 
768
+ #: ../admin/includes/class-overview-widgets.php:200
769
  msgid "optional backgroup overlay"
770
  msgstr "optionale Hintergrundeinfärbung"
771
 
772
+ #: ../admin/includes/class-overview-widgets.php:201
773
  msgid "allow users to close the popup"
774
  msgstr "Nutzern das Schließen des PopUps erlauben"
775
 
776
+ #: ../admin/includes/class-overview-widgets.php:203
777
  msgid "Get the PopUp and Layer add-on"
778
  msgstr "PopUp und Layer Erweiterung holen\n"
779
 
780
+ #: ../admin/includes/notices.php:14
781
+ msgid ""
782
+ "Thank you for activating <strong>Advanced Ads</strong>. Would you like to "
783
+ "receive the first steps via email?"
784
+ msgstr ""
785
+ "Danke, dass Sie <strong>Advanced Ads</strong> aktiviert haben. Möchten Sie "
786
+ "die Ersten Schritte per E-Mail erhalten?"
787
+
788
+ #: ../admin/includes/notices.php:15
789
+ msgid "Yes, send it"
790
+ msgstr "Ja, jetzt senden"
791
+
792
+ #: ../admin/views/ad-display-metabox.php:7
793
  msgid "Choose where to display the ad and where to hide it."
794
  msgstr "Wählen Sie, wo die Anzeige sichtbar und wo sie versteckt ist."
795
 
796
+ #: ../admin/views/ad-display-metabox.php:10
797
  msgid "Display ad everywhere"
798
  msgstr "Anzeige überall zeigen"
799
 
800
+ #: ../admin/views/ad-display-metabox.php:11
801
  msgid "Set display conditions"
802
  msgstr "Anzeige-Bedingungen festlegen"
803
 
804
+ #: ../admin/views/ad-display-metabox.php:15
805
  msgid "If you want to display the ad everywhere, don't do anything here. "
806
  msgstr ""
807
  "Wenn Sie möchten, dass die Anzeige überall gezeigt wird, ist hier nichts zu "
808
  "tun."
809
 
810
+ #: ../admin/views/ad-display-metabox.php:16
811
  msgid "The fewer conditions you enter, the better the performance will be."
812
  msgstr "Je weniger Bedingungen Sie eingeben, um so besser ist die Performance."
813
 
814
+ #: ../admin/views/ad-display-metabox.php:17
815
  #, php-format
816
  msgid ""
817
  "Learn more about display conditions from the <a href=\"%s\" "
820
  "Lernen Sie mehr über Anzeige-Bedingungen in der <a href=\"%s\" "
821
  "target=\"_blank\">Anleitung</a> (engl.)."
822
 
823
+ #: ../admin/views/ad-display-metabox.php:34
824
  msgid "Other conditions"
825
  msgstr "Andere Bedingungen"
826
 
827
+ #: ../admin/views/ad-display-metabox.php:52
828
  msgctxt "button label"
829
  msgid "on"
830
  msgstr "an"
831
 
832
+ #: ../admin/views/ad-display-metabox.php:56
833
  msgctxt "button label"
834
  msgid "off"
835
  msgstr "aus"
836
 
837
+ #: ../admin/views/ad-display-metabox.php:71
838
  msgid "show debug output"
839
  msgstr "Zeige Ergebnis der Fehlerbehebung"
840
 
841
+ #: ../admin/views/ad-display-metabox.php:72
842
  msgid "Values saved for this ad in the database (post metas)"
843
  msgstr "Die Werte für diese Anzeige wurden in der Datenbank gespeichert (post metas)"
844
 
874
  msgid "Update"
875
  msgstr "Update"
876
 
877
+ #: ../admin/views/ad-group-list-form-row.php:3 ../admin/views/placements.php:33
 
878
  msgid "Name"
879
  msgstr "Name"
880
 
882
  msgid "Description"
883
  msgstr "Beschreibung"
884
 
885
+ #: ../admin/views/ad-group-list-form-row.php:7 ../admin/views/placements.php:34 ..
886
+ #: modules/gadsense/admin/views/adsense-ad-parameters.php:27
 
887
  msgid "Type"
888
  msgstr "Typ"
889
 
891
  msgid "Number of ads"
892
  msgstr "Anzahl der Anzeigen"
893
 
894
+ #: ../admin/views/ad-group-list-form-row.php:20
895
+ msgctxt "option to display all ads in an ad groups"
896
+ msgid "all"
897
+ msgstr "alle"
898
+
899
+ #: ../admin/views/ad-group-list-form-row.php:23
900
  msgid "Number of ads to display in the block"
901
  msgstr "Anzahl der Anzeigen die gleichzeitig im Block ausgegeben werden."
902
 
903
+ #: ../admin/views/ad-group-list-form-row.php:27 ../public/class-advanced-ads.php:
904
  #: 540
905
  msgid "Ad"
906
  msgstr "Anzeige"
907
 
908
+ #: ../admin/views/ad-group-list-form-row.php:28
909
  msgid "weight"
910
  msgstr "Gewicht"
911
 
918
  msgstr "Details"
919
 
920
  #: ../admin/views/ad-group-list-row.php:8 ../admin/views/ad-group.php:63 ..
921
+ #: admin/views/ad-info.php:6 ../admin/views/placements.php:22
922
  msgid "shortcode"
923
  msgstr "Shortcode"
924
 
925
  #: ../admin/views/ad-group-list-row.php:11 ../admin/views/ad-group.php:66 ..
926
+ #: admin/views/ad-info.php:9 ../admin/views/placements.php:25
927
  msgid "template"
928
  msgstr "Template"
929
 
996
  msgid "Update Groups"
997
  msgstr "Gruppen aktualisieren\n"
998
 
999
+ #: ../admin/views/ad-info.php:1
1000
+ #, php-format
1001
+ msgid "Ad Id: %s"
1002
+ msgstr "Anzeigen-ID: %s"
1003
+
1004
+ #: ../admin/views/ad-info.php:2
1005
+ msgid "How to use this Ad?"
1006
+ msgstr "Wie kann ich diese Anzeige verwenden?"
1007
+
1008
+ #: ../admin/views/ad-info.php:5
1009
+ #, php-format
1010
+ msgid ""
1011
+ "How to display the ad directly? Find more help and examples in the <a "
1012
+ "href=\"%s\" target=\"_blank\">manual</a>"
1013
+ msgstr ""
1014
+ "Anzeige veröffentlichen? Hilfe und Beispiele finden Sie in der <a href=\"%s\" "
1015
+ "target=\"_blank\">Anleitung</a>"
1016
+
1017
+ #: ../admin/views/ad-info.php:7
1018
+ msgid "To display an ad in content fields"
1019
+ msgstr "Anzeige im Text-Editor einbinden"
1020
+
1021
+ #: ../admin/views/ad-info.php:10
1022
+ msgid "To display an ad in template files"
1023
+ msgstr "Anzeige in Template-Dateien nutzen"
1024
+
1025
+ #: ../admin/views/ad-info.php:15
1026
+ msgid "click to change"
1027
+ msgstr "zum Ändern klicken"
1028
+
1029
+ #: ../admin/views/ad-info.php:19
1030
+ msgid "Add a description"
1031
+ msgstr "Beschreibung angeben"
1032
+
1033
+ #: ../admin/views/ad-info.php:22
1034
+ msgid "Internal description or your own notes about this ad."
1035
+ msgstr "Eigene Beschreibung und Notizen zu dieser Anzeige."
1036
+
1037
  #: ../admin/views/ad-main-metabox.php:3
1038
  msgid "No ad types defined"
1039
  msgstr "Keine Anzeigentypen definiert"
1050
  msgid "- default -"
1051
  msgstr "- default -"
1052
 
1053
+ #: ../admin/views/ad-output-metabox.php:7 ../admin/views/placements.php:49 ..
1054
  #: classes/ad_placements.php:31
1055
  msgid "default"
1056
  msgstr "Standard"
1101
  "Tipp: Verwenden Sie dies, um einen Abstand zwischen Anzeige und Inhalt "
1102
  "einzufügen."
1103
 
1104
+ #: ../admin/views/ad-parameters-metabox.php:15 ../classes/ad_ajax_callbacks.php:50
1105
  msgid "size:"
1106
  msgstr "Größe:"
1107
 
1108
+ #: ../admin/views/ad-parameters-metabox.php:16 ../classes/ad_ajax_callbacks.php:51
1109
  msgid "width"
1110
  msgstr "Breite"
1111
 
1112
+ #: ../admin/views/ad-parameters-metabox.php:17 ../classes/ad_ajax_callbacks.php:52
1113
  msgid "height"
1114
  msgstr "Höhe"
1115
 
1129
  msgid "%1$s %2$s, %3$s"
1130
  msgstr "%2$s %1$s %3$s"
1131
 
1132
+ #: ../admin/views/ad-visitor-metabox.php:4
1133
  msgid ""
1134
  "Display conditions that are based on the user. Use with caution on cached "
1135
  "websites."
1137
  "Anzeigebedingungen, die sich auf den Benutzer beziehen. Auf gecachten "
1138
  "Webseiten bitte mit Vorsicht anwenden."
1139
 
1140
+ #: ../admin/views/ad-visitor-metabox.php:29
1141
+ msgid "New condition"
1142
+ msgstr "Neue Bedingung"
1143
 
1144
+ #: ../admin/views/ad-visitor-metabox.php:32
1145
+ msgctxt "visitor condition connector"
1146
+ msgid "and"
1147
+ msgstr "und"
1148
 
1149
+ #: ../admin/views/ad-visitor-metabox.php:33
1150
+ msgctxt "visitor condition connector"
1151
+ msgid "or"
1152
+ msgstr "oder"
1153
+
1154
+ #: ../admin/views/ad-visitor-metabox.php:36
1155
+ msgid "-- choose a condition --"
1156
+ msgstr "-- Bedingung wählen --"
1157
 
1158
+ #: ../admin/views/ad-visitor-metabox.php:41
1159
+ msgid "add"
1160
+ msgstr "hinzufügen"
1161
+
1162
+ #: ../admin/views/ad-visitor-metabox.php:45
1163
  #, php-format
1164
  msgid ""
1165
  "Define the exact browser width for which an ad should be visible using the "
1169
  "geben Sie die genaue Browserbreite an, für die diese Anzeige sichtbar sein "
1170
  "sollen.\n"
1171
 
1172
+ #: ../admin/views/ad-visitor-metabox.php:102
 
 
 
 
 
 
 
 
 
 
1173
  msgid ""
1174
+ "The visitor conditions below are deprecated. Please use the new version of "
1175
+ "visitor conditions to replace it."
1176
  msgstr ""
1177
+ "Die unten aufgeführten Besucherbedingungen sind veraltet. Bitte nutzen Sie "
1178
+ "die neueren Versionen oben."
 
 
 
 
 
 
 
 
1179
 
1180
+ #: ../admin/views/ad-visitor-metabox.php:108
1181
+ msgid "Display on all devices"
1182
+ msgstr "Auf allen Geräten anzeigen"
1183
 
1184
+ #: ../admin/views/ad-visitor-metabox.php:112
1185
+ msgid "only on mobile devices"
1186
+ msgstr "Nur auf mobilen Geräten"
1187
 
1188
+ #: ../admin/views/ad-visitor-metabox.php:116
1189
+ msgid "not on mobile devices"
1190
+ msgstr "Nicht auf mobilen Endgeräten"
1191
 
1192
+ #: ../admin/views/debug.php:6
1193
  msgid "Work in progress"
1194
  msgstr "In Arbeit"
1195
 
1196
+ #: ../admin/views/debug.php:7
1197
  msgid ""
1198
  "This screen is work in progress. You can use the information if you "
1199
  "understand them, but there is nothing to do here yet."
1231
  "Weitere Informationen finden Sie in der Anleitung (engl.) unter <a "
1232
  "href=\"%s\">Placements</a> und <a href=\"%s\">Auto Injection</a>."
1233
 
1234
+ #: ../admin/views/placements.php:19
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1235
  msgid "How to use the <i>default</i> Ad Placement?"
1236
  msgstr "Wie wird die <i>Standard</i>-Anzeigenplatzierung angewendet?"
1237
 
1238
+ #: ../admin/views/placements.php:21
1239
  #, php-format
1240
  msgid ""
1241
  "Examples on how to use the <i>default</i> ad placement? Find more help and "
1244
  "Suchen Sie Beispiele, wie die <i>Standard</i>-Anzeigenplatzierung zu nutzen "
1245
  "ist? Sie finden Hilfe in der <a href=\"%s\" target=\"_blank\">Anleitung</a>"
1246
 
1247
+ #: ../admin/views/placements.php:23
1248
  msgid "To use an ad placement with the ID skyscraper_left in content fields"
1249
  msgstr ""
1250
  "Zum Benutzen einer Anzeigen-Platzierung mit der ID skyscraper_left in "
1251
  "Content-Feldern"
1252
 
1253
+ #: ../admin/views/placements.php:26
1254
  msgid "To use an ad placement with the ID skyscraper_left in template files"
1255
  msgstr ""
1256
  "Zum Benutzen einer Anzeigen-Platzierung mit der ID Skyscraper_left in "
1257
  "Template-Dateien"
1258
 
1259
+ #: ../admin/views/placements.php:35
1260
  msgid "Options"
1261
  msgstr "Optionen"
1262
 
1263
+ #: ../admin/views/placements.php:53
1264
  msgid "Item"
1265
  msgstr "Anzeige"
1266
 
1267
+ #: ../admin/views/placements.php:55 ../classes/widget.php:57
1268
  msgid "--empty--"
1269
  msgstr "--leer--"
1270
 
1271
+ #: ../admin/views/placements.php:75
1272
  msgid "Inject"
1273
  msgstr "Einfügen"
1274
 
1275
+ #: ../admin/views/placements.php:76
1276
  msgid "after"
1277
  msgstr "nach"
1278
 
1279
+ #: ../admin/views/placements.php:76
1280
  msgid "before"
1281
  msgstr "vor"
1282
 
1283
+ #: ../admin/views/placements.php:101
1284
  msgid "remove placement"
1285
  msgstr "Platzierung entfernen"
1286
 
1287
+ #: ../admin/views/placements.php:107
1288
  msgid "Save Placements"
1289
  msgstr "Platzierungen sichern"
1290
 
1291
+ #: ../admin/views/placements.php:112
1292
+ msgid "Create a new placement"
1293
+ msgstr "Neue Platzierung erstellen"
1294
 
1295
+ #: ../admin/views/placements.php:114
1296
+ msgid "Choose a placement type"
1297
+ msgstr "Typ der Platzierung wählen"
1298
 
1299
+ #: ../admin/views/placements.php:115
1300
+ #, php-format
1301
+ msgid ""
1302
+ "Placement types define how the placements works and where it is going to be "
1303
+ "displayed. Learn more about the different types from the <a "
1304
+ "href=\"%s\">manual</a>"
1305
+ msgstr ""
1306
+ "Der Platzierungstyp entscheidet darüber wie eine Platzierung funktioniert "
1307
+ "und wo sie angezeigt wird. Mehr dazu finden Sie in der <a "
1308
+ "href=\"%s\">Anleitung</a>.\n"
1309
 
1310
+ #: ../admin/views/placements.php:125
1311
+ msgid "Choose a Name"
1312
+ msgstr "Bezeichnung wählen"
1313
 
1314
+ #: ../admin/views/placements.php:126
1315
+ msgid ""
1316
+ "The name of the placement is only visible to you. Tip: choose a descriptive "
1317
+ "one, e.g. <em>Below Post Headline</em>."
1318
+ msgstr ""
1319
+ "Die Bezeichnung der Platzierung ist nur für Sie sichtbar. Ich empfehle eine "
1320
+ "beschreibende Bezeichnung, z.B. <em>Unter der Artikelüberschrift</em>."
1321
 
1322
+ #: ../admin/views/placements.php:127
1323
+ msgid "Placement Name"
1324
+ msgstr "Bezeichnung"
1325
 
1326
+ #: ../admin/views/placements.php:128
1327
+ msgid "Save New Placement"
1328
+ msgstr "Neue Platzierung sichern"
1329
 
1330
+ #: ../admin/views/post-ad-settings-metabox.php:3
1331
+ msgid "Disable ads on this page"
1332
+ msgstr "Anzeigen auf dieser Seite deaktivieren."
1333
+
1334
+ #: ../admin/views/settings-disable-ads.php:3
1335
  msgid "Disable all ads in frontend"
1336
  msgstr "Alle Anzeigen im Frontend deaktivieren"
1337
 
1338
+ #: ../admin/views/settings-disable-ads.php:4
1339
  msgid ""
1340
  "Use this option to disable all ads in the frontend, but still be able to use "
1341
  "the plugin."
1343
  "Benutzen Sie diese Einstellung um alle Anzeigen im Frontend zu deaktivieren "
1344
  "und das Plugin dennoch weiterhin zu nutzen."
1345
 
1346
+ #: ../admin/views/settings-disable-ads.php:8
1347
  msgid "Disable ads on 404 error pages"
1348
  msgstr "Alle Anzeigen auf 404-Fehlerseiten deaktivieren"
1349
 
1350
+ #: ../admin/views/settings-disable-ads.php:12
1351
  msgid "Disable ads on non-singular pages"
1352
  msgstr "Alle Anzeigen auf Nicht-Einzelseiten deaktivieren"
1353
 
1354
+ #: ../admin/views/settings-disable-ads.php:13
1355
  msgid "e.g. archive pages like categories, tags, authors, front page (if a list)"
1356
  msgstr ""
1357
  "z.B. Archive wie Kategorien, Schlagwörter, Autoren, Übersicht auf der "
1358
  "Startseite"
1359
 
1360
+ #: ../admin/views/settings-disable-ads.php:16
1361
  msgid "Disable ads on secondary queries"
1362
  msgstr "Anzeigen in sekundären Abfragen deaktivieren."
1363
 
1364
+ #: ../admin/views/settings-disable-ads.php:17
1365
  msgid ""
1366
  "Secondary queries are custom queries of posts outside the main query of a "
1367
  "page. Try this option if you see ads injected on places where they shouldn’t "
1371
  "außerhalb der üblichen Seitenlogik. Aktivieren Sie dieses Feld, wenn "
1372
  "Anzeigen außerhalb der Hauptinhalte erscheinen und dies nicht tun sollen."
1373
 
1374
+ #: ../admin/views/settings.php:40
1375
+ msgid "Save settings on this page"
1376
+ msgstr "Einstellungen auf dieser Seite speichern"
1377
+
1378
+ #: ../admin/views/settings.php:47
1379
+ msgid "Debug Page"
1380
+ msgstr "Debug-Seite"
1381
+
1382
+ #: ../admin/views/settings.php:48
1383
+ msgid "Advanced Ads on WordPress.org"
1384
+ msgstr "Advanced Ads auf WordPress.org"
1385
+
1386
+ #: ../admin/views/settings.php:48
1387
+ msgid "Advanced Ads on wp.org"
1388
+ msgstr "Advanced Ads auf wp.org"
1389
+
1390
+ #: ../admin/views/settings.php:49
1391
+ msgid "the company behind Advanced Ads"
1392
+ msgstr "das Unternehmen hinter Advanced Ads"
1393
+
1394
+ #: ../admin/views/settings.php:49
1395
+ msgid "webgilde GmbH"
1396
+ msgstr "webgilde GmbH"
1397
+
1398
+ #: ../admin/views/notices/error.php:1
1399
+ msgid "OK"
1400
+ msgstr "OK"
1401
+
1402
+ #: ../admin/views/notices/inline.php:4 ../admin/views/notices/subscribe.php:4 ..
1403
+ #: modules/gadsense/admin/views/adsense-ad-parameters.php:58
1404
+ msgid "Close"
1405
+ msgstr "Schließen"
1406
+
1407
  #: ../classes/ad_placements.php:32
1408
  msgid "Manual placement."
1409
  msgstr "Manuelle Platzierung."
1454
  "Injiziert in den Beitrags-Inhalt. Sie können den Absatz wählen, nach dem der "
1455
  "Inhalt angezeigt wird."
1456
 
1457
+ #: ../classes/ad_placements.php:190
1458
  #, php-format
1459
  msgid "paragraph (%s)"
1460
  msgstr "Absatz (%s)"
1461
 
1462
+ #: ../classes/ad_placements.php:191
1463
  #, php-format
1464
  msgid "headline 2 (%s)"
1465
  msgstr "Überschrift 2 (%s)"
1466
 
1467
+ #: ../classes/ad_placements.php:192
1468
  #, php-format
1469
  msgid "headline 3 (%s)"
1470
  msgstr "Überschrift 3 (%s)"
1471
 
1472
+ #: ../classes/ad_placements.php:193
1473
  #, php-format
1474
  msgid "headline 4 (%s)"
1475
  msgstr "Überschrift 4 (%s)"
1518
  msgid "Execute PHP code (wrapped in <code>&lt;?php ?&gt;</code>)"
1519
  msgstr "PHP code ausführen (umgeben von <code>&lt;?php ?&gt;</code>)"
1520
 
1521
+ #: ../classes/visitor-conditions.php:32
1522
+ msgid "mobile device"
1523
+ msgstr "mobiles Gerät"
1524
+
1525
+ #: ../classes/visitor-conditions.php:33
1526
+ msgid "Display ads only on mobile devices or hide them."
1527
+ msgstr "Anzeigen nur auf mobilen Geräten anzeigen oder verstecken"
1528
+
1529
+ #: ../classes/visitor-conditions.php:82
1530
+ msgid "is"
1531
+ msgstr "ist"
1532
+
1533
+ #: ../classes/visitor-conditions.php:83
1534
+ msgid "is not"
1535
+ msgstr "ist nicht"
1536
+
1537
+ #: ../classes/visitor-conditions.php:116
1538
+ msgid "equal"
1539
+ msgstr "ist gleich"
1540
+
1541
+ #: ../classes/visitor-conditions.php:117
1542
+ msgid "equal and higher"
1543
+ msgstr "ist gleich oder höher"
1544
+
1545
+ #: ../classes/visitor-conditions.php:118
1546
+ msgid "equal and lower"
1547
+ msgstr "ist gleich oder niedriger"
1548
+
1549
  #: ../classes/widget.php:19
1550
  msgid "Display Ads and Ad Groups."
1551
  msgstr "Anzeigen und Anzeigen-Gruppen zeigen."
1672
  "Ohne diese funktioniert diese Funktion leider nicht."
1673
 
1674
  #: ../modules/gadsense/admin/class-gadsense-admin.php:65 ..
1675
+ #: modules/gadsense/admin/class-gadsense-admin.php:256
1676
  msgid "The Publisher ID has an incorrect format. (must start with \"pub-\")"
1677
  msgstr "Die Publisher-ID hat ein falsches Format. Sie muss mit \"pub-\" beginnen."
1678
 
1681
  msgstr "Angaben aktualisiert"
1682
 
1683
  #: ../modules/gadsense/admin/class-gadsense-admin.php:174 ..
1684
+ #: modules/gadsense/admin/class-gadsense-admin.php:278
1685
  msgid "AdSense"
1686
+ msgstr "AdSense"
1687
 
1688
  #: ../modules/gadsense/admin/class-gadsense-admin.php:182
1689
  msgid "AdSense ID"
1690
+ msgstr "AdSense-ID"
1691
 
1692
  #: ../modules/gadsense/admin/class-gadsense-admin.php:191
1693
  msgid "Limit to 3 ads"
1694
  msgstr "Auf 3 Anzeigen beschränken"
1695
 
1696
+ #: ../modules/gadsense/admin/class-gadsense-admin.php:219
 
1697
  msgid "Your AdSense Publisher ID <em>(pub-xxxxxxxxxxxxxx)</em>"
1698
  msgstr "Ihre AdSense Publisher ID <em>(pub-xxxxxxxxxxxxxx)</em>"
1699
 
1700
+ #: ../modules/gadsense/admin/class-gadsense-admin.php:231
 
1701
  #, php-format
1702
  msgid "Limit to %d AdSense ads"
1703
  msgstr "Auf maximal %d AdSense Anzeigen begrenzen"
1704
 
1705
+ #: ../modules/gadsense/admin/class-gadsense-admin.php:235
 
1706
  #, php-format
1707
  msgid ""
1708
  "Currently, Google AdSense <a target=\"_blank\" href=\"%s\" title=\"Terms Of "
1714
  "Anzeigen pro Seite. Deaktivieren Sie diese Einstellung daher auf eigenes "
1715
  "Risiko."
1716
 
1717
+ #: ../modules/gadsense/admin/class-gadsense-admin.php:238
 
1718
  msgid "Notice: Advanced Ads only considers the AdSense ad type for this limit."
1719
  msgstr "Hinweis: Advanced Ads zählt nur die AdSense-Anzeigentypen für dieses Limit."
1720
 
 
 
 
 
 
 
 
 
1721
  #: ../modules/gadsense/admin/views/adsense-ad-parameters.php:20
1722
  #, php-format
1723
  msgid "<a class=\"button\" href=\"#\" id=\"%s\">Copy&Paste existing ad code</a>"
1752
  msgid "Get details"
1753
  msgstr "Details laden"
1754
 
 
 
 
 
1755
  #: ../modules/gadsense/includes/class-ad-type-adsense.php:35
1756
  msgid "AdSense ad"
1757
  msgstr "AdSense Anzeige"
languages/advanced-ads.pot CHANGED
@@ -5,7 +5,7 @@ msgstr ""
5
  "Project-Id-Version: Advanved Ads\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/plugins/plugin-name\n"
7
  "POT-Creation-Date: 2015-01-27 16:47+0100\n"
8
- "POT-Revision-Date: Thu Apr 30 2015 13:28:05 GMT+0200 (CEST)\n"
9
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
10
  "Last-Translator: Thomas Maier <post@webzunft.de>\n"
11
  "Language-Team: webgilde <thomas.maier@webgilde.com>\n"
@@ -24,234 +24,232 @@ msgstr ""
24
  "X-Poedit-Basepath: ../\n"
25
  "X-Poedit-SearchPath-0: ."
26
 
27
- #: ../admin/class-advanced-ads-admin.php:205
28
  msgid "Overview"
29
  msgstr ""
30
 
31
- #: ../admin/class-advanced-ads-admin.php:205 ../classes/widget.php:21
32
  msgid "Advanced Ads"
33
  msgstr ""
34
 
35
- #: ../admin/class-advanced-ads-admin.php:209 ../admin/class-advanced-ads-admin.
36
- #: php:209 ../admin/views/ad-group-list-form-row.php:23 ../admin/views/ad-group-
37
- #: list-header.php:5 ../admin/views/placements.php:93 ../classes/widget.php:66 ..
38
  #: /public/class-advanced-ads.php:539
39
  msgid "Ads"
40
  msgstr ""
41
 
42
- #: ../admin/class-advanced-ads-admin.php:213 ../admin/views/placements.php:86 ..
43
  #: /classes/widget.php:59
44
  msgid "Ad Groups"
45
  msgstr ""
46
 
47
- #: ../admin/class-advanced-ads-admin.php:213 ../public/class-advanced-ads.php:513
48
  msgid "Groups"
49
  msgstr ""
50
 
51
- #: ../admin/class-advanced-ads-admin.php:218 ../admin/views/debug.php:16
52
  msgid "Ad Placements"
53
  msgstr ""
54
 
55
- #: ../admin/class-advanced-ads-admin.php:218 ../admin/views/placements.php:49
56
  msgid "Placements"
57
  msgstr ""
58
 
59
- #: ../admin/class-advanced-ads-admin.php:222
60
  msgid "Advanced Ads Settings"
61
  msgstr ""
62
 
63
- #: ../admin/class-advanced-ads-admin.php:222 ../admin/class-advanced-ads-admin.
64
- #: php:392 ../admin/views/debug.php:13
65
  msgid "Settings"
66
  msgstr ""
67
 
68
- #: ../admin/class-advanced-ads-admin.php:225
69
  msgid "Advanced Ads Debugging"
70
  msgstr ""
71
 
72
- #: ../admin/class-advanced-ads-admin.php:225
73
  msgid "Debug"
74
  msgstr ""
75
 
76
- #: ../admin/class-advanced-ads-admin.php:306 ../admin/class-advanced-ads-admin.
77
- #: php:333
78
  msgid "Sorry, you are not allowed to access this feature."
79
  msgstr ""
80
 
81
- #: ../admin/class-advanced-ads-admin.php:319
82
  msgid ""
83
  "You attempted to edit an ad group that doesn&#8217;t exist. Perhaps it was "
84
  "deleted?"
85
  msgstr ""
86
 
87
- #: ../admin/class-advanced-ads-admin.php:419
88
  msgid "Ad Type"
89
  msgstr ""
90
 
91
- #: ../admin/class-advanced-ads-admin.php:422
92
  msgid "Ad Parameters"
93
  msgstr ""
94
 
95
- #: ../admin/class-advanced-ads-admin.php:425
96
  msgid "Layout / Output"
97
  msgstr ""
98
 
99
- #: ../admin/class-advanced-ads-admin.php:428
100
  msgid "Display Conditions"
101
  msgstr ""
102
 
103
- #: ../admin/class-advanced-ads-admin.php:431
104
  msgid "Visitor Conditions"
105
  msgstr ""
106
 
107
- #: ../admin/class-advanced-ads-admin.php:579 ../admin/class-advanced-ads-admin.
108
- #: php:580
109
  msgid "Ad updated."
110
  msgstr ""
111
 
112
  #. translators: %s: date and time of the revision
113
- #: ../admin/class-advanced-ads-admin.php:582
114
  #, php-format
115
  msgid "Ad restored to revision from %s"
116
  msgstr ""
117
 
118
- #: ../admin/class-advanced-ads-admin.php:583
119
  msgid "Ad published."
120
  msgstr ""
121
 
122
- #: ../admin/class-advanced-ads-admin.php:584
123
  msgid "Ad saved."
124
  msgstr ""
125
 
126
- #: ../admin/class-advanced-ads-admin.php:585
127
  msgid "Ad submitted."
128
  msgstr ""
129
 
130
- #: ../admin/class-advanced-ads-admin.php:587
131
  #, php-format
132
  msgid "Ad scheduled for: <strong>%1$s</strong>."
133
  msgstr ""
134
 
135
  #. translators: Publish box date format, see http://php.net/date
136
- #: ../admin/class-advanced-ads-admin.php:589
137
  msgid "M j, Y @ G:i"
138
  msgstr ""
139
 
140
- #: ../admin/class-advanced-ads-admin.php:591
141
  msgid "Ad draft updated."
142
  msgstr ""
143
 
144
- #: ../admin/class-advanced-ads-admin.php:610
145
  #, php-format
146
  msgid "%s ad updated."
147
  msgid_plural "%s ads updated."
148
  msgstr[0] ""
149
  msgstr[1] ""
150
 
151
- #: ../admin/class-advanced-ads-admin.php:611
152
  #, php-format
153
  msgid "%s ad not updated, somebody is editing it."
154
  msgid_plural "%s ads not updated, somebody is editing them."
155
  msgstr[0] ""
156
  msgstr[1] ""
157
 
158
- #: ../admin/class-advanced-ads-admin.php:612
159
  #, php-format
160
  msgid "%s ad permanently deleted."
161
  msgid_plural "%s ads permanently deleted."
162
  msgstr[0] ""
163
  msgstr[1] ""
164
 
165
- #: ../admin/class-advanced-ads-admin.php:613
166
  #, php-format
167
  msgid "%s ad moved to the Trash."
168
  msgid_plural "%s ads moved to the Trash."
169
  msgstr[0] ""
170
  msgstr[1] ""
171
 
172
- #: ../admin/class-advanced-ads-admin.php:614
173
  #, php-format
174
  msgid "%s ad restored from the Trash."
175
  msgid_plural "%s ads restored from the Trash."
176
  msgstr[0] ""
177
  msgstr[1] ""
178
 
179
- #: ../admin/class-advanced-ads-admin.php:651 ../admin/views/settings.php:12
180
  msgid "General"
181
  msgstr ""
182
 
183
- #: ../admin/class-advanced-ads-admin.php:659 ../admin/views/settings.php:18
184
  msgid "Licenses"
185
  msgstr ""
186
 
187
- #: ../admin/class-advanced-ads-admin.php:667
188
  msgid "Disable ads"
189
  msgstr ""
190
 
191
- #: ../admin/class-advanced-ads-admin.php:675
192
  msgid "Hide ads for logged in users"
193
  msgstr ""
194
 
195
- #: ../admin/class-advanced-ads-admin.php:683
196
  msgid "Use advanced JavaScript"
197
  msgstr ""
198
 
199
- #: ../admin/class-advanced-ads-admin.php:691
200
  msgid "Priority of content injection filter"
201
  msgstr ""
202
 
203
- #: ../admin/class-advanced-ads-admin.php:699
204
  msgid "Hide ads from bots"
205
  msgstr ""
206
 
207
- #: ../admin/class-advanced-ads-admin.php:724
208
- msgid ""
209
- "Enter license keys for our powerful <a href=\"https://wpadvancedads.com/add-"
210
- "ons/\" target=\"_blank\">add-ons</a>."
211
  msgstr ""
212
 
213
- #: ../admin/class-advanced-ads-admin.php:755
214
  msgid "(display to all)"
215
  msgstr ""
216
 
217
- #: ../admin/class-advanced-ads-admin.php:756
218
  msgid "Subscriber"
219
  msgstr ""
220
 
221
- #: ../admin/class-advanced-ads-admin.php:757
222
  msgid "Contributor"
223
  msgstr ""
224
 
225
- #: ../admin/class-advanced-ads-admin.php:758
226
  msgid "Author"
227
  msgstr ""
228
 
229
- #: ../admin/class-advanced-ads-admin.php:759
230
  msgid "Editor"
231
  msgstr ""
232
 
233
- #: ../admin/class-advanced-ads-admin.php:760
234
  msgid "Admin"
235
  msgstr ""
236
 
237
- #: ../admin/class-advanced-ads-admin.php:768
238
  msgid "Choose the lowest role a user must have in order to not see any ads."
239
  msgstr ""
240
 
241
- #: ../admin/class-advanced-ads-admin.php:781
242
  #, php-format
243
  msgid ""
244
  "Only enable this if you can and want to use the advanced JavaScript "
245
  "functions described <a href=\"%s\">here</a>."
246
  msgstr ""
247
 
248
- #: ../admin/class-advanced-ads-admin.php:794
249
  msgid ""
250
  "Play with this value in order to change the priority of the injected ads "
251
  "compared to other auto injected elements in the post content."
252
  msgstr ""
253
 
254
- #: ../admin/class-advanced-ads-admin.php:807
255
  #, php-format
256
  msgid ""
257
  "Hide ads from crawlers, bots and empty user agents. Also prevents counting "
@@ -259,42 +257,57 @@ msgid ""
259
  "Add-On</a>."
260
  msgstr ""
261
 
262
- #: ../admin/class-advanced-ads-admin.php:808
263
  msgid ""
264
  "Disabling this option only makes sense if your ads contain content you want "
265
  "to display to bots (like search engines) or your site is cached and bots "
266
  "could create a cached version without the ads."
267
  msgstr ""
268
 
269
- #: ../admin/class-advanced-ads-admin.php:837
 
 
 
 
 
 
 
270
  msgid "Ad Details"
271
  msgstr ""
272
 
273
- #: ../admin/class-advanced-ads-admin.php:907
274
  msgid "Ad Settings"
275
  msgstr ""
276
 
277
- #: ../admin/class-advanced-ads-admin.php:978 ../admin/views/overview.php:23
278
  msgid "Ads Dashboard"
279
  msgstr ""
280
 
281
- #: ../admin/class-advanced-ads-admin.php:990
282
  msgid "From the ad optimization universe"
283
  msgstr ""
284
 
285
- #: ../admin/class-advanced-ads-admin.php:999
286
  msgid "Advanced Ads Tutorials"
287
  msgstr ""
288
 
289
- #: ../admin/class-advanced-ads-admin.php:1010
290
  #, php-format
291
  msgid "%d ads – <a href=\"%s\">manage</a> - <a href=\"%s\">new</a>"
292
  msgstr ""
293
 
294
- #: ../admin/class-advanced-ads-admin.php:1021
295
  msgid "plugin manual and homepage"
296
  msgstr ""
297
 
 
 
 
 
 
 
 
 
298
  #: ../admin/includes/class-ad-groups-list.php:158
299
  msgid "scheduled"
300
  msgstr ""
@@ -303,54 +316,62 @@ msgstr ""
303
  msgid "pending"
304
  msgstr ""
305
 
306
- #: ../admin/includes/class-ad-groups-list.php:166
 
 
 
 
307
  msgid "Ad weight"
308
  msgstr ""
309
 
310
- #: ../admin/includes/class-ad-groups-list.php:175
 
 
 
 
311
  #, php-format
312
  msgid "up to %d ads displayed"
313
  msgstr ""
314
 
315
- #: ../admin/includes/class-ad-groups-list.php:177 ../admin/views/ad-group-list-
316
- #: form-row.php:32
317
  msgid "No ads assigned"
318
  msgstr ""
319
 
320
- #: ../admin/includes/class-ad-groups-list.php:224
321
  msgid "Random ads"
322
  msgstr ""
323
 
324
- #: ../admin/includes/class-ad-groups-list.php:225
325
- msgid "Display ads randomly based on ad weight"
326
  msgstr ""
327
 
328
- #: ../admin/includes/class-ad-groups-list.php:228
329
  msgid "Ordered ads"
330
  msgstr ""
331
 
332
- #: ../admin/includes/class-ad-groups-list.php:229
333
  msgid "Display ads with the highest ad weight first"
334
  msgstr ""
335
 
336
- #: ../admin/includes/class-ad-groups-list.php:248 ../public/class-advanced-ads.
337
  #: php:543
338
  msgid "Edit"
339
  msgstr ""
340
 
341
- #: ../admin/includes/class-ad-groups-list.php:249
342
  msgid "Usage"
343
  msgstr ""
344
 
345
- #: ../admin/includes/class-ad-groups-list.php:258
346
  msgid "Delete"
347
  msgstr ""
348
 
349
- #: ../admin/includes/class-ad-groups-list.php:279
350
  msgid "Invalid Ad Group"
351
  msgstr ""
352
 
353
- #: ../admin/includes/class-ad-groups-list.php:284
354
  msgid "You don’t have permission to change the ad groups"
355
  msgstr ""
356
 
@@ -484,88 +505,23 @@ msgstr ""
484
  msgid "type the title"
485
  msgstr ""
486
 
487
- #: ../admin/includes/class-list-table.php:187
488
- msgid "No items found."
489
- msgstr ""
490
-
491
- #: ../admin/includes/class-list-table.php:311
492
- msgid "Bulk Actions"
493
- msgstr ""
494
-
495
- #: ../admin/includes/class-list-table.php:321
496
- msgid "Apply"
497
- msgstr ""
498
-
499
- #: ../admin/includes/class-list-table.php:405
500
- msgid "Show all dates"
501
- msgstr ""
502
-
503
- #: ../admin/includes/class-list-table.php:418
504
- #, php-format
505
- msgid "%1$s %2$d"
506
- msgstr ""
507
-
508
- #: ../admin/includes/class-list-table.php:434
509
- msgid "List View"
510
- msgstr ""
511
-
512
- #: ../admin/includes/class-list-table.php:435
513
- msgid "Excerpt View"
514
- msgstr ""
515
-
516
- #: ../admin/includes/class-list-table.php:461
517
- #, php-format
518
- msgid "%s pending"
519
- msgstr ""
520
-
521
- #: ../admin/includes/class-list-table.php:529 ../admin/includes/class-list-table.
522
- #: php:944
523
  #, php-format
524
- msgid "1 item"
525
- msgid_plural "%s items"
526
- msgstr[0] ""
527
- msgstr[1] ""
528
-
529
- #: ../admin/includes/class-list-table.php:547
530
- msgid "Go to the first page"
531
- msgstr ""
532
-
533
- #: ../admin/includes/class-list-table.php:554
534
- msgid "Go to the previous page"
535
- msgstr ""
536
-
537
- #: ../admin/includes/class-list-table.php:563
538
- msgid "Current page"
539
- msgstr ""
540
-
541
- #: ../admin/includes/class-list-table.php:569
542
- #, php-format
543
- msgctxt "paging"
544
- msgid "%1$s of %2$s"
545
- msgstr ""
546
-
547
- #: ../admin/includes/class-list-table.php:573
548
- msgid "Go to the next page"
549
- msgstr ""
550
-
551
- #: ../admin/includes/class-list-table.php:580
552
- msgid "Go to the last page"
553
- msgstr ""
554
-
555
- #: ../admin/includes/class-list-table.php:716
556
- msgid "Select All"
557
  msgstr ""
558
 
559
- #: ../admin/includes/class-notices.php:75
560
- msgid "Dismiss all notices"
561
  msgstr ""
562
 
563
  #: ../admin/includes/class-overview-widgets.php:45
564
- msgid "News and Tutorials"
565
  msgstr ""
566
 
567
  #: ../admin/includes/class-overview-widgets.php:47
568
- msgid "My Ads"
569
  msgstr ""
570
 
571
  #: ../admin/includes/class-overview-widgets.php:49
@@ -588,208 +544,231 @@ msgstr ""
588
  msgid "PopUps and Layers"
589
  msgstr ""
590
 
591
- #: ../admin/includes/class-overview-widgets.php:72
592
  msgid ""
593
- "Ads are the smallest unit, containing the content or a single ad to be "
594
- "displayed."
595
  msgstr ""
596
 
597
- #: ../admin/includes/class-overview-widgets.php:73
598
- #, php-format
599
- msgid "You have published %d ads."
600
  msgstr ""
601
 
602
- #: ../admin/includes/class-overview-widgets.php:74
603
- #, php-format
604
- msgid "<a href=\"%s\">Manage</a> them or <a href=\"%s\">create</a> a new one"
605
  msgstr ""
606
 
607
- #: ../admin/includes/class-overview-widgets.php:96
 
 
 
 
608
  msgid "Create your first ad"
609
  msgstr ""
610
 
611
- #: ../admin/includes/class-overview-widgets.php:99
612
  msgid ""
613
  "Ad Groups contain ads and are currently used to rotate multiple ads on a "
614
  "single spot."
615
  msgstr ""
616
 
617
- #: ../admin/includes/class-overview-widgets.php:101
618
  msgid "Create your first group"
619
  msgstr ""
620
 
621
- #: ../admin/includes/class-overview-widgets.php:104
622
  msgid "Ad Placements are the best way to manage where to display ads and groups."
623
  msgstr ""
624
 
625
- #: ../admin/includes/class-overview-widgets.php:106
626
  msgid "Create your first placement"
627
  msgstr ""
628
 
629
- #: ../admin/includes/class-overview-widgets.php:111
630
  msgid "Next steps"
631
  msgstr ""
632
 
633
- #: ../admin/includes/class-overview-widgets.php:123
634
  #, php-format
635
  msgid "<a href=\"%s\" target=\"_blank\">Plugin Homepage</a>"
636
  msgstr ""
637
 
638
- #: ../admin/includes/class-overview-widgets.php:124
639
  #, php-format
640
  msgid "<a href=\"%s\" target=\"_blank\">Manual</a>"
641
  msgstr ""
642
 
643
- #: ../admin/includes/class-overview-widgets.php:125
644
  #, php-format
645
  msgid "Ask other users in the <a href=\"%s\" target=\"_blank\">wordpress.org forum</a>"
646
  msgstr ""
647
 
648
- #: ../admin/includes/class-overview-widgets.php:126
649
  #, php-format
650
  msgid "Vote for a <a href=\"%s\" target=\"_blank\">feature</a>"
651
  msgstr ""
652
 
653
- #: ../admin/includes/class-overview-widgets.php:127
654
- #, php-format
655
- msgid "<a href=\"%s\" target=\"_blank\">Hire the developer</a>"
656
- msgstr ""
657
-
658
- #: ../admin/includes/class-overview-widgets.php:128
659
  #, php-format
660
  msgid ""
661
  "Thank the developer with a &#9733;&#9733;&#9733;&#9733;&#9733; review on <a "
662
  "href=\"%s\" target=\"_blank\">wordpress.org</a>"
663
  msgstr ""
664
 
665
- #: ../admin/includes/class-overview-widgets.php:137
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
666
  msgid "Track the impressions of and clicks on your ads."
667
  msgstr ""
668
 
669
- #: ../admin/includes/class-overview-widgets.php:138
670
  msgid "2 methods to count impressions"
671
  msgstr ""
672
 
673
- #: ../admin/includes/class-overview-widgets.php:139
674
  msgid "beautiful stats for all or single ads"
675
  msgstr ""
676
 
677
- #: ../admin/includes/class-overview-widgets.php:140
678
  msgid "get stats for predefined and custom persiods"
679
  msgstr ""
680
 
681
- #: ../admin/includes/class-overview-widgets.php:141
682
  msgid "group stats by day, week or month"
683
  msgstr ""
684
 
685
- #: ../admin/includes/class-overview-widgets.php:143
686
  msgid "Get the Tracking add-on"
687
  msgstr ""
688
 
689
- #: ../admin/includes/class-overview-widgets.php:151
690
  msgid "Display ads based on the size of your visitor’s browser or device."
691
  msgstr ""
692
 
693
- #: ../admin/includes/class-overview-widgets.php:152
694
  msgid "set a range (from … to …) pixels for the browser size"
695
  msgstr ""
696
 
697
- #: ../admin/includes/class-overview-widgets.php:153
698
  msgid "set custom sizes for AdSense responsive ads"
699
  msgstr ""
700
 
701
- #: ../admin/includes/class-overview-widgets.php:154
702
  msgid "list all ads by their responsive settings"
703
  msgstr ""
704
 
705
- #: ../admin/includes/class-overview-widgets.php:156
706
  msgid "Get the Responsive add-on"
707
  msgstr ""
708
 
709
- #: ../admin/includes/class-overview-widgets.php:164
710
  msgid ""
711
  "Fix ads to the browser while users are scrolling and create best performing "
712
  "anchor ads."
713
  msgstr ""
714
 
715
- #: ../admin/includes/class-overview-widgets.php:165
716
  msgid "position ads that don’t scroll with the screen"
717
  msgstr ""
718
 
719
- #: ../admin/includes/class-overview-widgets.php:166
720
  msgid "build anchor ads not only on mobile devices"
721
  msgstr ""
722
 
723
- #: ../admin/includes/class-overview-widgets.php:168
724
  msgid "Get the Sticky add-on"
725
  msgstr ""
726
 
727
- #: ../admin/includes/class-overview-widgets.php:176
728
  msgid "Display content and ads in layers and popups on custom events."
729
  msgstr ""
730
 
731
- #: ../admin/includes/class-overview-widgets.php:177
732
  msgid "display a popup after a user interaction like scrolling"
733
  msgstr ""
734
 
735
- #: ../admin/includes/class-overview-widgets.php:178
736
  msgid "optional backgroup overlay"
737
  msgstr ""
738
 
739
- #: ../admin/includes/class-overview-widgets.php:179
740
  msgid "allow users to close the popup"
741
  msgstr ""
742
 
743
- #: ../admin/includes/class-overview-widgets.php:181
744
  msgid "Get the PopUp and Layer add-on"
745
  msgstr ""
746
 
747
- #: ../admin/views/ad-display-metabox.php:13
 
 
 
 
 
 
 
 
 
 
748
  msgid "Choose where to display the ad and where to hide it."
749
  msgstr ""
750
 
751
- #: ../admin/views/ad-display-metabox.php:16
752
  msgid "Display ad everywhere"
753
  msgstr ""
754
 
755
- #: ../admin/views/ad-display-metabox.php:17
756
  msgid "Set display conditions"
757
  msgstr ""
758
 
759
- #: ../admin/views/ad-display-metabox.php:21
760
  msgid "If you want to display the ad everywhere, don't do anything here. "
761
  msgstr ""
762
 
763
- #: ../admin/views/ad-display-metabox.php:22
764
  msgid "The fewer conditions you enter, the better the performance will be."
765
  msgstr ""
766
 
767
- #: ../admin/views/ad-display-metabox.php:23
768
  #, php-format
769
  msgid ""
770
  "Learn more about display conditions from the <a href=\"%s\" "
771
  "target=\"_blank\">manual</a>."
772
  msgstr ""
773
 
774
- #: ../admin/views/ad-display-metabox.php:40
775
  msgid "Other conditions"
776
  msgstr ""
777
 
778
- #: ../admin/views/ad-display-metabox.php:58
779
  msgctxt "button label"
780
  msgid "on"
781
  msgstr ""
782
 
783
- #: ../admin/views/ad-display-metabox.php:62
784
  msgctxt "button label"
785
  msgid "off"
786
  msgstr ""
787
 
788
- #: ../admin/views/ad-display-metabox.php:77
789
  msgid "show debug output"
790
  msgstr ""
791
 
792
- #: ../admin/views/ad-display-metabox.php:78
793
  msgid "Values saved for this ad in the database (post metas)"
794
  msgstr ""
795
 
@@ -825,8 +804,7 @@ msgstr ""
825
  msgid "Update"
826
  msgstr ""
827
 
828
- #: ../admin/views/ad-group-list-form-row.php:3 ../admin/views/placements.php:39 ..
829
- #: /admin/views/placements.php:64
830
  msgid "Name"
831
  msgstr ""
832
 
@@ -834,9 +812,8 @@ msgstr ""
834
  msgid "Description"
835
  msgstr ""
836
 
837
- #: ../admin/views/ad-group-list-form-row.php:7 ../admin/views/placements.php:19 ..
838
- #: /admin/views/placements.php:65 ../modules/gadsense/admin/views/adsense-ad-
839
- #: parameters.php:27
840
  msgid "Type"
841
  msgstr ""
842
 
@@ -844,16 +821,21 @@ msgstr ""
844
  msgid "Number of ads"
845
  msgstr ""
846
 
847
- #: ../admin/views/ad-group-list-form-row.php:22
 
 
 
 
 
848
  msgid "Number of ads to display in the block"
849
  msgstr ""
850
 
851
- #: ../admin/views/ad-group-list-form-row.php:26 ../public/class-advanced-ads.php:
852
  #: 540
853
  msgid "Ad"
854
  msgstr ""
855
 
856
- #: ../admin/views/ad-group-list-form-row.php:27
857
  msgid "weight"
858
  msgstr ""
859
 
@@ -866,12 +848,12 @@ msgid "Details"
866
  msgstr ""
867
 
868
  #: ../admin/views/ad-group-list-row.php:8 ../admin/views/ad-group.php:63 ..
869
- #: /admin/views/ad_info.php:6 ../admin/views/placements.php:53
870
  msgid "shortcode"
871
  msgstr ""
872
 
873
  #: ../admin/views/ad-group-list-row.php:11 ../admin/views/ad-group.php:66 ..
874
- #: /admin/views/ad_info.php:9 ../admin/views/placements.php:56
875
  msgid "template"
876
  msgstr ""
877
 
@@ -935,6 +917,42 @@ msgstr ""
935
  msgid "Update Groups"
936
  msgstr ""
937
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
938
  #: ../admin/views/ad-main-metabox.php:3
939
  msgid "No ad types defined"
940
  msgstr ""
@@ -951,7 +969,7 @@ msgstr ""
951
  msgid "- default -"
952
  msgstr ""
953
 
954
- #: ../admin/views/ad-output-metabox.php:7 ../admin/views/placements.php:77 ..
955
  #: /classes/ad_placements.php:31
956
  msgid "default"
957
  msgstr ""
@@ -998,15 +1016,15 @@ msgstr ""
998
  msgid "tip: use this to add a margin around the ad"
999
  msgstr ""
1000
 
1001
- #: ../admin/views/ad-parameters-metabox.php:15 ../classes/ad_ajax_callbacks.php:47
1002
  msgid "size:"
1003
  msgstr ""
1004
 
1005
- #: ../admin/views/ad-parameters-metabox.php:16 ../classes/ad_ajax_callbacks.php:48
1006
  msgid "width"
1007
  msgstr ""
1008
 
1009
- #: ../admin/views/ad-parameters-metabox.php:17 ../classes/ad_ajax_callbacks.php:49
1010
  msgid "height"
1011
  msgstr ""
1012
 
@@ -1026,72 +1044,64 @@ msgctxt "order of expiry date fields 1: month, 2: day, 3: year"
1026
  msgid "%1$s %2$s, %3$s"
1027
  msgstr ""
1028
 
1029
- #: ../admin/views/ad-visitor-metabox.php:1
1030
  msgid ""
1031
  "Display conditions that are based on the user. Use with caution on cached "
1032
  "websites."
1033
  msgstr ""
1034
 
1035
- #: ../admin/views/ad-visitor-metabox.php:8
1036
- msgid "Display on all devices"
1037
  msgstr ""
1038
 
1039
- #: ../admin/views/ad-visitor-metabox.php:12
1040
- msgid "only on mobile devices"
 
1041
  msgstr ""
1042
 
1043
- #: ../admin/views/ad-visitor-metabox.php:16
1044
- msgid "not on mobile devices"
 
1045
  msgstr ""
1046
 
1047
- #: ../admin/views/ad-visitor-metabox.php:21
1048
- #, php-format
1049
- msgid ""
1050
- "Define the exact browser width for which an ad should be visible using the "
1051
- "<a href=\"%s\" target=\"_blank\">Responsive add-on</a>."
1052
  msgstr ""
1053
 
1054
- #: ../admin/views/ad_info.php:1
1055
- #, php-format
1056
- msgid "Ad Id: %s"
1057
  msgstr ""
1058
 
1059
- #: ../admin/views/ad_info.php:2
1060
- msgid "How to use this Ad?"
1061
- msgstr ""
1062
-
1063
- #: ../admin/views/ad_info.php:5
1064
  #, php-format
1065
  msgid ""
1066
- "How to display the ad directly? Find more help and examples in the <a "
1067
- "href=\"%s\" target=\"_blank\">manual</a>"
1068
- msgstr ""
1069
-
1070
- #: ../admin/views/ad_info.php:7
1071
- msgid "To display an ad in content fields"
1072
  msgstr ""
1073
 
1074
- #: ../admin/views/ad_info.php:10
1075
- msgid "To display an ad in template files"
 
 
1076
  msgstr ""
1077
 
1078
- #: ../admin/views/ad_info.php:15
1079
- msgid "click to change"
1080
  msgstr ""
1081
 
1082
- #: ../admin/views/ad_info.php:19
1083
- msgid "Add a description"
1084
  msgstr ""
1085
 
1086
- #: ../admin/views/ad_info.php:22
1087
- msgid "Internal description or your own notes about this ad."
1088
  msgstr ""
1089
 
1090
- #: ../admin/views/debug.php:8
1091
  msgid "Work in progress"
1092
  msgstr ""
1093
 
1094
- #: ../admin/views/debug.php:9
1095
  msgid ""
1096
  "This screen is work in progress. You can use the information if you "
1097
  "understand them, but there is nothing to do here yet."
@@ -1119,150 +1129,161 @@ msgid ""
1119
  "<a href=\"%s\">auto injection</a>."
1120
  msgstr ""
1121
 
1122
- #: ../admin/views/placements.php:17
1123
- msgid "Create a new placement"
1124
- msgstr ""
1125
-
1126
- #: ../admin/views/placements.php:28
1127
- msgid "What is this?"
1128
- msgstr ""
1129
-
1130
- #: ../admin/views/placements.php:30
1131
- msgid ""
1132
- "Placement types define how the placements works and where it is going to be "
1133
- "displayed."
1134
- msgstr ""
1135
-
1136
- #: ../admin/views/placements.php:41 ../admin/views/placements.php:66
1137
- msgid "ID"
1138
- msgstr ""
1139
-
1140
- #: ../admin/views/placements.php:43
1141
- msgid ""
1142
- "Individual identifier. Allowed are alphanumeric signs (lower case) and "
1143
- "hyphen."
1144
- msgstr ""
1145
-
1146
- #: ../admin/views/placements.php:44
1147
- msgid "You can assign Ads and Groups after you created the placement."
1148
- msgstr ""
1149
-
1150
- #: ../admin/views/placements.php:45
1151
- msgid "Save New Placement"
1152
- msgstr ""
1153
-
1154
- #: ../admin/views/placements.php:50
1155
  msgid "How to use the <i>default</i> Ad Placement?"
1156
  msgstr ""
1157
 
1158
- #: ../admin/views/placements.php:52
1159
  #, php-format
1160
  msgid ""
1161
  "Examples on how to use the <i>default</i> ad placement? Find more help and "
1162
  "examples in the <a href=\"%s\" target=\"_blank\">manual</a>"
1163
  msgstr ""
1164
 
1165
- #: ../admin/views/placements.php:54
1166
  msgid "To use an ad placement with the ID skyscraper_left in content fields"
1167
  msgstr ""
1168
 
1169
- #: ../admin/views/placements.php:57
1170
  msgid "To use an ad placement with the ID skyscraper_left in template files"
1171
  msgstr ""
1172
 
1173
- #: ../admin/views/placements.php:67
1174
  msgid "Options"
1175
  msgstr ""
1176
 
1177
- #: ../admin/views/placements.php:82
1178
  msgid "Item"
1179
  msgstr ""
1180
 
1181
- #: ../admin/views/placements.php:84 ../classes/widget.php:57
1182
  msgid "--empty--"
1183
  msgstr ""
1184
 
1185
- #: ../admin/views/placements.php:104
1186
  msgid "Inject"
1187
  msgstr ""
1188
 
1189
- #: ../admin/views/placements.php:105
1190
  msgid "after"
1191
  msgstr ""
1192
 
1193
- #: ../admin/views/placements.php:105
1194
  msgid "before"
1195
  msgstr ""
1196
 
1197
- #: ../admin/views/placements.php:130
1198
  msgid "remove placement"
1199
  msgstr ""
1200
 
1201
- #: ../admin/views/placements.php:136
1202
  msgid "Save Placements"
1203
  msgstr ""
1204
 
1205
- #: ../admin/views/post_ad_settings_metabox.php:3
1206
- msgid "Disable ads on this page"
1207
  msgstr ""
1208
 
1209
- #: ../admin/views/settings.php:40
1210
- msgid "Save settings on this page"
1211
  msgstr ""
1212
 
1213
- #: ../admin/views/settings.php:47
1214
- msgid "Debug Page"
 
 
 
 
1215
  msgstr ""
1216
 
1217
- #: ../admin/views/settings.php:48
1218
- msgid "Advanced Ads on WordPress.org"
1219
  msgstr ""
1220
 
1221
- #: ../admin/views/settings.php:48
1222
- msgid "Advanced Ads on wp.org"
 
 
1223
  msgstr ""
1224
 
1225
- #: ../admin/views/settings.php:49
1226
- msgid "the company behind Advanced Ads"
1227
  msgstr ""
1228
 
1229
- #: ../admin/views/settings.php:49
1230
- msgid "webgilde GmbH"
1231
  msgstr ""
1232
 
1233
- #: ../admin/views/settings_disable_ads.php:3
 
 
 
 
1234
  msgid "Disable all ads in frontend"
1235
  msgstr ""
1236
 
1237
- #: ../admin/views/settings_disable_ads.php:4
1238
  msgid ""
1239
  "Use this option to disable all ads in the frontend, but still be able to use "
1240
  "the plugin."
1241
  msgstr ""
1242
 
1243
- #: ../admin/views/settings_disable_ads.php:8
1244
  msgid "Disable ads on 404 error pages"
1245
  msgstr ""
1246
 
1247
- #: ../admin/views/settings_disable_ads.php:12
1248
  msgid "Disable ads on non-singular pages"
1249
  msgstr ""
1250
 
1251
- #: ../admin/views/settings_disable_ads.php:13
1252
  msgid "e.g. archive pages like categories, tags, authors, front page (if a list)"
1253
  msgstr ""
1254
 
1255
- #: ../admin/views/settings_disable_ads.php:16
1256
  msgid "Disable ads on secondary queries"
1257
  msgstr ""
1258
 
1259
- #: ../admin/views/settings_disable_ads.php:17
1260
  msgid ""
1261
  "Secondary queries are custom queries of posts outside the main query of a "
1262
  "page. Try this option if you see ads injected on places where they shouldn’t "
1263
  "appear."
1264
  msgstr ""
1265
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1266
  #: ../classes/ad_placements.php:32
1267
  msgid "Manual placement."
1268
  msgstr ""
@@ -1309,22 +1330,22 @@ msgid ""
1309
  "ad content is displayed."
1310
  msgstr ""
1311
 
1312
- #: ../classes/ad_placements.php:194
1313
  #, php-format
1314
  msgid "paragraph (%s)"
1315
  msgstr ""
1316
 
1317
- #: ../classes/ad_placements.php:195
1318
  #, php-format
1319
  msgid "headline 2 (%s)"
1320
  msgstr ""
1321
 
1322
- #: ../classes/ad_placements.php:196
1323
  #, php-format
1324
  msgid "headline 3 (%s)"
1325
  msgstr ""
1326
 
1327
- #: ../classes/ad_placements.php:197
1328
  #, php-format
1329
  msgid "headline 4 (%s)"
1330
  msgstr ""
@@ -1366,6 +1387,34 @@ msgstr ""
1366
  msgid "Execute PHP code (wrapped in <code>&lt;?php ?&gt;</code>)"
1367
  msgstr ""
1368
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1369
  #: ../classes/widget.php:19
1370
  msgid "Display Ads and Ad Groups."
1371
  msgstr ""
@@ -1483,7 +1532,7 @@ msgid ""
1483
  msgstr ""
1484
 
1485
  #: ../modules/gadsense/admin/class-gadsense-admin.php:65 ..
1486
- #: /modules/gadsense/admin/class-gadsense-admin.php:258
1487
  msgid "The Publisher ID has an incorrect format. (must start with \"pub-\")"
1488
  msgstr ""
1489
 
@@ -1492,7 +1541,7 @@ msgid "Data updated"
1492
  msgstr ""
1493
 
1494
  #: ../modules/gadsense/admin/class-gadsense-admin.php:174 ..
1495
- #: /modules/gadsense/admin/class-gadsense-admin.php:280
1496
  msgid "AdSense"
1497
  msgstr ""
1498
 
@@ -1504,19 +1553,16 @@ msgstr ""
1504
  msgid "Limit to 3 ads"
1505
  msgstr ""
1506
 
1507
- #: ../modules/gadsense/admin/class-gadsense-admin.php:221 ..
1508
- #: /modules/gadsense/admin/views/admin-page.php:20
1509
  msgid "Your AdSense Publisher ID <em>(pub-xxxxxxxxxxxxxx)</em>"
1510
  msgstr ""
1511
 
1512
- #: ../modules/gadsense/admin/class-gadsense-admin.php:233 ..
1513
- #: /modules/gadsense/admin/views/admin-page.php:24
1514
  #, php-format
1515
  msgid "Limit to %d AdSense ads"
1516
  msgstr ""
1517
 
1518
- #: ../modules/gadsense/admin/class-gadsense-admin.php:237 ..
1519
- #: /modules/gadsense/admin/views/admin-page.php:29
1520
  #, php-format
1521
  msgid ""
1522
  "Currently, Google AdSense <a target=\"_blank\" href=\"%s\" title=\"Terms Of "
@@ -1524,19 +1570,10 @@ msgid ""
1524
  "this limitation at your own risks."
1525
  msgstr ""
1526
 
1527
- #: ../modules/gadsense/admin/class-gadsense-admin.php:240 ..
1528
- #: /modules/gadsense/admin/views/admin-page.php:32
1529
  msgid "Notice: Advanced Ads only considers the AdSense ad type for this limit."
1530
  msgstr ""
1531
 
1532
- #: ../modules/gadsense/admin/views/admin-page.php:18
1533
- msgid "Account ID"
1534
- msgstr ""
1535
-
1536
- #: ../modules/gadsense/admin/views/admin-page.php:35
1537
- msgid "Save AdSense Settings"
1538
- msgstr ""
1539
-
1540
  #: ../modules/gadsense/admin/views/adsense-ad-parameters.php:20
1541
  #, php-format
1542
  msgid "<a class=\"button\" href=\"#\" id=\"%s\">Copy&Paste existing ad code</a>"
@@ -1569,10 +1606,6 @@ msgstr ""
1569
  msgid "Get details"
1570
  msgstr ""
1571
 
1572
- #: ../modules/gadsense/admin/views/adsense-ad-parameters.php:58
1573
- msgid "Close"
1574
- msgstr ""
1575
-
1576
  #: ../modules/gadsense/includes/class-ad-type-adsense.php:35
1577
  msgid "AdSense ad"
1578
  msgstr ""
5
  "Project-Id-Version: Advanved Ads\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/plugins/plugin-name\n"
7
  "POT-Creation-Date: 2015-01-27 16:47+0100\n"
8
+ "POT-Revision-Date: Tue May 12 2015 08:53:50 GMT+0200 (CEST)\n"
9
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
10
  "Last-Translator: Thomas Maier <post@webzunft.de>\n"
11
  "Language-Team: webgilde <thomas.maier@webgilde.com>\n"
24
  "X-Poedit-Basepath: ../\n"
25
  "X-Poedit-SearchPath-0: ."
26
 
27
+ #: ../admin/class-advanced-ads-admin.php:200
28
  msgid "Overview"
29
  msgstr ""
30
 
31
+ #: ../admin/class-advanced-ads-admin.php:200 ../classes/widget.php:21
32
  msgid "Advanced Ads"
33
  msgstr ""
34
 
35
+ #: ../admin/class-advanced-ads-admin.php:204 ../admin/class-advanced-ads-admin.
36
+ #: php:204 ../admin/views/ad-group-list-form-row.php:24 ../admin/views/ad-group-
37
+ #: list-header.php:5 ../admin/views/placements.php:64 ../classes/widget.php:66 ..
38
  #: /public/class-advanced-ads.php:539
39
  msgid "Ads"
40
  msgstr ""
41
 
42
+ #: ../admin/class-advanced-ads-admin.php:208 ../admin/views/placements.php:57 ..
43
  #: /classes/widget.php:59
44
  msgid "Ad Groups"
45
  msgstr ""
46
 
47
+ #: ../admin/class-advanced-ads-admin.php:208 ../public/class-advanced-ads.php:513
48
  msgid "Groups"
49
  msgstr ""
50
 
51
+ #: ../admin/class-advanced-ads-admin.php:213 ../admin/views/debug.php:14
52
  msgid "Ad Placements"
53
  msgstr ""
54
 
55
+ #: ../admin/class-advanced-ads-admin.php:213 ../admin/views/placements.php:18
56
  msgid "Placements"
57
  msgstr ""
58
 
59
+ #: ../admin/class-advanced-ads-admin.php:217
60
  msgid "Advanced Ads Settings"
61
  msgstr ""
62
 
63
+ #: ../admin/class-advanced-ads-admin.php:217 ../admin/class-advanced-ads-admin.
64
+ #: php:387 ../admin/views/debug.php:11
65
  msgid "Settings"
66
  msgstr ""
67
 
68
+ #: ../admin/class-advanced-ads-admin.php:220
69
  msgid "Advanced Ads Debugging"
70
  msgstr ""
71
 
72
+ #: ../admin/class-advanced-ads-admin.php:220
73
  msgid "Debug"
74
  msgstr ""
75
 
76
+ #: ../admin/class-advanced-ads-admin.php:301 ../admin/class-advanced-ads-admin.
77
+ #: php:328
78
  msgid "Sorry, you are not allowed to access this feature."
79
  msgstr ""
80
 
81
+ #: ../admin/class-advanced-ads-admin.php:314
82
  msgid ""
83
  "You attempted to edit an ad group that doesn&#8217;t exist. Perhaps it was "
84
  "deleted?"
85
  msgstr ""
86
 
87
+ #: ../admin/class-advanced-ads-admin.php:414
88
  msgid "Ad Type"
89
  msgstr ""
90
 
91
+ #: ../admin/class-advanced-ads-admin.php:417
92
  msgid "Ad Parameters"
93
  msgstr ""
94
 
95
+ #: ../admin/class-advanced-ads-admin.php:420
96
  msgid "Layout / Output"
97
  msgstr ""
98
 
99
+ #: ../admin/class-advanced-ads-admin.php:423
100
  msgid "Display Conditions"
101
  msgstr ""
102
 
103
+ #: ../admin/class-advanced-ads-admin.php:426
104
  msgid "Visitor Conditions"
105
  msgstr ""
106
 
107
+ #: ../admin/class-advanced-ads-admin.php:583 ../admin/class-advanced-ads-admin.
108
+ #: php:584
109
  msgid "Ad updated."
110
  msgstr ""
111
 
112
  #. translators: %s: date and time of the revision
113
+ #: ../admin/class-advanced-ads-admin.php:586
114
  #, php-format
115
  msgid "Ad restored to revision from %s"
116
  msgstr ""
117
 
118
+ #: ../admin/class-advanced-ads-admin.php:587
119
  msgid "Ad published."
120
  msgstr ""
121
 
122
+ #: ../admin/class-advanced-ads-admin.php:588
123
  msgid "Ad saved."
124
  msgstr ""
125
 
126
+ #: ../admin/class-advanced-ads-admin.php:589
127
  msgid "Ad submitted."
128
  msgstr ""
129
 
130
+ #: ../admin/class-advanced-ads-admin.php:591
131
  #, php-format
132
  msgid "Ad scheduled for: <strong>%1$s</strong>."
133
  msgstr ""
134
 
135
  #. translators: Publish box date format, see http://php.net/date
136
+ #: ../admin/class-advanced-ads-admin.php:593
137
  msgid "M j, Y @ G:i"
138
  msgstr ""
139
 
140
+ #: ../admin/class-advanced-ads-admin.php:595
141
  msgid "Ad draft updated."
142
  msgstr ""
143
 
144
+ #: ../admin/class-advanced-ads-admin.php:614
145
  #, php-format
146
  msgid "%s ad updated."
147
  msgid_plural "%s ads updated."
148
  msgstr[0] ""
149
  msgstr[1] ""
150
 
151
+ #: ../admin/class-advanced-ads-admin.php:615
152
  #, php-format
153
  msgid "%s ad not updated, somebody is editing it."
154
  msgid_plural "%s ads not updated, somebody is editing them."
155
  msgstr[0] ""
156
  msgstr[1] ""
157
 
158
+ #: ../admin/class-advanced-ads-admin.php:616
159
  #, php-format
160
  msgid "%s ad permanently deleted."
161
  msgid_plural "%s ads permanently deleted."
162
  msgstr[0] ""
163
  msgstr[1] ""
164
 
165
+ #: ../admin/class-advanced-ads-admin.php:617
166
  #, php-format
167
  msgid "%s ad moved to the Trash."
168
  msgid_plural "%s ads moved to the Trash."
169
  msgstr[0] ""
170
  msgstr[1] ""
171
 
172
+ #: ../admin/class-advanced-ads-admin.php:618
173
  #, php-format
174
  msgid "%s ad restored from the Trash."
175
  msgid_plural "%s ads restored from the Trash."
176
  msgstr[0] ""
177
  msgstr[1] ""
178
 
179
+ #: ../admin/class-advanced-ads-admin.php:655 ../admin/views/settings.php:12
180
  msgid "General"
181
  msgstr ""
182
 
183
+ #: ../admin/class-advanced-ads-admin.php:663 ../admin/views/settings.php:18
184
  msgid "Licenses"
185
  msgstr ""
186
 
187
+ #: ../admin/class-advanced-ads-admin.php:671
188
  msgid "Disable ads"
189
  msgstr ""
190
 
191
+ #: ../admin/class-advanced-ads-admin.php:679
192
  msgid "Hide ads for logged in users"
193
  msgstr ""
194
 
195
+ #: ../admin/class-advanced-ads-admin.php:687
196
  msgid "Use advanced JavaScript"
197
  msgstr ""
198
 
199
+ #: ../admin/class-advanced-ads-admin.php:695
200
  msgid "Priority of content injection filter"
201
  msgstr ""
202
 
203
+ #: ../admin/class-advanced-ads-admin.php:703
204
  msgid "Hide ads from bots"
205
  msgstr ""
206
 
207
+ #: ../admin/class-advanced-ads-admin.php:711
208
+ msgid "Disable notices"
 
 
209
  msgstr ""
210
 
211
+ #: ../admin/class-advanced-ads-admin.php:767
212
  msgid "(display to all)"
213
  msgstr ""
214
 
215
+ #: ../admin/class-advanced-ads-admin.php:768
216
  msgid "Subscriber"
217
  msgstr ""
218
 
219
+ #: ../admin/class-advanced-ads-admin.php:769
220
  msgid "Contributor"
221
  msgstr ""
222
 
223
+ #: ../admin/class-advanced-ads-admin.php:770
224
  msgid "Author"
225
  msgstr ""
226
 
227
+ #: ../admin/class-advanced-ads-admin.php:771
228
  msgid "Editor"
229
  msgstr ""
230
 
231
+ #: ../admin/class-advanced-ads-admin.php:772
232
  msgid "Admin"
233
  msgstr ""
234
 
235
+ #: ../admin/class-advanced-ads-admin.php:780
236
  msgid "Choose the lowest role a user must have in order to not see any ads."
237
  msgstr ""
238
 
239
+ #: ../admin/class-advanced-ads-admin.php:793
240
  #, php-format
241
  msgid ""
242
  "Only enable this if you can and want to use the advanced JavaScript "
243
  "functions described <a href=\"%s\">here</a>."
244
  msgstr ""
245
 
246
+ #: ../admin/class-advanced-ads-admin.php:806
247
  msgid ""
248
  "Play with this value in order to change the priority of the injected ads "
249
  "compared to other auto injected elements in the post content."
250
  msgstr ""
251
 
252
+ #: ../admin/class-advanced-ads-admin.php:819
253
  #, php-format
254
  msgid ""
255
  "Hide ads from crawlers, bots and empty user agents. Also prevents counting "
257
  "Add-On</a>."
258
  msgstr ""
259
 
260
+ #: ../admin/class-advanced-ads-admin.php:820
261
  msgid ""
262
  "Disabling this option only makes sense if your ads contain content you want "
263
  "to display to bots (like search engines) or your site is cached and bots "
264
  "could create a cached version without the ads."
265
  msgstr ""
266
 
267
+ #: ../admin/class-advanced-ads-admin.php:833
268
+ msgid ""
269
+ "Disable all internal notices like tips, tutorials and email newsletters but "
270
+ "not critical update notices. Disabling notices is recommended if you run "
271
+ "multiple blogs with Advanced Ads already.."
272
+ msgstr ""
273
+
274
+ #: ../admin/class-advanced-ads-admin.php:862
275
  msgid "Ad Details"
276
  msgstr ""
277
 
278
+ #: ../admin/class-advanced-ads-admin.php:936
279
  msgid "Ad Settings"
280
  msgstr ""
281
 
282
+ #: ../admin/class-advanced-ads-admin.php:1011 ../admin/views/overview.php:23
283
  msgid "Ads Dashboard"
284
  msgstr ""
285
 
286
+ #: ../admin/class-advanced-ads-admin.php:1023
287
  msgid "From the ad optimization universe"
288
  msgstr ""
289
 
290
+ #: ../admin/class-advanced-ads-admin.php:1032
291
  msgid "Advanced Ads Tutorials"
292
  msgstr ""
293
 
294
+ #: ../admin/class-advanced-ads-admin.php:1043
295
  #, php-format
296
  msgid "%d ads – <a href=\"%s\">manage</a> - <a href=\"%s\">new</a>"
297
  msgstr ""
298
 
299
+ #: ../admin/class-advanced-ads-admin.php:1054
300
  msgid "plugin manual and homepage"
301
  msgstr ""
302
 
303
+ #: ../admin/class-advanced-ads-admin.php:1061
304
+ msgid "Get the tutorial via email"
305
+ msgstr ""
306
+
307
+ #: ../admin/class-advanced-ads-admin.php:1068
308
+ msgid "Get AdSense tips via email"
309
+ msgstr ""
310
+
311
  #: ../admin/includes/class-ad-groups-list.php:158
312
  msgid "scheduled"
313
  msgstr ""
316
  msgid "pending"
317
  msgstr ""
318
 
319
+ #: ../admin/includes/class-ad-groups-list.php:167
320
+ msgid "expired"
321
+ msgstr ""
322
+
323
+ #: ../admin/includes/class-ad-groups-list.php:172
324
  msgid "Ad weight"
325
  msgstr ""
326
 
327
+ #: ../admin/includes/class-ad-groups-list.php:182
328
+ msgid "all published ads are displayed"
329
+ msgstr ""
330
+
331
+ #: ../admin/includes/class-ad-groups-list.php:184
332
  #, php-format
333
  msgid "up to %d ads displayed"
334
  msgstr ""
335
 
336
+ #: ../admin/includes/class-ad-groups-list.php:187 ../admin/views/ad-group-list-
337
+ #: form-row.php:33
338
  msgid "No ads assigned"
339
  msgstr ""
340
 
341
+ #: ../admin/includes/class-ad-groups-list.php:234
342
  msgid "Random ads"
343
  msgstr ""
344
 
345
+ #: ../admin/includes/class-ad-groups-list.php:235
346
+ msgid "Display random ads based on ad weight"
347
  msgstr ""
348
 
349
+ #: ../admin/includes/class-ad-groups-list.php:238
350
  msgid "Ordered ads"
351
  msgstr ""
352
 
353
+ #: ../admin/includes/class-ad-groups-list.php:239
354
  msgid "Display ads with the highest ad weight first"
355
  msgstr ""
356
 
357
+ #: ../admin/includes/class-ad-groups-list.php:258 ../public/class-advanced-ads.
358
  #: php:543
359
  msgid "Edit"
360
  msgstr ""
361
 
362
+ #: ../admin/includes/class-ad-groups-list.php:259
363
  msgid "Usage"
364
  msgstr ""
365
 
366
+ #: ../admin/includes/class-ad-groups-list.php:268
367
  msgid "Delete"
368
  msgstr ""
369
 
370
+ #: ../admin/includes/class-ad-groups-list.php:289
371
  msgid "Invalid Ad Group"
372
  msgstr ""
373
 
374
+ #: ../admin/includes/class-ad-groups-list.php:294
375
  msgid "You don’t have permission to change the ad groups"
376
  msgstr ""
377
 
505
  msgid "type the title"
506
  msgstr ""
507
 
508
+ #: ../admin/includes/class-notices.php:304
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
509
  #, php-format
510
+ msgid ""
511
+ "You don’t seem to have an email address. Please add one to your <a "
512
+ "href=\"%s\">WordPress profile</a>"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
513
  msgstr ""
514
 
515
+ #: ../admin/includes/class-notices.php:322
516
+ msgid "How embarrassing. The email server seems to be down. Please try again later."
517
  msgstr ""
518
 
519
  #: ../admin/includes/class-overview-widgets.php:45
520
+ msgid "Tips and Tutorials"
521
  msgstr ""
522
 
523
  #: ../admin/includes/class-overview-widgets.php:47
524
+ msgid "Setup and Optimization Help"
525
  msgstr ""
526
 
527
  #: ../admin/includes/class-overview-widgets.php:49
544
  msgid "PopUps and Layers"
545
  msgstr ""
546
 
547
+ #: ../admin/includes/class-overview-widgets.php:77 ../admin/includes/notices.php:20
548
  msgid ""
549
+ "Learn more about how and <strong>how much you can earn with AdSense</strong> "
550
+ "and Advanced Ads from my dedicated newsletter."
551
  msgstr ""
552
 
553
+ #: ../admin/includes/class-overview-widgets.php:78 ../admin/includes/notices.php:
554
+ #: 21 ../admin/views/notices/inline.php:3 ../admin/views/notices/subscribe.php:3
555
+ msgid "Subscribe me now"
556
  msgstr ""
557
 
558
+ #: ../admin/includes/class-overview-widgets.php:85
559
+ msgid "Get the first steps and more tutorials to your inbox."
 
560
  msgstr ""
561
 
562
+ #: ../admin/includes/class-overview-widgets.php:86
563
+ msgid "Send it now"
564
+ msgstr ""
565
+
566
+ #: ../admin/includes/class-overview-widgets.php:109
567
  msgid "Create your first ad"
568
  msgstr ""
569
 
570
+ #: ../admin/includes/class-overview-widgets.php:112
571
  msgid ""
572
  "Ad Groups contain ads and are currently used to rotate multiple ads on a "
573
  "single spot."
574
  msgstr ""
575
 
576
+ #: ../admin/includes/class-overview-widgets.php:114
577
  msgid "Create your first group"
578
  msgstr ""
579
 
580
+ #: ../admin/includes/class-overview-widgets.php:117
581
  msgid "Ad Placements are the best way to manage where to display ads and groups."
582
  msgstr ""
583
 
584
+ #: ../admin/includes/class-overview-widgets.php:119
585
  msgid "Create your first placement"
586
  msgstr ""
587
 
588
+ #: ../admin/includes/class-overview-widgets.php:124
589
  msgid "Next steps"
590
  msgstr ""
591
 
592
+ #: ../admin/includes/class-overview-widgets.php:136
593
  #, php-format
594
  msgid "<a href=\"%s\" target=\"_blank\">Plugin Homepage</a>"
595
  msgstr ""
596
 
597
+ #: ../admin/includes/class-overview-widgets.php:137
598
  #, php-format
599
  msgid "<a href=\"%s\" target=\"_blank\">Manual</a>"
600
  msgstr ""
601
 
602
+ #: ../admin/includes/class-overview-widgets.php:138
603
  #, php-format
604
  msgid "Ask other users in the <a href=\"%s\" target=\"_blank\">wordpress.org forum</a>"
605
  msgstr ""
606
 
607
+ #: ../admin/includes/class-overview-widgets.php:139
608
  #, php-format
609
  msgid "Vote for a <a href=\"%s\" target=\"_blank\">feature</a>"
610
  msgstr ""
611
 
612
+ #: ../admin/includes/class-overview-widgets.php:140
 
 
 
 
 
613
  #, php-format
614
  msgid ""
615
  "Thank the developer with a &#9733;&#9733;&#9733;&#9733;&#9733; review on <a "
616
  "href=\"%s\" target=\"_blank\">wordpress.org</a>"
617
  msgstr ""
618
 
619
+ #: ../admin/includes/class-overview-widgets.php:149
620
+ msgid ""
621
+ "Need help to set up and optimize your ads? Need custom coding on your site? "
622
+ "Ask me for a quote."
623
+ msgstr ""
624
+
625
+ #: ../admin/includes/class-overview-widgets.php:150
626
+ #, php-format
627
+ msgid "Help with ads on %s"
628
+ msgstr ""
629
+
630
+ #: ../admin/includes/class-overview-widgets.php:151
631
+ msgid "Get an offer"
632
+ msgstr ""
633
+
634
+ #: ../admin/includes/class-overview-widgets.php:159
635
  msgid "Track the impressions of and clicks on your ads."
636
  msgstr ""
637
 
638
+ #: ../admin/includes/class-overview-widgets.php:160
639
  msgid "2 methods to count impressions"
640
  msgstr ""
641
 
642
+ #: ../admin/includes/class-overview-widgets.php:161
643
  msgid "beautiful stats for all or single ads"
644
  msgstr ""
645
 
646
+ #: ../admin/includes/class-overview-widgets.php:162
647
  msgid "get stats for predefined and custom persiods"
648
  msgstr ""
649
 
650
+ #: ../admin/includes/class-overview-widgets.php:163
651
  msgid "group stats by day, week or month"
652
  msgstr ""
653
 
654
+ #: ../admin/includes/class-overview-widgets.php:165
655
  msgid "Get the Tracking add-on"
656
  msgstr ""
657
 
658
+ #: ../admin/includes/class-overview-widgets.php:173
659
  msgid "Display ads based on the size of your visitor’s browser or device."
660
  msgstr ""
661
 
662
+ #: ../admin/includes/class-overview-widgets.php:174
663
  msgid "set a range (from … to …) pixels for the browser size"
664
  msgstr ""
665
 
666
+ #: ../admin/includes/class-overview-widgets.php:175
667
  msgid "set custom sizes for AdSense responsive ads"
668
  msgstr ""
669
 
670
+ #: ../admin/includes/class-overview-widgets.php:176
671
  msgid "list all ads by their responsive settings"
672
  msgstr ""
673
 
674
+ #: ../admin/includes/class-overview-widgets.php:178
675
  msgid "Get the Responsive add-on"
676
  msgstr ""
677
 
678
+ #: ../admin/includes/class-overview-widgets.php:186
679
  msgid ""
680
  "Fix ads to the browser while users are scrolling and create best performing "
681
  "anchor ads."
682
  msgstr ""
683
 
684
+ #: ../admin/includes/class-overview-widgets.php:187
685
  msgid "position ads that don’t scroll with the screen"
686
  msgstr ""
687
 
688
+ #: ../admin/includes/class-overview-widgets.php:188
689
  msgid "build anchor ads not only on mobile devices"
690
  msgstr ""
691
 
692
+ #: ../admin/includes/class-overview-widgets.php:190
693
  msgid "Get the Sticky add-on"
694
  msgstr ""
695
 
696
+ #: ../admin/includes/class-overview-widgets.php:198
697
  msgid "Display content and ads in layers and popups on custom events."
698
  msgstr ""
699
 
700
+ #: ../admin/includes/class-overview-widgets.php:199
701
  msgid "display a popup after a user interaction like scrolling"
702
  msgstr ""
703
 
704
+ #: ../admin/includes/class-overview-widgets.php:200
705
  msgid "optional backgroup overlay"
706
  msgstr ""
707
 
708
+ #: ../admin/includes/class-overview-widgets.php:201
709
  msgid "allow users to close the popup"
710
  msgstr ""
711
 
712
+ #: ../admin/includes/class-overview-widgets.php:203
713
  msgid "Get the PopUp and Layer add-on"
714
  msgstr ""
715
 
716
+ #: ../admin/includes/notices.php:14
717
+ msgid ""
718
+ "Thank you for activating <strong>Advanced Ads</strong>. Would you like to "
719
+ "receive the first steps via email?"
720
+ msgstr ""
721
+
722
+ #: ../admin/includes/notices.php:15
723
+ msgid "Yes, send it"
724
+ msgstr ""
725
+
726
+ #: ../admin/views/ad-display-metabox.php:7
727
  msgid "Choose where to display the ad and where to hide it."
728
  msgstr ""
729
 
730
+ #: ../admin/views/ad-display-metabox.php:10
731
  msgid "Display ad everywhere"
732
  msgstr ""
733
 
734
+ #: ../admin/views/ad-display-metabox.php:11
735
  msgid "Set display conditions"
736
  msgstr ""
737
 
738
+ #: ../admin/views/ad-display-metabox.php:15
739
  msgid "If you want to display the ad everywhere, don't do anything here. "
740
  msgstr ""
741
 
742
+ #: ../admin/views/ad-display-metabox.php:16
743
  msgid "The fewer conditions you enter, the better the performance will be."
744
  msgstr ""
745
 
746
+ #: ../admin/views/ad-display-metabox.php:17
747
  #, php-format
748
  msgid ""
749
  "Learn more about display conditions from the <a href=\"%s\" "
750
  "target=\"_blank\">manual</a>."
751
  msgstr ""
752
 
753
+ #: ../admin/views/ad-display-metabox.php:34
754
  msgid "Other conditions"
755
  msgstr ""
756
 
757
+ #: ../admin/views/ad-display-metabox.php:52
758
  msgctxt "button label"
759
  msgid "on"
760
  msgstr ""
761
 
762
+ #: ../admin/views/ad-display-metabox.php:56
763
  msgctxt "button label"
764
  msgid "off"
765
  msgstr ""
766
 
767
+ #: ../admin/views/ad-display-metabox.php:71
768
  msgid "show debug output"
769
  msgstr ""
770
 
771
+ #: ../admin/views/ad-display-metabox.php:72
772
  msgid "Values saved for this ad in the database (post metas)"
773
  msgstr ""
774
 
804
  msgid "Update"
805
  msgstr ""
806
 
807
+ #: ../admin/views/ad-group-list-form-row.php:3 ../admin/views/placements.php:33
 
808
  msgid "Name"
809
  msgstr ""
810
 
812
  msgid "Description"
813
  msgstr ""
814
 
815
+ #: ../admin/views/ad-group-list-form-row.php:7 ../admin/views/placements.php:34 ..
816
+ #: /modules/gadsense/admin/views/adsense-ad-parameters.php:27
 
817
  msgid "Type"
818
  msgstr ""
819
 
821
  msgid "Number of ads"
822
  msgstr ""
823
 
824
+ #: ../admin/views/ad-group-list-form-row.php:20
825
+ msgctxt "option to display all ads in an ad groups"
826
+ msgid "all"
827
+ msgstr ""
828
+
829
+ #: ../admin/views/ad-group-list-form-row.php:23
830
  msgid "Number of ads to display in the block"
831
  msgstr ""
832
 
833
+ #: ../admin/views/ad-group-list-form-row.php:27 ../public/class-advanced-ads.php:
834
  #: 540
835
  msgid "Ad"
836
  msgstr ""
837
 
838
+ #: ../admin/views/ad-group-list-form-row.php:28
839
  msgid "weight"
840
  msgstr ""
841
 
848
  msgstr ""
849
 
850
  #: ../admin/views/ad-group-list-row.php:8 ../admin/views/ad-group.php:63 ..
851
+ #: /admin/views/ad-info.php:6 ../admin/views/placements.php:22
852
  msgid "shortcode"
853
  msgstr ""
854
 
855
  #: ../admin/views/ad-group-list-row.php:11 ../admin/views/ad-group.php:66 ..
856
+ #: /admin/views/ad-info.php:9 ../admin/views/placements.php:25
857
  msgid "template"
858
  msgstr ""
859
 
917
  msgid "Update Groups"
918
  msgstr ""
919
 
920
+ #: ../admin/views/ad-info.php:1
921
+ #, php-format
922
+ msgid "Ad Id: %s"
923
+ msgstr ""
924
+
925
+ #: ../admin/views/ad-info.php:2
926
+ msgid "How to use this Ad?"
927
+ msgstr ""
928
+
929
+ #: ../admin/views/ad-info.php:5
930
+ #, php-format
931
+ msgid ""
932
+ "How to display the ad directly? Find more help and examples in the <a "
933
+ "href=\"%s\" target=\"_blank\">manual</a>"
934
+ msgstr ""
935
+
936
+ #: ../admin/views/ad-info.php:7
937
+ msgid "To display an ad in content fields"
938
+ msgstr ""
939
+
940
+ #: ../admin/views/ad-info.php:10
941
+ msgid "To display an ad in template files"
942
+ msgstr ""
943
+
944
+ #: ../admin/views/ad-info.php:15
945
+ msgid "click to change"
946
+ msgstr ""
947
+
948
+ #: ../admin/views/ad-info.php:19
949
+ msgid "Add a description"
950
+ msgstr ""
951
+
952
+ #: ../admin/views/ad-info.php:22
953
+ msgid "Internal description or your own notes about this ad."
954
+ msgstr ""
955
+
956
  #: ../admin/views/ad-main-metabox.php:3
957
  msgid "No ad types defined"
958
  msgstr ""
969
  msgid "- default -"
970
  msgstr ""
971
 
972
+ #: ../admin/views/ad-output-metabox.php:7 ../admin/views/placements.php:49 ..
973
  #: /classes/ad_placements.php:31
974
  msgid "default"
975
  msgstr ""
1016
  msgid "tip: use this to add a margin around the ad"
1017
  msgstr ""
1018
 
1019
+ #: ../admin/views/ad-parameters-metabox.php:15 ../classes/ad_ajax_callbacks.php:50
1020
  msgid "size:"
1021
  msgstr ""
1022
 
1023
+ #: ../admin/views/ad-parameters-metabox.php:16 ../classes/ad_ajax_callbacks.php:51
1024
  msgid "width"
1025
  msgstr ""
1026
 
1027
+ #: ../admin/views/ad-parameters-metabox.php:17 ../classes/ad_ajax_callbacks.php:52
1028
  msgid "height"
1029
  msgstr ""
1030
 
1044
  msgid "%1$s %2$s, %3$s"
1045
  msgstr ""
1046
 
1047
+ #: ../admin/views/ad-visitor-metabox.php:4
1048
  msgid ""
1049
  "Display conditions that are based on the user. Use with caution on cached "
1050
  "websites."
1051
  msgstr ""
1052
 
1053
+ #: ../admin/views/ad-visitor-metabox.php:29
1054
+ msgid "New condition"
1055
  msgstr ""
1056
 
1057
+ #: ../admin/views/ad-visitor-metabox.php:32
1058
+ msgctxt "visitor condition connector"
1059
+ msgid "and"
1060
  msgstr ""
1061
 
1062
+ #: ../admin/views/ad-visitor-metabox.php:33
1063
+ msgctxt "visitor condition connector"
1064
+ msgid "or"
1065
  msgstr ""
1066
 
1067
+ #: ../admin/views/ad-visitor-metabox.php:36
1068
+ msgid "-- choose a condition --"
 
 
 
1069
  msgstr ""
1070
 
1071
+ #: ../admin/views/ad-visitor-metabox.php:41
1072
+ msgid "add"
 
1073
  msgstr ""
1074
 
1075
+ #: ../admin/views/ad-visitor-metabox.php:45
 
 
 
 
1076
  #, php-format
1077
  msgid ""
1078
+ "Define the exact browser width for which an ad should be visible using the "
1079
+ "<a href=\"%s\" target=\"_blank\">Responsive add-on</a>."
 
 
 
 
1080
  msgstr ""
1081
 
1082
+ #: ../admin/views/ad-visitor-metabox.php:102
1083
+ msgid ""
1084
+ "The visitor conditions below are deprecated. Please use the new version of "
1085
+ "visitor conditions to replace it."
1086
  msgstr ""
1087
 
1088
+ #: ../admin/views/ad-visitor-metabox.php:108
1089
+ msgid "Display on all devices"
1090
  msgstr ""
1091
 
1092
+ #: ../admin/views/ad-visitor-metabox.php:112
1093
+ msgid "only on mobile devices"
1094
  msgstr ""
1095
 
1096
+ #: ../admin/views/ad-visitor-metabox.php:116
1097
+ msgid "not on mobile devices"
1098
  msgstr ""
1099
 
1100
+ #: ../admin/views/debug.php:6
1101
  msgid "Work in progress"
1102
  msgstr ""
1103
 
1104
+ #: ../admin/views/debug.php:7
1105
  msgid ""
1106
  "This screen is work in progress. You can use the information if you "
1107
  "understand them, but there is nothing to do here yet."
1129
  "<a href=\"%s\">auto injection</a>."
1130
  msgstr ""
1131
 
1132
+ #: ../admin/views/placements.php:19
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1133
  msgid "How to use the <i>default</i> Ad Placement?"
1134
  msgstr ""
1135
 
1136
+ #: ../admin/views/placements.php:21
1137
  #, php-format
1138
  msgid ""
1139
  "Examples on how to use the <i>default</i> ad placement? Find more help and "
1140
  "examples in the <a href=\"%s\" target=\"_blank\">manual</a>"
1141
  msgstr ""
1142
 
1143
+ #: ../admin/views/placements.php:23
1144
  msgid "To use an ad placement with the ID skyscraper_left in content fields"
1145
  msgstr ""
1146
 
1147
+ #: ../admin/views/placements.php:26
1148
  msgid "To use an ad placement with the ID skyscraper_left in template files"
1149
  msgstr ""
1150
 
1151
+ #: ../admin/views/placements.php:35
1152
  msgid "Options"
1153
  msgstr ""
1154
 
1155
+ #: ../admin/views/placements.php:53
1156
  msgid "Item"
1157
  msgstr ""
1158
 
1159
+ #: ../admin/views/placements.php:55 ../classes/widget.php:57
1160
  msgid "--empty--"
1161
  msgstr ""
1162
 
1163
+ #: ../admin/views/placements.php:75
1164
  msgid "Inject"
1165
  msgstr ""
1166
 
1167
+ #: ../admin/views/placements.php:76
1168
  msgid "after"
1169
  msgstr ""
1170
 
1171
+ #: ../admin/views/placements.php:76
1172
  msgid "before"
1173
  msgstr ""
1174
 
1175
+ #: ../admin/views/placements.php:101
1176
  msgid "remove placement"
1177
  msgstr ""
1178
 
1179
+ #: ../admin/views/placements.php:107
1180
  msgid "Save Placements"
1181
  msgstr ""
1182
 
1183
+ #: ../admin/views/placements.php:112
1184
+ msgid "Create a new placement"
1185
  msgstr ""
1186
 
1187
+ #: ../admin/views/placements.php:114
1188
+ msgid "Choose a placement type"
1189
  msgstr ""
1190
 
1191
+ #: ../admin/views/placements.php:115
1192
+ #, php-format
1193
+ msgid ""
1194
+ "Placement types define how the placements works and where it is going to be "
1195
+ "displayed. Learn more about the different types from the <a "
1196
+ "href=\"%s\">manual</a>"
1197
  msgstr ""
1198
 
1199
+ #: ../admin/views/placements.php:125
1200
+ msgid "Choose a Name"
1201
  msgstr ""
1202
 
1203
+ #: ../admin/views/placements.php:126
1204
+ msgid ""
1205
+ "The name of the placement is only visible to you. Tip: choose a descriptive "
1206
+ "one, e.g. <em>Below Post Headline</em>."
1207
  msgstr ""
1208
 
1209
+ #: ../admin/views/placements.php:127
1210
+ msgid "Placement Name"
1211
  msgstr ""
1212
 
1213
+ #: ../admin/views/placements.php:128
1214
+ msgid "Save New Placement"
1215
  msgstr ""
1216
 
1217
+ #: ../admin/views/post-ad-settings-metabox.php:3
1218
+ msgid "Disable ads on this page"
1219
+ msgstr ""
1220
+
1221
+ #: ../admin/views/settings-disable-ads.php:3
1222
  msgid "Disable all ads in frontend"
1223
  msgstr ""
1224
 
1225
+ #: ../admin/views/settings-disable-ads.php:4
1226
  msgid ""
1227
  "Use this option to disable all ads in the frontend, but still be able to use "
1228
  "the plugin."
1229
  msgstr ""
1230
 
1231
+ #: ../admin/views/settings-disable-ads.php:8
1232
  msgid "Disable ads on 404 error pages"
1233
  msgstr ""
1234
 
1235
+ #: ../admin/views/settings-disable-ads.php:12
1236
  msgid "Disable ads on non-singular pages"
1237
  msgstr ""
1238
 
1239
+ #: ../admin/views/settings-disable-ads.php:13
1240
  msgid "e.g. archive pages like categories, tags, authors, front page (if a list)"
1241
  msgstr ""
1242
 
1243
+ #: ../admin/views/settings-disable-ads.php:16
1244
  msgid "Disable ads on secondary queries"
1245
  msgstr ""
1246
 
1247
+ #: ../admin/views/settings-disable-ads.php:17
1248
  msgid ""
1249
  "Secondary queries are custom queries of posts outside the main query of a "
1250
  "page. Try this option if you see ads injected on places where they shouldn’t "
1251
  "appear."
1252
  msgstr ""
1253
 
1254
+ #: ../admin/views/settings.php:40
1255
+ msgid "Save settings on this page"
1256
+ msgstr ""
1257
+
1258
+ #: ../admin/views/settings.php:47
1259
+ msgid "Debug Page"
1260
+ msgstr ""
1261
+
1262
+ #: ../admin/views/settings.php:48
1263
+ msgid "Advanced Ads on WordPress.org"
1264
+ msgstr ""
1265
+
1266
+ #: ../admin/views/settings.php:48
1267
+ msgid "Advanced Ads on wp.org"
1268
+ msgstr ""
1269
+
1270
+ #: ../admin/views/settings.php:49
1271
+ msgid "the company behind Advanced Ads"
1272
+ msgstr ""
1273
+
1274
+ #: ../admin/views/settings.php:49
1275
+ msgid "webgilde GmbH"
1276
+ msgstr ""
1277
+
1278
+ #: ../admin/views/notices/error.php:1
1279
+ msgid "OK"
1280
+ msgstr ""
1281
+
1282
+ #: ../admin/views/notices/inline.php:4 ../admin/views/notices/subscribe.php:4 ..
1283
+ #: /modules/gadsense/admin/views/adsense-ad-parameters.php:58
1284
+ msgid "Close"
1285
+ msgstr ""
1286
+
1287
  #: ../classes/ad_placements.php:32
1288
  msgid "Manual placement."
1289
  msgstr ""
1330
  "ad content is displayed."
1331
  msgstr ""
1332
 
1333
+ #: ../classes/ad_placements.php:190
1334
  #, php-format
1335
  msgid "paragraph (%s)"
1336
  msgstr ""
1337
 
1338
+ #: ../classes/ad_placements.php:191
1339
  #, php-format
1340
  msgid "headline 2 (%s)"
1341
  msgstr ""
1342
 
1343
+ #: ../classes/ad_placements.php:192
1344
  #, php-format
1345
  msgid "headline 3 (%s)"
1346
  msgstr ""
1347
 
1348
+ #: ../classes/ad_placements.php:193
1349
  #, php-format
1350
  msgid "headline 4 (%s)"
1351
  msgstr ""
1387
  msgid "Execute PHP code (wrapped in <code>&lt;?php ?&gt;</code>)"
1388
  msgstr ""
1389
 
1390
+ #: ../classes/visitor-conditions.php:32
1391
+ msgid "mobile device"
1392
+ msgstr ""
1393
+
1394
+ #: ../classes/visitor-conditions.php:33
1395
+ msgid "Display ads only on mobile devices or hide them."
1396
+ msgstr ""
1397
+
1398
+ #: ../classes/visitor-conditions.php:82
1399
+ msgid "is"
1400
+ msgstr ""
1401
+
1402
+ #: ../classes/visitor-conditions.php:83
1403
+ msgid "is not"
1404
+ msgstr ""
1405
+
1406
+ #: ../classes/visitor-conditions.php:116
1407
+ msgid "equal"
1408
+ msgstr ""
1409
+
1410
+ #: ../classes/visitor-conditions.php:117
1411
+ msgid "equal and higher"
1412
+ msgstr ""
1413
+
1414
+ #: ../classes/visitor-conditions.php:118
1415
+ msgid "equal and lower"
1416
+ msgstr ""
1417
+
1418
  #: ../classes/widget.php:19
1419
  msgid "Display Ads and Ad Groups."
1420
  msgstr ""
1532
  msgstr ""
1533
 
1534
  #: ../modules/gadsense/admin/class-gadsense-admin.php:65 ..
1535
+ #: /modules/gadsense/admin/class-gadsense-admin.php:256
1536
  msgid "The Publisher ID has an incorrect format. (must start with \"pub-\")"
1537
  msgstr ""
1538
 
1541
  msgstr ""
1542
 
1543
  #: ../modules/gadsense/admin/class-gadsense-admin.php:174 ..
1544
+ #: /modules/gadsense/admin/class-gadsense-admin.php:278
1545
  msgid "AdSense"
1546
  msgstr ""
1547
 
1553
  msgid "Limit to 3 ads"
1554
  msgstr ""
1555
 
1556
+ #: ../modules/gadsense/admin/class-gadsense-admin.php:219
 
1557
  msgid "Your AdSense Publisher ID <em>(pub-xxxxxxxxxxxxxx)</em>"
1558
  msgstr ""
1559
 
1560
+ #: ../modules/gadsense/admin/class-gadsense-admin.php:231
 
1561
  #, php-format
1562
  msgid "Limit to %d AdSense ads"
1563
  msgstr ""
1564
 
1565
+ #: ../modules/gadsense/admin/class-gadsense-admin.php:235
 
1566
  #, php-format
1567
  msgid ""
1568
  "Currently, Google AdSense <a target=\"_blank\" href=\"%s\" title=\"Terms Of "
1570
  "this limitation at your own risks."
1571
  msgstr ""
1572
 
1573
+ #: ../modules/gadsense/admin/class-gadsense-admin.php:238
 
1574
  msgid "Notice: Advanced Ads only considers the AdSense ad type for this limit."
1575
  msgstr ""
1576
 
 
 
 
 
 
 
 
 
1577
  #: ../modules/gadsense/admin/views/adsense-ad-parameters.php:20
1578
  #, php-format
1579
  msgid "<a class=\"button\" href=\"#\" id=\"%s\">Copy&Paste existing ad code</a>"
1606
  msgid "Get details"
1607
  msgstr ""
1608
 
 
 
 
 
1609
  #: ../modules/gadsense/includes/class-ad-type-adsense.php:35
1610
  msgid "AdSense ad"
1611
  msgstr ""
modules/gadsense/config.php CHANGED
@@ -6,7 +6,7 @@ $path = dirname( __FILE__ );
6
 
7
  return array(
8
  'classmap' => array(
9
- 'Advads_Ad_Type_Adsense' => $path . '/includes/class-ad-type-adsense.php',
10
  'Gadsense_Data' => $path . '/includes/class-gadsense-data.php',
11
  'Gadsense_Admin' => $path . '/admin/class-gadsense-admin.php',
12
  ),
6
 
7
  return array(
8
  'classmap' => array(
9
+ 'Advanced_Ads_Ad_Type_Adsense' => $path . '/includes/class-ad-type-adsense.php',
10
  'Gadsense_Data' => $path . '/includes/class-gadsense-data.php',
11
  'Gadsense_Admin' => $path . '/admin/class-gadsense-admin.php',
12
  ),
modules/gadsense/includes/class-ad-type-adsense.php CHANGED
@@ -14,7 +14,7 @@
14
  * see also includes/class-ad-type-abstract.php for basic object
15
  *
16
  */
17
- class Advads_Ad_Type_Adsense extends Advads_Ad_Type_Abstract {
18
 
19
  /**
20
  * ID - internal type of the ad type
14
  * see also includes/class-ad-type-abstract.php for basic object
15
  *
16
  */
17
+ class Advanced_Ads_Ad_Type_Adsense extends Advanced_Ads_Ad_Type_Abstract {
18
 
19
  /**
20
  * ID - internal type of the ad type
modules/gadsense/main.php CHANGED
@@ -11,7 +11,7 @@ if ( class_exists( 'Advanced_Ads', false ) ) {
11
  * "content" key must match the id
12
  */
13
  function advads_add_ad_type_adsense($types) {
14
- $types['adsense'] = new Advads_Ad_Type_Adsense();
15
  return $types;
16
  }
17
 
11
  * "content" key must match the id
12
  */
13
  function advads_add_ad_type_adsense($types) {
14
+ $types['adsense'] = new Advanced_Ads_Ad_Type_Adsense();
15
  return $types;
16
  }
17
 
public/class-advanced-ads.php CHANGED
@@ -25,7 +25,7 @@ class Advanced_Ads {
25
  * @var string
26
  */
27
 
28
- const VERSION = '1.5.2.1';
29
 
30
  /**
31
  * post type slug
@@ -279,8 +279,8 @@ class Advanced_Ads {
279
  *
280
  */
281
  function setup_default_ad_types($types){
282
- $types['plain'] = new Advads_Ad_Type_Plain(); /* plain text and php code */
283
- $types['content'] = new Advads_Ad_Type_Content(); /* rich content editor */
284
  return $types;
285
  }
286
 
25
  * @var string
26
  */
27
 
28
+ const VERSION = '1.5.4';
29
 
30
  /**
31
  * post type slug
279
  *
280
  */
281
  function setup_default_ad_types($types){
282
+ $types['plain'] = new Advanced_Ads_Ad_Type_Plain(); /* plain text and php code */
283
+ $types['content'] = new Advanced_Ads_Ad_Type_Content(); /* rich content editor */
284
  return $types;
285
  }
286
 
readme.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: webzunft
3
  Donate link:https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=5RRRCEBGN3UT2
4
  Tags: ads, ad, adsense, display, banner, advertisements, adverts, advert, monetization
5
  Requires at least: WP 3.5, PHP 5.3
6
- Tested up to: 4.2
7
- Stable tag: 1.5.2.1
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -174,6 +174,26 @@ There is no revenue share. Advanced Ads doesn’t alter your ad codes in a way t
174
 
175
  == Changelog ==
176
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
177
  = 1.5.2.1 =
178
 
179
  * fixed inclusion / exclusion of ads for single posts
3
  Donate link:https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=5RRRCEBGN3UT2
4
  Tags: ads, ad, adsense, display, banner, advertisements, adverts, advert, monetization
5
  Requires at least: WP 3.5, PHP 5.3
6
+ Tested up to: 4.2.2
7
+ Stable tag: 1.5.4
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
174
 
175
  == Changelog ==
176
 
177
+ = 1.5.4 =
178
+
179
+ * PLEASE READ the [update notice](https://wpadvancedads.com/advanced-ads-1-5-4/) to learn more about the changes on visitor conditions
180
+ * visitor conditions completely rewritten to allow combination of multiple conditions
181
+ * created simpler placement creation
182
+ * reordered Advanced Ads dashboard
183
+ * added AdSense tutorial
184
+
185
+ = 1.5.3 =
186
+
187
+ * display all ads of an ad group
188
+ * no ad wrapper is created if the main ad content is empty
189
+ * hide ad meta box on posts and pages for non admins
190
+ * display if ad expired on group overview
191
+ * added tutorial subscription
192
+ * added notices and newsletter logic
193
+ * new hook `advanced-ads-debug-after`
194
+ * updated all class names from "Advads_" to "Advanced_Ads_"
195
+ * updated German translation
196
+
197
  = 1.5.2.1 =
198
 
199
  * fixed inclusion / exclusion of ads for single posts
vendor/autoload_52.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once dirname(__FILE__) . '/composer'.'/autoload_real_52.php';
6
 
7
- return ComposerAutoloaderInit8cda8f52aae5bf6f8f52424ac2a0a7ea::getLoader();
4
 
5
  require_once dirname(__FILE__) . '/composer'.'/autoload_real_52.php';
6
 
7
+ return ComposerAutoloaderInit65c2949eec61b8641be7ee0f5b4dcaa4::getLoader();
vendor/composer/autoload_classmap.php CHANGED
@@ -6,25 +6,26 @@ $vendorDir = dirname(dirname(__FILE__));
6
  $baseDir = dirname($vendorDir);
7
 
8
  return array(
9
- 'AdvAds_Admin_Notices' => $baseDir . '/admin/includes/class-notices.php',
10
- 'AdvAds_Display_Condition_Callbacks' => $baseDir . '/admin/includes/class-display-condition-callbacks.php',
11
- 'AdvAds_Groups_List' => $baseDir . '/admin/includes/class-ad-groups-list.php',
12
- 'AdvAds_List_Table' => $baseDir . '/admin/includes/class-list-table.php',
13
- 'AdvAds_Overview_Widgets_Callbacks' => $baseDir . '/admin/includes/class-overview-widgets.php',
14
  'Advads_Ad' => $baseDir . '/classes/ad.php',
15
- 'Advads_Ad_Ajax_Callbacks' => $baseDir . '/classes/ad_ajax_callbacks.php',
16
- 'Advads_Ad_Group' => $baseDir . '/classes/ad_group.php',
17
- 'Advads_Ad_Type_Abstract' => $baseDir . '/classes/ad_type_abstract.php',
18
- 'Advads_Ad_Type_Content' => $baseDir . '/classes/ad_type_content.php',
19
- 'Advads_Ad_Type_Plain' => $baseDir . '/classes/ad_type_plain.php',
20
- 'Advads_Widget' => $baseDir . '/classes/widget.php',
21
  'Advanced_Ads' => $baseDir . '/public/class-advanced-ads.php',
 
 
 
 
 
22
  'Advanced_Ads_Admin' => $baseDir . '/admin/class-advanced-ads-admin.php',
 
23
  'Advanced_Ads_Ajax' => $baseDir . '/classes/ad-ajax.php',
 
 
 
24
  'Advanced_Ads_Model' => $baseDir . '/classes/ad-model.php',
 
25
  'Advanced_Ads_Placements' => $baseDir . '/classes/ad_placements.php',
26
  'Advanced_Ads_Plugin' => $baseDir . '/classes/plugin.php',
27
  'Advanced_Ads_Select' => $baseDir . '/classes/ad-select.php',
 
 
28
  'Composer\\Installers\\AglInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AglInstaller.php',
29
  'Composer\\Installers\\AimeosInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AimeosInstaller.php',
30
  'Composer\\Installers\\AnnotateCmsInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AnnotateCmsInstaller.php',
6
  $baseDir = dirname($vendorDir);
7
 
8
  return array(
 
 
 
 
 
9
  'Advads_Ad' => $baseDir . '/classes/ad.php',
 
 
 
 
 
 
10
  'Advanced_Ads' => $baseDir . '/public/class-advanced-ads.php',
11
+ 'Advanced_Ads_Ad' => $baseDir . '/classes/ad.php',
12
+ 'Advanced_Ads_Ad_Ajax_Callbacks' => $baseDir . '/classes/ad_ajax_callbacks.php',
13
+ 'Advanced_Ads_Ad_Type_Abstract' => $baseDir . '/classes/ad_type_abstract.php',
14
+ 'Advanced_Ads_Ad_Type_Content' => $baseDir . '/classes/ad_type_content.php',
15
+ 'Advanced_Ads_Ad_Type_Plain' => $baseDir . '/classes/ad_type_plain.php',
16
  'Advanced_Ads_Admin' => $baseDir . '/admin/class-advanced-ads-admin.php',
17
+ 'Advanced_Ads_Admin_Notices' => $baseDir . '/admin/includes/class-notices.php',
18
  'Advanced_Ads_Ajax' => $baseDir . '/classes/ad-ajax.php',
19
+ 'Advanced_Ads_Display_Condition_Callbacks' => $baseDir . '/admin/includes/class-display-condition-callbacks.php',
20
+ 'Advanced_Ads_Group' => $baseDir . '/classes/ad_group.php',
21
+ 'Advanced_Ads_Groups_List' => $baseDir . '/admin/includes/class-ad-groups-list.php',
22
  'Advanced_Ads_Model' => $baseDir . '/classes/ad-model.php',
23
+ 'Advanced_Ads_Overview_Widgets_Callbacks' => $baseDir . '/admin/includes/class-overview-widgets.php',
24
  'Advanced_Ads_Placements' => $baseDir . '/classes/ad_placements.php',
25
  'Advanced_Ads_Plugin' => $baseDir . '/classes/plugin.php',
26
  'Advanced_Ads_Select' => $baseDir . '/classes/ad-select.php',
27
+ 'Advanced_Ads_Visitor_Conditions' => $baseDir . '/classes/visitor-conditions.php',
28
+ 'Advanced_Ads_Widget' => $baseDir . '/classes/widget.php',
29
  'Composer\\Installers\\AglInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AglInstaller.php',
30
  'Composer\\Installers\\AimeosInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AimeosInstaller.php',
31
  'Composer\\Installers\\AnnotateCmsInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AnnotateCmsInstaller.php',
vendor/composer/autoload_real_52.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real_52.php generated by xrstf/composer-php52
4
 
5
- class ComposerAutoloaderInit8cda8f52aae5bf6f8f52424ac2a0a7ea {
6
  private static $loader;
7
 
8
  public static function loadClassLoader($class) {
@@ -19,9 +19,9 @@ class ComposerAutoloaderInit8cda8f52aae5bf6f8f52424ac2a0a7ea {
19
  return self::$loader;
20
  }
21
 
22
- spl_autoload_register(array('ComposerAutoloaderInit8cda8f52aae5bf6f8f52424ac2a0a7ea', 'loadClassLoader'), true /*, true */);
23
  self::$loader = $loader = new xrstf_Composer52_ClassLoader();
24
- spl_autoload_unregister(array('ComposerAutoloaderInit8cda8f52aae5bf6f8f52424ac2a0a7ea', 'loadClassLoader'));
25
 
26
  $vendorDir = dirname(dirname(__FILE__));
27
  $baseDir = dirname($vendorDir);
2
 
3
  // autoload_real_52.php generated by xrstf/composer-php52
4
 
5
+ class ComposerAutoloaderInit65c2949eec61b8641be7ee0f5b4dcaa4 {
6
  private static $loader;
7
 
8
  public static function loadClassLoader($class) {
19
  return self::$loader;
20
  }
21
 
22
+ spl_autoload_register(array('ComposerAutoloaderInit65c2949eec61b8641be7ee0f5b4dcaa4', 'loadClassLoader'), true /*, true */);
23
  self::$loader = $loader = new xrstf_Composer52_ClassLoader();
24
+ spl_autoload_unregister(array('ComposerAutoloaderInit65c2949eec61b8641be7ee0f5b4dcaa4', 'loadClassLoader'));
25
 
26
  $vendorDir = dirname(dirname(__FILE__));
27
  $baseDir = dirname($vendorDir);