Advanced Ads - Version 1.5.2

Version Description

  • fixed empty bots not excluded if option is activated
  • fixed updated placements not showing up right away
  • removing spaces from AdSense publisher id
  • simplify admin capabilities for modules
  • fixed admin includes to avoid relative paths
  • fixed a warning in add-on admin settings
  • fixed wrong path to advanced.js
  • removed old code and global ad conditions previously saved in field 'advads-ads-by-conditions'
  • updated German translation
Download this release

Release Info

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

Code changes from version 1.5.1 to 1.5.2

Files changed (39) hide show
  1. admin/assets/js/admin.js +79 -79
  2. admin/class-advanced-ads-admin.php +386 -410
  3. admin/includes/class-ad-groups-list.php +307 -308
  4. admin/includes/class-display-condition-callbacks.php +96 -96
  5. admin/includes/class-notices.php +55 -55
  6. admin/includes/class-overview-widgets.php +8 -8
  7. admin/views/ad-display-metabox.php +20 -20
  8. admin/views/ad-group-list-form-row.php +24 -24
  9. admin/views/ad-group-list-header.php +3 -3
  10. admin/views/ad-group-list-row.php +6 -6
  11. admin/views/ad-group.php +12 -12
  12. admin/views/{ad_info.php → ad-info.php} +1 -1
  13. admin/views/{ad_list_details_column.php → ad-list-details-column.php} +0 -0
  14. admin/views/ad-visitor-metabox.php +1 -1
  15. admin/views/admin.php +0 -25
  16. admin/views/debug.php +0 -3
  17. admin/views/placements.php +13 -10
  18. admin/views/{post_ad_settings_metabox.php → post-ad-settings-metabox.php} +0 -0
  19. admin/views/{settings_disable_ads.php → settings-disable-ads.php} +0 -0
  20. admin/views/settings.php +23 -21
  21. advanced-ads.php +3 -2
  22. classes/ad-select.php +1 -1
  23. classes/ad.php +1 -125
  24. classes/ad_placements.php +36 -6
  25. classes/plugin.php +1 -1
  26. composer.lock +1 -1
  27. includes/load_modules.php +14 -6
  28. languages/advanced-ads-de_DE.mo +0 -0
  29. languages/advanced-ads-de_DE.po +1091 -695
  30. languages/advanced-ads.pot +1673 -1372
  31. modules/gadsense/admin/class-gadsense-admin.php +2 -2
  32. modules/gadsense/admin/views/admin-page.php +0 -39
  33. modules/gadsense/admin/views/adsense-ad-parameters.php +1 -1
  34. modules/gadsense/includes/class-gadsense-data.php +1 -1
  35. public/class-advanced-ads.php +7 -27
  36. readme.txt +21 -9
  37. vendor/autoload_52.php +1 -1
  38. vendor/composer/autoload_classmap.php +3 -3
  39. vendor/composer/autoload_real_52.php +3 -3
admin/assets/js/admin.js CHANGED
@@ -46,52 +46,52 @@ jQuery( document ).ready(function ($) {
46
  });
47
 
48
  // toggle single display condition checkboxes that have a counterpart
49
- $(document).on('click', '.advads-conditions-single input[type="checkbox"]', function () {
50
- advads_toggle_single_display_condition_checkbox( this );
51
- // update buttons
52
- $('.advads-conditions-terms-buttons label').button('refresh');
53
  });
54
  // toggle single display condition checkboxes that have a counterpart on load
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();
63
  });
64
  // display input field to search for terms
65
  $( '.advads-conditions-terms-show-search' ).click(function (e) {
66
  e.preventDefault();
67
  // display input field
68
- $(this).siblings('.advads-conditions-terms-search').show().focus();
69
- $(this).next('br').show();
70
- $(this).hide();
71
  });
72
  // register autocomplete to display condition posts
73
- var response = [];
74
  if($( ".advads-conditions-terms-search" ).length){
75
  $( ".advads-conditions-terms-search" ).each(function(){
76
- var self = this;
77
- $(this).autocomplete({
78
- source: function(request, callback){
79
- // var searchField = request.term;
80
- advads_term_search(self, callback);
81
- },
82
- minLength: 1,
83
- select: function( event, ui ) {
84
- // append new line with input fields
85
- $( '<label class="button">' + ui.item.label + '<input type="hidden" name="advanced_ad[conditions]['+ self.dataset.group +']['+ self.dataset.includeType +'][]" value="' + ui.item.value + '"></label>' ).appendTo( $(self).siblings('.advads-conditions-terms-buttons'));
86
 
87
- // show / hide other elements
88
- // $( '#advads-display-conditions-individual-post' ).hide();
89
- // $( '.advads-conditions-postids-list .show-search a' ).show();
90
- },
91
- close: function( event, ui ) {
92
- $(self).val( '' );
93
- }
94
- });
95
  });
96
  };
97
  // display input field to search for post, page, etc.
@@ -133,52 +133,52 @@ jQuery( document ).ready(function ($) {
133
  $( this ).parent( 'li' ).remove();
134
  });
135
 
136
- // display ad groups form
137
- $('#advads-ad-group-list a.edit, #advads-ad-group-list a.row-title').click(function(e){
138
- e.preventDefault();
139
- var advadsgroupformrow = $(this).parents('.advads-group-row').next('.advads-ad-group-form');
140
- if(advadsgroupformrow.is(':visible')){
141
- advadsgroupformrow.hide();
142
- } else {
143
- advadsgroupformrow.show();
144
- }
145
- });
146
- // display ad groups usage
147
- $('#advads-ad-group-list a.usage').click(function(e){
148
- e.preventDefault();
149
- var usagediv = $(this).parents('.advads-group-row').find('.advads-usage');
150
- if(usagediv.is(':visible')){
151
- usagediv.hide();
152
- } else {
153
- usagediv.show();
154
- }
155
- });
156
- // menu tabs
157
- $('#advads-tabs').find('a').click(function () {
158
- $('#advads-tabs').find('a').removeClass('nav-tab-active');
159
- $('.advads-tab').removeClass('active');
160
 
161
- var id = jQuery(this).attr('id').replace('-tab', '');
162
- jQuery('#' + id).addClass('active');
163
- jQuery(this).addClass('nav-tab-active');
164
- });
165
 
166
- // activate specific or first tab
167
- var active_tab = window.location.hash.replace('#top#', '');
168
- if (active_tab == '' || active_tab == '#_=_') {
169
- active_tab = $('.advads-tab').attr('id');
170
- }
171
- $('#' + active_tab).addClass('active');
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
  /**
@@ -192,7 +192,7 @@ function advads_term_search(field, callback) {
192
 
193
  // return ['post', 'poster'];
194
  var query = {
195
- action: 'advads-terms-search',
196
  };
197
 
198
  query.search = field.value;
@@ -207,8 +207,8 @@ function advads_term_search(field, callback) {
207
  if(r){
208
  r.map(function(element, index){
209
  results[index] = {
210
- value: element.term_id,
211
- label: element.name
212
  };
213
  });
214
  }
@@ -323,11 +323,11 @@ function advads_toggle_single_display_condition_checkbox(checkbox) {
323
  if (jQuery( checkbox ).is( ':checked' )) {
324
  counterpart.attr( 'checked', false );
325
  counterpart.attr( 'disabled', 'disabled' );
326
- // mark label
327
- jQuery('label[for="'+counterpart.attr('id')+'"]').addClass('ui-button-disabled').addClass('ui-state-disabled');
328
  } else {
329
  counterpart.removeAttr( 'disabled' );
330
- jQuery('label[for="'+counterpart.attr('id')+'"]').removeClass('ui-button-disabled');
331
- jQuery('label[for="'+counterpart.attr('id')+'"]').removeClass('ui-state-disabled');
332
  }
333
  }
46
  });
47
 
48
  // toggle single display condition checkboxes that have a counterpart
49
+ $( document ).on('click', '.advads-conditions-single input[type="checkbox"]', function () {
50
+ advads_toggle_single_display_condition_checkbox( this );
51
+ // update buttons
52
+ $( '.advads-conditions-terms-buttons label' ).button( 'refresh' );
53
  });
54
  // toggle single display condition checkboxes that have a counterpart on load
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();
63
  });
64
  // display input field to search for terms
65
  $( '.advads-conditions-terms-show-search' ).click(function (e) {
66
  e.preventDefault();
67
  // display input field
68
+ $( this ).siblings( '.advads-conditions-terms-search' ).show().focus();
69
+ $( this ).next( 'br' ).show();
70
+ $( this ).hide();
71
  });
72
  // register autocomplete to display condition posts
73
+ var response = [];
74
  if($( ".advads-conditions-terms-search" ).length){
75
  $( ".advads-conditions-terms-search" ).each(function(){
76
+ var self = this;
77
+ $( this ).autocomplete({
78
+ source: function(request, callback){
79
+ // var searchField = request.term;
80
+ advads_term_search( self, callback );
81
+ },
82
+ minLength: 1,
83
+ select: function( event, ui ) {
84
+ // append new line with input fields
85
+ $( '<label class="button">' + ui.item.label + '<input type="hidden" name="advanced_ad[conditions][' + self.dataset.group + '][' + self.dataset.includeType + '][]" value="' + ui.item.value + '"></label>' ).appendTo( $( self ).siblings( '.advads-conditions-terms-buttons' ) );
86
 
87
+ // show / hide other elements
88
+ // $( '#advads-display-conditions-individual-post' ).hide();
89
+ // $( '.advads-conditions-postids-list .show-search a' ).show();
90
+ },
91
+ close: function( event, ui ) {
92
+ $( self ).val( '' );
93
+ }
94
+ });
95
  });
96
  };
97
  // display input field to search for post, page, etc.
133
  $( this ).parent( 'li' ).remove();
134
  });
135
 
136
+ // display ad groups form
137
+ $( '#advads-ad-group-list a.edit, #advads-ad-group-list a.row-title' ).click(function(e){
138
+ e.preventDefault();
139
+ var advadsgroupformrow = $( this ).parents( '.advads-group-row' ).next( '.advads-ad-group-form' );
140
+ if(advadsgroupformrow.is( ':visible' )){
141
+ advadsgroupformrow.hide();
142
+ } else {
143
+ advadsgroupformrow.show();
144
+ }
145
+ });
146
+ // display ad groups usage
147
+ $( '#advads-ad-group-list a.usage' ).click(function(e){
148
+ e.preventDefault();
149
+ var usagediv = $( this ).parents( '.advads-group-row' ).find( '.advads-usage' );
150
+ if(usagediv.is( ':visible' )){
151
+ usagediv.hide();
152
+ } else {
153
+ usagediv.show();
154
+ }
155
+ });
156
+ // menu tabs
157
+ $( '#advads-tabs' ).find( 'a' ).click(function () {
158
+ $( '#advads-tabs' ).find( 'a' ).removeClass( 'nav-tab-active' );
159
+ $( '.advads-tab' ).removeClass( 'active' );
160
 
161
+ var id = jQuery( this ).attr( 'id' ).replace( '-tab', '' );
162
+ jQuery( '#' + id ).addClass( 'active' );
163
+ jQuery( this ).addClass( 'nav-tab-active' );
164
+ });
165
 
166
+ // activate specific or first tab
167
+ var active_tab = window.location.hash.replace( '#top#', '' );
168
+ if (active_tab == '' || active_tab == '#_=_') {
169
+ active_tab = $( '.advads-tab' ).attr( 'id' );
170
+ }
171
+ $( '#' + active_tab ).addClass( 'active' );
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
  /**
192
 
193
  // return ['post', 'poster'];
194
  var query = {
195
+ action: 'advads-terms-search',
196
  };
197
 
198
  query.search = field.value;
207
  if(r){
208
  r.map(function(element, index){
209
  results[index] = {
210
+ value: element.term_id,
211
+ label: element.name
212
  };
213
  });
214
  }
323
  if (jQuery( checkbox ).is( ':checked' )) {
324
  counterpart.attr( 'checked', false );
325
  counterpart.attr( 'disabled', 'disabled' );
326
+ // mark label
327
+ jQuery( 'label[for="' + counterpart.attr( 'id' ) + '"]' ).addClass( 'ui-button-disabled' ).addClass( 'ui-state-disabled' );
328
  } else {
329
  counterpart.removeAttr( 'disabled' );
330
+ jQuery( 'label[for="' + counterpart.attr( 'id' ) + '"]' ).removeClass( 'ui-button-disabled' );
331
+ jQuery( 'label[for="' + counterpart.attr( 'id' ) + '"]' ).removeClass( 'ui-state-disabled' );
332
  }
333
  }
admin/class-advanced-ads-admin.php CHANGED
@@ -14,8 +14,6 @@
14
  * Plugin class. This class should ideally be used to work with the
15
  * administrative side of the WordPress site.
16
  *
17
- * +TODO fix relative paths
18
- *
19
  * @package Advanced_Ads_Admin
20
  * @author Thomas Maier <thomas.maier@webgilde.com>
21
  */
@@ -85,8 +83,8 @@ class Advanced_Ads_Admin {
85
  $this->post_type = constant( 'Advanced_Ads::POST_TYPE_SLUG' );
86
 
87
  // Load admin style sheet and JavaScript.
88
- add_action( 'admin_enqueue_scripts', array($this, 'enqueue_admin_styles') );
89
- add_action( 'admin_enqueue_scripts', array($this, 'enqueue_admin_scripts') );
90
 
91
  // Add menu items
92
  add_action( 'admin_menu', array($this, 'add_plugin_admin_menu') );
@@ -99,9 +97,9 @@ class Advanced_Ads_Admin {
99
  // save ads post type
100
  add_action( 'save_post', array($this, 'save_ad') );
101
 
102
- // ad updated messages
103
- add_filter( 'post_updated_messages', array($this, 'ad_update_messages'));
104
- add_filter( 'bulk_post_updated_messages', array($this, 'ad_bulk_update_messages'), 10, 2);
105
 
106
  // handling (ad) lists
107
  add_filter( 'request', array($this, 'ad_list_request') ); // order ads by title, not ID
@@ -110,8 +108,10 @@ class Advanced_Ads_Admin {
110
 
111
  // settings handling
112
  add_action( 'admin_init', array($this, 'settings_init') );
 
 
113
 
114
- // check for update logic
115
  add_action( 'admin_init', array($this, 'update_version_logic') );
116
 
117
  // admin notices
@@ -157,7 +157,7 @@ class Advanced_Ads_Admin {
157
  */
158
  public function enqueue_admin_styles() {
159
  wp_enqueue_style( $this->plugin_slug . '-admin-styles', plugins_url( 'assets/css/admin.css', __FILE__ ), array(), Advanced_Ads::VERSION );
160
- wp_enqueue_style('jquery-style', '//code.jquery.com/ui/1.11.3/themes/smoothness/jquery-ui.css');
161
  }
162
 
163
  /**
@@ -176,7 +176,7 @@ class Advanced_Ads_Admin {
176
 
177
  wp_enqueue_script( $this->plugin_slug . '-admin-script', plugins_url( 'assets/js/admin.js', __FILE__ ), array('jquery', 'jquery-ui-autocomplete'), Advanced_Ads::VERSION );
178
  // jquery ui
179
- wp_enqueue_script( 'jquery-ui-button' );
180
 
181
  // just register this script for later inclusion on ad group list page
182
  wp_register_script( 'inline-edit-group-ads', plugins_url( 'assets/js/inline-edit-group-ads.js', __FILE__ ), array('jquery'), Advanced_Ads::VERSION );
@@ -244,7 +244,7 @@ class Advanced_Ads_Admin {
244
  // convert from vertical order to horizontal
245
  $screen->add_option( 'layout_columns', 1 );
246
 
247
- include_once( 'views/overview.php' );
248
  }
249
 
250
  /**
@@ -253,7 +253,7 @@ class Advanced_Ads_Admin {
253
  * @since 1.0.0
254
  */
255
  public function display_plugin_settings_page() {
256
- include_once( 'views/settings.php' );
257
  }
258
 
259
  /**
@@ -262,27 +262,12 @@ class Advanced_Ads_Admin {
262
  * @since 1.1.0
263
  */
264
  public function display_placements_page() {
265
- // sace new placement
266
- if ( isset($_POST['advads']['placement']) ){
267
- $return = Advads_Ad_Placements::save_new_placement( $_POST['advads']['placement'] );
268
- }
269
- // save placement data
270
- if ( isset($_POST['advads']['placements']) ){
271
- $return = Advads_Ad_Placements::save_placements( $_POST['advads']['placements'] );
272
- }
273
- $error = false;
274
- $success = false;
275
- if ( isset($return) && $return !== true ) {
276
- $error = $return;
277
- } elseif ( isset($return) && $return === true ){
278
- $success = __( 'Placements updated', ADVADS_SLUG );
279
- }
280
- $placement_types = Advads_Ad_Placements::get_placement_types();
281
  $placements = Advanced_Ads::get_ad_placements_array(); // -TODO use model
282
  // load ads and groups for select field
283
 
284
  // display view
285
- include_once( 'views/placements.php' );
286
  }
287
 
288
  /**
@@ -294,10 +279,9 @@ class Advanced_Ads_Admin {
294
  // load array with ads by condition
295
  $plugin = Advanced_Ads::get_instance();
296
  $plugin_options = $plugin->options();
297
- $ads_by_conditions = $plugin->get_ads_by_conditions_array();
298
  $ad_placements = Advanced_Ads::get_ad_placements_array(); // -TODO use model
299
 
300
- include( 'views/debug.php' );
301
  }
302
 
303
  /**
@@ -314,7 +298,7 @@ class Advanced_Ads_Admin {
314
  $action = $this->current_action();
315
 
316
  // handle new and updated groups
317
- if ( $action == 'editedgroup' ) {
318
  $group_id = (int) $_POST['group_id'];
319
  check_admin_referer( 'update-group_' . $group_id );
320
 
@@ -322,7 +306,7 @@ class Advanced_Ads_Admin {
322
  wp_die( __( 'Sorry, you are not allowed to access this feature.', ADVADS_SLUG ) ); }
323
 
324
  // handle new groups
325
- if ( $group_id == 0 ) {
326
  $ret = wp_insert_term( $_POST['name'], $taxonomy, $_POST );
327
  if ( $ret && ! is_wp_error( $ret ) ) {
328
  $forced_message = 1; }
@@ -365,15 +349,15 @@ class Advanced_Ads_Admin {
365
  $tag = false;
366
  }
367
 
368
- include( 'views/ad-group-edit.php' );
369
  break;
370
 
371
  default :
372
  $title = $tax->labels->name;
373
- $wp_list_table = _get_list_table('WP_Terms_List_Table');
374
 
375
  // load template
376
- include( 'views/ad-group.php' );
377
  }
378
  }
379
 
@@ -422,7 +406,7 @@ class Advanced_Ads_Admin {
422
  }
423
  $ad = new Advads_Ad( $post->ID );
424
 
425
- include('views/ad_info.php');
426
  }
427
 
428
  /**
@@ -468,7 +452,7 @@ class Advanced_Ads_Admin {
468
 
469
  $enabled = ( ! empty($ad->expiry_date)) ? 1 : 0;
470
 
471
- include(plugin_dir_path( __FILE__ ) . 'views/ad-submitbox-meta.php');
472
  }
473
 
474
  /**
@@ -500,12 +484,10 @@ class Advanced_Ads_Admin {
500
  break;
501
  }
502
 
503
- if ( empty($view) ) {
504
- return; }
505
- $view = plugin_dir_path( __FILE__ ) . 'views/' . $view;
506
- if ( is_file( $view ) ) {
507
- include( $view );
508
  }
 
509
  }
510
 
511
  /**
@@ -524,12 +506,14 @@ class Advanced_Ads_Admin {
524
 
525
  // don’t do this on revisions
526
  if ( wp_is_post_revision( $post_id ) ) {
527
- return; }
 
528
 
529
  // get ad object
530
  $ad = new Advads_Ad( $post_id );
531
  if ( ! $ad instanceof Advads_Ad ) {
532
- return; }
 
533
 
534
  $ad->type = $_POST['advanced_ad']['type'];
535
  if ( isset($_POST['advanced_ad']['output']) ) {
@@ -578,19 +562,19 @@ class Advanced_Ads_Admin {
578
  $ad->save();
579
  }
580
 
581
- /**
582
- * edit ad update messages
583
- *
584
- * @since 1.4.7
585
- * @param arr $messages existing post update messages
586
- * @return arr $messages
587
- *
588
- * @see wp-admin/edit-form-advanced.php
589
- */
590
- public function ad_update_messages(array $messages){
591
- $post = get_post();
592
-
593
- $messages[Advanced_Ads::POST_TYPE_SLUG] = array(
594
  0 => '', // Unused. Messages start at index 1.
595
  1 => __( 'Ad updated.', ADVADS_SLUG ),
596
  4 => __( 'Ad updated.', ADVADS_SLUG ),
@@ -605,409 +589,401 @@ class Advanced_Ads_Admin {
605
  date_i18n( __( 'M j, Y @ G:i', ADVADS_SLUG ), strtotime( $post->post_date ) )
606
  ),
607
  10 => __( 'Ad draft updated.', ADVADS_SLUG )
608
- );
609
- return $messages;
610
- }
611
-
612
- /**
613
- * edit ad bulk update messages
614
- *
615
- * @since 1.4.7
616
- * @param arr $messages existing bulk update messages
617
- * @param arr $counts numbers of updated ads
618
- * @return arr $messages
619
- *
620
- * @see wp-admin/edit.php
621
- */
622
- public function ad_bulk_update_messages(array $messages, array $counts){
623
- $post = get_post();
624
 
625
- $messages[Advanced_Ads::POST_TYPE_SLUG] = array(
626
- 'updated' => _n( '%s ad updated.', '%s ads updated.', $counts['updated'] ),
627
- 'locked' => _n( '%s ad not updated, somebody is editing it.', '%s ads not updated, somebody is editing them.', $counts['locked'] ),
628
- 'deleted' => _n( '%s ad permanently deleted.', '%s ads permanently deleted.', $counts['deleted'] ),
629
- 'trashed' => _n( '%s ad moved to the Trash.', '%s ads moved to the Trash.', $counts['trashed'] ),
630
- 'untrashed' => _n( '%s ad restored from the Trash.', '%s ads restored from the Trash.', $counts['untrashed'] ),
631
- );
 
 
 
 
 
 
 
 
 
 
 
 
 
632
 
633
- return $messages;
634
- }
635
 
636
- /**
637
  * get action from the params
638
  *
639
  * @since 1.0.0
640
  */
641
- public function current_action() {
642
- if ( isset($_REQUEST['action']) && -1 != $_REQUEST['action'] ) {
643
- return $_REQUEST['action']; }
 
644
 
645
- return false;
646
- }
647
 
648
- /**
649
  * initialize settings
650
  *
651
  * @since 1.0.1
652
  */
653
- public function settings_init(){
654
-
655
- // get settings page hook
656
- $hook = $this->plugin_screen_hook_suffix;
657
-
658
- // register settings
659
- register_setting( ADVADS_SLUG, ADVADS_SLUG, array($this, 'sanitize_settings') );
660
- // register license settings
661
- register_setting( ADVADS_SLUG . '-licenses', ADVADS_SLUG . '-licenses');
662
-
663
- // general settings section
664
- add_settings_section(
665
- 'advanced_ads_setting_section',
666
- __( 'General', ADVADS_SLUG ),
667
- array($this, 'render_settings_section_callback'),
668
- $hook
669
- );
670
 
671
- // licenses section
672
- add_settings_section(
673
- 'advanced_ads_settings_license_section',
674
- __('Licenses', ADVADS_SLUG),
675
- array($this, 'render_settings_licenses_section_callback'),
676
- 'advanced-ads-settings-license-page'
677
- );
678
-
679
- // add setting fields to disable ads
680
- add_settings_field(
681
- 'disable-ads',
682
- __( 'Disable ads', ADVADS_SLUG ),
683
- array($this, 'render_settings_disable_ads'),
684
- $hook,
685
- 'advanced_ads_setting_section'
686
- );
687
- // add setting fields for user role
688
- add_settings_field(
689
- 'hide-for-user-role',
690
- __( 'Hide ads for logged in users', ADVADS_SLUG ),
691
- array($this, 'render_settings_hide_for_users'),
692
- $hook,
693
- 'advanced_ads_setting_section'
694
- );
695
- // add setting fields for advanced js
696
- add_settings_field(
697
- 'activate-advanced-js',
698
- __( 'Use advanced JavaScript', ADVADS_SLUG ),
699
- array($this, 'render_settings_advanced_js'),
700
- $hook,
701
- 'advanced_ads_setting_section'
702
- );
703
- // add setting fields for content injection priority
704
- add_settings_field(
705
- 'content-injection-priority',
706
- __( 'Priority of content injection filter', ADVADS_SLUG ),
707
- array($this, 'render_settings_content_injection_priority'),
708
- $hook,
709
- 'advanced_ads_setting_section'
710
- );
711
- // add setting fields for content injection priority
712
- add_settings_field(
713
- 'block-bots',
714
- __( 'Hide ads from bots', ADVADS_SLUG ),
715
- array($this, 'render_settings_block_bots'),
716
- $hook,
717
- 'advanced_ads_setting_section'
718
- );
719
 
720
- // hook for additional settings from add-ons
721
- do_action( 'advanced-ads-settings-init', $hook );
722
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
723
 
724
- /**
 
 
 
 
725
  * render settings section
726
  *
727
  * @since 1.1.1
728
  */
729
- public function render_settings_section_callback(){
730
- // for whatever purpose there might come
731
- }
732
 
733
- /**
734
  * render licenses settings section
735
  *
736
  * @since 1.5.1
737
  */
738
- public function render_settings_licenses_section_callback(){
739
- echo '<p>'. __('Enter license keys for our powerful add-ons.', ADVADS_SLUG) .'</p>';
740
- }
741
 
742
- /**
743
  * options to disable ads
744
  *
745
  * @since 1.3.11
746
  */
747
- public function render_settings_disable_ads(){
748
- $options = Advanced_Ads::get_instance()->options();
749
-
750
- // set the variables
751
- $disable_all = isset($options['disabled-ads']['all']) ? 1 : 0;
752
- $disable_404 = isset($options['disabled-ads']['404']) ? 1 : 0;
753
- $disable_archives = isset($options['disabled-ads']['archives']) ? 1 : 0;
754
- $disable_secondary = isset($options['disabled-ads']['secondary']) ? 1 : 0;
755
-
756
- // load the template
757
- $view = plugin_dir_path( __FILE__ ) . 'views/settings_disable_ads.php';
758
- if ( is_file( $view ) ) {
759
- require( $view );
760
  }
761
- }
762
 
763
- /**
764
  * render setting to hide ads from logged in users
765
  *
766
  * @since 1.1.1
767
  */
768
- public function render_settings_hide_for_users(){
769
- $options = Advanced_Ads::get_instance()->options();
770
- $current_capability_role = isset($options['hide-for-user-role']) ? $options['hide-for-user-role'] : 0;
771
 
772
- $capability_roles = array(
773
  '' => __( '(display to all)', ADVADS_SLUG ),
774
  'read' => __( 'Subscriber', ADVADS_SLUG ),
775
  'delete_posts' => __( 'Contributor', ADVADS_SLUG ),
776
  'edit_posts' => __( 'Author', ADVADS_SLUG ),
777
  'edit_pages' => __( 'Editor', ADVADS_SLUG ),
778
  'activate_plugins' => __( 'Admin', ADVADS_SLUG ),
779
- );
780
- echo '<select name="'.ADVADS_SLUG.'[hide-for-user-role]">';
781
- foreach ( $capability_roles as $_capability => $_role ) {
782
- echo '<option value="'.$_capability.'" '.selected( $_capability, $current_capability_role, false ).'>'.$_role.'</option>';
783
- }
784
- echo '</select>';
785
 
786
- echo '<p class="description">'. __( 'Choose the lowest role a user must have in order to not see any ads.', ADVADS_SLUG ) .'</p>';
787
- }
788
 
789
- /**
790
  * render setting to display advanced js file
791
  *
792
  * @since 1.2.3
793
  */
794
- public function render_settings_advanced_js(){
795
- $options = Advanced_Ads::get_instance()->options();
796
- $checked = ( ! empty($options['advanced-js'])) ? 1 : 0;
797
 
798
- echo '<input id="advanced-ads-advanced-js" type="checkbox" value="1" name="'.ADVADS_SLUG.'[advanced-js]" '.checked( $checked, 1, false ).'>';
799
- echo '<p class="description">'. sprintf( __( 'Only enable this if you can and want to use the advanced JavaScript functions described <a href="%s">here</a>.', ADVADS_SLUG ), 'http://wpadvancedads.com/javascript-functions/' ) .'</p>';
800
- }
801
 
802
- /**
803
  * render setting for content injection priority
804
  *
805
  * @since 1.4.1
806
  */
807
- public function render_settings_content_injection_priority(){
808
- $options = Advanced_Ads::get_instance()->options();
809
- $priority = ( ! empty($options['content-injection-priority'])) ? absint( $options['content-injection-priority'] ) : 100;
810
 
811
- echo '<input id="advanced-ads-content-injection-priority" type="number" value="'.$priority.'" name="'.ADVADS_SLUG.'[content-injection-priority]" size="3"/>';
812
- echo '<p class="description">'. __( 'Play with this value in order to change the priority of the injected ads compared to other auto injected elements in the post content.', ADVADS_SLUG ) .'</p>';
813
- }
814
 
815
- /**
816
  * render setting for blocking bots
817
  *
818
  * @since 1.4.9
819
  */
820
- public function render_settings_block_bots(){
821
- $options = Advanced_Ads::get_instance()->options();
822
- $checked = ( ! empty($options['block-bots'])) ? 1 : 0;
823
 
824
- echo '<input id="advanced-ads-block-bots" type="checkbox" value="1" name="'.ADVADS_SLUG.'[block-bots]" '.checked( $checked, 1, false ).'>';
825
- echo '<p class="description">'. sprintf(__( 'Hide ads from crawlers and other bots. Also prevents counting impressions for bots when using the <a href="%s" target="_blank">Tracking Add-On</a>.', ADVADS_SLUG ), 'http://wpadvancedads.com/ad-tracking/') .'<br/>'
826
- . __( '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>';
827
- }
828
 
829
- /**
830
- * sanitize plugin settings
831
- *
832
- * @since 1.5.1
833
- * @param array $options all the options
834
- */
835
- public function sanitize_settings($options){
836
 
837
- // sanitize whatever option one wants to sanitize
838
 
839
- return $options;
840
- }
841
 
842
- /**
843
  * add heading for extra column of ads list
844
  * remove the date column
845
  *
846
  * @since 1.3.3
847
  * @param arr $defaults
848
  */
849
- public function ad_list_columns_head($defaults){
850
 
851
- $offset = array_search( 'title', array_keys( $defaults ) ) + 1;
852
 
853
- $defaults = array_merge(
854
- array_slice( $defaults, 0, $offset ),
855
- array('ad_details' => __( 'Ad Details', ADVADS_SLUG )),
856
- array_slice( $defaults, $offset, null )
857
- );
858
 
859
- // remove the date
860
- unset($defaults['date']);
861
 
862
- return $defaults;
863
- }
864
 
865
- /**
866
  * order ads by title on ads list
867
  *
868
  * @since 1.3.18
869
  * @param arr $vars array with request vars
870
  */
871
- public function ad_list_request($vars){
872
-
873
- // order ads by title on ads list
874
- if ( is_admin() && empty( $vars['orderby'] ) && $this->post_type == $vars['post_type'] ) {
875
- $vars = array_merge( $vars, array(
876
- 'orderby' => 'title',
877
- 'order' => 'ASC'
878
- ) );
879
- }
880
 
881
- return $vars;
882
- }
883
 
884
- /**
885
  * display ad details in ads list
886
  *
887
  * @since 1.3.3
888
  * @param string $column_name name of the column
889
  * @param int $ad_id id of the ad
890
  */
891
- public function ad_list_columns_content($column_name, $ad_id) {
892
- if ( $column_name == 'ad_details' ) {
893
- $ad = new Advads_Ad( $ad_id );
894
-
895
- // load ad type title
896
- $types = Advanced_Ads::get_instance()->ad_types;
897
- $type = ( ! empty($types[$ad->type]->title)) ? $types[$ad->type]->title : 0;
898
-
899
- // load ad size
900
- $size = 0;
901
- if ( ! empty($ad->width) || ! empty($ad->height) ) {
902
- $size = sprintf( '%d x %d', $ad->width, $ad->height );
903
- }
904
 
905
- $size = apply_filters( 'advanced-ads-list-ad-size', $size, $ad );
906
 
907
- $view = plugin_dir_path( __FILE__ ) . 'views/ad_list_details_column.php';
908
- if ( is_file( $view ) ) {
909
- require( $view );
910
  }
911
  }
912
- }
913
 
914
- /**
915
  * add a meta box to post type edit screens with ad settings
916
  *
917
  * @since 1.3.10
918
  * @param string $post_type current post type
919
  */
920
- public function add_post_meta_box($post_type = ''){
921
- // get public post types
922
- $public_post_types = get_post_types( array('public' => true, 'publicly_queryable' => true), 'names', 'or' );
923
-
924
- //limit meta box to public post types
925
- if ( in_array( $post_type, $public_post_types ) ) {
926
- add_meta_box(
927
- 'advads-ad-settings',
928
- __( 'Ad Settings', ADVADS_SLUG ),
929
- array( $this, 'render_post_meta_box' ),
930
- $post_type,
931
- 'advanced',
932
- 'low'
933
- );
 
934
  }
935
- }
936
 
937
- /**
938
  * render meta box for ad settings on a per post basis
939
  *
940
  * @since 1.3.10
941
  * @param WP_Post $post The post object.
942
  */
943
- public function render_post_meta_box( $post ) {
944
 
945
- // nonce field to check when we save the values
946
- wp_nonce_field( 'advads_post_meta_box', 'advads_post_meta_box_nonce' );
947
 
948
- // retrieve an existing value from the database.
949
- $values = get_post_meta( $post->ID, '_advads_ad_settings', true );
950
 
951
- // load the view
952
- $view = plugin_dir_path( __FILE__ ) . 'views/post_ad_settings_metabox.php';
953
- if ( is_file( $view ) ) {
954
- require( $view );
955
  }
956
- }
957
 
958
- /**
959
  * save the ad meta when the post is saved.
960
  *
961
  * @since 1.3.10
962
  * @param int $post_id The ID of the post being saved.
963
  */
964
- public function save_post_meta_box( $post_id ) {
965
-
966
- // check nonce
967
- if ( ! isset( $_POST['advads_post_meta_box_nonce'] ) ) {
968
- return $post_id; }
969
-
970
- $nonce = $_POST['advads_post_meta_box_nonce'];
971
 
972
- // Verify that the nonce is valid.
973
- if ( ! wp_verify_nonce( $nonce, 'advads_post_meta_box' ) ) {
974
- return $post_id; }
975
 
976
- // don’t save on autosave
977
- if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
978
- return $post_id; }
979
 
980
- // check the user's permissions.
981
- if ( 'page' == $_POST['post_type'] ) {
982
- if ( ! current_user_can( 'edit_page', $post_id ) ) {
983
  return $post_id; }
984
- } else {
985
- if ( ! current_user_can( 'edit_post', $post_id ) ) {
 
986
  return $post_id; }
987
- }
988
 
989
- // Sanitize the user input.
990
- $_data['disable_ads'] = isset($_POST['advanced_ads']['disable_ads']) ? absint( $_POST['advanced_ads']['disable_ads'] ) : 0;
 
 
 
 
 
 
991
 
992
- // Update the meta field.
993
- update_post_meta( $post_id, '_advads_ad_settings', $_data );
994
- }
995
 
996
- /**
 
 
 
 
997
  * add dashboard widget with ad stats and additional information
998
  *
999
  * @since 1.3.12
1000
  */
1001
- public function add_dashboard_widget(){
1002
- add_meta_box( 'advads_dashboard_widget', __( 'Ads Dashboard', ADVADS_SLUG ), array($this, 'dashboard_widget_function'), 'dashboard', 'side', 'high' );
1003
- }
1004
 
1005
- /**
1006
  * display widget functions
1007
  */
1008
- public static function dashboard_widget_function($post, $callback_args){
1009
- // load ad optimization feed
1010
- $feeds = array(
1011
  array(
1012
  'link' => 'http://webgilde.com/en/ad-optimization/',
1013
  'url' => 'http://webgilde.com/en/ad-optimization/feed/',
@@ -1018,39 +994,39 @@ class Advanced_Ads_Admin {
1018
  'show_date' => 0,
1019
  ),
1020
  array(
1021
- 'link' => 'http://wpadvancedads.com/',
1022
- 'url' => 'http://wpadvancedads.com/feed/',
1023
  'title' => __( 'Advanced Ads Tutorials', ADVADS_SLUG ),
1024
  'items' => 2,
1025
  'show_summary' => 0,
1026
  'show_author' => 0,
1027
  'show_date' => 0,
1028
  ),
1029
- );
1030
 
1031
- // get number of ads
1032
- $recent_ads = Advanced_Ads::get_instance()->get_model()->get_ads();
1033
- echo '<p>';
1034
- printf(__( '%d ads – <a href="%s">manage</a> - <a href="%s">new</a>', ADVADS_SLUG ),
1035
- count( $recent_ads ),
1036
- 'edit.php?post_type='. Advanced_Ads::POST_TYPE_SLUG,
1037
- 'post-new.php?post_type='. Advanced_Ads::POST_TYPE_SLUG);
1038
- echo '</p>';
1039
-
1040
- // get and display plugin version
1041
- $advads_plugin_data = get_plugin_data( ADVADS_BASE_PATH . 'advanced-ads.php' );
1042
- if ( isset($advads_plugin_data['Version']) ){
1043
- $version = $advads_plugin_data['Version'];
1044
- echo '<p><a href="http://wpadvancedads.com" target="_blank" title="'.
1045
  __( 'plugin manual and homepage', ADVADS_SLUG ).'">Advanced Ads</a> '. $version .'</p>';
1046
- }
1047
 
1048
- // rss feed
1049
- // $this->dashboard_widget_function_output('advads_dashboard_widget', $feed);
1050
- self::dashboard_cached_rss_widget( 'advads_dashboard_widget', array('Advanced_Ads_Admin', 'dashboard_widget_function_output'), array('advads' => $feeds) );
1051
- }
1052
 
1053
- /**
1054
  * checks to see if there are feed urls in transient cache; if not, load them
1055
  * built using a lot of https://developer.wordpress.org/reference/functions/wp_dashboard_cached_rss_widget/
1056
  *
@@ -1060,85 +1036,85 @@ class Advanced_Ads_Admin {
1060
  * @param array $check_urls RSS feeds
1061
  * @return bool False on failure. True on success.
1062
  */
1063
- static function dashboard_cached_rss_widget( $widget_id, $callback, $feeds = array() ) {
1064
- if ( empty($feeds) ) {
1065
- return;
1066
- }
1067
 
1068
- $cache_key = 'dash_' . md5( $widget_id );
1069
- /*if ( false !== ( $output = get_transient( $cache_key ) ) ) {
1070
  echo $output;
1071
  return true;
1072
- }*/
1073
 
1074
- if ( $callback && is_callable( $callback ) ) {
1075
- ob_start();
1076
- call_user_func_array( $callback, $feeds );
1077
- set_transient( $cache_key, ob_get_flush(), 12 * HOUR_IN_SECONDS ); // Default lifetime in cache of 12 hours (same as the feeds)
1078
- }
1079
 
1080
- return true;
1081
- }
1082
 
1083
- /**
1084
  * create the rss output of the widget
1085
  *
1086
  * @param string $widget_id Widget ID.
1087
  * @param array $feeds Array of RSS feeds.
1088
  */
1089
- static function dashboard_widget_function_output( $feeds ) {
1090
- foreach ( $feeds as $_feed ){
1091
- echo '<div class="rss-widget">';
1092
- echo '<h4>'.$_feed['title'].'</h4>';
1093
- wp_widget_rss_output( $_feed['url'], $_feed );
1094
- echo '</div>';
 
1095
  }
1096
- }
1097
 
1098
- /**
1099
  * checks needed when the plugin was updated
1100
  *
1101
  * @since 1.4.5
1102
  */
1103
- public function update_version_logic(){
1104
- $plugin = Advanced_Ads_Plugin::get_instance();
1105
- $options = $plugin->internal_options();
1106
- $user_options = $plugin->options();
1107
-
1108
- $new_options = $options;
1109
-
1110
- // check, if current notices were deleted
1111
- // TODO: there is probably a better hook for that
1112
- if ( isset( $_GET['advads-remove-notices'] ) ) {
1113
- // TODO could as well use internal options instead of $_SESSION
1114
- // get options and clear the notices option
1115
- $new_options['version_notices'] = array();
1116
- if ( isset($_SESSION['advanced_ads_version_notices'] ) ) {
1117
- unset( $_SESSION['advanced_ads_version_notices'] );
 
1118
  }
1119
- }
1120
 
1121
- // use an artifical older version for updates on installed plugins before the notice logic was invented
1122
- if( ! isset( $options['version'] ) && $user_options !== array() ){
1123
- $old_version = '1.4.4';
1124
- } else {
1125
- // set empty version for new installations
1126
- $old_version = 0;
1127
- }
1128
- $version = Advanced_Ads::VERSION;
1129
- $updated_versions = isset( $new_options['version_notices'] ) ? $new_options['version_notices'] : array();
1130
 
1131
- // handle update notices
1132
- new AdvAds_Admin_Notices( $old_version, $version, $updated_versions );
1133
 
1134
- $new_options['version'] = $version;
1135
- if ( isset( $_SESSION['advanced_ads_version_notices'] ) ) {
1136
- $new_options['version_notices'] = $_SESSION['advanced_ads_version_notices'];
1137
- }
1138
 
1139
- // save options, if version information changed
1140
- if ( $options !== $new_options ) {
1141
- $plugin->update_internal_options( $new_options );
 
1142
  }
1143
- }
1144
  }
14
  * Plugin class. This class should ideally be used to work with the
15
  * administrative side of the WordPress site.
16
  *
 
 
17
  * @package Advanced_Ads_Admin
18
  * @author Thomas Maier <thomas.maier@webgilde.com>
19
  */
83
  $this->post_type = constant( 'Advanced_Ads::POST_TYPE_SLUG' );
84
 
85
  // Load admin style sheet and JavaScript.
86
+ add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_admin_styles' ) );
87
+ add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_admin_scripts' ) );
88
 
89
  // Add menu items
90
  add_action( 'admin_menu', array($this, 'add_plugin_admin_menu') );
97
  // save ads post type
98
  add_action( 'save_post', array($this, 'save_ad') );
99
 
100
+ // ad updated messages
101
+ add_filter( 'post_updated_messages', array($this, 'ad_update_messages') );
102
+ add_filter( 'bulk_post_updated_messages', array($this, 'ad_bulk_update_messages'), 10, 2 );
103
 
104
  // handling (ad) lists
105
  add_filter( 'request', array($this, 'ad_list_request') ); // order ads by title, not ID
108
 
109
  // settings handling
110
  add_action( 'admin_init', array($this, 'settings_init') );
111
+ // update placements
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
157
  */
158
  public function enqueue_admin_styles() {
159
  wp_enqueue_style( $this->plugin_slug . '-admin-styles', plugins_url( 'assets/css/admin.css', __FILE__ ), array(), Advanced_Ads::VERSION );
160
+ wp_enqueue_style( 'jquery-style', '//code.jquery.com/ui/1.11.3/themes/smoothness/jquery-ui.css' );
161
  }
162
 
163
  /**
176
 
177
  wp_enqueue_script( $this->plugin_slug . '-admin-script', plugins_url( 'assets/js/admin.js', __FILE__ ), array('jquery', 'jquery-ui-autocomplete'), Advanced_Ads::VERSION );
178
  // jquery ui
179
+ wp_enqueue_script( 'jquery-ui-button' );
180
 
181
  // just register this script for later inclusion on ad group list page
182
  wp_register_script( 'inline-edit-group-ads', plugins_url( 'assets/js/inline-edit-group-ads.js', __FILE__ ), array('jquery'), Advanced_Ads::VERSION );
244
  // convert from vertical order to horizontal
245
  $screen->add_option( 'layout_columns', 1 );
246
 
247
+ include ADVADS_BASE_PATH . 'admin/views/overview.php';
248
  }
249
 
250
  /**
253
  * @since 1.0.0
254
  */
255
  public function display_plugin_settings_page() {
256
+ include ADVADS_BASE_PATH . 'admin/views/settings.php';
257
  }
258
 
259
  /**
262
  * @since 1.1.0
263
  */
264
  public function display_placements_page() {
265
+ $placement_types = Advanced_Ads_Placements::get_placement_types();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
266
  $placements = Advanced_Ads::get_ad_placements_array(); // -TODO use model
267
  // load ads and groups for select field
268
 
269
  // display view
270
+ include ADVADS_BASE_PATH . 'admin/views/placements.php';
271
  }
272
 
273
  /**
279
  // load array with ads by condition
280
  $plugin = Advanced_Ads::get_instance();
281
  $plugin_options = $plugin->options();
 
282
  $ad_placements = Advanced_Ads::get_ad_placements_array(); // -TODO use model
283
 
284
+ include ADVADS_BASE_PATH . 'admin/views/debug.php';
285
  }
286
 
287
  /**
298
  $action = $this->current_action();
299
 
300
  // handle new and updated groups
301
+ if ( 'editedgroup' == $action ) {
302
  $group_id = (int) $_POST['group_id'];
303
  check_admin_referer( 'update-group_' . $group_id );
304
 
306
  wp_die( __( 'Sorry, you are not allowed to access this feature.', ADVADS_SLUG ) ); }
307
 
308
  // handle new groups
309
+ if ( 0 == $group_id ) {
310
  $ret = wp_insert_term( $_POST['name'], $taxonomy, $_POST );
311
  if ( $ret && ! is_wp_error( $ret ) ) {
312
  $forced_message = 1; }
349
  $tag = false;
350
  }
351
 
352
+ include ADVADS_BASE_PATH . 'admin/views/ad-group-edit.php';
353
  break;
354
 
355
  default :
356
  $title = $tax->labels->name;
357
+ $wp_list_table = _get_list_table( 'WP_Terms_List_Table' );
358
 
359
  // load template
360
+ include ADVADS_BASE_PATH . 'admin/views/ad-group.php';
361
  }
362
  }
363
 
406
  }
407
  $ad = new Advads_Ad( $post->ID );
408
 
409
+ include ADVADS_BASE_PATH . 'admin/views/ad-info.php';
410
  }
411
 
412
  /**
452
 
453
  $enabled = ( ! empty($ad->expiry_date)) ? 1 : 0;
454
 
455
+ include ADVADS_BASE_PATH . 'admin/views/ad-submitbox-meta.php';
456
  }
457
 
458
  /**
484
  break;
485
  }
486
 
487
+ if ( ! isset( $view ) ) {
488
+ return;
 
 
 
489
  }
490
+ include ADVADS_BASE_PATH . 'admin/views/' . $view;
491
  }
492
 
493
  /**
506
 
507
  // don’t do this on revisions
508
  if ( wp_is_post_revision( $post_id ) ) {
509
+ return;
510
+ }
511
 
512
  // get ad object
513
  $ad = new Advads_Ad( $post_id );
514
  if ( ! $ad instanceof Advads_Ad ) {
515
+ return;
516
+ }
517
 
518
  $ad->type = $_POST['advanced_ad']['type'];
519
  if ( isset($_POST['advanced_ad']['output']) ) {
562
  $ad->save();
563
  }
564
 
565
+ /**
566
+ * edit ad update messages
567
+ *
568
+ * @since 1.4.7
569
+ * @param arr $messages existing post update messages
570
+ * @return arr $messages
571
+ *
572
+ * @see wp-admin/edit-form-advanced.php
573
+ */
574
+ public function ad_update_messages(array $messages){
575
+ $post = get_post();
576
+
577
+ $messages[Advanced_Ads::POST_TYPE_SLUG] = array(
578
  0 => '', // Unused. Messages start at index 1.
579
  1 => __( 'Ad updated.', ADVADS_SLUG ),
580
  4 => __( 'Ad updated.', ADVADS_SLUG ),
589
  date_i18n( __( 'M j, Y @ G:i', ADVADS_SLUG ), strtotime( $post->post_date ) )
590
  ),
591
  10 => __( 'Ad draft updated.', ADVADS_SLUG )
592
+ );
593
+ return $messages;
594
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
595
 
596
+ /**
597
+ * edit ad bulk update messages
598
+ *
599
+ * @since 1.4.7
600
+ * @param arr $messages existing bulk update messages
601
+ * @param arr $counts numbers of updated ads
602
+ * @return arr $messages
603
+ *
604
+ * @see wp-admin/edit.php
605
+ */
606
+ public function ad_bulk_update_messages(array $messages, array $counts){
607
+ $post = get_post();
608
+
609
+ $messages[Advanced_Ads::POST_TYPE_SLUG] = array(
610
+ 'updated' => _n( '%s ad updated.', '%s ads updated.', $counts['updated'] ),
611
+ 'locked' => _n( '%s ad not updated, somebody is editing it.', '%s ads not updated, somebody is editing them.', $counts['locked'] ),
612
+ 'deleted' => _n( '%s ad permanently deleted.', '%s ads permanently deleted.', $counts['deleted'] ),
613
+ 'trashed' => _n( '%s ad moved to the Trash.', '%s ads moved to the Trash.', $counts['trashed'] ),
614
+ 'untrashed' => _n( '%s ad restored from the Trash.', '%s ads restored from the Trash.', $counts['untrashed'] ),
615
+ );
616
 
617
+ return $messages;
618
+ }
619
 
620
+ /**
621
  * get action from the params
622
  *
623
  * @since 1.0.0
624
  */
625
+ public function current_action() {
626
+ if ( isset($_REQUEST['action']) && -1 != $_REQUEST['action'] ) {
627
+ return $_REQUEST['action'];
628
+ }
629
 
630
+ return false;
631
+ }
632
 
633
+ /**
634
  * initialize settings
635
  *
636
  * @since 1.0.1
637
  */
638
+ public function settings_init(){
639
+
640
+ // get settings page hook
641
+ $hook = $this->plugin_screen_hook_suffix;
642
+
643
+ // register settings
644
+ register_setting( ADVADS_SLUG, ADVADS_SLUG, array($this, 'sanitize_settings') );
645
+ // register license settings
646
+ register_setting( ADVADS_SLUG . '-licenses', ADVADS_SLUG . '-licenses' );
647
+
648
+ // general settings section
649
+ add_settings_section(
650
+ 'advanced_ads_setting_section',
651
+ __( 'General', ADVADS_SLUG ),
652
+ array($this, 'render_settings_section_callback'),
653
+ $hook
654
+ );
655
 
656
+ // licenses section
657
+ add_settings_section(
658
+ 'advanced_ads_settings_license_section',
659
+ __( 'Licenses', ADVADS_SLUG ),
660
+ array($this, 'render_settings_licenses_section_callback'),
661
+ 'advanced-ads-settings-license-page'
662
+ );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
663
 
664
+ // add setting fields to disable ads
665
+ add_settings_field(
666
+ 'disable-ads',
667
+ __( 'Disable ads', ADVADS_SLUG ),
668
+ array($this, 'render_settings_disable_ads'),
669
+ $hook,
670
+ 'advanced_ads_setting_section'
671
+ );
672
+ // add setting fields for user role
673
+ add_settings_field(
674
+ 'hide-for-user-role',
675
+ __( 'Hide ads for logged in users', ADVADS_SLUG ),
676
+ array($this, 'render_settings_hide_for_users'),
677
+ $hook,
678
+ 'advanced_ads_setting_section'
679
+ );
680
+ // add setting fields for advanced js
681
+ add_settings_field(
682
+ 'activate-advanced-js',
683
+ __( 'Use advanced JavaScript', ADVADS_SLUG ),
684
+ array($this, 'render_settings_advanced_js'),
685
+ $hook,
686
+ 'advanced_ads_setting_section'
687
+ );
688
+ // add setting fields for content injection priority
689
+ add_settings_field(
690
+ 'content-injection-priority',
691
+ __( 'Priority of content injection filter', ADVADS_SLUG ),
692
+ array($this, 'render_settings_content_injection_priority'),
693
+ $hook,
694
+ 'advanced_ads_setting_section'
695
+ );
696
+ // add setting fields for content injection priority
697
+ add_settings_field(
698
+ 'block-bots',
699
+ __( 'Hide ads from bots', ADVADS_SLUG ),
700
+ array($this, 'render_settings_block_bots'),
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 );
707
+ }
708
+
709
+ /**
710
  * render settings section
711
  *
712
  * @since 1.1.1
713
  */
714
+ public function render_settings_section_callback(){
715
+ // for whatever purpose there might come
716
+ }
717
 
718
+ /**
719
  * render licenses settings section
720
  *
721
  * @since 1.5.1
722
  */
723
+ public function render_settings_licenses_section_callback(){
724
+ echo '<p>'. __( 'Enter license keys for our powerful <a href="'.ADVADS_URL.'add-ons/" target="_blank">add-ons</a>.', ADVADS_SLUG ) .'</p>';
725
+ }
726
 
727
+ /**
728
  * options to disable ads
729
  *
730
  * @since 1.3.11
731
  */
732
+ public function render_settings_disable_ads(){
733
+ $options = Advanced_Ads::get_instance()->options();
734
+
735
+ // set the variables
736
+ $disable_all = isset($options['disabled-ads']['all']) ? 1 : 0;
737
+ $disable_404 = isset($options['disabled-ads']['404']) ? 1 : 0;
738
+ $disable_archives = isset($options['disabled-ads']['archives']) ? 1 : 0;
739
+ $disable_secondary = isset($options['disabled-ads']['secondary']) ? 1 : 0;
740
+
741
+ // load the template
742
+ include ADVADS_BASE_PATH . 'admin/views/settings-disable-ads.php';
 
 
743
  }
 
744
 
745
+ /**
746
  * render setting to hide ads from logged in users
747
  *
748
  * @since 1.1.1
749
  */
750
+ public function render_settings_hide_for_users(){
751
+ $options = Advanced_Ads::get_instance()->options();
752
+ $current_capability_role = isset($options['hide-for-user-role']) ? $options['hide-for-user-role'] : 0;
753
 
754
+ $capability_roles = array(
755
  '' => __( '(display to all)', ADVADS_SLUG ),
756
  'read' => __( 'Subscriber', ADVADS_SLUG ),
757
  'delete_posts' => __( 'Contributor', ADVADS_SLUG ),
758
  'edit_posts' => __( 'Author', ADVADS_SLUG ),
759
  'edit_pages' => __( 'Editor', ADVADS_SLUG ),
760
  'activate_plugins' => __( 'Admin', ADVADS_SLUG ),
761
+ );
762
+ echo '<select name="'.ADVADS_SLUG.'[hide-for-user-role]">';
763
+ foreach ( $capability_roles as $_capability => $_role ) {
764
+ echo '<option value="'.$_capability.'" '.selected( $_capability, $current_capability_role, false ).'>'.$_role.'</option>';
765
+ }
766
+ echo '</select>';
767
 
768
+ echo '<p class="description">'. __( 'Choose the lowest role a user must have in order to not see any ads.', ADVADS_SLUG ) .'</p>';
769
+ }
770
 
771
+ /**
772
  * render setting to display advanced js file
773
  *
774
  * @since 1.2.3
775
  */
776
+ public function render_settings_advanced_js(){
777
+ $options = Advanced_Ads::get_instance()->options();
778
+ $checked = ( ! empty($options['advanced-js'])) ? 1 : 0;
779
 
780
+ echo '<input id="advanced-ads-advanced-js" type="checkbox" value="1" name="'.ADVADS_SLUG.'[advanced-js]" '.checked( $checked, 1, false ).'>';
781
+ echo '<p class="description">'. sprintf( __( 'Only enable this if you can and want to use the advanced JavaScript functions described <a href="%s">here</a>.', ADVADS_SLUG ), ADVADS_URL . 'javascript-functions/' ) .'</p>';
782
+ }
783
 
784
+ /**
785
  * render setting for content injection priority
786
  *
787
  * @since 1.4.1
788
  */
789
+ public function render_settings_content_injection_priority(){
790
+ $options = Advanced_Ads::get_instance()->options();
791
+ $priority = ( ! empty($options['content-injection-priority'])) ? absint( $options['content-injection-priority'] ) : 100;
792
 
793
+ echo '<input id="advanced-ads-content-injection-priority" type="number" value="'.$priority.'" name="'.ADVADS_SLUG.'[content-injection-priority]" size="3"/>';
794
+ echo '<p class="description">'. __( 'Play with this value in order to change the priority of the injected ads compared to other auto injected elements in the post content.', ADVADS_SLUG ) .'</p>';
795
+ }
796
 
797
+ /**
798
  * render setting for blocking bots
799
  *
800
  * @since 1.4.9
801
  */
802
+ public function render_settings_block_bots(){
803
+ $options = Advanced_Ads::get_instance()->options();
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
+ *
814
+ * @since 1.5.1
815
+ * @param array $options all the options
816
+ */
817
+ public function sanitize_settings($options){
818
 
819
+ // sanitize whatever option one wants to sanitize
820
 
821
+ return $options;
822
+ }
823
 
824
+ /**
825
  * add heading for extra column of ads list
826
  * remove the date column
827
  *
828
  * @since 1.3.3
829
  * @param arr $defaults
830
  */
831
+ public function ad_list_columns_head($defaults){
832
 
833
+ $offset = array_search( 'title', array_keys( $defaults ) ) + 1;
834
 
835
+ $defaults = array_merge(
836
+ array_slice( $defaults, 0, $offset ),
837
+ array('ad_details' => __( 'Ad Details', ADVADS_SLUG )),
838
+ array_slice( $defaults, $offset, null )
839
+ );
840
 
841
+ // remove the date
842
+ unset($defaults['date']);
843
 
844
+ return $defaults;
845
+ }
846
 
847
+ /**
848
  * order ads by title on ads list
849
  *
850
  * @since 1.3.18
851
  * @param arr $vars array with request vars
852
  */
853
+ public function ad_list_request($vars){
854
+
855
+ // order ads by title on ads list
856
+ if ( is_admin() && empty( $vars['orderby'] ) && $this->post_type == $vars['post_type'] ) {
857
+ $vars = array_merge( $vars, array(
858
+ 'orderby' => 'title',
859
+ 'order' => 'ASC'
860
+ ) );
861
+ }
862
 
863
+ return $vars;
864
+ }
865
 
866
+ /**
867
  * display ad details in ads list
868
  *
869
  * @since 1.3.3
870
  * @param string $column_name name of the column
871
  * @param int $ad_id id of the ad
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;
879
+ $type = ( ! empty($types[$ad->type]->title)) ? $types[$ad->type]->title : 0;
880
+
881
+ // load ad size
882
+ $size = 0;
883
+ if ( ! empty($ad->width) || ! empty($ad->height) ) {
884
+ $size = sprintf( '%d x %d', $ad->width, $ad->height );
885
+ }
886
 
887
+ $size = apply_filters( 'advanced-ads-list-ad-size', $size, $ad );
888
 
889
+ include ADVADS_BASE_PATH . 'admin/views/ad-list-details-column.php';
 
 
890
  }
891
  }
 
892
 
893
+ /**
894
  * add a meta box to post type edit screens with ad settings
895
  *
896
  * @since 1.3.10
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
+
903
+ //limit meta box to public post types
904
+ if ( in_array( $post_type, $public_post_types ) ) {
905
+ add_meta_box(
906
+ 'advads-ad-settings',
907
+ __( 'Ad Settings', ADVADS_SLUG ),
908
+ array( $this, 'render_post_meta_box' ),
909
+ $post_type,
910
+ 'advanced',
911
+ 'low'
912
+ );
913
+ }
914
  }
 
915
 
916
+ /**
917
  * render meta box for ad settings on a per post basis
918
  *
919
  * @since 1.3.10
920
  * @param WP_Post $post The post object.
921
  */
922
+ public function render_post_meta_box( $post ) {
923
 
924
+ // nonce field to check when we save the values
925
+ wp_nonce_field( 'advads_post_meta_box', 'advads_post_meta_box_nonce' );
926
 
927
+ // retrieve an existing value from the database.
928
+ $values = get_post_meta( $post->ID, '_advads_ad_settings', true );
929
 
930
+ // load the view
931
+ include ADVADS_BASE_PATH . 'admin/views/post-ad-settings-metabox.php';
 
 
932
  }
 
933
 
934
+ /**
935
  * save the ad meta when the post is saved.
936
  *
937
  * @since 1.3.10
938
  * @param int $post_id The ID of the post being saved.
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; }
945
 
946
+ $nonce = $_POST['advads_post_meta_box_nonce'];
 
 
947
 
948
+ // Verify that the nonce is valid.
949
+ if ( ! wp_verify_nonce( $nonce, 'advads_post_meta_box' ) ) {
 
950
  return $post_id; }
951
+
952
+ // don’t save on autosave
953
+ if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
954
  return $post_id; }
 
955
 
956
+ // check the user's permissions.
957
+ if ( 'page' == $_POST['post_type'] ) {
958
+ if ( ! current_user_can( 'edit_page', $post_id ) ) {
959
+ return $post_id; }
960
+ } else {
961
+ if ( ! current_user_can( 'edit_post', $post_id ) ) {
962
+ return $post_id; }
963
+ }
964
 
965
+ // Sanitize the user input.
966
+ $_data['disable_ads'] = isset($_POST['advanced_ads']['disable_ads']) ? absint( $_POST['advanced_ads']['disable_ads'] ) : 0;
 
967
 
968
+ // Update the meta field.
969
+ update_post_meta( $post_id, '_advads_ad_settings', $_data );
970
+ }
971
+
972
+ /**
973
  * add dashboard widget with ad stats and additional information
974
  *
975
  * @since 1.3.12
976
  */
977
+ public function add_dashboard_widget(){
978
+ add_meta_box( 'advads_dashboard_widget', __( 'Ads Dashboard', ADVADS_SLUG ), array($this, 'dashboard_widget_function'), 'dashboard', 'side', 'high' );
979
+ }
980
 
981
+ /**
982
  * display widget functions
983
  */
984
+ public static function dashboard_widget_function($post, $callback_args){
985
+ // load ad optimization feed
986
+ $feeds = array(
987
  array(
988
  'link' => 'http://webgilde.com/en/ad-optimization/',
989
  'url' => 'http://webgilde.com/en/ad-optimization/feed/',
994
  'show_date' => 0,
995
  ),
996
  array(
997
+ 'link' => ADVADS_URL,
998
+ 'url' => ADVADS_URL . 'feed/',
999
  'title' => __( 'Advanced Ads Tutorials', ADVADS_SLUG ),
1000
  'items' => 2,
1001
  'show_summary' => 0,
1002
  'show_author' => 0,
1003
  'show_date' => 0,
1004
  ),
1005
+ );
1006
 
1007
+ // get number of ads
1008
+ $recent_ads = Advanced_Ads::get_instance()->get_model()->get_ads();
1009
+ echo '<p>';
1010
+ printf(__( '%d ads – <a href="%s">manage</a> - <a href="%s">new</a>', ADVADS_SLUG ),
1011
+ count( $recent_ads ),
1012
+ 'edit.php?post_type='. Advanced_Ads::POST_TYPE_SLUG,
1013
+ 'post-new.php?post_type='. Advanced_Ads::POST_TYPE_SLUG);
1014
+ echo '</p>';
1015
+
1016
+ // get and display plugin version
1017
+ $advads_plugin_data = get_plugin_data( ADVADS_BASE_PATH . 'advanced-ads.php' );
1018
+ if ( isset($advads_plugin_data['Version']) ){
1019
+ $version = $advads_plugin_data['Version'];
1020
+ echo '<p><a href="'.ADVADS_URL.'" target="_blank" title="'.
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) );
1027
+ }
1028
 
1029
+ /**
1030
  * checks to see if there are feed urls in transient cache; if not, load them
1031
  * built using a lot of https://developer.wordpress.org/reference/functions/wp_dashboard_cached_rss_widget/
1032
  *
1036
  * @param array $check_urls RSS feeds
1037
  * @return bool False on failure. True on success.
1038
  */
1039
+ static function dashboard_cached_rss_widget( $widget_id, $callback, $feeds = array() ) {
1040
+ if ( empty($feeds) ) {
1041
+ return;
1042
+ }
1043
 
1044
+ $cache_key = 'dash_' . md5( $widget_id );
1045
+ /*if ( false !== ( $output = get_transient( $cache_key ) ) ) {
1046
  echo $output;
1047
  return true;
1048
+ }*/
1049
 
1050
+ if ( $callback && is_callable( $callback ) ) {
1051
+ ob_start();
1052
+ call_user_func_array( $callback, $feeds );
1053
+ set_transient( $cache_key, ob_get_flush(), 12 * HOUR_IN_SECONDS ); // Default lifetime in cache of 12 hours (same as the feeds)
1054
+ }
1055
 
1056
+ return true;
1057
+ }
1058
 
1059
+ /**
1060
  * create the rss output of the widget
1061
  *
1062
  * @param string $widget_id Widget ID.
1063
  * @param array $feeds Array of RSS feeds.
1064
  */
1065
+ static function dashboard_widget_function_output( $feeds ) {
1066
+ foreach ( $feeds as $_feed ){
1067
+ echo '<div class="rss-widget">';
1068
+ echo '<h4>'.$_feed['title'].'</h4>';
1069
+ wp_widget_rss_output( $_feed['url'], $_feed );
1070
+ echo '</div>';
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
  }
admin/includes/class-ad-groups-list.php CHANGED
@@ -7,313 +7,312 @@
7
  */
8
  class AdvAds_Groups_List {
9
 
10
- /**
11
- * array with all groups
12
- */
13
- public $groups = array();
14
-
15
- /**
16
- * array with all ad group types
17
- */
18
- public $types = array();
19
-
20
- /**
21
- * construct the current list
22
- */
23
- public function __construct(){
24
-
25
- // set default vars
26
- $this->taxonomy = Advanced_Ads::AD_GROUP_TAXONOMY;
27
- $this->post_type = Advanced_Ads::POST_TYPE_SLUG;
28
-
29
- $this->load_groups();
30
-
31
- $this->types = $this->get_ad_group_types();
32
- }
33
-
34
- /**
35
- * load ad groups
36
- */
37
- public function load_groups(){
38
-
39
- // load all groups
40
- $search = !empty($_REQUEST['s']) ? trim(wp_unslash($_REQUEST['s'])) : '';
41
-
42
- $args = array(
43
- 'taxonomy' => $this->taxonomy,
44
- 'search' => $search,
45
- 'hide_empty' => 0,
46
- );
47
- // get wp term objects
48
- $terms = Advanced_Ads::get_ad_groups($args);
49
-
50
- // add meta data to groups
51
- $this->groups = $this->load_groups_objects_from_terms($terms);
52
- }
53
-
54
- /**
55
- * load ad groups objects from wp term objects
56
- *
57
- * @param arr $terms array of wp term objects
58
- */
59
- protected function load_groups_objects_from_terms(array $terms){
60
-
61
- $groups = array();
62
- foreach($terms as $_group ){
63
- $groups[] = new Advads_Ad_Group($_group);
64
- }
65
-
66
- return $groups;
67
- }
68
-
69
- /**
70
- * render group list header
71
- */
72
- public function render_header(){
73
- $file = ADVADS_BASE_PATH . 'admin/views/ad-group-list-header.php';
74
- require_once($file);
75
- }
76
-
77
- /**
78
- * render list rows
79
- */
80
- public function render_rows(){
81
- foreach($this->groups as $_group){
82
- $this->render_row($_group);
83
- $this->render_form_row($_group);
84
- }
85
- }
86
-
87
- /**
88
- * render a single row
89
- *
90
- * @param obj $group the ad group object
91
- */
92
- public function render_row($group){
93
- $file = ADVADS_BASE_PATH . 'admin/views/ad-group-list-row.php';
94
- require($file);
95
- }
96
-
97
- /**
98
- * render the form row of a group
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);
106
- $weights = $group->get_ad_weights();
107
- $ad_form_rows = $weights;
108
- arsort($ad_form_rows);
109
-
110
- // The Loop
111
- if ( $ads->post_count ) {
112
- foreach($ads->posts as $_ad) {
113
- $row = '';
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>';
122
- $ad_form_rows[$_ad->ID] = $row;
123
- }
124
-
125
- $ad_form_rows = $this->remove_empty_weights($ad_form_rows);
126
- }
127
- // Restore original Post Data
128
- wp_reset_postdata();
129
-
130
- $file = ADVADS_BASE_PATH . 'admin/views/ad-group-list-form-row.php';
131
- require($file);
132
- }
133
-
134
- /**
135
- * render the ads 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
-
143
- $weights = $group->get_ad_weights();
144
- $weight_sum = array_sum( $weights );
145
- $ads_output = $weights;
146
- arsort($ads_output);
147
-
148
- // The Loop
149
- if ( $ads->have_posts() ) {
150
- echo ($group->type == 'default' && $weight_sum) ? '<ul>' : '<ol>';
151
- while ( $ads->have_posts() ) {
152
- $ads->the_post();
153
- $line_output = '<li><a href="' . get_edit_post_link(get_the_ID()) . '">' . get_the_title() . '</a>';
154
-
155
- $status = get_post_status();
156
- switch($status){
157
- case 'future' :
158
- $line_output .= '<i>(' . __('scheduled', ADVADS_SLUG) . ')</i>';
159
- break;
160
- case 'pending' :
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
- }
168
- $ads_output[get_the_ID()] = $line_output;
169
- }
170
-
171
- $ads_output = $this->remove_empty_weights($ads_output);
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
- }
179
- // Restore original Post Data
180
- wp_reset_postdata();
181
- }
182
-
183
- /**
184
- * remove entries from the ad weight array that are just id
185
- *
186
- * @since 1.5.1
187
- * @param arr $ads_output array with any output other that an integer
188
- * @return arr $ads_output array with ad output
189
- */
190
- private function remove_empty_weights(array $ads_output){
191
-
192
- foreach($ads_output as $key => $value){
193
- if(is_int($value))
194
- unset($ads_output[$key]);
195
- }
196
-
197
- return $ads_output;
198
- }
199
-
200
- /**
201
- * get ads for this group
202
- *
203
- * @param obj $group group object
204
- * @return obj $ads WP_Query result with ads for this group
205
- */
206
- public function get_ads($group){
207
- $args = array(
208
- 'post_type' => $this->post_type,
209
- 'post_status' => array('publish', 'pending', 'future', 'private'),
210
- 'taxonomy' => $group->taxonomy,
211
- 'term' => $group->slug
212
- );
213
- return $ads = new WP_Query($args);
214
- }
215
-
216
- /**
217
- * return ad group types
218
- *
219
- * @return arr $types ad group information
220
- */
221
- public function get_ad_group_types(){
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),
229
- 'description' => __('Display ads with the lowest ad weight first', ADVADS_SLUG),
230
- )
231
- );
232
-
233
- return apply_filters('advanced-ads-group-types', $types);
234
- }
235
-
236
- /**
237
- * render ad group action links
238
- *
239
- * @param $obj $group group object
240
- */
241
- public function render_action_links($group){
242
- global $tax;
243
-
244
- $tax = get_taxonomy($this->taxonomy);
245
-
246
- $actions = array();
247
- if (current_user_can($tax->cap->edit_terms)) {
248
- $actions['edit'] = '<a class="edit">' . __('Edit', ADVADS_SLUG) . '</a>';
249
- $actions['usage'] = '<a class="usage">' . __('Usage', ADVADS_SLUG) . '</a>';
250
- }
251
-
252
- if (current_user_can($tax->cap->delete_terms)){
253
- $args = array(
254
- 'action' => 'delete',
255
- 'group_id' => $group->id
256
- );
257
- $delete_link = Advanced_Ads_Admin::group_page_url($args);
258
- $actions['delete'] = "<a class='delete-tag' href='" . wp_nonce_url($delete_link, 'delete-tag_' . $group->id) . "'>" . __('Delete') . "</a>";
259
- }
260
-
261
- if (!count($actions)) return;
262
-
263
- echo '<div class="row-actions">';
264
- foreach ( $actions as $action => $link ) {
265
- echo "<span class='$action'>$link</span>";
266
- }
267
- echo '</div>';
268
- }
269
-
270
- /**
271
- * bulk update groups
272
- *
273
- */
274
- public function update_groups(){
275
- // check nonce
276
- if(! isset( $_POST['advads-group-update-nonce'] )
277
- || ! wp_verify_nonce( $_POST['advads-group-update-nonce'], 'update-advads-groups' )){
278
-
279
- return new WP_Error('invalid_ad_group', __('Invalid Ad Group', ADVADS_SLUG));
280
- }
281
-
282
- // check user rights
283
- if(!current_user_can('manage_options')){
284
- return new WP_Error('invalid_ad_group_rights', __('You don’t have permission to change the ad groups', ADVADS_SLUG));
285
- }
286
-
287
-
288
- // iterate through groups
289
- if(isset($_POST['advads-groups']) && count($_POST['advads-groups'])){
290
- // empty group settings
291
- update_option( 'advads-ad-groups', array());
292
-
293
- foreach($_POST['advads-groups'] as $_group_id => $_group){
294
- // save basic wp term
295
- wp_update_term( $_group_id, Advanced_Ads::AD_GROUP_TAXONOMY, $_group );
296
-
297
- // save ad weights
298
- $group = new Advads_Ad_Group($_group['id']);
299
- if(isset($_group['ads']))
300
- $group->save_ad_weights($_group['ads']);
301
-
302
- // save other attributes
303
- $type = isset($_group['type']) ? $_group['type'] : 'default';
304
- $ad_count = isset($_group['ad_count']) ? $_group['ad_count'] : 1;
305
- $atts = array(
306
- 'type' => $type,
307
- 'ad_count' => $ad_count
308
- );
309
- $group->save($atts);
310
- }
311
- }
312
-
313
- // reload groups
314
- $this->load_groups();
315
-
316
- return true;
317
- }
318
 
319
  }
7
  */
8
  class AdvAds_Groups_List {
9
 
10
+ /**
11
+ * array with all groups
12
+ */
13
+ public $groups = array();
14
+
15
+ /**
16
+ * array with all ad group types
17
+ */
18
+ public $types = array();
19
+
20
+ /**
21
+ * construct the current list
22
+ */
23
+ public function __construct(){
24
+
25
+ // set default vars
26
+ $this->taxonomy = Advanced_Ads::AD_GROUP_TAXONOMY;
27
+ $this->post_type = Advanced_Ads::POST_TYPE_SLUG;
28
+
29
+ $this->load_groups();
30
+
31
+ $this->types = $this->get_ad_group_types();
32
+ }
33
+
34
+ /**
35
+ * load ad groups
36
+ */
37
+ public function load_groups(){
38
+
39
+ // load all groups
40
+ $search = ! empty($_REQUEST['s']) ? trim( wp_unslash( $_REQUEST['s'] ) ) : '';
41
+
42
+ $args = array(
43
+ 'taxonomy' => $this->taxonomy,
44
+ 'search' => $search,
45
+ 'hide_empty' => 0,
46
+ );
47
+ // get wp term objects
48
+ $terms = Advanced_Ads::get_ad_groups( $args );
49
+
50
+ // add meta data to groups
51
+ $this->groups = $this->load_groups_objects_from_terms( $terms );
52
+ }
53
+
54
+ /**
55
+ * load ad groups objects from wp term objects
56
+ *
57
+ * @param arr $terms array of wp term objects
58
+ */
59
+ protected function load_groups_objects_from_terms(array $terms){
60
+
61
+ $groups = array();
62
+ foreach ( $terms as $_group ){
63
+ $groups[] = new Advads_Ad_Group( $_group );
64
+ }
65
+
66
+ return $groups;
67
+ }
68
+
69
+ /**
70
+ * render group list header
71
+ */
72
+ public function render_header(){
73
+ $file = ADVADS_BASE_PATH . 'admin/views/ad-group-list-header.php';
74
+ require_once($file);
75
+ }
76
+
77
+ /**
78
+ * render list rows
79
+ */
80
+ public function render_rows(){
81
+ foreach ( $this->groups as $_group ){
82
+ $this->render_row( $_group );
83
+ $this->render_form_row( $_group );
84
+ }
85
+ }
86
+
87
+ /**
88
+ * render a single row
89
+ *
90
+ * @param obj $group the ad group object
91
+ */
92
+ public function render_row($group){
93
+ $file = ADVADS_BASE_PATH . 'admin/views/ad-group-list-row.php';
94
+ require($file);
95
+ }
96
+
97
+ /**
98
+ * render the form row of a group
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 );
106
+ $weights = $group->get_ad_weights();
107
+ $ad_form_rows = $weights;
108
+ arsort( $ad_form_rows );
109
+
110
+ // The Loop
111
+ if ( $ads->post_count ) {
112
+ foreach ( $ads->posts as $_ad ) {
113
+ $row = '';
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>';
122
+ $ad_form_rows[$_ad->ID] = $row;
123
+ }
124
+
125
+ $ad_form_rows = $this->remove_empty_weights( $ad_form_rows );
126
+ }
127
+ // Restore original Post Data
128
+ wp_reset_postdata();
129
+
130
+ $file = ADVADS_BASE_PATH . 'admin/views/ad-group-list-form-row.php';
131
+ require($file);
132
+ }
133
+
134
+ /**
135
+ * render the ads 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
+
143
+ $weights = $group->get_ad_weights();
144
+ $weight_sum = array_sum( $weights );
145
+ $ads_output = $weights;
146
+ arsort( $ads_output );
147
+
148
+ // The Loop
149
+ if ( $ads->have_posts() ) {
150
+ echo ($group->type == 'default' && $weight_sum) ? '<ul>' : '<ol>';
151
+ while ( $ads->have_posts() ) {
152
+ $ads->the_post();
153
+ $line_output = '<li><a href="' . get_edit_post_link( get_the_ID() ) . '">' . get_the_title() . '</a>';
154
+
155
+ $status = get_post_status();
156
+ switch ( $status ){
157
+ case 'future' :
158
+ $line_output .= '<i>(' . __( 'scheduled', ADVADS_SLUG ) . ')</i>';
159
+ break;
160
+ case 'pending' :
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
+ }
168
+ $ads_output[get_the_ID()] = $line_output;
169
+ }
170
+
171
+ $ads_output = $this->remove_empty_weights( $ads_output );
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
+ }
179
+ // Restore original Post Data
180
+ wp_reset_postdata();
181
+ }
182
+
183
+ /**
184
+ * remove entries from the ad weight array that are just id
185
+ *
186
+ * @since 1.5.1
187
+ * @param arr $ads_output array with any output other that an integer
188
+ * @return arr $ads_output array with ad output
189
+ */
190
+ private function remove_empty_weights(array $ads_output){
191
+
192
+ foreach ( $ads_output as $key => $value ){
193
+ if ( is_int( $value ) ) {
194
+ unset($ads_output[$key]); }
195
+ }
196
+
197
+ return $ads_output;
198
+ }
199
+
200
+ /**
201
+ * get ads for this group
202
+ *
203
+ * @param obj $group group object
204
+ * @return obj $ads WP_Query result with ads for this group
205
+ */
206
+ public function get_ads($group){
207
+ $args = array(
208
+ 'post_type' => $this->post_type,
209
+ 'post_status' => array('publish', 'pending', 'future', 'private'),
210
+ 'taxonomy' => $group->taxonomy,
211
+ 'term' => $group->slug
212
+ );
213
+ return $ads = new WP_Query( $args );
214
+ }
215
+
216
+ /**
217
+ * return ad group types
218
+ *
219
+ * @return arr $types ad group information
220
+ */
221
+ public function get_ad_group_types(){
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 ),
229
+ 'description' => __( 'Display ads with the highest ad weight first', ADVADS_SLUG ),
230
+ )
231
+ );
232
+
233
+ return apply_filters( 'advanced-ads-group-types', $types );
234
+ }
235
+
236
+ /**
237
+ * render ad group action links
238
+ *
239
+ * @param $obj $group group object
240
+ */
241
+ public function render_action_links($group){
242
+ global $tax;
243
+
244
+ $tax = get_taxonomy( $this->taxonomy );
245
+
246
+ $actions = array();
247
+ if ( current_user_can( $tax->cap->edit_terms ) ) {
248
+ $actions['edit'] = '<a class="edit">' . __( 'Edit', ADVADS_SLUG ) . '</a>';
249
+ $actions['usage'] = '<a class="usage">' . __( 'Usage', ADVADS_SLUG ) . '</a>';
250
+ }
251
+
252
+ if ( current_user_can( $tax->cap->delete_terms ) ){
253
+ $args = array(
254
+ 'action' => 'delete',
255
+ 'group_id' => $group->id
256
+ );
257
+ $delete_link = Advanced_Ads_Admin::group_page_url( $args );
258
+ $actions['delete'] = "<a class='delete-tag' href='" . wp_nonce_url( $delete_link, 'delete-tag_' . $group->id ) . "'>" . __( 'Delete' ) . '</a>';
259
+ }
260
+
261
+ if ( ! count( $actions ) ) { return; }
262
+
263
+ echo '<div class="row-actions">';
264
+ foreach ( $actions as $action => $link ) {
265
+ echo "<span class='$action'>$link</span>";
266
+ }
267
+ echo '</div>';
268
+ }
269
+
270
+ /**
271
+ * bulk update groups
272
+ *
273
+ */
274
+ public function update_groups(){
275
+ // check nonce
276
+ if ( ! isset( $_POST['advads-group-update-nonce'] )
277
+ || ! wp_verify_nonce( $_POST['advads-group-update-nonce'], 'update-advads-groups' ) ){
278
+
279
+ return new WP_Error( 'invalid_ad_group', __( 'Invalid Ad Group', ADVADS_SLUG ) );
280
+ }
281
+
282
+ // check user rights
283
+ if ( ! current_user_can( 'manage_options' ) ){
284
+ return new WP_Error( 'invalid_ad_group_rights', __( 'You don’t have permission to change the ad groups', ADVADS_SLUG ) );
285
+ }
286
+
287
+ // iterate through groups
288
+ if ( isset($_POST['advads-groups']) && count( $_POST['advads-groups'] ) ){
289
+ // empty group settings
290
+ update_option( 'advads-ad-groups', array() );
291
+
292
+ foreach ( $_POST['advads-groups'] as $_group_id => $_group ){
293
+ // save basic wp term
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
+
301
+ // save other attributes
302
+ $type = isset($_group['type']) ? $_group['type'] : 'default';
303
+ $ad_count = isset($_group['ad_count']) ? $_group['ad_count'] : 1;
304
+ $atts = array(
305
+ 'type' => $type,
306
+ 'ad_count' => $ad_count
307
+ );
308
+ $group->save( $atts );
309
+ }
310
+ }
311
+
312
+ // reload groups
313
+ $this->load_groups();
314
+
315
+ return true;
316
+ }
 
317
 
318
  }
admin/includes/class-display-condition-callbacks.php CHANGED
@@ -86,7 +86,7 @@ class AdvAds_Display_Condition_Callbacks {
86
  _e( 'Display for all <strong>categories, tags and taxonomies</strong>.', ADVADS_SLUG ); ?></label></h4><?php
87
  ?><div class="advads-conditions-single"><h5 class="header"><?php _e( 'Display here', ADVADS_SLUG ); ?></h5><p class="description"><?php _e( 'Choose terms from public categories, tags and other taxonomies a post must belong to in order to have ads.', ADVADS_SLUG ); ?></p>
88
  <table><?php
89
- self::_display_taxonomy_term_list($_includes, 'include', 'advanced_ad[conditions][categoryids][include][]', 'categoryids');
90
  ?></table><?php
91
 
92
  if ( ! empty($ad->conditions['categoryids']['exclude']) ){
@@ -103,104 +103,104 @@ if ( ! empty($ad->conditions['categoryids']['exclude']) ){
103
 
104
  ?><h5 class="header"><?php _e( 'Hide from here', ADVADS_SLUG ); ?></h5><p class="description"><?php _e( 'Choose the terms from public categories, tags and other taxonomies a post must belong to hide the ad from it.', ADVADS_SLUG ); ?></p>
105
  <table><?php
106
- self::_display_taxonomy_term_list($_excludes, 'exclude', 'advanced_ad[conditions][categoryids][exclude][]', 'categoryids');
107
  ?></table></div><?php
108
  }
109
 
110
- /**
111
- * render taxonomy term list with options
112
- *
113
- * @since 1.4.7
114
- * @param arr $checked array with ids of checked terms
115
- * @param str $includetype is this an include or exclude type of setting
116
- * @param str $inputname value of the name attribute of the input tag
117
- * @param str $group group of the values
118
- */
119
- private static function _display_taxonomy_term_list($checked = array(), $includetype = 'include', $inputname = '', $group = ''){
120
- $taxonomies = get_taxonomies( array('public' => true, 'publicly_queryable' => true), 'objects', 'or' );
121
- foreach ( $taxonomies as $_tax ):
122
- if ( $_tax->name === 'advanced_ads_groups' ) { continue; // exclude adv ads groups
123
- }
124
- // limit the number of terms so many terms don’t break the admin page
125
- $max_terms = absint( apply_filters( 'advanced-ads-admin-max-terms', 50 ) );
126
- $terms = get_terms( $_tax->name, array('hide_empty' => false, 'number' => $max_terms) );
127
-
128
- if ( ! empty( $terms ) && ! is_wp_error( $terms ) ):
129
- ?><tr><th><?php echo $_tax->label; ?></th><?php
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)){
137
- $args = array('hide_empty' => false);
138
- $args['include'] = $checked;
139
- $checked_terms = get_terms($_tax->name, $args);
140
-
141
- foreach ( $checked_terms as $_checked_term ) :
142
- ?><label class="button"><?php echo $_checked_term->name;
143
- ?><input type="hidden" name="<?php echo $inputname; ?>" value="<?php
144
- echo $_checked_term->term_id; ?>"></label><?php
145
- endforeach;
146
- }
147
-
148
- ?></div><span class="advads-conditions-terms-show-search button" title="<?php
149
- _ex('add more terms', 'display the terms search field on ad edit page', ADVADS_SLUG);
150
- ?>">+</span><span class="description"><?php _e('add more terms', ADVADS_SLUG);
151
- ?></span><br/><input type="text" class="advads-conditions-terms-search" data-tag-name="<?php echo $_tax->name;
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
159
- checked( in_array( $_term->term_id, $checked ), true ); ?>><label for="<?php echo $field_id; ?>"><?php echo $_term->name; ?></label><?php
160
- endforeach;
161
- ?></div><?php
162
- endif;
163
- ?></td></tr><?php
164
- endif;
165
- endforeach;
166
- }
167
 
168
- /**
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
169
  * render display condition for taxonomy/term archive pages
170
  *
171
  * @param obj $ad ad object
172
  * @since 1.2.5
173
  */
174
- public static function category_archives($ad = false){
175
 
176
- // set defaults
177
- if ( is_object( $ad ) ){
178
- $_all = (isset($ad->conditions['categoryarchiveids']['all'])) ? 1 : 0;
179
- if ( ! $_all && empty($ad->conditions['categoryarchiveids']['include']) && empty($ad->conditions['categoryarchiveids']['exclude']) ){
180
- $_all = 1;
 
181
  }
182
- }
183
 
184
- if ( ! empty($ad->conditions['categoryarchiveids']['include']) ){
185
- // backward compatibility
186
- // TODO: remove in a later version; this should already be an array
187
- if ( is_string( $ad->conditions['categoryarchiveids']['include'] ) ){
188
- $_includes = explode( ',', $ad->conditions['categoryarchiveids']['include'] );
 
 
 
189
  } else {
190
- $_includes = $ad->conditions['categoryarchiveids']['include'];
191
  }
192
- } else {
193
- $_includes = array();
194
- }
195
 
196
- ?><h4><label class="advads-conditions-all"><input type="checkbox" name="advanced_ad[conditions][categoryarchiveids][all]" value="1" <?php checked( $_all, 1 ); ?>><?php
197
  _e( 'Display on all <strong>category archive pages</strong>.', ADVADS_SLUG ); ?></label></h4><?php
198
  $taxonomies = get_taxonomies( array('public' => true, 'publicly_queryable' => true), 'objects', 'or' );
199
  ?><div class="advads-conditions-single"><table>
200
  <p class="description"><?php _e( 'Choose the terms from public categories, tags and other taxonomies on which\'s archive page ads can appear', ADVADS_SLUG ); ?></p>
201
  <table><?php
202
- self::_display_taxonomy_term_list($_includes, 'include', 'advanced_ad[conditions][categoryarchiveids][include][]', 'categoryarchiveids');
203
- ?></table><?php
204
 
205
  if ( ! empty($ad->conditions['categoryarchiveids']['exclude']) ){
206
  // backward compatibility
@@ -216,9 +216,9 @@ if ( ! empty($ad->conditions['categoryarchiveids']['exclude']) ){
216
 
217
  ?><h5 class="header"><?php _e( 'Hide from here', ADVADS_SLUG ); ?></h5><p class="description"><?php _e( 'Choose the terms from public categories, tags and other taxonomies on which\'s archive pages ads are hidden.', ADVADS_SLUG ); ?></p>
218
  <table><?php
219
- self::_display_taxonomy_term_list($_excludes, 'exclude', 'advanced_ad[conditions][categoryarchiveids][exclude][]', 'categoryarchiveids');
220
- ?></table></div><?php
221
- }
222
 
223
  /**
224
  * render display condition for single post types
@@ -226,16 +226,16 @@ if ( ! empty($ad->conditions['categoryarchiveids']['exclude']) ){
226
  * @param obj $ad ad object
227
  * @since 1.2.6
228
  */
229
- public static function single_posts($ad = false){
230
 
231
- if ( is_object( $ad ) ){
232
- $_all = (isset($ad->conditions['postids']['all'])) ? 1 : 0;
233
- if ( ! $_all && empty($ad->conditions['postids']['method']) ){
234
- $_all = 1;
 
235
  }
236
- }
237
 
238
- ?><h4><label class="advads-conditions-all"><input type="checkbox" name="advanced_ad[conditions][postids][all]" value="1" <?php
239
  checked( $_all, 1 ); ?>><?php _e( 'Display an all <strong>individual posts, pages</strong> and public post type pages', ADVADS_SLUG ); ?></label></h4><?php
240
 
241
  ?><div class="advads-conditions-single">
@@ -293,13 +293,13 @@ if ( ! empty($ad->conditions['categoryarchiveids']['exclude']) ){
293
  } else {
294
  $_postids = $ad->conditions['postids']['exclude'];
295
  }
296
- } elseif( isset($ad->conditions['postids']['ids']) && is_array($ad->conditions['postids']['ids'])) {
297
  $_postids = $ad->conditions['postids']['ids'];
298
  } else {
299
  $_postids = array();
300
  }
301
 
302
- ?><ul class='advads-conditions-postids-list'><?php
303
  if ( $_postids != array() ){
304
  $args = array(
305
  'post_type' => 'any',
@@ -318,9 +318,9 @@ if ( $_postids != array() ){
318
  ?><li class="show-search"><a href="#"><?php _e( 'new', ADVADS_SLUG ); ?></a>
319
  <input type="text" style="display:none;" id="advads-display-conditions-individual-post" value="" placeholder="<?php
320
  _e( 'type the title', ADVADS_SLUG ); ?>"/>
321
- <?php wp_nonce_field( 'internal-linking', '_ajax_linking_nonce', false ); ?>
322
- </li>
323
- </ul>
324
- </div><?php
325
- }
326
  }
86
  _e( 'Display for all <strong>categories, tags and taxonomies</strong>.', ADVADS_SLUG ); ?></label></h4><?php
87
  ?><div class="advads-conditions-single"><h5 class="header"><?php _e( 'Display here', ADVADS_SLUG ); ?></h5><p class="description"><?php _e( 'Choose terms from public categories, tags and other taxonomies a post must belong to in order to have ads.', ADVADS_SLUG ); ?></p>
88
  <table><?php
89
+ self::_display_taxonomy_term_list( $_includes, 'include', 'advanced_ad[conditions][categoryids][include][]', 'categoryids' );
90
  ?></table><?php
91
 
92
  if ( ! empty($ad->conditions['categoryids']['exclude']) ){
103
 
104
  ?><h5 class="header"><?php _e( 'Hide from here', ADVADS_SLUG ); ?></h5><p class="description"><?php _e( 'Choose the terms from public categories, tags and other taxonomies a post must belong to hide the ad from it.', ADVADS_SLUG ); ?></p>
105
  <table><?php
106
+ self::_display_taxonomy_term_list( $_excludes, 'exclude', 'advanced_ad[conditions][categoryids][exclude][]', 'categoryids' );
107
  ?></table></div><?php
108
  }
109
 
110
+ /**
111
+ * render taxonomy term list with options
112
+ *
113
+ * @since 1.4.7
114
+ * @param arr $checked array with ids of checked terms
115
+ * @param str $includetype is this an include or exclude type of setting
116
+ * @param str $inputname value of the name attribute of the input tag
117
+ * @param str $group group of the values
118
+ */
119
+ private static function _display_taxonomy_term_list($checked = array(), $includetype = 'include', $inputname = '', $group = ''){
120
+ $taxonomies = get_taxonomies( array('public' => true, 'publicly_queryable' => true), 'objects', 'or' );
121
+ foreach ( $taxonomies as $_tax ):
122
+ if ( $_tax->name === 'advanced_ads_groups' ) { continue; // exclude adv ads groups
123
+ }
124
+ // limit the number of terms so many terms don’t break the admin page
125
+ $max_terms = absint( apply_filters( 'advanced-ads-admin-max-terms', 50 ) );
126
+ $terms = get_terms( $_tax->name, array('hide_empty' => false, 'number' => $max_terms) );
127
+
128
+ if ( ! empty( $terms ) && ! is_wp_error( $terms ) ):
129
+ ?><tr><th><?php echo $_tax->label; ?></th><?php
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 ) ){
137
+ $args = array('hide_empty' => false);
138
+ $args['include'] = $checked;
139
+ $checked_terms = get_terms( $_tax->name, $args );
140
+
141
+ foreach ( $checked_terms as $_checked_term ) :
142
+ ?><label class="button"><?php echo $_checked_term->name;
143
+ ?><input type="hidden" name="<?php echo $inputname; ?>" value="<?php
144
+ echo $_checked_term->term_id; ?>"></label><?php
145
+ endforeach;
146
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
147
 
148
+ ?></div><span class="advads-conditions-terms-show-search button" title="<?php
149
+ _ex( 'add more terms', 'display the terms search field on ad edit page', ADVADS_SLUG );
150
+ ?>">+</span><span class="description"><?php _e( 'add more terms', ADVADS_SLUG );
151
+ ?></span><br/><input type="text" class="advads-conditions-terms-search" data-tag-name="<?php echo $_tax->name;
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
159
+ checked( in_array( $_term->term_id, $checked ), true ); ?>><label for="<?php echo $field_id; ?>"><?php echo $_term->name; ?></label><?php
160
+ endforeach;
161
+ ?></div><?php
162
+ endif;
163
+ ?></td></tr><?php
164
+ endif;
165
+ endforeach;
166
+ }
167
+
168
+ /**
169
  * render display condition for taxonomy/term archive pages
170
  *
171
  * @param obj $ad ad object
172
  * @since 1.2.5
173
  */
174
+ public static function category_archives($ad = false){
175
 
176
+ // set defaults
177
+ if ( is_object( $ad ) ){
178
+ $_all = (isset($ad->conditions['categoryarchiveids']['all'])) ? 1 : 0;
179
+ if ( ! $_all && empty($ad->conditions['categoryarchiveids']['include']) && empty($ad->conditions['categoryarchiveids']['exclude']) ){
180
+ $_all = 1;
181
+ }
182
  }
 
183
 
184
+ if ( ! empty($ad->conditions['categoryarchiveids']['include']) ){
185
+ // backward compatibility
186
+ // TODO: remove in a later version; this should already be an array
187
+ if ( is_string( $ad->conditions['categoryarchiveids']['include'] ) ){
188
+ $_includes = explode( ',', $ad->conditions['categoryarchiveids']['include'] );
189
+ } else {
190
+ $_includes = $ad->conditions['categoryarchiveids']['include'];
191
+ }
192
  } else {
193
+ $_includes = array();
194
  }
 
 
 
195
 
196
+ ?><h4><label class="advads-conditions-all"><input type="checkbox" name="advanced_ad[conditions][categoryarchiveids][all]" value="1" <?php checked( $_all, 1 ); ?>><?php
197
  _e( 'Display on all <strong>category archive pages</strong>.', ADVADS_SLUG ); ?></label></h4><?php
198
  $taxonomies = get_taxonomies( array('public' => true, 'publicly_queryable' => true), 'objects', 'or' );
199
  ?><div class="advads-conditions-single"><table>
200
  <p class="description"><?php _e( 'Choose the terms from public categories, tags and other taxonomies on which\'s archive page ads can appear', ADVADS_SLUG ); ?></p>
201
  <table><?php
202
+ self::_display_taxonomy_term_list( $_includes, 'include', 'advanced_ad[conditions][categoryarchiveids][include][]', 'categoryarchiveids' );
203
+ ?></table><?php
204
 
205
  if ( ! empty($ad->conditions['categoryarchiveids']['exclude']) ){
206
  // backward compatibility
216
 
217
  ?><h5 class="header"><?php _e( 'Hide from here', ADVADS_SLUG ); ?></h5><p class="description"><?php _e( 'Choose the terms from public categories, tags and other taxonomies on which\'s archive pages ads are hidden.', ADVADS_SLUG ); ?></p>
218
  <table><?php
219
+ self::_display_taxonomy_term_list( $_excludes, 'exclude', 'advanced_ad[conditions][categoryarchiveids][exclude][]', 'categoryarchiveids' );
220
+ ?></table></div><?php
221
+ }
222
 
223
  /**
224
  * render display condition for single post types
226
  * @param obj $ad ad object
227
  * @since 1.2.6
228
  */
229
+ public static function single_posts($ad = false){
230
 
231
+ if ( is_object( $ad ) ){
232
+ $_all = (isset($ad->conditions['postids']['all'])) ? 1 : 0;
233
+ if ( ! $_all && empty($ad->conditions['postids']['method']) ){
234
+ $_all = 1;
235
+ }
236
  }
 
237
 
238
+ ?><h4><label class="advads-conditions-all"><input type="checkbox" name="advanced_ad[conditions][postids][all]" value="1" <?php
239
  checked( $_all, 1 ); ?>><?php _e( 'Display an all <strong>individual posts, pages</strong> and public post type pages', ADVADS_SLUG ); ?></label></h4><?php
240
 
241
  ?><div class="advads-conditions-single">
293
  } else {
294
  $_postids = $ad->conditions['postids']['exclude'];
295
  }
296
+ } elseif ( isset($ad->conditions['postids']['ids']) && is_array( $ad->conditions['postids']['ids'] ) ) {
297
  $_postids = $ad->conditions['postids']['ids'];
298
  } else {
299
  $_postids = array();
300
  }
301
 
302
+ ?><ul class='advads-conditions-postids-list'><?php
303
  if ( $_postids != array() ){
304
  $args = array(
305
  'post_type' => 'any',
318
  ?><li class="show-search"><a href="#"><?php _e( 'new', ADVADS_SLUG ); ?></a>
319
  <input type="text" style="display:none;" id="advads-display-conditions-individual-post" value="" placeholder="<?php
320
  _e( 'type the title', ADVADS_SLUG ); ?>"/>
321
+ <?php wp_nonce_field( 'internal-linking', '_ajax_linking_nonce', false ); ?>
322
+ </li>
323
+ </ul>
324
+ </div><?php
325
+ }
326
  }
admin/includes/class-notices.php CHANGED
@@ -8,71 +8,71 @@
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="http://wpadvancedads.com/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
  }
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
  }
admin/includes/class-overview-widgets.php CHANGED
@@ -120,10 +120,10 @@ foreach ( $next_steps as $_step ){
120
  */
121
  public static function render_support(){
122
  ?><ul>
123
- <li><?php printf( __( '<a href="%s" target="_blank">Plugin Homepage</a>', ADVADS_SLUG ), 'http://wpadvancedads.com/advancedads/' ); ?> –
124
- <?php printf( __( '<a href="%s" target="_blank">Manual</a>', ADVADS_SLUG ), 'http://wpadvancedads.com/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 ), 'http://wpadvancedads.com/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
@@ -134,12 +134,12 @@ foreach ( $next_steps as $_step ){
134
  */
135
  public static function render_add_on_tracking(){
136
 
137
- ?><p><?php _e( 'Track the impressions of your ads.', ADVADS_SLUG ); ?></p><ul class='list'>
138
  <li><?php _e( '2 methods to count impressions', ADVADS_SLUG ); ?></li>
139
  <li><?php _e( 'beautiful stats for all or single ads', ADVADS_SLUG ); ?></li>
140
  <li><?php _e( 'get stats for predefined and custom persiods', ADVADS_SLUG ); ?></li>
141
  <li><?php _e( 'group stats by day, week or month', ADVADS_SLUG ); ?></li>
142
- </ul><p><a class="button button-primary" href="http://wpadvancedads.com/ad-tracking/" target="_blank"><?php
143
  _e( 'Get the Tracking add-on', ADVADS_SLUG ); ?></a></p><?php
144
  }
145
 
@@ -152,7 +152,7 @@ foreach ( $next_steps as $_step ){
152
  <li><?php _e( 'set a range (from … to …) pixels for the browser size', ADVADS_SLUG ); ?></li>
153
  <li><?php _e( 'set custom sizes for AdSense responsive ads', ADVADS_SLUG ); ?></li>
154
  <li><?php _e( 'list all ads by their responsive settings', ADVADS_SLUG ); ?></li>
155
- </ul><p><a class="button button-primary" href="http://wpadvancedads.com/responsive-ads/" target="_blank"><?php
156
  _e( 'Get the Responsive add-on', ADVADS_SLUG ); ?></a></p><?php
157
  }
158
 
@@ -164,7 +164,7 @@ foreach ( $next_steps as $_step ){
164
  ?><p><?php _e( 'Fix ads to the browser while users are scrolling and create best performing anchor ads.', ADVADS_SLUG ); ?></p><ul class='list'>
165
  <li><?php _e( 'position ads that don’t scroll with the screen', ADVADS_SLUG ); ?></li>
166
  <li><?php _e( 'build anchor ads not only on mobile devices', ADVADS_SLUG ); ?></li>
167
- </ul><p><a class="button button-primary" href="http://wpadvancedads.com/sticky-ads" target="_blank"><?php
168
  _e( 'Get the Sticky add-on', ADVADS_SLUG ); ?></a></p><?php
169
  }
170
 
@@ -177,7 +177,7 @@ foreach ( $next_steps as $_step ){
177
  <li><?php _e( 'display a popup after a user interaction like scrolling', ADVADS_SLUG ); ?></li>
178
  <li><?php _e( 'optional backgroup overlay', ADVADS_SLUG ); ?></li>
179
  <li><?php _e( 'allow users to close the popup', ADVADS_SLUG ); ?></li>
180
- </ul><p><a class="button button-primary" href="http://wpadvancedads.com/layer-ads/" target="_blank"><?php
181
  _e( 'Get the PopUp and Layer add-on', ADVADS_SLUG ); ?></a></p><?php
182
  }
183
 
120
  */
121
  public static function render_support(){
122
  ?><ul>
123
+ <li><?php printf( __( '<a href="%s" target="_blank">Plugin Homepage</a>', ADVADS_SLUG ), ADVADS_URL . 'advancedads/' ); ?> –
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
134
  */
135
  public static function render_add_on_tracking(){
136
 
137
+ ?><p><?php _e( 'Track the impressions of and clicks on your ads.', ADVADS_SLUG ); ?></p><ul class='list'>
138
  <li><?php _e( '2 methods to count impressions', ADVADS_SLUG ); ?></li>
139
  <li><?php _e( 'beautiful stats for all or single ads', ADVADS_SLUG ); ?></li>
140
  <li><?php _e( 'get stats for predefined and custom persiods', ADVADS_SLUG ); ?></li>
141
  <li><?php _e( 'group stats by day, week or month', ADVADS_SLUG ); ?></li>
142
+ </ul><p><a class="button button-primary" href="<?php echo ADVADS_URL; ?>add-ons/tracking/" target="_blank"><?php
143
  _e( 'Get the Tracking add-on', ADVADS_SLUG ); ?></a></p><?php
144
  }
145
 
152
  <li><?php _e( 'set a range (from … to …) pixels for the browser size', ADVADS_SLUG ); ?></li>
153
  <li><?php _e( 'set custom sizes for AdSense responsive ads', ADVADS_SLUG ); ?></li>
154
  <li><?php _e( 'list all ads by their responsive settings', ADVADS_SLUG ); ?></li>
155
+ </ul><p><a class="button button-primary" href="<?php echo ADVADS_URL; ?>add-ons/responsive-ads/" target="_blank"><?php
156
  _e( 'Get the Responsive add-on', ADVADS_SLUG ); ?></a></p><?php
157
  }
158
 
164
  ?><p><?php _e( 'Fix ads to the browser while users are scrolling and create best performing anchor ads.', ADVADS_SLUG ); ?></p><ul class='list'>
165
  <li><?php _e( 'position ads that don’t scroll with the screen', ADVADS_SLUG ); ?></li>
166
  <li><?php _e( 'build anchor ads not only on mobile devices', ADVADS_SLUG ); ?></li>
167
+ </ul><p><a class="button button-primary" href="<?php echo ADVADS_URL; ?>add-ons/sticky-ads/" target="_blank"><?php
168
  _e( 'Get the Sticky add-on', ADVADS_SLUG ); ?></a></p><?php
169
  }
170
 
177
  <li><?php _e( 'display a popup after a user interaction like scrolling', ADVADS_SLUG ); ?></li>
178
  <li><?php _e( 'optional backgroup overlay', ADVADS_SLUG ); ?></li>
179
  <li><?php _e( 'allow users to close the popup', ADVADS_SLUG ); ?></li>
180
+ </ul><p><a class="button button-primary" href="<?php echo ADVADS_URL; ?>add-ons/popup-and-layer-ads/" target="_blank"><?php
181
  _e( 'Get the PopUp and Layer add-on', ADVADS_SLUG ); ?></a></p><?php
182
  }
183
 
admin/views/ad-display-metabox.php CHANGED
@@ -20,16 +20,16 @@ jQuery(document).ready(function() {
20
  <ul id="advads-how-it-works">
21
  <li><?php _e( 'If you want to display the ad everywhere, don\'t do anything here. ', ADVADS_SLUG ); ?></li>
22
  <li><?php _e( 'The fewer conditions you enter, the better the performance will be.', ADVADS_SLUG ); ?></li>
23
- <li><?php printf( __( 'Learn more about display conditions from the <a href="%s" target="_blank">manual</a>.', ADVADS_SLUG ), 'http://wpadvancedads.com/advancedads/manual/display-conditions/' ); ?></li>
24
  </ul>
25
  <?php
26
- // -TODO use model
27
- $advanced_ads_ad_conditions = Advanced_Ads::get_ad_conditions();
28
- if (is_array($advanced_ads_ad_conditions)) :
29
- foreach ($advanced_ads_ad_conditions as $_key => $_condition) :
30
- if (!isset($_condition['callback']))
31
- continue;
32
- ?><div class="advanced-ad-display-condition">
33
  <?php
34
  if ( is_array( $_condition['callback'] ) && method_exists( $_condition['callback'][0], $_condition['callback'][1] ) ) {
35
  call_user_func( array($_condition['callback'][0], $_condition['callback'][1]), $ad ); // works also in php below 5.3
@@ -40,12 +40,12 @@ jQuery(document).ready(function() {
40
  ?><h4><?php _e( 'Other conditions', ADVADS_SLUG ); ?></h4><br/>
41
  <table>
42
  <tbody><?php
43
- foreach ( $advanced_ads_ad_conditions as $_key => $_condition ) :
44
- if ( isset($_condition['callback']) || empty($_condition['label']) ) {
45
- continue; }
46
- ?><tr>
47
  <th><?php echo $_condition['label']; ?>
48
- </th>
49
  <?php if ( empty($_condition['type']) ) : continue; ?>
50
  <?php elseif ( $_condition['type'] == 'idfield' || $_condition['type'] == 'textvalues' ) : ?>
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>
@@ -53,16 +53,16 @@ jQuery(document).ready(function() {
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); } ?>/>
58
- <label for="advanced-ads-display-condition-<?php echo $_key; ?>-1"><?php _ex('on', 'button label', ADVADS_SLUG); ?></label>
59
  <input type="radio" name="advanced_ad[conditions][<?php
60
- echo $_key; ?>]" id="advanced-ads-display-condition-<?php
61
- echo $_key; ?>-0" value="0" <?php if ( isset($ad->conditions[$_key]) ) { checked( $ad->conditions[$_key], 0 ); } ?>/>
62
- <label for="advanced-ads-display-condition-<?php echo $_key; ?>-0"><?php _ex('off', 'button label', ADVADS_SLUG); ?></label>
63
  </td>
64
  <td>
65
- <?php if ( ! empty($_condition['description']) ) : ?>
66
  <p class="description on-hover"><?php echo $_condition['description']; ?></p>
67
  <?php endif; ?>
68
  </td>
20
  <ul id="advads-how-it-works">
21
  <li><?php _e( 'If you want to display the ad everywhere, don\'t do anything here. ', ADVADS_SLUG ); ?></li>
22
  <li><?php _e( 'The fewer conditions you enter, the better the performance will be.', ADVADS_SLUG ); ?></li>
23
+ <li><?php printf( __( 'Learn more about display conditions from the <a href="%s" target="_blank">manual</a>.', ADVADS_SLUG ), ADVADS_URL . 'advancedads/manual/display-conditions/' ); ?></li>
24
  </ul>
25
  <?php
26
+ // -TODO use model
27
+ $advanced_ads_ad_conditions = Advanced_Ads::get_ad_conditions();
28
+ if ( is_array( $advanced_ads_ad_conditions ) ) :
29
+ foreach ( $advanced_ads_ad_conditions as $_key => $_condition ) :
30
+ if ( ! isset($_condition['callback']) ) {
31
+ continue; }
32
+ ?><div class="advanced-ad-display-condition">
33
  <?php
34
  if ( is_array( $_condition['callback'] ) && method_exists( $_condition['callback'][0], $_condition['callback'][1] ) ) {
35
  call_user_func( array($_condition['callback'][0], $_condition['callback'][1]), $ad ); // works also in php below 5.3
40
  ?><h4><?php _e( 'Other conditions', ADVADS_SLUG ); ?></h4><br/>
41
  <table>
42
  <tbody><?php
43
+ foreach ( $advanced_ads_ad_conditions as $_key => $_condition ) :
44
+ if ( isset($_condition['callback']) || empty($_condition['label']) ) {
45
+ continue; }
46
+ ?><tr>
47
  <th><?php echo $_condition['label']; ?>
48
+ </th>
49
  <?php if ( empty($_condition['type']) ) : continue; ?>
50
  <?php elseif ( $_condition['type'] == 'idfield' || $_condition['type'] == 'textvalues' ) : ?>
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>
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 ); } ?>/>
58
+ <label for="advanced-ads-display-condition-<?php echo $_key; ?>-1"><?php _ex( 'on', 'button label', ADVADS_SLUG ); ?></label>
59
  <input type="radio" name="advanced_ad[conditions][<?php
60
+ echo $_key; ?>]" id="advanced-ads-display-condition-<?php
61
+ echo $_key; ?>-0" value="0" <?php if ( isset($ad->conditions[$_key]) ) { checked( $ad->conditions[$_key], 0 ); } ?>/>
62
+ <label for="advanced-ads-display-condition-<?php echo $_key; ?>-0"><?php _ex( 'off', 'button label', ADVADS_SLUG ); ?></label>
63
  </td>
64
  <td>
65
+ <?php if ( ! empty($_condition['description']) ) : ?>
66
  <p class="description on-hover"><?php echo $_condition['description']; ?></p>
67
  <?php endif; ?>
68
  </td>
admin/views/ad-group-list-form-row.php CHANGED
@@ -1,35 +1,35 @@
1
  <tr class="hidden advads-ad-group-form">
2
  <td colspan="3">
3
- <label><strong><?php _e('Name', ADVADS_SLUG); ?></strong><input type="text" name="advads-groups[<?php
4
- echo $group->id; ?>][name]" value="<?php echo $group->name; ?>"/></label><br/>
5
- <label><strong><?php _e('Description', ADVADS_SLUG); ?></strong><input type="text" name="advads-groups[<?php
6
- echo $group->id; ?>][description]" value="<?php echo $group->description; ?>"/></label><br/>
7
- <strong><?php _e('Type', ADVADS_SLUG); ?></strong>
8
- <ul><?php foreach($this->types as $_type_key => $_type) :
9
- ?><li><label><input type="radio" name="advads-groups[<?php echo $group->id;
10
- ?>][type]" value="<?php echo $_type_key; ?>" <?php checked($group->type, $_type_key)?>/><?php
11
- echo $_type['title']; ?></label>
12
  <p class="description"><?php echo $_type['description']; ?></p>
13
  </li><?php
14
- endforeach; ?></ul><div class="clear"></div>
15
- <label><strong><?php _e('Number of ads', ADVADS_SLUG); ?></strong>
16
  <select name="advads-groups[<?php echo $group->id; ?>][ad_count]"><?php
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>
24
- <?php if(count($ad_form_rows)) : ?>
25
  <table>
26
- <thead><tr><th><?php _e('Ad', ADVADS_SLUG);
27
- ?></th><th><?php _e('weight', ADVADS_SLUG); ?></th></tr></thead>
28
- <?php foreach($ad_form_rows as $_row){
29
- echo $_row;
30
- } ?></table><?php
31
- else : ?>
32
- <p><?php _e('No ads assigned', ADVADS_SLUG); ?></p><?php
33
- endif; ?>
34
  </td>
35
  </tr>
1
  <tr class="hidden advads-ad-group-form">
2
  <td colspan="3">
3
+ <label><strong><?php _e( 'Name', ADVADS_SLUG ); ?></strong><input type="text" name="advads-groups[<?php
4
+ echo $group->id; ?>][name]" value="<?php echo $group->name; ?>"/></label><br/>
5
+ <label><strong><?php _e( 'Description', ADVADS_SLUG ); ?></strong><input type="text" name="advads-groups[<?php
6
+ echo $group->id; ?>][description]" value="<?php echo $group->description; ?>"/></label><br/>
7
+ <strong><?php _e( 'Type', ADVADS_SLUG ); ?></strong>
8
+ <ul><?php foreach ( $this->types as $_type_key => $_type ) :
9
+ ?><li><label><input type="radio" name="advads-groups[<?php echo $group->id;
10
+ ?>][type]" value="<?php echo $_type_key; ?>" <?php checked( $group->type, $_type_key )?>/><?php
11
+ echo $_type['title']; ?></label>
12
  <p class="description"><?php echo $_type['description']; ?></p>
13
  </li><?php
14
+ endforeach; ?></ul><div class="clear"></div>
15
+ <label><strong><?php _e( 'Number of ads', ADVADS_SLUG ); ?></strong>
16
  <select name="advads-groups[<?php echo $group->id; ?>][ad_count]"><?php
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>
24
+ <?php if ( count( $ad_form_rows ) ) : ?>
25
  <table>
26
+ <thead><tr><th><?php _e( 'Ad', ADVADS_SLUG );
27
+ ?></th><th><?php _e( 'weight', ADVADS_SLUG ); ?></th></tr></thead>
28
+ <?php foreach ( $ad_form_rows as $_row ){
29
+ echo $_row;
30
+ } ?></table><?php
31
+ else : ?>
32
+ <p><?php _e( 'No ads assigned', ADVADS_SLUG ); ?></p><?php
33
+ endif; ?>
34
  </td>
35
  </tr>
admin/views/ad-group-list-header.php CHANGED
@@ -1,7 +1,7 @@
1
  <thead>
2
  <tr>
3
- <th><?php _e('Ad Group', ADVADS_SLUG); ?></th>
4
- <th><?php _e('Details', ADVADS_SLUG); ?></th>
5
- <th><?php _e('Ads', ADVADS_SLUG); ?></th>
6
  </tr>
7
  </thead>
1
  <thead>
2
  <tr>
3
+ <th><?php _e( 'Ad Group', ADVADS_SLUG ); ?></th>
4
+ <th><?php _e( 'Details', ADVADS_SLUG ); ?></th>
5
+ <th><?php _e( 'Ads', ADVADS_SLUG ); ?></th>
6
  </tr>
7
  </thead>
admin/views/ad-group-list-row.php CHANGED
@@ -3,7 +3,7 @@
3
  <input type="hidden" class="advads-group-id" name="advads-groups[<?php echo $group->id; ?>][id]" value="<?php echo $group->id; ?>"/>
4
  <strong><a class="row-title" href="#"><?php echo $group->name; ?></a></strong>
5
  <p class="description"><?php echo $group->description; ?></p>
6
- <?php echo $this->render_action_links($group); ?>
7
  <div class="hidden advads-usage">
8
  <label><?php _e( 'shortcode', ADVADS_SLUG ); ?>
9
  <code><input type="text" onclick="this.select();" style="width: 200px;" value='[the_ad_group id="<?php echo $group->id; ?>"]'/></code>
@@ -11,15 +11,15 @@
11
  <label><?php _e( 'template', ADVADS_SLUG ); ?>
12
  <code><input type="text" onclick="this.select();" value="the_ad_group(<?php echo $group->id; ?>);"/></code>
13
  </label>
14
- <p><?php printf( __( 'Learn more about using groups in the <a href="%s" target="_blank">manual</a>.', ADVADS_SLUG ), 'http://wpadvancedads.com/advanced-ads/manual/ad-groups/' ); ?></p>
15
  </div>
16
  </td>
17
  <td>
18
  <ul><?php $_type = isset($this->types[$group->type]['title']) ? $this->types[$group->type]['title'] : 'default'; ?>
19
- <li><strong><?php printf(__('Type: %s', ADVADS_SLUG), $_type); ?></strong></li>
20
- <li><?php printf(__('ID: %s', ADVADS_SLUG), $group->id); ?></li>
21
- <li><?php printf(__('Slug: %s', ADVADS_SLUG), $group->slug); ?></li>
22
  </ul>
23
  </td>
24
- <td class="advads-ad-group-list-ads"><?php $this->render_ads_list($group); ?></td>
25
  </tr>
3
  <input type="hidden" class="advads-group-id" name="advads-groups[<?php echo $group->id; ?>][id]" value="<?php echo $group->id; ?>"/>
4
  <strong><a class="row-title" href="#"><?php echo $group->name; ?></a></strong>
5
  <p class="description"><?php echo $group->description; ?></p>
6
+ <?php echo $this->render_action_links( $group ); ?>
7
  <div class="hidden advads-usage">
8
  <label><?php _e( 'shortcode', ADVADS_SLUG ); ?>
9
  <code><input type="text" onclick="this.select();" style="width: 200px;" value='[the_ad_group id="<?php echo $group->id; ?>"]'/></code>
11
  <label><?php _e( 'template', ADVADS_SLUG ); ?>
12
  <code><input type="text" onclick="this.select();" value="the_ad_group(<?php echo $group->id; ?>);"/></code>
13
  </label>
14
+ <p><?php printf( __( 'Learn more about using groups in the <a href="%s" target="_blank">manual</a>.', ADVADS_SLUG ), ADVADS_URL . 'advanced-ads/manual/ad-groups/' ); ?></p>
15
  </div>
16
  </td>
17
  <td>
18
  <ul><?php $_type = isset($this->types[$group->type]['title']) ? $this->types[$group->type]['title'] : 'default'; ?>
19
+ <li><strong><?php printf( __( 'Type: %s', ADVADS_SLUG ), $_type ); ?></strong></li>
20
+ <li><?php printf( __( 'ID: %s', ADVADS_SLUG ), $group->id ); ?></li>
21
+ <li><?php printf( __( 'Slug: %s', ADVADS_SLUG ), $group->slug ); ?></li>
22
  </ul>
23
  </td>
24
+ <td class="advads-ad-group-list-ads"><?php $this->render_ads_list( $group ); ?></td>
25
  </tr>
admin/views/ad-group.php CHANGED
@@ -8,15 +8,15 @@
8
  $ad_groups_list = new AdvAds_Groups_List();
9
 
10
  // save updated groups
11
- if(isset($_REQUEST['advads-group-update-nonce'])){
12
- $udpate_result = $ad_groups_list->update_groups();
13
- // display error message
14
- if ( is_wp_error( $udpate_result ) ){
15
- $error_string = $udpate_result->get_error_message();
16
- echo '<div id="message" class="error"><p>' . $error_string . '</p></div>';
17
- } else {
18
- echo '<div id="message" class="updated"><p>' . __('Ad Groups successfully updated', ADVADS_SLUG) . '</p></div>';
19
- }
20
  }
21
 
22
  /*$messages[$taxonomy] = array(
@@ -59,7 +59,7 @@ if ( isset($_REQUEST['message']) && ( $msg = (int) $_REQUEST['message'] ) || iss
59
  <div id="ajax-response"></div>
60
  <a onclick="advads_toggle('#advads-ad-group-display-info')"><?php _e( 'How to display an Ad Group?', ADVADS_SLUG ); ?></a>
61
  <div id="advads-ad-group-display-info" style="display: none;">
62
- <p><?php printf( __( 'Examples on how to display an ad group? Find more help and examples in the <a href="%s" target="_blank">manual</a>', ADVADS_SLUG ), 'http://wpadvancedads.com/advanced-ads/manual/ad-groups/' ); ?></p>
63
  <h4><?php _e( 'shortcode', ADVADS_SLUG ); ?></h4>
64
  <p class="description"><?php _e( 'To display an ad group with the ID 6 in content fields', ADVADS_SLUG ); ?></p>
65
  <pre><input type="text" onclick="this.select();" style="width: 250px;" value='[the_ad_group id="6"]'/></pre>
@@ -79,12 +79,12 @@ if ( isset($_REQUEST['message']) && ( $msg = (int) $_REQUEST['message'] ) || iss
79
  <br class="clear" />
80
  <div id="advads-ad-group-list">
81
  <form action="" method="post">
82
- <?php wp_nonce_field('update-advads-groups', 'advads-group-update-nonce'); ?>
83
  <table class="wp-list-table widefat fixed adgroups">
84
  <?php $ad_groups_list->render_header(); ?>
85
  <?php $ad_groups_list->render_rows(); ?>
86
  </table>
87
- <?php submit_button( __('Update Groups', ADVADS_SLUG) ); ?>
88
  </form>
89
  </div>
90
  </div>
8
  $ad_groups_list = new AdvAds_Groups_List();
9
 
10
  // save updated groups
11
+ if ( isset($_REQUEST['advads-group-update-nonce']) ){
12
+ $udpate_result = $ad_groups_list->update_groups();
13
+ // display error message
14
+ if ( is_wp_error( $udpate_result ) ){
15
+ $error_string = $udpate_result->get_error_message();
16
+ echo '<div id="message" class="error"><p>' . $error_string . '</p></div>';
17
+ } else {
18
+ echo '<div id="message" class="updated"><p>' . __( 'Ad Groups successfully updated', ADVADS_SLUG ) . '</p></div>';
19
+ }
20
  }
21
 
22
  /*$messages[$taxonomy] = array(
59
  <div id="ajax-response"></div>
60
  <a onclick="advads_toggle('#advads-ad-group-display-info')"><?php _e( 'How to display an Ad Group?', ADVADS_SLUG ); ?></a>
61
  <div id="advads-ad-group-display-info" style="display: none;">
62
+ <p><?php printf( __( 'Examples on how to display an ad group? Find more help and examples in the <a href="%s" target="_blank">manual</a>', ADVADS_SLUG ), ADVADS_URL . 'advanced-ads/manual/ad-groups/' ); ?></p>
63
  <h4><?php _e( 'shortcode', ADVADS_SLUG ); ?></h4>
64
  <p class="description"><?php _e( 'To display an ad group with the ID 6 in content fields', ADVADS_SLUG ); ?></p>
65
  <pre><input type="text" onclick="this.select();" style="width: 250px;" value='[the_ad_group id="6"]'/></pre>
79
  <br class="clear" />
80
  <div id="advads-ad-group-list">
81
  <form action="" method="post">
82
+ <?php wp_nonce_field( 'update-advads-groups', 'advads-group-update-nonce' ); ?>
83
  <table class="wp-list-table widefat fixed adgroups">
84
  <?php $ad_groups_list->render_header(); ?>
85
  <?php $ad_groups_list->render_rows(); ?>
86
  </table>
87
+ <?php submit_button( __( 'Update Groups', ADVADS_SLUG ) ); ?>
88
  </form>
89
  </div>
90
  </div>
admin/views/{ad_info.php → ad-info.php} RENAMED
@@ -2,7 +2,7 @@
2
  <a onclick="advads_toggle('#advads-ad-info')"><?php _e( 'How to use this Ad?', ADVADS_SLUG ); ?></a>
3
  </p>
4
  <div id="advads-ad-info" style="display: none;">
5
- <p><?php printf( __( 'How to display the ad directly? Find more help and examples in the <a href="%s" target="_blank">manual</a>', ADVADS_SLUG ), 'http://wpadvancedads.com/advanced-ads/manual/display-ads/' ); ?></p>
6
  <h4><?php _e( 'shortcode', ADVADS_SLUG ); ?></h4>
7
  <p class="description"><?php _e( 'To display an ad in content fields', ADVADS_SLUG ); ?></p>
8
  <pre><input type="text" onclick="this.select();" value='[the_ad id="<?php echo $post->ID; ?>"]'/></pre>
2
  <a onclick="advads_toggle('#advads-ad-info')"><?php _e( 'How to use this Ad?', ADVADS_SLUG ); ?></a>
3
  </p>
4
  <div id="advads-ad-info" style="display: none;">
5
+ <p><?php printf( __( 'How to display the ad directly? Find more help and examples in the <a href="%s" target="_blank">manual</a>', ADVADS_SLUG ), ADVADS_URL . 'advanced-ads/manual/display-ads/' ); ?></p>
6
  <h4><?php _e( 'shortcode', ADVADS_SLUG ); ?></h4>
7
  <p class="description"><?php _e( 'To display an ad in content fields', ADVADS_SLUG ); ?></p>
8
  <pre><input type="text" onclick="this.select();" value='[the_ad id="<?php echo $post->ID; ?>"]'/></pre>
admin/views/{ad_list_details_column.php → ad-list-details-column.php} RENAMED
File without changes
admin/views/ad-visitor-metabox.php CHANGED
@@ -18,5 +18,5 @@
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 ), 'http://wpadvancedads.com/responsive-ads/' ); ?></p>
22
  <?php endif;
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;
admin/views/admin.php DELETED
@@ -1,25 +0,0 @@
1
- <?php
2
- /**
3
- * Represents the view for the administration dashboard.
4
- *
5
- * This includes the header, options, and other information that should provide
6
- * The User Interface to the end user.
7
- *
8
- * @package Advanced_Ads_Admin
9
- * @author Thomas Maier <thomas.maier@webgilde.com>
10
- * @license GPL-2.0+
11
- * @link http://webgilde.com
12
- * @copyright 2013 Thomas Maier, webgilde GmbH
13
- */
14
- ?>
15
-
16
- <div class="wrap">
17
- <h2 style="color:red;"><?php _e('Work in progress', $this->plugin_slug); ?></h2>
18
- <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.', $this->plugin_slug); ?></p>
19
- <?php screen_icon(); ?>
20
- <h1><?php echo esc_html(get_admin_page_title()); ?></h1>
21
-
22
- <h2><?php _e('Ad Condition Overview', $this->plugin_slug); ?></h2>
23
- <pre><?php print_r($ads_by_conditions); ?></pre>
24
-
25
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/views/debug.php CHANGED
@@ -13,9 +13,6 @@
13
  <h2><?php _e( 'Settings', ADVADS_SLUG ); ?></h2>
14
  <pre><?php print_r( $plugin_options ); ?></pre>
15
 
16
- <h2><?php _e( 'Ad Condition Overview', ADVADS_SLUG ); ?></h2>
17
- <pre><?php print_r( $ads_by_conditions ); ?></pre>
18
-
19
  <h2><?php _e( 'Ad Placements', ADVADS_SLUG ); ?></h2>
20
  <pre><?php print_r( $ad_placements ); ?></pre>
21
 
13
  <h2><?php _e( 'Settings', ADVADS_SLUG ); ?></h2>
14
  <pre><?php print_r( $plugin_options ); ?></pre>
15
 
 
 
 
16
  <h2><?php _e( 'Ad Placements', ADVADS_SLUG ); ?></h2>
17
  <pre><?php print_r( $ad_placements ); ?></pre>
18
 
admin/views/placements.php CHANGED
@@ -3,16 +3,17 @@
3
  * the view for the placements page
4
  */
5
  ?><div class="wrap">
6
- <?php if ( $error ) : ?>
7
- <div id="message" class="error"><p><?php echo $error; ?></p></div>
8
- <?php endif; ?>
9
- <?php if ( $success ) : ?>
10
- <div id="message" class="updated"><p><?php echo $success; ?></p></div>
11
- <?php endif; ?>
 
12
  <?php screen_icon(); ?>
13
  <h1><?php echo esc_html( get_admin_page_title() ); ?></h1>
14
  <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>
15
- <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 ), 'http://wpadvancedads.com/advancedads/manual/placements/', 'http://wpadvancedads.com/advancedads/manual/auto-injection/' ); ?></p>
16
  <h2><?php _e( 'Create a new placement', ADVADS_SLUG ); ?></h2>
17
  <form method="POST" action="" class="advads-placements-new-form">
18
  <label for="advads-placement-type"><?php _e( 'Type', ADVADS_SLUG ); ?></label>
@@ -42,12 +43,13 @@
42
  <p class="description"><?php _e( 'Individual identifier. Allowed are alphanumeric signs (lower case) and hyphen.', ADVADS_SLUG ); ?></p>
43
  <p class=""><?php _e( 'You can assign Ads and Groups after you created the placement.', ADVADS_SLUG ); ?></p>
44
  <input type="submit" class="button button-primary" value="<?php _e( 'Save New Placement', ADVADS_SLUG ); ?>"/>
 
45
  </form>
46
  <?php if ( isset($placements) && is_array( $placements ) ) : ?>
47
  <h2><?php _e( 'Placements', ADVADS_SLUG ); ?></h2>
48
  <a onclick="advads_toggle('#advads-ad-place-display-info')"><?php _e( 'How to use the <i>default</i> Ad Placement?', ADVADS_SLUG ); ?></a>
49
  <div id="advads-ad-place-display-info" style="display: none;">
50
- <p><?php printf( __( 'Examples on how to use the <i>default</i> ad placement? Find more help and examples in the <a href="%s" target="_blank">manual</a>', ADVADS_SLUG ), 'http://wpadvancedads.com/advanced-ads/manual/placements/' ); ?></p>
51
  <h4><?php _e( 'shortcode', ADVADS_SLUG ); ?></h4>
52
  <p class="description"><?php _e( 'To use an ad placement with the ID skyscraper_left in content fields', ADVADS_SLUG ); ?></p>
53
  <pre><input type="text" onclick="this.select();" style="width: 400px;" value='[the_ad_placement id="skyscraper_left"]'/></pre>
@@ -76,7 +78,7 @@
76
  <th><?php echo $_placement_slug; ?></th>
77
  <td class="advads-placements-table-options">
78
  <?php do_action( 'advanced-ads-placement-options-before', $_placement_slug, $_placement );
79
- $items = Advads_Ad_Placements::items_for_select(); ?>
80
  <label for="adsads-placements-item-<?php echo $_placement_slug; ?>"><?php _e( 'Item', ADVADS_SLUG ); ?></label>
81
  <select id="adsads-placements-item-<?php echo $_placement_slug; ?>" name="advads[placements][<?php echo $_placement_slug; ?>][item]">
82
  <option value=""><?php _e( '--empty--', ADVADS_SLUG ); ?></option>
@@ -111,7 +113,7 @@
111
  echo (isset($_placement['options']['index'])) ? $_placement['options']['index'] : 1;
112
  ?>"/>.
113
 
114
- <?php $tags = Advads_Ad_Placements::tags_for_content_injection(); ?>
115
  <select name="advads[placements][<?php echo $_placement_slug; ?>][options][tag]">
116
  <?php foreach ( $tags as $_tag_key => $_tag ) : ?>
117
  <option value="<?php echo $_tag_key; ?>" <?php if ( isset($_placement['options']['tag']) ) { selected( $_placement['options']['tag'], $_tag_key ); } ?>><?php echo $_tag; ?></option>
@@ -132,6 +134,7 @@
132
  </tbody>
133
  </table>
134
  <input type="submit" class="button button-primary" value="<?php _e( 'Save Placements', ADVADS_SLUG ); ?>"/>
 
135
  </form>
136
  <?php endif; ?>
137
  </div>
3
  * the view for the placements page
4
  */
5
  ?><div class="wrap">
6
+ <?php if ( isset($_GET['message'] ) ) :
7
+ if ( $_GET['message'] === 'error' ) :
8
+ ?><div id="message" class="error"><p><?php _e( 'Couldn’t create empty or existing slug.', ADVADS_SLUG ); ?></p></div><?php
9
+ elseif ( $_GET['message'] === 'updated' ) :
10
+ ?><div id="message" class="updated"><p><?php _e( 'Placements updated', ADVADS_SLUG ); ?></p></div><?php
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>
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;">
52
+ <p><?php printf( __( 'Examples on how to use the <i>default</i> ad placement? Find more help and examples in the <a href="%s" target="_blank">manual</a>', ADVADS_SLUG ), ADVADS_URL . 'advanced-ads/manual/placements/' ); ?></p>
53
  <h4><?php _e( 'shortcode', ADVADS_SLUG ); ?></h4>
54
  <p class="description"><?php _e( 'To use an ad placement with the ID skyscraper_left in content fields', ADVADS_SLUG ); ?></p>
55
  <pre><input type="text" onclick="this.select();" style="width: 400px;" value='[the_ad_placement id="skyscraper_left"]'/></pre>
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(); ?>
82
  <label for="adsads-placements-item-<?php echo $_placement_slug; ?>"><?php _e( 'Item', ADVADS_SLUG ); ?></label>
83
  <select id="adsads-placements-item-<?php echo $_placement_slug; ?>" name="advads[placements][<?php echo $_placement_slug; ?>][item]">
84
  <option value=""><?php _e( '--empty--', ADVADS_SLUG ); ?></option>
113
  echo (isset($_placement['options']['index'])) ? $_placement['options']['index'] : 1;
114
  ?>"/>.
115
 
116
+ <?php $tags = Advanced_Ads_Placements::tags_for_content_injection(); ?>
117
  <select name="advads[placements][<?php echo $_placement_slug; ?>][options][tag]">
118
  <?php foreach ( $tags as $_tag_key => $_tag ) : ?>
119
  <option value="<?php echo $_tag_key; ?>" <?php if ( isset($_placement['options']['tag']) ) { selected( $_placement['options']['tag'], $_tag_key ); } ?>><?php echo $_tag; ?></option>
134
  </tbody>
135
  </table>
136
  <input type="submit" class="button button-primary" value="<?php _e( 'Save Placements', ADVADS_SLUG ); ?>"/>
137
+ <?php wp_nonce_field( 'advads-placement', 'advads_placement', true ) ?>
138
  </form>
139
  <?php endif; ?>
140
  </div>
admin/views/{post_ad_settings_metabox.php → post-ad-settings-metabox.php} RENAMED
File without changes
admin/views/{settings_disable_ads.php → settings-disable-ads.php} RENAMED
File without changes
admin/views/settings.php CHANGED
@@ -5,42 +5,44 @@
5
 
6
  // array with setting tabs for frontend
7
  $setting_tabs = apply_filters('advanced-ads-setting-tabs', array(
8
- 'general' => array(
9
- 'page' => $this->plugin_screen_hook_suffix,
10
- 'group' => ADVADS_SLUG,
11
- 'tabid' => 'general',
12
- 'title' => __( 'General', ADVADS_SLUG )
13
- ),
14
- 'licenses' => array(
15
- 'page' => 'advanced-ads-settings-license-page',
16
- 'group' => ADVADS_SLUG . '-licenses',
17
- 'tabid' => 'licenses',
18
- 'title' => __( 'Licenses', ADVADS_SLUG )
19
- )
20
  ));
21
  ?><div class="wrap">
22
  <?php screen_icon(); ?>
23
  <h2><?php echo esc_html( get_admin_page_title() ); ?></h2>
24
  <?php settings_errors(); ?>
25
  <h2 class="nav-tab-wrapper" id="advads-tabs">
26
- <?php foreach($setting_tabs as $_setting_tab_id => $_setting_tab) : ?>
27
  <a class="nav-tab" id="<?php echo $_setting_tab_id; ?>-tab"
28
  href="#top#<?php echo $_setting_tab_id; ?>"><?php echo $_setting_tab['title']; ?></a>
29
  <?php endforeach; ?>
30
  </h2>
31
- <?php foreach($setting_tabs as $_setting_tab_id => $_setting_tab) : ?>
32
  <form method="POST" action="options.php">
33
  <div id="<?php echo $_setting_tab_id; ?>" class="advads-tab"><?php
34
- settings_fields( $_setting_tab['group'] );
35
- do_settings_sections( $_setting_tab['page'] );
 
 
36
 
37
- do_action( 'advanced-ads-settings-form', $_setting_tab_id, $_setting_tab );
38
- submit_button(__('Save settings on this page', ADVADS_SLUG));
39
- ?></div></form>
40
  <?php endforeach; ?>
41
  <?php
42
- do_action( 'advanced-ads-additional-settings-form' );
43
- ?>
44
  <ul>
45
  <li><a href="/wp-admin/admin.php?page=advanced-ads-debug"><?php _e( 'Debug Page', ADVADS_SLUG ); ?></a></li>
46
  <li><a href="http://wordpress.org/plugins/advanced-ads/" title="<?php _e( 'Advanced Ads on WordPress.org', ADVADS_SLUG ); ?>"><?php _e( 'Advanced Ads on wp.org', ADVADS_SLUG ); ?></a></li>
5
 
6
  // array with setting tabs for frontend
7
  $setting_tabs = apply_filters('advanced-ads-setting-tabs', array(
8
+ 'general' => array(
9
+ 'page' => $this->plugin_screen_hook_suffix,
10
+ 'group' => ADVADS_SLUG,
11
+ 'tabid' => 'general',
12
+ 'title' => __( 'General', ADVADS_SLUG )
13
+ ),
14
+ 'licenses' => array(
15
+ 'page' => 'advanced-ads-settings-license-page',
16
+ 'group' => ADVADS_SLUG . '-licenses',
17
+ 'tabid' => 'licenses',
18
+ 'title' => __( 'Licenses', ADVADS_SLUG )
19
+ )
20
  ));
21
  ?><div class="wrap">
22
  <?php screen_icon(); ?>
23
  <h2><?php echo esc_html( get_admin_page_title() ); ?></h2>
24
  <?php settings_errors(); ?>
25
  <h2 class="nav-tab-wrapper" id="advads-tabs">
26
+ <?php foreach ( $setting_tabs as $_setting_tab_id => $_setting_tab ) : ?>
27
  <a class="nav-tab" id="<?php echo $_setting_tab_id; ?>-tab"
28
  href="#top#<?php echo $_setting_tab_id; ?>"><?php echo $_setting_tab['title']; ?></a>
29
  <?php endforeach; ?>
30
  </h2>
31
+ <?php foreach ( $setting_tabs as $_setting_tab_id => $_setting_tab ) : ?>
32
  <form method="POST" action="options.php">
33
  <div id="<?php echo $_setting_tab_id; ?>" class="advads-tab"><?php
34
+ if ( isset( $_setting_tab['group'] ) ) {
35
+ settings_fields( $_setting_tab['group'] );
36
+ }
37
+ do_settings_sections( $_setting_tab['page'] );
38
 
39
+ do_action( 'advanced-ads-settings-form', $_setting_tab_id, $_setting_tab );
40
+ submit_button( __( 'Save settings on this page', ADVADS_SLUG ) );
41
+ ?></div></form>
42
  <?php endforeach; ?>
43
  <?php
44
+ do_action( 'advanced-ads-additional-settings-form' );
45
+ ?>
46
  <ul>
47
  <li><a href="/wp-admin/admin.php?page=advanced-ads-debug"><?php _e( 'Debug Page', ADVADS_SLUG ); ?></a></li>
48
  <li><a href="http://wordpress.org/plugins/advanced-ads/" title="<?php _e( 'Advanced Ads on WordPress.org', ADVADS_SLUG ); ?>"><?php _e( 'Advanced Ads on wp.org', ADVADS_SLUG ); ?></a></li>
advanced-ads.php CHANGED
@@ -10,9 +10,9 @@
10
  *
11
  * @wordpress-plugin
12
  * Plugin Name: Advanced Ads
13
- * Plugin URI: http://wpadvancedads.com
14
  * Description: Manage and optimize your ads in WordPress
15
- * Version: 1.5.1
16
  * Author: Thomas Maier
17
  * Author URI: http://webgilde.com
18
  * Text Domain: advanced-ads
@@ -37,6 +37,7 @@ define( 'ADVADS_BASE_URL', plugin_dir_url( __FILE__ ) );
37
  define( 'ADVADS_BASE_DIR', dirname( plugin_basename( __FILE__ ) ) ); // directory of the plugin without any paths
38
  // general and global slug, e.g. to store options in WP, textdomain
39
  define( 'ADVADS_SLUG', 'advanced-ads' );
 
40
 
41
  /*----------------------------------------------------------------------------*
42
  * Autoloading, modules and functions
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
16
  * Author: Thomas Maier
17
  * Author URI: http://webgilde.com
18
  * Text Domain: advanced-ads
37
  define( 'ADVADS_BASE_DIR', dirname( plugin_basename( __FILE__ ) ) ); // directory of the plugin without any paths
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
classes/ad-select.php CHANGED
@@ -126,6 +126,6 @@ class Advanced_Ads_Select {
126
  }
127
 
128
  // get placement content
129
- return Advads_Ad_Placements::output( $args['id'] );
130
  }
131
  }
126
  }
127
 
128
  // get placement content
129
+ return Advanced_Ads_Placements::output( $args['id'] );
130
  }
131
  }
classes/ad.php CHANGED
@@ -530,6 +530,7 @@ class Advads_Ad {
530
  if ( $ad_expiry_date == 0 ) { return true; }
531
 
532
  // create blog specific timestamp
 
533
  $blog_expiry_date = time() + ( get_option( 'gmt_offset' ) * HOUR_IN_SECONDS );
534
 
535
  // check blog time against current time
@@ -568,9 +569,6 @@ class Advads_Ad {
568
  // filter to manipulate options or add more to be saved
569
  $options = apply_filters( 'advanced-ads-save-options', $options, $this );
570
 
571
- // update global settings
572
- $this->update_general_ad_conditions( $conditions );
573
-
574
  update_post_meta( $this->id, self::$options_meta_field, $options );
575
 
576
  }
@@ -733,128 +731,6 @@ class Advads_Ad {
733
  return $cond;
734
  }
735
 
736
- /**
737
- * update general ad conditions with conditions for the current ad
738
- *
739
- * @param array $conditions ad display conditions from ad form
740
- * @since 1.0.0
741
- * @todo make those condition checks extendible
742
- */
743
- public function update_general_ad_conditions($conditions){
744
- global $advanced_ads_ad_conditions;
745
-
746
- $plugin = Advanced_Ads::get_instance();
747
- $ads_by_conditions = $plugin->get_ads_by_conditions_array();
748
-
749
- // remove current ad from general ad condition array
750
- $ads_by_conditions = $this->remove_ad_from_general_ad_conditions( $this->id, $ads_by_conditions );
751
-
752
- // only run conditions if ad is publically visible
753
- if ( $this->status == 'publish' ) {
754
- // iterate through the ads display condition
755
- foreach ( $conditions as $_condition_key => $_condition ){
756
- if ( ! isset($advanced_ads_ad_conditions[$_condition_key]['type']) ) {
757
- $plugin->log( sprintf( __( 'A "%s" display condition does not exist', ADVADS_SLUG ), $_condition_key ) );
758
- return;
759
- }
760
- // add conditions based on type
761
- switch ( $advanced_ads_ad_conditions[$_condition_key]['type'] ){
762
- case 'idfield' :
763
- if ( isset($_condition['include']) && $_condition['include'] != '' ){
764
- if ( is_array( $_condition['include'] ) ){
765
- $_ids = $_condition['include'];
766
- } else {
767
- $_ids = explode( ',', $_condition['include'] );
768
- }
769
- if ( is_array( $_ids ) ) { foreach ( $_ids as $_id ){
770
- $ads_by_conditions[$_condition_key][$_id]['include'][] = $this->id;
771
- }
772
- }
773
- }
774
- if ( isset($_condition['exclude']) && $_condition['exclude'] != '' ){
775
- if ( is_array( $_condition['exclude'] ) ){
776
- $_ids = $_condition['exclude'];
777
- } else {
778
- $_ids = explode( ',', $_condition['exclude'] );
779
- }
780
- if ( is_array( $_ids ) ) { foreach ( $_ids as $_id ){
781
- $ads_by_conditions[$_condition_key][$_id]['exclude'][] = $this->id;
782
- }
783
- }
784
- }
785
- break;
786
- case 'textvalues' :
787
- if ( isset($_condition['include']) && $_condition['include'] != '' ){
788
- if ( is_array( $_condition['include'] ) ){
789
- $_ids = $_condition['include'];
790
- } else {
791
- $_ids = explode( ',', $_condition['include'] );
792
- }
793
- if ( is_array( $_ids ) ) { foreach ( $_ids as $_id ){
794
- $ads_by_conditions[$_condition_key][$_id]['include'][] = $this->id;
795
- }
796
- }
797
- }
798
- if ( isset($_condition['exclude']) && $_condition['exclude'] != '' ){
799
- if ( is_array( $_condition['exclude'] ) ){
800
- $_ids = $_condition['exclude'];
801
- } else {
802
- $_ids = explode( ',', $_condition['exclude'] );
803
- }
804
- if ( is_array( $_ids ) ) { foreach ( $_ids as $_id ){
805
- $ads_by_conditions[$_condition_key][$_id]['exclude'][] = $this->id;
806
- }
807
- }
808
- }
809
- break;
810
- case 'radio' :
811
- if ( $_condition == 1 ) {
812
- $ads_by_conditions[$_condition_key]['include'][] = $this->id; }
813
- elseif ($_condition == 0)
814
- $ads_by_conditions[$_condition_key]['exclude'][] = $this->id;
815
- break;
816
- case 'other' :
817
- $ads_by_conditions[$_condition_key][$this->id] = $_condition;
818
- } // switch
819
- } // forearch
820
- }
821
- update_option( 'advads-ads-by-conditions', $ads_by_conditions );
822
- }
823
-
824
- /**
825
- * remove ad id from ad conditions array
826
- *
827
- * @param int $ad_id id of the ad (=post id)
828
- * @param arr $conditions array with the general, global ad conditions
829
- * @since 1.0.0
830
- */
831
- static function remove_ad_from_general_ad_conditions($ad_id = 0, $conditions = array()){
832
- $ad_id = absint( $ad_id );
833
- if ( empty($ad_id) || ! is_array( $conditions ) || $conditions == array() ) { return; }
834
-
835
- foreach ( $conditions as $_key => $_cond ){
836
- // remove single elements
837
- if ( ! is_array( $_cond ) && $_cond == $ad_id ){
838
- unset($conditions[$_key]);
839
- } elseif ( empty($_cond) ){
840
- unset($conditions[$_key]);
841
- }
842
- // check recursively
843
- elseif ( is_array( $_cond ) ){
844
- $new_cond = self::remove_ad_from_general_ad_conditions( $ad_id, $_cond );
845
-
846
- if ( $new_cond == array() || $new_cond == '' ){
847
- // remove empty arrays
848
- unset($conditions[$_key]);
849
- } else {
850
- $conditions[$_key] = $new_cond;
851
- }
852
- }
853
- }
854
-
855
- return $conditions;
856
- }
857
-
858
  /**
859
  * load wrapper options set with the ad
860
  *
530
  if ( $ad_expiry_date == 0 ) { return true; }
531
 
532
  // create blog specific timestamp
533
+ // TODO this is broken: use get_date_from_gmt()
534
  $blog_expiry_date = time() + ( get_option( 'gmt_offset' ) * HOUR_IN_SECONDS );
535
 
536
  // check blog time against current time
569
  // filter to manipulate options or add more to be saved
570
  $options = apply_filters( 'advanced-ads-save-options', $options, $this );
571
 
 
 
 
572
  update_post_meta( $this->id, self::$options_meta_field, $options );
573
 
574
  }
731
  return $cond;
732
  }
733
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
734
  /**
735
  * load wrapper options set with the ad
736
  *
classes/ad_placements.php CHANGED
@@ -14,10 +14,10 @@
14
  * grouping placements functions
15
  *
16
  * @since 1.1.0
17
- * @package Advads_Placements
18
  * @author Thomas Maier <thomas.maier@webgilde.com>
19
  */
20
- class Advads_Ad_Placements {
21
 
22
  /**
23
  * get placement types
@@ -55,6 +55,33 @@ class Advads_Ad_Placements {
55
  return apply_filters( 'advanced-ads-placement-types', $types );
56
  }
57
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
58
  /**
59
  * save a new placement
60
  *
@@ -71,12 +98,15 @@ class Advads_Ad_Placements {
71
 
72
  // check if slug already exists
73
  if ( $new_placement['slug'] == '' ) {
74
- return __( 'Slug can\'t be empty.', ADVADS_SLUG ); }
 
 
75
  if ( isset($placements[$new_placement['slug']]) ) {
76
- return __( 'Slug already exists.', ADVADS_SLUG ); }
 
77
 
78
  // make sure only allowed types are being saved
79
- $placement_types = Advads_Ad_Placements::get_placement_types();
80
  $new_placement['type'] = (isset($placement_types[$new_placement['type']])) ? $new_placement['type'] : 'default';
81
  // escape name
82
  $new_placement['name'] = esc_attr( $new_placement['name'] );
@@ -273,7 +303,7 @@ class Advads_Ad_Placements {
273
  }
274
 
275
  if ( isset($insertAt) ) {
276
- $ad_content = Advads_Ad_Placements::output( $placement_id );
277
  if ( $insertAt === false ) {
278
  $content .= $ad_content; // fallback: end-of-content
279
  } else {
14
  * grouping placements functions
15
  *
16
  * @since 1.1.0
17
+ * @package Advanced_Ads_Placements
18
  * @author Thomas Maier <thomas.maier@webgilde.com>
19
  */
20
+ class Advanced_Ads_Placements {
21
 
22
  /**
23
  * get placement types
55
  return apply_filters( 'advanced-ads-placement-types', $types );
56
  }
57
 
58
+ /**
59
+ * update placements if sent
60
+ *
61
+ * @since 1.5.2
62
+ */
63
+ static function update_placements(){
64
+
65
+ // check user permissions
66
+ if(!current_user_can('manage_options')){
67
+ return;
68
+ }
69
+ remove_query_arg('message');
70
+
71
+ if ( isset($_POST['advads']['placement']) && check_admin_referer( 'advads-placement', 'advads_placement' ) ){
72
+ $success = self::save_new_placement( $_POST['advads']['placement'] );
73
+ }
74
+ // save placement data
75
+ if ( isset($_POST['advads']['placements']) && check_admin_referer( 'advads-placement', 'advads_placement' )){
76
+ $success = self::save_placements( $_POST['advads']['placements'] );
77
+ }
78
+
79
+ if(isset($success)){
80
+ $message = $success ? 'updated' : 'error';
81
+ wp_redirect( add_query_arg(array('message' => $message)) );
82
+ }
83
+ }
84
+
85
  /**
86
  * save a new placement
87
  *
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
 
108
  // make sure only allowed types are being saved
109
+ $placement_types = Advanced_Ads_Placements::get_placement_types();
110
  $new_placement['type'] = (isset($placement_types[$new_placement['type']])) ? $new_placement['type'] : 'default';
111
  // escape name
112
  $new_placement['name'] = esc_attr( $new_placement['name'] );
303
  }
304
 
305
  if ( isset($insertAt) ) {
306
+ $ad_content = Advanced_Ads_Placements::output( $placement_id );
307
  if ( $insertAt === false ) {
308
  $content .= $ad_content; // fallback: end-of-content
309
  } else {
classes/plugin.php CHANGED
@@ -117,7 +117,7 @@ class Advanced_Ads_Plugin {
117
  // wp_enqueue_script( $this->get_plugin_slug() . '-plugin-script', plugins_url('assets/js/public.js', __FILE__), array('jquery'), Advanced_Ads::VERSION);
118
  $options = $this->options();
119
  if ( ! empty($options['advanced-js']) ){
120
- wp_enqueue_script( $this->get_plugin_slug() . '-advanced-js', ADVADS_BASE_URL . 'assets/js/advanced.js', array( 'jquery' ), Advanced_Ads::VERSION );
121
  }
122
  }
123
 
117
  // wp_enqueue_script( $this->get_plugin_slug() . '-plugin-script', plugins_url('assets/js/public.js', __FILE__), array('jquery'), Advanced_Ads::VERSION);
118
  $options = $this->options();
119
  if ( ! empty($options['advanced-js']) ){
120
+ wp_enqueue_script( $this->get_plugin_slug() . '-advanced-js', ADVADS_BASE_URL . 'public/assets/js/advanced.js', array( 'jquery' ), Advanced_Ads::VERSION );
121
  }
122
  }
123
 
composer.lock CHANGED
@@ -4,7 +4,7 @@
4
  "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
5
  "This file is @generated automatically"
6
  ],
7
- "hash": "3b9b697387fc7c29267bd78c973707f0",
8
  "packages": [
9
  {
10
  "name": "composer/installers",
4
  "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
5
  "This file is @generated automatically"
6
  ],
7
+ "hash": "a5682b6980988f749640ce92382a6247",
8
  "packages": [
9
  {
10
  "name": "composer/installers",
includes/load_modules.php CHANGED
@@ -26,18 +26,14 @@ final class Advanced_Ads_ModuleLoader {
26
  $loader = self::getLoader();
27
 
28
  $disabledModules = isset($options['disabled']) ? (array) $options['disabled'] : array();
 
29
 
30
  // iterate modules
31
  foreach ( glob( $path . '*/main.php' ) as $module ) {
32
  $modulePath = dirname( $module );
33
  $moduleName = basename( $modulePath );
34
 
35
- // skip if disabled
36
- if ( isset( $disabledModules[$moduleName] ) ) {
37
- continue ;
38
- }
39
-
40
- self::$modules[$moduleName] = $modulePath;
41
  if ( file_exists( $modulePath . '/config.php' ) ) {
42
  $config = require $modulePath . '/config.php';
43
  // append autoload classmap
@@ -49,6 +45,18 @@ final class Advanced_Ads_ModuleLoader {
49
  self::$textdomains[$config['textdomain']] = "modules/$moduleName/languages";
50
  }
51
  }
 
 
 
 
 
 
 
 
 
 
 
 
52
  }
53
 
54
  // register textdomains if non-empty
26
  $loader = self::getLoader();
27
 
28
  $disabledModules = isset($options['disabled']) ? (array) $options['disabled'] : array();
29
+ $isAdmin = is_admin();
30
 
31
  // iterate modules
32
  foreach ( glob( $path . '*/main.php' ) as $module ) {
33
  $modulePath = dirname( $module );
34
  $moduleName = basename( $modulePath );
35
 
36
+ // configuration is enabled by default (localisation, autoloading and other undemanding stuff)
 
 
 
 
 
37
  if ( file_exists( $modulePath . '/config.php' ) ) {
38
  $config = require $modulePath . '/config.php';
39
  // append autoload classmap
45
  self::$textdomains[$config['textdomain']] = "modules/$moduleName/languages";
46
  }
47
  }
48
+
49
+ // admin is enabled by default
50
+ if ( $isAdmin && file_exists( $modulePath . '/admin.php' ) ) {
51
+ include $modulePath . '/admin.php'; // do not care if this fails
52
+ }
53
+
54
+ // skip if disabled
55
+ if ( isset( $disabledModules[$moduleName] ) ) {
56
+ continue ;
57
+ }
58
+
59
+ self::$modules[$moduleName] = $modulePath;
60
  }
61
 
62
  // register textdomains if non-empty
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 02 2015 15:42:16 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,43 +26,62 @@ msgstr ""
26
  "X-Textdomain-Support: yes\n"
27
  "X-Loco-Target-Locale: de_DE"
28
 
29
- #: admin/class-advanced-ads-admin.php:194
30
- #, php-format
31
- msgid ""
32
- "Advanced Ads Update: Auto injections are now managed through placements. "
33
- "Please convert these ads with auto injections: %s"
34
- msgstr ""
35
-
36
- #: admin/class-advanced-ads-admin.php:208
37
  msgid "Overview"
38
  msgstr "Übersicht"
39
 
40
  #. translators: plugin header field 'Name'
41
- #: admin/class-advanced-ads-admin.php:208 classes/widget.php:21
42
  msgid "Advanced Ads"
43
  msgstr "Advanced Ads"
44
 
45
- #: admin/class-advanced-ads-admin.php:212
46
- #: admin/includes/class-ad-groups-list-table.php:191
47
- #: admin/views/overview.php:12 admin/views/placements.php:91
48
- #: classes/widget.php:66 public/class-advanced-ads.php:566
49
  msgid "Ads"
50
  msgstr "Anzeigen"
51
 
 
52
  #: classes/widget.php:59
53
  msgid "Ad Groups"
54
  msgstr "Anzeigen-Gruppen"
55
 
56
- #: public/class-advanced-ads.php:540
57
  msgid "Groups"
58
  msgstr "Gruppen"
59
 
60
- #: admin/class-advanced-ads-admin.php:216 admin/views/placements.php:84
61
- #: admin/views/placements.php:47
 
 
 
62
  msgid "Placements"
63
  msgstr "Platzierungen"
64
 
65
- #: admin/class-advanced-ads-admin.php:216 admin/views/overview.php:40
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
66
  msgid ""
67
  "You attempted to edit an ad group that doesn&#8217;t exist. Perhaps it was "
68
  "deleted?"
@@ -70,10 +89,165 @@ msgstr ""
70
  "Sie haben versucht, ein Element, das nicht existiert, zu bearbeiten. "
71
  "Vielleicht wurde es gelöscht?"
72
 
73
- #: admin/class-advanced-ads-admin.php:221 admin/views/debug.php:19
74
- msgid "Ad Placements"
75
- msgstr "Anzeigen-Platzierungen"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
76
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
77
  #, php-format
78
  msgid ""
79
  "Only enable this if you can and want to use the advanced JavaScript "
@@ -82,73 +256,142 @@ msgstr ""
82
  "Aktivieren Sie dies nur, wenn Sie die erweiterten und <a href=\"%s\">hier</a> "
83
  "beschriebenen Advanced-JavaScript-Funktionen verwenden können und wollen."
84
 
85
- #: admin/class-advanced-ads-admin.php:225
86
- msgid "Advanced Ads Settings"
87
- msgstr "Advanced-Ads-Einstellungen"
 
 
 
 
88
 
89
- #: admin/class-advanced-ads-admin.php:225
90
- #: admin/class-advanced-ads-admin.php:403 admin/views/debug.php:13
91
- msgid "Settings"
92
- msgstr "Einstellungen"
 
 
 
 
 
 
93
 
94
- #: admin/class-advanced-ads-admin.php:228
95
- msgid "Advanced Ads Debugging"
96
- msgstr "Advanced-Ads-Fehleranalyse (Debugging)"
 
 
 
 
 
97
 
98
- #: admin/class-advanced-ads-admin.php:228
99
- msgid "Debug"
100
- msgstr "Debug"
101
 
102
- #: admin/class-advanced-ads-admin.php:272
103
- msgid "Placements updated"
104
- msgstr "Platzierungen aktualisiert"
105
 
106
- #: admin/class-advanced-ads-admin.php:316
107
- #: admin/class-advanced-ads-admin.php:343
108
- msgid "Sorry, you are not allowed to access this feature."
109
- msgstr "Sie haben leider keinen Zugriff auf diese Funktion"
110
 
111
- #: admin/class-advanced-ads-admin.php:329
112
  msgid "From the ad optimization universe"
113
  msgstr "Neues aus dem Anzeigen-Universum"
114
 
115
- #: admin/includes/class-ad-groups-list-table.php:94
 
 
 
 
116
  #, php-format
117
- msgid "Edit &#8220;%s&#8221;"
118
- msgstr "#8220;%s&#8221; bearbeiten"
119
 
120
- #: admin/includes/class-ad-groups-list-table.php:108
121
- msgid "Delete"
122
- msgstr "Entfernen"
 
 
 
 
123
 
124
- #: admin/includes/class-ad-groups-list-table.php:162
 
 
 
 
125
  msgid "Ad weight"
126
  msgstr "Anzeigengewichtung"
127
 
128
- #: admin/includes/class-ad-groups-list-table.php:189
129
- msgid "Ad Group"
130
- msgstr "Anzeigengruppe"
 
131
 
132
- #: admin/includes/class-ad-groups-list-table.php:190
133
- msgid "Slug"
134
- msgstr "Slug"
 
 
 
 
 
135
 
136
- #: admin/includes/class-display-condition-callbacks.php:28
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
137
  msgid "Display on all public <strong>post types</strong>."
138
  msgstr "In allen öffentlichen <strong>Beitragstypen</strong> anzeigen."
139
 
140
- #: admin/includes/class-display-condition-callbacks.php:31
141
- #: includes/array_ad_conditions.php:34
142
  msgid "Choose the public post types on which to display the ad."
143
  msgstr ""
144
  "Wählen Sie aus den öffentlichen Beitragstypen jene aus, bei denen die "
145
  "Anzeige erscheinen soll."
146
 
147
- #: admin/includes/class-display-condition-callbacks.php:86
148
  msgid "Display for all <strong>categories, tags and taxonomies</strong>."
149
  msgstr "In allen <strong>Kategorien, Tags und Taxonomien</strong> anzeigen."
150
 
151
- #: admin/includes/class-display-condition-callbacks.php:88
 
 
 
 
152
  msgid ""
153
  "Choose terms from public categories, tags and other taxonomies a post must "
154
  "belong to in order to have ads."
@@ -156,7 +399,12 @@ msgstr ""
156
  "Wählen Sie aus öffentlichen Kategorien, Tags und anderen Taxonomien jene aus,"
157
  " zu denen ein Beitrag gehören muss, damit auf ihm Anzeigen erscheinen."
158
 
159
- #: admin/includes/class-display-condition-callbacks.php:121
 
 
 
 
 
160
  msgid ""
161
  "Choose the terms from public categories, tags and other taxonomies a post "
162
  "must belong to hide the ad from it."
@@ -164,11 +412,24 @@ msgstr ""
164
  "Wählen Sie aus öffentlichen Kategorien, Tags und anderen Taxonomien jene aus,"
165
  " zu denen ein Beitrag gehören muss, damit auf ihm KEINE Anzeigen erscheinen."
166
 
167
- #: admin/includes/class-display-condition-callbacks.php:172
 
 
 
 
 
 
 
 
 
 
 
 
 
168
  msgid "Display on all <strong>category archive pages</strong>."
169
  msgstr "In allen <strong>Kategorie-Archiven</strong> anzeigen."
170
 
171
- #: admin/includes/class-display-condition-callbacks.php:175
172
  msgid ""
173
  "Choose the terms from public categories, tags and other taxonomies on "
174
  "which's archive page ads can appear"
@@ -176,7 +437,7 @@ msgstr ""
176
  "Wählen Sie aus öffentlichen Kategorien, Tags und anderen Taxonomien jene aus,"
177
  " auf deren Übersichtsseiten Anzeigen erscheinen können."
178
 
179
- #: admin/includes/class-display-condition-callbacks.php:208
180
  msgid ""
181
  "Choose the terms from public categories, tags and other taxonomies on "
182
  "which's archive pages ads are hidden."
@@ -184,7 +445,7 @@ msgstr ""
184
  "Wählen Sie aus öffentlichen Kategorien, Tags und anderen Taxonomien jene aus,"
185
  " auf deren Übersichtsseiten KEINE Anzeigen erscheinen sollen."
186
 
187
- #: admin/includes/class-display-condition-callbacks.php:246
188
  msgid ""
189
  "Display an all <strong>individual posts, pages</strong> and public post type "
190
  "pages"
@@ -192,8 +453,8 @@ msgstr ""
192
  "In allen individuellen <strong>Beiträgen, Seiten und Beitragsarten</strong> "
193
  "anzeigen"
194
 
195
- #: admin/includes/class-display-condition-callbacks.php:249
196
- #: includes/array_ad_conditions.php:52
197
  msgid ""
198
  "Choose on which individual posts, pages and public post type pages you want "
199
  "to display or hide ads."
@@ -201,11 +462,27 @@ msgstr ""
201
  "Wählen Sie die Beiträge, Seiten und anderen öffentlichen Inhalte aus auf "
202
  "denen Anzeigen angezeigt oder ausgeblendet werden sollen."
203
 
204
- #: admin/includes/class-display-condition-callbacks.php:266
205
  msgid "What should happen with ads on the list of individual posts below?"
206
  msgstr "Was soll mit Anzeigen auf den genannten Seiten passieren?"
207
 
208
- #: admin/includes/class-display-condition-callbacks.php:278
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
209
  msgid ""
210
  "Due to some conflicts before version 1.2.6, it is from now on only possible "
211
  "to choose either individual pages to include or exclude an ad, but not both "
@@ -218,15 +495,19 @@ msgstr ""
218
  "mit gemischten Einstellungen auf dieser Seite arbeiten. Bitte ändern Sie die "
219
  "Einstellung für diese Anzeige."
220
 
221
- #: admin/includes/class-display-condition-callbacks.php:280
 
 
 
 
222
  msgid "Post IDs the ad is displayed on:"
223
  msgstr "Beitrag-IDs auf denen die Anzeige angezeigt wird:"
224
 
225
- #: admin/includes/class-display-condition-callbacks.php:281
226
  msgid "Post IDs the ad is hidden from:"
227
  msgstr "Beitrag-IDs auf denen die Anzeige nicht angezeigt wird:"
228
 
229
- #: admin/includes/class-display-condition-callbacks.php:282
230
  msgid ""
231
  "Below you find the pages the ad is displayed on. If this is ok, just save "
232
  "the ad. If not, please update your settings."
@@ -235,63 +516,310 @@ msgstr ""
235
  "dann sichern Sie die Anzeige. Wenn nicht, dann aktualisieren Sie bitte Ihre "
236
  "Einstellungen."
237
 
238
- #: admin/includes/class-display-condition-callbacks.php:324
 
 
 
 
239
  msgid "type the title"
240
  msgstr "Geben Sie den Titel ein"
241
 
242
- #: admin/includes/class-list-table.php:310
 
 
 
 
243
  msgid "Bulk Actions"
244
  msgstr "Stapelverarbeitung"
245
 
246
- #: admin/includes/class-list-table.php:320
247
  msgid "Apply"
248
  msgstr "Anwenden"
249
 
 
 
 
 
250
  #. translators: 1: month name, 2: 4-digit year
251
- #: admin/includes/class-list-table.php:417
252
  #, php-format
253
  msgid "%1$s %2$d"
254
  msgstr "%1$s %2$d"
255
 
256
- #: admin/includes/class-list-table.php:528
257
- #: admin/includes/class-list-table.php:943
 
 
 
 
 
 
 
 
 
 
 
 
 
258
  #, php-format
259
  msgid "1 item"
260
  msgid_plural "%s items"
261
  msgstr[0] "1 Artikel"
262
  msgstr[1] "%s Artikel"
263
 
264
- #: admin/includes/class-list-table.php:546
265
  msgid "Go to the first page"
266
  msgstr "Zur ersten Seite gehen"
267
 
268
- #: admin/includes/class-list-table.php:553
269
  msgid "Go to the previous page"
270
  msgstr "Zur vorherigen Seite"
271
 
272
- #: admin/includes/class-list-table.php:562
273
  msgid "Current page"
274
  msgstr "Aktuelle Seite"
275
 
276
- #: admin/includes/class-list-table.php:572
 
 
 
 
 
 
277
  msgid "Go to the next page"
278
  msgstr "Zur nächsten Seite gehen"
279
 
280
- #: admin/views/ad-display-metabox.php:6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
281
  msgid "Choose where to display the ad and where to hide it."
282
  msgstr "Wählen Sie, wo die Anzeige sichtbar und wo sie versteckt ist."
283
 
284
- #: admin/views/ad-display-metabox.php:14
 
 
 
 
 
 
 
 
285
  msgid "If you want to display the ad everywhere, don't do anything here. "
286
  msgstr ""
287
  "Wenn Sie möchten, dass die Anzeige überall gezeigt wird, ist hier nichts zu "
288
  "tun."
289
 
290
- #: admin/views/ad-display-metabox.php:15
291
  msgid "The fewer conditions you enter, the better the performance will be."
292
  msgstr "Je weniger Bedingungen Sie eingeben, um so besser ist die Performance."
293
 
294
- #: admin/views/ad-display-metabox.php:16
295
  #, php-format
296
  msgid ""
297
  "Learn more about display conditions from the <a href=\"%s\" "
@@ -300,85 +828,142 @@ msgstr ""
300
  "Lernen Sie mehr über Anzeige-Bedingungen in der <a href=\"%s\" "
301
  "target=\"_blank\">Anleitung</a> (engl.)."
302
 
303
- #: admin/views/ad-display-metabox.php:33
304
- msgid ""
305
- "When using one of the two choices on checkbox conditions, the rule is "
306
- "binding. E.g. \"Front Page: show\" will result on the ad being only visible on "
307
- "the front page."
308
- msgstr ""
309
- "Bei Verwendung einer der beiden Checkbox-Bedingungen wird die Regel bindend. "
310
- "Wenn Sie z.B. die Funktion \"Home Page: Zeigen\" aktivieren, wird die Anzeige "
311
- "nur auf der ersten Seite zu sehen sein."
312
 
313
- #: admin/views/ad-display-metabox.php:67
314
- msgid "Values saved for this ad in the database (post metas)"
315
- msgstr "Die Werte für diese Anzeige wurden in der Datenbank gespeichert (post metas)"
 
316
 
317
- #: admin/views/ad-group-ads-inline-form.php:10
318
- msgctxt "ad group ads form"
319
- msgid "weight"
320
- msgstr "Gewicht"
321
 
322
- #: admin/views/ad-group-ads-inline-form.php:24
323
- msgid "Cancel"
324
- msgstr "Abbruch"
325
 
326
- #: admin/views/ad-group-ads-inline-form.php:33
327
- msgid "There are no ads in this group"
328
- msgstr "Keine Anzeigen in dieser Gruppe"
329
 
330
- #: admin/views/ad-group-edit.php:14
331
  msgid "You did not select an item for editing."
332
  msgstr "Sie haben nichts zur Bearbeitung gewählt."
333
 
334
- #: admin/views/ad-group-edit.php:38
 
 
 
 
 
335
  msgctxt "Taxonomy Slug"
336
  msgid "Slug"
337
  msgstr "Slug"
338
 
339
- #: admin/views/ad-group-edit.php:40
340
  msgid "An id-like string with only letters in lower case, numbers, and hyphens."
341
  msgstr "Ein ID-ähnlicher String mit nur Kleinbuchstaben, Zahlen und Bindestrichen."
342
 
343
- #: admin/views/ad-group-edit.php:48 admin/views/ad-group-edit.php:50
344
- msgid "None"
345
- msgstr "Kein"
346
-
347
- #: admin/views/ad-group-edit.php:56
348
  msgctxt "Taxonomy Description"
349
  msgid "Description"
350
  msgstr "Beschreibung"
351
 
352
- #: admin/views/ad-group-edit.php:68
353
  msgid "Create new Ad Group"
354
  msgstr "Neue Anzeigengruppe erstellen"
355
 
356
- #: admin/views/ad-group.php:33
357
- msgid "Ad Group added."
358
- msgstr "Anzeigengruppe hinzugefügt."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
359
 
360
- #: admin/views/ad-group.php:34 admin/views/ad-group.php:38
361
- msgid "Ad Group deleted."
362
- msgstr "Anzeigengruppe gelöscht."
 
363
 
364
- #: admin/views/ad-group.php:35
365
- msgid "Ad Group updated."
366
- msgstr "Anzeigengruppe aktualisiert."
 
367
 
368
- #: admin/views/ad-group.php:36
369
- msgid "Ad Group not added."
370
- msgstr "Anzeigengruppe nicht hinzugefügt."
 
371
 
372
- #: admin/views/ad-group.php:37
373
- msgid "Ad Group not updated."
374
- msgstr "Anzeigengruppe nicht aktualisiert."
375
 
376
- #: admin/views/ad-group.php:55
377
  #, php-format
378
  msgid "Search results for &#8220;%s&#8221;"
379
  msgstr "Suchergebnisse für &#8220;%s&#8221;"
380
 
381
- #: admin/views/ad-group.php:61
382
  msgid ""
383
  "Ad Groups are a very flexible method to bundle ads. You can use them to "
384
  "display random ads in the frontend or run split tests, but also just for "
@@ -391,11 +976,11 @@ msgstr ""
391
  "Anzeigen-Gruppe kann mehrere Anzeigen enthalten, aber eine Anzeige kann auch "
392
  "zu mehreren Anzeigen-Gruppen gehören."
393
 
394
- #: admin/views/ad-group.php:69
395
  msgid "How to display an Ad Group?"
396
  msgstr "Wie kann eine Anzeigengruppe angezeigt werden?"
397
 
398
- #: admin/views/ad-group.php:71
399
  #, php-format
400
  msgid ""
401
  "Examples on how to display an ad group? Find more help and examples in the "
@@ -404,84 +989,52 @@ msgstr ""
404
  "Suchen Sie Beispiele, wie eine Anzeigen-Gruppe veröffentlicht wird? Sie "
405
  "finden Hilfe in der <a href=\"%s\" target=\"_blank\">Anleitung</a>"
406
 
407
- #: admin/views/ad-group.php:72 admin/views/ad_info.php:6
408
- #: admin/views/placements.php:51
409
- msgid "shortcode"
410
- msgstr "Shortcode"
411
-
412
- #: admin/views/ad-group.php:73
413
  msgid "To display an ad group with the ID 6 in content fields"
414
  msgstr "Zum Anzeigen einer Anzeigen-Gruppe mit der ID 6 im Beitrag."
415
 
416
- #: admin/views/ad-group.php:75 admin/views/ad_info.php:9
417
- #: admin/views/placements.php:54
418
- msgid "template"
419
- msgstr "Template"
420
-
421
- #: admin/views/ad-group.php:76
422
  msgid "To display an ad group with the ID 6 in template files"
423
  msgstr "Zum Anzeigen einer Anzeigen-Gruppe mit der ID 6 in Template-Dateien"
424
 
425
- #: admin/views/ad-inject-metabox.php:1
426
- msgid "Include ads on specific places automatically without shortcodes or functions."
427
- msgstr "Anzeigen automatisch in Seiten einfügen."
428
 
429
- #: admin/views/ad-inject-metabox.php:4 admin/views/ad-inject-metabox.php:32
430
- msgid ""
431
- "This feature is now provided through placements. Please convert the settings "
432
- "made here to placements."
433
- msgstr ""
434
-
435
- #: admin/views/ad-inject-metabox.php:10
436
- msgid "Include in Header (before closing </head> Tag, probably not visible)"
437
- msgstr ""
438
-
439
- #: admin/views/ad-inject-metabox.php:16
440
- msgid "Include in Footer (before closing </body> Tag)"
441
- msgstr ""
442
-
443
- #: admin/views/ad-inject-metabox.php:22
444
- msgid "Include before the post content"
445
- msgstr ""
446
-
447
- #: admin/views/ad-inject-metabox.php:28
448
- msgid "Include after the post content"
449
- msgstr ""
450
-
451
- #: admin/views/ad-main-metabox.php:3
452
  msgid "No ad types defined"
453
  msgstr "Keine Anzeigentypen definiert"
454
 
455
- #: admin/views/ad-output-metabox.php:1
456
  msgid "Everything connected to the ads layout and output."
457
  msgstr "Alles was mit dem Layout und der Ausgabe im Frontend zusammenhängt."
458
 
459
- #: admin/views/ad-output-metabox.php:5
460
  msgid "Position"
461
  msgstr "Position"
462
 
463
- #: admin/views/ad-output-metabox.php:6
464
  msgid "- default -"
465
  msgstr "- default -"
466
 
467
- #: admin/views/ad-output-metabox.php:7 admin/views/placements.php:75
468
  #: classes/ad_placements.php:31
469
  msgid "default"
470
  msgstr "Standard"
471
 
472
- #: admin/views/ad-output-metabox.php:8
473
  msgid "left"
474
  msgstr "links"
475
 
476
- #: admin/views/ad-output-metabox.php:11
477
  msgid "center"
478
  msgstr "mittig"
479
 
480
- #: admin/views/ad-output-metabox.php:14
481
  msgid "right"
482
  msgstr "rechts"
483
 
484
- #: admin/views/ad-output-metabox.php:19
485
  msgid ""
486
  "Check this if you don't want the following elements to float around the ad. "
487
  "(adds a clearfix)"
@@ -489,49 +1042,61 @@ msgstr ""
489
  "Aktivieren Sie diese Funktion, wenn sich nachfolgende Elemente nicht um die "
490
  "Anzeige legen sollen. (Fügt ein Clearfix hinzu)"
491
 
492
- #: admin/views/ad-output-metabox.php:22
493
  msgid "Margin"
494
  msgstr "Abstand"
495
 
496
- #: admin/views/ad-output-metabox.php:23
497
  msgid "top:"
498
  msgstr "oben:"
499
 
500
- #: admin/views/ad-output-metabox.php:25
501
  msgid "right:"
502
  msgstr "rechts:"
503
 
504
- #: admin/views/ad-output-metabox.php:27
505
  msgid "bottom:"
506
  msgstr "unten:"
507
 
508
- #: admin/views/ad-output-metabox.php:29
509
  msgid "left:"
510
  msgstr "links:"
511
 
512
- #: admin/views/ad-output-metabox.php:31
513
  msgid "tip: use this to add a margin around the ad"
514
  msgstr ""
515
  "Tipp: Verwenden Sie dies, um einen Abstand zwischen Anzeige und Inhalt "
516
  "einzufügen."
517
 
518
- #: admin/views/ad-parameters-metabox.php:15 classes/ad_ajax_callbacks.php:48
519
  msgid "size:"
520
  msgstr "Größe:"
521
 
522
- #: admin/views/ad-parameters-metabox.php:16 classes/ad_ajax_callbacks.php:49
523
  msgid "width"
524
  msgstr "Breite"
525
 
526
- #: admin/views/ad-parameters-metabox.php:17 classes/ad_ajax_callbacks.php:50
527
  msgid "height"
528
  msgstr "Höhe"
529
 
530
- #: admin/views/ad-submitbox-meta.php:4
531
  msgid "Set expiry date"
532
  msgstr "Verfallsdatum setzen"
533
 
534
- #: admin/views/ad-visitor-metabox.php:1
 
 
 
 
 
 
 
 
 
 
 
 
535
  msgid ""
536
  "Display conditions that are based on the user. Use with caution on cached "
537
  "websites."
@@ -539,19 +1104,38 @@ msgstr ""
539
  "Anzeigebedingungen, die sich auf den Benutzer beziehen. Auf gecachten "
540
  "Webseiten bitte mit Vorsicht anwenden."
541
 
542
- #: admin/views/ad-visitor-metabox.php:12
 
 
 
 
543
  msgid "only on mobile devices"
544
  msgstr "Nur auf mobilen Geräten"
545
 
546
- #: admin/views/ad-visitor-metabox.php:16
547
  msgid "not on mobile devices"
548
  msgstr "Nicht auf mobilen Endgeräten"
549
 
550
- #: admin/views/ad_info.php:2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
551
  msgid "How to use this Ad?"
552
  msgstr "Wie kann ich diese Anzeige verwenden?"
553
 
554
- #: admin/views/ad_info.php:5
555
  #, php-format
556
  msgid ""
557
  "How to display the ad directly? Find more help and examples in the <a "
@@ -560,132 +1144,49 @@ msgstr ""
560
  "Anzeige veröffentlichen? Hilfe und Beispiele finden Sie in der <a href=\"%s\" "
561
  "target=\"_blank\">Anleitung</a>"
562
 
563
- #: admin/views/ad_info.php:7
564
  msgid "To display an ad in content fields"
565
  msgstr "Anzeige im Text-Editor einbinden"
566
 
567
- #: admin/views/ad_info.php:10
568
- msgid "To display an ad in template files"
569
- msgstr "Anzeige in Template-Dateien nutzen"
570
-
571
- #: admin/views/debug.php:8
572
- msgid "Work in progress"
573
- msgstr "In Arbeit"
574
-
575
- #: admin/views/debug.php:9
576
- msgid ""
577
- "This screen is work in progress. You can use the information if you "
578
- "understand them, but there is nothing to do here yet."
579
- msgstr ""
580
- "Dieser Bildschirm ist in Arbeit. Sie können die Informationen verwenden, "
581
- "wenn Sie sie verstehen, aber es gibt hier für Sie nichts zu tun."
582
-
583
- #: admin/views/debug.php:16
584
- msgid "Ad Condition Overview"
585
- msgstr "Übersicht der Anzeigen-Bedingungen"
586
-
587
- #: admin/views/overview.php:13
588
- msgid ""
589
- "Ads are the smallest unit, containing the content or a single ad to be "
590
- "displayed."
591
- msgstr "Anzeigen sind die kleinste Einheit und enthalten Inhalte und Layout."
592
-
593
- #: admin/views/overview.php:14
594
- #, php-format
595
- msgid "You have published %d ads."
596
- msgstr "Sie haben %d Anzeigen veröffentlicht."
597
-
598
- #: admin/views/overview.php:15
599
- #, php-format
600
- msgid "<a href=\"%s\">Manage</a> them or <a href=\"%s\">create</a> a new one"
601
- msgstr "Anzeigen <a href=\"%s\">verwalten</a> oder neue <a href=\"%s\">erstellen</a>"
602
-
603
- #: admin/views/overview.php:23
604
- msgid "recent ads"
605
- msgstr "neueste Anzeigen"
606
-
607
- #: admin/views/overview.php:33
608
- msgid "Create your first ad"
609
- msgstr "Erstellen Sie Ihre erste Anzeige"
610
-
611
- #: admin/views/overview.php:41
612
- msgid ""
613
- "Ad Groups contain ads and are currently used to rotate multiple ads on a "
614
- "single spot."
615
- msgstr ""
616
- "Anzeigengruppen enthalten Anzeigen und werden verwendet, um mehrere Anzeigen "
617
- "an einer Stelle zu rotieren."
618
-
619
- #: admin/views/overview.php:42
620
- #, php-format
621
- msgid "You have %d groups."
622
- msgstr "Sie haben %d Gruppen."
623
-
624
- #: admin/views/overview.php:43 admin/views/overview.php:69
625
- #, php-format
626
- msgid "<a href=\"%s\">Manage</a> them."
627
- msgstr "<a href=\"%s\">Verwalten</a>."
628
-
629
- #: admin/views/overview.php:49
630
- msgid "recent groups"
631
- msgstr "neue Gruppen\n"
632
-
633
- #: admin/views/overview.php:59
634
- msgid "Create your first group"
635
- msgstr "Erstellen Sie Ihre erste Gruppe"
636
-
637
- #: admin/views/overview.php:67
638
- msgid "Ad Placements are the best way to manage where to display ads and groups."
639
- msgstr ""
640
- "Anzeigen-Platzierungen sind am besten geeignet um zu bestimmen, wo Anzeigen "
641
- "und Gruppen veröffentlicht werden."
642
-
643
- #: admin/views/overview.php:68
644
- #, php-format
645
- msgid "You have %d placements."
646
- msgstr "Sie haben %d Platzierungen."
647
-
648
- #: admin/views/overview.php:75
649
- msgid "recent placements"
650
- msgstr "Neue Platzierungen"
651
-
652
- #: admin/views/overview.php:85
653
- msgid "Create your first placement"
654
- msgstr "Erstellen Sie Ihre erste Platzierung"
655
 
656
- #: admin/views/overview.php:93
657
- msgid "Manual and Support"
658
- msgstr "Anleitung und Support"
659
 
660
- #: admin/views/overview.php:94
661
- msgid "Need some help? These are your options"
662
- msgstr "Hier finden Sie Hilfe."
663
 
664
- #: admin/views/overview.php:96
665
- #, php-format
666
- msgid "Visit the <a href=\"%s\">plugin homepage</a>"
667
- msgstr "Besuchen Sie die <a href=\"%s\">Plugin-Homepage</a>"
668
 
669
- #: admin/views/overview.php:97
670
- #, php-format
671
- msgid "Have a look into the <a href=\"%s\">manual</a>"
672
- msgstr "Schlagen Sie im <a href=\"%s\">Handbuch</a> nach."
673
 
674
- #: admin/views/overview.php:98
675
- #, php-format
676
- msgid "Ask a question to other users in the <a href=\"%s\">wordpress.org forum</a>"
677
- msgstr "Fragen Sie andere Nutzer auf <a href=\"%s\">wordpress.org</a>"
 
 
 
678
 
679
- #: admin/views/overview.php:99
680
- #, php-format
681
- msgid "<a href=\"%s\">Hire the developer</a>"
682
- msgstr "<a href=\"%s\">Engagieren Sie den Entwickler</a>"
 
683
 
684
- #: admin/views/overview.php:104
685
- msgid "Want to boost your ad income? Try these add-ons"
686
- msgstr "Holen Sie mit diesen Erweiterungen mehr aus Ihren Anzeigeneinnahmen."
687
 
688
- #: admin/views/placements.php:14
689
  msgid ""
690
  "Placements are physically places in your theme and posts. You can use them "
691
  "if you plan to change ads and ad groups on the same place without the need "
@@ -696,7 +1197,7 @@ msgstr ""
696
  "Position austauschen möchten, ohne eine Änderung der Templates oder Seiten-"
697
  "Inhalte vorzunehmen."
698
 
699
- #: admin/views/placements.php:15
700
  #, php-format
701
  msgid ""
702
  "See also the manual for more information on <a href=\"%s\">placements</a> and "
@@ -705,16 +1206,15 @@ msgstr ""
705
  "Weitere Informationen finden Sie in der Anleitung (engl.) unter <a "
706
  "href=\"%s\">Placements</a> und <a href=\"%s\">Auto Injection</a>."
707
 
708
- #: admin/views/placements.php:18 admin/views/placements.php:63
709
- #: modules/gadsense/admin/views/adsense-ad-parameters.php:16
710
- msgid "Type"
711
- msgstr "Typ"
712
 
713
- #: admin/views/placements.php:27
714
  msgid "What is this?"
715
  msgstr "Was ist das?"
716
 
717
- #: admin/views/placements.php:29
718
  msgid ""
719
  "Placement types define how the placements works and where it is going to be "
720
  "displayed."
@@ -722,7 +1222,11 @@ msgstr ""
722
  "Platzierungstypen definieren, wie die Platzierungen arbeiten und wo sie "
723
  "angezeigt werden."
724
 
725
- #: admin/views/placements.php:42
 
 
 
 
726
  msgid ""
727
  "Individual identifier. Allowed are alphanumeric signs (lower case) and "
728
  "hyphen."
@@ -730,17 +1234,21 @@ msgstr ""
730
  "Individuelle Kennung. Erlaubt sind alphanumerische Zeichen (Kleinbuchstaben) "
731
  "und Bindestriche."
732
 
733
- #: admin/views/placements.php:43
734
  msgid "You can assign Ads and Groups after you created the placement."
735
  msgstr ""
736
  "Sie können Anzeigen und Gruppen zuweisen, nachdem Sie die Platzierung "
737
  "erstellt haben."
738
 
739
- #: admin/views/placements.php:48
 
 
 
 
740
  msgid "How to use the <i>default</i> Ad Placement?"
741
  msgstr "Wie wird die <i>Standard</i>-Anzeigenplatzierung angewendet?"
742
 
743
- #: admin/views/placements.php:50
744
  #, php-format
745
  msgid ""
746
  "Examples on how to use the <i>default</i> ad placement? Find more help and "
@@ -749,67 +1257,83 @@ msgstr ""
749
  "Suchen Sie Beispiele, wie die <i>Standard</i>-Anzeigenplatzierung zu nutzen "
750
  "ist? Sie finden Hilfe in der <a href=\"%s\" target=\"_blank\">Anleitung</a>"
751
 
752
- #: admin/views/placements.php:52
753
  msgid "To use an ad placement with the ID skyscraper_left in content fields"
754
  msgstr ""
755
  "Zum Benutzen einer Anzeigen-Platzierung mit der ID skyscraper_left in "
756
  "Content-Feldern"
757
 
758
- #: admin/views/placements.php:55
759
  msgid "To use an ad placement with the ID skyscraper_left in template files"
760
  msgstr ""
761
  "Zum Benutzen einer Anzeigen-Platzierung mit der ID Skyscraper_left in "
762
  "Template-Dateien"
763
 
764
- #: admin/views/placements.php:80
 
 
 
 
765
  msgid "Item"
766
  msgstr "Anzeige"
767
 
768
- #: admin/views/placements.php:102
 
 
 
 
769
  msgid "Inject"
770
  msgstr "Einfügen"
771
 
772
- #: admin/views/placements.php:103
773
  msgid "after"
774
  msgstr "nach"
775
 
776
- #: admin/views/placements.php:103
777
  msgid "before"
778
  msgstr "vor"
779
 
780
- #: admin/views/placements.php:134
 
 
 
 
781
  msgid "Save Placements"
782
  msgstr "Platzierungen sichern"
783
 
784
- #: admin/views/post_ad_settings_metabox.php:3
785
  msgid "Disable ads on this page"
786
  msgstr "Anzeigen auf dieser Seite deaktivieren."
787
 
788
- #: admin/views/settings.php:26
 
 
 
 
789
  msgid "Debug Page"
790
  msgstr "Debug-Seite"
791
 
792
- #: admin/views/settings.php:27
793
  msgid "Advanced Ads on WordPress.org"
794
  msgstr "Advanced Ads auf WordPress.org"
795
 
796
- #: admin/views/settings.php:27
797
  msgid "Advanced Ads on wp.org"
798
  msgstr "Advanced Ads auf wp.org"
799
 
800
- #: admin/views/settings.php:28
801
  msgid "the company behind Advanced Ads"
802
  msgstr "das Unternehmen hinter Advanced Ads"
803
 
804
- #: admin/views/settings.php:28
805
  msgid "webgilde GmbH"
806
  msgstr "webgilde GmbH"
807
 
808
- #: admin/views/settings_disable_ads.php:3
809
  msgid "Disable all ads in frontend"
810
  msgstr "Alle Anzeigen im Frontend deaktivieren"
811
 
812
- #: admin/views/settings_disable_ads.php:4
813
  msgid ""
814
  "Use this option to disable all ads in the frontend, but still be able to use "
815
  "the plugin."
@@ -817,80 +1341,77 @@ msgstr ""
817
  "Benutzen Sie diese Einstellung um alle Anzeigen im Frontend zu deaktivieren "
818
  "und das Plugin dennoch weiterhin zu nutzen."
819
 
820
- #: admin/views/settings_disable_ads.php:8
821
  msgid "Disable ads on 404 error pages"
822
  msgstr "Alle Anzeigen auf 404-Fehlerseiten deaktivieren"
823
 
824
- #: admin/views/settings_disable_ads.php:12
825
  msgid "Disable ads on non-singular pages"
826
  msgstr "Alle Anzeigen auf Nicht-Einzelseiten deaktivieren"
827
 
828
- #: admin/views/settings_disable_ads.php:13
829
  msgid "e.g. archive pages like categories, tags, authors, front page (if a list)"
830
  msgstr ""
831
  "z.B. Archive wie Kategorien, Schlagwörter, Autoren, Übersicht auf der "
832
  "Startseite"
833
 
834
- #: admin/class-advanced-ads-admin.php:428
835
- msgid "Ad Type"
836
- msgstr "Anzeigen-Typ"
837
-
838
- #: admin/class-advanced-ads-admin.php:431
839
- msgid "Ad Parameters"
840
- msgstr "Anzeigen-Parameter"
841
-
842
- #: admin/class-advanced-ads-admin.php:434
843
- msgid "Layout / Output"
844
- msgstr "Layout / Ausgabe"
845
 
846
- #: admin/class-advanced-ads-admin.php:440
847
- #, php-format
848
- msgid "A \"%s\" display condition does not exist"
849
- msgstr "Eine \"%s\"- Anzeigebedingung existiert nicht"
 
 
 
 
 
850
 
851
- #: classes/ad_placements.php:32
852
  msgid "Manual placement."
853
  msgstr "Manuelle Platzierung."
854
 
855
- #: classes/ad_placements.php:35
856
  msgid "header"
857
  msgstr "Header"
858
 
859
- #: classes/ad_placements.php:36
860
  msgid "Injected in Header (before closing </head> Tag, often not visible)."
861
  msgstr ""
862
  "Injiziert in den Header, und zwar vor das schließende </head>-Tag (oft nicht "
863
  "sichtbar)."
864
 
865
- #: classes/ad_placements.php:39
866
  msgid "footer"
867
  msgstr "Footer"
868
 
869
- #: classes/ad_placements.php:40
870
  msgid "Injected in Footer (before closing </body> Tag)."
871
  msgstr "Injiziert in den Footer, und zwar vor das schließende </body>-Tag)."
872
 
873
- #: classes/ad_placements.php:43
874
  msgid "before post"
875
  msgstr "Vor dem Beitrag"
876
 
877
- #: classes/ad_placements.php:44
878
  msgid "Injected before the post content."
879
  msgstr "Injiziert vor den Beitrags-Inhalt."
880
 
881
- #: classes/ad_placements.php:47
882
  msgid "after post"
883
  msgstr "Nach dem Beitrag"
884
 
885
- #: classes/ad_placements.php:48
886
  msgid "Injected after the post content."
887
  msgstr "Injiziert hinter den Beitrags-Inhalt."
888
 
889
- #: classes/ad_placements.php:51
890
  msgid "post content"
891
  msgstr "Im Beitrag"
892
 
893
- #: classes/ad_placements.php:52
894
  msgid ""
895
  "Injected into the post content. You can choose the paragraph after which the "
896
  "ad content is displayed."
@@ -898,35 +1419,31 @@ msgstr ""
898
  "Injiziert in den Beitrags-Inhalt. Sie können den Absatz wählen, nach dem der "
899
  "Inhalt angezeigt wird."
900
 
901
- #: classes/ad_placements.php:76
902
- msgid "Slug already exists."
903
- msgstr "Slug bereits vorhanden."
904
-
905
- #: classes/ad_placements.php:163
906
  #, php-format
907
  msgid "paragraph (%s)"
908
  msgstr "Absatz (%s)"
909
 
910
- #: classes/ad_placements.php:164
911
  #, php-format
912
  msgid "headline 2 (%s)"
913
  msgstr "Überschrift 2 (%s)"
914
 
915
- #: classes/ad_placements.php:165
916
  #, php-format
917
  msgid "headline 3 (%s)"
918
  msgstr "Überschrift 3 (%s)"
919
 
920
- #: classes/ad_placements.php:166
921
  #, php-format
922
  msgid "headline 4 (%s)"
923
  msgstr "Überschrift 4 (%s)"
924
 
925
- #: classes/ad_type_content.php:35
926
  msgid "Rich Content"
927
  msgstr "Rich Content"
928
 
929
- #: classes/ad_type_content.php:36
930
  msgid ""
931
  "The full content editor from WordPress with all features like shortcodes, "
932
  "image upload or styling, but also simple text/html mode for scripts and code."
@@ -934,17 +1451,21 @@ msgstr ""
934
  "Der vollständige Content-Editor von Wordpress mit allen Funktionen wie "
935
  "Textbearbeitung, Shortcodes, Bild-Upload oder -Styling."
936
 
937
- #: classes/ad_type_content.php:63
938
  msgid "Please <strong>save the ad</strong> before changing it to the content type."
939
  msgstr ""
940
  "Bitte <strong>speichern Sie die Anzeige</strong>, bevor Sie den Anzeigentyp "
941
  "wechseln."
942
 
943
- #: classes/ad_type_content.php:66
944
  msgid "Save Draft"
945
  msgstr "Entwurf speichern"
946
 
947
- #: classes/ad_type_plain.php:32
 
 
 
 
948
  msgid ""
949
  "Simple text editor without any filters. You might use it to display "
950
  "unfiltered content, php code or javascript. Shortcodes and other WordPress "
@@ -954,23 +1475,31 @@ msgstr ""
954
  "ungefiltertem Inhalt, PHP-Code oder JavaScript benutzen. Shortcodes und "
955
  "ähnliche WordPress-Funktionen funktionieren hier nicht."
956
 
957
- #: classes/ad_type_plain.php:55
958
  msgid "Insert plain text or code into this field."
959
  msgstr "Fügen Sie Text oder Code in dieses Feld ein."
960
 
961
- #: classes/widget.php:19
 
 
 
 
962
  msgid "Display Ads and Ad Groups."
963
  msgstr "Anzeigen und Anzeigen-Gruppen zeigen."
964
 
965
- #: classes/widget.php:51
966
  msgid "Title:"
967
  msgstr "Titel:"
968
 
969
- #: includes/array_ad_conditions.php:33
970
  msgid "Post Types"
971
  msgstr "Beitrags-Typen"
972
 
973
- #: includes/array_ad_conditions.php:40
 
 
 
 
974
  msgid ""
975
  "Choose terms from public category, tag and other taxonomies a post must "
976
  "belong to in order to have ads."
@@ -978,432 +1507,299 @@ msgstr ""
978
  "Wählen Sie aus öffentlichen Kategorien, Tags und anderen Taxonomien jene aus,"
979
  " zu denen ein Beitrag gehören muss, damit auf ihm Anzeigen erscheinen."
980
 
981
- #: includes/array_ad_conditions.php:45
982
  msgid "Category Archives"
983
  msgstr "Kategorie-Archive"
984
 
985
- #: includes/array_ad_conditions.php:46
986
  msgid "comma seperated IDs of category archives"
987
  msgstr "Komma-getrennte IDs der Kategorie Archive"
988
 
989
- #: includes/array_ad_conditions.php:51
990
  msgid "Individual Posts, Pages and Public Post Types"
991
  msgstr "Einzelne Beiträge, Seiten und öffentliche Beitrag-Typen"
992
 
993
- #: includes/array_ad_conditions.php:57
994
  msgid "Home Page"
995
  msgstr "Homepage"
996
 
997
- #: includes/array_ad_conditions.php:58
998
- msgid "(don't) show on Home page"
999
- msgstr "(nicht) auf Homepage zeigen"
1000
 
1001
- #: includes/array_ad_conditions.php:62
1002
  msgid "Singular Pages"
1003
  msgstr "Einzelseiten"
1004
 
1005
- #: includes/array_ad_conditions.php:63
1006
- msgid "(don't) show on singular pages/posts"
1007
- msgstr "(Wird nicht) angezeigt auf singulären Seiten und Beiträgen"
1008
 
1009
- #: includes/array_ad_conditions.php:67
1010
  msgid "Archive Pages"
1011
  msgstr "Archiv-Seiten"
1012
 
1013
- #: includes/array_ad_conditions.php:68
1014
- msgid "(don't) show on any type of archive page (category, tag, author and date)"
1015
  msgstr ""
1016
- "(Wird nicht) angezeigt auf jeder Art von Archiv-Seite (Kategorie, Tag, Autor "
1017
- "und Datum)"
 
 
 
 
1018
 
1019
- #: includes/array_ad_conditions.php:73
1020
- msgid "(don't) show on search result pages"
1021
- msgstr "(Wird nicht) angezeigt auf Suchergebnis-Seiten"
1022
 
1023
- #: includes/array_ad_conditions.php:77
1024
  msgid "404 Page"
1025
  msgstr "404-Seite"
1026
 
1027
- #: includes/array_ad_conditions.php:78
1028
- msgid "(don't) show on 404 error page"
1029
- msgstr "(nicht) auf 404-Fehlerseite zeigen"
1030
 
1031
- #: includes/array_ad_conditions.php:82
1032
  msgid "Attachment Pages"
1033
  msgstr "Anhang-Seiten"
1034
 
1035
- #: includes/array_ad_conditions.php:83
1036
- msgid "(don't) show on attachment pages"
1037
- msgstr "(Wird nicht) auf Anhang-Seiten angezeigt"
1038
 
1039
- #: admin/class-advanced-ads-admin.php:443
1040
- msgid "Auto injection"
1041
- msgstr "Auto-Platzierung"
1042
 
1043
- #: admin/class-advanced-ads-admin.php:609
1044
- msgid "General"
1045
- msgstr "Allgemein"
1046
-
1047
- #: admin/class-advanced-ads-admin.php:617
1048
- msgid "Disable ads"
1049
- msgstr "Anzeigen auf dieser Seite deaktivieren."
1050
 
1051
- #: admin/class-advanced-ads-admin.php:625
1052
- msgid "Hide ads for logged in users"
1053
- msgstr "Verstecke Anzeigen vor eingeloggten Benutzern"
1054
 
1055
- #: admin/class-advanced-ads-admin.php:633
1056
- msgid "Use advanced JavaScript"
1057
- msgstr "Advanced-JavaScript benutzen"
 
1058
 
1059
- #: admin/class-advanced-ads-admin.php:681
1060
- msgid "Subscriber"
1061
- msgstr "Abonnent"
1062
 
1063
- #: admin/class-advanced-ads-admin.php:682
1064
- msgid "Contributor"
1065
- msgstr "Mitarbeiter"
 
 
 
 
 
 
1066
 
1067
- #: admin/class-advanced-ads-admin.php:683
1068
- msgid "Author"
1069
- msgstr "Autor"
 
 
 
 
1070
 
1071
- #: admin/class-advanced-ads-admin.php:684
1072
- msgid "Editor"
1073
- msgstr "Redakteur"
 
1074
 
1075
- #: admin/class-advanced-ads-admin.php:685
1076
- msgid "Admin"
1077
- msgstr "Admin"
1078
 
1079
- #: admin/class-advanced-ads-admin.php:693
1080
- msgid "Choose the lowest role a user must have in order to not see any ads."
 
1081
  msgstr ""
1082
- "Wählen Sie die niedrigste Rolle die ein Benutzer haben muss um keine "
1083
- "Anzeigen zu sehen."
1084
 
1085
- #: admin/class-advanced-ads-admin.php:706
1086
- #: public/class-advanced-ads.php:530
1087
- msgctxt "ad group general name"
1088
- msgid "Ad Groups"
1089
- msgstr "Anzeigen-Gruppen"
1090
 
1091
- #: public/class-advanced-ads.php:531
1092
- msgctxt "ad group singular name"
1093
- msgid "Ad Group"
1094
- msgstr "Anzeigen-Gruppe"
1095
 
1096
- #: public/class-advanced-ads.php:567 public/class-advanced-ads.php:583
1097
- msgid "Ad"
1098
- msgstr "Anzeige"
 
1099
 
1100
- #: public/class-advanced-ads.php:634
 
1101
  #, php-format
1102
- msgid "Advanced Ads Error: %s"
1103
- msgstr "Advanced-Ads-Fehler: %s"
1104
-
1105
- #: admin/class-advanced-ads-admin.php:753
1106
- msgid "Ad Details"
1107
- msgstr "Anzeigeneinstellungen"
1108
-
1109
- #: admin/class-advanced-ads-admin.php:806
1110
- msgid "Ad Settings"
1111
- msgstr "Anzeigen-Einstellungen"
1112
-
1113
- #: admin/class-advanced-ads-admin.php:881
1114
- msgid "Ads Dashboard"
1115
- msgstr "Anzeigen-Dashboard"
1116
-
1117
- #: admin/class-advanced-ads-admin.php:892
1118
- msgid "Tutorials and News"
1119
- msgstr "Anleitungen und Neuigkeiten\n"
1120
 
1121
- #: admin/class-advanced-ads-admin.php:902
 
1122
  #, php-format
1123
- msgid "%d ads – <a href=\"%s\">manage</a> – <a href=\"%s\">new</a>"
1124
- msgstr "%d Anzeigen <a href=\"%s\">verwalten</a> – <a href=\"%s\">neu</a>"
1125
-
1126
- #: admin/class-advanced-ads-admin.php:913
1127
- msgid "plugin manual and homepage"
1128
- msgstr "Plugin-Anleitung und Homepage"
1129
-
1130
- #: admin/class-advanced-ads-admin.php:221 admin/views/overview.php:66
1131
- msgid "Visitor Conditions"
1132
- msgstr "Besucher-Bedingungen"
1133
-
1134
- #: admin/includes/class-ad-groups-list-table.php:99
1135
- #: admin/includes/class-ad-groups-list-table.php:167
1136
- #: public/class-advanced-ads.php:570
1137
- msgid "Edit"
1138
- msgstr "Bearbeiten"
1139
-
1140
- #: admin/includes/class-display-condition-callbacks.php:121
1141
- #: admin/includes/class-display-condition-callbacks.php:208
1142
- msgid "Hide from here"
1143
- msgstr "Hier ausblenden"
1144
-
1145
- #: admin/includes/class-display-condition-callbacks.php:267
1146
- msgid "ignore the list"
1147
- msgstr "Liste ignorieren"
1148
-
1149
- #: admin/includes/class-display-condition-callbacks.php:268
1150
- msgid "display the ad only there"
1151
- msgstr "Die Anzeige nur hier einblenden"
1152
-
1153
- #: admin/includes/class-display-condition-callbacks.php:269
1154
- msgid "hide the ad here"
1155
- msgstr "Die Anzeige hier ausblenden"
1156
-
1157
- #: admin/includes/class-display-condition-callbacks.php:277
1158
- msgid "Update warning"
1159
- msgstr "Update-Warnung"
1160
-
1161
- #: admin/includes/class-display-condition-callbacks.php:279
1162
- msgid "Your old values are:"
1163
- msgstr "Ihre alten Werte sind:"
1164
-
1165
- #: admin/includes/class-display-condition-callbacks.php:322
1166
- msgid "new"
1167
- msgstr "neu"
1168
-
1169
- #: admin/includes/class-list-table.php:186
1170
- msgid "No items found."
1171
- msgstr "Keine Elemente gefunden."
1172
-
1173
- #: admin/includes/class-list-table.php:404
1174
- msgid "Show all dates"
1175
- msgstr "Alle Termine anzeigen"
1176
-
1177
- #: admin/includes/class-list-table.php:433
1178
- msgid "List View"
1179
- msgstr "Listenansicht"
1180
-
1181
- #: admin/includes/class-list-table.php:434
1182
- msgid "Excerpt View"
1183
- msgstr "Teilansicht"
1184
-
1185
- #: admin/includes/class-list-table.php:579
1186
- msgid "Go to the last page"
1187
- msgstr "Zur letzten Seite gehen"
1188
-
1189
- #: admin/includes/class-list-table.php:715
1190
- msgid "Select All"
1191
- msgstr "Alle wählen"
1192
-
1193
- #: admin/views/ad-display-metabox.php:9
1194
- msgid "Display ad everywhere"
1195
- msgstr "Anzeige überall zeigen"
1196
-
1197
- #: admin/views/ad-display-metabox.php:10
1198
- msgid "Set display conditions"
1199
- msgstr "Anzeige-Bedingungen festlegen"
1200
-
1201
- #: admin/views/ad-display-metabox.php:32
1202
- msgid "Other conditions"
1203
- msgstr "Andere Bedingungen"
1204
-
1205
- #: admin/views/ad-display-metabox.php:38
1206
- msgid "show"
1207
- msgstr "Zeigen"
1208
-
1209
- #: admin/views/ad-display-metabox.php:39
1210
- msgid "hide"
1211
- msgstr "Verstecken"
1212
-
1213
- #: admin/views/ad-display-metabox.php:59
1214
- msgid "clear"
1215
- msgstr "leeren"
1216
 
1217
- #: admin/views/ad-display-metabox.php:66
1218
- msgid "show debug output"
1219
- msgstr "Zeige Ergebnis der Fehlerbehebung"
 
1220
 
1221
- #: admin/views/ad-group-ads-inline-form.php:25
1222
- #: admin/views/ad-group-edit.php:70 classes/ad_type_content.php:68
1223
- #: classes/ad_type_content.php:69
1224
- msgid "Update"
1225
- msgstr "Update"
1226
 
1227
- #: admin/views/ad-group-edit.php:33
1228
- msgctxt "Taxonomy Name"
1229
- msgid "Name"
1230
- msgstr "Name"
1231
 
1232
- #: admin/views/ad-group-edit.php:45
1233
- msgctxt "Taxonomy Parent"
1234
- msgid "Parent"
1235
- msgstr "Elternelement"
1236
 
1237
- #: admin/views/ad-visitor-metabox.php:8
1238
- msgid "Display on all devices"
1239
- msgstr "Auf allen Geräten anzeigen"
1240
 
1241
- #: admin/views/overview.php:103
1242
- msgid "Add-ons"
1243
- msgstr "Erweiterungen"
1244
 
1245
- #: admin/views/overview.php:111
1246
- msgid "See Add-Ons"
1247
- msgstr "Erweiterungen anzeigen"
 
 
 
 
 
1248
 
1249
- #: admin/views/placements.php:16
1250
- msgid "Create a new placement"
1251
- msgstr "Neue Platzierung erstellen"
1252
 
1253
- #: admin/views/placements.php:38 admin/views/placements.php:62
1254
- msgid "Name"
1255
- msgstr "Name"
1256
 
1257
- #: admin/views/placements.php:44
1258
- msgid "Save New Placement"
1259
- msgstr "Neue Platzierung sichern"
1260
 
1261
- #: admin/views/placements.php:65
1262
- msgid "Options"
1263
- msgstr "Optionen"
1264
 
1265
- #: admin/views/placements.php:82 classes/widget.php:57
1266
- msgid "--empty--"
1267
- msgstr "--leer--"
1268
 
1269
- #: admin/views/placements.php:128
1270
- msgid "remove placement"
1271
- msgstr "Platzierung entfernen"
1272
 
1273
- #: classes/ad_placements.php:74
1274
- msgid "Slug can't be empty."
1275
- msgstr "Der Slug darf nicht leer sein."
1276
 
1277
- #: classes/ad_type_plain.php:31
1278
- msgid "Plain Text and Code"
1279
- msgstr "Nur Text und Code"
 
1280
 
1281
- #: includes/array_ad_conditions.php:39
1282
- msgid "Categories, Tags and Taxonomies"
1283
- msgstr "Kategorien, Schlagworte und Taxonomien"
 
1284
 
1285
- #: includes/array_ad_conditions.php:72
1286
- msgid "Search Results"
1287
- msgstr "Ergebnisse suchen"
 
1288
 
1289
- #: public/class-advanced-ads.php:532
1290
  msgid "Search Ad Groups"
1291
  msgstr "Anzeigen-Gruppen suchen"
1292
 
1293
- #: public/class-advanced-ads.php:533
1294
  msgid "All Ad Groups"
1295
  msgstr "Alle Anzeigen-Gruppen"
1296
 
1297
- #: public/class-advanced-ads.php:534
1298
  msgid "Parent Ad Groups"
1299
  msgstr "Parent-Anzeigen-Gruppen"
1300
 
1301
- #: public/class-advanced-ads.php:535
1302
  msgid "Parent Ad Groups:"
1303
  msgstr "Parent-Anzeigen-Gruppen"
1304
 
1305
- #: public/class-advanced-ads.php:536
1306
  msgid "Edit Ad Group"
1307
  msgstr "Bearbeite Anzeigen-Gruppe"
1308
 
1309
- #: public/class-advanced-ads.php:537
1310
  msgid "Update Ad Group"
1311
  msgstr "Aktualisiere Anzeigen-Gruppe"
1312
 
1313
- #: public/class-advanced-ads.php:538
1314
  msgid "Add New Ad Group"
1315
  msgstr "Neue Anzeigengruppe hinzufügen"
1316
 
1317
- #: public/class-advanced-ads.php:539
1318
  msgid "New Ad Groups Name"
1319
  msgstr "Neuer Anzeigen-Gruppen-Name"
1320
 
1321
- #: public/class-advanced-ads.php:541
1322
  msgid "No Ad Group found"
1323
  msgstr "Keine Anzeigen-Gruppe gefunden"
1324
 
1325
- #: public/class-advanced-ads.php:568 public/class-advanced-ads.php:572
1326
  msgid "New Ad"
1327
  msgstr "Neue Anzeige"
1328
 
1329
- #: public/class-advanced-ads.php:569
1330
  msgid "Add New Ad"
1331
  msgstr "Neue Anzeige hinzufügen"
1332
 
1333
- #: public/class-advanced-ads.php:571
1334
  msgid "Edit Ad"
1335
  msgstr "Anzeige bearbeiten"
1336
 
1337
- #: public/class-advanced-ads.php:573
1338
  msgid "View"
1339
  msgstr "Ansicht"
1340
 
1341
- #: public/class-advanced-ads.php:574
1342
  msgid "View the Ad"
1343
  msgstr "Anzeige ansehen"
1344
 
1345
- #: public/class-advanced-ads.php:575
1346
  msgid "Search Ads"
1347
  msgstr "Anzeigen suchen"
1348
 
1349
- #: public/class-advanced-ads.php:576
1350
  msgid "No Ads found"
1351
  msgstr "Keine Anzeigen gefunden"
1352
 
1353
- #: public/class-advanced-ads.php:577
1354
  msgid "No Ads found in Trash"
1355
  msgstr "Keine Anzeigen im Papierkorb gefunden"
1356
 
1357
- #: public/class-advanced-ads.php:578
1358
  msgid "Parent Ad"
1359
  msgstr "Übergeordnete Anzeige"
1360
-
1361
- #: admin/includes/class-ad-groups-list-table.php:57
1362
- #, php-format
1363
- msgid "Select %s"
1364
- msgstr "%s auswählen"
1365
-
1366
- #: admin/includes/class-ad-groups-list-table.php:188
1367
- #: admin/views/placements.php:40 admin/views/placements.php:64
1368
- msgid "ID"
1369
- msgstr "ID"
1370
-
1371
- #: admin/includes/class-display-condition-callbacks.php:88
1372
- msgid "Display here"
1373
- msgstr "Hier anzeigen"
1374
-
1375
- #: admin/includes/class-list-table.php:460
1376
- #, php-format
1377
- msgid "%s pending"
1378
- msgstr "%s anstehend"
1379
-
1380
- #: admin/includes/class-list-table.php:568
1381
- #, php-format
1382
- msgctxt "paging"
1383
- msgid "%1$s of %2$s"
1384
- msgstr "%1$s von %2$s"
1385
-
1386
- #: admin/views/ad-submitbox-meta.php:11
1387
- #, php-format
1388
- msgctxt "1: month number (01, 02, etc.), 2: month abbreviation"
1389
- msgid "%1$s-%2$s"
1390
- msgstr "%1$s-%2$s"
1391
-
1392
- #: admin/views/ad-submitbox-meta.php:20
1393
- #, php-format
1394
- msgctxt "order of expiry date fields 1: month, 2: day, 3: year"
1395
- msgid "%1$s %2$s, %3$s"
1396
- msgstr "%2$s %1$s %3$s"
1397
-
1398
- #: admin/views/ad_info.php:1
1399
- #, php-format
1400
- msgid "Ad Id: %s"
1401
- msgstr "Anzeigen-ID: %s"
1402
-
1403
- #: admin/class-advanced-ads-admin.php:437
1404
- msgid "Display Conditions"
1405
- msgstr "Anzeige-Bedingungen"
1406
-
1407
- #: admin/class-advanced-ads-admin.php:680
1408
- msgid "(display to all)"
1409
- msgstr "(für alle sichtbar)"
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
  "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
  "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
  "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."
263
+ 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 "
271
+ "impressions for bots when using the <a href=\"%s\" target=\"_blank\">Tracking "
272
+ "Add-On</a>."
273
+ msgstr ""
274
+ "Verbergen Sie Anzeigen vor Crawlern, Bots und leeren User Agents. Für diese "
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 "
282
+ "could create a cached version without the ads."
283
+ 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"
319
 
320
+ #: ../admin/includes/class-ad-groups-list.php:161
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
+
375
+ #: ../admin/includes/class-display-condition-callbacks.php:28
376
  msgid "Display on all public <strong>post types</strong>."
377
  msgstr "In allen öffentlichen <strong>Beitragstypen</strong> anzeigen."
378
 
379
+ #: ../admin/includes/class-display-condition-callbacks.php:31 ..
380
+ #: includes/array_ad_conditions.php:39
381
  msgid "Choose the public post types on which to display the ad."
382
  msgstr ""
383
  "Wählen Sie aus den öffentlichen Beitragstypen jene aus, bei denen die "
384
  "Anzeige erscheinen soll."
385
 
386
+ #: ../admin/includes/class-display-condition-callbacks.php:86
387
  msgid "Display for all <strong>categories, tags and taxonomies</strong>."
388
  msgstr "In allen <strong>Kategorien, Tags und Taxonomien</strong> anzeigen."
389
 
390
+ #: ../admin/includes/class-display-condition-callbacks.php:87
391
+ msgid "Display here"
392
+ msgstr "Hier anzeigen"
393
+
394
+ #: ../admin/includes/class-display-condition-callbacks.php:87
395
  msgid ""
396
  "Choose terms from public categories, tags and other taxonomies a post must "
397
  "belong to in order to have ads."
399
  "Wählen Sie aus öffentlichen Kategorien, Tags und anderen Taxonomien jene aus,"
400
  " zu denen ein Beitrag gehören muss, damit auf ihm Anzeigen erscheinen."
401
 
402
+ #: ../admin/includes/class-display-condition-callbacks.php:104 ..
403
+ #: admin/includes/class-display-condition-callbacks.php:217
404
+ msgid "Hide from here"
405
+ msgstr "Hier ausblenden"
406
+
407
+ #: ../admin/includes/class-display-condition-callbacks.php:104
408
  msgid ""
409
  "Choose the terms from public categories, tags and other taxonomies a post "
410
  "must belong to hide the ad from it."
412
  "Wählen Sie aus öffentlichen Kategorien, Tags und anderen Taxonomien jene aus,"
413
  " zu denen ein Beitrag gehören muss, damit auf ihm KEINE Anzeigen erscheinen."
414
 
415
+ #: ../admin/includes/class-display-condition-callbacks.php:149
416
+ msgctxt "display the terms search field on ad edit page"
417
+ msgid "add more terms"
418
+ msgstr "weitere hinzufügen\n"
419
+
420
+ #: ../admin/includes/class-display-condition-callbacks.php:150
421
+ msgid "add more terms"
422
+ msgstr "weitere hinzufügen"
423
+
424
+ #: ../admin/includes/class-display-condition-callbacks.php:153
425
+ msgid "term name or id"
426
+ msgstr "Name oder ID"
427
+
428
+ #: ../admin/includes/class-display-condition-callbacks.php:197
429
  msgid "Display on all <strong>category archive pages</strong>."
430
  msgstr "In allen <strong>Kategorie-Archiven</strong> anzeigen."
431
 
432
+ #: ../admin/includes/class-display-condition-callbacks.php:200
433
  msgid ""
434
  "Choose the terms from public categories, tags and other taxonomies on "
435
  "which's archive page ads can appear"
437
  "Wählen Sie aus öffentlichen Kategorien, Tags und anderen Taxonomien jene aus,"
438
  " auf deren Übersichtsseiten Anzeigen erscheinen können."
439
 
440
+ #: ../admin/includes/class-display-condition-callbacks.php:217
441
  msgid ""
442
  "Choose the terms from public categories, tags and other taxonomies on "
443
  "which's archive pages ads are hidden."
445
  "Wählen Sie aus öffentlichen Kategorien, Tags und anderen Taxonomien jene aus,"
446
  " auf deren Übersichtsseiten KEINE Anzeigen erscheinen sollen."
447
 
448
+ #: ../admin/includes/class-display-condition-callbacks.php:239
449
  msgid ""
450
  "Display an all <strong>individual posts, pages</strong> and public post type "
451
  "pages"
453
  "In allen individuellen <strong>Beiträgen, Seiten und Beitragsarten</strong> "
454
  "anzeigen"
455
 
456
+ #: ../admin/includes/class-display-condition-callbacks.php:242 ..
457
+ #: includes/array_ad_conditions.php:57
458
  msgid ""
459
  "Choose on which individual posts, pages and public post type pages you want "
460
  "to display or hide ads."
462
  "Wählen Sie die Beiträge, Seiten und anderen öffentlichen Inhalte aus auf "
463
  "denen Anzeigen angezeigt oder ausgeblendet werden sollen."
464
 
465
+ #: ../admin/includes/class-display-condition-callbacks.php:259
466
  msgid "What should happen with ads on the list of individual posts below?"
467
  msgstr "Was soll mit Anzeigen auf den genannten Seiten passieren?"
468
 
469
+ #: ../admin/includes/class-display-condition-callbacks.php:260
470
+ msgid "ignore the list"
471
+ msgstr "Liste ignorieren"
472
+
473
+ #: ../admin/includes/class-display-condition-callbacks.php:261
474
+ msgid "display the ad only there"
475
+ msgstr "Die Anzeige nur hier einblenden"
476
+
477
+ #: ../admin/includes/class-display-condition-callbacks.php:262
478
+ msgid "hide the ad here"
479
+ msgstr "Die Anzeige hier ausblenden"
480
+
481
+ #: ../admin/includes/class-display-condition-callbacks.php:270
482
+ msgid "Update warning"
483
+ msgstr "Update-Warnung"
484
+
485
+ #: ../admin/includes/class-display-condition-callbacks.php:271
486
  msgid ""
487
  "Due to some conflicts before version 1.2.6, it is from now on only possible "
488
  "to choose either individual pages to include or exclude an ad, but not both "
495
  "mit gemischten Einstellungen auf dieser Seite arbeiten. Bitte ändern Sie die "
496
  "Einstellung für diese Anzeige."
497
 
498
+ #: ../admin/includes/class-display-condition-callbacks.php:272
499
+ msgid "Your old values are:"
500
+ msgstr "Ihre alten Werte sind:"
501
+
502
+ #: ../admin/includes/class-display-condition-callbacks.php:273
503
  msgid "Post IDs the ad is displayed on:"
504
  msgstr "Beitrag-IDs auf denen die Anzeige angezeigt wird:"
505
 
506
+ #: ../admin/includes/class-display-condition-callbacks.php:274
507
  msgid "Post IDs the ad is hidden from:"
508
  msgstr "Beitrag-IDs auf denen die Anzeige nicht angezeigt wird:"
509
 
510
+ #: ../admin/includes/class-display-condition-callbacks.php:275
511
  msgid ""
512
  "Below you find the pages the ad is displayed on. If this is ok, just save "
513
  "the ad. If not, please update your settings."
516
  "dann sichern Sie die Anzeige. Wenn nicht, dann aktualisieren Sie bitte Ihre "
517
  "Einstellungen."
518
 
519
+ #: ../admin/includes/class-display-condition-callbacks.php:318
520
+ msgid "new"
521
+ msgstr "neu"
522
+
523
+ #: ../admin/includes/class-display-condition-callbacks.php:320
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"
614
+ msgstr "Anleitung und Support"
615
+
616
+ #: ../admin/includes/class-overview-widgets.php:53
617
+ msgid "Tracking and Stats"
618
+ msgstr "Tracking und Statistik"
619
+
620
+ #: ../admin/includes/class-overview-widgets.php:55
621
+ msgid "Responsive and Mobile ads"
622
+ msgstr "Responsive und Mobile Anzeigen"
623
+
624
+ #: ../admin/includes/class-overview-widgets.php:57
625
+ msgid "Sticky ads"
626
+ msgstr "Sticky (fixierte) Anzeigen"
627
+
628
+ #: ../admin/includes/class-overview-widgets.php:59
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."
656
+ 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 "
709
+ "href=\"%s\" target=\"_blank\">wordpress.org</a>"
710
+ 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."
764
+ 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
  "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
 
853
+ #: ../admin/views/ad-group-edit.php:14
854
  msgid "You did not select an item for editing."
855
  msgstr "Sie haben nichts zur Bearbeitung gewählt."
856
 
857
+ #: ../admin/views/ad-group-edit.php:33
858
+ msgctxt "Taxonomy Name"
859
+ msgid "Name"
860
+ msgstr "Name"
861
+
862
+ #: ../admin/views/ad-group-edit.php:38
863
  msgctxt "Taxonomy Slug"
864
  msgid "Slug"
865
  msgstr "Slug"
866
 
867
+ #: ../admin/views/ad-group-edit.php:40
868
  msgid "An id-like string with only letters in lower case, numbers, and hyphens."
869
  msgstr "Ein ID-ähnlicher String mit nur Kleinbuchstaben, Zahlen und Bindestrichen."
870
 
871
+ #: ../admin/views/ad-group-edit.php:45
 
 
 
 
872
  msgctxt "Taxonomy Description"
873
  msgid "Description"
874
  msgstr "Beschreibung"
875
 
876
+ #: ../admin/views/ad-group-edit.php:57
877
  msgid "Create new Ad Group"
878
  msgstr "Neue Anzeigengruppe erstellen"
879
 
880
+ #: ../admin/views/ad-group-edit.php:59 ../classes/ad_type_content.php:68 ..
881
+ #: classes/ad_type_content.php:69
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
+
890
+ #: ../admin/views/ad-group-list-form-row.php:5
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
+
900
+ #: ../admin/views/ad-group-list-form-row.php:15
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
+
917
+ #: ../admin/views/ad-group-list-header.php:3
918
+ msgid "Ad Group"
919
+ msgstr "Anzeigengruppe"
920
+
921
+ #: ../admin/views/ad-group-list-header.php:4
922
+ 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
+
935
+ #: ../admin/views/ad-group-list-row.php:14
936
+ #, php-format
937
+ msgid "Learn more about using groups in the <a href=\"%s\" target=\"_blank\">manual</a>."
938
+ msgstr ""
939
+ "Mehr über Anzeigengruppen finden Sie in der <a href=\"%s\" "
940
+ "target=\"_blank\">Anleitung (engl.)</a>."
941
 
942
+ #: ../admin/views/ad-group-list-row.php:19
943
+ #, php-format
944
+ msgid "Type: %s"
945
+ msgstr "Typ: %s"
946
 
947
+ #: ../admin/views/ad-group-list-row.php:20
948
+ #, php-format
949
+ msgid "ID: %s"
950
+ msgstr "ID: %s"
951
 
952
+ #: ../admin/views/ad-group-list-row.php:21
953
+ #, php-format
954
+ msgid "Slug: %s"
955
+ msgstr "Slug: %s"
956
 
957
+ #: ../admin/views/ad-group.php:18
958
+ msgid "Ad Groups successfully updated"
959
+ msgstr "Anzeigengruppe erfolgreich aktualisiert."
960
 
961
+ #: ../admin/views/ad-group.php:46
962
  #, php-format
963
  msgid "Search results for &#8220;%s&#8221;"
964
  msgstr "Suchergebnisse für &#8220;%s&#8221;"
965
 
966
+ #: ../admin/views/ad-group.php:52
967
  msgid ""
968
  "Ad Groups are a very flexible method to bundle ads. You can use them to "
969
  "display random ads in the frontend or run split tests, but also just for "
976
  "Anzeigen-Gruppe kann mehrere Anzeigen enthalten, aber eine Anzeige kann auch "
977
  "zu mehreren Anzeigen-Gruppen gehören."
978
 
979
+ #: ../admin/views/ad-group.php:60
980
  msgid "How to display an Ad Group?"
981
  msgstr "Wie kann eine Anzeigengruppe angezeigt werden?"
982
 
983
+ #: ../admin/views/ad-group.php:62
984
  #, php-format
985
  msgid ""
986
  "Examples on how to display an ad group? Find more help and examples in the "
989
  "Suchen Sie Beispiele, wie eine Anzeigen-Gruppe veröffentlicht wird? Sie "
990
  "finden Hilfe in der <a href=\"%s\" target=\"_blank\">Anleitung</a>"
991
 
992
+ #: ../admin/views/ad-group.php:64
 
 
 
 
 
993
  msgid "To display an ad group with the ID 6 in content fields"
994
  msgstr "Zum Anzeigen einer Anzeigen-Gruppe mit der ID 6 im Beitrag."
995
 
996
+ #: ../admin/views/ad-group.php:67
 
 
 
 
 
997
  msgid "To display an ad group with the ID 6 in template files"
998
  msgstr "Zum Anzeigen einer Anzeigen-Gruppe mit der ID 6 in Template-Dateien"
999
 
1000
+ #: ../admin/views/ad-group.php:87
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"
1007
 
1008
+ #: ../admin/views/ad-output-metabox.php:1
1009
  msgid "Everything connected to the ads layout and output."
1010
  msgstr "Alles was mit dem Layout und der Ausgabe im Frontend zusammenhängt."
1011
 
1012
+ #: ../admin/views/ad-output-metabox.php:5
1013
  msgid "Position"
1014
  msgstr "Position"
1015
 
1016
+ #: ../admin/views/ad-output-metabox.php:6
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"
1024
 
1025
+ #: ../admin/views/ad-output-metabox.php:8
1026
  msgid "left"
1027
  msgstr "links"
1028
 
1029
+ #: ../admin/views/ad-output-metabox.php:11
1030
  msgid "center"
1031
  msgstr "mittig"
1032
 
1033
+ #: ../admin/views/ad-output-metabox.php:14
1034
  msgid "right"
1035
  msgstr "rechts"
1036
 
1037
+ #: ../admin/views/ad-output-metabox.php:19
1038
  msgid ""
1039
  "Check this if you don't want the following elements to float around the ad. "
1040
  "(adds a clearfix)"
1042
  "Aktivieren Sie diese Funktion, wenn sich nachfolgende Elemente nicht um die "
1043
  "Anzeige legen sollen. (Fügt ein Clearfix hinzu)"
1044
 
1045
+ #: ../admin/views/ad-output-metabox.php:22
1046
  msgid "Margin"
1047
  msgstr "Abstand"
1048
 
1049
+ #: ../admin/views/ad-output-metabox.php:23
1050
  msgid "top:"
1051
  msgstr "oben:"
1052
 
1053
+ #: ../admin/views/ad-output-metabox.php:25
1054
  msgid "right:"
1055
  msgstr "rechts:"
1056
 
1057
+ #: ../admin/views/ad-output-metabox.php:27
1058
  msgid "bottom:"
1059
  msgstr "unten:"
1060
 
1061
+ #: ../admin/views/ad-output-metabox.php:29
1062
  msgid "left:"
1063
  msgstr "links:"
1064
 
1065
+ #: ../admin/views/ad-output-metabox.php:31
1066
  msgid "tip: use this to add a margin around the ad"
1067
  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
 
1083
+ #: ../admin/views/ad-submitbox-meta.php:4
1084
  msgid "Set expiry date"
1085
  msgstr "Verfallsdatum setzen"
1086
 
1087
+ #: ../admin/views/ad-submitbox-meta.php:11
1088
+ #, php-format
1089
+ msgctxt "1: month number (01, 02, etc.), 2: month abbreviation"
1090
+ msgid "%1$s-%2$s"
1091
+ msgstr "%1$s-%2$s"
1092
+
1093
+ #: ../admin/views/ad-submitbox-meta.php:20
1094
+ #, php-format
1095
+ 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
  "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 "
1123
+ "<a href=\"%s\" target=\"_blank\">Responsive add-on</a>."
1124
+ msgstr ""
1125
+ "Nutzen Sie die <a href=\"%s\" target=\"_blank\">Responsive-Erweiterung</a> und "
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 "
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."
1175
+ msgstr ""
1176
+ "Dieser Bildschirm ist in Arbeit. Sie können die Informationen verwenden, "
1177
+ "wenn Sie sie verstehen, aber es gibt hier für Sie nichts zu tun."
1178
 
1179
+ #: ../admin/views/placements.php:8
1180
+ msgid "Couldn’t create empty or existing slug."
1181
+ msgstr ""
1182
+ "Platzierung aufgrund der leeren Angabe oder eines bereits vergebenen Slugs "
1183
+ "nicht angelegt.\n"
1184
 
1185
+ #: ../admin/views/placements.php:10
1186
+ msgid "Placements updated"
1187
+ msgstr "Platzierungen aktualisiert"
1188
 
1189
+ #: ../admin/views/placements.php:15
1190
  msgid ""
1191
  "Placements are physically places in your theme and posts. You can use them "
1192
  "if you plan to change ads and ad groups on the same place without the need "
1197
  "Position austauschen möchten, ohne eine Änderung der Templates oder Seiten-"
1198
  "Inhalte vorzunehmen."
1199
 
1200
+ #: ../admin/views/placements.php:16
1201
  #, php-format
1202
  msgid ""
1203
  "See also the manual for more information on <a href=\"%s\">placements</a> and "
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."
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."
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
  "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
  "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 "
1366
+ "appear."
1367
+ msgstr ""
1368
+ "Sekundäre Anfragen (secundary queries) sind eigene Abfragen von Beiträgen "
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."
1375
 
1376
+ #: ../classes/ad_placements.php:35
1377
  msgid "header"
1378
  msgstr "Header"
1379
 
1380
+ #: ../classes/ad_placements.php:36
1381
  msgid "Injected in Header (before closing </head> Tag, often not visible)."
1382
  msgstr ""
1383
  "Injiziert in den Header, und zwar vor das schließende </head>-Tag (oft nicht "
1384
  "sichtbar)."
1385
 
1386
+ #: ../classes/ad_placements.php:39
1387
  msgid "footer"
1388
  msgstr "Footer"
1389
 
1390
+ #: ../classes/ad_placements.php:40
1391
  msgid "Injected in Footer (before closing </body> Tag)."
1392
  msgstr "Injiziert in den Footer, und zwar vor das schließende </body>-Tag)."
1393
 
1394
+ #: ../classes/ad_placements.php:43
1395
  msgid "before post"
1396
  msgstr "Vor dem Beitrag"
1397
 
1398
+ #: ../classes/ad_placements.php:44
1399
  msgid "Injected before the post content."
1400
  msgstr "Injiziert vor den Beitrags-Inhalt."
1401
 
1402
+ #: ../classes/ad_placements.php:47
1403
  msgid "after post"
1404
  msgstr "Nach dem Beitrag"
1405
 
1406
+ #: ../classes/ad_placements.php:48
1407
  msgid "Injected after the post content."
1408
  msgstr "Injiziert hinter den Beitrags-Inhalt."
1409
 
1410
+ #: ../classes/ad_placements.php:51
1411
  msgid "post content"
1412
  msgstr "Im Beitrag"
1413
 
1414
+ #: ../classes/ad_placements.php:52
1415
  msgid ""
1416
  "Injected into the post content. You can choose the paragraph after which the "
1417
  "ad content is displayed."
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)"
1441
 
1442
+ #: ../classes/ad_type_content.php:35
1443
  msgid "Rich Content"
1444
  msgstr "Rich Content"
1445
 
1446
+ #: ../classes/ad_type_content.php:36
1447
  msgid ""
1448
  "The full content editor from WordPress with all features like shortcodes, "
1449
  "image upload or styling, but also simple text/html mode for scripts and code."
1451
  "Der vollständige Content-Editor von Wordpress mit allen Funktionen wie "
1452
  "Textbearbeitung, Shortcodes, Bild-Upload oder -Styling."
1453
 
1454
+ #: ../classes/ad_type_content.php:63
1455
  msgid "Please <strong>save the ad</strong> before changing it to the content type."
1456
  msgstr ""
1457
  "Bitte <strong>speichern Sie die Anzeige</strong>, bevor Sie den Anzeigentyp "
1458
  "wechseln."
1459
 
1460
+ #: ../classes/ad_type_content.php:66
1461
  msgid "Save Draft"
1462
  msgstr "Entwurf speichern"
1463
 
1464
+ #: ../classes/ad_type_plain.php:31
1465
+ msgid "Plain Text and Code"
1466
+ msgstr "Nur Text und Code"
1467
+
1468
+ #: ../classes/ad_type_plain.php:32
1469
  msgid ""
1470
  "Simple text editor without any filters. You might use it to display "
1471
  "unfiltered content, php code or javascript. Shortcodes and other WordPress "
1475
  "ungefiltertem Inhalt, PHP-Code oder JavaScript benutzen. Shortcodes und "
1476
  "ähnliche WordPress-Funktionen funktionieren hier nicht."
1477
 
1478
+ #: ../classes/ad_type_plain.php:67
1479
  msgid "Insert plain text or code into this field."
1480
  msgstr "Fügen Sie Text oder Code in dieses Feld ein."
1481
 
1482
+ #: ../classes/ad_type_plain.php:70
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."
1489
 
1490
+ #: ../classes/widget.php:51
1491
  msgid "Title:"
1492
  msgstr "Titel:"
1493
 
1494
+ #: ../includes/array_ad_conditions.php:38
1495
  msgid "Post Types"
1496
  msgstr "Beitrags-Typen"
1497
 
1498
+ #: ../includes/array_ad_conditions.php:44
1499
+ msgid "Categories, Tags and Taxonomies"
1500
+ msgstr "Kategorien, Schlagworte und Taxonomien"
1501
+
1502
+ #: ../includes/array_ad_conditions.php:45
1503
  msgid ""
1504
  "Choose terms from public category, tag and other taxonomies a post must "
1505
  "belong to in order to have ads."
1507
  "Wählen Sie aus öffentlichen Kategorien, Tags und anderen Taxonomien jene aus,"
1508
  " zu denen ein Beitrag gehören muss, damit auf ihm Anzeigen erscheinen."
1509
 
1510
+ #: ../includes/array_ad_conditions.php:50
1511
  msgid "Category Archives"
1512
  msgstr "Kategorie-Archive"
1513
 
1514
+ #: ../includes/array_ad_conditions.php:51
1515
  msgid "comma seperated IDs of category archives"
1516
  msgstr "Komma-getrennte IDs der Kategorie Archive"
1517
 
1518
+ #: ../includes/array_ad_conditions.php:56
1519
  msgid "Individual Posts, Pages and Public Post Types"
1520
  msgstr "Einzelne Beiträge, Seiten und öffentliche Beitrag-Typen"
1521
 
1522
+ #: ../includes/array_ad_conditions.php:62
1523
  msgid "Home Page"
1524
  msgstr "Homepage"
1525
 
1526
+ #: ../includes/array_ad_conditions.php:63
1527
+ msgid "show on Home page"
1528
+ msgstr "Auf der Startseite anzeigen"
1529
 
1530
+ #: ../includes/array_ad_conditions.php:67
1531
  msgid "Singular Pages"
1532
  msgstr "Einzelseiten"
1533
 
1534
+ #: ../includes/array_ad_conditions.php:68
1535
+ msgid "show on singular pages/posts"
1536
+ msgstr "Auf Einzelseiten anzeigen"
1537
 
1538
+ #: ../includes/array_ad_conditions.php:72
1539
  msgid "Archive Pages"
1540
  msgstr "Archiv-Seiten"
1541
 
1542
+ #: ../includes/array_ad_conditions.php:73
1543
+ msgid "show on any type of archive page (category, tag, author and date)"
1544
  msgstr ""
1545
+ "Auf jeglichen Archiv-Seiten anzeigen (z.B. Kategorien, Schlagworte, "
1546
+ "Autorenarchiv, Datumsarchiv)"
1547
+
1548
+ #: ../includes/array_ad_conditions.php:77
1549
+ msgid "Search Results"
1550
+ msgstr "Ergebnisse suchen"
1551
 
1552
+ #: ../includes/array_ad_conditions.php:78
1553
+ msgid "show on search result pages"
1554
+ msgstr "Auf Suchergebnisseiten anzeigen"
1555
 
1556
+ #: ../includes/array_ad_conditions.php:82
1557
  msgid "404 Page"
1558
  msgstr "404-Seite"
1559
 
1560
+ #: ../includes/array_ad_conditions.php:83
1561
+ msgid "show on 404 error page"
1562
+ msgstr "Auf 404-Fehlerseiten anzeigen"
1563
 
1564
+ #: ../includes/array_ad_conditions.php:87
1565
  msgid "Attachment Pages"
1566
  msgstr "Anhang-Seiten"
1567
 
1568
+ #: ../includes/array_ad_conditions.php:88
1569
+ msgid "show on attachment pages"
1570
+ msgstr "Auf Anhang-Seiten anzeigen"
1571
 
1572
+ #: ../includes/array_ad_conditions.php:92
1573
+ msgid "Secondary Queries"
1574
+ msgstr "Sekundäre Abfragen"
1575
 
1576
+ #: ../includes/array_ad_conditions.php:93
1577
+ msgid "allow ads in secondary queries"
1578
+ msgstr "In sekundären Abfragen (secundary queries) anzeigen\n"
 
 
 
 
1579
 
1580
+ #: ../modules/gadsense/main.php:19
1581
+ msgid " at "
1582
+ msgstr " um "
1583
 
1584
+ #: ../modules/gadsense/admin/class-gadsense-admin.php:26 ..
1585
+ #: modules/gadsense/admin/views/adsense-ad-parameters.php:30
1586
+ msgid "Responsive"
1587
+ msgstr ""
1588
 
1589
+ #: ../modules/gadsense/admin/class-gadsense-admin.php:44
1590
+ msgid "The ad details couldn't be retrieved from the ad code"
1591
+ msgstr "Die Anzeigendetails konnten nicht vom Ad Code ermittelt werden."
1592
 
1593
+ #: ../modules/gadsense/admin/class-gadsense-admin.php:45
1594
+ msgid ""
1595
+ "Warning : The AdSense account from this code does not match the one set with "
1596
+ "the Advanced Ads Plugin. This ad might cause troubles when used in the front "
1597
+ "end."
1598
+ msgstr ""
1599
+ "Achtung: Das AdSense Konto von diesem Code entspricht nicht dem Konto das in "
1600
+ "den Einstellungen hinterlegt wurde. Es kann zu Problemen bei der Anzeige "
1601
+ "kommen."
1602
 
1603
+ #: ../modules/gadsense/admin/class-gadsense-admin.php:46
1604
+ msgid ""
1605
+ "Warning : You have not yet entered an AdSense account ID. The plugin won’t "
1606
+ "work without that"
1607
+ msgstr ""
1608
+ "Achtung: Sie haben noch keine AdSense-ID in den Einstellungen hinterlegt. "
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
 
1616
+ #: ../modules/gadsense/admin/class-gadsense-admin.php:69
1617
+ 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 "
1649
+ "Service\">TOS</a> imposes a limit of %d display ads per page. You can disable "
1650
+ "this limitation at your own risks."
1651
+ msgstr ""
1652
+ "Die <a target=\"_blank\" href=\"%s\" title=\"Terms Of "
1653
+ "Service\">Nutzungsbedingungen von Google AdSense</a> erlauben maximal %d "
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>"
1673
+ msgstr "<a class=\"button\" href=\"#\" id=\"%s\">Anzeigencode eingeben</a>"
1674
 
1675
+ #: ../modules/gadsense/admin/views/adsense-ad-parameters.php:23
1676
+ msgid "Ad Slot ID"
1677
+ msgstr "Anzeigen-ID"
1678
 
1679
+ #: ../modules/gadsense/admin/views/adsense-ad-parameters.php:29
1680
+ msgid "Normal"
1681
+ msgstr ""
1682
 
1683
+ #: ../modules/gadsense/admin/views/adsense-ad-parameters.php:34
1684
+ #, php-format
1685
+ msgid ""
1686
+ "Use the <a href=\"%s\" target=\"_blank\">Responsive add-on</a> in order to "
1687
+ "define the exact creative for each browser width."
1688
+ msgstr ""
1689
+ "Mit der <a href=\"%s\" target=\"_blank\">Responsive-Erweiterung</a> können Sie "
1690
+ "die Breite der Anzeigen für jede Browserbreite angeben."
1691
 
1692
+ #: ../modules/gadsense/admin/views/adsense-ad-parameters.php:43
1693
+ msgid "Resizing"
1694
+ msgstr "Größe"
1695
 
1696
+ #: ../modules/gadsense/admin/views/adsense-ad-parameters.php:54
1697
+ msgid "Copy the ad code from your AdSense account and paste it in the area below"
1698
+ msgstr "Kopieren Sie den Anzeigencode von AdSense einfach unten in das Feld"
1699
 
1700
+ #: ../modules/gadsense/admin/views/adsense-ad-parameters.php:57
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"
1711
 
1712
+ #: ../modules/gadsense/includes/class-ad-type-adsense.php:36
1713
+ msgid "Use ads from your Google AdSense account"
1714
+ msgstr "Anzeigen aus Ihrem Google AdSense Konto"
1715
 
1716
+ #: ../modules/gadsense/includes/class-gadsense-data.php:42
1717
+ msgid "Auto"
1718
+ msgstr ""
1719
 
1720
+ #: ../public/class-advanced-ads.php:299
1721
+ #, php-format
1722
+ msgid "Advanced Ads Error: %s"
1723
+ msgstr "Advanced-Ads-Fehler: %s"
1724
 
1725
+ #: ../public/class-advanced-ads.php:503
1726
+ msgctxt "ad group general name"
1727
+ msgid "Ad Groups"
1728
+ msgstr "Anzeigen-Gruppen"
1729
 
1730
+ #: ../public/class-advanced-ads.php:504
1731
+ msgctxt "ad group singular name"
1732
+ msgid "Ad Group"
1733
+ msgstr "Anzeigen-Gruppe"
1734
 
1735
+ #: ../public/class-advanced-ads.php:505
1736
  msgid "Search Ad Groups"
1737
  msgstr "Anzeigen-Gruppen suchen"
1738
 
1739
+ #: ../public/class-advanced-ads.php:506
1740
  msgid "All Ad Groups"
1741
  msgstr "Alle Anzeigen-Gruppen"
1742
 
1743
+ #: ../public/class-advanced-ads.php:507
1744
  msgid "Parent Ad Groups"
1745
  msgstr "Parent-Anzeigen-Gruppen"
1746
 
1747
+ #: ../public/class-advanced-ads.php:508
1748
  msgid "Parent Ad Groups:"
1749
  msgstr "Parent-Anzeigen-Gruppen"
1750
 
1751
+ #: ../public/class-advanced-ads.php:509
1752
  msgid "Edit Ad Group"
1753
  msgstr "Bearbeite Anzeigen-Gruppe"
1754
 
1755
+ #: ../public/class-advanced-ads.php:510
1756
  msgid "Update Ad Group"
1757
  msgstr "Aktualisiere Anzeigen-Gruppe"
1758
 
1759
+ #: ../public/class-advanced-ads.php:511
1760
  msgid "Add New Ad Group"
1761
  msgstr "Neue Anzeigengruppe hinzufügen"
1762
 
1763
+ #: ../public/class-advanced-ads.php:512
1764
  msgid "New Ad Groups Name"
1765
  msgstr "Neuer Anzeigen-Gruppen-Name"
1766
 
1767
+ #: ../public/class-advanced-ads.php:514
1768
  msgid "No Ad Group found"
1769
  msgstr "Keine Anzeigen-Gruppe gefunden"
1770
 
1771
+ #: ../public/class-advanced-ads.php:541 ../public/class-advanced-ads.php:545
1772
  msgid "New Ad"
1773
  msgstr "Neue Anzeige"
1774
 
1775
+ #: ../public/class-advanced-ads.php:542
1776
  msgid "Add New Ad"
1777
  msgstr "Neue Anzeige hinzufügen"
1778
 
1779
+ #: ../public/class-advanced-ads.php:544
1780
  msgid "Edit Ad"
1781
  msgstr "Anzeige bearbeiten"
1782
 
1783
+ #: ../public/class-advanced-ads.php:546
1784
  msgid "View"
1785
  msgstr "Ansicht"
1786
 
1787
+ #: ../public/class-advanced-ads.php:547
1788
  msgid "View the Ad"
1789
  msgstr "Anzeige ansehen"
1790
 
1791
+ #: ../public/class-advanced-ads.php:548
1792
  msgid "Search Ads"
1793
  msgstr "Anzeigen suchen"
1794
 
1795
+ #: ../public/class-advanced-ads.php:549
1796
  msgid "No Ads found"
1797
  msgstr "Keine Anzeigen gefunden"
1798
 
1799
+ #: ../public/class-advanced-ads.php:550
1800
  msgid "No Ads found in Trash"
1801
  msgstr "Keine Anzeigen im Papierkorb gefunden"
1802
 
1803
+ #: ../public/class-advanced-ads.php:551
1804
  msgid "Parent Ad"
1805
  msgstr "Übergeordnete Anzeige"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
languages/advanced-ads.pot CHANGED
@@ -1,1372 +1,1673 @@
1
- # Copyright (C) 2013 Thomas Maier, webgilde.com
2
- # This file is distributed under the same license as the Advanced_Ads package.
3
- msgid ""
4
- 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
- "PO-Revision-Date: 2015-01-27 16:47+0100\n"
9
- "Last-Translator: Thomas Maier <post@webzunft.de>\n"
10
- "Language-Team: webgilde <thomas.maier@webgilde.com>\n"
11
- "Language: en\n"
12
- "MIME-Version: 1.0\n"
13
- "Content-Type: text/plain; charset=UTF-8\n"
14
- "Content-Transfer-Encoding: 8bit\n"
15
- "X-Generator: Poedit 1.6.5\n"
16
- "X-Poedit-KeywordsList: __;_e;_n;_x;esc_html_e;esc_html__;esc_attr_e;"
17
- "esc_attr__;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;_x:1,2c;_n:1,2\n"
18
- "X-Poedit-Basepath: ../\n"
19
- "Plural-Forms: nplurals=2; plural=n != 1;\n"
20
- "X-Poedit-SourceCharset: UTF-8\n"
21
- "X-Poedit-SearchPath-0: .\n"
22
-
23
- #: admin/class-advanced-ads-admin.php:194
24
- #, php-format
25
- msgid ""
26
- "Advanced Ads Update: Auto injections are now managed through placements. "
27
- "Please convert these ads with auto injections: %s"
28
- msgstr ""
29
-
30
- #: admin/class-advanced-ads-admin.php:208
31
- msgid "Overview"
32
- msgstr ""
33
-
34
- #: admin/class-advanced-ads-admin.php:208 classes/widget.php:21
35
- msgid "Advanced Ads"
36
- msgstr ""
37
-
38
- #: admin/class-advanced-ads-admin.php:212
39
- #: admin/includes/class-ad-groups-list-table.php:191
40
- #: admin/views/overview.php:12 admin/views/placements.php:91
41
- #: classes/widget.php:66 public/class-advanced-ads.php:566
42
- msgid "Ads"
43
- msgstr ""
44
-
45
- #: classes/widget.php:59
46
- msgid "Ad Groups"
47
- msgstr ""
48
-
49
- #: public/class-advanced-ads.php:540
50
- msgid "Groups"
51
- msgstr ""
52
-
53
- #: admin/class-advanced-ads-admin.php:216 admin/views/placements.php:84
54
- #: admin/views/placements.php:47
55
- msgid "Placements"
56
- msgstr ""
57
-
58
- #: admin/class-advanced-ads-admin.php:216 admin/views/overview.php:40
59
- msgid ""
60
- "You attempted to edit an ad group that doesn&#8217;t exist. Perhaps it was "
61
- "deleted?"
62
- msgstr ""
63
-
64
- #: admin/class-advanced-ads-admin.php:221 admin/views/debug.php:19
65
- msgid "Ad Placements"
66
- msgstr ""
67
-
68
- #: admin/class-advanced-ads-admin.php:221 admin/views/overview.php:66
69
- #, fuzzy
70
- msgid "Visitor Conditions"
71
- msgstr "Anzeigebedingungen"
72
-
73
- #, php-format
74
- msgid ""
75
- "Only enable this if you can and want to use the advanced JavaScript "
76
- "functions described <a href=\"%s\">here</a>."
77
- msgstr ""
78
-
79
- #: admin/class-advanced-ads-admin.php:225
80
- msgid "Advanced Ads Settings"
81
- msgstr ""
82
-
83
- #: admin/class-advanced-ads-admin.php:225
84
- #: admin/class-advanced-ads-admin.php:403 admin/views/debug.php:13
85
- msgid "Settings"
86
- msgstr ""
87
-
88
- #: admin/class-advanced-ads-admin.php:228
89
- msgid "Advanced Ads Debugging"
90
- msgstr ""
91
-
92
- #: admin/class-advanced-ads-admin.php:228
93
- msgid "Debug"
94
- msgstr ""
95
-
96
- #: admin/class-advanced-ads-admin.php:272
97
- msgid "Placements updated"
98
- msgstr ""
99
-
100
- #: admin/class-advanced-ads-admin.php:316
101
- #: admin/class-advanced-ads-admin.php:343
102
- msgid "Sorry, you are not allowed to access this feature."
103
- msgstr ""
104
-
105
- #: admin/class-advanced-ads-admin.php:329
106
- msgid "From the ad optimization universe"
107
- msgstr ""
108
-
109
- #: admin/includes/class-ad-groups-list-table.php:57
110
- #, fuzzy, php-format
111
- msgid "Select %s"
112
- msgstr "%s und %s | Kreuzworträtsel-Hilfe"
113
-
114
- #: admin/includes/class-ad-groups-list-table.php:94
115
- #, php-format
116
- msgid "Edit &#8220;%s&#8221;"
117
- msgstr ""
118
-
119
- #: admin/includes/class-ad-groups-list-table.php:99
120
- #: admin/includes/class-ad-groups-list-table.php:167
121
- #: public/class-advanced-ads.php:570
122
- #, fuzzy
123
- msgid "Edit"
124
- msgstr "Kreuzworträtsel bearbeiten"
125
-
126
- #: admin/includes/class-ad-groups-list-table.php:108
127
- msgid "Delete"
128
- msgstr ""
129
-
130
- #: admin/includes/class-ad-groups-list-table.php:162
131
- msgid "Ad weight"
132
- msgstr ""
133
-
134
- #: admin/includes/class-ad-groups-list-table.php:188
135
- #: admin/views/placements.php:40 admin/views/placements.php:64
136
- msgid "ID"
137
- msgstr "ID"
138
-
139
- #: admin/includes/class-ad-groups-list-table.php:189
140
- msgid "Ad Group"
141
- msgstr ""
142
-
143
- #: admin/includes/class-ad-groups-list-table.php:190
144
- msgid "Slug"
145
- msgstr ""
146
-
147
- #: admin/includes/class-display-condition-callbacks.php:28
148
- msgid "Display on all public <strong>post types</strong>."
149
- msgstr ""
150
-
151
- #: admin/includes/class-display-condition-callbacks.php:31
152
- #: includes/array_ad_conditions.php:34
153
- msgid "Choose the public post types on which to display the ad."
154
- msgstr ""
155
-
156
- #: admin/includes/class-display-condition-callbacks.php:86
157
- msgid "Display for all <strong>categories, tags and taxonomies</strong>."
158
- msgstr ""
159
-
160
- #: admin/includes/class-display-condition-callbacks.php:88
161
- msgid "Display here"
162
- msgstr "Hier anzeigen"
163
-
164
- #: admin/includes/class-display-condition-callbacks.php:88
165
- msgid ""
166
- "Choose terms from public categories, tags and other taxonomies a post must "
167
- "belong to in order to have ads."
168
- msgstr ""
169
-
170
- #: admin/includes/class-display-condition-callbacks.php:121
171
- #: admin/includes/class-display-condition-callbacks.php:208
172
- #, fuzzy
173
- msgid "Hide from here"
174
- msgstr "Hier anzeigen"
175
-
176
- #: admin/includes/class-display-condition-callbacks.php:121
177
- msgid ""
178
- "Choose the terms from public categories, tags and other taxonomies a post "
179
- "must belong to hide the ad from it."
180
- msgstr ""
181
-
182
- #: admin/includes/class-display-condition-callbacks.php:172
183
- msgid "Display on all <strong>category archive pages</strong>."
184
- msgstr ""
185
-
186
- #: admin/includes/class-display-condition-callbacks.php:175
187
- msgid ""
188
- "Choose the terms from public categories, tags and other taxonomies on "
189
- "which's archive page ads can appear"
190
- msgstr ""
191
-
192
- #: admin/includes/class-display-condition-callbacks.php:208
193
- msgid ""
194
- "Choose the terms from public categories, tags and other taxonomies on "
195
- "which's archive pages ads are hidden."
196
- msgstr ""
197
-
198
- #: admin/includes/class-display-condition-callbacks.php:246
199
- msgid ""
200
- "Display an all <strong>individual posts, pages</strong> and public post type "
201
- "pages"
202
- msgstr ""
203
-
204
- #: admin/includes/class-display-condition-callbacks.php:249
205
- #: includes/array_ad_conditions.php:52
206
- msgid ""
207
- "Choose on which individual posts, pages and public post type pages you want "
208
- "to display or hide ads."
209
- msgstr ""
210
-
211
- #: admin/includes/class-display-condition-callbacks.php:266
212
- msgid "What should happen with ads on the list of individual posts below?"
213
- msgstr ""
214
-
215
- #: admin/includes/class-display-condition-callbacks.php:267
216
- #, fuzzy
217
- msgid "ignore the list"
218
- msgstr "Wortlistenansicht ändern"
219
-
220
- #: admin/includes/class-display-condition-callbacks.php:268
221
- #, fuzzy
222
- msgid "display the ad only there"
223
- msgstr "Anzeigebedingungen"
224
-
225
- #: admin/includes/class-display-condition-callbacks.php:269
226
- #, fuzzy
227
- msgid "hide the ad here"
228
- msgstr "Hier anzeigen"
229
-
230
- #: admin/includes/class-display-condition-callbacks.php:277
231
- #, fuzzy
232
- msgid "Update warning"
233
- msgstr "Thema aktualisieren"
234
-
235
- #: admin/includes/class-display-condition-callbacks.php:278
236
- msgid ""
237
- "Due to some conflicts before version 1.2.6, it is from now on only possible "
238
- "to choose either individual pages to include or exclude an ad, but not both "
239
- "with mixed settings. It seems you are still using mixed settings on this "
240
- "page. Please consider changing your setup for this ad."
241
- msgstr ""
242
-
243
- #: admin/includes/class-display-condition-callbacks.php:279
244
- #, fuzzy
245
- msgid "Your old values are:"
246
- msgstr "Eingabe mit der Tastatur oder durch Klick auf die Zeilen."
247
-
248
- #: admin/includes/class-display-condition-callbacks.php:280
249
- msgid "Post IDs the ad is displayed on:"
250
- msgstr ""
251
-
252
- #: admin/includes/class-display-condition-callbacks.php:281
253
- msgid "Post IDs the ad is hidden from:"
254
- msgstr ""
255
-
256
- #: admin/includes/class-display-condition-callbacks.php:282
257
- msgid ""
258
- "Below you find the pages the ad is displayed on. If this is ok, just save "
259
- "the ad. If not, please update your settings."
260
- msgstr ""
261
-
262
- #: admin/includes/class-display-condition-callbacks.php:322
263
- #, fuzzy
264
- msgid "new"
265
- msgstr "Neues Kreuzworträtsel"
266
-
267
- #: admin/includes/class-display-condition-callbacks.php:324
268
- msgid "type the title"
269
- msgstr ""
270
-
271
- #: admin/includes/class-list-table.php:186
272
- #, fuzzy
273
- msgid "No items found."
274
- msgstr "Keine Kreuzworträtsel gefunden"
275
-
276
- #: admin/includes/class-list-table.php:310
277
- msgid "Bulk Actions"
278
- msgstr ""
279
-
280
- #: admin/includes/class-list-table.php:320
281
- msgid "Apply"
282
- msgstr ""
283
-
284
- #: admin/includes/class-list-table.php:404
285
- #, fuzzy
286
- msgid "Show all dates"
287
- msgstr "(für alle anzeigen)"
288
-
289
- #: admin/includes/class-list-table.php:417
290
- #, php-format
291
- msgid "%1$s %2$d"
292
- msgstr ""
293
-
294
- #: admin/includes/class-list-table.php:433
295
- #, fuzzy
296
- msgid "List View"
297
- msgstr "Wortlistenansicht ändern"
298
-
299
- #: admin/includes/class-list-table.php:434
300
- #, fuzzy
301
- msgid "Excerpt View"
302
- msgstr "Ansicht"
303
-
304
- #: admin/includes/class-list-table.php:460
305
- #, fuzzy, php-format
306
- msgid "%s pending"
307
- msgstr "%s und %s | Kreuzworträtsel-Hilfe"
308
-
309
- #: admin/includes/class-list-table.php:528
310
- #: admin/includes/class-list-table.php:943
311
- #, php-format
312
- msgid "1 item"
313
- msgid_plural "%s items"
314
- msgstr[0] ""
315
- msgstr[1] ""
316
-
317
- #: admin/includes/class-list-table.php:546
318
- msgid "Go to the first page"
319
- msgstr ""
320
-
321
- #: admin/includes/class-list-table.php:553
322
- msgid "Go to the previous page"
323
- msgstr ""
324
-
325
- #: admin/includes/class-list-table.php:562
326
- msgid "Current page"
327
- msgstr ""
328
-
329
- #: admin/includes/class-list-table.php:568
330
- #, fuzzy, php-format
331
- msgctxt "paging"
332
- msgid "%1$s of %2$s"
333
- msgstr "%s und %s | Kreuzworträtsel-Hilfe"
334
-
335
- #: admin/includes/class-list-table.php:572
336
- msgid "Go to the next page"
337
- msgstr ""
338
-
339
- #: admin/includes/class-list-table.php:579
340
- #, fuzzy
341
- msgid "Go to the last page"
342
- msgstr "Letzte Muster"
343
-
344
- #: admin/includes/class-list-table.php:715
345
- #, fuzzy
346
- msgid "Select All"
347
- msgstr "(für alle anzeigen)"
348
-
349
- #: admin/views/ad-display-metabox.php:6
350
- msgid "Choose where to display the ad and where to hide it."
351
- msgstr ""
352
-
353
- #: admin/views/ad-display-metabox.php:9
354
- #, fuzzy
355
- msgid "Display ad everywhere"
356
- msgstr "Anzeigebedingungen"
357
-
358
- #: admin/views/ad-display-metabox.php:10
359
- #, fuzzy
360
- msgid "Set display conditions"
361
- msgstr "Anzeigebedingungen"
362
-
363
- #: admin/views/ad-display-metabox.php:14
364
- msgid "If you want to display the ad everywhere, don't do anything here. "
365
- msgstr ""
366
-
367
- #: admin/views/ad-display-metabox.php:15
368
- msgid "The fewer conditions you enter, the better the performance will be."
369
- msgstr ""
370
-
371
- #: admin/views/ad-display-metabox.php:16
372
- #, php-format
373
- msgid ""
374
- "Learn more about display conditions from the <a href=\"%s\" target=\"_blank"
375
- "\">manual</a>."
376
- msgstr ""
377
-
378
- #: admin/views/ad-display-metabox.php:32
379
- #, fuzzy
380
- msgid "Other conditions"
381
- msgstr "Anzeigebedingungen"
382
-
383
- #: admin/views/ad-display-metabox.php:33
384
- msgid ""
385
- "When using one of the two choices on checkbox conditions, the rule is "
386
- "binding. E.g. \"Front Page: show\" will result on the ad being only visible "
387
- "on the front page."
388
- msgstr ""
389
-
390
- #: admin/views/ad-display-metabox.php:38
391
- #, fuzzy
392
- msgid "show"
393
- msgstr "anzeigen"
394
-
395
- #: admin/views/ad-display-metabox.php:39
396
- #, fuzzy
397
- msgid "hide"
398
- msgstr "verbergen"
399
-
400
- #: admin/views/ad-display-metabox.php:59
401
- #, fuzzy
402
- msgid "clear"
403
- msgstr "Feld leeren"
404
-
405
- #: admin/views/ad-display-metabox.php:66
406
- #, fuzzy
407
- msgid "show debug output"
408
- msgstr "anzeigen"
409
-
410
- #: admin/views/ad-display-metabox.php:67
411
- msgid "Values saved for this ad in the database (post metas)"
412
- msgstr ""
413
-
414
- #: admin/views/ad-group-ads-inline-form.php:10
415
- msgctxt "ad group ads form"
416
- msgid "weight"
417
- msgstr ""
418
-
419
- #: admin/views/ad-group-ads-inline-form.php:24
420
- msgid "Cancel"
421
- msgstr ""
422
-
423
- #: admin/views/ad-group-ads-inline-form.php:25
424
- #: admin/views/ad-group-edit.php:70 classes/ad_type_content.php:68
425
- #: classes/ad_type_content.php:69
426
- #, fuzzy
427
- msgid "Update"
428
- msgstr "Thema aktualisieren"
429
-
430
- #: admin/views/ad-group-ads-inline-form.php:33
431
- msgid "There are no ads in this group"
432
- msgstr ""
433
-
434
- #: admin/views/ad-group-edit.php:14
435
- msgid "You did not select an item for editing."
436
- msgstr ""
437
-
438
- #: admin/views/ad-group-edit.php:33
439
- #, fuzzy
440
- msgctxt "Taxonomy Name"
441
- msgid "Name"
442
- msgstr "Produktname"
443
-
444
- #: admin/views/ad-group-edit.php:38
445
- msgctxt "Taxonomy Slug"
446
- msgid "Slug"
447
- msgstr ""
448
-
449
- #: admin/views/ad-group-edit.php:40
450
- msgid ""
451
- "An id-like string with only letters in lower case, numbers, and hyphens."
452
- msgstr ""
453
-
454
- #: admin/views/ad-group-edit.php:45
455
- #, fuzzy
456
- msgctxt "Taxonomy Parent"
457
- msgid "Parent"
458
- msgstr "Übergeordnetes Thema"
459
-
460
- #: admin/views/ad-group-edit.php:48 admin/views/ad-group-edit.php:50
461
- msgid "None"
462
- msgstr ""
463
-
464
- #: admin/views/ad-group-edit.php:56
465
- msgctxt "Taxonomy Description"
466
- msgid "Description"
467
- msgstr ""
468
-
469
- #: admin/views/ad-group-edit.php:68
470
- msgid "Create new Ad Group"
471
- msgstr ""
472
-
473
- #: admin/views/ad-group.php:33
474
- msgid "Ad Group added."
475
- msgstr ""
476
-
477
- #: admin/views/ad-group.php:34 admin/views/ad-group.php:38
478
- msgid "Ad Group deleted."
479
- msgstr ""
480
-
481
- #: admin/views/ad-group.php:35
482
- msgid "Ad Group updated."
483
- msgstr ""
484
-
485
- #: admin/views/ad-group.php:36
486
- msgid "Ad Group not added."
487
- msgstr ""
488
-
489
- #: admin/views/ad-group.php:37
490
- msgid "Ad Group not updated."
491
- msgstr ""
492
-
493
- #: admin/views/ad-group.php:55
494
- #, php-format
495
- msgid "Search results for &#8220;%s&#8221;"
496
- msgstr ""
497
-
498
- #: admin/views/ad-group.php:61
499
- msgid ""
500
- "Ad Groups are a very flexible method to bundle ads. You can use them to "
501
- "display random ads in the frontend or run split tests, but also just for "
502
- "informational purposes. Not only can an Ad Groups have multiple ads, but an "
503
- "ad can belong to multiple ad groups."
504
- msgstr ""
505
-
506
- #: admin/views/ad-group.php:69
507
- msgid "How to display an Ad Group?"
508
- msgstr ""
509
-
510
- #: admin/views/ad-group.php:71
511
- #, php-format
512
- msgid ""
513
- "Examples on how to display an ad group? Find more help and examples in the "
514
- "<a href=\"%s\" target=\"_blank\">manual</a>"
515
- msgstr ""
516
-
517
- #: admin/views/ad-group.php:72 admin/views/ad_info.php:6
518
- #: admin/views/placements.php:51
519
- msgid "shortcode"
520
- msgstr ""
521
-
522
- #: admin/views/ad-group.php:73
523
- msgid "To display an ad group with the ID 6 in content fields"
524
- msgstr ""
525
-
526
- #: admin/views/ad-group.php:75 admin/views/ad_info.php:9
527
- #: admin/views/placements.php:54
528
- msgid "template"
529
- msgstr ""
530
-
531
- #: admin/views/ad-group.php:76
532
- msgid "To display an ad group with the ID 6 in template files"
533
- msgstr ""
534
-
535
- #: admin/views/ad-inject-metabox.php:1
536
- msgid ""
537
- "Include ads on specific places automatically without shortcodes or functions."
538
- msgstr ""
539
-
540
- #: admin/views/ad-inject-metabox.php:4 admin/views/ad-inject-metabox.php:32
541
- msgid ""
542
- "This feature is now provided through placements. Please convert the settings "
543
- "made here to placements."
544
- msgstr ""
545
-
546
- #: admin/views/ad-inject-metabox.php:10
547
- msgid "Include in Header (before closing </head> Tag, probably not visible)"
548
- msgstr ""
549
-
550
- #: admin/views/ad-inject-metabox.php:16
551
- msgid "Include in Footer (before closing </body> Tag)"
552
- msgstr ""
553
-
554
- #: admin/views/ad-inject-metabox.php:22
555
- msgid "Include before the post content"
556
- msgstr ""
557
-
558
- #: admin/views/ad-inject-metabox.php:28
559
- msgid "Include after the post content"
560
- msgstr ""
561
-
562
- #: admin/views/ad-main-metabox.php:3
563
- msgid "No ad types defined"
564
- msgstr ""
565
-
566
- #: admin/views/ad-output-metabox.php:1
567
- msgid "Everything connected to the ads layout and output."
568
- msgstr ""
569
-
570
- #: admin/views/ad-output-metabox.php:5
571
- msgid "Position"
572
- msgstr ""
573
-
574
- #: admin/views/ad-output-metabox.php:6
575
- msgid "- default -"
576
- msgstr ""
577
-
578
- #: admin/views/ad-output-metabox.php:7 admin/views/placements.php:75
579
- #: classes/ad_placements.php:31
580
- msgid "default"
581
- msgstr ""
582
-
583
- #: admin/views/ad-output-metabox.php:8
584
- msgid "left"
585
- msgstr ""
586
-
587
- #: admin/views/ad-output-metabox.php:11
588
- msgid "center"
589
- msgstr ""
590
-
591
- #: admin/views/ad-output-metabox.php:14
592
- msgid "right"
593
- msgstr ""
594
-
595
- #: admin/views/ad-output-metabox.php:19
596
- msgid ""
597
- "Check this if you don't want the following elements to float around the ad. "
598
- "(adds a clearfix)"
599
- msgstr ""
600
-
601
- #: admin/views/ad-output-metabox.php:22
602
- msgid "Margin"
603
- msgstr ""
604
-
605
- #: admin/views/ad-output-metabox.php:23
606
- msgid "top:"
607
- msgstr ""
608
-
609
- #: admin/views/ad-output-metabox.php:25
610
- msgid "right:"
611
- msgstr ""
612
-
613
- #: admin/views/ad-output-metabox.php:27
614
- msgid "bottom:"
615
- msgstr ""
616
-
617
- #: admin/views/ad-output-metabox.php:29
618
- msgid "left:"
619
- msgstr ""
620
-
621
- #: admin/views/ad-output-metabox.php:31
622
- msgid "tip: use this to add a margin around the ad"
623
- msgstr ""
624
-
625
- #: admin/views/ad-parameters-metabox.php:15 classes/ad_ajax_callbacks.php:48
626
- msgid "size:"
627
- msgstr ""
628
-
629
- #: admin/views/ad-parameters-metabox.php:16 classes/ad_ajax_callbacks.php:49
630
- msgid "width"
631
- msgstr ""
632
-
633
- #: admin/views/ad-parameters-metabox.php:17 classes/ad_ajax_callbacks.php:50
634
- msgid "height"
635
- msgstr ""
636
-
637
- #: admin/views/ad-submitbox-meta.php:4
638
- msgid "Set expiry date"
639
- msgstr ""
640
-
641
- #: admin/views/ad-submitbox-meta.php:11
642
- #, fuzzy, php-format
643
- msgctxt "1: month number (01, 02, etc.), 2: month abbreviation"
644
- msgid "%1$s-%2$s"
645
- msgstr "%s und %s | Kreuzworträtsel-Hilfe"
646
-
647
- #: admin/views/ad-submitbox-meta.php:20
648
- #, fuzzy, php-format
649
- msgctxt "order of expiry date fields 1: month, 2: day, 3: year"
650
- msgid "%1$s %2$s, %3$s"
651
- msgstr "%s und %s | Kreuzworträtsel-Hilfe"
652
-
653
- #: admin/views/ad-visitor-metabox.php:1
654
- msgid ""
655
- "Display conditions that are based on the user. Use with caution on cached "
656
- "websites."
657
- msgstr ""
658
-
659
- #: admin/views/ad-visitor-metabox.php:8
660
- #, fuzzy
661
- msgid "Display on all devices"
662
- msgstr "(für alle anzeigen)"
663
-
664
- #: admin/views/ad-visitor-metabox.php:12
665
- msgid "only on mobile devices"
666
- msgstr ""
667
-
668
- #: admin/views/ad-visitor-metabox.php:16
669
- msgid "not on mobile devices"
670
- msgstr ""
671
-
672
- #: admin/views/ad_info.php:1
673
- #, fuzzy, php-format
674
- msgid "Ad Id: %s"
675
- msgstr "ID"
676
-
677
- #: admin/views/ad_info.php:2
678
- msgid "How to use this Ad?"
679
- msgstr ""
680
-
681
- #: admin/views/ad_info.php:5
682
- #, php-format
683
- msgid ""
684
- "How to display the ad directly? Find more help and examples in the <a href="
685
- "\"%s\" target=\"_blank\">manual</a>"
686
- msgstr ""
687
-
688
- #: admin/views/ad_info.php:7
689
- msgid "To display an ad in content fields"
690
- msgstr ""
691
-
692
- #: admin/views/ad_info.php:10
693
- msgid "To display an ad in template files"
694
- msgstr ""
695
-
696
- #: admin/views/debug.php:8
697
- msgid "Work in progress"
698
- msgstr ""
699
-
700
- #: admin/views/debug.php:9
701
- msgid ""
702
- "This screen is work in progress. You can use the information if you "
703
- "understand them, but there is nothing to do here yet."
704
- msgstr ""
705
-
706
- #: admin/views/debug.php:16
707
- msgid "Ad Condition Overview"
708
- msgstr ""
709
-
710
- #: admin/views/overview.php:13
711
- msgid ""
712
- "Ads are the smallest unit, containing the content or a single ad to be "
713
- "displayed."
714
- msgstr ""
715
-
716
- #: admin/views/overview.php:14
717
- #, php-format
718
- msgid "You have published %d ads."
719
- msgstr ""
720
-
721
- #: admin/views/overview.php:15
722
- #, php-format
723
- msgid "<a href=\"%s\">Manage</a> them or <a href=\"%s\">create</a> a new one"
724
- msgstr ""
725
-
726
- #: admin/views/overview.php:23
727
- msgid "recent ads"
728
- msgstr ""
729
-
730
- #: admin/views/overview.php:33
731
- msgid "Create your first ad"
732
- msgstr ""
733
-
734
- #: admin/views/overview.php:41
735
- msgid ""
736
- "Ad Groups contain ads and are currently used to rotate multiple ads on a "
737
- "single spot."
738
- msgstr ""
739
-
740
- #: admin/views/overview.php:42
741
- #, php-format
742
- msgid "You have %d groups."
743
- msgstr ""
744
-
745
- #: admin/views/overview.php:43 admin/views/overview.php:69
746
- #, php-format
747
- msgid "<a href=\"%s\">Manage</a> them."
748
- msgstr ""
749
-
750
- #: admin/views/overview.php:49
751
- msgid "recent groups"
752
- msgstr ""
753
-
754
- #: admin/views/overview.php:59
755
- msgid "Create your first group"
756
- msgstr ""
757
-
758
- #: admin/views/overview.php:67
759
- msgid ""
760
- "Ad Placements are the best way to manage where to display ads and groups."
761
- msgstr ""
762
-
763
- #: admin/views/overview.php:68
764
- #, php-format
765
- msgid "You have %d placements."
766
- msgstr ""
767
-
768
- #: admin/views/overview.php:75
769
- msgid "recent placements"
770
- msgstr ""
771
-
772
- #: admin/views/overview.php:85
773
- msgid "Create your first placement"
774
- msgstr ""
775
-
776
- #: admin/views/overview.php:93
777
- msgid "Manual and Support"
778
- msgstr ""
779
-
780
- #: admin/views/overview.php:94
781
- msgid "Need some help? These are your options"
782
- msgstr ""
783
-
784
- #: admin/views/overview.php:96
785
- #, php-format
786
- msgid "Visit the <a href=\"%s\">plugin homepage</a>"
787
- msgstr ""
788
-
789
- #: admin/views/overview.php:97
790
- #, php-format
791
- msgid "Have a look into the <a href=\"%s\">manual</a>"
792
- msgstr ""
793
-
794
- #: admin/views/overview.php:98
795
- #, php-format
796
- msgid ""
797
- "Ask a question to other users in the <a href=\"%s\">wordpress.org forum</a>"
798
- msgstr ""
799
-
800
- #: admin/views/overview.php:99
801
- #, php-format
802
- msgid "<a href=\"%s\">Hire the developer</a>"
803
- msgstr ""
804
-
805
- #: admin/views/overview.php:103
806
- #, fuzzy
807
- msgid "Add-ons"
808
- msgstr "Neues Kreuzworträtsel hinzufügen"
809
-
810
- #: admin/views/overview.php:104
811
- msgid "Want to boost your ad income? Try these add-ons"
812
- msgstr ""
813
-
814
- #: admin/views/overview.php:111
815
- #, fuzzy
816
- msgid "See Add-Ons"
817
- msgstr "Neues Kreuzworträtsel hinzufügen"
818
-
819
- #: admin/views/placements.php:14
820
- msgid ""
821
- "Placements are physically places in your theme and posts. You can use them "
822
- "if you plan to change ads and ad groups on the same place without the need "
823
- "to change your templates."
824
- msgstr ""
825
-
826
- #: admin/views/placements.php:15
827
- #, php-format
828
- msgid ""
829
- "See also the manual for more information on <a href=\"%s\">placements</a> "
830
- "and <a href=\"%s\">auto injection</a>."
831
- msgstr ""
832
-
833
- #: admin/views/placements.php:16
834
- #, fuzzy
835
- msgid "Create a new placement"
836
- msgstr "Wörter generieren"
837
-
838
- #: admin/views/placements.php:18 admin/views/placements.php:63
839
- #: modules/gadsense/admin/views/adsense-ad-parameters.php:16
840
- msgid "Type"
841
- msgstr ""
842
-
843
- #: admin/views/placements.php:27
844
- msgid "What is this?"
845
- msgstr ""
846
-
847
- #: admin/views/placements.php:29
848
- msgid ""
849
- "Placement types define how the placements works and where it is going to be "
850
- "displayed."
851
- msgstr ""
852
-
853
- #: admin/views/placements.php:38 admin/views/placements.php:62
854
- #, fuzzy
855
- msgid "Name"
856
- msgstr "Produktname"
857
-
858
- #: admin/views/placements.php:42
859
- msgid ""
860
- "Individual identifier. Allowed are alphanumeric signs (lower case) and "
861
- "hyphen."
862
- msgstr ""
863
-
864
- #: admin/views/placements.php:43
865
- msgid "You can assign Ads and Groups after you created the placement."
866
- msgstr ""
867
-
868
- #: admin/views/placements.php:44
869
- #, fuzzy
870
- msgid "Save New Placement"
871
- msgstr "Neues Kreuzworträtsel"
872
-
873
- #: admin/views/placements.php:48
874
- msgid "How to use the <i>default</i> Ad Placement?"
875
- msgstr ""
876
-
877
- #: admin/views/placements.php:50
878
- #, php-format
879
- msgid ""
880
- "Examples on how to use the <i>default</i> ad placement? Find more help and "
881
- "examples in the <a href=\"%s\" target=\"_blank\">manual</a>"
882
- msgstr ""
883
-
884
- #: admin/views/placements.php:52
885
- msgid "To use an ad placement with the ID skyscraper_left in content fields"
886
- msgstr ""
887
-
888
- #: admin/views/placements.php:55
889
- msgid "To use an ad placement with the ID skyscraper_left in template files"
890
- msgstr ""
891
-
892
- #: admin/views/placements.php:65
893
- #, fuzzy
894
- msgid "Options"
895
- msgstr "Anzeigeoptionen einblenden"
896
-
897
- #: admin/views/placements.php:80
898
- msgid "Item"
899
- msgstr ""
900
-
901
- #: admin/views/placements.php:82 classes/widget.php:57
902
- #, fuzzy
903
- msgid "--empty--"
904
- msgstr "leeres Feld"
905
-
906
- #: admin/views/placements.php:102
907
- msgid "Inject"
908
- msgstr ""
909
-
910
- #: admin/views/placements.php:103
911
- msgid "after"
912
- msgstr ""
913
-
914
- #: admin/views/placements.php:103
915
- msgid "before"
916
- msgstr ""
917
-
918
- #: admin/views/placements.php:128
919
- #, fuzzy
920
- msgid "remove placement"
921
- msgstr "Filter entfernen"
922
-
923
- #: admin/views/placements.php:134
924
- msgid "Save Placements"
925
- msgstr ""
926
-
927
- #: admin/views/post_ad_settings_metabox.php:3
928
- msgid "Disable ads on this page"
929
- msgstr ""
930
-
931
- #: admin/views/settings.php:26
932
- msgid "Debug Page"
933
- msgstr ""
934
-
935
- #: admin/views/settings.php:27
936
- msgid "Advanced Ads on WordPress.org"
937
- msgstr ""
938
-
939
- #: admin/views/settings.php:27
940
- msgid "Advanced Ads on wp.org"
941
- msgstr ""
942
-
943
- #: admin/views/settings.php:28
944
- msgid "the company behind Advanced Ads"
945
- msgstr ""
946
-
947
- #: admin/views/settings.php:28
948
- msgid "webgilde GmbH"
949
- msgstr ""
950
-
951
- #: admin/views/settings_disable_ads.php:3
952
- msgid "Disable all ads in frontend"
953
- msgstr ""
954
-
955
- #: admin/views/settings_disable_ads.php:4
956
- msgid ""
957
- "Use this option to disable all ads in the frontend, but still be able to use "
958
- "the plugin."
959
- msgstr ""
960
-
961
- #: admin/views/settings_disable_ads.php:8
962
- msgid "Disable ads on 404 error pages"
963
- msgstr ""
964
-
965
- #: admin/views/settings_disable_ads.php:12
966
- msgid "Disable ads on non-singular pages"
967
- msgstr ""
968
-
969
- #: admin/views/settings_disable_ads.php:13
970
- msgid ""
971
- "e.g. archive pages like categories, tags, authors, front page (if a list)"
972
- msgstr ""
973
-
974
- #: admin/class-advanced-ads-admin.php:428
975
- msgid "Ad Type"
976
- msgstr ""
977
-
978
- #: admin/class-advanced-ads-admin.php:431
979
- msgid "Ad Parameters"
980
- msgstr ""
981
-
982
- #: admin/class-advanced-ads-admin.php:434
983
- msgid "Layout / Output"
984
- msgstr ""
985
-
986
- #: admin/class-advanced-ads-admin.php:437
987
- msgid "Display Conditions"
988
- msgstr "Anzeigebedingungen"
989
-
990
- #: admin/class-advanced-ads-admin.php:440
991
- #, php-format
992
- msgid "A \"%s\" display condition does not exist"
993
- msgstr ""
994
-
995
- #: classes/ad_placements.php:32
996
- msgid "Manual placement."
997
- msgstr ""
998
-
999
- #: classes/ad_placements.php:35
1000
- msgid "header"
1001
- msgstr ""
1002
-
1003
- #: classes/ad_placements.php:36
1004
- msgid "Injected in Header (before closing </head> Tag, often not visible)."
1005
- msgstr ""
1006
-
1007
- #: classes/ad_placements.php:39
1008
- msgid "footer"
1009
- msgstr ""
1010
-
1011
- #: classes/ad_placements.php:40
1012
- msgid "Injected in Footer (before closing </body> Tag)."
1013
- msgstr ""
1014
-
1015
- #: classes/ad_placements.php:43
1016
- msgid "before post"
1017
- msgstr ""
1018
-
1019
- #: classes/ad_placements.php:44
1020
- msgid "Injected before the post content."
1021
- msgstr ""
1022
-
1023
- #: classes/ad_placements.php:47
1024
- msgid "after post"
1025
- msgstr ""
1026
-
1027
- #: classes/ad_placements.php:48
1028
- msgid "Injected after the post content."
1029
- msgstr ""
1030
-
1031
- #: classes/ad_placements.php:51
1032
- msgid "post content"
1033
- msgstr ""
1034
-
1035
- #: classes/ad_placements.php:52
1036
- msgid ""
1037
- "Injected into the post content. You can choose the paragraph after which the "
1038
- "ad content is displayed."
1039
- msgstr ""
1040
-
1041
- #: classes/ad_placements.php:74
1042
- #, fuzzy
1043
- msgid "Slug can't be empty."
1044
- msgstr "leeres Feld"
1045
-
1046
- #: classes/ad_placements.php:76
1047
- msgid "Slug already exists."
1048
- msgstr ""
1049
-
1050
- #: classes/ad_placements.php:163
1051
- #, php-format
1052
- msgid "paragraph (%s)"
1053
- msgstr ""
1054
-
1055
- #: classes/ad_placements.php:164
1056
- #, php-format
1057
- msgid "headline 2 (%s)"
1058
- msgstr ""
1059
-
1060
- #: classes/ad_placements.php:165
1061
- #, php-format
1062
- msgid "headline 3 (%s)"
1063
- msgstr ""
1064
-
1065
- #: classes/ad_placements.php:166
1066
- #, php-format
1067
- msgid "headline 4 (%s)"
1068
- msgstr ""
1069
-
1070
- #: classes/ad_type_content.php:35
1071
- msgid "Rich Content"
1072
- msgstr ""
1073
-
1074
- #: classes/ad_type_content.php:36
1075
- msgid ""
1076
- "The full content editor from WordPress with all features like shortcodes, "
1077
- "image upload or styling, but also simple text/html mode for scripts and code."
1078
- msgstr ""
1079
-
1080
- #: classes/ad_type_content.php:63
1081
- msgid ""
1082
- "Please <strong>save the ad</strong> before changing it to the content type."
1083
- msgstr ""
1084
-
1085
- #: classes/ad_type_content.php:66
1086
- msgid "Save Draft"
1087
- msgstr ""
1088
-
1089
- #: classes/ad_type_plain.php:31
1090
- #, fuzzy
1091
- msgid "Plain Text and Code"
1092
- msgstr "Unbekannte Sprache \"%s\"."
1093
-
1094
- #: classes/ad_type_plain.php:32
1095
- msgid ""
1096
- "Simple text editor without any filters. You might use it to display "
1097
- "unfiltered content, php code or javascript. Shortcodes and other WordPress "
1098
- "content field magic does not work here."
1099
- msgstr ""
1100
-
1101
- #: classes/ad_type_plain.php:55
1102
- msgid "Insert plain text or code into this field."
1103
- msgstr ""
1104
-
1105
- #: classes/widget.php:19
1106
- msgid "Display Ads and Ad Groups."
1107
- msgstr ""
1108
-
1109
- #: classes/widget.php:51
1110
- msgid "Title:"
1111
- msgstr ""
1112
-
1113
- #: includes/array_ad_conditions.php:33
1114
- msgid "Post Types"
1115
- msgstr ""
1116
-
1117
- #: includes/array_ad_conditions.php:39
1118
- #, fuzzy
1119
- msgid "Categories, Tags and Taxonomies"
1120
- msgstr "Kreuzworträtsel-Tags"
1121
-
1122
- #: includes/array_ad_conditions.php:40
1123
- msgid ""
1124
- "Choose terms from public category, tag and other taxonomies a post must "
1125
- "belong to in order to have ads."
1126
- msgstr ""
1127
-
1128
- #: includes/array_ad_conditions.php:45
1129
- msgid "Category Archives"
1130
- msgstr ""
1131
-
1132
- #: includes/array_ad_conditions.php:46
1133
- msgid "comma seperated IDs of category archives"
1134
- msgstr ""
1135
-
1136
- #: includes/array_ad_conditions.php:51
1137
- msgid "Individual Posts, Pages and Public Post Types"
1138
- msgstr ""
1139
-
1140
- #: includes/array_ad_conditions.php:57
1141
- msgid "Home Page"
1142
- msgstr ""
1143
-
1144
- #: includes/array_ad_conditions.php:58
1145
- msgid "(don't) show on Home page"
1146
- msgstr ""
1147
-
1148
- #: includes/array_ad_conditions.php:62
1149
- msgid "Singular Pages"
1150
- msgstr ""
1151
-
1152
- #: includes/array_ad_conditions.php:63
1153
- msgid "(don't) show on singular pages/posts"
1154
- msgstr ""
1155
-
1156
- #: includes/array_ad_conditions.php:67
1157
- msgid "Archive Pages"
1158
- msgstr ""
1159
-
1160
- #: includes/array_ad_conditions.php:68
1161
- msgid ""
1162
- "(don't) show on any type of archive page (category, tag, author and date)"
1163
- msgstr ""
1164
-
1165
- #: includes/array_ad_conditions.php:72
1166
- #, fuzzy
1167
- msgid "Search Results"
1168
- msgstr "suchen"
1169
-
1170
- #: includes/array_ad_conditions.php:73
1171
- msgid "(don't) show on search result pages"
1172
- msgstr ""
1173
-
1174
- #: includes/array_ad_conditions.php:77
1175
- msgid "404 Page"
1176
- msgstr ""
1177
-
1178
- #: includes/array_ad_conditions.php:78
1179
- msgid "(don't) show on 404 error page"
1180
- msgstr ""
1181
-
1182
- #: includes/array_ad_conditions.php:82
1183
- msgid "Attachment Pages"
1184
- msgstr ""
1185
-
1186
- #: includes/array_ad_conditions.php:83
1187
- msgid "(don't) show on attachment pages"
1188
- msgstr ""
1189
-
1190
- #: admin/class-advanced-ads-admin.php:443
1191
- msgid "Auto injection"
1192
- msgstr ""
1193
-
1194
- #: admin/class-advanced-ads-admin.php:609
1195
- msgid "General"
1196
- msgstr ""
1197
-
1198
- #: admin/class-advanced-ads-admin.php:617
1199
- msgid "Disable ads"
1200
- msgstr ""
1201
-
1202
- #: admin/class-advanced-ads-admin.php:625
1203
- msgid "Hide ads for logged in users"
1204
- msgstr ""
1205
-
1206
- #: admin/class-advanced-ads-admin.php:633
1207
- msgid "Use advanced JavaScript"
1208
- msgstr ""
1209
-
1210
- #: admin/class-advanced-ads-admin.php:680
1211
- msgid "(display to all)"
1212
- msgstr "(für alle anzeigen)"
1213
-
1214
- #: admin/class-advanced-ads-admin.php:681
1215
- msgid "Subscriber"
1216
- msgstr ""
1217
-
1218
- #: admin/class-advanced-ads-admin.php:682
1219
- msgid "Contributor"
1220
- msgstr ""
1221
-
1222
- #: admin/class-advanced-ads-admin.php:683
1223
- msgid "Author"
1224
- msgstr ""
1225
-
1226
- #: admin/class-advanced-ads-admin.php:684
1227
- msgid "Editor"
1228
- msgstr ""
1229
-
1230
- #: admin/class-advanced-ads-admin.php:685
1231
- msgid "Admin"
1232
- msgstr ""
1233
-
1234
- #: admin/class-advanced-ads-admin.php:693
1235
- msgid "Choose the lowest role a user must have in order to not see any ads."
1236
- msgstr ""
1237
-
1238
- #: admin/class-advanced-ads-admin.php:706
1239
- #: public/class-advanced-ads.php:530
1240
- msgctxt "ad group general name"
1241
- msgid "Ad Groups"
1242
- msgstr ""
1243
-
1244
- #: public/class-advanced-ads.php:531
1245
- msgctxt "ad group singular name"
1246
- msgid "Ad Group"
1247
- msgstr ""
1248
-
1249
- #: public/class-advanced-ads.php:532
1250
- #, fuzzy
1251
- msgid "Search Ad Groups"
1252
- msgstr "suchen"
1253
-
1254
- #: public/class-advanced-ads.php:533
1255
- #, fuzzy
1256
- msgid "All Ad Groups"
1257
- msgstr "(für alle anzeigen)"
1258
-
1259
- #: public/class-advanced-ads.php:534
1260
- #, fuzzy
1261
- msgid "Parent Ad Groups"
1262
- msgstr "Übergeordnetes Thema"
1263
-
1264
- #: public/class-advanced-ads.php:535
1265
- #, fuzzy
1266
- msgid "Parent Ad Groups:"
1267
- msgstr "Übergeordnetes Thema"
1268
-
1269
- #: public/class-advanced-ads.php:536
1270
- #, fuzzy
1271
- msgid "Edit Ad Group"
1272
- msgstr "Kreuzworträtsel bearbeiten"
1273
-
1274
- #: public/class-advanced-ads.php:537
1275
- #, fuzzy
1276
- msgid "Update Ad Group"
1277
- msgstr "Thema aktualisieren"
1278
-
1279
- #: public/class-advanced-ads.php:538
1280
- #, fuzzy
1281
- msgid "Add New Ad Group"
1282
- msgstr "Neues Kreuzworträtsel hinzufügen"
1283
-
1284
- #: public/class-advanced-ads.php:539
1285
- #, fuzzy
1286
- msgid "New Ad Groups Name"
1287
- msgstr "Neuer Kreuzworträtsel-Tag"
1288
-
1289
- #: public/class-advanced-ads.php:541
1290
- #, fuzzy
1291
- msgid "No Ad Group found"
1292
- msgstr "Keine Kreuzworträtsel gefunden"
1293
-
1294
- #: public/class-advanced-ads.php:567 public/class-advanced-ads.php:583
1295
- msgid "Ad"
1296
- msgstr ""
1297
-
1298
- #: public/class-advanced-ads.php:568 public/class-advanced-ads.php:572
1299
- #, fuzzy
1300
- msgid "New Ad"
1301
- msgstr "Neues Kreuzworträtsel"
1302
-
1303
- #: public/class-advanced-ads.php:569
1304
- #, fuzzy
1305
- msgid "Add New Ad"
1306
- msgstr "Neues Kreuzworträtsel hinzufügen"
1307
-
1308
- #: public/class-advanced-ads.php:571
1309
- #, fuzzy
1310
- msgid "Edit Ad"
1311
- msgstr "Kreuzworträtsel bearbeiten"
1312
-
1313
- #: public/class-advanced-ads.php:573
1314
- #, fuzzy
1315
- msgid "View"
1316
- msgstr "Ansicht"
1317
-
1318
- #: public/class-advanced-ads.php:574
1319
- #, fuzzy
1320
- msgid "View the Ad"
1321
- msgstr "Ansicht"
1322
-
1323
- #: public/class-advanced-ads.php:575
1324
- #, fuzzy
1325
- msgid "Search Ads"
1326
- msgstr "suchen"
1327
-
1328
- #: public/class-advanced-ads.php:576
1329
- #, fuzzy
1330
- msgid "No Ads found"
1331
- msgstr "Keine Kreuzworträtsel gefunden"
1332
-
1333
- #: public/class-advanced-ads.php:577
1334
- #, fuzzy
1335
- msgid "No Ads found in Trash"
1336
- msgstr "Keine Kreuzworträtsel im Papierkorb"
1337
-
1338
- #: public/class-advanced-ads.php:578
1339
- #, fuzzy
1340
- msgid "Parent Ad"
1341
- msgstr "Übergeordnetes Thema"
1342
-
1343
- #: public/class-advanced-ads.php:634
1344
- #, php-format
1345
- msgid "Advanced Ads Error: %s"
1346
- msgstr ""
1347
- #: admin/class-advanced-ads-admin.php:753
1348
- msgid "Ad Details"
1349
- msgstr ""
1350
-
1351
- #: admin/class-advanced-ads-admin.php:806
1352
- msgid "Ad Settings"
1353
- msgstr ""
1354
-
1355
- #: admin/class-advanced-ads-admin.php:881
1356
- msgid "Ads Dashboard"
1357
- msgstr ""
1358
-
1359
- #: admin/class-advanced-ads-admin.php:892
1360
- msgid "Tutorials and News"
1361
- msgstr ""
1362
-
1363
- #: admin/class-advanced-ads-admin.php:902
1364
- #, php-format
1365
- msgid "%d ads – <a href=\"%s\">manage</a> – <a href=\"%s\">new</a>"
1366
- msgstr ""
1367
-
1368
- #: admin/class-advanced-ads-admin.php:913
1369
- msgid "plugin manual and homepage"
1370
- msgstr ""
1371
-
1372
- #: admin/class-advanced-ads-admin.php:917
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Loco Gettext template
2
+ #, fuzzy
3
+ msgid ""
4
+ 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"
12
+ "Language: \n"
13
+ "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION\n"
14
+ "MIME-Version: 1.0\n"
15
+ "Content-Type: text/plain; charset=UTF-8\n"
16
+ "Content-Transfer-Encoding: 8bit\n"
17
+ "X-Poedit-SourceCharset: UTF-8\n"
18
+ "X-Generator: Loco - https://localise.biz/\n"
19
+ "X-Poedit-KeywordsList: _:1;gettext:1;dgettext:2;ngettext:1,2;dngettext:2,3;"
20
+ "__:1;_e:1;_c:1;_n:1,2;_n_noop:1,2;_nc:1,2;__ngettext:1,2;__ngettext_noop:1,2;"
21
+ "_x:1,2c;_ex:1,2c;_nx:1,2,4c;_nx_noop:1,2,3c;_n_js:1,2;_nx_js:1,2,3c;"
22
+ "esc_attr__:1;esc_html__:1;esc_attr_e:1;esc_html_e:1;esc_attr_x:1,2c;"
23
+ "esc_html_x:1,2c;comments_number_link:2,3;t:1;st:1;trans:1;transChoice:1,2\n"
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 "
258
+ "impressions for bots when using the <a href=\"%s\" target=\"_blank\">Tracking "
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 ""
301
+
302
+ #: ../admin/includes/class-ad-groups-list.php:161
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
+
357
+ #: ../admin/includes/class-display-condition-callbacks.php:28
358
+ msgid "Display on all public <strong>post types</strong>."
359
+ msgstr ""
360
+
361
+ #: ../admin/includes/class-display-condition-callbacks.php:31 ..
362
+ #: /includes/array_ad_conditions.php:39
363
+ msgid "Choose the public post types on which to display the ad."
364
+ msgstr ""
365
+
366
+ #: ../admin/includes/class-display-condition-callbacks.php:86
367
+ msgid "Display for all <strong>categories, tags and taxonomies</strong>."
368
+ msgstr ""
369
+
370
+ #: ../admin/includes/class-display-condition-callbacks.php:87
371
+ msgid "Display here"
372
+ msgstr ""
373
+
374
+ #: ../admin/includes/class-display-condition-callbacks.php:87
375
+ msgid ""
376
+ "Choose terms from public categories, tags and other taxonomies a post must "
377
+ "belong to in order to have ads."
378
+ msgstr ""
379
+
380
+ #: ../admin/includes/class-display-condition-callbacks.php:104 ..
381
+ #: /admin/includes/class-display-condition-callbacks.php:217
382
+ msgid "Hide from here"
383
+ msgstr ""
384
+
385
+ #: ../admin/includes/class-display-condition-callbacks.php:104
386
+ msgid ""
387
+ "Choose the terms from public categories, tags and other taxonomies a post "
388
+ "must belong to hide the ad from it."
389
+ msgstr ""
390
+
391
+ #: ../admin/includes/class-display-condition-callbacks.php:149
392
+ msgctxt "display the terms search field on ad edit page"
393
+ msgid "add more terms"
394
+ msgstr ""
395
+
396
+ #: ../admin/includes/class-display-condition-callbacks.php:150
397
+ msgid "add more terms"
398
+ msgstr ""
399
+
400
+ #: ../admin/includes/class-display-condition-callbacks.php:153
401
+ msgid "term name or id"
402
+ msgstr ""
403
+
404
+ #: ../admin/includes/class-display-condition-callbacks.php:197
405
+ msgid "Display on all <strong>category archive pages</strong>."
406
+ msgstr ""
407
+
408
+ #: ../admin/includes/class-display-condition-callbacks.php:200
409
+ msgid ""
410
+ "Choose the terms from public categories, tags and other taxonomies on "
411
+ "which's archive page ads can appear"
412
+ msgstr ""
413
+
414
+ #: ../admin/includes/class-display-condition-callbacks.php:217
415
+ msgid ""
416
+ "Choose the terms from public categories, tags and other taxonomies on "
417
+ "which's archive pages ads are hidden."
418
+ msgstr ""
419
+
420
+ #: ../admin/includes/class-display-condition-callbacks.php:239
421
+ msgid ""
422
+ "Display an all <strong>individual posts, pages</strong> and public post type "
423
+ "pages"
424
+ msgstr ""
425
+
426
+ #: ../admin/includes/class-display-condition-callbacks.php:242 ..
427
+ #: /includes/array_ad_conditions.php:57
428
+ msgid ""
429
+ "Choose on which individual posts, pages and public post type pages you want "
430
+ "to display or hide ads."
431
+ msgstr ""
432
+
433
+ #: ../admin/includes/class-display-condition-callbacks.php:259
434
+ msgid "What should happen with ads on the list of individual posts below?"
435
+ msgstr ""
436
+
437
+ #: ../admin/includes/class-display-condition-callbacks.php:260
438
+ msgid "ignore the list"
439
+ msgstr ""
440
+
441
+ #: ../admin/includes/class-display-condition-callbacks.php:261
442
+ msgid "display the ad only there"
443
+ msgstr ""
444
+
445
+ #: ../admin/includes/class-display-condition-callbacks.php:262
446
+ msgid "hide the ad here"
447
+ msgstr ""
448
+
449
+ #: ../admin/includes/class-display-condition-callbacks.php:270
450
+ msgid "Update warning"
451
+ msgstr ""
452
+
453
+ #: ../admin/includes/class-display-condition-callbacks.php:271
454
+ msgid ""
455
+ "Due to some conflicts before version 1.2.6, it is from now on only possible "
456
+ "to choose either individual pages to include or exclude an ad, but not both "
457
+ "with mixed settings. It seems you are still using mixed settings on this "
458
+ "page. Please consider changing your setup for this ad."
459
+ msgstr ""
460
+
461
+ #: ../admin/includes/class-display-condition-callbacks.php:272
462
+ msgid "Your old values are:"
463
+ msgstr ""
464
+
465
+ #: ../admin/includes/class-display-condition-callbacks.php:273
466
+ msgid "Post IDs the ad is displayed on:"
467
+ msgstr ""
468
+
469
+ #: ../admin/includes/class-display-condition-callbacks.php:274
470
+ msgid "Post IDs the ad is hidden from:"
471
+ msgstr ""
472
+
473
+ #: ../admin/includes/class-display-condition-callbacks.php:275
474
+ msgid ""
475
+ "Below you find the pages the ad is displayed on. If this is ok, just save "
476
+ "the ad. If not, please update your settings."
477
+ msgstr ""
478
+
479
+ #: ../admin/includes/class-display-condition-callbacks.php:318
480
+ msgid "new"
481
+ msgstr ""
482
+
483
+ #: ../admin/includes/class-display-condition-callbacks.php:320
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
572
+ msgid "Manual and Support"
573
+ msgstr ""
574
+
575
+ #: ../admin/includes/class-overview-widgets.php:53
576
+ msgid "Tracking and Stats"
577
+ msgstr ""
578
+
579
+ #: ../admin/includes/class-overview-widgets.php:55
580
+ msgid "Responsive and Mobile ads"
581
+ msgstr ""
582
+
583
+ #: ../admin/includes/class-overview-widgets.php:57
584
+ msgid "Sticky ads"
585
+ msgstr ""
586
+
587
+ #: ../admin/includes/class-overview-widgets.php:59
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
+
796
+ #: ../admin/views/ad-group-edit.php:14
797
+ msgid "You did not select an item for editing."
798
+ msgstr ""
799
+
800
+ #: ../admin/views/ad-group-edit.php:33
801
+ msgctxt "Taxonomy Name"
802
+ msgid "Name"
803
+ msgstr ""
804
+
805
+ #: ../admin/views/ad-group-edit.php:38
806
+ msgctxt "Taxonomy Slug"
807
+ msgid "Slug"
808
+ msgstr ""
809
+
810
+ #: ../admin/views/ad-group-edit.php:40
811
+ msgid "An id-like string with only letters in lower case, numbers, and hyphens."
812
+ msgstr ""
813
+
814
+ #: ../admin/views/ad-group-edit.php:45
815
+ msgctxt "Taxonomy Description"
816
+ msgid "Description"
817
+ msgstr ""
818
+
819
+ #: ../admin/views/ad-group-edit.php:57
820
+ msgid "Create new Ad Group"
821
+ msgstr ""
822
+
823
+ #: ../admin/views/ad-group-edit.php:59 ../classes/ad_type_content.php:68 ..
824
+ #: /classes/ad_type_content.php:69
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
+
833
+ #: ../admin/views/ad-group-list-form-row.php:5
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
+
843
+ #: ../admin/views/ad-group-list-form-row.php:15
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
+
860
+ #: ../admin/views/ad-group-list-header.php:3
861
+ msgid "Ad Group"
862
+ msgstr ""
863
+
864
+ #: ../admin/views/ad-group-list-header.php:4
865
+ 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
+
878
+ #: ../admin/views/ad-group-list-row.php:14
879
+ #, php-format
880
+ msgid "Learn more about using groups in the <a href=\"%s\" target=\"_blank\">manual</a>."
881
+ msgstr ""
882
+
883
+ #: ../admin/views/ad-group-list-row.php:19
884
+ #, php-format
885
+ msgid "Type: %s"
886
+ msgstr ""
887
+
888
+ #: ../admin/views/ad-group-list-row.php:20
889
+ #, php-format
890
+ msgid "ID: %s"
891
+ msgstr ""
892
+
893
+ #: ../admin/views/ad-group-list-row.php:21
894
+ #, php-format
895
+ msgid "Slug: %s"
896
+ msgstr ""
897
+
898
+ #: ../admin/views/ad-group.php:18
899
+ msgid "Ad Groups successfully updated"
900
+ msgstr ""
901
+
902
+ #: ../admin/views/ad-group.php:46
903
+ #, php-format
904
+ msgid "Search results for &#8220;%s&#8221;"
905
+ msgstr ""
906
+
907
+ #: ../admin/views/ad-group.php:52
908
+ msgid ""
909
+ "Ad Groups are a very flexible method to bundle ads. You can use them to "
910
+ "display random ads in the frontend or run split tests, but also just for "
911
+ "informational purposes. Not only can an Ad Groups have multiple ads, but an "
912
+ "ad can belong to multiple ad groups."
913
+ msgstr ""
914
+
915
+ #: ../admin/views/ad-group.php:60
916
+ msgid "How to display an Ad Group?"
917
+ msgstr ""
918
+
919
+ #: ../admin/views/ad-group.php:62
920
+ #, php-format
921
+ msgid ""
922
+ "Examples on how to display an ad group? Find more help and examples in the "
923
+ "<a href=\"%s\" target=\"_blank\">manual</a>"
924
+ msgstr ""
925
+
926
+ #: ../admin/views/ad-group.php:64
927
+ msgid "To display an ad group with the ID 6 in content fields"
928
+ msgstr ""
929
+
930
+ #: ../admin/views/ad-group.php:67
931
+ msgid "To display an ad group with the ID 6 in template files"
932
+ msgstr ""
933
+
934
+ #: ../admin/views/ad-group.php:87
935
+ msgid "Update Groups"
936
+ msgstr ""
937
+
938
+ #: ../admin/views/ad-main-metabox.php:3
939
+ msgid "No ad types defined"
940
+ msgstr ""
941
+
942
+ #: ../admin/views/ad-output-metabox.php:1
943
+ msgid "Everything connected to the ads layout and output."
944
+ msgstr ""
945
+
946
+ #: ../admin/views/ad-output-metabox.php:5
947
+ msgid "Position"
948
+ msgstr ""
949
+
950
+ #: ../admin/views/ad-output-metabox.php:6
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 ""
958
+
959
+ #: ../admin/views/ad-output-metabox.php:8
960
+ msgid "left"
961
+ msgstr ""
962
+
963
+ #: ../admin/views/ad-output-metabox.php:11
964
+ msgid "center"
965
+ msgstr ""
966
+
967
+ #: ../admin/views/ad-output-metabox.php:14
968
+ msgid "right"
969
+ msgstr ""
970
+
971
+ #: ../admin/views/ad-output-metabox.php:19
972
+ msgid ""
973
+ "Check this if you don't want the following elements to float around the ad. "
974
+ "(adds a clearfix)"
975
+ msgstr ""
976
+
977
+ #: ../admin/views/ad-output-metabox.php:22
978
+ msgid "Margin"
979
+ msgstr ""
980
+
981
+ #: ../admin/views/ad-output-metabox.php:23
982
+ msgid "top:"
983
+ msgstr ""
984
+
985
+ #: ../admin/views/ad-output-metabox.php:25
986
+ msgid "right:"
987
+ msgstr ""
988
+
989
+ #: ../admin/views/ad-output-metabox.php:27
990
+ msgid "bottom:"
991
+ msgstr ""
992
+
993
+ #: ../admin/views/ad-output-metabox.php:29
994
+ msgid "left:"
995
+ msgstr ""
996
+
997
+ #: ../admin/views/ad-output-metabox.php:31
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
+
1013
+ #: ../admin/views/ad-submitbox-meta.php:4
1014
+ msgid "Set expiry date"
1015
+ msgstr ""
1016
+
1017
+ #: ../admin/views/ad-submitbox-meta.php:11
1018
+ #, php-format
1019
+ msgctxt "1: month number (01, 02, etc.), 2: month abbreviation"
1020
+ msgid "%1$s-%2$s"
1021
+ msgstr ""
1022
+
1023
+ #: ../admin/views/ad-submitbox-meta.php:20
1024
+ #, php-format
1025
+ 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."
1098
+ msgstr ""
1099
+
1100
+ #: ../admin/views/placements.php:8
1101
+ msgid "Couldn’t create empty or existing slug."
1102
+ msgstr ""
1103
+
1104
+ #: ../admin/views/placements.php:10
1105
+ msgid "Placements updated"
1106
+ msgstr ""
1107
+
1108
+ #: ../admin/views/placements.php:15
1109
+ msgid ""
1110
+ "Placements are physically places in your theme and posts. You can use them "
1111
+ "if you plan to change ads and ad groups on the same place without the need "
1112
+ "to change your templates."
1113
+ msgstr ""
1114
+
1115
+ #: ../admin/views/placements.php:16
1116
+ #, php-format
1117
+ msgid ""
1118
+ "See also the manual for more information on <a href=\"%s\">placements</a> and "
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 ""
1269
+
1270
+ #: ../classes/ad_placements.php:35
1271
+ msgid "header"
1272
+ msgstr ""
1273
+
1274
+ #: ../classes/ad_placements.php:36
1275
+ msgid "Injected in Header (before closing </head> Tag, often not visible)."
1276
+ msgstr ""
1277
+
1278
+ #: ../classes/ad_placements.php:39
1279
+ msgid "footer"
1280
+ msgstr ""
1281
+
1282
+ #: ../classes/ad_placements.php:40
1283
+ msgid "Injected in Footer (before closing </body> Tag)."
1284
+ msgstr ""
1285
+
1286
+ #: ../classes/ad_placements.php:43
1287
+ msgid "before post"
1288
+ msgstr ""
1289
+
1290
+ #: ../classes/ad_placements.php:44
1291
+ msgid "Injected before the post content."
1292
+ msgstr ""
1293
+
1294
+ #: ../classes/ad_placements.php:47
1295
+ msgid "after post"
1296
+ msgstr ""
1297
+
1298
+ #: ../classes/ad_placements.php:48
1299
+ msgid "Injected after the post content."
1300
+ msgstr ""
1301
+
1302
+ #: ../classes/ad_placements.php:51
1303
+ msgid "post content"
1304
+ msgstr ""
1305
+
1306
+ #: ../classes/ad_placements.php:52
1307
+ msgid ""
1308
+ "Injected into the post content. You can choose the paragraph after which the "
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 ""
1331
+
1332
+ #: ../classes/ad_type_content.php:35
1333
+ msgid "Rich Content"
1334
+ msgstr ""
1335
+
1336
+ #: ../classes/ad_type_content.php:36
1337
+ msgid ""
1338
+ "The full content editor from WordPress with all features like shortcodes, "
1339
+ "image upload or styling, but also simple text/html mode for scripts and code."
1340
+ msgstr ""
1341
+
1342
+ #: ../classes/ad_type_content.php:63
1343
+ msgid "Please <strong>save the ad</strong> before changing it to the content type."
1344
+ msgstr ""
1345
+
1346
+ #: ../classes/ad_type_content.php:66
1347
+ msgid "Save Draft"
1348
+ msgstr ""
1349
+
1350
+ #: ../classes/ad_type_plain.php:31
1351
+ msgid "Plain Text and Code"
1352
+ msgstr ""
1353
+
1354
+ #: ../classes/ad_type_plain.php:32
1355
+ msgid ""
1356
+ "Simple text editor without any filters. You might use it to display "
1357
+ "unfiltered content, php code or javascript. Shortcodes and other WordPress "
1358
+ "content field magic does not work here."
1359
+ msgstr ""
1360
+
1361
+ #: ../classes/ad_type_plain.php:67
1362
+ msgid "Insert plain text or code into this field."
1363
+ msgstr ""
1364
+
1365
+ #: ../classes/ad_type_plain.php:70
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 ""
1372
+
1373
+ #: ../classes/widget.php:51
1374
+ msgid "Title:"
1375
+ msgstr ""
1376
+
1377
+ #: ../includes/array_ad_conditions.php:38
1378
+ msgid "Post Types"
1379
+ msgstr ""
1380
+
1381
+ #: ../includes/array_ad_conditions.php:44
1382
+ msgid "Categories, Tags and Taxonomies"
1383
+ msgstr ""
1384
+
1385
+ #: ../includes/array_ad_conditions.php:45
1386
+ msgid ""
1387
+ "Choose terms from public category, tag and other taxonomies a post must "
1388
+ "belong to in order to have ads."
1389
+ msgstr ""
1390
+
1391
+ #: ../includes/array_ad_conditions.php:50
1392
+ msgid "Category Archives"
1393
+ msgstr ""
1394
+
1395
+ #: ../includes/array_ad_conditions.php:51
1396
+ msgid "comma seperated IDs of category archives"
1397
+ msgstr ""
1398
+
1399
+ #: ../includes/array_ad_conditions.php:56
1400
+ msgid "Individual Posts, Pages and Public Post Types"
1401
+ msgstr ""
1402
+
1403
+ #: ../includes/array_ad_conditions.php:62
1404
+ msgid "Home Page"
1405
+ msgstr ""
1406
+
1407
+ #: ../includes/array_ad_conditions.php:63
1408
+ msgid "show on Home page"
1409
+ msgstr ""
1410
+
1411
+ #: ../includes/array_ad_conditions.php:67
1412
+ msgid "Singular Pages"
1413
+ msgstr ""
1414
+
1415
+ #: ../includes/array_ad_conditions.php:68
1416
+ msgid "show on singular pages/posts"
1417
+ msgstr ""
1418
+
1419
+ #: ../includes/array_ad_conditions.php:72
1420
+ msgid "Archive Pages"
1421
+ msgstr ""
1422
+
1423
+ #: ../includes/array_ad_conditions.php:73
1424
+ msgid "show on any type of archive page (category, tag, author and date)"
1425
+ msgstr ""
1426
+
1427
+ #: ../includes/array_ad_conditions.php:77
1428
+ msgid "Search Results"
1429
+ msgstr ""
1430
+
1431
+ #: ../includes/array_ad_conditions.php:78
1432
+ msgid "show on search result pages"
1433
+ msgstr ""
1434
+
1435
+ #: ../includes/array_ad_conditions.php:82
1436
+ msgid "404 Page"
1437
+ msgstr ""
1438
+
1439
+ #: ../includes/array_ad_conditions.php:83
1440
+ msgid "show on 404 error page"
1441
+ msgstr ""
1442
+
1443
+ #: ../includes/array_ad_conditions.php:87
1444
+ msgid "Attachment Pages"
1445
+ msgstr ""
1446
+
1447
+ #: ../includes/array_ad_conditions.php:88
1448
+ msgid "show on attachment pages"
1449
+ msgstr ""
1450
+
1451
+ #: ../includes/array_ad_conditions.php:92
1452
+ msgid "Secondary Queries"
1453
+ msgstr ""
1454
+
1455
+ #: ../includes/array_ad_conditions.php:93
1456
+ msgid "allow ads in secondary queries"
1457
+ msgstr ""
1458
+
1459
+ #: ../modules/gadsense/main.php:19
1460
+ msgid " at "
1461
+ msgstr ""
1462
+
1463
+ #: ../modules/gadsense/admin/class-gadsense-admin.php:26 ..
1464
+ #: /modules/gadsense/admin/views/adsense-ad-parameters.php:30
1465
+ msgid "Responsive"
1466
+ msgstr ""
1467
+
1468
+ #: ../modules/gadsense/admin/class-gadsense-admin.php:44
1469
+ msgid "The ad details couldn't be retrieved from the ad code"
1470
+ msgstr ""
1471
+
1472
+ #: ../modules/gadsense/admin/class-gadsense-admin.php:45
1473
+ msgid ""
1474
+ "Warning : The AdSense account from this code does not match the one set with "
1475
+ "the Advanced Ads Plugin. This ad might cause troubles when used in the front "
1476
+ "end."
1477
+ msgstr ""
1478
+
1479
+ #: ../modules/gadsense/admin/class-gadsense-admin.php:46
1480
+ msgid ""
1481
+ "Warning : You have not yet entered an AdSense account ID. The plugin won’t "
1482
+ "work without that"
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
+
1490
+ #: ../modules/gadsense/admin/class-gadsense-admin.php:69
1491
+ 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
+
1499
+ #: ../modules/gadsense/admin/class-gadsense-admin.php:182
1500
+ msgid "AdSense ID"
1501
+ msgstr ""
1502
+
1503
+ #: ../modules/gadsense/admin/class-gadsense-admin.php:191
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 "
1523
+ "Service\">TOS</a> imposes a limit of %d display ads per page. You can disable "
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>"
1543
+ msgstr ""
1544
+
1545
+ #: ../modules/gadsense/admin/views/adsense-ad-parameters.php:23
1546
+ msgid "Ad Slot ID"
1547
+ msgstr ""
1548
+
1549
+ #: ../modules/gadsense/admin/views/adsense-ad-parameters.php:29
1550
+ msgid "Normal"
1551
+ msgstr ""
1552
+
1553
+ #: ../modules/gadsense/admin/views/adsense-ad-parameters.php:34
1554
+ #, php-format
1555
+ msgid ""
1556
+ "Use the <a href=\"%s\" target=\"_blank\">Responsive add-on</a> in order to "
1557
+ "define the exact creative for each browser width."
1558
+ msgstr ""
1559
+
1560
+ #: ../modules/gadsense/admin/views/adsense-ad-parameters.php:43
1561
+ msgid "Resizing"
1562
+ msgstr ""
1563
+
1564
+ #: ../modules/gadsense/admin/views/adsense-ad-parameters.php:54
1565
+ msgid "Copy the ad code from your AdSense account and paste it in the area below"
1566
+ msgstr ""
1567
+
1568
+ #: ../modules/gadsense/admin/views/adsense-ad-parameters.php:57
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 ""
1579
+
1580
+ #: ../modules/gadsense/includes/class-ad-type-adsense.php:36
1581
+ msgid "Use ads from your Google AdSense account"
1582
+ msgstr ""
1583
+
1584
+ #: ../modules/gadsense/includes/class-gadsense-data.php:42
1585
+ msgid "Auto"
1586
+ msgstr ""
1587
+
1588
+ #: ../public/class-advanced-ads.php:299
1589
+ #, php-format
1590
+ msgid "Advanced Ads Error: %s"
1591
+ msgstr ""
1592
+
1593
+ #: ../public/class-advanced-ads.php:503
1594
+ msgctxt "ad group general name"
1595
+ msgid "Ad Groups"
1596
+ msgstr ""
1597
+
1598
+ #: ../public/class-advanced-ads.php:504
1599
+ msgctxt "ad group singular name"
1600
+ msgid "Ad Group"
1601
+ msgstr ""
1602
+
1603
+ #: ../public/class-advanced-ads.php:505
1604
+ msgid "Search Ad Groups"
1605
+ msgstr ""
1606
+
1607
+ #: ../public/class-advanced-ads.php:506
1608
+ msgid "All Ad Groups"
1609
+ msgstr ""
1610
+
1611
+ #: ../public/class-advanced-ads.php:507
1612
+ msgid "Parent Ad Groups"
1613
+ msgstr ""
1614
+
1615
+ #: ../public/class-advanced-ads.php:508
1616
+ msgid "Parent Ad Groups:"
1617
+ msgstr ""
1618
+
1619
+ #: ../public/class-advanced-ads.php:509
1620
+ msgid "Edit Ad Group"
1621
+ msgstr ""
1622
+
1623
+ #: ../public/class-advanced-ads.php:510
1624
+ msgid "Update Ad Group"
1625
+ msgstr ""
1626
+
1627
+ #: ../public/class-advanced-ads.php:511
1628
+ msgid "Add New Ad Group"
1629
+ msgstr ""
1630
+
1631
+ #: ../public/class-advanced-ads.php:512
1632
+ msgid "New Ad Groups Name"
1633
+ msgstr ""
1634
+
1635
+ #: ../public/class-advanced-ads.php:514
1636
+ msgid "No Ad Group found"
1637
+ msgstr ""
1638
+
1639
+ #: ../public/class-advanced-ads.php:541 ../public/class-advanced-ads.php:545
1640
+ msgid "New Ad"
1641
+ msgstr ""
1642
+
1643
+ #: ../public/class-advanced-ads.php:542
1644
+ msgid "Add New Ad"
1645
+ msgstr ""
1646
+
1647
+ #: ../public/class-advanced-ads.php:544
1648
+ msgid "Edit Ad"
1649
+ msgstr ""
1650
+
1651
+ #: ../public/class-advanced-ads.php:546
1652
+ msgid "View"
1653
+ msgstr ""
1654
+
1655
+ #: ../public/class-advanced-ads.php:547
1656
+ msgid "View the Ad"
1657
+ msgstr ""
1658
+
1659
+ #: ../public/class-advanced-ads.php:548
1660
+ msgid "Search Ads"
1661
+ msgstr ""
1662
+
1663
+ #: ../public/class-advanced-ads.php:549
1664
+ msgid "No Ads found"
1665
+ msgstr ""
1666
+
1667
+ #: ../public/class-advanced-ads.php:550
1668
+ msgid "No Ads found in Trash"
1669
+ msgstr ""
1670
+
1671
+ #: ../public/class-advanced-ads.php:551
1672
+ msgid "Parent Ad"
1673
+ msgstr ""
modules/gadsense/admin/class-gadsense-admin.php CHANGED
@@ -196,8 +196,6 @@ class Gadsense_Admin {
196
 
197
  // hook for additional settings from add-ons
198
  do_action( 'advanced-ads-adsense-settings-init', $hook );
199
-
200
- // require GADSENSE_BASE_PATH . 'admin/views/admin-page.php';
201
  }
202
 
203
  /**
@@ -257,6 +255,8 @@ class Gadsense_Admin {
257
  'settings_updated',
258
  __( 'The Publisher ID has an incorrect format. (must start with "pub-")', ADVADS_SLUG ));
259
  }
 
 
260
  }
261
 
262
  return $options;
196
 
197
  // hook for additional settings from add-ons
198
  do_action( 'advanced-ads-adsense-settings-init', $hook );
 
 
199
  }
200
 
201
  /**
255
  'settings_updated',
256
  __( 'The Publisher ID has an incorrect format. (must start with "pub-")', ADVADS_SLUG ));
257
  }
258
+ // trim publisher id
259
+ $options['adsense-id'] = trim($options['adsense-id']);
260
  }
261
 
262
  return $options;
modules/gadsense/admin/views/admin-page.php DELETED
@@ -1,39 +0,0 @@
1
- <?php
2
- if ( ! defined( 'WPINC' ) ) {
3
- die;
4
- }
5
- $adsense_id = $this->data->get_adsense_id();
6
- $limit_per_page = $this->data->get_limit_per_page();
7
- ?>
8
- <h3>Google AdSense</h3>
9
-
10
- <?php if ( isset($this->notice) ) : ?>
11
- <div class="<?php echo $this->notice['class']; ?>">
12
- <p><?php echo $this->notice['msg'] ?></p>
13
- </div>
14
- <?php endif; // END isset($_COOKIE['gadsense_admin_notice']) ?>
15
- <form method="post" id="cred-form" class="gadsense-form">
16
- <input type="hidden" name="gadsense-form-name" value="cred-form" />
17
- <input type="hidden" name="gadsense-nonce" value="<?php echo $this->nonce; ?>" />
18
- <label><?php _e( 'Account ID', ADVADS_SLUG ); ?><br />
19
- <input type="text" name="adsense-id" id="adsense-id" size="32" value="<?php echo $adsense_id; ?>" /></label>
20
- <p class="description"><?php _e( 'Your AdSense Publisher ID <em>(pub-xxxxxxxxxxxxxx)</em>', ADVADS_SLUG ) ?></p>
21
- <br />
22
- <label>
23
- <input type="checkbox" name="limit-per-page" value="1" <?php checked( $limit_per_page ); ?> />
24
- <?php printf( __( 'Limit to %d AdSense ads', ADVADS_SLUG ), 3 ); ?>
25
- </label>
26
- <p class="description">
27
- <?php
28
- printf(
29
- __( 'Currently, Google AdSense <a target="_blank" href="%s" title="Terms Of Service">TOS</a> imposes a limit of %d display ads per page. You can disable this limitation at your own risks.', ADVADS_SLUG ),
30
- esc_url( 'https://www.google.com/adsense/terms' ), 3
31
- ); ?><br/><?php
32
- _e( 'Notice: Advanced Ads only considers the AdSense ad type for this limit.', ADVADS_SLUG ); ?>
33
- </p>
34
- <p>
35
- <input type="submit" class="button button-primary" value="<?php _e( 'Save AdSense Settings', ADVADS_SLUG ); ?>" />
36
- </p>
37
- </form>
38
- <br />
39
- <hr />
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
modules/gadsense/admin/views/adsense-ad-parameters.php CHANGED
@@ -31,7 +31,7 @@ if ( $is_responsive ) {
31
  </select>
32
  </label>
33
  <?php if ( ! defined( 'AAR_SLUG' ) ) : ?>
34
- <p><?php printf( __( 'Use the <a href="%s" target="_blank">Responsive add-on</a> in order to define the exact creative for each browser width.', ADVADS_SLUG ), 'http://wpadvancedads.com/responsive-ads/' ); ?></p>
35
  <?php else : ?>
36
  <br />
37
  <?php endif; ?>
31
  </select>
32
  </label>
33
  <?php if ( ! defined( 'AAR_SLUG' ) ) : ?>
34
+ <p><?php printf( __( 'Use the <a href="%s" target="_blank">Responsive add-on</a> in order to define the exact creative for each browser width.', ADVADS_SLUG ), ADVADS_URL . 'add-ons/responsive-ads/' ); ?></p>
35
  <?php else : ?>
36
  <br />
37
  <?php endif; ?>
modules/gadsense/includes/class-gadsense-data.php CHANGED
@@ -47,7 +47,7 @@ class Gadsense_Data {
47
  * GETTERS
48
  */
49
  public function get_adsense_id() {
50
- return $this->options['adsense-id'];
51
  }
52
 
53
  public function get_limit_per_page() {
47
  * GETTERS
48
  */
49
  public function get_adsense_id() {
50
+ return trim($this->options['adsense-id']);
51
  }
52
 
53
  public function get_limit_per_page() {
public/class-advanced-ads.php CHANGED
@@ -25,7 +25,7 @@ class Advanced_Ads {
25
  * @var string
26
  */
27
 
28
- const VERSION = '1.5.1';
29
 
30
  /**
31
  * post type slug
@@ -272,26 +272,6 @@ class Advanced_Ads {
272
  return $this->plugin->get_plugin_slug();
273
  }
274
 
275
- /**
276
- * get an array with all ads by conditions
277
- * = list possible ads for each condition
278
- * TODO is this a duplication of Advanced_Ads_Model::get_ad_conditions() ??
279
- *
280
- * @since 1.0.0
281
- * @return arr $ads_by_conditions
282
- * @todo make static
283
- */
284
- public function get_ads_by_conditions_array(){
285
-
286
- $ads_by_conditions = get_option( 'advads-ads-by-conditions', array() );
287
- // load default array if no conditions saved yet
288
- if ( ! is_array( $ads_by_conditions ) ){
289
- $ads_by_conditions = array();
290
- }
291
-
292
- return $ads_by_conditions;
293
- }
294
-
295
  /**
296
  * add plain and content ad types to the default ads of the plugin using a filter
297
  *
@@ -341,7 +321,7 @@ class Advanced_Ads {
341
  $placements = get_option( 'advads-ads-placements', array() );
342
  foreach ( $placements as $_placement_id => $_placement ){
343
  if ( isset($_placement['type']) && 'header' == $_placement['type'] ){
344
- echo Advads_Ad_Placements::output( $_placement_id );
345
  }
346
  }
347
  }
@@ -355,7 +335,7 @@ class Advanced_Ads {
355
  $placements = get_option( 'advads-ads-placements', array() );
356
  foreach ( $placements as $_placement_id => $_placement ){
357
  if ( isset($_placement['type']) && 'footer' == $_placement['type'] ){
358
- echo Advads_Ad_Placements::output( $_placement_id );
359
  }
360
  }
361
  }
@@ -379,13 +359,13 @@ class Advanced_Ads {
379
 
380
  switch ( $_placement['type'] ) {
381
  case 'post_top':
382
- $content = Advads_Ad_Placements::output( $_placement_id ) . $content;
383
  break;
384
  case 'post_bottom':
385
- $content .= Advads_Ad_Placements::output( $_placement_id );
386
  break;
387
  case 'post_content':
388
- $content = Advads_Ad_Placements::inject_in_content( $_placement_id, $_placement['options'], $content );
389
  break;
390
  }
391
  }
@@ -480,7 +460,7 @@ class Advanced_Ads {
480
  $bots = preg_replace('@[^-_;/|\][ a-z0-9]@i', '', $bots);
481
  $regex = "@$bots@i";
482
 
483
- if(isset($_SERVER['HTTP_USER_AGENT'])) {
484
  $agent = $_SERVER['HTTP_USER_AGENT'];
485
 
486
  return preg_match($regex, $agent) === 1;
25
  * @var string
26
  */
27
 
28
+ const VERSION = '1.5.2';
29
 
30
  /**
31
  * post type slug
272
  return $this->plugin->get_plugin_slug();
273
  }
274
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
275
  /**
276
  * add plain and content ad types to the default ads of the plugin using a filter
277
  *
321
  $placements = get_option( 'advads-ads-placements', array() );
322
  foreach ( $placements as $_placement_id => $_placement ){
323
  if ( isset($_placement['type']) && 'header' == $_placement['type'] ){
324
+ echo Advanced_Ads_Placements::output( $_placement_id );
325
  }
326
  }
327
  }
335
  $placements = get_option( 'advads-ads-placements', array() );
336
  foreach ( $placements as $_placement_id => $_placement ){
337
  if ( isset($_placement['type']) && 'footer' == $_placement['type'] ){
338
+ echo Advanced_Ads_Placements::output( $_placement_id );
339
  }
340
  }
341
  }
359
 
360
  switch ( $_placement['type'] ) {
361
  case 'post_top':
362
+ $content = Advanced_Ads_Placements::output( $_placement_id ) . $content;
363
  break;
364
  case 'post_bottom':
365
+ $content .= Advanced_Ads_Placements::output( $_placement_id );
366
  break;
367
  case 'post_content':
368
+ $content = Advanced_Ads_Placements::inject_in_content( $_placement_id, $_placement['options'], $content );
369
  break;
370
  }
371
  }
460
  $bots = preg_replace('@[^-_;/|\][ a-z0-9]@i', '', $bots);
461
  $regex = "@$bots@i";
462
 
463
+ if(isset($_SERVER['HTTP_USER_AGENT']) && $_SERVER['HTTP_USER_AGENT'] !== '') {
464
  $agent = $_SERVER['HTTP_USER_AGENT'];
465
 
466
  return preg_match($regex, $agent) === 1;
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link:https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id
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.1
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -14,7 +14,7 @@ Manage and optimize your ads in WordPress as easy as creating posts. Including s
14
 
15
  Advanced Ads is a simple ad manager made by a publisher for publishers. Based on my experience delivering millions of ads per month I built this plugin as a powerful, but light weight solution to not only manage and serve ads in WordPress, but to test and optimize them as well.
16
 
17
- Learn more on the [plugin homepage](http://wpadvancedads.com).
18
 
19
  = create and manage ads =
20
 
@@ -72,7 +72,7 @@ display ads by conditions based on the visitor
72
 
73
  * display ads on all devices, mobile only or exclude mobile users
74
  * hide all ads from logged in users based on their role
75
- * display ads by exact browser width with the [Responsive add-on](http://wpadvancedads.com/responsive-ads/)
76
 
77
  = ad injection =
78
 
@@ -94,7 +94,7 @@ There is an ad type dedicated to Google AdSense that supports:
94
  * switch ad sizes
95
  * switch between normal and responsive
96
  * automatic limit 3 AdSense ads according to AdSense terms of service (can be disabled)
97
- * assistant for exact sizes of responsive ads with the [Responsive add-on](http://wpadvancedads.com/responsive-ads/)
98
  * (more coming soon)
99
 
100
  = based on WordPress standards =
@@ -102,16 +102,16 @@ There is an ad type dedicated to Google AdSense that supports:
102
  * integrated into WordPress using standards like custom post types, taxonomies and hooks
103
  * easily customizable by any WordPress plugin developer
104
 
105
- Learn more on the [plugin homepage](http://wpadvancedads.com).
106
 
107
  Localizations: English, German, Italien, Portuguese
108
 
109
  > <strong>Add-Ons</strong>
110
  >
111
- > * Tracking – ad tracking and statistics – [more](http://wpadvancedads.com/ad-tracking/)
112
- > * Responsive Ads – create mobile ads or ads for specific browser sizes - [Demo](http://wpadvancedads.com/responsive-ads/)
113
- > * Sticky Ads – increase click rates with fixed, sticky, and anchor ads - [Demo](http://wpadvancedads.com/sticky-ads/demo/)
114
- > * PopUp and Layer Ads – display ads and other content in layers and popups - [Demo](http://wpadvancedads.com/layer-ads/)
115
 
116
  == Installation ==
117
 
@@ -174,6 +174,18 @@ There is no revenue share. Advanced Ads doesn’t alter your ad codes in a way t
174
 
175
  == Changelog ==
176
 
 
 
 
 
 
 
 
 
 
 
 
 
177
  = 1.5.1 =
178
 
179
  * added tab menu für settings
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
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
14
 
15
  Advanced Ads is a simple ad manager made by a publisher for publishers. Based on my experience delivering millions of ads per month I built this plugin as a powerful, but light weight solution to not only manage and serve ads in WordPress, but to test and optimize them as well.
16
 
17
+ Learn more on the [plugin homepage](https://wpadvancedads.com).
18
 
19
  = create and manage ads =
20
 
72
 
73
  * display ads on all devices, mobile only or exclude mobile users
74
  * hide all ads from logged in users based on their role
75
+ * display ads by exact browser width with the [Responsive add-on](https://wpadvancedads.com/add-ons/responsive-ads/)
76
 
77
  = ad injection =
78
 
94
  * switch ad sizes
95
  * switch between normal and responsive
96
  * automatic limit 3 AdSense ads according to AdSense terms of service (can be disabled)
97
+ * assistant for exact sizes of responsive ads with the [Responsive add-on](https://wpadvancedads.com/add-ons/responsive-ads/)
98
  * (more coming soon)
99
 
100
  = based on WordPress standards =
102
  * integrated into WordPress using standards like custom post types, taxonomies and hooks
103
  * easily customizable by any WordPress plugin developer
104
 
105
+ Learn more on the [plugin homepage](https://wpadvancedads.com).
106
 
107
  Localizations: English, German, Italien, Portuguese
108
 
109
  > <strong>Add-Ons</strong>
110
  >
111
+ > * Tracking – ad tracking and statistics – [more](https://wpadvancedads.com/add-ons/tracking/)
112
+ > * Responsive Ads – create mobile ads or ads for specific browser sizes - [Demo](https://wpadvancedads.com/add-ons/responsive-ads/)
113
+ > * Sticky Ads – increase click rates with fixed, sticky, and anchor ads - [Demo](https://wpadvancedads.com/sticky-ads/demo/)
114
+ > * PopUp and Layer Ads – display ads and other content in layers and popups - [Demo](https://wpadvancedads.com/add-ons/layer-ads/)
115
 
116
  == Installation ==
117
 
174
 
175
  == Changelog ==
176
 
177
+ = 1.5.2 =
178
+
179
+ * fixed empty bots not excluded if option is activated
180
+ * fixed updated placements not showing up right away
181
+ * removing spaces from AdSense publisher id
182
+ * simplify admin capabilities for modules
183
+ * fixed admin includes to avoid relative paths
184
+ * fixed a warning in add-on admin settings
185
+ * fixed wrong path to advanced.js
186
+ * removed old code and global ad conditions previously saved in field 'advads-ads-by-conditions'
187
+ * updated German translation
188
+
189
  = 1.5.1 =
190
 
191
  * added tab menu für settings
vendor/autoload_52.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once dirname(__FILE__) . '/composer'.'/autoload_real_52.php';
6
 
7
- return ComposerAutoloaderInit6da0d23f97720fc3d9b3fe2d5b2527cb::getLoader();
4
 
5
  require_once dirname(__FILE__) . '/composer'.'/autoload_real_52.php';
6
 
7
+ return ComposerAutoloaderInit8cda8f52aae5bf6f8f52424ac2a0a7ea::getLoader();
vendor/composer/autoload_classmap.php CHANGED
@@ -14,17 +14,17 @@ return array(
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_Placements' => $baseDir . '/classes/ad_placements.php',
18
  'Advads_Ad_Type_Abstract' => $baseDir . '/classes/ad_type_abstract.php',
19
  'Advads_Ad_Type_Content' => $baseDir . '/classes/ad_type_content.php',
20
  'Advads_Ad_Type_Plain' => $baseDir . '/classes/ad_type_plain.php',
21
  'Advads_Widget' => $baseDir . '/classes/widget.php',
 
 
22
  'Advanced_Ads_Ajax' => $baseDir . '/classes/ad-ajax.php',
23
  'Advanced_Ads_Model' => $baseDir . '/classes/ad-model.php',
 
24
  'Advanced_Ads_Plugin' => $baseDir . '/classes/plugin.php',
25
  'Advanced_Ads_Select' => $baseDir . '/classes/ad-select.php',
26
- 'Advanced_Ads' => $baseDir . '/public/class-advanced-ads.php',
27
- 'Advanced_Ads_Admin' => $baseDir . '/admin/class-advanced-ads-admin.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',
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',
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 ComposerAutoloaderInit6da0d23f97720fc3d9b3fe2d5b2527cb {
6
  private static $loader;
7
 
8
  public static function loadClassLoader($class) {
@@ -19,9 +19,9 @@ class ComposerAutoloaderInit6da0d23f97720fc3d9b3fe2d5b2527cb {
19
  return self::$loader;
20
  }
21
 
22
- spl_autoload_register(array('ComposerAutoloaderInit6da0d23f97720fc3d9b3fe2d5b2527cb', 'loadClassLoader'), true /*, true */);
23
  self::$loader = $loader = new xrstf_Composer52_ClassLoader();
24
- spl_autoload_unregister(array('ComposerAutoloaderInit6da0d23f97720fc3d9b3fe2d5b2527cb', '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 ComposerAutoloaderInit8cda8f52aae5bf6f8f52424ac2a0a7ea {
6
  private static $loader;
7
 
8
  public static function loadClassLoader($class) {
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);