Version Description
- hotfix for missing get_current_screen issue
Download this release
Release Info
Developer | webzunft |
Plugin | Advanced Ads |
Version | 1.7.0.1 |
Comparing to | |
See all releases |
Code changes from version 1.6.17.1 to 1.7.0.1
- admin/assets/css/admin.css +20 -14
- admin/assets/js/admin.js +81 -150
- admin/class-advanced-ads-admin.php +46 -5
- admin/includes/class-display-condition-callbacks.php +0 -326
- admin/includes/class-notices.php +3 -0
- admin/includes/class-overview-widgets.php +0 -1
- admin/includes/notices.php +5 -0
- admin/views/ad-display-metabox.php +115 -77
- admin/views/ad-visitor-metabox.php +5 -1
- admin/views/notices/jqueryui_error.php +3 -0
- admin/views/support.php +15 -12
- advanced-ads.php +2 -2
- classes/ad.php +7 -3
- classes/ad_ajax_callbacks.php +32 -0
- classes/ad_type_content.php +13 -0
- classes/display-conditions.php +774 -0
- classes/plugin.php +12 -0
- classes/upgrades.php +213 -0
- composer.lock +11 -7
- includes/array_ad_conditions.php +1 -0
- languages/advanced-ads-de_DE.po +1 -1
- languages/advanced-ads-it_IT.po +1 -1
- languages/advanced-ads-nl_NL.po +1 -1
- languages/advanced-ads-pt_BR.po +1 -1
- languages/advanced-ads.mo +0 -0
- languages/advanced-ads.po +372 -268
- languages/advanced-ads.pot +353 -436
- modules/display-by-query/config.php +0 -12
- modules/display-by-query/display-by-query.class.php +0 -289
- modules/display-by-query/main.php +0 -3
- readme.txt +53 -29
- vendor/autoload_52.php +1 -1
- vendor/composer/LICENSE +0 -0
- vendor/composer/autoload_classmap.php +2 -60
- vendor/composer/autoload_real_52.php +3 -3
- vendor/composer/installed.json +45 -42
- vendor/composer/installers/.travis.yml +11 -4
- vendor/composer/installers/README.md +4 -2
- vendor/composer/installers/composer.json +5 -2
- vendor/composer/installers/src/Composer/Installers/BaseInstaller.php +5 -1
- vendor/composer/installers/src/Composer/Installers/BitrixInstaller.php +81 -3
- vendor/composer/installers/src/Composer/Installers/BonefishInstaller.php +9 -0
- vendor/composer/installers/src/Composer/Installers/CakePHPInstaller.php +12 -6
- vendor/composer/installers/src/Composer/Installers/CraftInstaller.php +26 -0
- vendor/composer/installers/src/Composer/Installers/Installer.php +16 -3
- vendor/composer/installers/src/Composer/Installers/KodiCMSInstaller.php +10 -0
- vendor/composer/installers/src/Composer/Installers/MoodleInstaller.php +9 -0
- vendor/composer/installers/src/Composer/Installers/OxidInstaller.php +48 -0
- vendor/composer/installers/src/Composer/Installers/Plugin.php +17 -0
- vendor/composer/installers/tests/Composer/Installers/Test/CakePHPInstallerTest.php +1 -1
- vendor/composer/installers/tests/Composer/Installers/Test/CraftInstallerTest.php +83 -0
- vendor/composer/installers/tests/Composer/Installers/Test/InstallerTest.php +9 -3
admin/assets/css/admin.css
CHANGED
@@ -71,28 +71,35 @@
|
|
71 |
}
|
72 |
.post-type-advanced_ads h5 { font-size: 1.2em; margin: 1em 0 .5em; }
|
73 |
.post-type-advanced_ads #ad-display-box label { margin-right: 1em; }
|
74 |
-
.post-type-advanced_ads #ad-display-box td, .post-type-advanced_ads #ad-display-box th { padding
|
75 |
.post-type-advanced_ads #ad-display-box .advanced-ads-display-condition-set label { float: left; margin-right: -1px; }
|
76 |
.post-type-advanced_ads #ad-display-box .ui-widget { font-size: inherit; }
|
77 |
-
|
78 |
-
.
|
79 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
80 |
.post-type-advanced_ads .advads-conditions-single th { vertical-align: top; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
81 |
.advads-conditions-postids-list li { background: #F1F1F1; padding: 3px; }
|
82 |
.advads-conditions-postids-list .remove { margin-right: 1em; font-size: .9em; }
|
83 |
.advads-conditions-postids-autocomplete-suggestions li span.left { float: left; }
|
84 |
.advads-conditions-postids-autocomplete-suggestions li span.right { float: right; color: #aaa; font-size: .8em; }
|
85 |
|
86 |
-
.post-type-advanced_ads #advads-ad-content-plain { width: 100%; }
|
87 |
-
.post-type-advanced_ads #ad-display-box .advads-conditions-terms-buttons { display: inline-block; }
|
88 |
-
.post-type-advanced_ads #ad-display-box .advads-conditions-terms-buttons label,
|
89 |
-
.post-type-advanced_ads #ad-display-box .advads-conditions-terms-buttons .button { margin: 0 -1px .3em 0; padding: 0 .5em; background: #f7f7f7; height: 22px; line-height: 22px; color: #555; border: 1px solid #ccc; border-radius: 0; font-family: inherit; }
|
90 |
-
.post-type-advanced_ads #ad-display-box .advads-conditions-terms-buttons label span { margin: 0; padding: 0; line-height: 22px; }
|
91 |
-
|
92 |
.advads-buttonset label span { margin: 0; padding: 0; }
|
93 |
|
94 |
.advads-buttonset .ui-state-active,
|
95 |
-
.advads-buttonset .button,
|
96 |
.advads-buttonset .ui-button.ui-state-active { border-color: #0074a2 !important; background: #2ea2cc !important; color: #fff !important; box-shadow: none; }
|
97 |
|
98 |
#ad-display-box .advads-conditions-terms-show-search { height: 22px; line-height: 22px; font-weight: bold; font-size: 1.5em; }
|
@@ -115,12 +122,11 @@
|
|
115 |
.advads-debug-output legend { text-decoration: underline; cursor: pointer; }
|
116 |
|
117 |
#advads-visitor-conditions select,
|
118 |
-
#advads-visitor-conditions input { margin: 0; padding: 3px; }
|
119 |
#advads-visitor-conditions label { float: left; }
|
120 |
#advads-visitor-conditions tbody tr:first-child { display: none; }
|
121 |
-
#advads-visitor-conditions td { padding: 0 5px; position: relative; top: 0; left: 0; }
|
122 |
#advads-visitor-conditions td hr { float: right; width: 85%;}
|
123 |
-
#advads-visitor-conditions td:nth-child(2) { padding-top: 0.5em; vertical-align: top; font-weight: bold; }
|
124 |
.advads-visitor-conditions-connector-and,
|
125 |
.advads-visitor-conditions-connector-or { text-transform: uppercase; }
|
126 |
#advads-visitor-conditions td.advads-visitor-conditions-operator-or > hr { display: none; }
|
71 |
}
|
72 |
.post-type-advanced_ads h5 { font-size: 1.2em; margin: 1em 0 .5em; }
|
73 |
.post-type-advanced_ads #ad-display-box label { margin-right: 1em; }
|
74 |
+
.post-type-advanced_ads #ad-display-box td, .post-type-advanced_ads #ad-display-box th { padding: 10px 0 10px 10px; }
|
75 |
.post-type-advanced_ads #ad-display-box .advanced-ads-display-condition-set label { float: left; margin-right: -1px; }
|
76 |
.post-type-advanced_ads #ad-display-box .ui-widget { font-size: inherit; }
|
77 |
+
#advads-display-conditions-new select { text-transform: capitalize; }
|
78 |
+
.advads-display-conditions-remove + h5 { display: inline-block; margin-top: 0; margin-left: 1em; }
|
79 |
+
select + .advads-conditions-single { display: inline-block; }
|
80 |
+
#advads-display-condition-table { border-collapse: collapse; }
|
81 |
+
#advads-display-condition-table td, #advads-display-condition-table td * { vertical-align: top; }
|
82 |
+
#advads-display-condition-table > tbody > tr td { border-bottom: 1px solid #ddd; }
|
83 |
+
#advads-display-condition-table select { vertical-align: inherit; margin: 0; }
|
84 |
+
.advads-conditions-type { text-transform: capitalize; }
|
85 |
+
|
86 |
+
.post-type-advanced_ads #advads-ad-content-plain { width: 100%; }
|
87 |
.post-type-advanced_ads .advads-conditions-single th { vertical-align: top; }
|
88 |
+
.post-type-advanced_ads .advads-conditions-single { margin: 0; padding: 0 10px 0 0; line-height: 1em; }
|
89 |
+
.post-type-advanced_ads select + .advads-conditions-single { padding-left: 10px }
|
90 |
+
.post-type-advanced_ads .advads-conditions-single.disabled { display: none; opacity: .5; }
|
91 |
+
.post-type-advanced_ads #ad-display-box .advads-conditions-single.advads-buttonset label { margin: 0 -1px .3em 0; padding: 0 .5em; background: #f7f7f7; height: 26px; line-height: 26px; color: #555; border: 1px solid #ccc; border-radius: 0; font-family: inherit; box-shadow: none; }
|
92 |
+
.post-type-advanced_ads #ad-display-box .advads-conditions-single.advads-buttonset label span { margin: 0; padding: 0; line-height: inherit; }
|
93 |
+
.post-type-advanced_ads .advads-conditions-postid-buttons { padding: 0 10px; }
|
94 |
+
.advads-conditions-postids-show-search { margin-left: .5em !important; }
|
95 |
.advads-conditions-postids-list li { background: #F1F1F1; padding: 3px; }
|
96 |
.advads-conditions-postids-list .remove { margin-right: 1em; font-size: .9em; }
|
97 |
.advads-conditions-postids-autocomplete-suggestions li span.left { float: left; }
|
98 |
.advads-conditions-postids-autocomplete-suggestions li span.right { float: right; color: #aaa; font-size: .8em; }
|
99 |
|
|
|
|
|
|
|
|
|
|
|
|
|
100 |
.advads-buttonset label span { margin: 0; padding: 0; }
|
101 |
|
102 |
.advads-buttonset .ui-state-active,
|
|
|
103 |
.advads-buttonset .ui-button.ui-state-active { border-color: #0074a2 !important; background: #2ea2cc !important; color: #fff !important; box-shadow: none; }
|
104 |
|
105 |
#ad-display-box .advads-conditions-terms-show-search { height: 22px; line-height: 22px; font-weight: bold; font-size: 1.5em; }
|
122 |
.advads-debug-output legend { text-decoration: underline; cursor: pointer; }
|
123 |
|
124 |
#advads-visitor-conditions select,
|
125 |
+
#advads-visitor-conditions input { vertical-align: inherit; margin: 0; padding: 3px; }
|
126 |
#advads-visitor-conditions label { float: left; }
|
127 |
#advads-visitor-conditions tbody tr:first-child { display: none; }
|
128 |
+
#advads-visitor-conditions td { padding: 0 5px; position: relative; top: 0; left: 0; vertical-align: top; }
|
129 |
#advads-visitor-conditions td hr { float: right; width: 85%;}
|
|
|
130 |
.advads-visitor-conditions-connector-and,
|
131 |
.advads-visitor-conditions-connector-or { text-transform: uppercase; }
|
132 |
#advads-visitor-conditions td.advads-visitor-conditions-operator-or > hr { display: none; }
|
admin/assets/js/admin.js
CHANGED
@@ -1,4 +1,8 @@
|
|
1 |
jQuery( document ).ready(function ($) {
|
|
|
|
|
|
|
|
|
2 |
function advads_load_ad_type_parameter_metabox(ad_type) {
|
3 |
jQuery( '#advanced-ad-type input' ).prop( 'disabled', true );
|
4 |
$( '#advanced-ads-tinymce-wrapper' ).hide();
|
@@ -32,122 +36,94 @@ jQuery( document ).ready(function ($) {
|
|
32 |
advads_load_ad_type_parameter_metabox( ad_type );
|
33 |
});
|
34 |
|
35 |
-
// toggle display conditions
|
36 |
-
$( '#advanced-ad-conditions-enable input' ).click(function () {
|
37 |
-
advads_toggle_display_conditions( this.value );
|
38 |
-
});
|
39 |
-
// display on load
|
40 |
-
advads_toggle_display_conditions( $( '#advanced-ad-conditions-enable input:checked' ).val() );
|
41 |
-
|
42 |
-
// display / hide options if all-option is checked for display condition
|
43 |
-
$( '.advanced-ad-display-condition .advads-conditions-all input' ).click(function () {
|
44 |
-
advads_toggle_single_display_conditions( this );
|
45 |
-
});
|
46 |
-
// display / hide options if all-option is checked for display condition – on load
|
47 |
-
$( '.advanced-ad-display-condition .advads-conditions-all input' ).each(function () {
|
48 |
-
advads_toggle_single_display_conditions( this );
|
49 |
-
});
|
50 |
-
|
51 |
// activate general buttons
|
52 |
-
|
|
|
|
|
53 |
// activate accordions
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
$( document ).on('click', '.advads-conditions-single input[type="checkbox"]', function () {
|
61 |
-
advads_toggle_single_display_condition_checkbox( this );
|
62 |
-
// update buttons when main conditions get unchecked
|
63 |
-
//$( '.advads-conditions-terms-buttons' ).button( 'refresh' );
|
64 |
-
});
|
65 |
-
// toggle single display condition checkboxes that have a counterpart on load
|
66 |
-
$( '.advads-conditions-single input[type="checkbox"]' ).each(function () {
|
67 |
-
advads_toggle_single_display_condition_checkbox( this );
|
68 |
-
});
|
69 |
|
70 |
$( document ).on('click', '.advads-conditions-terms-buttons .button', function (e) {
|
71 |
$( this ).remove();
|
72 |
});
|
73 |
// display input field to search for terms
|
74 |
-
$( '.advads-conditions-terms-show-search'
|
75 |
e.preventDefault();
|
76 |
// display input field
|
77 |
$( this ).siblings( '.advads-conditions-terms-search' ).show().focus();
|
|
|
|
|
78 |
$( this ).next( 'br' ).show();
|
79 |
$( this ).hide();
|
80 |
});
|
81 |
-
//
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
}
|
103 |
-
});
|
104 |
-
});
|
105 |
-
};
|
106 |
// display input field to search for post, page, etc.
|
107 |
-
$( '.advads-conditions-postids-
|
108 |
e.preventDefault();
|
109 |
// display input field
|
110 |
$( '#advads-display-conditions-individual-post' ).show();
|
|
|
111 |
$( this ).hide();
|
112 |
});
|
113 |
-
// register autocomplete to display condition posts
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
return $( "<li></li>" )
|
140 |
-
.append( "<span class='left'>" + item.label + "</span><span class='right'>" + item.info + "</span>" )
|
141 |
-
.appendTo( ul );
|
142 |
};
|
143 |
-
};
|
144 |
|
145 |
// remove individual posts from the display conditions post list
|
146 |
-
$( document ).on('click', '.advads-conditions-
|
147 |
-
|
148 |
-
$( this ).parent( 'li' ).remove();
|
149 |
});
|
150 |
-
|
151 |
// display ad groups form
|
152 |
$( '#advads-ad-group-list a.edit, #advads-ad-group-list a.row-title' ).click(function(e){
|
153 |
e.preventDefault();
|
@@ -283,12 +259,14 @@ jQuery( document ).ready(function ($) {
|
|
283 |
*/
|
284 |
|
285 |
// show image tooltips
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
|
|
|
|
292 |
|
293 |
/**
|
294 |
* Image ad uploader
|
@@ -412,9 +390,9 @@ function advads_term_search(field, callback) {
|
|
412 |
var query = {
|
413 |
action: 'advads-terms-search',
|
414 |
};
|
415 |
-
|
416 |
-
query.search = field.
|
417 |
-
query.tax = field.
|
418 |
|
419 |
var querying = true;
|
420 |
|
@@ -506,53 +484,6 @@ function advads_toggle_box_enable(e, selector) {
|
|
506 |
}
|
507 |
}
|
508 |
|
509 |
-
/**
|
510 |
-
* toggle display conditions
|
511 |
-
* @param {bool} value
|
512 |
-
*/
|
513 |
-
function advads_toggle_display_conditions(value) {
|
514 |
-
if (value == 1) {
|
515 |
-
jQuery( '#advanced-ad-conditions' ).fadeIn();
|
516 |
-
} else {
|
517 |
-
jQuery( '#advanced-ad-conditions' ).fadeOut();
|
518 |
-
}
|
519 |
-
}
|
520 |
-
|
521 |
-
/**
|
522 |
-
* disable new display conditions
|
523 |
-
* @param {string} checkbox element
|
524 |
-
*/
|
525 |
-
function advads_toggle_single_display_conditions(checkbox) {
|
526 |
-
// console.log(jQuery(checkbox).parent('div').find('label:not(.advads-conditions-all) input').css('border', 'solid'));
|
527 |
-
if (jQuery( checkbox ).is( ':checked' )) {
|
528 |
-
jQuery( checkbox ).parents( '.advanced-ad-display-condition' ).find( '.advads-conditions-single' ).addClass( 'disabled' ).find( 'input' ).attr( 'disabled', 'disabled' );
|
529 |
-
} else {
|
530 |
-
// activate buttonsets
|
531 |
-
jQuery( checkbox ).parents( '.advanced-ad-display-condition' ).find( '.advads-conditions-single.advads-buttonset' ).buttonset();
|
532 |
-
jQuery( checkbox ).parents( '.advanced-ad-display-condition' ).find( '.advads-conditions-single' ).removeClass( 'disabled' ).find( 'input' ).removeAttr( 'disabled' );
|
533 |
-
}
|
534 |
-
}
|
535 |
-
|
536 |
-
/**
|
537 |
-
* toggle display condition checkboxes
|
538 |
-
* @param {string} checkbox element
|
539 |
-
*/
|
540 |
-
function advads_toggle_single_display_condition_checkbox(checkbox) {
|
541 |
-
// get the counterpart (same value, but not current element)
|
542 |
-
var counterpart = jQuery( checkbox ).parents( '.advads-conditions-single' ).find( 'input[type="checkbox"][value="' + checkbox.value + '"]' ).not( checkbox );
|
543 |
-
// toggle counterpart
|
544 |
-
if (jQuery( checkbox ).is( ':checked' )) {
|
545 |
-
counterpart.attr( 'checked', false );
|
546 |
-
counterpart.attr( 'disabled', 'disabled' );
|
547 |
-
// mark label
|
548 |
-
jQuery( 'label[for="' + counterpart.attr( 'id' ) + '"]' ).addClass( 'ui-button-disabled' ).addClass( 'ui-state-disabled' );
|
549 |
-
} else {
|
550 |
-
counterpart.removeAttr( 'disabled' );
|
551 |
-
jQuery( 'label[for="' + counterpart.attr( 'id' ) + '"]' ).removeClass( 'ui-button-disabled' );
|
552 |
-
jQuery( 'label[for="' + counterpart.attr( 'id' ) + '"]' ).removeClass( 'ui-state-disabled' );
|
553 |
-
}
|
554 |
-
}
|
555 |
-
|
556 |
/**
|
557 |
* validate placement form on submit
|
558 |
*/
|
@@ -691,4 +622,4 @@ function advads_ad_list_build_filters() {
|
|
691 |
$the_list_tr.not( '.advads-hidden' ).filter( ':odd' ).addClass( 'advads-ad-list-odd' ).removeClass( 'advads-ad-list-even' ).end()
|
692 |
.filter( ':even' ).addClass( 'advads-ad-list-even' ).removeClass( 'advads-ad-list-odd' );
|
693 |
});
|
694 |
-
}
|
1 |
jQuery( document ).ready(function ($) {
|
2 |
+
if ( ! $.fn.buttonset || ! $.fn.accordion || ! $.fn.tooltip ) {
|
3 |
+
$( '#advads-jqueryui-error').show();
|
4 |
+
}
|
5 |
+
|
6 |
function advads_load_ad_type_parameter_metabox(ad_type) {
|
7 |
jQuery( '#advanced-ad-type input' ).prop( 'disabled', true );
|
8 |
$( '#advanced-ads-tinymce-wrapper' ).hide();
|
36 |
advads_load_ad_type_parameter_metabox( ad_type );
|
37 |
});
|
38 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
39 |
// activate general buttons
|
40 |
+
if ( $.fn.buttonset ) {
|
41 |
+
$( '.advads-buttonset' ).buttonset();
|
42 |
+
}
|
43 |
// activate accordions
|
44 |
+
if ( $.fn.accordion ) {
|
45 |
+
$( ".advads-accordion" ).accordion({
|
46 |
+
active: false,
|
47 |
+
collapsible: true,
|
48 |
+
});
|
49 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
|
51 |
$( document ).on('click', '.advads-conditions-terms-buttons .button', function (e) {
|
52 |
$( this ).remove();
|
53 |
});
|
54 |
// display input field to search for terms
|
55 |
+
$( document ).on('click', '.advads-conditions-terms-show-search', function (e) {
|
56 |
e.preventDefault();
|
57 |
// display input field
|
58 |
$( this ).siblings( '.advads-conditions-terms-search' ).show().focus();
|
59 |
+
// register autocomplete
|
60 |
+
advads_register_terms_autocomplete( $( this ).siblings( '.advads-conditions-terms-search' ) );
|
61 |
$( this ).next( 'br' ).show();
|
62 |
$( this ).hide();
|
63 |
});
|
64 |
+
// function for autocomplete
|
65 |
+
function advads_register_terms_autocomplete( self ){
|
66 |
+
self.autocomplete({
|
67 |
+
source: function(request, callback){
|
68 |
+
// var searchField = request.term;
|
69 |
+
advads_term_search( self, callback );
|
70 |
+
},
|
71 |
+
minLength: 1,
|
72 |
+
select: function( event, ui ) {
|
73 |
+
// append new line with input fields
|
74 |
+
$( '<label class="button ui-state-active">' + ui.item.label + '<input type="hidden" name="' + self.data('inputName') + '" value="' + ui.item.value + '"></label>' ).appendTo( self.siblings( '.advads-conditions-terms-buttons' ) );
|
75 |
+
|
76 |
+
// show / hide other elements
|
77 |
+
// $( '#advads-display-conditions-individual-post' ).hide();
|
78 |
+
// $( '.advads-conditions-postids-list .show-search a' ).show();
|
79 |
+
},
|
80 |
+
close: function( event, ui ) {
|
81 |
+
self.val( '' );
|
82 |
+
}
|
83 |
+
});
|
84 |
+
}
|
|
|
|
|
|
|
|
|
85 |
// display input field to search for post, page, etc.
|
86 |
+
$( document ).on( 'click', '.advads-conditions-postids-show-search', function (e) {
|
87 |
e.preventDefault();
|
88 |
// display input field
|
89 |
$( '#advads-display-conditions-individual-post' ).show();
|
90 |
+
$( '.advads-conditions-postids-search-line .description' ).hide();
|
91 |
$( this ).hide();
|
92 |
});
|
93 |
+
// register autocomplete to display condition individual posts
|
94 |
+
$(document).on("focus","#advads-display-conditions-individual-post",function(e) {
|
95 |
+
var self = this;
|
96 |
+
if ( !$(this).data("autocomplete") ) { // If the autocomplete wasn't called yet:
|
97 |
+
$( this ).autocomplete({
|
98 |
+
source: function(request, callback){
|
99 |
+
var searchParam = request.term;
|
100 |
+
advads_post_search( searchParam, callback );
|
101 |
+
},
|
102 |
+
minLength: 2,
|
103 |
+
select: function( event, ui ) {
|
104 |
+
// append new line with input fields
|
105 |
+
var newline = $( '<label class="button ui-state-active">' + ui.item.label + '</label>' );
|
106 |
+
$( '<input type="hidden" name="' + self.dataset.fieldName + '[value][]" value="' + ui.item.value + '"/>' ).appendTo( newline );
|
107 |
+
newline.insertBefore( $( '.advads-conditions-postids-search-line' ) );
|
108 |
+
},
|
109 |
+
close: function( event, ui ) {
|
110 |
+
$( '#advads-display-conditions-individual-post' ).val( '' );
|
111 |
+
},
|
112 |
+
})
|
113 |
+
.autocomplete().data("ui-autocomplete")._renderItem = function( ul, item ) {
|
114 |
+
ul.addClass( "advads-conditions-postids-autocomplete-suggestions" );
|
115 |
+
return $( "<li></li>" )
|
116 |
+
.append( "<span class='left'>" + item.label + "</span><span class='right'>" + item.info + "</span>" )
|
117 |
+
.appendTo( ul );
|
118 |
+
};
|
|
|
|
|
|
|
119 |
};
|
120 |
+
});
|
121 |
|
122 |
// remove individual posts from the display conditions post list
|
123 |
+
$( document ).on('click', '.advads-conditions-postid-buttons .button', function(e){
|
124 |
+
$( this ).remove();
|
|
|
125 |
});
|
126 |
+
|
127 |
// display ad groups form
|
128 |
$( '#advads-ad-group-list a.edit, #advads-ad-group-list a.row-title' ).click(function(e){
|
129 |
e.preventDefault();
|
259 |
*/
|
260 |
|
261 |
// show image tooltips
|
262 |
+
if ( $.fn.tooltip ) {
|
263 |
+
$( ".advads-placements-new-form .advads-placement-type" ).tooltip({
|
264 |
+
items: "span",
|
265 |
+
content: function() {
|
266 |
+
return $( this ).parents('.advads-placement-type').find( '.advads-placement-description' ).html();
|
267 |
+
}
|
268 |
+
});
|
269 |
+
}
|
270 |
|
271 |
/**
|
272 |
* Image ad uploader
|
390 |
var query = {
|
391 |
action: 'advads-terms-search',
|
392 |
};
|
393 |
+
|
394 |
+
query.search = field.val();
|
395 |
+
query.tax = field.data('tagName');
|
396 |
|
397 |
var querying = true;
|
398 |
|
484 |
}
|
485 |
}
|
486 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
487 |
/**
|
488 |
* validate placement form on submit
|
489 |
*/
|
622 |
$the_list_tr.not( '.advads-hidden' ).filter( ':odd' ).addClass( 'advads-ad-list-odd' ).removeClass( 'advads-ad-list-even' ).end()
|
623 |
.filter( ':even' ).addClass( 'advads-ad-list-even' ).removeClass( 'advads-ad-list-odd' );
|
624 |
});
|
625 |
+
}
|
admin/class-advanced-ads-admin.php
CHANGED
@@ -99,10 +99,11 @@ class Advanced_Ads_Admin {
|
|
99 |
|
100 |
// Load admin style sheet and JavaScript.
|
101 |
add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_admin_styles' ) );
|
102 |
-
add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_admin_scripts' ) );
|
103 |
|
104 |
// Add menu items
|
105 |
add_action( 'admin_menu', array($this, 'add_plugin_admin_menu') );
|
|
|
106 |
|
107 |
// on post/ad edit screen
|
108 |
add_action( 'edit_form_top', array($this, 'edit_form_above_title') );
|
@@ -210,7 +211,11 @@ class Advanced_Ads_Admin {
|
|
210 |
//call media manager for image upload only on ad edit pages
|
211 |
$screen = get_current_screen();
|
212 |
if( isset( $screen->id ) && Advanced_Ads::POST_TYPE_SLUG === $screen->id ) {
|
213 |
-
wp_enqueue_media
|
|
|
|
|
|
|
|
|
214 |
}
|
215 |
|
216 |
}
|
@@ -223,6 +228,10 @@ class Advanced_Ads_Admin {
|
|
223 |
*/
|
224 |
static function screen_belongs_to_advanced_ads(){
|
225 |
|
|
|
|
|
|
|
|
|
226 |
$screen = get_current_screen();
|
227 |
//echo $screen->id;
|
228 |
if( !isset( $screen->id ) ) {
|
@@ -292,6 +301,19 @@ class Advanced_Ads_Admin {
|
|
292 |
do_action( 'advanced-ads-submenu-pages', $this->plugin_slug );
|
293 |
}
|
294 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
295 |
/**
|
296 |
* Render the overview page
|
297 |
*
|
@@ -371,6 +393,7 @@ class Advanced_Ads_Admin {
|
|
371 |
// process email
|
372 |
|
373 |
$mail_sent = false;
|
|
|
374 |
global $current_user;
|
375 |
$user = wp_get_current_user();
|
376 |
|
@@ -383,13 +406,21 @@ class Advanced_Ads_Admin {
|
|
383 |
$email = trim( $_POST['advads_support']['email'] );
|
384 |
$name = trim( $_POST['advads_support']['name'] );
|
385 |
$message = trim( $_POST['advads_support']['message'] );
|
386 |
-
if( ''
|
|
|
|
|
|
|
387 |
$headers = 'From: '. $name .' <' . $email . '>' . "\r\n";
|
388 |
$content = $message;
|
389 |
$content .= "\r\n\r\n Name: " . $name;
|
390 |
$content .= "\r\n URL: " . home_url();
|
391 |
|
392 |
$mail_sent = wp_mail( 'support@wpadvancedads.com', 'Support for ' . home_url(), $content, $headers );
|
|
|
|
|
|
|
|
|
|
|
393 |
}
|
394 |
}
|
395 |
|
@@ -1152,7 +1183,13 @@ class Advanced_Ads_Admin {
|
|
1152 |
}
|
1153 |
|
1154 |
echo '<input id="advanced-ads-remove-widget-id" type="checkbox" ' . checked( $remove, true, false ) . ' name="'.ADVADS_SLUG.'[remove-widget-id]" />';
|
1155 |
-
echo '<p class="description">'. __( 'Remove the ID attribute from widgets in order to not make them an easy target of ad blockers.', 'advanced-ads' )
|
|
|
|
|
|
|
|
|
|
|
|
|
1156 |
}
|
1157 |
|
1158 |
/**
|
@@ -1195,6 +1232,9 @@ class Advanced_Ads_Admin {
|
|
1195 |
// check if editors can edit ads now and set the rights
|
1196 |
// else, remove that right
|
1197 |
$editor_role = get_role( 'editor' );
|
|
|
|
|
|
|
1198 |
if( isset($options['editors-manage-ads']) && $options['editors-manage-ads'] ){
|
1199 |
$editor_role->add_cap( 'advanced_ads_see_interface' );
|
1200 |
$editor_role->add_cap( 'advanced_ads_edit_ads' );
|
@@ -1590,7 +1630,7 @@ class Advanced_Ads_Admin {
|
|
1590 |
*/
|
1591 |
public static function get_wp_timezone() {
|
1592 |
$_time_zone = get_option( 'timezone_string' );
|
1593 |
-
$time_zone = 'UTC
|
1594 |
if ( $_time_zone ) {
|
1595 |
$time_zone = new DateTimeZone( $_time_zone );
|
1596 |
} else {
|
@@ -1638,6 +1678,7 @@ class Advanced_Ads_Admin {
|
|
1638 |
if( current_user_can( Advanced_Ads_Plugin::user_cap( 'advanced_ads_edit_ads') ) ) {
|
1639 |
if ( $this->screen_belongs_to_advanced_ads() ){
|
1640 |
include ADVADS_BASE_PATH . 'admin/views/notices/adblock.php';
|
|
|
1641 |
}
|
1642 |
}
|
1643 |
|
99 |
|
100 |
// Load admin style sheet and JavaScript.
|
101 |
add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_admin_styles' ) );
|
102 |
+
add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_admin_scripts' ), 9 );
|
103 |
|
104 |
// Add menu items
|
105 |
add_action( 'admin_menu', array($this, 'add_plugin_admin_menu') );
|
106 |
+
add_action( 'admin_head', array( $this, 'highlight_menu_item' ) );
|
107 |
|
108 |
// on post/ad edit screen
|
109 |
add_action( 'edit_form_top', array($this, 'edit_form_above_title') );
|
211 |
//call media manager for image upload only on ad edit pages
|
212 |
$screen = get_current_screen();
|
213 |
if( isset( $screen->id ) && Advanced_Ads::POST_TYPE_SLUG === $screen->id ) {
|
214 |
+
// the 'wp_enqueue_media' function can be executed only once and should be called with the 'post' parameter
|
215 |
+
// in this case, the '_wpMediaViewsL10n' js object inside html will contain id of the post, that is necessary to view oEmbed priview inside tinyMCE editor.
|
216 |
+
// since other plugins can call the 'wp_enqueue_media' function without the 'post' parameter, Advanced Ads should call it earlier.
|
217 |
+
global $post;
|
218 |
+
wp_enqueue_media( array( 'post' => $post ) );
|
219 |
}
|
220 |
|
221 |
}
|
228 |
*/
|
229 |
static function screen_belongs_to_advanced_ads(){
|
230 |
|
231 |
+
if( ! function_exists( 'get_current_screen' ) ){
|
232 |
+
return false;
|
233 |
+
}
|
234 |
+
|
235 |
$screen = get_current_screen();
|
236 |
//echo $screen->id;
|
237 |
if( !isset( $screen->id ) ) {
|
301 |
do_action( 'advanced-ads-submenu-pages', $this->plugin_slug );
|
302 |
}
|
303 |
|
304 |
+
/**
|
305 |
+
* Highlights the 'Advanced Ads->Ads' item in the menu when an ad edit page is open
|
306 |
+
* @see the 'parent_file' and the 'submenu_file' filters for reference
|
307 |
+
*/
|
308 |
+
public function highlight_menu_item() {
|
309 |
+
global $parent_file, $submenu_file, $post_type;
|
310 |
+
|
311 |
+
if ( $post_type === $this->post_type ) {
|
312 |
+
$parent_file = $this->plugin_slug;
|
313 |
+
$submenu_file = 'edit.php?post_type=' . $this->post_type;
|
314 |
+
}
|
315 |
+
}
|
316 |
+
|
317 |
/**
|
318 |
* Render the overview page
|
319 |
*
|
393 |
// process email
|
394 |
|
395 |
$mail_sent = false;
|
396 |
+
$sent_errors = array();
|
397 |
global $current_user;
|
398 |
$user = wp_get_current_user();
|
399 |
|
406 |
$email = trim( $_POST['advads_support']['email'] );
|
407 |
$name = trim( $_POST['advads_support']['name'] );
|
408 |
$message = trim( $_POST['advads_support']['message'] );
|
409 |
+
if( '' === $message ){
|
410 |
+
$sent_errors[] = __('Please enter a message', 'advanced-ads');
|
411 |
+
}
|
412 |
+
if( is_email( $email ) ){
|
413 |
$headers = 'From: '. $name .' <' . $email . '>' . "\r\n";
|
414 |
$content = $message;
|
415 |
$content .= "\r\n\r\n Name: " . $name;
|
416 |
$content .= "\r\n URL: " . home_url();
|
417 |
|
418 |
$mail_sent = wp_mail( 'support@wpadvancedads.com', 'Support for ' . home_url(), $content, $headers );
|
419 |
+
if( ! $mail_sent ){
|
420 |
+
$sent_errors[] = sprintf(__('Email could NOT be sent. Please contact us directly at %s.', 'advanced-ads'), '<a href="mailto:support@wpadvancedads.com">support@wpadvancedads.com</a>');
|
421 |
+
}
|
422 |
+
} else {
|
423 |
+
$sent_errors[] = __('Please enter a valid email address', 'advanced-ads');
|
424 |
}
|
425 |
}
|
426 |
|
1183 |
}
|
1184 |
|
1185 |
echo '<input id="advanced-ads-remove-widget-id" type="checkbox" ' . checked( $remove, true, false ) . ' name="'.ADVADS_SLUG.'[remove-widget-id]" />';
|
1186 |
+
echo '<p class="description">' . __( 'Remove the ID attribute from widgets in order to not make them an easy target of ad blockers.', 'advanced-ads' );
|
1187 |
+
|
1188 |
+
if ( class_exists( 'q2w3_fixed_widget', false ) ) {
|
1189 |
+
echo '<br />' . __( 'If checked, the Advanced Ads Widget will not work with the fixed option of the <strong>Q2W3 Fixed Widget</strong> plugin.', 'advanced-ads' );
|
1190 |
+
}
|
1191 |
+
|
1192 |
+
echo '</p>';
|
1193 |
}
|
1194 |
|
1195 |
/**
|
1232 |
// check if editors can edit ads now and set the rights
|
1233 |
// else, remove that right
|
1234 |
$editor_role = get_role( 'editor' );
|
1235 |
+
if( null == $editor_role ){
|
1236 |
+
return $options;
|
1237 |
+
}
|
1238 |
if( isset($options['editors-manage-ads']) && $options['editors-manage-ads'] ){
|
1239 |
$editor_role->add_cap( 'advanced_ads_see_interface' );
|
1240 |
$editor_role->add_cap( 'advanced_ads_edit_ads' );
|
1630 |
*/
|
1631 |
public static function get_wp_timezone() {
|
1632 |
$_time_zone = get_option( 'timezone_string' );
|
1633 |
+
$time_zone = new DateTimeZone( 'UTC' );
|
1634 |
if ( $_time_zone ) {
|
1635 |
$time_zone = new DateTimeZone( $_time_zone );
|
1636 |
} else {
|
1678 |
if( current_user_can( Advanced_Ads_Plugin::user_cap( 'advanced_ads_edit_ads') ) ) {
|
1679 |
if ( $this->screen_belongs_to_advanced_ads() ){
|
1680 |
include ADVADS_BASE_PATH . 'admin/views/notices/adblock.php';
|
1681 |
+
include ADVADS_BASE_PATH . 'admin/views/notices/jqueryui_error.php';
|
1682 |
}
|
1683 |
}
|
1684 |
|
admin/includes/class-display-condition-callbacks.php
DELETED
@@ -1,326 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* container class for callbacks for display conditions
|
4 |
-
*
|
5 |
-
* @package WordPress
|
6 |
-
* @subpackage Advanced Ads Plugin
|
7 |
-
* @since 1.2.2
|
8 |
-
*/
|
9 |
-
class Advanced_Ads_Display_Condition_Callbacks {
|
10 |
-
|
11 |
-
/**
|
12 |
-
* render display condition for post types
|
13 |
-
*
|
14 |
-
* @param obj $ad ad object
|
15 |
-
* @since 1.2.2
|
16 |
-
*/
|
17 |
-
public static function post_types($ad = false){
|
18 |
-
|
19 |
-
// set defaults
|
20 |
-
if ( is_object( $ad ) ){
|
21 |
-
$_all = (isset($ad->conditions['posttypes']['all'])) ? 1 : 0;
|
22 |
-
if ( ! $_all && ! isset($ad->conditions['posttypes']['all']) && empty($ad->conditions['posttypes']['include']) && empty($ad->conditions['posttypes']['exclude']) ){
|
23 |
-
$_all = 1;
|
24 |
-
}
|
25 |
-
}
|
26 |
-
|
27 |
-
?><h4><label class="advads-conditions-all"><input type="checkbox" name="advanced_ad[conditions][posttypes][all]" value="1" <?php checked( $_all, 1 ); ?>><?php
|
28 |
-
_e( 'Display on all public <strong>post types</strong>.', 'advanced-ads' ); ?></label></h4><?php
|
29 |
-
$post_types = get_post_types( array('public' => true, 'publicly_queryable' => true), 'object', 'or' );
|
30 |
-
?><div class="advads-conditions-single">
|
31 |
-
<p class="description"><?php _e( 'Choose the public post types on which to display the ad.', 'advanced-ads' ); ?></p><?php
|
32 |
-
// backward compatibility
|
33 |
-
// TODO: remove in a later version
|
34 |
-
$_includes = ( ! empty($ad->conditions['posttypes']['include']) && is_string( $ad->conditions['posttypes']['include'] )) ? explode( ',', $ad->conditions['posttypes']['include'] ) : array();
|
35 |
-
$_excludes = ( ! empty($ad->conditions['posttypes']['exclude']) && is_string( $ad->conditions['posttypes']['exclude'] )) ? explode( ',', $ad->conditions['posttypes']['exclude'] ) : array();
|
36 |
-
|
37 |
-
foreach ( $post_types as $_type_id => $_type ){
|
38 |
-
// backward compatibility
|
39 |
-
// TODO: remove this in a later version
|
40 |
-
if ( $_includes == array() && count( $_excludes ) > 0 && ! in_array( $_type_id, $_excludes ) ){
|
41 |
-
$_val = 1;
|
42 |
-
} elseif ( in_array( $_type_id, $_includes ) ){
|
43 |
-
$_val = 1;
|
44 |
-
} else {
|
45 |
-
$_val = 0;
|
46 |
-
}
|
47 |
-
|
48 |
-
if ( ! $_val && isset($ad->conditions['posttypes']['include']) && is_array( $ad->conditions['posttypes']['include'] ) && in_array( $_type_id, $ad->conditions['posttypes']['include'] ) ){
|
49 |
-
$_val = 1;
|
50 |
-
}
|
51 |
-
|
52 |
-
?><label><input type="checkbox" name="advanced_ad[conditions][posttypes][include][]" <?php checked( $_val, 1 ); ?> value="<?php echo $_type_id; ?>"><?php echo $_type->label; ?></label><?php
|
53 |
-
}
|
54 |
-
?></div><?php
|
55 |
-
}
|
56 |
-
|
57 |
-
/**
|
58 |
-
* render display condition for post types
|
59 |
-
*
|
60 |
-
* @param obj $ad ad object
|
61 |
-
* @since 1.2.3
|
62 |
-
*/
|
63 |
-
public static function terms($ad = false){
|
64 |
-
|
65 |
-
// set defaults
|
66 |
-
if ( is_object( $ad ) ){
|
67 |
-
$_all = (isset($ad->conditions['categoryids']['all'])) ? 1 : 0;
|
68 |
-
if ( ! $_all && ! isset($ad->conditions['categoryids']['all']) && empty($ad->conditions['categoryids']['include']) && empty($ad->conditions['categoryids']['exclude']) ){
|
69 |
-
$_all = 1;
|
70 |
-
}
|
71 |
-
}
|
72 |
-
|
73 |
-
if ( ! empty($ad->conditions['categoryids']['include']) ){
|
74 |
-
// backward compatibility
|
75 |
-
// TODO: remove in a later version; this should already be an array
|
76 |
-
if ( is_string( $ad->conditions['categoryids']['include'] ) ){
|
77 |
-
$_includes = explode( ',', $ad->conditions['categoryids']['include'] );
|
78 |
-
} else {
|
79 |
-
$_includes = $ad->conditions['categoryids']['include'];
|
80 |
-
}
|
81 |
-
} else {
|
82 |
-
$_includes = array();
|
83 |
-
}
|
84 |
-
|
85 |
-
?><h4><label class="advads-conditions-all"><input type="checkbox" name="advanced_ad[conditions][categoryids][all]" value="1" <?php checked( $_all, 1 ); ?>><?php
|
86 |
-
_e( 'Display for all <strong>categories, tags and taxonomies</strong>.', 'advanced-ads' ); ?></label></h4><?php
|
87 |
-
?><div class="advads-conditions-single advads-buttonset"><h5 class="header"><?php _e( 'Display here', 'advanced-ads' ); ?></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.', 'advanced-ads' ); ?></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']) ){
|
93 |
-
// backward compatibility
|
94 |
-
// TODO: remove in a later version; this should already be an array
|
95 |
-
if ( is_string( $ad->conditions['categoryids']['exclude'] ) ){
|
96 |
-
$_excludes = explode( ',', $ad->conditions['categoryids']['exclude'] );
|
97 |
-
} else {
|
98 |
-
$_excludes = $ad->conditions['categoryids']['exclude'];
|
99 |
-
}
|
100 |
-
} else {
|
101 |
-
$_excludes = array();
|
102 |
-
}
|
103 |
-
|
104 |
-
?><h5 class="header"><?php _e( 'Hide from here', 'advanced-ads' ); ?></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.', 'advanced-ads' ); ?></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 advads-buttonset" 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', 'advanced-ads' );
|
150 |
-
?>">+</span><span class="description"><?php _e( 'add more terms', 'advanced-ads' );
|
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', 'advanced-ads' ); ?>"/><?php
|
154 |
-
else :
|
155 |
-
?><div class="advads-conditions-terms-buttons advads-buttonset"><?php
|
156 |
-
foreach ( $terms as $_term ) :
|
157 |
-
$field_id = "advads-conditions-terms-$includetype-$group-$_term->term_id";
|
158 |
-
?><input type="checkbox" id="<?php echo $field_id; ?>" name="<?php echo $inputname; ?>" value="<?php echo $_term->term_id; ?>" <?php
|
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>.', 'advanced-ads' ); ?></label></h4><?php
|
198 |
-
$taxonomies = get_taxonomies( array('public' => true, 'publicly_queryable' => true), 'objects', 'or' );
|
199 |
-
?><div class="advads-conditions-single advads-buttonset"><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', 'advanced-ads' ); ?></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
|
207 |
-
// TODO: remove in a later version; this should already be an array
|
208 |
-
if ( is_string( $ad->conditions['categoryarchiveids']['exclude'] ) ){
|
209 |
-
$_excludes = explode( ',', $ad->conditions['categoryarchiveids']['exclude'] );
|
210 |
-
} else {
|
211 |
-
$_excludes = $ad->conditions['categoryarchiveids']['exclude'];
|
212 |
-
}
|
213 |
-
} else {
|
214 |
-
$_excludes = array();
|
215 |
-
}
|
216 |
-
|
217 |
-
?><h5 class="header"><?php _e( 'Hide from here', 'advanced-ads' ); ?></h5><p class="description"><?php _e( 'Choose the terms from public categories, tags and other taxonomies on which\'s archive pages ads are hidden.', 'advanced-ads' ); ?></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
|
225 |
-
*
|
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 on all <strong>individual posts, pages</strong> and public post type pages', 'advanced-ads' ); ?></label></h4><?php
|
240 |
-
|
241 |
-
?><div class="advads-conditions-single">
|
242 |
-
<p class="description"><?php _e( 'Choose on which individual posts, pages and public post type pages you want to display or hide ads.', 'advanced-ads' ); ?></p><?php
|
243 |
-
|
244 |
-
// derrive method from previous setup
|
245 |
-
// set defaults
|
246 |
-
if ( is_object( $ad ) ){
|
247 |
-
$_method = (isset($ad->conditions['postids']['method'])) ? $ad->conditions['postids']['method'] : 0;
|
248 |
-
if ( $_method === 0 ){
|
249 |
-
if ( empty($ad->conditions['postids']['include']) && ! empty($ad->conditions['postids']['exclude']) ){
|
250 |
-
$_method = 'exclude';
|
251 |
-
} elseif ( ! empty($ad->conditions['postids']['include']) && empty($ad->conditions['postids']['exclude']) ) {
|
252 |
-
$_method = 'include';
|
253 |
-
} else {
|
254 |
-
$_method = '';
|
255 |
-
}
|
256 |
-
}
|
257 |
-
}
|
258 |
-
|
259 |
-
?><p><?php _e( 'What should happen with ads on the list of individual posts below?', 'advanced-ads' ); ?></p>
|
260 |
-
<label><input type="radio" name='advanced_ad[conditions][postids][method]' value='' <?php checked( '', $_method ); ?>><?php _e( 'ignore the list', 'advanced-ads' ); ?></label></li>
|
261 |
-
<label><input type="radio" name='advanced_ad[conditions][postids][method]' value='include' <?php checked( 'include', $_method ); ?>><?php _e( 'display the ad only there', 'advanced-ads' ); ?></label></li>
|
262 |
-
<label><input type="radio" name='advanced_ad[conditions][postids][method]' value='exclude' <?php checked( 'exclude', $_method ); ?>><?php _e( 'hide the ad here', 'advanced-ads' ); ?></label></li>
|
263 |
-
<?php
|
264 |
-
|
265 |
-
/**
|
266 |
-
* Update warning
|
267 |
-
* @todo remove on a later version, if no longer needed
|
268 |
-
*/
|
269 |
-
if ( ! empty($ad->conditions['postids']['include']) && ! empty($ad->conditions['postids']['exclude']) ){
|
270 |
-
?><div style="color: red;"><p><strong><?php _e( 'Update warning', 'advanced-ads' ); ?></strong></p>
|
271 |
-
<p><?php _e( 'Due to some conflicts before version 1.2.6, it is from now on only possible to choose either individual pages to include or exclude an ad, but not both with mixed settings. It seems you are still using mixed settings on this page. Please consider changing your setup for this ad.', 'advanced-ads' ); ?></p>
|
272 |
-
<p><?php _e( 'Your old values are:', 'advanced-ads' ); ?></p>
|
273 |
-
<p><?php _e( 'Post IDs the ad is displayed on:', 'advanced-ads' ); echo $ad->conditions['postids']['include']; ?></p>
|
274 |
-
<p><?php _e( 'Post IDs the ad is hidden from:', 'advanced-ads' ); echo $ad->conditions['postids']['exclude']; ?></p>
|
275 |
-
<p><?php _e( 'Below you find the pages the ad is displayed on. If this is ok, just save the ad. If not, please update your settings.', 'advanced-ads' ); ?></p>
|
276 |
-
|
277 |
-
</div><?php
|
278 |
-
}
|
279 |
-
|
280 |
-
if ( ! empty($ad->conditions['postids']['include']) ){
|
281 |
-
// backward compatibility
|
282 |
-
// TODO: remove in a later version; this should already be an array
|
283 |
-
if ( is_string( $ad->conditions['postids']['include'] ) ){
|
284 |
-
$_postids = explode( ',', $ad->conditions['postids']['include'] );
|
285 |
-
} else {
|
286 |
-
$_postids = $ad->conditions['postids']['include'];
|
287 |
-
}
|
288 |
-
} elseif ( ! empty($ad->conditions['postids']['exclude']) ){
|
289 |
-
// backward compatibility
|
290 |
-
// TODO: remove in a later version; this should already be an array
|
291 |
-
if ( is_string( $ad->conditions['postids']['exclude'] ) ){
|
292 |
-
$_postids = explode( ',', $ad->conditions['postids']['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',
|
306 |
-
// 'post_status' => 'publish',
|
307 |
-
'post__in' => $_postids,
|
308 |
-
'posts_per_page' => -1,
|
309 |
-
// 'ignore_sticky_posts' => 1,
|
310 |
-
);
|
311 |
-
|
312 |
-
$the_query = new WP_Query( $args );
|
313 |
-
while ( $the_query->have_posts() ) {
|
314 |
-
$the_query->next_post();
|
315 |
-
echo '<li><a class="remove" href="#">remove</a><a href="'.get_permalink( $the_query->post->ID ).'">' . get_the_title( $the_query->post->ID ) . '</a><input type="hidden" name="advanced_ad[conditions][postids][ids][]" value="'.$the_query->post->ID.'"></li>';
|
316 |
-
}
|
317 |
-
}
|
318 |
-
?><li class="show-search"><a href="#"><?php _e( 'new', 'advanced-ads' ); ?></a>
|
319 |
-
<input type="text" style="display:none;" id="advads-display-conditions-individual-post" value="" placeholder="<?php
|
320 |
-
_e( 'type the title', 'advanced-ads' ); ?>"/>
|
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
@@ -133,6 +133,9 @@ class Advanced_Ads_Admin_Notices {
|
|
133 |
if ( version_compare( $old_version, '1.6.6' ) == -1 ) {
|
134 |
$this->notices[] = '1.6.6';
|
135 |
}
|
|
|
|
|
|
|
136 |
}
|
137 |
$new_options['version'] = ADVADS_VERSION;
|
138 |
|
133 |
if ( version_compare( $old_version, '1.6.6' ) == -1 ) {
|
134 |
$this->notices[] = '1.6.6';
|
135 |
}
|
136 |
+
if ( version_compare( $old_version, '1.7' ) == -1 ) {
|
137 |
+
$this->notices[] = '1.7';
|
138 |
+
}
|
139 |
}
|
140 |
$new_options['version'] = ADVADS_VERSION;
|
141 |
|
admin/includes/class-overview-widgets.php
CHANGED
@@ -185,7 +185,6 @@ foreach ( $next_steps as $_step ){
|
|
185 |
?><p><?php _e( 'Track the impressions of and clicks on your ads.', 'advanced-ads' ); ?></p><ul class='list'>
|
186 |
<li><?php _e( '2 methods to count impressions', 'advanced-ads' ); ?></li>
|
187 |
<li><?php _e( 'beautiful stats for all or single ads', 'advanced-ads' ); ?></li>
|
188 |
-
<li><?php _e( 'get stats for predefined and custom periods', 'advanced-ads' ); ?></li>
|
189 |
<li><?php _e( 'group stats by day, week or month', 'advanced-ads' ); ?></li>
|
190 |
</ul><p><a class="button button-primary" href="<?php echo ADVADS_URL; ?>add-ons/tracking/#utm_source=advanced-ads&utm_medium=link&utm_campaign=overview-add-ons" target="_blank"><?php
|
191 |
_e( 'Get the Tracking add-on', 'advanced-ads' ); ?></a></p><?php
|
185 |
?><p><?php _e( 'Track the impressions of and clicks on your ads.', 'advanced-ads' ); ?></p><ul class='list'>
|
186 |
<li><?php _e( '2 methods to count impressions', 'advanced-ads' ); ?></li>
|
187 |
<li><?php _e( 'beautiful stats for all or single ads', 'advanced-ads' ); ?></li>
|
|
|
188 |
<li><?php _e( 'group stats by day, week or month', 'advanced-ads' ); ?></li>
|
189 |
</ul><p><a class="button button-primary" href="<?php echo ADVADS_URL; ?>add-ons/tracking/#utm_source=advanced-ads&utm_medium=link&utm_campaign=overview-add-ons" target="_blank"><?php
|
190 |
_e( 'Get the Tracking add-on', 'advanced-ads' ); ?></a></p><?php
|
admin/includes/notices.php
CHANGED
@@ -50,6 +50,11 @@ $advanced_ads_admin_notices = array(
|
|
50 |
'type' => 'update',
|
51 |
'text' => 'Advanced Ads 1.6.6 changed <a href="/wp-admin/admin.php?page=advanced-ads-placements">placements</a> completely. Take a look at the <a href="https://wpadvancedads.com/advanced-ads-1-6-6/" target="_blank">update post</a> to find out why I am so excited about it.',
|
52 |
),
|
|
|
|
|
|
|
|
|
|
|
53 |
// missing license codes
|
54 |
'license_invalid' => array(
|
55 |
'type' => 'plugin_error',
|
50 |
'type' => 'update',
|
51 |
'text' => 'Advanced Ads 1.6.6 changed <a href="/wp-admin/admin.php?page=advanced-ads-placements">placements</a> completely. Take a look at the <a href="https://wpadvancedads.com/advanced-ads-1-6-6/" target="_blank">update post</a> to find out why I am so excited about it.',
|
52 |
),
|
53 |
+
// if users updated from a previous version to 1.7
|
54 |
+
'1.7' => array(
|
55 |
+
'type' => 'update',
|
56 |
+
'text' => 'Advanced Ads 1.7 made changes to the Display Conditions interface. Please check your settings and the <a href="https://wpadvancedads.com/manual/display-conditions/" target="_blank">manual</a>, if you are using them.',
|
57 |
+
),
|
58 |
// missing license codes
|
59 |
'license_invalid' => array(
|
60 |
'type' => 'plugin_error',
|
admin/views/ad-display-metabox.php
CHANGED
@@ -1,80 +1,118 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
-
|
4 |
-
$
|
5 |
-
$
|
6 |
-
|
7 |
-
|
8 |
-
<
|
9 |
-
|
10 |
-
|
11 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
</div>
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
<?php
|
28 |
-
if ( is_array( $_condition['callback'] ) && method_exists( $_condition['callback'][0], $_condition['callback'][1] ) ) {
|
29 |
-
call_user_func( array($_condition['callback'][0], $_condition['callback'][1]), $ad ); // works also in php below 5.3
|
30 |
-
// $_condition['callback'][0]::$_condition['callback'][1]($ad); // works only in php 5.3 and above
|
31 |
-
}
|
32 |
-
?></div><?php
|
33 |
-
endforeach;
|
34 |
-
?><h4><?php _e( 'Other conditions', 'advanced-ads' ); ?></h4><br/>
|
35 |
-
<table>
|
36 |
-
<tbody><?php
|
37 |
-
foreach ( $advanced_ads_ad_conditions as $_key => $_condition ) :
|
38 |
-
if ( isset($_condition['callback']) || empty($_condition['label']) ) {
|
39 |
-
continue; }
|
40 |
-
?><tr>
|
41 |
-
<th><?php echo $_condition['label']; ?>
|
42 |
-
</th>
|
43 |
-
<?php if ( empty($_condition['type']) ) : continue; ?>
|
44 |
-
<?php elseif ( $_condition['type'] == 'idfield' || $_condition['type'] == 'textvalues' ) : ?>
|
45 |
-
<td><input type="text" name="advanced_ad[conditions][<?php echo $_key; ?>][include]" value="<?php if ( isset($ad->conditions[$_key]['include']) ) { echo $ad->conditions[$_key]['include']; } ?>"/></td>
|
46 |
-
<td><input type="text" name="advanced_ad[conditions][<?php echo $_key; ?>][exclude]" value="<?php if ( isset($ad->conditions[$_key]['exclude']) ) { echo $ad->conditions[$_key]['exclude']; } ?>"/></td>
|
47 |
-
<?php elseif ( $_condition['type'] == 'radio' ) : ?>
|
48 |
-
<td class="advanced-ads-display-condition-set advads-buttonset">
|
49 |
-
<input type="radio" name="advanced_ad[conditions][<?php
|
50 |
-
echo $_key; ?>]" id="advanced-ads-display-condition-<?php
|
51 |
-
echo $_key; ?>-1" value="1" <?php if ( ! isset($ad->conditions[$_key]) || $ad->conditions[$_key] ) { checked( 1 ); } ?>/>
|
52 |
-
<label for="advanced-ads-display-condition-<?php echo $_key; ?>-1"><?php _ex( 'on', 'button label', 'advanced-ads' ); ?></label>
|
53 |
-
<input type="radio" name="advanced_ad[conditions][<?php
|
54 |
-
echo $_key; ?>]" id="advanced-ads-display-condition-<?php
|
55 |
-
echo $_key; ?>-0" value="0" <?php if ( isset($ad->conditions[$_key]) ) { checked( $ad->conditions[$_key], 0 ); } ?>/>
|
56 |
-
<label for="advanced-ads-display-condition-<?php echo $_key; ?>-0"><?php _ex( 'off', 'button label', 'advanced-ads' ); ?></label>
|
57 |
-
</td>
|
58 |
-
<td>
|
59 |
-
<?php if ( ! empty($_condition['description']) ) : ?>
|
60 |
-
<p class="description on-hover"><?php echo $_condition['description']; ?></p>
|
61 |
-
<?php endif; ?>
|
62 |
-
</td>
|
63 |
-
<?php endif; ?>
|
64 |
-
</tr>
|
65 |
-
<?php endforeach; ?>
|
66 |
-
</tbody>
|
67 |
-
</table>
|
68 |
-
<?php
|
69 |
-
if ( WP_DEBUG ) : ?>
|
70 |
-
<fieldset class="advads-debug-output advads-debug-output-conditions"><legend onclick="advads_toggle('.advads-debug-output-conditions .inner')"><?php
|
71 |
-
_e( 'show debug output', 'advanced-ads' ); ?></legend><div class="inner" style="display:none;">
|
72 |
-
<p class="description"><?php _e( 'Values saved for this ad in the database (post metas)', 'advanced-ads' ); ?></p><?php
|
73 |
-
echo '<pre>';
|
74 |
-
print_r( $ad->conditions );
|
75 |
-
echo '</pre>';
|
76 |
-
?></div></fieldset>
|
77 |
-
<?php endif; ?>
|
78 |
</div>
|
79 |
-
|
80 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<?php
|
2 |
+
$display_conditions = Advanced_Ads_Display_Conditions::get_instance()->conditions;
|
3 |
+
$options = $ad->options('conditions');
|
4 |
+
// error_log(print_r($display_conditions, true));
|
5 |
+
// error_log(print_r($options, true));
|
6 |
+
?><p class="description"><?php _e('Set Display Conditions to allow or hide the ad on specific pages.', 'advanced-ads'); ?> <a href="<?php echo ADVADS_URL . 'manual/display-conditions#utm_source=advanced-ads&utm_medium=link&utm_campaign=edit-display'; ?>" target="_blank"><?php _e('Manual', 'advanced-ads'); ?></a></p>
|
7 |
+
<div id="advads-display-conditions">
|
8 |
+
<table id="advads-display-condition-table"><tbody><?php
|
9 |
+
// add general conditions by default
|
10 |
+
if( !is_array( $options ) || !count( $options )){
|
11 |
+
$options = array(
|
12 |
+
'general' => null
|
13 |
+
);
|
14 |
+
}
|
15 |
+
|
16 |
+
$i = 0;
|
17 |
+
if (is_array($options)) :
|
18 |
+
foreach ($options as $_index => $_options) :
|
19 |
+
// get type attribute from previous option format
|
20 |
+
$type = $_options['type'] = isset($_options['type']) ? $_options['type'] : $_index;
|
21 |
+
if (isset($display_conditions[$type]['metabox'])) {
|
22 |
+
$metabox = $display_conditions[$type]['metabox'];
|
23 |
+
} else {
|
24 |
+
continue;
|
25 |
+
}
|
26 |
+
if (method_exists($metabox[0], $metabox[1])) {
|
27 |
+
?><tr><td></td><td class="advads-conditions-type" data-condition-type="<?php echo $type; ?>"><?php echo $display_conditions[$type]['label']; ?></td><td><?php
|
28 |
+
call_user_func(array($metabox[0], $metabox[1]), $_options, $i++);
|
29 |
+
?></td><td><button type="button" class="advads-display-conditions-remove button">x</button></td></tr><?php
|
30 |
+
}
|
31 |
+
endforeach;
|
32 |
+
endif;
|
33 |
+
?></tbody></table>
|
34 |
+
<input type="hidden" id="advads-display-conditions-index" value="<?php echo is_array($options) ? count($options) : 0; ?>"/>
|
35 |
</div>
|
36 |
+
<?php if (!isset($options) || count($options) == 0) :
|
37 |
+
?><p><?php _e('If you want to display the ad everywhere, don\'t do anything here. ', 'advanced-ads'); ?></p><?php
|
38 |
+
endif;
|
39 |
+
?><fieldset>
|
40 |
+
<legend><?php _e('New condition', 'advanced-ads'); ?></legend>
|
41 |
+
<div id="advads-display-conditions-new">
|
42 |
+
<select>
|
43 |
+
<option value=""><?php _e('-- choose a condition --', 'advanced-ads'); ?></option>
|
44 |
+
<?php foreach ($display_conditions as $_condition_id => $_condition) : ?>
|
45 |
+
<option value="<?php echo $_condition_id; ?>"><?php echo $_condition['label']; ?></option>
|
46 |
+
<?php endforeach; ?>
|
47 |
+
</select>
|
48 |
+
<button type="button" class="button"><?php _e('add', 'advanced-ads'); ?></button>
|
49 |
+
<span class="advads-loader" style="display: none;"></span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
</div>
|
51 |
+
</fieldset>
|
52 |
+
<script>
|
53 |
+
jQuery(document).ready(function ($) {
|
54 |
+
$('#advads-display-conditions-new button').click(function () {
|
55 |
+
var display_condition_type = $('#advads-display-conditions-new select').val();
|
56 |
+
var display_condition_title = $('#advads-display-conditions-new select option:selected').text();
|
57 |
+
var display_condition_index = parseInt($('#advads-display-conditions-index').val());
|
58 |
+
if (!display_condition_type || '' == display_condition_type ){
|
59 |
+
return;
|
60 |
+
}
|
61 |
+
$('#advads-display-conditions-new .advads-loader').show(); // show loader
|
62 |
+
$('#advads-display-conditions-new button').hide(); // hide add button
|
63 |
+
$.ajax({
|
64 |
+
type: 'POST',
|
65 |
+
url: ajaxurl,
|
66 |
+
data: {
|
67 |
+
action: 'load_display_conditions_metabox',
|
68 |
+
type: display_condition_type,
|
69 |
+
index: display_condition_index
|
70 |
+
},
|
71 |
+
success: function (r, textStatus, XMLHttpRequest) {
|
72 |
+
// add
|
73 |
+
if (r) {
|
74 |
+
var newline = '<tr><td></td><td class="advads-conditions-type" data-condition-type="'+ display_condition_type +'">' + display_condition_title + '</td><td>' + r + '</td><td><button type="button" class="advads-display-conditions-remove button">x</button></td></tr>';
|
75 |
+
$('#advads-display-conditions table tbody').append(newline);
|
76 |
+
$('#advads-display-conditions table tbody .advads-conditions-single.advads-buttonset').buttonset();
|
77 |
+
// increase count
|
78 |
+
display_condition_index++;
|
79 |
+
$('#advads-display-conditions-index').val(display_condition_index);
|
80 |
+
advads_prevent_duplicate_conditions(); // update condition selector
|
81 |
+
// reset select
|
82 |
+
$('#advads-display-conditions-new select')[0].selectedIndex = 0;
|
83 |
+
}
|
84 |
+
},
|
85 |
+
error: function (MLHttpRequest, textStatus, errorThrown) {
|
86 |
+
$('#advads-display-conditions-new').append(errorThrown);
|
87 |
+
},
|
88 |
+
complete: function( MLHttpRequest, textStatus ) {
|
89 |
+
$('#advads-display-conditions-new .advads-loader').hide(); // hide loader
|
90 |
+
$('#advads-display-conditions-new button').show(); // display add button
|
91 |
+
}
|
92 |
+
});
|
93 |
+
});
|
94 |
+
$(document).on('click', '.advads-display-conditions-remove', function () {
|
95 |
+
var row = $(this).parents('#advads-display-conditions table tr');
|
96 |
+
row.remove();
|
97 |
+
advads_prevent_duplicate_conditions(); // update condition selector
|
98 |
+
});
|
99 |
+
// prevent listing of display conditions that are already in use
|
100 |
+
function advads_prevent_duplicate_conditions(){
|
101 |
+
// show all options
|
102 |
+
$('#advads-display-conditions-new select option').show();
|
103 |
+
// get all selected options
|
104 |
+
$('.advads-conditions-type').each( function(){
|
105 |
+
// show each type
|
106 |
+
// console.log( this.dataset.conditionType );
|
107 |
+
this.dataset.conditionType;
|
108 |
+
// search the option with this type and hide it
|
109 |
+
$('#advads-display-conditions-new select option[value="'+ this.dataset.conditionType +'"]').hide();
|
110 |
+
})
|
111 |
+
} // activate on load
|
112 |
+
if( $('#advads-display-conditions-new').length ){
|
113 |
+
advads_prevent_duplicate_conditions();
|
114 |
+
}
|
115 |
+
});
|
116 |
+
</script>
|
117 |
+
<?php
|
118 |
+
do_action('advanced-ads-display-conditions-after', $ad);
|
admin/views/ad-visitor-metabox.php
CHANGED
@@ -15,7 +15,7 @@ foreach ( $options as $_options ) :
|
|
15 |
if ( method_exists( $metabox[0], $metabox[1] ) ) {
|
16 |
$_connector = isset( $_options['connector'] ) ? esc_attr( $_options['connector'] ) : 'and';
|
17 |
?><tr><td colspan="4" class="advads-visitor-conditions-connector-<?php echo $_connector; ?>"><?php echo $_connector ?><hr/></td></tr><?php
|
18 |
-
?><tr><td></td><td><?php echo $visitor_conditions[ $_options['type'] ]['label']; ?></td><td><?php
|
19 |
call_user_func( array( $metabox[0], $metabox[1] ), $_options, $i++ );
|
20 |
?></td><td><button type="button" class="advads-visitor-conditions-remove button">x</button></td></tr><?php
|
21 |
}
|
@@ -44,6 +44,7 @@ endif;
|
|
44 |
<?php endforeach; ?>
|
45 |
</select>
|
46 |
<button type="button" class="button"><?php _e( 'add', 'advanced-ads' ); ?></button>
|
|
|
47 |
</div>
|
48 |
</fieldset>
|
49 |
<?php if ( ! defined( 'AAR_SLUG' ) ) : ?>
|
@@ -61,6 +62,7 @@ jQuery( document ).ready(function ($) {
|
|
61 |
}
|
62 |
var visitor_condition_index = parseInt( $('#advads-visitor-conditions-index').val() );
|
63 |
if( ! visitor_condition_type ) return;
|
|
|
64 |
$.ajax({
|
65 |
type: 'POST',
|
66 |
url: ajaxurl,
|
@@ -80,10 +82,12 @@ jQuery( document ).ready(function ($) {
|
|
80 |
visitor_condition_index++;
|
81 |
$('#advads-visitor-conditions-index').val( visitor_condition_index );
|
82 |
advads_toogle_visitor_conditions_connector();
|
|
|
83 |
}
|
84 |
},
|
85 |
error: function (MLHttpRequest, textStatus, errorThrown) {
|
86 |
$( '#advads-visitor-conditions-new' ).append( errorThrown );
|
|
|
87 |
}
|
88 |
});
|
89 |
});
|
15 |
if ( method_exists( $metabox[0], $metabox[1] ) ) {
|
16 |
$_connector = isset( $_options['connector'] ) ? esc_attr( $_options['connector'] ) : 'and';
|
17 |
?><tr><td colspan="4" class="advads-visitor-conditions-connector-<?php echo $_connector; ?>"><?php echo $_connector ?><hr/></td></tr><?php
|
18 |
+
?><tr><td></td><td class="advads-conditions-type"><?php echo $visitor_conditions[ $_options['type'] ]['label']; ?></td><td><?php
|
19 |
call_user_func( array( $metabox[0], $metabox[1] ), $_options, $i++ );
|
20 |
?></td><td><button type="button" class="advads-visitor-conditions-remove button">x</button></td></tr><?php
|
21 |
}
|
44 |
<?php endforeach; ?>
|
45 |
</select>
|
46 |
<button type="button" class="button"><?php _e( 'add', 'advanced-ads' ); ?></button>
|
47 |
+
<span class="advads-loader" style="display: none;"></span>
|
48 |
</div>
|
49 |
</fieldset>
|
50 |
<?php if ( ! defined( 'AAR_SLUG' ) ) : ?>
|
62 |
}
|
63 |
var visitor_condition_index = parseInt( $('#advads-visitor-conditions-index').val() );
|
64 |
if( ! visitor_condition_type ) return;
|
65 |
+
$('#advads-visitor-conditions-new .advads-loader').show();
|
66 |
$.ajax({
|
67 |
type: 'POST',
|
68 |
url: ajaxurl,
|
82 |
visitor_condition_index++;
|
83 |
$('#advads-visitor-conditions-index').val( visitor_condition_index );
|
84 |
advads_toogle_visitor_conditions_connector();
|
85 |
+
$('#advads-visitor-conditions-new .advads-loader').hide();
|
86 |
}
|
87 |
},
|
88 |
error: function (MLHttpRequest, textStatus, errorThrown) {
|
89 |
$( '#advads-visitor-conditions-new' ).append( errorThrown );
|
90 |
+
$('#advads-visitor-conditions-new .advads-loader').hide();
|
91 |
}
|
92 |
});
|
93 |
});
|
admin/views/notices/jqueryui_error.php
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
1 |
+
<div id="advads-jqueryui-error" class="message error" style="display: none;">
|
2 |
+
<p><?php printf(__( 'There might be a problem with layouts and scripts in your dashboard. Please check <a href="%s" target="_blank">this article to learn more</a>.', 'advanced-ads' ), ADVADS_URL . 'manual/jquery-problem-in-dashboard/#utm_source=advanced-ads&utm_medium=link&utm_campaign=notice-jquery-error' ); ?></p>
|
3 |
+
</div>
|
admin/views/support.php
CHANGED
@@ -5,17 +5,7 @@
|
|
5 |
?><div class="wrap">
|
6 |
<?php screen_icon(); ?>
|
7 |
<h1><?php echo esc_html( get_admin_page_title() ); ?></h1>
|
8 |
-
<?php
|
9 |
-
<div class="notice updated"><p><?php _e( 'Email was successfully sent.', 'advanced-ads' ); ?></p></div>
|
10 |
-
<?php } ?>
|
11 |
-
<h2><?php _e( 'Search', 'advanced-ads' ); ?></h2>
|
12 |
-
<p><?php _e( 'Use the following form to search for solutions in the manual on wpadvancedads.com', 'advanced-ads' ); ?></p>
|
13 |
-
<form action="https://wpadvancedads.com/" method="get">
|
14 |
-
<input type="search" name="s"/>
|
15 |
-
<input type="submit" value="<?php _e( 'search', 'advanced-ads' ); ?>">
|
16 |
-
</form>
|
17 |
-
|
18 |
-
<h2><?php _e( 'Possible Issues', 'advanced-ads' ); ?></h2>
|
19 |
<p><?php _e( 'Please fix the red highlighted issues on this page or try to understand their consequences before contacting support.', 'advanced-ads' ); ?></p>
|
20 |
|
21 |
<?php $messages = array();
|
@@ -56,8 +46,20 @@
|
|
56 |
?><div class="message error"><p><?php echo $_message; ?></p></div><?php
|
57 |
endforeach;
|
58 |
endif; ?>
|
59 |
-
<h2
|
|
|
|
|
|
|
|
|
|
|
|
|
60 |
<p><?php printf(__( 'Please search the manual for a solution and take a look at <a href="%s" target="_blank">Ads not showing up?</a> before contacting me for help.', 'advanced-ads' ), ADVADS_URL . 'manual/ads-not-showing-up/#utm_source=advanced-ads&utm_medium=link&utm_campaign=support' ); ?></p>
|
|
|
|
|
|
|
|
|
|
|
|
|
61 |
<form action="" method="post">
|
62 |
<table class="form-table advads-support-form">
|
63 |
<tbody>
|
@@ -80,4 +82,5 @@
|
|
80 |
</tbody>
|
81 |
</table>
|
82 |
</form>
|
|
|
83 |
</div>
|
5 |
?><div class="wrap">
|
6 |
<?php screen_icon(); ?>
|
7 |
<h1><?php echo esc_html( get_admin_page_title() ); ?></h1>
|
8 |
+
<h2>1. <?php _e( 'Possible Issues', 'advanced-ads' ); ?></h2>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
<p><?php _e( 'Please fix the red highlighted issues on this page or try to understand their consequences before contacting support.', 'advanced-ads' ); ?></p>
|
10 |
|
11 |
<?php $messages = array();
|
46 |
?><div class="message error"><p><?php echo $_message; ?></p></div><?php
|
47 |
endforeach;
|
48 |
endif; ?>
|
49 |
+
<h2>2. <?php _e( 'Search', 'advanced-ads' ); ?></h2>
|
50 |
+
<p><?php _e( 'Use the following form to search for solutions in the manual on wpadvancedads.com', 'advanced-ads' ); ?></p>
|
51 |
+
<form action="https://wpadvancedads.com/" method="get">
|
52 |
+
<input type="search" name="s"/>
|
53 |
+
<input type="submit" value="<?php _e( 'search', 'advanced-ads' ); ?>">
|
54 |
+
</form>
|
55 |
+
<h2>3. <?php _e( 'Contact', 'advanced-ads' ); ?></h2>
|
56 |
<p><?php printf(__( 'Please search the manual for a solution and take a look at <a href="%s" target="_blank">Ads not showing up?</a> before contacting me for help.', 'advanced-ads' ), ADVADS_URL . 'manual/ads-not-showing-up/#utm_source=advanced-ads&utm_medium=link&utm_campaign=support' ); ?></p>
|
57 |
+
<?php if( isset( $_POST['advads_support']['email'] ) && array() === $sent_errors ) : ?>
|
58 |
+
<p class="advads-success-message"><?php _e( 'Email was successfully sent.', 'advanced-ads' ); ?></p>
|
59 |
+
<?php else : ?>
|
60 |
+
<?php if( isset( $_POST['advads_support']['email'] ) && count( $sent_errors ) ) : ?>
|
61 |
+
<p class="advads-error-message"><?php echo implode( $sent_errors, '</p><p class="advads-error-message">' ); ?></p>
|
62 |
+
<?php endif; ?>
|
63 |
<form action="" method="post">
|
64 |
<table class="form-table advads-support-form">
|
65 |
<tbody>
|
82 |
</tbody>
|
83 |
</table>
|
84 |
</form>
|
85 |
+
<?php endif; ?>
|
86 |
</div>
|
advanced-ads.php
CHANGED
@@ -12,7 +12,7 @@
|
|
12 |
* Plugin Name: Advanced Ads
|
13 |
* Plugin URI: https://wpadvancedads.com
|
14 |
* Description: Manage and optimize your ads in WordPress
|
15 |
-
* Version: 1.
|
16 |
* Author: Thomas Maier
|
17 |
* Author URI: http://webgilde.com
|
18 |
* Text Domain: advanced-ads
|
@@ -39,7 +39,7 @@ define( 'ADVADS_BASE_DIR', dirname( ADVADS_BASE ) ); // directory of the plugin
|
|
39 |
// general and global slug, e.g. to store options in WP, textdomain
|
40 |
define( 'ADVADS_SLUG', 'advanced-ads' );
|
41 |
define( 'ADVADS_URL', 'https://wpadvancedads.com/' );
|
42 |
-
define( 'ADVADS_VERSION', '1.
|
43 |
|
44 |
/*----------------------------------------------------------------------------*
|
45 |
* Autoloading, modules and functions
|
12 |
* Plugin Name: Advanced Ads
|
13 |
* Plugin URI: https://wpadvancedads.com
|
14 |
* Description: Manage and optimize your ads in WordPress
|
15 |
+
* Version: 1.7.0.1
|
16 |
* Author: Thomas Maier
|
17 |
* Author URI: http://webgilde.com
|
18 |
* Text Domain: advanced-ads
|
39 |
// general and global slug, e.g. to store options in WP, textdomain
|
40 |
define( 'ADVADS_SLUG', 'advanced-ads' );
|
41 |
define( 'ADVADS_URL', 'https://wpadvancedads.com/' );
|
42 |
+
define( 'ADVADS_VERSION', '1.7.0.1' );
|
43 |
|
44 |
/*----------------------------------------------------------------------------*
|
45 |
* Autoloading, modules and functions
|
classes/ad.php
CHANGED
@@ -282,7 +282,12 @@ class Advanced_Ads_Ad {
|
|
282 |
*/
|
283 |
public function can_display( $check_options = array() ) {
|
284 |
$check_options = wp_parse_args( $check_options, array( 'passive_cache_busting' => false ) );
|
285 |
-
|
|
|
|
|
|
|
|
|
|
|
286 |
if ( ! $check_options['passive_cache_busting'] ) {
|
287 |
// don’t display ads that are not published or private for users not logged in
|
288 |
if ( $this->status !== 'publish' && ! ($this->status === 'private' && ! is_user_logged_in() ) ) {
|
@@ -510,7 +515,7 @@ class Advanced_Ads_Ad {
|
|
510 |
if ( empty($_condition['ids']) ){ // remove, if empty
|
511 |
$_condition['include'] = array();
|
512 |
$_condition['exclude'] = array();
|
513 |
-
}
|
514 |
switch ( $_condition['method'] ){
|
515 |
case 'include' :
|
516 |
$_condition['include'] = $_condition['ids'];
|
@@ -536,7 +541,6 @@ class Advanced_Ads_Ad {
|
|
536 |
// dynamically apply filters for each condition used
|
537 |
$conditions[$_key] = apply_filters( 'advanced-ads-sanitize-condition-' . $type, $_condition );
|
538 |
}
|
539 |
-
|
540 |
return $conditions;
|
541 |
}
|
542 |
|
282 |
*/
|
283 |
public function can_display( $check_options = array() ) {
|
284 |
$check_options = wp_parse_args( $check_options, array( 'passive_cache_busting' => false ) );
|
285 |
+
|
286 |
+
// prevent ad to show up through wp_head, if this is not a header placement
|
287 |
+
if( doing_action( 'wp_head' ) && isset( $this->options['placement_type'] ) && 'header' !== $this->options['placement_type'] ){
|
288 |
+
return false;
|
289 |
+
}
|
290 |
+
|
291 |
if ( ! $check_options['passive_cache_busting'] ) {
|
292 |
// don’t display ads that are not published or private for users not logged in
|
293 |
if ( $this->status !== 'publish' && ! ($this->status === 'private' && ! is_user_logged_in() ) ) {
|
515 |
if ( empty($_condition['ids']) ){ // remove, if empty
|
516 |
$_condition['include'] = array();
|
517 |
$_condition['exclude'] = array();
|
518 |
+
} elseif( isset( $_condition['method'] ) ) {
|
519 |
switch ( $_condition['method'] ){
|
520 |
case 'include' :
|
521 |
$_condition['include'] = $_condition['ids'];
|
541 |
// dynamically apply filters for each condition used
|
542 |
$conditions[$_key] = apply_filters( 'advanced-ads-sanitize-condition-' . $type, $_condition );
|
543 |
}
|
|
|
544 |
return $conditions;
|
545 |
}
|
546 |
|
classes/ad_ajax_callbacks.php
CHANGED
@@ -24,6 +24,7 @@ class Advanced_Ads_Ad_Ajax_Callbacks {
|
|
24 |
add_action( 'wp_ajax_load_content_editor', array( $this, 'load_content_editor' ) );
|
25 |
add_action( 'wp_ajax_load_ad_parameters_metabox', array( $this, 'load_ad_parameters_metabox' ) );
|
26 |
add_action( 'wp_ajax_load_visitor_conditions_metabox', array( $this, 'load_visitor_condition' ) );
|
|
|
27 |
add_action( 'wp_ajax_advads-terms-search', array( $this, 'search_terms' ) );
|
28 |
add_action( 'wp_ajax_advads-close-notice', array( $this, 'close_notice' ) );
|
29 |
add_action( 'wp_ajax_advads-subscribe-notice', array( $this, 'subscribe' ) );
|
@@ -94,6 +95,37 @@ class Advanced_Ads_Ad_Ajax_Callbacks {
|
|
94 |
|
95 |
die();
|
96 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
97 |
|
98 |
/**
|
99 |
* search terms belonging to a specific taxonomy
|
24 |
add_action( 'wp_ajax_load_content_editor', array( $this, 'load_content_editor' ) );
|
25 |
add_action( 'wp_ajax_load_ad_parameters_metabox', array( $this, 'load_ad_parameters_metabox' ) );
|
26 |
add_action( 'wp_ajax_load_visitor_conditions_metabox', array( $this, 'load_visitor_condition' ) );
|
27 |
+
add_action( 'wp_ajax_load_display_conditions_metabox', array( $this, 'load_display_condition' ) );
|
28 |
add_action( 'wp_ajax_advads-terms-search', array( $this, 'search_terms' ) );
|
29 |
add_action( 'wp_ajax_advads-close-notice', array( $this, 'close_notice' ) );
|
30 |
add_action( 'wp_ajax_advads-subscribe-notice', array( $this, 'subscribe' ) );
|
95 |
|
96 |
die();
|
97 |
}
|
98 |
+
/**
|
99 |
+
* load interface for single display condition
|
100 |
+
*
|
101 |
+
* @since 1.7
|
102 |
+
*/
|
103 |
+
public function load_display_condition() {
|
104 |
+
|
105 |
+
if( ! current_user_can( Advanced_Ads_Plugin::user_cap( 'advanced_ads_edit_ads') ) ) {
|
106 |
+
return;
|
107 |
+
}
|
108 |
+
|
109 |
+
// get display condition types
|
110 |
+
$conditions = Advanced_Ads_Display_Conditions::get_instance()->conditions;
|
111 |
+
$condition = array();
|
112 |
+
|
113 |
+
$condition['type'] = isset( $_POST['type'] ) ? $_POST['type'] : '';
|
114 |
+
|
115 |
+
$index = isset( $_POST['index'] ) ? $_POST['index'] : 0;
|
116 |
+
|
117 |
+
if( isset( $conditions[$condition['type']] ) ) {
|
118 |
+
$metabox = $conditions[$condition['type']]['metabox'];
|
119 |
+
} else {
|
120 |
+
die();
|
121 |
+
}
|
122 |
+
|
123 |
+
if ( method_exists( $metabox[0], $metabox[1] ) ) {
|
124 |
+
call_user_func( array($metabox[0], $metabox[1]), $condition, $index );
|
125 |
+
}
|
126 |
+
|
127 |
+
die();
|
128 |
+
}
|
129 |
|
130 |
/**
|
131 |
* search terms belonging to a specific taxonomy
|
classes/ad_type_content.php
CHANGED
@@ -103,6 +103,19 @@ class Advanced_Ads_Ad_Type_Content extends Advanced_Ads_Ad_Type_Abstract{
|
|
103 |
|
104 |
$output = $ad->content;
|
105 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
106 |
$output = wptexturize( $output );
|
107 |
$output = convert_smilies( $output );
|
108 |
$output = convert_chars( $output );
|
103 |
|
104 |
$output = $ad->content;
|
105 |
|
106 |
+
if ( isset( $GLOBALS['wp_embed'] ) ) {
|
107 |
+
// temporarily replace the global $post variable with the current ad (post)
|
108 |
+
$old_post = $GLOBALS['post'];
|
109 |
+
$GLOBALS['post'] = $ad->id;
|
110 |
+
|
111 |
+
// get the [embed] shortcode to run before wpautop()
|
112 |
+
$output = $GLOBALS['wp_embed']->run_shortcode( $output );
|
113 |
+
// attempts to embed all URLs in a post
|
114 |
+
$output = $GLOBALS['wp_embed']->autoembed( $output );
|
115 |
+
|
116 |
+
$GLOBALS['post'] = $old_post;
|
117 |
+
}
|
118 |
+
|
119 |
$output = wptexturize( $output );
|
120 |
$output = convert_smilies( $output );
|
121 |
$output = convert_chars( $output );
|
classes/display-conditions.php
ADDED
@@ -0,0 +1,774 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Display Conditions under which to (not) show an ad
|
5 |
+
*
|
6 |
+
* @since 1.7
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class Advanced_Ads_Display_Conditions {
|
10 |
+
|
11 |
+
/**
|
12 |
+
*
|
13 |
+
* @var Advanced_Ads_Display_Conditions
|
14 |
+
*/
|
15 |
+
protected static $instance;
|
16 |
+
|
17 |
+
/**
|
18 |
+
* registered display conditions
|
19 |
+
*/
|
20 |
+
public $conditions;
|
21 |
+
|
22 |
+
/**
|
23 |
+
* start of name in form elements
|
24 |
+
*/
|
25 |
+
const FORM_NAME = 'advanced_ad[conditions]';
|
26 |
+
|
27 |
+
protected static $query_var_keys = array(
|
28 |
+
// 'is_single',
|
29 |
+
'is_archive',
|
30 |
+
'is_search',
|
31 |
+
'is_home',
|
32 |
+
'is_404',
|
33 |
+
'is_attachment',
|
34 |
+
'is_singular',
|
35 |
+
'is_front_page',
|
36 |
+
);
|
37 |
+
|
38 |
+
public function __construct() {
|
39 |
+
|
40 |
+
// register filter
|
41 |
+
add_filter('advanced-ads-ad-select-args', array($this, 'ad_select_args_callback'));
|
42 |
+
add_filter('advanced-ads-can-display', array($this, 'can_display'), 10, 2);
|
43 |
+
|
44 |
+
// register conditions
|
45 |
+
$conditions = array(
|
46 |
+
'posttypes' => array(// post types condition
|
47 |
+
'label' => __('post type', 'advanced-ads'),
|
48 |
+
'description' => __('Choose the public post types on which to display the ad.', 'advanced-ads'),
|
49 |
+
'metabox' => array('Advanced_Ads_Display_Conditions', 'metabox_post_type'), // callback to generate the metabox
|
50 |
+
'check' => array('Advanced_Ads_Display_Conditions', 'check_post_type'), // callback for frontend check
|
51 |
+
// 'helplink' => ADVADS_URL . 'manual/display-ads-either-on-mobile-or-desktop/#utm_source=advanced-ads&utm_medium=link&utm_campaign=edit-visitor-mobile' // link to help section
|
52 |
+
),
|
53 |
+
'postids' => array(// post id condition
|
54 |
+
'label' => __('specific pages', 'advanced-ads'),
|
55 |
+
'description' => __('Choose on which individual posts, pages and public post type pages you want to display or hide ads.', 'advanced-ads'),
|
56 |
+
'metabox' => array('Advanced_Ads_Display_Conditions', 'metabox_post_ids'), // callback to generate the metabox
|
57 |
+
'check' => array('Advanced_Ads_Display_Conditions', 'check_post_ids'), // callback for frontend check
|
58 |
+
),
|
59 |
+
'general' => array(// general conditions
|
60 |
+
'label' => __('general conditions', 'advanced-ads'),
|
61 |
+
// 'description' => __( 'Choose on which individual posts, pages and public post type pages you want to display or hide ads.', 'advanced-ads' ),
|
62 |
+
'metabox' => array('Advanced_Ads_Display_Conditions', 'metabox_general'), // callback to generate the metabox
|
63 |
+
'check' => array('Advanced_Ads_Display_Conditions', 'check_general'), // callback for frontend check
|
64 |
+
),
|
65 |
+
'author' => array(// author conditions
|
66 |
+
'label' => __('author', 'advanced-ads'),
|
67 |
+
// 'description' => __( 'Choose on which individual posts, pages and public post type pages you want to display or hide ads.', 'advanced-ads' ),
|
68 |
+
'metabox' => array('Advanced_Ads_Display_Conditions', 'metabox_author'), // callback to generate the metabox
|
69 |
+
'check' => array('Advanced_Ads_Display_Conditions', 'check_author'), // callback for frontend check
|
70 |
+
),
|
71 |
+
);
|
72 |
+
|
73 |
+
// register a condition for each taxonomy for posts
|
74 |
+
$taxonomies = get_taxonomies(array('public' => true, 'publicly_queryable' => true), 'objects', 'or');
|
75 |
+
foreach ($taxonomies as $_tax) :
|
76 |
+
// check if there are any terms available
|
77 |
+
$terms = get_terms($_tax->name, array('hide_empty' => false, 'number' => 1));
|
78 |
+
if (is_wp_error($terms) || !count($terms) || $_tax->name === 'advanced_ads_groups') {
|
79 |
+
continue;
|
80 |
+
}
|
81 |
+
|
82 |
+
$conditions['taxonomy_' . $_tax->name] = array(
|
83 |
+
'label' => $_tax->label,
|
84 |
+
// 'description' => sprintf(__( 'Choose terms from the %s taxonomy a post must belong to for showing or hiding ads.', 'advanced-ads' ), $_tax->label ),
|
85 |
+
'metabox' => array('Advanced_Ads_Display_Conditions', 'metabox_taxonomy_terms'), // callback to generate the metabox
|
86 |
+
'check' => array('Advanced_Ads_Display_Conditions', 'check_taxonomies'), // callback for frontend check
|
87 |
+
'taxonomy' => $_tax->name, // unique for this type: the taxonomy name
|
88 |
+
);
|
89 |
+
|
90 |
+
$conditions['archive_' . $_tax->name] = array(
|
91 |
+
'label' => sprintf(__('archive: %s', 'advanced-ads'), $_tax->labels->singular_name),
|
92 |
+
// 'description' => sprintf(__( 'Choose on which %s archive page ads are hidden or displayeds.', 'advanced-ads' ), $_tax->label ),
|
93 |
+
'metabox' => array('Advanced_Ads_Display_Conditions', 'metabox_taxonomy_terms'), // callback to generate the metabox
|
94 |
+
'check' => array('Advanced_Ads_Display_Conditions', 'check_taxonomy_archive'), // callback for frontend check
|
95 |
+
'taxonomy' => $_tax->name, // unique for this type: the taxonomy name
|
96 |
+
);
|
97 |
+
endforeach;
|
98 |
+
|
99 |
+
$this->conditions = apply_filters('advanced-ads-display-conditions', $conditions);
|
100 |
+
|
101 |
+
ksort($this->conditions);
|
102 |
+
}
|
103 |
+
|
104 |
+
/**
|
105 |
+
*
|
106 |
+
* @return Advanced_Ads_Plugin
|
107 |
+
*/
|
108 |
+
public static function get_instance() {
|
109 |
+
// If the single instance hasn't been set, set it now.
|
110 |
+
if (null === self::$instance) {
|
111 |
+
self::$instance = new self;
|
112 |
+
}
|
113 |
+
|
114 |
+
return self::$instance;
|
115 |
+
}
|
116 |
+
|
117 |
+
/**
|
118 |
+
* controls frontend checks for conditions
|
119 |
+
*
|
120 |
+
* @param arr $options options of the condition
|
121 |
+
* @param ob $ad Advanced_Ads_Ad
|
122 |
+
* @return bool false, if ad can’t be delivered
|
123 |
+
*/
|
124 |
+
static function frontend_check($options = array(), $ad = false) {
|
125 |
+
$display_conditions = Advanced_Ads_Display_Conditions::get_instance()->conditions;
|
126 |
+
|
127 |
+
if (is_array($options) && isset($display_conditions[$options['type']]['check'])) {
|
128 |
+
$check = $display_conditions[$options['type']]['check'];
|
129 |
+
} else {
|
130 |
+
return true;
|
131 |
+
}
|
132 |
+
|
133 |
+
// call frontend check callback
|
134 |
+
if (method_exists($check[0], $check[1])) {
|
135 |
+
return call_user_func(array($check[0], $check[1]), $options, $ad);
|
136 |
+
}
|
137 |
+
|
138 |
+
return true;
|
139 |
+
}
|
140 |
+
|
141 |
+
/**
|
142 |
+
* callback to display the metabox for the post type condition
|
143 |
+
*
|
144 |
+
* @param arr $options options of the condition
|
145 |
+
* @param int $index index of the condition
|
146 |
+
*/
|
147 |
+
static function metabox_post_type($options, $index = 0) {
|
148 |
+
|
149 |
+
if (!isset($options['type']) || '' === $options['type']) {
|
150 |
+
return;
|
151 |
+
}
|
152 |
+
|
153 |
+
$type_options = self::get_instance()->conditions;
|
154 |
+
|
155 |
+
if (!isset($type_options[$options['type']])) {
|
156 |
+
return;
|
157 |
+
}
|
158 |
+
|
159 |
+
// form name basis
|
160 |
+
$name = self::FORM_NAME . '[' . $index . ']';
|
161 |
+
|
162 |
+
// options
|
163 |
+
?><input type="hidden" name="<?php echo $name; ?>[type]" value="<?php echo $options['type']; ?>"/><?php
|
164 |
+
// set defaults
|
165 |
+
$post_types = get_post_types(array('public' => true, 'publicly_queryable' => true), 'object', 'or');
|
166 |
+
?><div class="advads-conditions-single advads-buttonset"><?php
|
167 |
+
foreach ($post_types as $_type_id => $_type) {
|
168 |
+
if (isset($options['value']) && is_array($options['value']) && in_array($_type_id, $options['value'])) {
|
169 |
+
$_val = 1;
|
170 |
+
} else {
|
171 |
+
$_val = 0;
|
172 |
+
}
|
173 |
+
?><label class="button" for="advads-conditions-<?php echo $index; ?>-<?php echo $_type_id;
|
174 |
+
?>"><?php echo $_type->label; ?></label><input type="checkbox" id="advads-conditions-<?php echo $index; ?>-<?php echo $_type_id; ?>" name="<?php echo $name; ?>[value][]" <?php checked($_val, 1); ?> value="<?php echo $_type_id; ?>"><?php
|
175 |
+
}
|
176 |
+
?></div><?php
|
177 |
+
}
|
178 |
+
|
179 |
+
/**
|
180 |
+
* callback to display the metabox for the author condition
|
181 |
+
*
|
182 |
+
* @param arr $options options of the condition
|
183 |
+
* @param int $index index of the condition
|
184 |
+
*/
|
185 |
+
static function metabox_author($options, $index = 0) {
|
186 |
+
|
187 |
+
if (!isset($options['type']) || '' === $options['type']) {
|
188 |
+
return;
|
189 |
+
}
|
190 |
+
|
191 |
+
$type_options = self::get_instance()->conditions;
|
192 |
+
|
193 |
+
if (!isset($type_options[$options['type']])) {
|
194 |
+
return;
|
195 |
+
}
|
196 |
+
|
197 |
+
// get values and select operator based on previous settings
|
198 |
+
$operator = ( isset($options['operator']) && $options['operator'] === 'is_not' ) ? 'is_not' : 'is';
|
199 |
+
$values = ( isset($options['value']) && is_array($options['value']) ) ? $options['value'] : array();
|
200 |
+
|
201 |
+
// form name basis
|
202 |
+
$name = self::FORM_NAME . '[' . $index . ']';
|
203 |
+
?><input type="hidden" name="<?php echo $name; ?>[type]" value="<?php echo $options['type']; ?>"/>
|
204 |
+
<select name="<?php echo $name; ?>[operator]">
|
205 |
+
<option value="is" <?php selected('is', $operator); ?>><?php _e('show'); ?></option>
|
206 |
+
<option value="is_not" <?php selected('is_not', $operator); ?>><?php _e('hide'); ?></option>
|
207 |
+
</select><?php
|
208 |
+
// set defaults
|
209 |
+
$authors = get_users(array('who' => 'authors', 'orderby' => 'nicename', 'number' => 50));
|
210 |
+
?><div class="advads-conditions-single advads-buttonset"><?php
|
211 |
+
foreach ($authors as $_author) {
|
212 |
+
if (isset($options['value']) && is_array($options['value']) && in_array($_author->ID, $options['value'])) {
|
213 |
+
$_val = 1;
|
214 |
+
} else {
|
215 |
+
$_val = 0;
|
216 |
+
}
|
217 |
+
?><label class="button" for="advads-conditions-<?php echo $index; ?>-<?php echo $_author->ID;
|
218 |
+
?>"><?php echo $_author->display_name; ?></label><input type="checkbox" id="advads-conditions-<?php echo $index; ?>-<?php echo $_author->ID; ?>" name="<?php echo $name; ?>[value][]" <?php checked($_val, 1); ?> value="<?php echo $_author->ID; ?>"><?php
|
219 |
+
}
|
220 |
+
?></div><?php
|
221 |
+
}
|
222 |
+
|
223 |
+
/**
|
224 |
+
* callback to display the metabox for the taxonomy archive pages
|
225 |
+
*
|
226 |
+
* @param arr $options options of the condition
|
227 |
+
* @param int $index index of the condition
|
228 |
+
*/
|
229 |
+
static function metabox_taxonomy_terms($options, $index = 0) {
|
230 |
+
|
231 |
+
if (!isset($options['type']) || '' === $options['type']) {
|
232 |
+
return;
|
233 |
+
}
|
234 |
+
|
235 |
+
$type_options = self::get_instance()->conditions;
|
236 |
+
|
237 |
+
// don’t use if this is not a taxonomy
|
238 |
+
if (!isset($type_options[$options['type']]) || !isset($type_options[$options['type']]['taxonomy'])) {
|
239 |
+
return;
|
240 |
+
}
|
241 |
+
|
242 |
+
$taxonomy = get_taxonomy($type_options[$options['type']]['taxonomy']);
|
243 |
+
if (false == $taxonomy) {
|
244 |
+
return;
|
245 |
+
}
|
246 |
+
|
247 |
+
// get values and select operator based on previous settings
|
248 |
+
$operator = ( isset($options['operator']) && $options['operator'] === 'is_not' ) ? 'is_not' : 'is';
|
249 |
+
$values = ( isset($options['value']) && is_array($options['value']) ) ? $options['value'] : array();
|
250 |
+
|
251 |
+
// limit the number of terms so many terms don’t break the admin page
|
252 |
+
$max_terms = absint(apply_filters('advanced-ads-admin-max-terms', 50));
|
253 |
+
|
254 |
+
// form name basis
|
255 |
+
$name = self::FORM_NAME . '[' . $index . ']';
|
256 |
+
?><input type="hidden" name="<?php echo $name; ?>[type]" value="<?php echo $options['type']; ?>"/>
|
257 |
+
<select name="<?php echo $name; ?>[operator]">
|
258 |
+
<option value="is" <?php selected('is', $operator); ?>><?php _e('show'); ?></option>
|
259 |
+
<option value="is_not" <?php selected('is_not', $operator); ?>><?php _e('hide'); ?></option>
|
260 |
+
</select><?php
|
261 |
+
?><div class="advads-conditions-single advads-buttonset"><?php
|
262 |
+
self::display_term_list($taxonomy, $values, $name . '[value][]', $max_terms, $index);
|
263 |
+
?></div><?php
|
264 |
+
}
|
265 |
+
|
266 |
+
/**
|
267 |
+
* display terms of a taxonomy for choice
|
268 |
+
*
|
269 |
+
* @param obj $taxonomy taxonomy object
|
270 |
+
* @param arr $checked ids of checked terms
|
271 |
+
* @param str $inputname name of the input field
|
272 |
+
* @param int $max_terms maximum number of terms to show
|
273 |
+
* @param int $index index of the conditions group
|
274 |
+
*/
|
275 |
+
public static function display_term_list($taxonomy, $checked = array(), $inputname = '', $max_terms = 50, $index = 0) {
|
276 |
+
|
277 |
+
$terms = get_terms($taxonomy->name, array('hide_empty' => false, 'number' => $max_terms));
|
278 |
+
|
279 |
+
if (!empty($terms) && !is_wp_error($terms)):
|
280 |
+
// display search field if the term limit is reached
|
281 |
+
if (count($terms) == $max_terms) :
|
282 |
+
|
283 |
+
// query active terms
|
284 |
+
if (is_array($checked) && count($checked)) {
|
285 |
+
$args = array('hide_empty' => false);
|
286 |
+
$args['include'] = $checked;
|
287 |
+
$checked_terms = get_terms($taxonomy->name, $args);
|
288 |
+
?><div class="advads-conditions-terms-buttons dynamic-search"><?php
|
289 |
+
foreach ($checked_terms as $_checked_term) :
|
290 |
+
?><label class="button ui-state-active"><?php echo $_checked_term->name;
|
291 |
+
?><input type="hidden" name="<?php echo $inputname; ?>" value="<?php echo $_checked_term->term_id; ?>"></label><?php
|
292 |
+
endforeach;
|
293 |
+
?></div><?php
|
294 |
+
} else {
|
295 |
+
?><div class="advads-conditions-terms-buttons dynamic-search"></div><?php
|
296 |
+
}
|
297 |
+
?><span class="advads-conditions-terms-show-search button" title="<?php
|
298 |
+
_ex('add more terms', 'display the terms search field on ad edit page', 'advanced-ads');
|
299 |
+
?>">+</span><span class="description"><?php _e('add more terms', 'advanced-ads');
|
300 |
+
?></span><br/><input type="text" class="advads-conditions-terms-search" data-tag-name="<?php echo $taxonomy->name;
|
301 |
+
?>" data-input-name="<?php echo $inputname; ?>" placeholder="<?php _e('term name or id', 'advanced-ads'); ?>"/><?php
|
302 |
+
else :
|
303 |
+
?><div class="advads-conditions-terms-buttons advads-buttonset"><?php
|
304 |
+
foreach ($terms as $_term) :
|
305 |
+
$field_id = "advads-conditions-$index-$_term->term_id";
|
306 |
+
?><input type="checkbox" id="<?php echo $field_id; ?>" name="<?php echo $inputname; ?>" value="<?php echo $_term->term_id; ?>" <?php checked(in_array($_term->term_id, $checked), true); ?>><label for="<?php echo $field_id; ?>"><?php echo $_term->name; ?></label><?php
|
307 |
+
endforeach;
|
308 |
+
?></div><?php
|
309 |
+
endif;
|
310 |
+
endif;
|
311 |
+
}
|
312 |
+
|
313 |
+
/**
|
314 |
+
* callback to display the metabox for the taxonomy archive pages
|
315 |
+
*
|
316 |
+
* @param arr $options options of the condition
|
317 |
+
* @param int $index index of the condition
|
318 |
+
*/
|
319 |
+
static function metabox_post_ids($options, $index = 0) {
|
320 |
+
|
321 |
+
if (!isset($options['type']) || '' === $options['type']) {
|
322 |
+
return;
|
323 |
+
}
|
324 |
+
|
325 |
+
// get values and select operator based on previous settings
|
326 |
+
$operator = ( isset($options['operator']) && $options['operator'] === 'is_not' ) ? 'is_not' : 'is';
|
327 |
+
$values = ( isset($options['value']) && is_array($options['value']) ) ? $options['value'] : array();
|
328 |
+
|
329 |
+
// form name basis
|
330 |
+
$name = self::FORM_NAME . '[' . $index . ']';
|
331 |
+
?><input type="hidden" name="<?php echo $name; ?>[type]" value="<?php echo $options['type']; ?>"/>
|
332 |
+
<select name="<?php echo $name; ?>[operator]">
|
333 |
+
<option value="is" <?php selected('is', $operator); ?>><?php _e('show'); ?></option>
|
334 |
+
<option value="is_not" <?php selected('is_not', $operator); ?>><?php _e('hide'); ?></option>
|
335 |
+
</select><?php ?><div class="advads-conditions-single advads-buttonset advads-conditions-postid-buttons"><?php
|
336 |
+
// query active post ids
|
337 |
+
if ($values != array()) {
|
338 |
+
$args = array(
|
339 |
+
'post_type' => 'any',
|
340 |
+
// 'post_status' => 'publish',
|
341 |
+
'post__in' => $values,
|
342 |
+
'posts_per_page' => -1,
|
343 |
+
// 'ignore_sticky_posts' => 1,
|
344 |
+
);
|
345 |
+
|
346 |
+
$the_query = new WP_Query($args);
|
347 |
+
while ($the_query->have_posts()) {
|
348 |
+
$the_query->next_post();
|
349 |
+
?><label class="button ui-state-active"><?php echo get_the_title($the_query->post->ID) . ' (' . $the_query->post->post_type . ')';
|
350 |
+
?><input type="hidden" name="<?php echo $name; ?>[value][]" value="<?php echo $the_query->post->ID; ?>"></label><?php
|
351 |
+
}
|
352 |
+
}
|
353 |
+
?><span class="advads-conditions-postids-show-search button" <?php
|
354 |
+
if (!count($values)) {
|
355 |
+
echo 'style="display:none;"';
|
356 |
+
}
|
357 |
+
?>>+</span>
|
358 |
+
<p class="advads-conditions-postids-search-line">
|
359 |
+
<input type="text" id="advads-display-conditions-individual-post" <?php if (count($values)) {
|
360 |
+
echo 'style="display:none;"';
|
361 |
+
} ?>
|
362 |
+
placeholder="<?php _e('post or page title', 'advanced-ads'); ?>"
|
363 |
+
data-field-name="<?php echo $name; ?>"/><?php
|
364 |
+
wp_nonce_field('internal-linking', '_ajax_linking_nonce', false);
|
365 |
+
?></p></div><?php
|
366 |
+
}
|
367 |
+
|
368 |
+
/**
|
369 |
+
* callback to display the metabox for the general display conditions
|
370 |
+
*
|
371 |
+
* @param arr $options options of the condition
|
372 |
+
* @param int $index index of the condition
|
373 |
+
*/
|
374 |
+
static function metabox_general($options, $index = 0) {
|
375 |
+
|
376 |
+
// general conditions array
|
377 |
+
$conditions = self::get_instance()->general_conditions();
|
378 |
+
if (!isset($options['type']) || '' === $options['type']) {
|
379 |
+
return;
|
380 |
+
}
|
381 |
+
|
382 |
+
$name = self::FORM_NAME . '[' . $index . ']';
|
383 |
+
$values = isset($options['value']) ? $options['value'] : array();
|
384 |
+
?><div class="advads-conditions-single advads-buttonset">
|
385 |
+
<input type="hidden" name="<?php echo $name; ?>[type]" value="<?php echo $options['type']; ?>"/><?php
|
386 |
+
foreach ($conditions as $_key => $_condition) :
|
387 |
+
|
388 |
+
// activate by default
|
389 |
+
$value = ( $values === array() || in_array($_key, $values) ) ? 1 : 0;
|
390 |
+
|
391 |
+
$field_id = "advads-conditions-$_key";
|
392 |
+
?><input type="checkbox" id="<?php echo $field_id; ?>" name="<?php echo $name; ?>[value][]" value="<?php echo $_key; ?>" <?php checked(1, $value); ?>><label for="<?php echo $field_id; ?>"><?php echo $_condition['label']; ?></label><?php
|
393 |
+
endforeach;
|
394 |
+
?></div><?php
|
395 |
+
return;
|
396 |
+
}
|
397 |
+
|
398 |
+
/**
|
399 |
+
* retrieve the array with general conditions
|
400 |
+
*
|
401 |
+
* @return arr $conditions
|
402 |
+
*
|
403 |
+
*/
|
404 |
+
static function general_conditions() {
|
405 |
+
return $conditions = array(
|
406 |
+
'is_front_page' => array(
|
407 |
+
'label' => __('Home Page', 'advanced-ads'),
|
408 |
+
'description' => __('show on Home page', 'advanced-ads'),
|
409 |
+
'type' => 'radio',
|
410 |
+
),
|
411 |
+
'is_singular' => array(
|
412 |
+
'label' => __('Singular Pages', 'advanced-ads'),
|
413 |
+
'description' => __('show on singular pages/posts', 'advanced-ads'),
|
414 |
+
'type' => 'radio',
|
415 |
+
),
|
416 |
+
'is_archive' => array(
|
417 |
+
'label' => __('Archive Pages', 'advanced-ads'),
|
418 |
+
'description' => __('show on any type of archive page (category, tag, author and date)', 'advanced-ads'),
|
419 |
+
'type' => 'radio',
|
420 |
+
),
|
421 |
+
'is_search' => array(
|
422 |
+
'label' => __('Search Results', 'advanced-ads'),
|
423 |
+
'description' => __('show on search result pages', 'advanced-ads'),
|
424 |
+
'type' => 'radio',
|
425 |
+
),
|
426 |
+
'is_404' => array(
|
427 |
+
'label' => __('404 Page', 'advanced-ads'),
|
428 |
+
'description' => __('show on 404 error page', 'advanced-ads'),
|
429 |
+
'type' => 'radio',
|
430 |
+
),
|
431 |
+
'is_attachment' => array(
|
432 |
+
'label' => __('Attachment Pages', 'advanced-ads'),
|
433 |
+
'description' => __('show on attachment pages', 'advanced-ads'),
|
434 |
+
'type' => 'radio',
|
435 |
+
),
|
436 |
+
'is_main_query' => array(
|
437 |
+
'label' => __('Secondary Queries', 'advanced-ads'),
|
438 |
+
'description' => __('allow ads in secondary queries', 'advanced-ads'),
|
439 |
+
'type' => 'radio',
|
440 |
+
)
|
441 |
+
);
|
442 |
+
}
|
443 |
+
|
444 |
+
/**
|
445 |
+
* check post type display condition in frontend
|
446 |
+
*
|
447 |
+
* @param arr $options options of the condition
|
448 |
+
* @param obj $ad Advanced_Ads_Ad
|
449 |
+
* @return bool true if can be displayed
|
450 |
+
*/
|
451 |
+
static function check_post_type($options = array(), Advanced_Ads_Ad $ad) {
|
452 |
+
|
453 |
+
if (!isset($options['value']) || !is_array($options['value'])) {
|
454 |
+
return false;
|
455 |
+
}
|
456 |
+
|
457 |
+
$ad_options = $ad->options();
|
458 |
+
$query = $ad_options['wp_the_query'];
|
459 |
+
$post = isset($ad_options['post']) ? $ad_options['post'] : null;
|
460 |
+
$post_type = isset($post['post_type']) ? $post['post_type'] : false;
|
461 |
+
|
462 |
+
if (self::in_array($post_type, $options['value']) === false) {
|
463 |
+
return false;
|
464 |
+
}
|
465 |
+
|
466 |
+
return true;
|
467 |
+
}
|
468 |
+
|
469 |
+
/**
|
470 |
+
* check author display condition in frontend
|
471 |
+
*
|
472 |
+
* @param arr $options options of the condition
|
473 |
+
* @param obj $ad Advanced_Ads_Ad
|
474 |
+
* @return bool true if can be displayed
|
475 |
+
*/
|
476 |
+
static function check_author($options = array(), Advanced_Ads_Ad $ad) {
|
477 |
+
|
478 |
+
if (!isset($options['value']) || !is_array($options['value'])) {
|
479 |
+
return false;
|
480 |
+
}
|
481 |
+
|
482 |
+
if (isset($options['operator']) && $options['operator'] === 'is_not') {
|
483 |
+
$operator = 'is_not';
|
484 |
+
} else {
|
485 |
+
$operator = 'is';
|
486 |
+
}
|
487 |
+
|
488 |
+
$ad_options = $ad->options();
|
489 |
+
$post = isset($ad_options['post']) ? $ad_options['post'] : null;
|
490 |
+
$post_author = isset($post['author']) ? $post['author'] : false;
|
491 |
+
|
492 |
+
if (!self::can_display_ids($post_author, $options['value'], $operator)) {
|
493 |
+
return false;
|
494 |
+
}
|
495 |
+
|
496 |
+
return true;
|
497 |
+
}
|
498 |
+
|
499 |
+
/**
|
500 |
+
* check taxonomies display condition in frontend
|
501 |
+
*
|
502 |
+
* @param arr $options options of the condition
|
503 |
+
* @return bool true if can be displayed
|
504 |
+
*/
|
505 |
+
static function check_taxonomies($options = array(), Advanced_Ads_Ad $ad) {
|
506 |
+
|
507 |
+
if (isset($options['operator']) && $options['operator'] === 'is_not') {
|
508 |
+
$operator = 'is_not';
|
509 |
+
} else {
|
510 |
+
$operator = 'is';
|
511 |
+
}
|
512 |
+
|
513 |
+
$ad_options = $ad->options();
|
514 |
+
$query = $ad_options['wp_the_query'];
|
515 |
+
$post_id = isset($ad_options['post']['id']) ? $ad_options['post']['id'] : null;
|
516 |
+
|
517 |
+
// get terms of the current taxonomy
|
518 |
+
$type_options = self::get_instance()->conditions;
|
519 |
+
if (!isset($options['type']) || !isset($type_options[$options['type']]['taxonomy'])) {
|
520 |
+
return true;
|
521 |
+
}
|
522 |
+
$taxonomy = $type_options[$options['type']]['taxonomy'];
|
523 |
+
|
524 |
+
$terms = get_the_terms($post_id, $taxonomy);
|
525 |
+
|
526 |
+
if (!empty($terms)) {
|
527 |
+
foreach ($terms as $term) {
|
528 |
+
$term_ids[] = $term->term_id;
|
529 |
+
}
|
530 |
+
} else {
|
531 |
+
return true;
|
532 |
+
}
|
533 |
+
|
534 |
+
if (isset($query['is_singular']) && $query['is_singular'] && !self::can_display_ids($options['value'], $term_ids, $operator)
|
535 |
+
) {
|
536 |
+
return false;
|
537 |
+
}
|
538 |
+
|
539 |
+
return true;
|
540 |
+
}
|
541 |
+
|
542 |
+
/**
|
543 |
+
* check taxonomy archive display condition in frontend
|
544 |
+
*
|
545 |
+
* @param arr $options options of the condition
|
546 |
+
* @return bool true if can be displayed
|
547 |
+
*/
|
548 |
+
static function check_taxonomy_archive($options = array(), Advanced_Ads_Ad $ad) {
|
549 |
+
|
550 |
+
if (isset($options['operator']) && $options['operator'] === 'is_not') {
|
551 |
+
$operator = 'is_not';
|
552 |
+
} else {
|
553 |
+
$operator = 'is';
|
554 |
+
}
|
555 |
+
|
556 |
+
$ad_options = $ad->options();
|
557 |
+
$query = $ad_options['wp_the_query'];
|
558 |
+
|
559 |
+
if (isset($query['term_id']) && isset($query['is_archive']) && $query['is_archive'] && !self::can_display_ids($query['term_id'], $options['value'], $operator)
|
560 |
+
) {
|
561 |
+
return false;
|
562 |
+
}
|
563 |
+
|
564 |
+
return true;
|
565 |
+
}
|
566 |
+
|
567 |
+
/**
|
568 |
+
* check post ids display condition in frontend
|
569 |
+
*
|
570 |
+
* @param arr $options options of the condition
|
571 |
+
* @return bool true if can be displayed
|
572 |
+
*/
|
573 |
+
static function check_post_ids($options = array(), Advanced_Ads_Ad $ad) {
|
574 |
+
|
575 |
+
if (isset($options['operator']) && $options['operator'] === 'is_not') {
|
576 |
+
$operator = 'is_not';
|
577 |
+
} else {
|
578 |
+
$operator = 'is';
|
579 |
+
}
|
580 |
+
|
581 |
+
$ad_options = $ad->options();
|
582 |
+
$query = $ad_options['wp_the_query'];
|
583 |
+
$post_id = isset($ad_options['post']['id']) ? $ad_options['post']['id'] : null;
|
584 |
+
|
585 |
+
if (!isset($options['value']) || !is_array($options['value']) || !$post_id) {
|
586 |
+
return true;
|
587 |
+
}
|
588 |
+
|
589 |
+
return self::can_display_ids($post_id, $options['value'], $operator);
|
590 |
+
}
|
591 |
+
|
592 |
+
/**
|
593 |
+
* check general display conditions in frontend
|
594 |
+
*
|
595 |
+
* @param arr $options options of the condition
|
596 |
+
* @param obj $ad Advanced_Ads_Ad
|
597 |
+
* @return bool true if can be displayed
|
598 |
+
*/
|
599 |
+
static function check_general($options = array(), Advanced_Ads_Ad $ad) {
|
600 |
+
|
601 |
+
// display by default
|
602 |
+
if (!isset($options['value']) || !is_array($options['value']) || !count($options['value'])) {
|
603 |
+
return true;
|
604 |
+
}
|
605 |
+
|
606 |
+
// get plugin options
|
607 |
+
$plugin_options = Advanced_Ads_Plugin::get_instance()->options();
|
608 |
+
|
609 |
+
// error_log(print_r($options, true));
|
610 |
+
// error_log(print_r(debug_backtrace( DEBUG_BACKTRACE_IGNORE_ARGS ), true));
|
611 |
+
|
612 |
+
$ad_options = $ad->options();
|
613 |
+
$query = $ad_options['wp_the_query'];
|
614 |
+
|
615 |
+
// check main query
|
616 |
+
if (isset($query['is_main_query']) && !$query['is_main_query'] && (
|
617 |
+
!in_array('is_main_query', $options['value']) || isset($plugin_options['disabled-ads']['secondary'])
|
618 |
+
)) {
|
619 |
+
return false;
|
620 |
+
}
|
621 |
+
|
622 |
+
// check for home page
|
623 |
+
if (isset($query['is_front_page']) && $query['is_front_page'] && (
|
624 |
+
!in_array('is_front_page', $options['value'])
|
625 |
+
)) {
|
626 |
+
return false;
|
627 |
+
}
|
628 |
+
|
629 |
+
// check common tests
|
630 |
+
foreach (self::$query_var_keys as $_type) {
|
631 |
+
if ('is_main_query' !== $_type && isset($query[$_type]) && $query[$_type] &&
|
632 |
+
in_array($_type, $options['value'])) {
|
633 |
+
return true;
|
634 |
+
}
|
635 |
+
}
|
636 |
+
|
637 |
+
return false;
|
638 |
+
}
|
639 |
+
|
640 |
+
/**
|
641 |
+
* helper function to check for in array values
|
642 |
+
*
|
643 |
+
* @param mixed $id scalar (key) or array of keys as needle
|
644 |
+
* @param array $ids haystack
|
645 |
+
*
|
646 |
+
* @return boolean void if either argument is empty
|
647 |
+
*/
|
648 |
+
static function in_array($id, $ids) {
|
649 |
+
// empty?
|
650 |
+
if (!isset($id) || $id === array()) {
|
651 |
+
return;
|
652 |
+
}
|
653 |
+
|
654 |
+
// invalid?
|
655 |
+
if (!is_array($ids)) {
|
656 |
+
return;
|
657 |
+
}
|
658 |
+
|
659 |
+
return is_array($id) ? array_intersect($id, $ids) !== array() : in_array($id, $ids);
|
660 |
+
}
|
661 |
+
|
662 |
+
/**
|
663 |
+
* helper to compare ids
|
664 |
+
*
|
665 |
+
* @param arr $needle ids that should be searched for in haystack
|
666 |
+
* @param arr $haystack reference ids
|
667 |
+
* @param str $operator whether it should be included or not
|
668 |
+
* @return boolean
|
669 |
+
*/
|
670 |
+
static function can_display_ids($needle, $haystack, $operator = 'is') {
|
671 |
+
|
672 |
+
if ('is' === $operator && self::in_array($needle, $haystack) === false) {
|
673 |
+
return false;
|
674 |
+
}
|
675 |
+
|
676 |
+
if ('is_not' === $operator && self::in_array($needle, $haystack) === true) {
|
677 |
+
return false;
|
678 |
+
}
|
679 |
+
|
680 |
+
return true;
|
681 |
+
}
|
682 |
+
|
683 |
+
/**
|
684 |
+
* check display conditions
|
685 |
+
*
|
686 |
+
* @since 1.1.0 moved here from can_display()
|
687 |
+
* @since 1.7.0 moved here from display-by-query module
|
688 |
+
* @return bool $can_display true if can be displayed in frontend
|
689 |
+
*/
|
690 |
+
public function can_display($can_display, $ad) {
|
691 |
+
if (!$can_display) {
|
692 |
+
return false;
|
693 |
+
}
|
694 |
+
|
695 |
+
$options = $ad->options();
|
696 |
+
if (
|
697 |
+
// test if anything is to be limited at all
|
698 |
+
!isset($options['conditions']) || !is_array($options['conditions'])
|
699 |
+
// query arguments required
|
700 |
+
|| !isset($options['wp_the_query'])
|
701 |
+
) {
|
702 |
+
return true;
|
703 |
+
}
|
704 |
+
$conditions = $options['conditions'];
|
705 |
+
$query = $options['wp_the_query'];
|
706 |
+
$post = isset($options['post']) ? $options['post'] : null;
|
707 |
+
|
708 |
+
foreach ($conditions as $_condition) {
|
709 |
+
$result = self::frontend_check($_condition, $ad);
|
710 |
+
if (!$result) {
|
711 |
+
return false;
|
712 |
+
}
|
713 |
+
}
|
714 |
+
|
715 |
+
return true;
|
716 |
+
}
|
717 |
+
|
718 |
+
/**
|
719 |
+
* On demand provide current query arguments to ads.
|
720 |
+
*
|
721 |
+
* Existing arguments must not be overridden.
|
722 |
+
* Some arguments might be cachable.
|
723 |
+
*
|
724 |
+
* @param array $args
|
725 |
+
*
|
726 |
+
* @return array
|
727 |
+
*/
|
728 |
+
public function ad_select_args_callback($args) {
|
729 |
+
global $post, $wp_the_query, $wp_query;
|
730 |
+
|
731 |
+
if (isset($post)) {
|
732 |
+
if (!isset($args['post'])) {
|
733 |
+
$args['post'] = array();
|
734 |
+
}
|
735 |
+
if (!isset($args['post']['id'])) {
|
736 |
+
$args['post']['id'] = $post->ID;
|
737 |
+
}
|
738 |
+
if (!isset($args['post']['author'])) {
|
739 |
+
$args['post']['author'] = $post->post_author;
|
740 |
+
}
|
741 |
+
if (!isset($args['post']['post_type'])) {
|
742 |
+
$args['post']['post_type'] = $post->post_type;
|
743 |
+
}
|
744 |
+
}
|
745 |
+
|
746 |
+
// pass query arguments
|
747 |
+
if (isset($wp_the_query)) {
|
748 |
+
if (!isset($args['wp_the_query'])) {
|
749 |
+
$args['wp_the_query'] = array();
|
750 |
+
}
|
751 |
+
$query = $wp_the_query->get_queried_object();
|
752 |
+
// term_id exists only for taxonomy archive pages
|
753 |
+
if (!isset($args['wp_the_query']['term_id']) && $query) {
|
754 |
+
$args['wp_the_query']['term_id'] = isset($query->term_id) ? $query->term_id : '';
|
755 |
+
}
|
756 |
+
|
757 |
+
// query type/ context
|
758 |
+
if (!isset($args['wp_the_query']['is_main_query'])) {
|
759 |
+
$args['wp_the_query']['is_main_query'] = $wp_query->is_main_query();
|
760 |
+
}
|
761 |
+
|
762 |
+
// query vars
|
763 |
+
foreach (self::$query_var_keys as $key) {
|
764 |
+
if (!isset($args['wp_the_query'][$key])) {
|
765 |
+
$args['wp_the_query'][$key] = $wp_the_query->$key();
|
766 |
+
}
|
767 |
+
}
|
768 |
+
}
|
769 |
+
|
770 |
+
return $args;
|
771 |
+
}
|
772 |
+
|
773 |
+
}
|
774 |
+
|
classes/plugin.php
CHANGED
@@ -79,6 +79,15 @@ class Advanced_Ads_Plugin {
|
|
79 |
public function wp_plugins_loaded() {
|
80 |
// Load plugin text domain
|
81 |
$this->load_plugin_textdomain();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
82 |
|
83 |
// activate plugin when new blog is added on multisites // -TODO this is admin-only
|
84 |
add_action( 'wpmu_new_blog', array( $this, 'activate_new_site' ) );
|
@@ -96,6 +105,9 @@ class Advanced_Ads_Plugin {
|
|
96 |
add_action( 'admin_menu', array( $this, 'remove_taxonomy_menu_item' ) );
|
97 |
// load widgets
|
98 |
add_action( 'widgets_init', array( $this, 'widget_init' ) );
|
|
|
|
|
|
|
99 |
}
|
100 |
|
101 |
/**
|
79 |
public function wp_plugins_loaded() {
|
80 |
// Load plugin text domain
|
81 |
$this->load_plugin_textdomain();
|
82 |
+
|
83 |
+
$internal_options = $this->internal_options();
|
84 |
+
|
85 |
+
/**
|
86 |
+
* run upgrades, if this is a new version
|
87 |
+
*/
|
88 |
+
if ( !defined( 'DOING_AJAX' ) && isset( $internal_options['version'] ) && version_compare( $internal_options['version'], ADVADS_VERSION, '<' ) ) {
|
89 |
+
new Advanced_Ads_Upgrades();
|
90 |
+
}
|
91 |
|
92 |
// activate plugin when new blog is added on multisites // -TODO this is admin-only
|
93 |
add_action( 'wpmu_new_blog', array( $this, 'activate_new_site' ) );
|
105 |
add_action( 'admin_menu', array( $this, 'remove_taxonomy_menu_item' ) );
|
106 |
// load widgets
|
107 |
add_action( 'widgets_init', array( $this, 'widget_init' ) );
|
108 |
+
|
109 |
+
// load display conditions
|
110 |
+
new Advanced_Ads_Display_Conditions();
|
111 |
}
|
112 |
|
113 |
/**
|
classes/upgrades.php
ADDED
@@ -0,0 +1,213 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Upgrade logic from older data to new one
|
5 |
+
*
|
6 |
+
* the version number itself is changed in /admin/includes/class-notices.php::register_version_notices()
|
7 |
+
*
|
8 |
+
* @since 1.7
|
9 |
+
*/
|
10 |
+
class Advanced_Ads_Upgrades {
|
11 |
+
|
12 |
+
public function __construct(){
|
13 |
+
|
14 |
+
$internal_options = Advanced_Ads_Plugin::get_instance()->internal_options();
|
15 |
+
|
16 |
+
// don’t upgrade if no previous version existed
|
17 |
+
if( empty( $internal_options['version'] ) ) {
|
18 |
+
return;
|
19 |
+
}
|
20 |
+
|
21 |
+
if ( version_compare( $internal_options['version'], '1.7' ) == -1 ) {
|
22 |
+
$this->upgrade_1_7();
|
23 |
+
}
|
24 |
+
|
25 |
+
// update version notices – if this doesn’t happen here, the upgrade might run multiple times and destroy updated data
|
26 |
+
Advanced_Ads_Admin_Notices::get_instance()->register_version_notices();
|
27 |
+
}
|
28 |
+
|
29 |
+
/**
|
30 |
+
* upgrade data to version 1.7
|
31 |
+
* rewrite existing display conditions
|
32 |
+
*/
|
33 |
+
public function upgrade_1_7(){
|
34 |
+
|
35 |
+
// get all ads, regardless of the publish status
|
36 |
+
$args['post_status'] = 'any';
|
37 |
+
$args['suppress_filters'] = true; // needed to remove issue with a broken plugin from the repository
|
38 |
+
$ads = Advanced_Ads::get_instance()->get_model()->get_ads( $args );
|
39 |
+
|
40 |
+
// iterate through ads
|
41 |
+
// error_log(print_r($ads, true));
|
42 |
+
error_log(print_r('–– STARTING ADVANCED ADS data upgrade to version 1.7 ––', true));
|
43 |
+
foreach( $ads as $_ad ){
|
44 |
+
// ad options
|
45 |
+
$option_key = Advanced_Ads_Ad::$options_meta_field;
|
46 |
+
if( !isset( $_ad->ID ) || ! $option_key ){
|
47 |
+
continue;
|
48 |
+
}
|
49 |
+
$options = get_post_meta( $_ad->ID, $option_key, true );
|
50 |
+
// rewrite display conditions
|
51 |
+
if( ! isset( $options['conditions'] ) ){
|
52 |
+
continue;
|
53 |
+
}
|
54 |
+
|
55 |
+
error_log(print_r('AD ID: ' . $_ad->ID, true));
|
56 |
+
error_log(print_r('OLD CONDITIONS', true));
|
57 |
+
error_log(print_r($options['conditions'], true));
|
58 |
+
|
59 |
+
$old_conditions = $options['conditions'];
|
60 |
+
|
61 |
+
// check if conditions are disabled
|
62 |
+
if( ! isset( $old_conditions['enabled'] ) || ! $old_conditions['enabled'] ){
|
63 |
+
$new_conditions = '';
|
64 |
+
} else {
|
65 |
+
$new_conditions = array();
|
66 |
+
|
67 |
+
// rewrite general conditions
|
68 |
+
$old_general_conditions = array(
|
69 |
+
'is_front_page',
|
70 |
+
'is_singular',
|
71 |
+
'is_archive',
|
72 |
+
'is_search',
|
73 |
+
'is_404',
|
74 |
+
'is_attachment',
|
75 |
+
'is_main_query'
|
76 |
+
);
|
77 |
+
$general = array();
|
78 |
+
foreach( $old_general_conditions as $_general_condition ){
|
79 |
+
if( isset( $old_conditions[ $_general_condition ] ) && $old_conditions[ $_general_condition ] ) {
|
80 |
+
$general[] = $_general_condition;
|
81 |
+
}
|
82 |
+
}
|
83 |
+
// move general conditions into display conditions
|
84 |
+
// only, if the number of conditions in the previous setting is lower, because only that means there is an active limitation
|
85 |
+
// not sure if allowing an empty array is logical, but some users might have set this up to hide an ad
|
86 |
+
if( count( $general ) < count( $old_general_conditions ) ){
|
87 |
+
$new_conditions[] = array(
|
88 |
+
'type' => 'general',
|
89 |
+
'value' => $general
|
90 |
+
);
|
91 |
+
}
|
92 |
+
|
93 |
+
// rewrite post types condition
|
94 |
+
if( isset( $old_conditions[ 'posttypes' ]['include'] )
|
95 |
+
&& ( !isset ( $old_conditions[ 'posttypes' ]['all'] )
|
96 |
+
|| ! $old_conditions[ 'posttypes' ]['all'] ) ) {
|
97 |
+
if ( is_string( $old_conditions[ 'posttypes' ]['include']) ) {
|
98 |
+
$old_conditions[ 'posttypes' ]['include'] = explode( ',', $old_conditions[ 'posttypes' ]['include'] );
|
99 |
+
}
|
100 |
+
$new_conditions[] = array(
|
101 |
+
'type' => 'posttypes',
|
102 |
+
'value' => $old_conditions[ 'posttypes' ]['include']
|
103 |
+
);
|
104 |
+
}
|
105 |
+
|
106 |
+
/**
|
107 |
+
* rewrite category ids and category archive ids
|
108 |
+
*
|
109 |
+
* the problem is that before there was no connection between term ids and taxonomy, now, each taxonomy has its own condition
|
110 |
+
*/
|
111 |
+
// check, if there are even such options set
|
112 |
+
if( ( isset( $old_conditions[ 'categoryids' ] )
|
113 |
+
&& ( !isset ( $old_conditions[ 'categoryids' ]['all'] )
|
114 |
+
|| ! $old_conditions[ 'categoryids' ]['all'] ) )
|
115 |
+
|| ( isset( $old_conditions[ 'categoryarchiveids' ] )
|
116 |
+
&& ( !isset ( $old_conditions[ 'categoryarchiveids' ]['all'] )
|
117 |
+
|| ! $old_conditions[ 'categoryarchiveids' ]['all'] ) ))
|
118 |
+
{
|
119 |
+
|
120 |
+
// get all taxonomies
|
121 |
+
$taxonomies = get_taxonomies( array('public' => true, 'publicly_queryable' => true), 'objects', 'or' );
|
122 |
+
$taxonomy_terms = array();
|
123 |
+
foreach ( $taxonomies as $_tax ) {
|
124 |
+
if( $_tax->name === 'advanced_ads_groups' ){
|
125 |
+
continue;
|
126 |
+
}
|
127 |
+
// get all terms
|
128 |
+
$terms = get_terms( $_tax->name, array('hide_empty' => false, 'number' => 0, 'fields' => 'ids' ) );
|
129 |
+
if ( is_wp_error( $terms ) || ! count( $terms ) ){
|
130 |
+
continue;
|
131 |
+
} else {
|
132 |
+
$taxonomy_terms[ $_tax->name ] = $terms;
|
133 |
+
}
|
134 |
+
|
135 |
+
// get terms that are in all terms and in active terms
|
136 |
+
if( isset( $old_conditions[ 'categoryids' ] )
|
137 |
+
&& ( !isset ( $old_conditions[ 'categoryids' ]['all'] )
|
138 |
+
|| ! $old_conditions[ 'categoryids' ]['all'] ) )
|
139 |
+
{
|
140 |
+
// honor "include" option first
|
141 |
+
if( isset ( $old_conditions[ 'categoryids' ]['include'] ) && count( $old_conditions[ 'categoryids' ]['include'] )
|
142 |
+
&& $same_values = array_intersect($terms, $old_conditions[ 'categoryids' ]['include']) ){
|
143 |
+
$new_conditions[] = array(
|
144 |
+
'type' => 'taxonomy_' . $_tax->name ,
|
145 |
+
'operator' => 'is',
|
146 |
+
'value' => $same_values
|
147 |
+
);
|
148 |
+
} elseif ( isset ( $old_conditions[ 'categoryids' ]['exclude'] ) && count( $old_conditions[ 'categoryids' ]['exclude'] )
|
149 |
+
&& $same_values = array_intersect($terms, $old_conditions[ 'categoryids' ]['exclude']) ){
|
150 |
+
$new_conditions[] = array(
|
151 |
+
'type' => 'taxonomy_' . $_tax->name ,
|
152 |
+
'operator' => 'is_not',
|
153 |
+
'value' => $same_values
|
154 |
+
);
|
155 |
+
}
|
156 |
+
}
|
157 |
+
|
158 |
+
// get terms that are in all terms and in active terms
|
159 |
+
if( isset( $old_conditions[ 'categoryarchiveids' ] )
|
160 |
+
&& ( !isset ( $old_conditions[ 'categoryarchiveids' ]['all'] )
|
161 |
+
|| ! $old_conditions[ 'categoryarchiveids' ]['all'] ) )
|
162 |
+
{
|
163 |
+
// honor "include" option first
|
164 |
+
if( isset ( $old_conditions[ 'categoryarchiveids' ]['include'] ) && count( $old_conditions[ 'categoryarchiveids' ]['include'] )
|
165 |
+
&& $same_values = array_intersect($terms, $old_conditions[ 'categoryarchiveids' ]['include']) ){
|
166 |
+
$new_conditions[] = array(
|
167 |
+
'type' => 'archive_' . $_tax->name ,
|
168 |
+
'operator' => 'is',
|
169 |
+
'value' => $same_values
|
170 |
+
);
|
171 |
+
} elseif ( isset ( $old_conditions[ 'categoryarchiveids' ]['exclude'] ) && count( $old_conditions[ 'categoryarchiveids' ]['exclude'] )
|
172 |
+
&& $same_values = array_intersect($terms, $old_conditions[ 'categoryarchiveids' ]['exclude']) ){
|
173 |
+
$new_conditions[] = array(
|
174 |
+
'type' => 'archive_' . $_tax->name ,
|
175 |
+
'operator' => 'is_not',
|
176 |
+
'value' => $same_values
|
177 |
+
);
|
178 |
+
}
|
179 |
+
}
|
180 |
+
}
|
181 |
+
}
|
182 |
+
|
183 |
+
// rewrite single post ids
|
184 |
+
if( isset ( $old_conditions[ 'postids' ]['ids'] )
|
185 |
+
&& isset ( $old_conditions[ 'postids' ]['method'] )
|
186 |
+
&& $old_conditions[ 'postids' ]['method']
|
187 |
+
&& ( !isset ( $old_conditions[ 'postids' ]['all'] )
|
188 |
+
|| ! $old_conditions[ 'postids' ]['all'] ) ) {
|
189 |
+
$operator = ( $old_conditions[ 'postids' ]['method'] === 'exclude' ) ? 'is_not' : 'is';
|
190 |
+
if ( is_string( $old_conditions[ 'postids' ]['ids']) ) {
|
191 |
+
$old_conditions[ 'postids' ]['ids'] = explode( ',', $old_conditions[ 'postids' ]['ids'] );
|
192 |
+
}
|
193 |
+
$new_conditions[] = array(
|
194 |
+
'type' => 'postids',
|
195 |
+
'operator' => $operator,
|
196 |
+
'value' => $old_conditions[ 'postids' ]['ids']
|
197 |
+
);
|
198 |
+
}
|
199 |
+
}
|
200 |
+
|
201 |
+
error_log(print_r('NEW CONDITIONS', true));
|
202 |
+
error_log(print_r($new_conditions, true));
|
203 |
+
|
204 |
+
$options['conditions'] = $new_conditions;
|
205 |
+
|
206 |
+
// save conditions
|
207 |
+
update_post_meta( $_ad->ID, $option_key, $options );
|
208 |
+
}
|
209 |
+
|
210 |
+
error_log(print_r('up to 1.7', true));
|
211 |
+
}
|
212 |
+
|
213 |
+
}
|
composer.lock
CHANGED
@@ -5,21 +5,25 @@
|
|
5 |
"This file is @generated automatically"
|
6 |
],
|
7 |
"hash": "a5682b6980988f749640ce92382a6247",
|
|
|
8 |
"packages": [
|
9 |
{
|
10 |
"name": "composer/installers",
|
11 |
-
"version": "v1.0.
|
12 |
"source": {
|
13 |
"type": "git",
|
14 |
"url": "https://github.com/composer/installers.git",
|
15 |
-
"reference": "
|
16 |
},
|
17 |
"dist": {
|
18 |
"type": "zip",
|
19 |
-
"url": "https://api.github.com/repos/composer/installers/zipball/
|
20 |
-
"reference": "
|
21 |
"shasum": ""
|
22 |
},
|
|
|
|
|
|
|
23 |
"replace": {
|
24 |
"roundcube/plugin-installer": "*",
|
25 |
"shama/baton": "*"
|
@@ -28,9 +32,9 @@
|
|
28 |
"composer/composer": "1.0.*@dev",
|
29 |
"phpunit/phpunit": "4.1.*"
|
30 |
},
|
31 |
-
"type": "composer-
|
32 |
"extra": {
|
33 |
-
"class": "Composer\\Installers\\
|
34 |
"branch-alias": {
|
35 |
"dev-master": "1.0-dev"
|
36 |
}
|
@@ -99,7 +103,7 @@
|
|
99 |
"zend",
|
100 |
"zikula"
|
101 |
],
|
102 |
-
"time": "
|
103 |
},
|
104 |
{
|
105 |
"name": "xrstf/composer-php52",
|
5 |
"This file is @generated automatically"
|
6 |
],
|
7 |
"hash": "a5682b6980988f749640ce92382a6247",
|
8 |
+
"content-hash": "ad3eee4861f3aff012912967c0a17906",
|
9 |
"packages": [
|
10 |
{
|
11 |
"name": "composer/installers",
|
12 |
+
"version": "v1.0.23",
|
13 |
"source": {
|
14 |
"type": "git",
|
15 |
"url": "https://github.com/composer/installers.git",
|
16 |
+
"reference": "6213d900e92647831f7a406d5c530ea1f3d4360e"
|
17 |
},
|
18 |
"dist": {
|
19 |
"type": "zip",
|
20 |
+
"url": "https://api.github.com/repos/composer/installers/zipball/6213d900e92647831f7a406d5c530ea1f3d4360e",
|
21 |
+
"reference": "6213d900e92647831f7a406d5c530ea1f3d4360e",
|
22 |
"shasum": ""
|
23 |
},
|
24 |
+
"require": {
|
25 |
+
"composer-plugin-api": "^1.0"
|
26 |
+
},
|
27 |
"replace": {
|
28 |
"roundcube/plugin-installer": "*",
|
29 |
"shama/baton": "*"
|
32 |
"composer/composer": "1.0.*@dev",
|
33 |
"phpunit/phpunit": "4.1.*"
|
34 |
},
|
35 |
+
"type": "composer-plugin",
|
36 |
"extra": {
|
37 |
+
"class": "Composer\\Installers\\Plugin",
|
38 |
"branch-alias": {
|
39 |
"dev-master": "1.0-dev"
|
40 |
}
|
103 |
"zend",
|
104 |
"zikula"
|
105 |
],
|
106 |
+
"time": "2016-01-27 12:54:22"
|
107 |
},
|
108 |
{
|
109 |
"name": "xrstf/composer-php52",
|
includes/array_ad_conditions.php
CHANGED
@@ -18,6 +18,7 @@
|
|
18 |
*
|
19 |
* note: ’idfield’ always has a {field}_not version that is created automatically and being its own condition
|
20 |
*
|
|
|
21 |
*/
|
22 |
|
23 |
// avoid direct execution
|
18 |
*
|
19 |
* note: ’idfield’ always has a {field}_not version that is created automatically and being its own condition
|
20 |
*
|
21 |
+
* @deprecated since 1.7
|
22 |
*/
|
23 |
|
24 |
// avoid direct execution
|
languages/advanced-ads-de_DE.po
CHANGED
@@ -1119,7 +1119,7 @@ msgstr ""
|
|
1119 |
"target=\"_blank\">Anleitung</a> (engl.)."
|
1120 |
|
1121 |
#: ../admin/views/ad-display-metabox.php:34
|
1122 |
-
msgid "
|
1123 |
msgstr "Andere Bedingungen"
|
1124 |
|
1125 |
#: ../admin/views/ad-display-metabox.php:52
|
1119 |
"target=\"_blank\">Anleitung</a> (engl.)."
|
1120 |
|
1121 |
#: ../admin/views/ad-display-metabox.php:34
|
1122 |
+
msgid "general conditions"
|
1123 |
msgstr "Andere Bedingungen"
|
1124 |
|
1125 |
#: ../admin/views/ad-display-metabox.php:52
|
languages/advanced-ads-it_IT.po
CHANGED
@@ -1967,7 +1967,7 @@ msgid ""
|
|
1967 |
msgstr "Leggi <a href=\"%s\" target=\"_blank\">qui</a>."
|
1968 |
|
1969 |
#: ../admin/views/ad-display-metabox.php:34
|
1970 |
-
msgid "
|
1971 |
msgstr "Altre condizioni"
|
1972 |
|
1973 |
#: ../admin/views/ad-display-metabox.php:71
|
1967 |
msgstr "Leggi <a href=\"%s\" target=\"_blank\">qui</a>."
|
1968 |
|
1969 |
#: ../admin/views/ad-display-metabox.php:34
|
1970 |
+
msgid "general conditions"
|
1971 |
msgstr "Altre condizioni"
|
1972 |
|
1973 |
#: ../admin/views/ad-display-metabox.php:71
|
languages/advanced-ads-nl_NL.po
CHANGED
@@ -1171,7 +1171,7 @@ msgstr ""
|
|
1171 |
"komen over vertoningsvoorwaarden."
|
1172 |
|
1173 |
#: ../admin/views/ad-display-metabox.php:34
|
1174 |
-
msgid "
|
1175 |
msgstr "Andere voorwaarden"
|
1176 |
|
1177 |
#: ../admin/views/ad-display-metabox.php:52
|
1171 |
"komen over vertoningsvoorwaarden."
|
1172 |
|
1173 |
#: ../admin/views/ad-display-metabox.php:34
|
1174 |
+
msgid "general conditions"
|
1175 |
msgstr "Andere voorwaarden"
|
1176 |
|
1177 |
#: ../admin/views/ad-display-metabox.php:52
|
languages/advanced-ads-pt_BR.po
CHANGED
@@ -1591,7 +1591,7 @@ msgstr "Defina as condições de exibição"
|
|
1591 |
|
1592 |
#: ../admin/views/ad-display-metabox.php:34
|
1593 |
#, fuzzy
|
1594 |
-
msgid "
|
1595 |
msgstr "Outras condições"
|
1596 |
|
1597 |
#: ../admin/views/ad-display-metabox.php:71
|
1591 |
|
1592 |
#: ../admin/views/ad-display-metabox.php:34
|
1593 |
#, fuzzy
|
1594 |
+
msgid "general conditions"
|
1595 |
msgstr "Outras condições"
|
1596 |
|
1597 |
#: ../admin/views/ad-display-metabox.php:71
|
languages/advanced-ads.mo
CHANGED
Binary file
|
languages/advanced-ads.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-28 20:07+0100\n"
|
6 |
-
"PO-Revision-Date: Wed
|
7 |
"Last-Translator: admin <post@webzunft.de>\n"
|
8 |
"Language-Team: webgilde <thomas.maier@webgilde.com>\n"
|
9 |
"Language: Unknown locale\n"
|
@@ -42,243 +42,243 @@ msgstr ""
|
|
42 |
msgid "http://webgilde.com"
|
43 |
msgstr ""
|
44 |
|
45 |
-
#: ../admin/class-advanced-ads-admin.php:
|
46 |
msgid "Overview"
|
47 |
msgstr ""
|
48 |
|
49 |
-
#: ../admin/class-advanced-ads-admin.php:
|
50 |
-
#: php:
|
51 |
#: group-list-form-row.php:28 ../admin/views/ad-group-list-header.php:5 ..
|
52 |
#: /admin/views/placements.php:80 ../admin/views/placements.php:184 ..
|
53 |
#: /classes/widget.php:89 ../public/class-advanced-ads.php:563
|
54 |
msgid "Ads"
|
55 |
msgstr ""
|
56 |
|
57 |
-
#: ../admin/class-advanced-ads-admin.php:
|
58 |
#: creator.php:84 ../admin/views/placements.php:73 ../admin/views/placements.php:
|
59 |
#: 177 ../classes/widget.php:82
|
60 |
msgid "Ad Groups"
|
61 |
msgstr ""
|
62 |
|
63 |
-
#: ../admin/class-advanced-ads-admin.php:
|
64 |
msgid "Groups"
|
65 |
msgstr ""
|
66 |
|
67 |
-
#: ../admin/class-advanced-ads-admin.php:
|
68 |
msgid "Ad Placements"
|
69 |
msgstr ""
|
70 |
|
71 |
-
#: ../admin/class-advanced-ads-admin.php:
|
72 |
#: creator.php:91 ../admin/views/placements.php:18 ../classes/widget.php:75
|
73 |
msgid "Placements"
|
74 |
msgstr ""
|
75 |
|
76 |
-
#: ../admin/class-advanced-ads-admin.php:
|
77 |
msgid "Advanced Ads Settings"
|
78 |
msgstr ""
|
79 |
|
80 |
-
#: ../admin/class-advanced-ads-admin.php:
|
81 |
-
#: php:
|
82 |
msgid "Settings"
|
83 |
msgstr ""
|
84 |
|
85 |
-
#: ../admin/class-advanced-ads-admin.php:
|
86 |
msgid "Advanced Ads Debugging"
|
87 |
msgstr ""
|
88 |
|
89 |
-
#: ../admin/class-advanced-ads-admin.php:
|
90 |
msgid "Debug"
|
91 |
msgstr ""
|
92 |
|
93 |
-
#: ../admin/class-advanced-ads-admin.php:
|
94 |
-
#: php:
|
95 |
msgid "Advanced Ads Intro"
|
96 |
msgstr ""
|
97 |
|
98 |
-
#: ../admin/class-advanced-ads-admin.php:
|
99 |
-
#: php:
|
100 |
msgid "Support"
|
101 |
msgstr ""
|
102 |
|
103 |
-
#: ../admin/class-advanced-ads-admin.php:
|
104 |
-
#: php:
|
105 |
msgid "Sorry, you are not allowed to access this feature."
|
106 |
msgstr ""
|
107 |
|
108 |
-
#: ../admin/class-advanced-ads-admin.php:
|
109 |
msgid ""
|
110 |
"You attempted to edit an ad group that doesn’t exist. Perhaps it was "
|
111 |
"deleted?"
|
112 |
msgstr ""
|
113 |
|
114 |
-
#: ../admin/class-advanced-ads-admin.php:
|
115 |
msgid "Ad Type"
|
116 |
msgstr ""
|
117 |
|
118 |
-
#: ../admin/class-advanced-ads-admin.php:
|
119 |
msgid "Ad Parameters"
|
120 |
msgstr ""
|
121 |
|
122 |
-
#: ../admin/class-advanced-ads-admin.php:
|
123 |
msgid "Layout / Output"
|
124 |
msgstr ""
|
125 |
|
126 |
-
#: ../admin/class-advanced-ads-admin.php:
|
127 |
msgid "Visitor Conditions"
|
128 |
msgstr ""
|
129 |
|
130 |
-
#: ../admin/class-advanced-ads-admin.php:
|
131 |
-
#: php:
|
132 |
msgid "Ad updated."
|
133 |
msgstr ""
|
134 |
|
135 |
#. translators: %s: date and time of the revision
|
136 |
-
#: ../admin/class-advanced-ads-admin.php:
|
137 |
#, php-format
|
138 |
msgid "Ad restored to revision from %s"
|
139 |
msgstr ""
|
140 |
|
141 |
-
#: ../admin/class-advanced-ads-admin.php:
|
142 |
msgid "Ad published."
|
143 |
msgstr ""
|
144 |
|
145 |
-
#: ../admin/class-advanced-ads-admin.php:
|
146 |
msgid "Ad saved."
|
147 |
msgstr ""
|
148 |
|
149 |
-
#: ../admin/class-advanced-ads-admin.php:
|
150 |
msgid "Ad submitted."
|
151 |
msgstr ""
|
152 |
|
153 |
-
#: ../admin/class-advanced-ads-admin.php:
|
154 |
#, php-format
|
155 |
msgid "Ad scheduled for: <strong>%1$s</strong>."
|
156 |
msgstr ""
|
157 |
|
158 |
#. translators: Publish box date format, see http://php.net/date
|
159 |
-
#: ../admin/class-advanced-ads-admin.php:
|
160 |
msgid "M j, Y @ G:i"
|
161 |
msgstr ""
|
162 |
|
163 |
-
#: ../admin/class-advanced-ads-admin.php:
|
164 |
msgid "Ad draft updated."
|
165 |
msgstr ""
|
166 |
|
167 |
-
#: ../admin/class-advanced-ads-admin.php:
|
168 |
#, php-format
|
169 |
msgid "%s ad updated."
|
170 |
msgid_plural "%s ads updated."
|
171 |
msgstr[0] ""
|
172 |
msgstr[1] ""
|
173 |
|
174 |
-
#: ../admin/class-advanced-ads-admin.php:
|
175 |
#, php-format
|
176 |
msgid "%s ad not updated, somebody is editing it."
|
177 |
msgid_plural "%s ads not updated, somebody is editing them."
|
178 |
msgstr[0] ""
|
179 |
msgstr[1] ""
|
180 |
|
181 |
-
#: ../admin/class-advanced-ads-admin.php:
|
182 |
#, php-format
|
183 |
msgid "%s ad permanently deleted."
|
184 |
msgid_plural "%s ads permanently deleted."
|
185 |
msgstr[0] ""
|
186 |
msgstr[1] ""
|
187 |
|
188 |
-
#: ../admin/class-advanced-ads-admin.php:
|
189 |
#, php-format
|
190 |
msgid "%s ad moved to the Trash."
|
191 |
msgid_plural "%s ads moved to the Trash."
|
192 |
msgstr[0] ""
|
193 |
msgstr[1] ""
|
194 |
|
195 |
-
#: ../admin/class-advanced-ads-admin.php:
|
196 |
#, php-format
|
197 |
msgid "%s ad restored from the Trash."
|
198 |
msgid_plural "%s ads restored from the Trash."
|
199 |
msgstr[0] ""
|
200 |
msgstr[1] ""
|
201 |
|
202 |
-
#: ../admin/class-advanced-ads-admin.php:
|
203 |
msgid "General"
|
204 |
msgstr ""
|
205 |
|
206 |
-
#: ../admin/class-advanced-ads-admin.php:
|
207 |
-
#: php:
|
208 |
msgid "Licenses"
|
209 |
msgstr ""
|
210 |
|
211 |
-
#: ../admin/class-advanced-ads-admin.php:
|
212 |
msgid "Disable ads"
|
213 |
msgstr ""
|
214 |
|
215 |
-
#: ../admin/class-advanced-ads-admin.php:
|
216 |
msgid "Hide ads for logged in users"
|
217 |
msgstr ""
|
218 |
|
219 |
-
#: ../admin/class-advanced-ads-admin.php:
|
220 |
msgid "Use advanced JavaScript"
|
221 |
msgstr ""
|
222 |
|
223 |
-
#: ../admin/class-advanced-ads-admin.php:
|
224 |
msgid "Unlimited ad injection"
|
225 |
msgstr ""
|
226 |
|
227 |
-
#: ../admin/class-advanced-ads-admin.php:
|
228 |
msgid "Priority of content injection filter"
|
229 |
msgstr ""
|
230 |
|
231 |
-
#: ../admin/class-advanced-ads-admin.php:
|
232 |
msgid "Hide ads from bots"
|
233 |
msgstr ""
|
234 |
|
235 |
-
#: ../admin/class-advanced-ads-admin.php:
|
236 |
msgid "Disable notices"
|
237 |
msgstr ""
|
238 |
|
239 |
-
#: ../admin/class-advanced-ads-admin.php:
|
240 |
msgid "ID prefix"
|
241 |
msgstr ""
|
242 |
|
243 |
-
#: ../admin/class-advanced-ads-admin.php:
|
244 |
msgid "Remove Widget ID"
|
245 |
msgstr ""
|
246 |
|
247 |
-
#: ../admin/class-advanced-ads-admin.php:
|
248 |
msgid "Allow editors to manage ads"
|
249 |
msgstr ""
|
250 |
|
251 |
-
#: ../admin/class-advanced-ads-admin.php:
|
252 |
msgid "Subscriber"
|
253 |
msgstr ""
|
254 |
|
255 |
-
#: ../admin/class-advanced-ads-admin.php:
|
256 |
msgid "Contributor"
|
257 |
msgstr ""
|
258 |
|
259 |
-
#: ../admin/class-advanced-ads-admin.php:
|
260 |
msgid "Author"
|
261 |
msgstr ""
|
262 |
|
263 |
-
#: ../admin/class-advanced-ads-admin.php:
|
264 |
msgid "Editor"
|
265 |
msgstr ""
|
266 |
|
267 |
-
#: ../admin/class-advanced-ads-admin.php:
|
268 |
msgid "Admin"
|
269 |
msgstr ""
|
270 |
|
271 |
-
#: ../admin/class-advanced-ads-admin.php:
|
272 |
msgid "Choose the lowest role a user must have in order to not see any ads."
|
273 |
msgstr ""
|
274 |
|
275 |
-
#: ../admin/class-advanced-ads-admin.php:
|
276 |
msgid ""
|
277 |
"<strong>notice: </strong>the file is currently enabled by an add-on that "
|
278 |
"needs it."
|
279 |
msgstr ""
|
280 |
|
281 |
-
#: ../admin/class-advanced-ads-admin.php:
|
282 |
#, php-format
|
283 |
msgid ""
|
284 |
"Enable advanced JavaScript functions (<a href=\"%s\" target=\"_blank\">here</a>)."
|
@@ -286,7 +286,7 @@ msgid ""
|
|
286 |
"from this file."
|
287 |
msgstr ""
|
288 |
|
289 |
-
#: ../admin/class-advanced-ads-admin.php:
|
290 |
msgid ""
|
291 |
"Some plugins and themes trigger ad injection where it shouldn’t happen. "
|
292 |
"Therefore, Advanced Ads ignores injected placements on non-singular pages "
|
@@ -295,19 +295,19 @@ msgid ""
|
|
295 |
"on archive pages AT YOUR OWN RISK."
|
296 |
msgstr ""
|
297 |
|
298 |
-
#: ../admin/class-advanced-ads-admin.php:
|
299 |
msgid ""
|
300 |
"Please check your post content. A priority of 10 and below might cause "
|
301 |
"issues (wpautop function might run twice)."
|
302 |
msgstr ""
|
303 |
|
304 |
-
#: ../admin/class-advanced-ads-admin.php:
|
305 |
msgid ""
|
306 |
"Play with this value in order to change the priority of the injected ads "
|
307 |
"compared to other auto injected elements in the post content."
|
308 |
msgstr ""
|
309 |
|
310 |
-
#: ../admin/class-advanced-ads-admin.php:
|
311 |
#, php-format
|
312 |
msgid ""
|
313 |
"Hide ads from crawlers, bots and empty user agents. Also prevents counting "
|
@@ -315,99 +315,110 @@ msgid ""
|
|
315 |
"Add-On</a>."
|
316 |
msgstr ""
|
317 |
|
318 |
-
#: ../admin/class-advanced-ads-admin.php:
|
319 |
msgid ""
|
320 |
"Disabling this option only makes sense if your ads contain content you want "
|
321 |
"to display to bots (like search engines) or your site is cached and bots "
|
322 |
"could create a cached version without the ads."
|
323 |
msgstr ""
|
324 |
|
325 |
-
#: ../admin/class-advanced-ads-admin.php:
|
326 |
msgid ""
|
327 |
"Disable internal notices like tips, tutorials, email newsletters and update "
|
328 |
"notices. Disabling notices is recommended if you run multiple blogs with "
|
329 |
"Advanced Ads already."
|
330 |
msgstr ""
|
331 |
|
332 |
-
#: ../admin/class-advanced-ads-admin.php:
|
333 |
msgid ""
|
334 |
"Prefix of class or id attributes in the frontend. Change it if you don’t "
|
335 |
"want <strong>ad blockers</strong> to mark these blocks as ads.<br/>You might "
|
336 |
"need to <strong>rewrite css rules afterwards</strong>."
|
337 |
msgstr ""
|
338 |
|
339 |
-
#: ../admin/class-advanced-ads-admin.php:
|
340 |
msgid ""
|
341 |
"Remove the ID attribute from widgets in order to not make them an easy "
|
342 |
"target of ad blockers."
|
343 |
msgstr ""
|
344 |
|
345 |
-
#: ../admin/class-advanced-ads-admin.php:
|
346 |
msgid "Allow editors to also manage and publish ads."
|
347 |
msgstr ""
|
348 |
|
349 |
-
#: ../admin/class-advanced-ads-admin.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
350 |
msgid "Ad Details"
|
351 |
msgstr ""
|
352 |
|
353 |
-
#: ../admin/class-advanced-ads-admin.php:
|
354 |
msgid "Ad Planning"
|
355 |
msgstr ""
|
356 |
|
357 |
-
#: ../admin/class-advanced-ads-admin.php:
|
358 |
msgid "Ad Settings"
|
359 |
msgstr ""
|
360 |
|
361 |
-
#: ../admin/class-advanced-ads-admin.php:
|
362 |
msgid "Ads Dashboard"
|
363 |
msgstr ""
|
364 |
|
365 |
-
#: ../admin/class-advanced-ads-admin.php:
|
366 |
msgid "From the ad optimization universe"
|
367 |
msgstr ""
|
368 |
|
369 |
-
#: ../admin/class-advanced-ads-admin.php:
|
370 |
msgid "Advanced Ads Tutorials"
|
371 |
msgstr ""
|
372 |
|
373 |
-
#: ../admin/class-advanced-ads-admin.php:
|
374 |
#, php-format
|
375 |
msgid "%d ads – <a href=\"%s\">manage</a> - <a href=\"%s\">new</a>"
|
376 |
msgstr ""
|
377 |
|
378 |
-
#: ../admin/class-advanced-ads-admin.php:
|
379 |
msgid "plugin manual and homepage"
|
380 |
msgstr ""
|
381 |
|
382 |
-
#: ../admin/class-advanced-ads-admin.php:
|
383 |
msgid "Get the tutorial via email"
|
384 |
msgstr ""
|
385 |
|
386 |
-
#: ../admin/class-advanced-ads-admin.php:
|
387 |
msgid "Get AdSense tips via email"
|
388 |
msgstr ""
|
389 |
|
390 |
-
#: ../admin/class-advanced-ads-admin.php:
|
391 |
msgid "Error while trying to register the license. Please contact support."
|
392 |
msgstr ""
|
393 |
|
394 |
-
#: ../admin/class-advanced-ads-admin.php:
|
395 |
msgid "Please enter and save a valid license key first."
|
396 |
msgstr ""
|
397 |
|
398 |
-
#: ../admin/class-advanced-ads-admin.php:
|
399 |
#, php-format
|
400 |
msgid "License is invalid. Reason: %s"
|
401 |
msgstr ""
|
402 |
|
403 |
-
#: ../admin/class-advanced-ads-admin.php:
|
404 |
msgid "Error while trying to disable the license. Please contact support."
|
405 |
msgstr ""
|
406 |
|
407 |
-
#: ../admin/class-advanced-ads-admin.php:
|
408 |
msgid "License couldn’t be deactivated. Please try again later or contact support."
|
409 |
msgstr ""
|
410 |
|
|
|
|
|
|
|
|
|
411 |
#: ../admin/includes/class-ad-groups-list.php:156
|
412 |
msgid "Ad weight"
|
413 |
msgstr ""
|
@@ -481,99 +492,103 @@ msgstr ""
|
|
481 |
msgid "You don’t have permission to change the ad groups"
|
482 |
msgstr ""
|
483 |
|
484 |
-
#: ../admin/includes/class-display-condition-callbacks.php:
|
485 |
msgid "Display on all public <strong>post types</strong>."
|
486 |
msgstr ""
|
487 |
|
488 |
-
#: ../admin/includes/class-display-condition-callbacks.php:
|
489 |
-
#:
|
490 |
msgid "Choose the public post types on which to display the ad."
|
491 |
msgstr ""
|
492 |
|
493 |
-
#: ../admin/includes/class-display-condition-callbacks.php:
|
|
|
494 |
msgid "Display for all <strong>categories, tags and taxonomies</strong>."
|
495 |
msgstr ""
|
496 |
|
497 |
-
#: ../admin/includes/class-display-condition-callbacks.php:
|
|
|
498 |
msgid ""
|
499 |
"Choose terms from public categories, tags and other taxonomies a post must "
|
500 |
"belong to in order to have ads."
|
501 |
msgstr ""
|
502 |
|
503 |
-
#: ../admin/includes/class-display-condition-callbacks.php:
|
504 |
-
#: /admin/includes/class-display-condition-callbacks.php:
|
|
|
505 |
msgid "Hide from here"
|
506 |
msgstr ""
|
507 |
|
508 |
-
#: ../admin/includes/class-display-condition-callbacks.php:
|
|
|
509 |
msgid ""
|
510 |
"Choose the terms from public categories, tags and other taxonomies a post "
|
511 |
"must belong to hide the ad from it."
|
512 |
msgstr ""
|
513 |
|
514 |
-
#: ../admin/includes/class-display-condition-callbacks.php:
|
515 |
msgctxt "display the terms search field on ad edit page"
|
516 |
msgid "add more terms"
|
517 |
msgstr ""
|
518 |
|
519 |
-
#: ../admin/includes/class-display-condition-callbacks.php:
|
520 |
msgid "add more terms"
|
521 |
msgstr ""
|
522 |
|
523 |
-
#: ../admin/includes/class-display-condition-callbacks.php:
|
524 |
msgid "term name or id"
|
525 |
msgstr ""
|
526 |
|
527 |
-
#: ../admin/includes/class-display-condition-callbacks.php:
|
528 |
msgid "Display on all <strong>category archive pages</strong>."
|
529 |
msgstr ""
|
530 |
|
531 |
-
#: ../admin/includes/class-display-condition-callbacks.php:
|
532 |
msgid ""
|
533 |
"Choose the terms from public categories, tags and other taxonomies on "
|
534 |
"which's archive page ads can appear"
|
535 |
msgstr ""
|
536 |
|
537 |
-
#: ../admin/includes/class-display-condition-callbacks.php:
|
538 |
msgid ""
|
539 |
"Choose the terms from public categories, tags and other taxonomies on "
|
540 |
"which's archive pages ads are hidden."
|
541 |
msgstr ""
|
542 |
|
543 |
-
#: ../admin/includes/class-display-condition-callbacks.php:
|
544 |
msgid ""
|
545 |
"Display on all <strong>individual posts, pages</strong> and public post type "
|
546 |
"pages"
|
547 |
msgstr ""
|
548 |
|
549 |
-
#: ../admin/includes/class-display-condition-callbacks.php:
|
550 |
-
#: /includes/array_ad_conditions.php:
|
551 |
msgid ""
|
552 |
"Choose on which individual posts, pages and public post type pages you want "
|
553 |
"to display or hide ads."
|
554 |
msgstr ""
|
555 |
|
556 |
-
#: ../admin/includes/class-display-condition-callbacks.php:
|
557 |
msgid "What should happen with ads on the list of individual posts below?"
|
558 |
msgstr ""
|
559 |
|
560 |
-
#: ../admin/includes/class-display-condition-callbacks.php:
|
561 |
msgid "ignore the list"
|
562 |
msgstr ""
|
563 |
|
564 |
-
#: ../admin/includes/class-display-condition-callbacks.php:
|
565 |
msgid "display the ad only there"
|
566 |
msgstr ""
|
567 |
|
568 |
-
#: ../admin/includes/class-display-condition-callbacks.php:
|
569 |
msgid "hide the ad here"
|
570 |
msgstr ""
|
571 |
|
572 |
-
#: ../admin/includes/class-display-condition-callbacks.php:
|
573 |
msgid "Update warning"
|
574 |
msgstr ""
|
575 |
|
576 |
-
#: ../admin/includes/class-display-condition-callbacks.php:
|
577 |
msgid ""
|
578 |
"Due to some conflicts before version 1.2.6, it is from now on only possible "
|
579 |
"to choose either individual pages to include or exclude an ad, but not both "
|
@@ -581,44 +596,44 @@ msgid ""
|
|
581 |
"page. Please consider changing your setup for this ad."
|
582 |
msgstr ""
|
583 |
|
584 |
-
#: ../admin/includes/class-display-condition-callbacks.php:
|
585 |
msgid "Your old values are:"
|
586 |
msgstr ""
|
587 |
|
588 |
-
#: ../admin/includes/class-display-condition-callbacks.php:
|
589 |
msgid "Post IDs the ad is displayed on:"
|
590 |
msgstr ""
|
591 |
|
592 |
-
#: ../admin/includes/class-display-condition-callbacks.php:
|
593 |
msgid "Post IDs the ad is hidden from:"
|
594 |
msgstr ""
|
595 |
|
596 |
-
#: ../admin/includes/class-display-condition-callbacks.php:
|
597 |
msgid ""
|
598 |
"Below you find the pages the ad is displayed on. If this is ok, just save "
|
599 |
"the ad. If not, please update your settings."
|
600 |
msgstr ""
|
601 |
|
602 |
-
#: ../admin/includes/class-display-condition-callbacks.php:
|
603 |
msgid "new"
|
604 |
msgstr ""
|
605 |
|
606 |
-
#: ../admin/includes/class-display-condition-callbacks.php:
|
607 |
msgid "type the title"
|
608 |
msgstr ""
|
609 |
|
610 |
-
#: ../admin/includes/class-notices.php:
|
611 |
#, php-format
|
612 |
msgid ""
|
613 |
"You don’t seem to have an email address. Please use <a href=\"%s\" "
|
614 |
"target=\"_blank\">this form</a> to sign up."
|
615 |
msgstr ""
|
616 |
|
617 |
-
#: ../admin/includes/class-notices.php:
|
618 |
msgid "How embarrassing. The email server seems to be down. Please try again later."
|
619 |
msgstr ""
|
620 |
|
621 |
-
#: ../admin/includes/class-notices.php:
|
622 |
#, php-format
|
623 |
msgid ""
|
624 |
"Please check your email (%s) for the confirmation message. If you didn’t "
|
@@ -651,224 +666,231 @@ msgid "Responsive and Mobile ads"
|
|
651 |
msgstr ""
|
652 |
|
653 |
#: ../admin/includes/class-overview-widgets.php:59
|
654 |
-
msgid "
|
655 |
msgstr ""
|
656 |
|
657 |
#: ../admin/includes/class-overview-widgets.php:61
|
658 |
-
msgid "
|
659 |
msgstr ""
|
660 |
|
661 |
#: ../admin/includes/class-overview-widgets.php:63
|
|
|
|
|
|
|
|
|
662 |
msgid "Ad Slider"
|
663 |
msgstr ""
|
664 |
|
665 |
-
#: ../admin/includes/class-overview-widgets.php:
|
666 |
msgid "Get 2 <strong>free add-ons</strong> for joining the newsletter."
|
667 |
msgstr ""
|
668 |
|
669 |
-
#: ../admin/includes/class-overview-widgets.php:
|
670 |
msgid "Join now"
|
671 |
msgstr ""
|
672 |
|
673 |
-
#: ../admin/includes/class-overview-widgets.php:
|
674 |
msgid ""
|
675 |
"Learn more about how and <strong>how much you can earn with AdSense</strong> "
|
676 |
"and Advanced Ads from the dedicated newsletter group."
|
677 |
msgstr ""
|
678 |
|
679 |
-
#: ../admin/includes/class-overview-widgets.php:
|
680 |
-
#:
|
681 |
#: /admin/views/notices/subscribe.php:3
|
682 |
msgid "Subscribe me now"
|
683 |
msgstr ""
|
684 |
|
685 |
-
#: ../admin/includes/class-overview-widgets.php:
|
686 |
msgid "Get the first steps and more tutorials to your inbox."
|
687 |
msgstr ""
|
688 |
|
689 |
-
#: ../admin/includes/class-overview-widgets.php:
|
690 |
msgid "Send it now"
|
691 |
msgstr ""
|
692 |
|
693 |
-
#: ../admin/includes/class-overview-widgets.php:
|
694 |
msgid "Create your first ad"
|
695 |
msgstr ""
|
696 |
|
697 |
-
#: ../admin/includes/class-overview-widgets.php:
|
698 |
msgid ""
|
699 |
"Ad Groups contain ads and are currently used to rotate multiple ads on a "
|
700 |
"single spot."
|
701 |
msgstr ""
|
702 |
|
703 |
-
#: ../admin/includes/class-overview-widgets.php:
|
704 |
msgid "Create your first group"
|
705 |
msgstr ""
|
706 |
|
707 |
-
#: ../admin/includes/class-overview-widgets.php:
|
708 |
msgid "Ad Placements are the best way to manage where to display ads and groups."
|
709 |
msgstr ""
|
710 |
|
711 |
-
#: ../admin/includes/class-overview-widgets.php:
|
712 |
msgid "Create your first placement"
|
713 |
msgstr ""
|
714 |
|
715 |
-
#: ../admin/includes/class-overview-widgets.php:
|
716 |
msgid "Next steps"
|
717 |
msgstr ""
|
718 |
|
719 |
-
#: ../admin/includes/class-overview-widgets.php:
|
720 |
-
#, php-format
|
721 |
-
msgid "<a href=\"%s\" target=\"_blank\">Plugin Homepage</a>"
|
722 |
-
msgstr ""
|
723 |
-
|
724 |
-
#: ../admin/includes/class-overview-widgets.php:149
|
725 |
#, php-format
|
726 |
msgid "<a href=\"%s\" target=\"_blank\">Manual</a>"
|
727 |
msgstr ""
|
728 |
|
729 |
-
#: ../admin/includes/class-overview-widgets.php:
|
730 |
#, php-format
|
731 |
-
msgid "
|
732 |
msgstr ""
|
733 |
|
734 |
-
#: ../admin/includes/class-overview-widgets.php:
|
735 |
#, php-format
|
736 |
msgid "Vote for a <a href=\"%s\" target=\"_blank\">feature</a>"
|
737 |
msgstr ""
|
738 |
|
739 |
-
#: ../admin/includes/class-overview-widgets.php:
|
740 |
#, php-format
|
741 |
msgid ""
|
742 |
"Thank the developer with a ★★★★★ review on <a "
|
743 |
"href=\"%s\" target=\"_blank\">wordpress.org</a>"
|
744 |
msgstr ""
|
745 |
|
746 |
-
#: ../admin/includes/class-overview-widgets.php:
|
747 |
msgid ""
|
748 |
"Need help to set up and optimize your ads? Need custom coding on your site? "
|
749 |
"Ask me for a quote."
|
750 |
msgstr ""
|
751 |
|
752 |
-
#: ../admin/includes/class-overview-widgets.php:
|
753 |
#, php-format
|
754 |
msgid "Help with ads on %s"
|
755 |
msgstr ""
|
756 |
|
757 |
-
#: ../admin/includes/class-overview-widgets.php:
|
758 |
msgid "Get an offer"
|
759 |
msgstr ""
|
760 |
|
761 |
-
#: ../admin/includes/class-overview-widgets.php:
|
762 |
msgid "Ad management for advanced websites."
|
763 |
msgstr ""
|
764 |
|
765 |
-
#: ../admin/includes/class-overview-widgets.php:
|
766 |
msgid "Cache-busting"
|
767 |
msgstr ""
|
768 |
|
769 |
-
#: ../admin/includes/class-overview-widgets.php:
|
770 |
msgid "Advanced visitor conditions"
|
771 |
msgstr ""
|
772 |
|
773 |
-
#: ../admin/includes/class-overview-widgets.php:
|
774 |
msgid "Flash ads with fallback"
|
775 |
msgstr ""
|
776 |
|
777 |
-
#: ../admin/includes/class-overview-widgets.php:
|
778 |
msgid "Get Pro"
|
779 |
msgstr ""
|
780 |
|
781 |
-
#: ../admin/includes/class-overview-widgets.php:
|
782 |
msgid "Track the impressions of and clicks on your ads."
|
783 |
msgstr ""
|
784 |
|
785 |
-
#: ../admin/includes/class-overview-widgets.php:
|
786 |
msgid "2 methods to count impressions"
|
787 |
msgstr ""
|
788 |
|
789 |
-
#: ../admin/includes/class-overview-widgets.php:
|
790 |
msgid "beautiful stats for all or single ads"
|
791 |
msgstr ""
|
792 |
|
793 |
-
#: ../admin/includes/class-overview-widgets.php:
|
794 |
msgid "get stats for predefined and custom persiods"
|
795 |
msgstr ""
|
796 |
|
797 |
-
#: ../admin/includes/class-overview-widgets.php:
|
798 |
msgid "group stats by day, week or month"
|
799 |
msgstr ""
|
800 |
|
801 |
-
#: ../admin/includes/class-overview-widgets.php:
|
802 |
msgid "Get the Tracking add-on"
|
803 |
msgstr ""
|
804 |
|
805 |
-
#: ../admin/includes/class-overview-widgets.php:
|
806 |
msgid "Display ads based on the size of your visitor’s browser or device."
|
807 |
msgstr ""
|
808 |
|
809 |
-
#: ../admin/includes/class-overview-widgets.php:
|
810 |
msgid "set a range (from … to …) pixels for the browser size"
|
811 |
msgstr ""
|
812 |
|
813 |
-
#: ../admin/includes/class-overview-widgets.php:
|
814 |
msgid "set custom sizes for AdSense responsive ads"
|
815 |
msgstr ""
|
816 |
|
817 |
-
#: ../admin/includes/class-overview-widgets.php:
|
818 |
msgid "list all ads by their responsive settings"
|
819 |
msgstr ""
|
820 |
|
821 |
-
#: ../admin/includes/class-overview-widgets.php:
|
822 |
msgid "Get the Responsive add-on"
|
823 |
msgstr ""
|
824 |
|
825 |
-
#: ../admin/includes/class-overview-widgets.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
826 |
#: php:30
|
827 |
msgid ""
|
828 |
"Fix ads to the browser while users are scrolling and create best performing "
|
829 |
"anchor ads."
|
830 |
msgstr ""
|
831 |
|
832 |
-
#: ../admin/includes/class-overview-widgets.php:
|
833 |
msgid "position ads that don’t scroll with the screen"
|
834 |
msgstr ""
|
835 |
|
836 |
-
#: ../admin/includes/class-overview-widgets.php:
|
837 |
msgid "build anchor ads not only on mobile devices"
|
838 |
msgstr ""
|
839 |
|
840 |
-
#: ../admin/includes/class-overview-widgets.php:
|
841 |
#: php:32
|
842 |
msgid "Get the Sticky add-on"
|
843 |
msgstr ""
|
844 |
|
845 |
-
#: ../admin/includes/class-overview-widgets.php:
|
846 |
#: php:37
|
847 |
msgid "Display content and ads in layers and popups on custom events."
|
848 |
msgstr ""
|
849 |
|
850 |
-
#: ../admin/includes/class-overview-widgets.php:
|
851 |
msgid "display a popup after a user interaction like scrolling"
|
852 |
msgstr ""
|
853 |
|
854 |
-
#: ../admin/includes/class-overview-widgets.php:
|
855 |
msgid "optional backgroup overlay"
|
856 |
msgstr ""
|
857 |
|
858 |
-
#: ../admin/includes/class-overview-widgets.php:
|
859 |
msgid "allow users to close the popup"
|
860 |
msgstr ""
|
861 |
|
862 |
-
#: ../admin/includes/class-overview-widgets.php:
|
863 |
#: php:39
|
864 |
msgid "Get the PopUp and Layer add-on"
|
865 |
msgstr ""
|
866 |
|
867 |
-
#: ../admin/includes/class-overview-widgets.php:
|
868 |
msgid "Create a beautiful and simple slider from your ads."
|
869 |
msgstr ""
|
870 |
|
871 |
-
#: ../admin/includes/class-overview-widgets.php:
|
872 |
msgid "Get the Slider add-on"
|
873 |
msgstr ""
|
874 |
|
@@ -883,44 +905,44 @@ msgid ""
|
|
883 |
"Steps</a>."
|
884 |
msgstr ""
|
885 |
|
886 |
-
#: ../admin/includes/notices.php:
|
887 |
msgid ""
|
888 |
"Thank you for activating <strong>Advanced Ads</strong>. Would you like to "
|
889 |
"receive the first steps via email?"
|
890 |
msgstr ""
|
891 |
|
892 |
-
#: ../admin/includes/notices.php:
|
893 |
msgid "Yes, send it"
|
894 |
msgstr ""
|
895 |
|
896 |
-
#: ../admin/includes/notices.php:
|
897 |
msgid ""
|
898 |
"Thank you for using <strong>Advanced Ads</strong>. Stay informed and receive "
|
899 |
"<strong>2 free add-ons</strong> for joining the newsletter."
|
900 |
msgstr ""
|
901 |
|
902 |
-
#: ../admin/includes/notices.php:
|
903 |
msgid "Add me now"
|
904 |
msgstr ""
|
905 |
|
906 |
-
#: ../admin/includes/notices.php:
|
907 |
msgid ""
|
908 |
"Learn more about how and <strong>how much you can earn with AdSense</strong> "
|
909 |
"and Advanced Ads from my dedicated newsletter."
|
910 |
msgstr ""
|
911 |
|
912 |
-
#: ../admin/includes/notices.php:
|
913 |
msgid ""
|
914 |
"One or more license keys for <strong>Advanced Ads add-ons are invalid or "
|
915 |
"missing</strong>."
|
916 |
msgstr ""
|
917 |
|
918 |
-
#: ../admin/includes/notices.php:
|
919 |
#, php-format
|
920 |
msgid "Please add valid license keys <a href=\"%s\">here</a>."
|
921 |
msgstr ""
|
922 |
|
923 |
-
#: ../admin/includes/notices.php:
|
924 |
#, php-format
|
925 |
msgid ""
|
926 |
"One or more licenses for your <strong>Advanced Ads add-ons are expiring "
|
@@ -929,7 +951,7 @@ msgid ""
|
|
929 |
"target=\"_blank\">the add-on page</a>."
|
930 |
msgstr ""
|
931 |
|
932 |
-
#: ../admin/includes/notices.php:
|
933 |
#, php-format
|
934 |
msgid ""
|
935 |
"<strong>Advanced Ads</strong> license(s) expired. Support and updates are "
|
@@ -937,6 +959,18 @@ msgid ""
|
|
937 |
"information."
|
938 |
msgstr ""
|
939 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
940 |
#: ../admin/includes/shortcode-creator-l10n.php:10
|
941 |
msgctxt "shortcode creator"
|
942 |
msgid "Add an ad"
|
@@ -952,52 +986,76 @@ msgctxt "shortcode creator"
|
|
952 |
msgid "Cancel"
|
953 |
msgstr ""
|
954 |
|
955 |
-
#: ../admin/views/ad-display-metabox.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
956 |
msgid "Choose where to display the ad and where to hide it."
|
957 |
msgstr ""
|
958 |
|
959 |
-
#: ../admin/views/ad-display-metabox.php:
|
960 |
msgid "Display ad everywhere"
|
961 |
msgstr ""
|
962 |
|
963 |
-
#: ../admin/views/ad-display-metabox.php:
|
964 |
msgid "Set display conditions"
|
965 |
msgstr ""
|
966 |
|
967 |
-
#: ../admin/views/ad-display-metabox.php:
|
968 |
-
msgid "If you want to display the ad everywhere, don't do anything here. "
|
969 |
-
msgstr ""
|
970 |
-
|
971 |
-
#: ../admin/views/ad-display-metabox.php:16
|
972 |
msgid "The fewer conditions you enter, the better the performance will be."
|
973 |
msgstr ""
|
974 |
|
975 |
-
#: ../admin/views/ad-display-metabox.php:
|
976 |
#, php-format
|
977 |
msgid ""
|
978 |
"Learn more about display conditions from the <a href=\"%s\" "
|
979 |
"target=\"_blank\">manual</a>."
|
980 |
msgstr ""
|
981 |
|
982 |
-
#: ../admin/views/ad-display-metabox.php:
|
983 |
-
msgid "
|
984 |
msgstr ""
|
985 |
|
986 |
-
#: ../admin/views/ad-display-metabox.php:
|
987 |
msgctxt "button label"
|
988 |
msgid "on"
|
989 |
msgstr ""
|
990 |
|
991 |
-
#: ../admin/views/ad-display-metabox.php:
|
992 |
msgctxt "button label"
|
993 |
msgid "off"
|
994 |
msgstr ""
|
995 |
|
996 |
-
#: ../admin/views/ad-display-metabox.php:
|
997 |
msgid "show debug output"
|
998 |
msgstr ""
|
999 |
|
1000 |
-
#: ../admin/views/ad-display-metabox.php:
|
1001 |
msgid "Values saved for this ad in the database (post metas)"
|
1002 |
msgstr ""
|
1003 |
|
@@ -1346,15 +1404,15 @@ msgid ""
|
|
1346 |
"with a space"
|
1347 |
msgstr ""
|
1348 |
|
1349 |
-
#: ../admin/views/ad-parameters-metabox.php:25 ../classes/ad_ajax_callbacks.php:
|
1350 |
msgid "size:"
|
1351 |
msgstr ""
|
1352 |
|
1353 |
-
#: ../admin/views/ad-parameters-metabox.php:26 ../classes/ad_ajax_callbacks.php:
|
1354 |
msgid "width"
|
1355 |
msgstr ""
|
1356 |
|
1357 |
-
#: ../admin/views/ad-parameters-metabox.php:27 ../classes/ad_ajax_callbacks.php:
|
1358 |
msgid "height"
|
1359 |
msgstr ""
|
1360 |
|
@@ -1413,10 +1471,6 @@ msgid ""
|
|
1413 |
"if dynamic features get cached."
|
1414 |
msgstr ""
|
1415 |
|
1416 |
-
#: ../admin/views/ad-visitor-metabox.php:34
|
1417 |
-
msgid "New condition"
|
1418 |
-
msgstr ""
|
1419 |
-
|
1420 |
#: ../admin/views/ad-visitor-metabox.php:37
|
1421 |
msgctxt "visitor condition connector"
|
1422 |
msgid "and"
|
@@ -1427,14 +1481,6 @@ msgctxt "visitor condition connector"
|
|
1427 |
msgid "or"
|
1428 |
msgstr ""
|
1429 |
|
1430 |
-
#: ../admin/views/ad-visitor-metabox.php:41
|
1431 |
-
msgid "-- choose a condition --"
|
1432 |
-
msgstr ""
|
1433 |
-
|
1434 |
-
#: ../admin/views/ad-visitor-metabox.php:46
|
1435 |
-
msgid "add"
|
1436 |
-
msgstr ""
|
1437 |
-
|
1438 |
#: ../admin/views/ad-visitor-metabox.php:50
|
1439 |
#, php-format
|
1440 |
msgid ""
|
@@ -1474,6 +1520,45 @@ msgid ""
|
|
1474 |
"understand them, but there is nothing to do here yet."
|
1475 |
msgstr ""
|
1476 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1477 |
#: ../admin/views/intro.php:18
|
1478 |
msgid "5-Star Usability"
|
1479 |
msgstr ""
|
@@ -1542,8 +1627,8 @@ msgstr ""
|
|
1542 |
#: ../admin/views/intro.php:79
|
1543 |
#, php-format
|
1544 |
msgid ""
|
1545 |
-
"Get started by creating an ad <a href=\"$
|
1546 |
-
"watch the <a href=\"$
|
1547 |
msgstr ""
|
1548 |
|
1549 |
#: ../admin/views/intro.php:82
|
@@ -2070,6 +2155,28 @@ msgid ""
|
|
2070 |
"misfortunate formats in forms, but should not damage features."
|
2071 |
msgstr ""
|
2072 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2073 |
#: ../classes/EDD_SL_Plugin_Updater.php:177
|
2074 |
#, php-format
|
2075 |
msgid ""
|
@@ -2101,78 +2208,74 @@ msgstr ""
|
|
2101 |
msgid "Display ads only on mobile devices or hide them."
|
2102 |
msgstr ""
|
2103 |
|
2104 |
-
#: ../classes/visitor-conditions.php:
|
2105 |
msgid "logged in visitor"
|
2106 |
msgstr ""
|
2107 |
|
2108 |
-
#: ../classes/visitor-conditions.php:
|
2109 |
msgid "Whether the visitor has to be logged in or not in order to see the ads."
|
2110 |
msgstr ""
|
2111 |
|
2112 |
-
#: ../classes/visitor-conditions.php:
|
2113 |
#, php-format
|
2114 |
msgid ""
|
2115 |
"Pro: Display ads by the available space on the device using the <a href=\"%s\" "
|
2116 |
"target=\"_blank\">Responsive add-on</a>"
|
2117 |
msgstr ""
|
2118 |
|
2119 |
-
#: ../classes/visitor-conditions.php:
|
2120 |
-
msgid "
|
2121 |
-
msgstr ""
|
2122 |
-
|
2123 |
-
#: ../classes/visitor-conditions.php:103
|
2124 |
-
msgid "is not"
|
2125 |
msgstr ""
|
2126 |
|
2127 |
-
#: ../classes/visitor-conditions.php:
|
2128 |
msgid "equal"
|
2129 |
msgstr ""
|
2130 |
|
2131 |
-
#: ../classes/visitor-conditions.php:
|
2132 |
msgid "equal or higher"
|
2133 |
msgstr ""
|
2134 |
|
2135 |
-
#: ../classes/visitor-conditions.php:
|
2136 |
msgid "equal or lower"
|
2137 |
msgstr ""
|
2138 |
|
2139 |
-
#: ../classes/visitor-conditions.php:
|
2140 |
msgid "contains"
|
2141 |
msgstr ""
|
2142 |
|
2143 |
-
#: ../classes/visitor-conditions.php:
|
2144 |
msgid "starts with"
|
2145 |
msgstr ""
|
2146 |
|
2147 |
-
#: ../classes/visitor-conditions.php:
|
2148 |
msgid "ends with"
|
2149 |
msgstr ""
|
2150 |
|
2151 |
-
#: ../classes/visitor-conditions.php:
|
2152 |
msgid "matches"
|
2153 |
msgstr ""
|
2154 |
|
2155 |
-
#: ../classes/visitor-conditions.php:
|
2156 |
msgid "matches regex"
|
2157 |
msgstr ""
|
2158 |
|
2159 |
-
#: ../classes/visitor-conditions.php:
|
2160 |
msgid "does not contain"
|
2161 |
msgstr ""
|
2162 |
|
2163 |
-
#: ../classes/visitor-conditions.php:
|
2164 |
msgid "does not start with"
|
2165 |
msgstr ""
|
2166 |
|
2167 |
-
#: ../classes/visitor-conditions.php:
|
2168 |
msgid "does not end with"
|
2169 |
msgstr ""
|
2170 |
|
2171 |
-
#: ../classes/visitor-conditions.php:
|
2172 |
msgid "does not match"
|
2173 |
msgstr ""
|
2174 |
|
2175 |
-
#: ../classes/visitor-conditions.php:
|
2176 |
msgid "does not match regex"
|
2177 |
msgstr ""
|
2178 |
|
@@ -2184,134 +2287,134 @@ msgstr ""
|
|
2184 |
msgid "Title:"
|
2185 |
msgstr ""
|
2186 |
|
2187 |
-
#: ../includes/array_ad_conditions.php:
|
2188 |
msgid "Post Types"
|
2189 |
msgstr ""
|
2190 |
|
2191 |
-
#: ../includes/array_ad_conditions.php:
|
2192 |
msgid "Categories, Tags and Taxonomies"
|
2193 |
msgstr ""
|
2194 |
|
2195 |
-
#: ../includes/array_ad_conditions.php:
|
2196 |
msgid ""
|
2197 |
"Choose terms from public category, tag and other taxonomies a post must "
|
2198 |
"belong to in order to have ads."
|
2199 |
msgstr ""
|
2200 |
|
2201 |
-
#: ../includes/array_ad_conditions.php:
|
2202 |
msgid "Category Archives"
|
2203 |
msgstr ""
|
2204 |
|
2205 |
-
#: ../includes/array_ad_conditions.php:
|
2206 |
msgid "comma seperated IDs of category archives"
|
2207 |
msgstr ""
|
2208 |
|
2209 |
-
#: ../includes/array_ad_conditions.php:
|
2210 |
msgid "Individual Posts, Pages and Public Post Types"
|
2211 |
msgstr ""
|
2212 |
|
2213 |
-
#: ../includes/array_ad_conditions.php:
|
2214 |
msgid "Home Page"
|
2215 |
msgstr ""
|
2216 |
|
2217 |
-
#: ../includes/array_ad_conditions.php:
|
2218 |
msgid "show on Home page"
|
2219 |
msgstr ""
|
2220 |
|
2221 |
-
#: ../includes/array_ad_conditions.php:
|
2222 |
msgid "Singular Pages"
|
2223 |
msgstr ""
|
2224 |
|
2225 |
-
#: ../includes/array_ad_conditions.php:
|
2226 |
msgid "show on singular pages/posts"
|
2227 |
msgstr ""
|
2228 |
|
2229 |
-
#: ../includes/array_ad_conditions.php:
|
2230 |
msgid "Archive Pages"
|
2231 |
msgstr ""
|
2232 |
|
2233 |
-
#: ../includes/array_ad_conditions.php:
|
2234 |
msgid "show on any type of archive page (category, tag, author and date)"
|
2235 |
msgstr ""
|
2236 |
|
2237 |
-
#: ../includes/array_ad_conditions.php:
|
2238 |
msgid "Search Results"
|
2239 |
msgstr ""
|
2240 |
|
2241 |
-
#: ../includes/array_ad_conditions.php:
|
2242 |
msgid "show on search result pages"
|
2243 |
msgstr ""
|
2244 |
|
2245 |
-
#: ../includes/array_ad_conditions.php:
|
2246 |
msgid "404 Page"
|
2247 |
msgstr ""
|
2248 |
|
2249 |
-
#: ../includes/array_ad_conditions.php:
|
2250 |
msgid "show on 404 error page"
|
2251 |
msgstr ""
|
2252 |
|
2253 |
-
#: ../includes/array_ad_conditions.php:
|
2254 |
msgid "Attachment Pages"
|
2255 |
msgstr ""
|
2256 |
|
2257 |
-
#: ../includes/array_ad_conditions.php:
|
2258 |
msgid "show on attachment pages"
|
2259 |
msgstr ""
|
2260 |
|
2261 |
-
#: ../includes/array_ad_conditions.php:
|
2262 |
msgid "Secondary Queries"
|
2263 |
msgstr ""
|
2264 |
|
2265 |
-
#: ../includes/array_ad_conditions.php:
|
2266 |
msgid "allow ads in secondary queries"
|
2267 |
msgstr ""
|
2268 |
|
2269 |
-
#: ../modules/ad-blocker/admin/admin.php:
|
2270 |
msgid "The asset folder was rebuilt successfully"
|
2271 |
msgstr ""
|
2272 |
|
2273 |
-
#: ../modules/ad-blocker/admin/admin.php:
|
2274 |
msgid "Ad blocker fix"
|
2275 |
msgstr ""
|
2276 |
|
2277 |
-
#: ../modules/ad-blocker/admin/admin.php:
|
2278 |
msgid "There is no writable upload folder"
|
2279 |
msgstr ""
|
2280 |
|
2281 |
-
#: ../modules/ad-blocker/admin/admin.php:
|
2282 |
#, php-format
|
2283 |
msgid "Unable to rename \"%s\" directory"
|
2284 |
msgstr ""
|
2285 |
|
2286 |
-
#: ../modules/ad-blocker/admin/admin.php:
|
2287 |
-
#: php:
|
2288 |
#, php-format
|
2289 |
msgid "Unable to copy assets to the \"%s\" directory"
|
2290 |
msgstr ""
|
2291 |
|
2292 |
-
#: ../modules/ad-blocker/admin/admin.php:
|
2293 |
-
#: php:
|
2294 |
#, php-format
|
2295 |
msgid "We do not have direct write access to the \"%s\" directory"
|
2296 |
msgstr ""
|
2297 |
|
2298 |
-
#: ../modules/ad-blocker/admin/admin.php:
|
2299 |
msgid "There are no assets to copy"
|
2300 |
msgstr ""
|
2301 |
|
2302 |
-
#: ../modules/ad-blocker/admin/admin.php:
|
2303 |
#, php-format
|
2304 |
msgid ""
|
2305 |
"Unable to create \"%s\" directory. Is its parent directory writable by the "
|
2306 |
"server?"
|
2307 |
msgstr ""
|
2308 |
|
2309 |
-
#: ../modules/ad-blocker/admin/admin.php:
|
2310 |
#, php-format
|
2311 |
msgid "Unable to copy files to %s"
|
2312 |
msgstr ""
|
2313 |
|
2314 |
-
#: ../modules/ad-blocker/admin/admin.php:
|
2315 |
msgid ""
|
2316 |
"Prevents ad block software from breaking your website when blocking asset "
|
2317 |
"files (.js, .css)."
|
@@ -2591,14 +2694,15 @@ msgstr ""
|
|
2591 |
msgid "Parent Ad"
|
2592 |
msgstr ""
|
2593 |
|
2594 |
-
#: ../admin/class-advanced-ads-admin.php:
|
2595 |
msgid "Display Conditions"
|
2596 |
msgstr "Anzeigebedingungen"
|
2597 |
|
2598 |
-
#: ../admin/class-advanced-ads-admin.php:
|
2599 |
msgid "(display to all)"
|
2600 |
msgstr "(für alle anzeigen)"
|
2601 |
|
2602 |
-
#: ../admin/includes/class-display-condition-callbacks.php:
|
|
|
2603 |
msgid "Display here"
|
2604 |
msgstr "Hier anzeigen"
|
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-28 20:07+0100\n"
|
6 |
+
"PO-Revision-Date: Wed Jan 27 2016 07:35:03 GMT+0100 (CET)\n"
|
7 |
"Last-Translator: admin <post@webzunft.de>\n"
|
8 |
"Language-Team: webgilde <thomas.maier@webgilde.com>\n"
|
9 |
"Language: Unknown locale\n"
|
42 |
msgid "http://webgilde.com"
|
43 |
msgstr ""
|
44 |
|
45 |
+
#: ../admin/class-advanced-ads-admin.php:260
|
46 |
msgid "Overview"
|
47 |
msgstr ""
|
48 |
|
49 |
+
#: ../admin/class-advanced-ads-admin.php:264 ../admin/class-advanced-ads-admin.
|
50 |
+
#: php:264 ../admin/includes/class-shortcode-creator.php:77 ../admin/views/ad-
|
51 |
#: group-list-form-row.php:28 ../admin/views/ad-group-list-header.php:5 ..
|
52 |
#: /admin/views/placements.php:80 ../admin/views/placements.php:184 ..
|
53 |
#: /classes/widget.php:89 ../public/class-advanced-ads.php:563
|
54 |
msgid "Ads"
|
55 |
msgstr ""
|
56 |
|
57 |
+
#: ../admin/class-advanced-ads-admin.php:268 ../admin/includes/class-shortcode-
|
58 |
#: creator.php:84 ../admin/views/placements.php:73 ../admin/views/placements.php:
|
59 |
#: 177 ../classes/widget.php:82
|
60 |
msgid "Ad Groups"
|
61 |
msgstr ""
|
62 |
|
63 |
+
#: ../admin/class-advanced-ads-admin.php:268 ../public/class-advanced-ads.php:536
|
64 |
msgid "Groups"
|
65 |
msgstr ""
|
66 |
|
67 |
+
#: ../admin/class-advanced-ads-admin.php:273 ../admin/views/debug.php:14
|
68 |
msgid "Ad Placements"
|
69 |
msgstr ""
|
70 |
|
71 |
+
#: ../admin/class-advanced-ads-admin.php:273 ../admin/includes/class-shortcode-
|
72 |
#: creator.php:91 ../admin/views/placements.php:18 ../classes/widget.php:75
|
73 |
msgid "Placements"
|
74 |
msgstr ""
|
75 |
|
76 |
+
#: ../admin/class-advanced-ads-admin.php:277
|
77 |
msgid "Advanced Ads Settings"
|
78 |
msgstr ""
|
79 |
|
80 |
+
#: ../admin/class-advanced-ads-admin.php:277 ../admin/class-advanced-ads-admin.
|
81 |
+
#: php:504 ../admin/views/debug.php:11
|
82 |
msgid "Settings"
|
83 |
msgstr ""
|
84 |
|
85 |
+
#: ../admin/class-advanced-ads-admin.php:280
|
86 |
msgid "Advanced Ads Debugging"
|
87 |
msgstr ""
|
88 |
|
89 |
+
#: ../admin/class-advanced-ads-admin.php:280
|
90 |
msgid "Debug"
|
91 |
msgstr ""
|
92 |
|
93 |
+
#: ../admin/class-advanced-ads-admin.php:284 ../admin/class-advanced-ads-admin.
|
94 |
+
#: php:284
|
95 |
msgid "Advanced Ads Intro"
|
96 |
msgstr ""
|
97 |
|
98 |
+
#: ../admin/class-advanced-ads-admin.php:288 ../admin/class-advanced-ads-admin.
|
99 |
+
#: php:288 ../admin/class-advanced-ads-admin.php:1851
|
100 |
msgid "Support"
|
101 |
msgstr ""
|
102 |
|
103 |
+
#: ../admin/class-advanced-ads-admin.php:418 ../admin/class-advanced-ads-admin.
|
104 |
+
#: php:445
|
105 |
msgid "Sorry, you are not allowed to access this feature."
|
106 |
msgstr ""
|
107 |
|
108 |
+
#: ../admin/class-advanced-ads-admin.php:431
|
109 |
msgid ""
|
110 |
"You attempted to edit an ad group that doesn’t exist. Perhaps it was "
|
111 |
"deleted?"
|
112 |
msgstr ""
|
113 |
|
114 |
+
#: ../admin/class-advanced-ads-admin.php:546
|
115 |
msgid "Ad Type"
|
116 |
msgstr ""
|
117 |
|
118 |
+
#: ../admin/class-advanced-ads-admin.php:549
|
119 |
msgid "Ad Parameters"
|
120 |
msgstr ""
|
121 |
|
122 |
+
#: ../admin/class-advanced-ads-admin.php:552
|
123 |
msgid "Layout / Output"
|
124 |
msgstr ""
|
125 |
|
126 |
+
#: ../admin/class-advanced-ads-admin.php:558
|
127 |
msgid "Visitor Conditions"
|
128 |
msgstr ""
|
129 |
|
130 |
+
#: ../admin/class-advanced-ads-admin.php:769 ../admin/class-advanced-ads-admin.
|
131 |
+
#: php:770
|
132 |
msgid "Ad updated."
|
133 |
msgstr ""
|
134 |
|
135 |
#. translators: %s: date and time of the revision
|
136 |
+
#: ../admin/class-advanced-ads-admin.php:772
|
137 |
#, php-format
|
138 |
msgid "Ad restored to revision from %s"
|
139 |
msgstr ""
|
140 |
|
141 |
+
#: ../admin/class-advanced-ads-admin.php:773
|
142 |
msgid "Ad published."
|
143 |
msgstr ""
|
144 |
|
145 |
+
#: ../admin/class-advanced-ads-admin.php:774
|
146 |
msgid "Ad saved."
|
147 |
msgstr ""
|
148 |
|
149 |
+
#: ../admin/class-advanced-ads-admin.php:775
|
150 |
msgid "Ad submitted."
|
151 |
msgstr ""
|
152 |
|
153 |
+
#: ../admin/class-advanced-ads-admin.php:777
|
154 |
#, php-format
|
155 |
msgid "Ad scheduled for: <strong>%1$s</strong>."
|
156 |
msgstr ""
|
157 |
|
158 |
#. translators: Publish box date format, see http://php.net/date
|
159 |
+
#: ../admin/class-advanced-ads-admin.php:779
|
160 |
msgid "M j, Y @ G:i"
|
161 |
msgstr ""
|
162 |
|
163 |
+
#: ../admin/class-advanced-ads-admin.php:781
|
164 |
msgid "Ad draft updated."
|
165 |
msgstr ""
|
166 |
|
167 |
+
#: ../admin/class-advanced-ads-admin.php:800
|
168 |
#, php-format
|
169 |
msgid "%s ad updated."
|
170 |
msgid_plural "%s ads updated."
|
171 |
msgstr[0] ""
|
172 |
msgstr[1] ""
|
173 |
|
174 |
+
#: ../admin/class-advanced-ads-admin.php:801
|
175 |
#, php-format
|
176 |
msgid "%s ad not updated, somebody is editing it."
|
177 |
msgid_plural "%s ads not updated, somebody is editing them."
|
178 |
msgstr[0] ""
|
179 |
msgstr[1] ""
|
180 |
|
181 |
+
#: ../admin/class-advanced-ads-admin.php:802
|
182 |
#, php-format
|
183 |
msgid "%s ad permanently deleted."
|
184 |
msgid_plural "%s ads permanently deleted."
|
185 |
msgstr[0] ""
|
186 |
msgstr[1] ""
|
187 |
|
188 |
+
#: ../admin/class-advanced-ads-admin.php:803
|
189 |
#, php-format
|
190 |
msgid "%s ad moved to the Trash."
|
191 |
msgid_plural "%s ads moved to the Trash."
|
192 |
msgstr[0] ""
|
193 |
msgstr[1] ""
|
194 |
|
195 |
+
#: ../admin/class-advanced-ads-admin.php:804
|
196 |
#, php-format
|
197 |
msgid "%s ad restored from the Trash."
|
198 |
msgid_plural "%s ads restored from the Trash."
|
199 |
msgstr[0] ""
|
200 |
msgstr[1] ""
|
201 |
|
202 |
+
#: ../admin/class-advanced-ads-admin.php:839 ../admin/views/settings.php:12
|
203 |
msgid "General"
|
204 |
msgstr ""
|
205 |
|
206 |
+
#: ../admin/class-advanced-ads-admin.php:851 ../admin/class-advanced-ads-admin.
|
207 |
+
#: php:955
|
208 |
msgid "Licenses"
|
209 |
msgstr ""
|
210 |
|
211 |
+
#: ../admin/class-advanced-ads-admin.php:862
|
212 |
msgid "Disable ads"
|
213 |
msgstr ""
|
214 |
|
215 |
+
#: ../admin/class-advanced-ads-admin.php:870
|
216 |
msgid "Hide ads for logged in users"
|
217 |
msgstr ""
|
218 |
|
219 |
+
#: ../admin/class-advanced-ads-admin.php:878
|
220 |
msgid "Use advanced JavaScript"
|
221 |
msgstr ""
|
222 |
|
223 |
+
#: ../admin/class-advanced-ads-admin.php:886
|
224 |
msgid "Unlimited ad injection"
|
225 |
msgstr ""
|
226 |
|
227 |
+
#: ../admin/class-advanced-ads-admin.php:894
|
228 |
msgid "Priority of content injection filter"
|
229 |
msgstr ""
|
230 |
|
231 |
+
#: ../admin/class-advanced-ads-admin.php:902
|
232 |
msgid "Hide ads from bots"
|
233 |
msgstr ""
|
234 |
|
235 |
+
#: ../admin/class-advanced-ads-admin.php:910
|
236 |
msgid "Disable notices"
|
237 |
msgstr ""
|
238 |
|
239 |
+
#: ../admin/class-advanced-ads-admin.php:918
|
240 |
msgid "ID prefix"
|
241 |
msgstr ""
|
242 |
|
243 |
+
#: ../admin/class-advanced-ads-admin.php:926
|
244 |
msgid "Remove Widget ID"
|
245 |
msgstr ""
|
246 |
|
247 |
+
#: ../admin/class-advanced-ads-admin.php:934
|
248 |
msgid "Allow editors to manage ads"
|
249 |
msgstr ""
|
250 |
|
251 |
+
#: ../admin/class-advanced-ads-admin.php:1010
|
252 |
msgid "Subscriber"
|
253 |
msgstr ""
|
254 |
|
255 |
+
#: ../admin/class-advanced-ads-admin.php:1011
|
256 |
msgid "Contributor"
|
257 |
msgstr ""
|
258 |
|
259 |
+
#: ../admin/class-advanced-ads-admin.php:1012
|
260 |
msgid "Author"
|
261 |
msgstr ""
|
262 |
|
263 |
+
#: ../admin/class-advanced-ads-admin.php:1013
|
264 |
msgid "Editor"
|
265 |
msgstr ""
|
266 |
|
267 |
+
#: ../admin/class-advanced-ads-admin.php:1014
|
268 |
msgid "Admin"
|
269 |
msgstr ""
|
270 |
|
271 |
+
#: ../admin/class-advanced-ads-admin.php:1022
|
272 |
msgid "Choose the lowest role a user must have in order to not see any ads."
|
273 |
msgstr ""
|
274 |
|
275 |
+
#: ../admin/class-advanced-ads-admin.php:1036
|
276 |
msgid ""
|
277 |
"<strong>notice: </strong>the file is currently enabled by an add-on that "
|
278 |
"needs it."
|
279 |
msgstr ""
|
280 |
|
281 |
+
#: ../admin/class-advanced-ads-admin.php:1039
|
282 |
#, php-format
|
283 |
msgid ""
|
284 |
"Enable advanced JavaScript functions (<a href=\"%s\" target=\"_blank\">here</a>)."
|
286 |
"from this file."
|
287 |
msgstr ""
|
288 |
|
289 |
+
#: ../admin/class-advanced-ads-admin.php:1052
|
290 |
msgid ""
|
291 |
"Some plugins and themes trigger ad injection where it shouldn’t happen. "
|
292 |
"Therefore, Advanced Ads ignores injected placements on non-singular pages "
|
295 |
"on archive pages AT YOUR OWN RISK."
|
296 |
msgstr ""
|
297 |
|
298 |
+
#: ../admin/class-advanced-ads-admin.php:1068
|
299 |
msgid ""
|
300 |
"Please check your post content. A priority of 10 and below might cause "
|
301 |
"issues (wpautop function might run twice)."
|
302 |
msgstr ""
|
303 |
|
304 |
+
#: ../admin/class-advanced-ads-admin.php:1070
|
305 |
msgid ""
|
306 |
"Play with this value in order to change the priority of the injected ads "
|
307 |
"compared to other auto injected elements in the post content."
|
308 |
msgstr ""
|
309 |
|
310 |
+
#: ../admin/class-advanced-ads-admin.php:1084
|
311 |
#, php-format
|
312 |
msgid ""
|
313 |
"Hide ads from crawlers, bots and empty user agents. Also prevents counting "
|
315 |
"Add-On</a>."
|
316 |
msgstr ""
|
317 |
|
318 |
+
#: ../admin/class-advanced-ads-admin.php:1085
|
319 |
msgid ""
|
320 |
"Disabling this option only makes sense if your ads contain content you want "
|
321 |
"to display to bots (like search engines) or your site is cached and bots "
|
322 |
"could create a cached version without the ads."
|
323 |
msgstr ""
|
324 |
|
325 |
+
#: ../admin/class-advanced-ads-admin.php:1098
|
326 |
msgid ""
|
327 |
"Disable internal notices like tips, tutorials, email newsletters and update "
|
328 |
"notices. Disabling notices is recommended if you run multiple blogs with "
|
329 |
"Advanced Ads already."
|
330 |
msgstr ""
|
331 |
|
332 |
+
#: ../admin/class-advanced-ads-admin.php:1120
|
333 |
msgid ""
|
334 |
"Prefix of class or id attributes in the frontend. Change it if you don’t "
|
335 |
"want <strong>ad blockers</strong> to mark these blocks as ads.<br/>You might "
|
336 |
"need to <strong>rewrite css rules afterwards</strong>."
|
337 |
msgstr ""
|
338 |
|
339 |
+
#: ../admin/class-advanced-ads-admin.php:1141
|
340 |
msgid ""
|
341 |
"Remove the ID attribute from widgets in order to not make them an easy "
|
342 |
"target of ad blockers."
|
343 |
msgstr ""
|
344 |
|
345 |
+
#: ../admin/class-advanced-ads-admin.php:1160
|
346 |
msgid "Allow editors to also manage and publish ads."
|
347 |
msgstr ""
|
348 |
|
349 |
+
#: ../admin/class-advanced-ads-admin.php:1161
|
350 |
+
#, php-format
|
351 |
+
msgid ""
|
352 |
+
"You can assign different ad-related roles on a user basis with <a href=\"%s\" "
|
353 |
+
"target=\"_blank\">Advanced Ads Pro</a>."
|
354 |
+
msgstr ""
|
355 |
+
|
356 |
+
#: ../admin/class-advanced-ads-admin.php:1248
|
357 |
msgid "Ad Details"
|
358 |
msgstr ""
|
359 |
|
360 |
+
#: ../admin/class-advanced-ads-admin.php:1249
|
361 |
msgid "Ad Planning"
|
362 |
msgstr ""
|
363 |
|
364 |
+
#: ../admin/class-advanced-ads-admin.php:1384
|
365 |
msgid "Ad Settings"
|
366 |
msgstr ""
|
367 |
|
368 |
+
#: ../admin/class-advanced-ads-admin.php:1463 ../admin/views/overview.php:23
|
369 |
msgid "Ads Dashboard"
|
370 |
msgstr ""
|
371 |
|
372 |
+
#: ../admin/class-advanced-ads-admin.php:1475
|
373 |
msgid "From the ad optimization universe"
|
374 |
msgstr ""
|
375 |
|
376 |
+
#: ../admin/class-advanced-ads-admin.php:1484
|
377 |
msgid "Advanced Ads Tutorials"
|
378 |
msgstr ""
|
379 |
|
380 |
+
#: ../admin/class-advanced-ads-admin.php:1495
|
381 |
#, php-format
|
382 |
msgid "%d ads – <a href=\"%s\">manage</a> - <a href=\"%s\">new</a>"
|
383 |
msgstr ""
|
384 |
|
385 |
+
#: ../admin/class-advanced-ads-admin.php:1506
|
386 |
msgid "plugin manual and homepage"
|
387 |
msgstr ""
|
388 |
|
389 |
+
#: ../admin/class-advanced-ads-admin.php:1513
|
390 |
msgid "Get the tutorial via email"
|
391 |
msgstr ""
|
392 |
|
393 |
+
#: ../admin/class-advanced-ads-admin.php:1520
|
394 |
msgid "Get AdSense tips via email"
|
395 |
msgstr ""
|
396 |
|
397 |
+
#: ../admin/class-advanced-ads-admin.php:1601
|
398 |
msgid "Error while trying to register the license. Please contact support."
|
399 |
msgstr ""
|
400 |
|
401 |
+
#: ../admin/class-advanced-ads-admin.php:1607
|
402 |
msgid "Please enter and save a valid license key first."
|
403 |
msgstr ""
|
404 |
|
405 |
+
#: ../admin/class-advanced-ads-admin.php:1633
|
406 |
#, php-format
|
407 |
msgid "License is invalid. Reason: %s"
|
408 |
msgstr ""
|
409 |
|
410 |
+
#: ../admin/class-advanced-ads-admin.php:1677
|
411 |
msgid "Error while trying to disable the license. Please contact support."
|
412 |
msgstr ""
|
413 |
|
414 |
+
#: ../admin/class-advanced-ads-admin.php:1708
|
415 |
msgid "License couldn’t be deactivated. Please try again later or contact support."
|
416 |
msgstr ""
|
417 |
|
418 |
+
#: ../admin/class-advanced-ads-admin.php:1855
|
419 |
+
msgid "Add-Ons"
|
420 |
+
msgstr ""
|
421 |
+
|
422 |
#: ../admin/includes/class-ad-groups-list.php:156
|
423 |
msgid "Ad weight"
|
424 |
msgstr ""
|
492 |
msgid "You don’t have permission to change the ad groups"
|
493 |
msgstr ""
|
494 |
|
495 |
+
#: ../admin/includes/class-display-condition-callbacks.php:29
|
496 |
msgid "Display on all public <strong>post types</strong>."
|
497 |
msgstr ""
|
498 |
|
499 |
+
#: ../admin/includes/class-display-condition-callbacks.php:32 ../classes/display-
|
500 |
+
#: conditions.php:33 ../includes/array_ad_conditions.php:40
|
501 |
msgid "Choose the public post types on which to display the ad."
|
502 |
msgstr ""
|
503 |
|
504 |
+
#: ../admin/includes/class-display-condition-callbacks.php:87 ../classes/display-
|
505 |
+
#: conditions.php:188
|
506 |
msgid "Display for all <strong>categories, tags and taxonomies</strong>."
|
507 |
msgstr ""
|
508 |
|
509 |
+
#: ../admin/includes/class-display-condition-callbacks.php:88 ../classes/display-
|
510 |
+
#: conditions.php:189
|
511 |
msgid ""
|
512 |
"Choose terms from public categories, tags and other taxonomies a post must "
|
513 |
"belong to in order to have ads."
|
514 |
msgstr ""
|
515 |
|
516 |
+
#: ../admin/includes/class-display-condition-callbacks.php:105 ..
|
517 |
+
#: /admin/includes/class-display-condition-callbacks.php:218 ../classes/display-
|
518 |
+
#: conditions.php:206
|
519 |
msgid "Hide from here"
|
520 |
msgstr ""
|
521 |
|
522 |
+
#: ../admin/includes/class-display-condition-callbacks.php:105 ../classes/display-
|
523 |
+
#: conditions.php:206
|
524 |
msgid ""
|
525 |
"Choose the terms from public categories, tags and other taxonomies a post "
|
526 |
"must belong to hide the ad from it."
|
527 |
msgstr ""
|
528 |
|
529 |
+
#: ../admin/includes/class-display-condition-callbacks.php:150
|
530 |
msgctxt "display the terms search field on ad edit page"
|
531 |
msgid "add more terms"
|
532 |
msgstr ""
|
533 |
|
534 |
+
#: ../admin/includes/class-display-condition-callbacks.php:151
|
535 |
msgid "add more terms"
|
536 |
msgstr ""
|
537 |
|
538 |
+
#: ../admin/includes/class-display-condition-callbacks.php:154
|
539 |
msgid "term name or id"
|
540 |
msgstr ""
|
541 |
|
542 |
+
#: ../admin/includes/class-display-condition-callbacks.php:198
|
543 |
msgid "Display on all <strong>category archive pages</strong>."
|
544 |
msgstr ""
|
545 |
|
546 |
+
#: ../admin/includes/class-display-condition-callbacks.php:201
|
547 |
msgid ""
|
548 |
"Choose the terms from public categories, tags and other taxonomies on "
|
549 |
"which's archive page ads can appear"
|
550 |
msgstr ""
|
551 |
|
552 |
+
#: ../admin/includes/class-display-condition-callbacks.php:218
|
553 |
msgid ""
|
554 |
"Choose the terms from public categories, tags and other taxonomies on "
|
555 |
"which's archive pages ads are hidden."
|
556 |
msgstr ""
|
557 |
|
558 |
+
#: ../admin/includes/class-display-condition-callbacks.php:240
|
559 |
msgid ""
|
560 |
"Display on all <strong>individual posts, pages</strong> and public post type "
|
561 |
"pages"
|
562 |
msgstr ""
|
563 |
|
564 |
+
#: ../admin/includes/class-display-condition-callbacks.php:243 ..
|
565 |
+
#: /includes/array_ad_conditions.php:58
|
566 |
msgid ""
|
567 |
"Choose on which individual posts, pages and public post type pages you want "
|
568 |
"to display or hide ads."
|
569 |
msgstr ""
|
570 |
|
571 |
+
#: ../admin/includes/class-display-condition-callbacks.php:260
|
572 |
msgid "What should happen with ads on the list of individual posts below?"
|
573 |
msgstr ""
|
574 |
|
575 |
+
#: ../admin/includes/class-display-condition-callbacks.php:261
|
576 |
msgid "ignore the list"
|
577 |
msgstr ""
|
578 |
|
579 |
+
#: ../admin/includes/class-display-condition-callbacks.php:262
|
580 |
msgid "display the ad only there"
|
581 |
msgstr ""
|
582 |
|
583 |
+
#: ../admin/includes/class-display-condition-callbacks.php:263
|
584 |
msgid "hide the ad here"
|
585 |
msgstr ""
|
586 |
|
587 |
+
#: ../admin/includes/class-display-condition-callbacks.php:271
|
588 |
msgid "Update warning"
|
589 |
msgstr ""
|
590 |
|
591 |
+
#: ../admin/includes/class-display-condition-callbacks.php:272
|
592 |
msgid ""
|
593 |
"Due to some conflicts before version 1.2.6, it is from now on only possible "
|
594 |
"to choose either individual pages to include or exclude an ad, but not both "
|
596 |
"page. Please consider changing your setup for this ad."
|
597 |
msgstr ""
|
598 |
|
599 |
+
#: ../admin/includes/class-display-condition-callbacks.php:273
|
600 |
msgid "Your old values are:"
|
601 |
msgstr ""
|
602 |
|
603 |
+
#: ../admin/includes/class-display-condition-callbacks.php:274
|
604 |
msgid "Post IDs the ad is displayed on:"
|
605 |
msgstr ""
|
606 |
|
607 |
+
#: ../admin/includes/class-display-condition-callbacks.php:275
|
608 |
msgid "Post IDs the ad is hidden from:"
|
609 |
msgstr ""
|
610 |
|
611 |
+
#: ../admin/includes/class-display-condition-callbacks.php:276
|
612 |
msgid ""
|
613 |
"Below you find the pages the ad is displayed on. If this is ok, just save "
|
614 |
"the ad. If not, please update your settings."
|
615 |
msgstr ""
|
616 |
|
617 |
+
#: ../admin/includes/class-display-condition-callbacks.php:319
|
618 |
msgid "new"
|
619 |
msgstr ""
|
620 |
|
621 |
+
#: ../admin/includes/class-display-condition-callbacks.php:321
|
622 |
msgid "type the title"
|
623 |
msgstr ""
|
624 |
|
625 |
+
#: ../admin/includes/class-notices.php:364
|
626 |
#, php-format
|
627 |
msgid ""
|
628 |
"You don’t seem to have an email address. Please use <a href=\"%s\" "
|
629 |
"target=\"_blank\">this form</a> to sign up."
|
630 |
msgstr ""
|
631 |
|
632 |
+
#: ../admin/includes/class-notices.php:382
|
633 |
msgid "How embarrassing. The email server seems to be down. Please try again later."
|
634 |
msgstr ""
|
635 |
|
636 |
+
#: ../admin/includes/class-notices.php:387
|
637 |
#, php-format
|
638 |
msgid ""
|
639 |
"Please check your email (%s) for the confirmation message. If you didn’t "
|
666 |
msgstr ""
|
667 |
|
668 |
#: ../admin/includes/class-overview-widgets.php:59
|
669 |
+
msgid "Geo Targeting"
|
670 |
msgstr ""
|
671 |
|
672 |
#: ../admin/includes/class-overview-widgets.php:61
|
673 |
+
msgid "Sticky ads"
|
674 |
msgstr ""
|
675 |
|
676 |
#: ../admin/includes/class-overview-widgets.php:63
|
677 |
+
msgid "PopUps and Layers"
|
678 |
+
msgstr ""
|
679 |
+
|
680 |
+
#: ../admin/includes/class-overview-widgets.php:65
|
681 |
msgid "Ad Slider"
|
682 |
msgstr ""
|
683 |
|
684 |
+
#: ../admin/includes/class-overview-widgets.php:83
|
685 |
msgid "Get 2 <strong>free add-ons</strong> for joining the newsletter."
|
686 |
msgstr ""
|
687 |
|
688 |
+
#: ../admin/includes/class-overview-widgets.php:84
|
689 |
msgid "Join now"
|
690 |
msgstr ""
|
691 |
|
692 |
+
#: ../admin/includes/class-overview-widgets.php:91
|
693 |
msgid ""
|
694 |
"Learn more about how and <strong>how much you can earn with AdSense</strong> "
|
695 |
"and Advanced Ads from the dedicated newsletter group."
|
696 |
msgstr ""
|
697 |
|
698 |
+
#: ../admin/includes/class-overview-widgets.php:92 ../admin/includes/notices.php:
|
699 |
+
#: 35 ../admin/views/intro.php:73 ../admin/views/notices/inline.php:3 ..
|
700 |
#: /admin/views/notices/subscribe.php:3
|
701 |
msgid "Subscribe me now"
|
702 |
msgstr ""
|
703 |
|
704 |
+
#: ../admin/includes/class-overview-widgets.php:99
|
705 |
msgid "Get the first steps and more tutorials to your inbox."
|
706 |
msgstr ""
|
707 |
|
708 |
+
#: ../admin/includes/class-overview-widgets.php:100
|
709 |
msgid "Send it now"
|
710 |
msgstr ""
|
711 |
|
712 |
+
#: ../admin/includes/class-overview-widgets.php:123 ../admin/views/intro.php:78
|
713 |
msgid "Create your first ad"
|
714 |
msgstr ""
|
715 |
|
716 |
+
#: ../admin/includes/class-overview-widgets.php:126
|
717 |
msgid ""
|
718 |
"Ad Groups contain ads and are currently used to rotate multiple ads on a "
|
719 |
"single spot."
|
720 |
msgstr ""
|
721 |
|
722 |
+
#: ../admin/includes/class-overview-widgets.php:128
|
723 |
msgid "Create your first group"
|
724 |
msgstr ""
|
725 |
|
726 |
+
#: ../admin/includes/class-overview-widgets.php:131
|
727 |
msgid "Ad Placements are the best way to manage where to display ads and groups."
|
728 |
msgstr ""
|
729 |
|
730 |
+
#: ../admin/includes/class-overview-widgets.php:133
|
731 |
msgid "Create your first placement"
|
732 |
msgstr ""
|
733 |
|
734 |
+
#: ../admin/includes/class-overview-widgets.php:138
|
735 |
msgid "Next steps"
|
736 |
msgstr ""
|
737 |
|
738 |
+
#: ../admin/includes/class-overview-widgets.php:150
|
|
|
|
|
|
|
|
|
|
|
739 |
#, php-format
|
740 |
msgid "<a href=\"%s\" target=\"_blank\">Manual</a>"
|
741 |
msgstr ""
|
742 |
|
743 |
+
#: ../admin/includes/class-overview-widgets.php:151
|
744 |
#, php-format
|
745 |
+
msgid "<a href=\"%s\" target=\"_blank\">FAQ and Support</a>"
|
746 |
msgstr ""
|
747 |
|
748 |
+
#: ../admin/includes/class-overview-widgets.php:152
|
749 |
#, php-format
|
750 |
msgid "Vote for a <a href=\"%s\" target=\"_blank\">feature</a>"
|
751 |
msgstr ""
|
752 |
|
753 |
+
#: ../admin/includes/class-overview-widgets.php:153
|
754 |
#, php-format
|
755 |
msgid ""
|
756 |
"Thank the developer with a ★★★★★ review on <a "
|
757 |
"href=\"%s\" target=\"_blank\">wordpress.org</a>"
|
758 |
msgstr ""
|
759 |
|
760 |
+
#: ../admin/includes/class-overview-widgets.php:162
|
761 |
msgid ""
|
762 |
"Need help to set up and optimize your ads? Need custom coding on your site? "
|
763 |
"Ask me for a quote."
|
764 |
msgstr ""
|
765 |
|
766 |
+
#: ../admin/includes/class-overview-widgets.php:163
|
767 |
#, php-format
|
768 |
msgid "Help with ads on %s"
|
769 |
msgstr ""
|
770 |
|
771 |
+
#: ../admin/includes/class-overview-widgets.php:164
|
772 |
msgid "Get an offer"
|
773 |
msgstr ""
|
774 |
|
775 |
+
#: ../admin/includes/class-overview-widgets.php:172
|
776 |
msgid "Ad management for advanced websites."
|
777 |
msgstr ""
|
778 |
|
779 |
+
#: ../admin/includes/class-overview-widgets.php:173
|
780 |
msgid "Cache-busting"
|
781 |
msgstr ""
|
782 |
|
783 |
+
#: ../admin/includes/class-overview-widgets.php:174
|
784 |
msgid "Advanced visitor conditions"
|
785 |
msgstr ""
|
786 |
|
787 |
+
#: ../admin/includes/class-overview-widgets.php:175
|
788 |
msgid "Flash ads with fallback"
|
789 |
msgstr ""
|
790 |
|
791 |
+
#: ../admin/includes/class-overview-widgets.php:177
|
792 |
msgid "Get Pro"
|
793 |
msgstr ""
|
794 |
|
795 |
+
#: ../admin/includes/class-overview-widgets.php:185
|
796 |
msgid "Track the impressions of and clicks on your ads."
|
797 |
msgstr ""
|
798 |
|
799 |
+
#: ../admin/includes/class-overview-widgets.php:186
|
800 |
msgid "2 methods to count impressions"
|
801 |
msgstr ""
|
802 |
|
803 |
+
#: ../admin/includes/class-overview-widgets.php:187
|
804 |
msgid "beautiful stats for all or single ads"
|
805 |
msgstr ""
|
806 |
|
807 |
+
#: ../admin/includes/class-overview-widgets.php:188
|
808 |
msgid "get stats for predefined and custom persiods"
|
809 |
msgstr ""
|
810 |
|
811 |
+
#: ../admin/includes/class-overview-widgets.php:189
|
812 |
msgid "group stats by day, week or month"
|
813 |
msgstr ""
|
814 |
|
815 |
+
#: ../admin/includes/class-overview-widgets.php:191
|
816 |
msgid "Get the Tracking add-on"
|
817 |
msgstr ""
|
818 |
|
819 |
+
#: ../admin/includes/class-overview-widgets.php:199
|
820 |
msgid "Display ads based on the size of your visitor’s browser or device."
|
821 |
msgstr ""
|
822 |
|
823 |
+
#: ../admin/includes/class-overview-widgets.php:200
|
824 |
msgid "set a range (from … to …) pixels for the browser size"
|
825 |
msgstr ""
|
826 |
|
827 |
+
#: ../admin/includes/class-overview-widgets.php:201
|
828 |
msgid "set custom sizes for AdSense responsive ads"
|
829 |
msgstr ""
|
830 |
|
831 |
+
#: ../admin/includes/class-overview-widgets.php:202
|
832 |
msgid "list all ads by their responsive settings"
|
833 |
msgstr ""
|
834 |
|
835 |
+
#: ../admin/includes/class-overview-widgets.php:204
|
836 |
msgid "Get the Responsive add-on"
|
837 |
msgstr ""
|
838 |
|
839 |
+
#: ../admin/includes/class-overview-widgets.php:212
|
840 |
+
msgid "Target visitors by their geo location."
|
841 |
+
msgstr ""
|
842 |
+
|
843 |
+
#: ../admin/includes/class-overview-widgets.php:214
|
844 |
+
msgid "Get the Geo Targeting add-on"
|
845 |
+
msgstr ""
|
846 |
+
|
847 |
+
#: ../admin/includes/class-overview-widgets.php:222 ../admin/views/ad-info-top.
|
848 |
#: php:30
|
849 |
msgid ""
|
850 |
"Fix ads to the browser while users are scrolling and create best performing "
|
851 |
"anchor ads."
|
852 |
msgstr ""
|
853 |
|
854 |
+
#: ../admin/includes/class-overview-widgets.php:223
|
855 |
msgid "position ads that don’t scroll with the screen"
|
856 |
msgstr ""
|
857 |
|
858 |
+
#: ../admin/includes/class-overview-widgets.php:224
|
859 |
msgid "build anchor ads not only on mobile devices"
|
860 |
msgstr ""
|
861 |
|
862 |
+
#: ../admin/includes/class-overview-widgets.php:226 ../admin/views/ad-info-top.
|
863 |
#: php:32
|
864 |
msgid "Get the Sticky add-on"
|
865 |
msgstr ""
|
866 |
|
867 |
+
#: ../admin/includes/class-overview-widgets.php:234 ../admin/views/ad-info-top.
|
868 |
#: php:37
|
869 |
msgid "Display content and ads in layers and popups on custom events."
|
870 |
msgstr ""
|
871 |
|
872 |
+
#: ../admin/includes/class-overview-widgets.php:235
|
873 |
msgid "display a popup after a user interaction like scrolling"
|
874 |
msgstr ""
|
875 |
|
876 |
+
#: ../admin/includes/class-overview-widgets.php:236
|
877 |
msgid "optional backgroup overlay"
|
878 |
msgstr ""
|
879 |
|
880 |
+
#: ../admin/includes/class-overview-widgets.php:237
|
881 |
msgid "allow users to close the popup"
|
882 |
msgstr ""
|
883 |
|
884 |
+
#: ../admin/includes/class-overview-widgets.php:239 ../admin/views/ad-info-top.
|
885 |
#: php:39
|
886 |
msgid "Get the PopUp and Layer add-on"
|
887 |
msgstr ""
|
888 |
|
889 |
+
#: ../admin/includes/class-overview-widgets.php:247
|
890 |
msgid "Create a beautiful and simple slider from your ads."
|
891 |
msgstr ""
|
892 |
|
893 |
+
#: ../admin/includes/class-overview-widgets.php:249
|
894 |
msgid "Get the Slider add-on"
|
895 |
msgstr ""
|
896 |
|
905 |
"Steps</a>."
|
906 |
msgstr ""
|
907 |
|
908 |
+
#: ../admin/includes/notices.php:20
|
909 |
msgid ""
|
910 |
"Thank you for activating <strong>Advanced Ads</strong>. Would you like to "
|
911 |
"receive the first steps via email?"
|
912 |
msgstr ""
|
913 |
|
914 |
+
#: ../admin/includes/notices.php:21
|
915 |
msgid "Yes, send it"
|
916 |
msgstr ""
|
917 |
|
918 |
+
#: ../admin/includes/notices.php:27
|
919 |
msgid ""
|
920 |
"Thank you for using <strong>Advanced Ads</strong>. Stay informed and receive "
|
921 |
"<strong>2 free add-ons</strong> for joining the newsletter."
|
922 |
msgstr ""
|
923 |
|
924 |
+
#: ../admin/includes/notices.php:28
|
925 |
msgid "Add me now"
|
926 |
msgstr ""
|
927 |
|
928 |
+
#: ../admin/includes/notices.php:34
|
929 |
msgid ""
|
930 |
"Learn more about how and <strong>how much you can earn with AdSense</strong> "
|
931 |
"and Advanced Ads from my dedicated newsletter."
|
932 |
msgstr ""
|
933 |
|
934 |
+
#: ../admin/includes/notices.php:56
|
935 |
msgid ""
|
936 |
"One or more license keys for <strong>Advanced Ads add-ons are invalid or "
|
937 |
"missing</strong>."
|
938 |
msgstr ""
|
939 |
|
940 |
+
#: ../admin/includes/notices.php:56
|
941 |
#, php-format
|
942 |
msgid "Please add valid license keys <a href=\"%s\">here</a>."
|
943 |
msgstr ""
|
944 |
|
945 |
+
#: ../admin/includes/notices.php:62
|
946 |
#, php-format
|
947 |
msgid ""
|
948 |
"One or more licenses for your <strong>Advanced Ads add-ons are expiring "
|
951 |
"target=\"_blank\">the add-on page</a>."
|
952 |
msgstr ""
|
953 |
|
954 |
+
#: ../admin/includes/notices.php:68 ../admin/views/support.php:38
|
955 |
#, php-format
|
956 |
msgid ""
|
957 |
"<strong>Advanced Ads</strong> license(s) expired. Support and updates are "
|
959 |
"information."
|
960 |
msgstr ""
|
961 |
|
962 |
+
#: ../admin/includes/notices.php:74
|
963 |
+
#, php-format
|
964 |
+
msgid ""
|
965 |
+
"<img src=\"%3$s\" alt=\"Thomas\" width=\"80\" height=\"115\" class=\"advads-review-"
|
966 |
+
"image\"/>You are using <strong>Advanced Ads</strong> for some time now. Thank "
|
967 |
+
"you! If you need my help then please visit the <a href=\"%1$s\" "
|
968 |
+
"target=\"_blank\">Support page</a> to get free help.</p><h3>Thanks for your "
|
969 |
+
"Review</h3><p>If you share my passion and find Advanced Ads useful then "
|
970 |
+
"please <a href=\"%2$s\" target=\"_blank\">leave a 5-star review on wordpress."
|
971 |
+
"org</a>.</p><p><em>Thomas</em>"
|
972 |
+
msgstr ""
|
973 |
+
|
974 |
#: ../admin/includes/shortcode-creator-l10n.php:10
|
975 |
msgctxt "shortcode creator"
|
976 |
msgid "Add an ad"
|
986 |
msgid "Cancel"
|
987 |
msgstr ""
|
988 |
|
989 |
+
#: ../admin/views/ad-display-metabox.php:6
|
990 |
+
msgid "Set Display Conditions to show or disable the ad on specific pages."
|
991 |
+
msgstr ""
|
992 |
+
|
993 |
+
#: ../admin/views/ad-display-metabox.php:6 ../admin/views/ad-visitor-metabox.php:4
|
994 |
+
msgid "Manual"
|
995 |
+
msgstr ""
|
996 |
+
|
997 |
+
#: ../admin/views/ad-display-metabox.php:33 ../admin/views/ad-display-metabox.php:
|
998 |
+
#: 102
|
999 |
+
msgid "If you want to display the ad everywhere, don't do anything here. "
|
1000 |
+
msgstr ""
|
1001 |
+
|
1002 |
+
#: ../admin/views/ad-display-metabox.php:37 ../admin/views/ad-visitor-metabox.php:
|
1003 |
+
#: 34
|
1004 |
+
msgid "New condition"
|
1005 |
+
msgstr ""
|
1006 |
+
|
1007 |
+
#: ../admin/views/ad-display-metabox.php:40 ../admin/views/ad-visitor-metabox.php:
|
1008 |
+
#: 41
|
1009 |
+
msgid "-- choose a condition --"
|
1010 |
+
msgstr ""
|
1011 |
+
|
1012 |
+
#: ../admin/views/ad-display-metabox.php:45 ../admin/views/ad-visitor-metabox.php:
|
1013 |
+
#: 46
|
1014 |
+
msgid "add"
|
1015 |
+
msgstr ""
|
1016 |
+
|
1017 |
+
#: ../admin/views/ad-display-metabox.php:95
|
1018 |
msgid "Choose where to display the ad and where to hide it."
|
1019 |
msgstr ""
|
1020 |
|
1021 |
+
#: ../admin/views/ad-display-metabox.php:97
|
1022 |
msgid "Display ad everywhere"
|
1023 |
msgstr ""
|
1024 |
|
1025 |
+
#: ../admin/views/ad-display-metabox.php:98
|
1026 |
msgid "Set display conditions"
|
1027 |
msgstr ""
|
1028 |
|
1029 |
+
#: ../admin/views/ad-display-metabox.php:103
|
|
|
|
|
|
|
|
|
1030 |
msgid "The fewer conditions you enter, the better the performance will be."
|
1031 |
msgstr ""
|
1032 |
|
1033 |
+
#: ../admin/views/ad-display-metabox.php:104
|
1034 |
#, php-format
|
1035 |
msgid ""
|
1036 |
"Learn more about display conditions from the <a href=\"%s\" "
|
1037 |
"target=\"_blank\">manual</a>."
|
1038 |
msgstr ""
|
1039 |
|
1040 |
+
#: ../admin/views/ad-display-metabox.php:121
|
1041 |
+
msgid "general conditions"
|
1042 |
msgstr ""
|
1043 |
|
1044 |
+
#: ../admin/views/ad-display-metabox.php:139
|
1045 |
msgctxt "button label"
|
1046 |
msgid "on"
|
1047 |
msgstr ""
|
1048 |
|
1049 |
+
#: ../admin/views/ad-display-metabox.php:143
|
1050 |
msgctxt "button label"
|
1051 |
msgid "off"
|
1052 |
msgstr ""
|
1053 |
|
1054 |
+
#: ../admin/views/ad-display-metabox.php:158
|
1055 |
msgid "show debug output"
|
1056 |
msgstr ""
|
1057 |
|
1058 |
+
#: ../admin/views/ad-display-metabox.php:159
|
1059 |
msgid "Values saved for this ad in the database (post metas)"
|
1060 |
msgstr ""
|
1061 |
|
1404 |
"with a space"
|
1405 |
msgstr ""
|
1406 |
|
1407 |
+
#: ../admin/views/ad-parameters-metabox.php:25 ../classes/ad_ajax_callbacks.php:55
|
1408 |
msgid "size:"
|
1409 |
msgstr ""
|
1410 |
|
1411 |
+
#: ../admin/views/ad-parameters-metabox.php:26 ../classes/ad_ajax_callbacks.php:56
|
1412 |
msgid "width"
|
1413 |
msgstr ""
|
1414 |
|
1415 |
+
#: ../admin/views/ad-parameters-metabox.php:27 ../classes/ad_ajax_callbacks.php:57
|
1416 |
msgid "height"
|
1417 |
msgstr ""
|
1418 |
|
1471 |
"if dynamic features get cached."
|
1472 |
msgstr ""
|
1473 |
|
|
|
|
|
|
|
|
|
1474 |
#: ../admin/views/ad-visitor-metabox.php:37
|
1475 |
msgctxt "visitor condition connector"
|
1476 |
msgid "and"
|
1481 |
msgid "or"
|
1482 |
msgstr ""
|
1483 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1484 |
#: ../admin/views/ad-visitor-metabox.php:50
|
1485 |
#, php-format
|
1486 |
msgid ""
|
1520 |
"understand them, but there is nothing to do here yet."
|
1521 |
msgstr ""
|
1522 |
|
1523 |
+
#: ../admin/views/feedback_disable.php:3
|
1524 |
+
msgid "Thank you for helping to improve Advanced Ads."
|
1525 |
+
msgstr ""
|
1526 |
+
|
1527 |
+
#: ../admin/views/feedback_disable.php:4
|
1528 |
+
msgid ""
|
1529 |
+
"Your feedback will motivates me to work harder towards a professional ad "
|
1530 |
+
"management solution."
|
1531 |
+
msgstr ""
|
1532 |
+
|
1533 |
+
#: ../admin/views/feedback_disable.php:5
|
1534 |
+
msgid "Why did you decide to disable Advanced Ads?"
|
1535 |
+
msgstr ""
|
1536 |
+
|
1537 |
+
#: ../admin/views/feedback_disable.php:7
|
1538 |
+
msgid "I stopped showing ads on my site"
|
1539 |
+
msgstr ""
|
1540 |
+
|
1541 |
+
#: ../admin/views/feedback_disable.php:8
|
1542 |
+
#, php-format
|
1543 |
+
msgid "I miss a feature or <a href=\"%s\">add-on</a>"
|
1544 |
+
msgstr ""
|
1545 |
+
|
1546 |
+
#: ../admin/views/feedback_disable.php:9
|
1547 |
+
msgid "I have a technical problem"
|
1548 |
+
msgstr ""
|
1549 |
+
|
1550 |
+
#: ../admin/views/feedback_disable.php:10
|
1551 |
+
msgid "other reason"
|
1552 |
+
msgstr ""
|
1553 |
+
|
1554 |
+
#: ../admin/views/feedback_disable.php:12
|
1555 |
+
msgid "Please specify, if possible"
|
1556 |
+
msgstr ""
|
1557 |
+
|
1558 |
+
#: ../admin/views/feedback_disable.php:13
|
1559 |
+
msgid "What would be a reason to return to Advanced Ads?"
|
1560 |
+
msgstr ""
|
1561 |
+
|
1562 |
#: ../admin/views/intro.php:18
|
1563 |
msgid "5-Star Usability"
|
1564 |
msgstr ""
|
1627 |
#: ../admin/views/intro.php:79
|
1628 |
#, php-format
|
1629 |
msgid ""
|
1630 |
+
"Get started by creating an ad <a href=\"%1$s\" target=\"blank\">right now</a> or "
|
1631 |
+
"watch the <a href=\"%2$s\" target=\"blank\">tutorial video (3:29min)</a> first."
|
1632 |
msgstr ""
|
1633 |
|
1634 |
#: ../admin/views/intro.php:82
|
2155 |
"misfortunate formats in forms, but should not damage features."
|
2156 |
msgstr ""
|
2157 |
|
2158 |
+
#: ../classes/display-conditions.php:32
|
2159 |
+
msgid "post type"
|
2160 |
+
msgstr ""
|
2161 |
+
|
2162 |
+
#: ../classes/display-conditions.php:39
|
2163 |
+
msgid "categories, tags and taxonomies"
|
2164 |
+
msgstr ""
|
2165 |
+
|
2166 |
+
#: ../classes/display-conditions.php:40
|
2167 |
+
msgid ""
|
2168 |
+
"Choose terms from public categories, tags and other taxonomies a post must "
|
2169 |
+
"belong to for showing or hiding ads."
|
2170 |
+
msgstr ""
|
2171 |
+
|
2172 |
+
#: ../classes/display-conditions.php:171 ../classes/visitor-conditions.php:103
|
2173 |
+
msgid "is"
|
2174 |
+
msgstr ""
|
2175 |
+
|
2176 |
+
#: ../classes/display-conditions.php:172 ../classes/visitor-conditions.php:104
|
2177 |
+
msgid "is not"
|
2178 |
+
msgstr ""
|
2179 |
+
|
2180 |
#: ../classes/EDD_SL_Plugin_Updater.php:177
|
2181 |
#, php-format
|
2182 |
msgid ""
|
2208 |
msgid "Display ads only on mobile devices or hide them."
|
2209 |
msgstr ""
|
2210 |
|
2211 |
+
#: ../classes/visitor-conditions.php:39
|
2212 |
msgid "logged in visitor"
|
2213 |
msgstr ""
|
2214 |
|
2215 |
+
#: ../classes/visitor-conditions.php:40
|
2216 |
msgid "Whether the visitor has to be logged in or not in order to see the ads."
|
2217 |
msgstr ""
|
2218 |
|
2219 |
+
#: ../classes/visitor-conditions.php:73
|
2220 |
#, php-format
|
2221 |
msgid ""
|
2222 |
"Pro: Display ads by the available space on the device using the <a href=\"%s\" "
|
2223 |
"target=\"_blank\">Responsive add-on</a>"
|
2224 |
msgstr ""
|
2225 |
|
2226 |
+
#: ../classes/visitor-conditions.php:109
|
2227 |
+
msgid "Manual and Troubleshooting"
|
|
|
|
|
|
|
|
|
2228 |
msgstr ""
|
2229 |
|
2230 |
+
#: ../classes/visitor-conditions.php:140
|
2231 |
msgid "equal"
|
2232 |
msgstr ""
|
2233 |
|
2234 |
+
#: ../classes/visitor-conditions.php:141
|
2235 |
msgid "equal or higher"
|
2236 |
msgstr ""
|
2237 |
|
2238 |
+
#: ../classes/visitor-conditions.php:142
|
2239 |
msgid "equal or lower"
|
2240 |
msgstr ""
|
2241 |
|
2242 |
+
#: ../classes/visitor-conditions.php:174
|
2243 |
msgid "contains"
|
2244 |
msgstr ""
|
2245 |
|
2246 |
+
#: ../classes/visitor-conditions.php:175
|
2247 |
msgid "starts with"
|
2248 |
msgstr ""
|
2249 |
|
2250 |
+
#: ../classes/visitor-conditions.php:176
|
2251 |
msgid "ends with"
|
2252 |
msgstr ""
|
2253 |
|
2254 |
+
#: ../classes/visitor-conditions.php:177
|
2255 |
msgid "matches"
|
2256 |
msgstr ""
|
2257 |
|
2258 |
+
#: ../classes/visitor-conditions.php:178
|
2259 |
msgid "matches regex"
|
2260 |
msgstr ""
|
2261 |
|
2262 |
+
#: ../classes/visitor-conditions.php:179
|
2263 |
msgid "does not contain"
|
2264 |
msgstr ""
|
2265 |
|
2266 |
+
#: ../classes/visitor-conditions.php:180
|
2267 |
msgid "does not start with"
|
2268 |
msgstr ""
|
2269 |
|
2270 |
+
#: ../classes/visitor-conditions.php:181
|
2271 |
msgid "does not end with"
|
2272 |
msgstr ""
|
2273 |
|
2274 |
+
#: ../classes/visitor-conditions.php:182
|
2275 |
msgid "does not match"
|
2276 |
msgstr ""
|
2277 |
|
2278 |
+
#: ../classes/visitor-conditions.php:183
|
2279 |
msgid "does not match regex"
|
2280 |
msgstr ""
|
2281 |
|
2287 |
msgid "Title:"
|
2288 |
msgstr ""
|
2289 |
|
2290 |
+
#: ../includes/array_ad_conditions.php:39
|
2291 |
msgid "Post Types"
|
2292 |
msgstr ""
|
2293 |
|
2294 |
+
#: ../includes/array_ad_conditions.php:45
|
2295 |
msgid "Categories, Tags and Taxonomies"
|
2296 |
msgstr ""
|
2297 |
|
2298 |
+
#: ../includes/array_ad_conditions.php:46
|
2299 |
msgid ""
|
2300 |
"Choose terms from public category, tag and other taxonomies a post must "
|
2301 |
"belong to in order to have ads."
|
2302 |
msgstr ""
|
2303 |
|
2304 |
+
#: ../includes/array_ad_conditions.php:51
|
2305 |
msgid "Category Archives"
|
2306 |
msgstr ""
|
2307 |
|
2308 |
+
#: ../includes/array_ad_conditions.php:52
|
2309 |
msgid "comma seperated IDs of category archives"
|
2310 |
msgstr ""
|
2311 |
|
2312 |
+
#: ../includes/array_ad_conditions.php:57
|
2313 |
msgid "Individual Posts, Pages and Public Post Types"
|
2314 |
msgstr ""
|
2315 |
|
2316 |
+
#: ../includes/array_ad_conditions.php:63
|
2317 |
msgid "Home Page"
|
2318 |
msgstr ""
|
2319 |
|
2320 |
+
#: ../includes/array_ad_conditions.php:64
|
2321 |
msgid "show on Home page"
|
2322 |
msgstr ""
|
2323 |
|
2324 |
+
#: ../includes/array_ad_conditions.php:68
|
2325 |
msgid "Singular Pages"
|
2326 |
msgstr ""
|
2327 |
|
2328 |
+
#: ../includes/array_ad_conditions.php:69
|
2329 |
msgid "show on singular pages/posts"
|
2330 |
msgstr ""
|
2331 |
|
2332 |
+
#: ../includes/array_ad_conditions.php:73
|
2333 |
msgid "Archive Pages"
|
2334 |
msgstr ""
|
2335 |
|
2336 |
+
#: ../includes/array_ad_conditions.php:74
|
2337 |
msgid "show on any type of archive page (category, tag, author and date)"
|
2338 |
msgstr ""
|
2339 |
|
2340 |
+
#: ../includes/array_ad_conditions.php:78
|
2341 |
msgid "Search Results"
|
2342 |
msgstr ""
|
2343 |
|
2344 |
+
#: ../includes/array_ad_conditions.php:79
|
2345 |
msgid "show on search result pages"
|
2346 |
msgstr ""
|
2347 |
|
2348 |
+
#: ../includes/array_ad_conditions.php:83
|
2349 |
msgid "404 Page"
|
2350 |
msgstr ""
|
2351 |
|
2352 |
+
#: ../includes/array_ad_conditions.php:84
|
2353 |
msgid "show on 404 error page"
|
2354 |
msgstr ""
|
2355 |
|
2356 |
+
#: ../includes/array_ad_conditions.php:88
|
2357 |
msgid "Attachment Pages"
|
2358 |
msgstr ""
|
2359 |
|
2360 |
+
#: ../includes/array_ad_conditions.php:89
|
2361 |
msgid "show on attachment pages"
|
2362 |
msgstr ""
|
2363 |
|
2364 |
+
#: ../includes/array_ad_conditions.php:93
|
2365 |
msgid "Secondary Queries"
|
2366 |
msgstr ""
|
2367 |
|
2368 |
+
#: ../includes/array_ad_conditions.php:94
|
2369 |
msgid "allow ads in secondary queries"
|
2370 |
msgstr ""
|
2371 |
|
2372 |
+
#: ../modules/ad-blocker/admin/admin.php:133
|
2373 |
msgid "The asset folder was rebuilt successfully"
|
2374 |
msgstr ""
|
2375 |
|
2376 |
+
#: ../modules/ad-blocker/admin/admin.php:258
|
2377 |
msgid "Ad blocker fix"
|
2378 |
msgstr ""
|
2379 |
|
2380 |
+
#: ../modules/ad-blocker/admin/admin.php:297
|
2381 |
msgid "There is no writable upload folder"
|
2382 |
msgstr ""
|
2383 |
|
2384 |
+
#: ../modules/ad-blocker/admin/admin.php:319
|
2385 |
#, php-format
|
2386 |
msgid "Unable to rename \"%s\" directory"
|
2387 |
msgstr ""
|
2388 |
|
2389 |
+
#: ../modules/ad-blocker/admin/admin.php:334 ../modules/ad-blocker/admin/admin.
|
2390 |
+
#: php:347 ../modules/ad-blocker/admin/admin.php:364
|
2391 |
#, php-format
|
2392 |
msgid "Unable to copy assets to the \"%s\" directory"
|
2393 |
msgstr ""
|
2394 |
|
2395 |
+
#: ../modules/ad-blocker/admin/admin.php:392 ../modules/ad-blocker/admin/admin.
|
2396 |
+
#: php:401
|
2397 |
#, php-format
|
2398 |
msgid "We do not have direct write access to the \"%s\" directory"
|
2399 |
msgstr ""
|
2400 |
|
2401 |
+
#: ../modules/ad-blocker/admin/admin.php:410
|
2402 |
msgid "There are no assets to copy"
|
2403 |
msgstr ""
|
2404 |
|
2405 |
+
#: ../modules/ad-blocker/admin/admin.php:466
|
2406 |
#, php-format
|
2407 |
msgid ""
|
2408 |
"Unable to create \"%s\" directory. Is its parent directory writable by the "
|
2409 |
"server?"
|
2410 |
msgstr ""
|
2411 |
|
2412 |
+
#: ../modules/ad-blocker/admin/admin.php:477
|
2413 |
#, php-format
|
2414 |
msgid "Unable to copy files to %s"
|
2415 |
msgstr ""
|
2416 |
|
2417 |
+
#: ../modules/ad-blocker/admin/admin.php:544
|
2418 |
msgid ""
|
2419 |
"Prevents ad block software from breaking your website when blocking asset "
|
2420 |
"files (.js, .css)."
|
2694 |
msgid "Parent Ad"
|
2695 |
msgstr ""
|
2696 |
|
2697 |
+
#: ../admin/class-advanced-ads-admin.php:555
|
2698 |
msgid "Display Conditions"
|
2699 |
msgstr "Anzeigebedingungen"
|
2700 |
|
2701 |
+
#: ../admin/class-advanced-ads-admin.php:1009
|
2702 |
msgid "(display to all)"
|
2703 |
msgstr "(für alle anzeigen)"
|
2704 |
|
2705 |
+
#: ../admin/includes/class-display-condition-callbacks.php:88 ../classes/display-
|
2706 |
+
#: conditions.php:189
|
2707 |
msgid "Display here"
|
2708 |
msgstr "Hier anzeigen"
|
languages/advanced-ads.pot
CHANGED
@@ -5,7 +5,7 @@ msgstr ""
|
|
5 |
"Project-Id-Version: Advanved Ads\n"
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/plugins/plugin-name\n"
|
7 |
"POT-Creation-Date: 2015-01-27 16:47+0100\n"
|
8 |
-
"POT-Revision-Date: Mon
|
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"
|
@@ -44,251 +44,264 @@ msgstr ""
|
|
44 |
msgid "http://webgilde.com"
|
45 |
msgstr ""
|
46 |
|
47 |
-
#: ../admin/class-advanced-ads-admin.php:
|
48 |
msgid "Overview"
|
49 |
msgstr ""
|
50 |
|
51 |
-
#: ../admin/class-advanced-ads-admin.php:
|
52 |
-
#: php:
|
53 |
#: group-list-form-row.php:28 ../admin/views/ad-group-list-header.php:5 ..
|
54 |
-
#:
|
55 |
-
#:
|
56 |
msgid "Ads"
|
57 |
msgstr ""
|
58 |
|
59 |
-
#: ../admin/class-advanced-ads-admin.php:
|
60 |
#: creator.php:84 ../admin/views/placements.php:73 ../admin/views/placements.php:
|
61 |
#: 177 ../classes/widget.php:82
|
62 |
msgid "Ad Groups"
|
63 |
msgstr ""
|
64 |
|
65 |
-
#: ../admin/class-advanced-ads-admin.php:
|
66 |
msgid "Groups"
|
67 |
msgstr ""
|
68 |
|
69 |
-
#: ../admin/class-advanced-ads-admin.php:
|
70 |
msgid "Ad Placements"
|
71 |
msgstr ""
|
72 |
|
73 |
-
#: ../admin/class-advanced-ads-admin.php:
|
74 |
#: creator.php:91 ../admin/views/placements.php:18 ../classes/widget.php:75
|
75 |
msgid "Placements"
|
76 |
msgstr ""
|
77 |
|
78 |
-
#: ../admin/class-advanced-ads-admin.php:
|
79 |
msgid "Advanced Ads Settings"
|
80 |
msgstr ""
|
81 |
|
82 |
-
#: ../admin/class-advanced-ads-admin.php:
|
83 |
-
#: php:
|
84 |
msgid "Settings"
|
85 |
msgstr ""
|
86 |
|
87 |
-
#: ../admin/class-advanced-ads-admin.php:
|
88 |
msgid "Advanced Ads Debugging"
|
89 |
msgstr ""
|
90 |
|
91 |
-
#: ../admin/class-advanced-ads-admin.php:
|
92 |
msgid "Debug"
|
93 |
msgstr ""
|
94 |
|
95 |
-
#: ../admin/class-advanced-ads-admin.php:
|
96 |
-
#: php:
|
97 |
msgid "Advanced Ads Intro"
|
98 |
msgstr ""
|
99 |
|
100 |
-
#: ../admin/class-advanced-ads-admin.php:
|
101 |
-
#: php:
|
102 |
msgid "Support"
|
103 |
msgstr ""
|
104 |
|
105 |
-
#: ../admin/class-advanced-ads-admin.php:
|
106 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
107 |
msgid "Sorry, you are not allowed to access this feature."
|
108 |
msgstr ""
|
109 |
|
110 |
-
#: ../admin/class-advanced-ads-admin.php:
|
111 |
msgid ""
|
112 |
"You attempted to edit an ad group that doesn’t exist. Perhaps it was "
|
113 |
"deleted?"
|
114 |
msgstr ""
|
115 |
|
116 |
-
#: ../admin/class-advanced-ads-admin.php:
|
117 |
msgid "Ad Type"
|
118 |
msgstr ""
|
119 |
|
120 |
-
#: ../admin/class-advanced-ads-admin.php:
|
121 |
msgid "Ad Parameters"
|
122 |
msgstr ""
|
123 |
|
124 |
-
#: ../admin/class-advanced-ads-admin.php:
|
125 |
msgid "Layout / Output"
|
126 |
msgstr ""
|
127 |
|
128 |
-
#: ../admin/class-advanced-ads-admin.php:
|
129 |
msgid "Display Conditions"
|
130 |
msgstr ""
|
131 |
|
132 |
-
#: ../admin/class-advanced-ads-admin.php:
|
133 |
msgid "Visitor Conditions"
|
134 |
msgstr ""
|
135 |
|
136 |
-
#: ../admin/class-advanced-ads-admin.php:
|
137 |
-
#: php:
|
138 |
msgid "Ad updated."
|
139 |
msgstr ""
|
140 |
|
141 |
#. translators: %s: date and time of the revision
|
142 |
-
#: ../admin/class-advanced-ads-admin.php:
|
143 |
#, php-format
|
144 |
msgid "Ad restored to revision from %s"
|
145 |
msgstr ""
|
146 |
|
147 |
-
#: ../admin/class-advanced-ads-admin.php:
|
148 |
msgid "Ad published."
|
149 |
msgstr ""
|
150 |
|
151 |
-
#: ../admin/class-advanced-ads-admin.php:
|
152 |
msgid "Ad saved."
|
153 |
msgstr ""
|
154 |
|
155 |
-
#: ../admin/class-advanced-ads-admin.php:
|
156 |
msgid "Ad submitted."
|
157 |
msgstr ""
|
158 |
|
159 |
-
#: ../admin/class-advanced-ads-admin.php:
|
160 |
#, php-format
|
161 |
msgid "Ad scheduled for: <strong>%1$s</strong>."
|
162 |
msgstr ""
|
163 |
|
164 |
#. translators: Publish box date format, see http://php.net/date
|
165 |
-
#: ../admin/class-advanced-ads-admin.php:
|
166 |
msgid "M j, Y @ G:i"
|
167 |
msgstr ""
|
168 |
|
169 |
-
#: ../admin/class-advanced-ads-admin.php:
|
170 |
msgid "Ad draft updated."
|
171 |
msgstr ""
|
172 |
|
173 |
-
#: ../admin/class-advanced-ads-admin.php:
|
174 |
#, php-format
|
175 |
msgid "%s ad updated."
|
176 |
msgid_plural "%s ads updated."
|
177 |
msgstr[0] ""
|
178 |
msgstr[1] ""
|
179 |
|
180 |
-
#: ../admin/class-advanced-ads-admin.php:
|
181 |
#, php-format
|
182 |
msgid "%s ad not updated, somebody is editing it."
|
183 |
msgid_plural "%s ads not updated, somebody is editing them."
|
184 |
msgstr[0] ""
|
185 |
msgstr[1] ""
|
186 |
|
187 |
-
#: ../admin/class-advanced-ads-admin.php:
|
188 |
#, php-format
|
189 |
msgid "%s ad permanently deleted."
|
190 |
msgid_plural "%s ads permanently deleted."
|
191 |
msgstr[0] ""
|
192 |
msgstr[1] ""
|
193 |
|
194 |
-
#: ../admin/class-advanced-ads-admin.php:
|
195 |
#, php-format
|
196 |
msgid "%s ad moved to the Trash."
|
197 |
msgid_plural "%s ads moved to the Trash."
|
198 |
msgstr[0] ""
|
199 |
msgstr[1] ""
|
200 |
|
201 |
-
#: ../admin/class-advanced-ads-admin.php:
|
202 |
#, php-format
|
203 |
msgid "%s ad restored from the Trash."
|
204 |
msgid_plural "%s ads restored from the Trash."
|
205 |
msgstr[0] ""
|
206 |
msgstr[1] ""
|
207 |
|
208 |
-
#: ../admin/class-advanced-ads-admin.php:
|
209 |
msgid "General"
|
210 |
msgstr ""
|
211 |
|
212 |
-
#: ../admin/class-advanced-ads-admin.php:
|
213 |
-
#: php:
|
214 |
msgid "Licenses"
|
215 |
msgstr ""
|
216 |
|
217 |
-
#: ../admin/class-advanced-ads-admin.php:
|
218 |
msgid "Disable ads"
|
219 |
msgstr ""
|
220 |
|
221 |
-
#: ../admin/class-advanced-ads-admin.php:
|
222 |
msgid "Hide ads for logged in users"
|
223 |
msgstr ""
|
224 |
|
225 |
-
#: ../admin/class-advanced-ads-admin.php:
|
226 |
msgid "Use advanced JavaScript"
|
227 |
msgstr ""
|
228 |
|
229 |
-
#: ../admin/class-advanced-ads-admin.php:
|
230 |
msgid "Unlimited ad injection"
|
231 |
msgstr ""
|
232 |
|
233 |
-
#: ../admin/class-advanced-ads-admin.php:
|
234 |
msgid "Priority of content injection filter"
|
235 |
msgstr ""
|
236 |
|
237 |
-
#: ../admin/class-advanced-ads-admin.php:
|
238 |
msgid "Hide ads from bots"
|
239 |
msgstr ""
|
240 |
|
241 |
-
#: ../admin/class-advanced-ads-admin.php:
|
242 |
msgid "Disable notices"
|
243 |
msgstr ""
|
244 |
|
245 |
-
#: ../admin/class-advanced-ads-admin.php:
|
246 |
msgid "ID prefix"
|
247 |
msgstr ""
|
248 |
|
249 |
-
#: ../admin/class-advanced-ads-admin.php:
|
250 |
msgid "Remove Widget ID"
|
251 |
msgstr ""
|
252 |
|
253 |
-
#: ../admin/class-advanced-ads-admin.php:
|
254 |
msgid "Allow editors to manage ads"
|
255 |
msgstr ""
|
256 |
|
257 |
-
#: ../admin/class-advanced-ads-admin.php:
|
258 |
msgid "(display to all)"
|
259 |
msgstr ""
|
260 |
|
261 |
-
#: ../admin/class-advanced-ads-admin.php:
|
262 |
msgid "Subscriber"
|
263 |
msgstr ""
|
264 |
|
265 |
-
#: ../admin/class-advanced-ads-admin.php:
|
266 |
msgid "Contributor"
|
267 |
msgstr ""
|
268 |
|
269 |
-
#: ../admin/class-advanced-ads-admin.php:
|
270 |
msgid "Author"
|
271 |
msgstr ""
|
272 |
|
273 |
-
#: ../admin/class-advanced-ads-admin.php:
|
274 |
msgid "Editor"
|
275 |
msgstr ""
|
276 |
|
277 |
-
#: ../admin/class-advanced-ads-admin.php:
|
278 |
msgid "Admin"
|
279 |
msgstr ""
|
280 |
|
281 |
-
#: ../admin/class-advanced-ads-admin.php:
|
282 |
msgid "Choose the lowest role a user must have in order to not see any ads."
|
283 |
msgstr ""
|
284 |
|
285 |
-
#: ../admin/class-advanced-ads-admin.php:
|
286 |
msgid ""
|
287 |
"<strong>notice: </strong>the file is currently enabled by an add-on that "
|
288 |
"needs it."
|
289 |
msgstr ""
|
290 |
|
291 |
-
#: ../admin/class-advanced-ads-admin.php:
|
292 |
#, php-format
|
293 |
msgid ""
|
294 |
"Enable advanced JavaScript functions (<a href=\"%s\" target=\"_blank\">here</a>)."
|
@@ -296,7 +309,7 @@ msgid ""
|
|
296 |
"from this file."
|
297 |
msgstr ""
|
298 |
|
299 |
-
#: ../admin/class-advanced-ads-admin.php:
|
300 |
msgid ""
|
301 |
"Some plugins and themes trigger ad injection where it shouldn’t happen. "
|
302 |
"Therefore, Advanced Ads ignores injected placements on non-singular pages "
|
@@ -305,19 +318,19 @@ msgid ""
|
|
305 |
"on archive pages AT YOUR OWN RISK."
|
306 |
msgstr ""
|
307 |
|
308 |
-
#: ../admin/class-advanced-ads-admin.php:
|
309 |
msgid ""
|
310 |
"Please check your post content. A priority of 10 and below might cause "
|
311 |
"issues (wpautop function might run twice)."
|
312 |
msgstr ""
|
313 |
|
314 |
-
#: ../admin/class-advanced-ads-admin.php:
|
315 |
msgid ""
|
316 |
"Play with this value in order to change the priority of the injected ads "
|
317 |
"compared to other auto injected elements in the post content."
|
318 |
msgstr ""
|
319 |
|
320 |
-
#: ../admin/class-advanced-ads-admin.php:
|
321 |
#, php-format
|
322 |
msgid ""
|
323 |
"Hide ads from crawlers, bots and empty user agents. Also prevents counting "
|
@@ -325,115 +338,126 @@ msgid ""
|
|
325 |
"Add-On</a>."
|
326 |
msgstr ""
|
327 |
|
328 |
-
#: ../admin/class-advanced-ads-admin.php:
|
329 |
msgid ""
|
330 |
"Disabling this option only makes sense if your ads contain content you want "
|
331 |
"to display to bots (like search engines) or your site is cached and bots "
|
332 |
"could create a cached version without the ads."
|
333 |
msgstr ""
|
334 |
|
335 |
-
#: ../admin/class-advanced-ads-admin.php:
|
336 |
msgid ""
|
337 |
"Disable internal notices like tips, tutorials, email newsletters and update "
|
338 |
"notices. Disabling notices is recommended if you run multiple blogs with "
|
339 |
"Advanced Ads already."
|
340 |
msgstr ""
|
341 |
|
342 |
-
#: ../admin/class-advanced-ads-admin.php:
|
343 |
msgid ""
|
344 |
"Prefix of class or id attributes in the frontend. Change it if you don’t "
|
345 |
"want <strong>ad blockers</strong> to mark these blocks as ads.<br/>You might "
|
346 |
"need to <strong>rewrite css rules afterwards</strong>."
|
347 |
msgstr ""
|
348 |
|
349 |
-
#: ../admin/class-advanced-ads-admin.php:
|
350 |
msgid ""
|
351 |
"Remove the ID attribute from widgets in order to not make them an easy "
|
352 |
"target of ad blockers."
|
353 |
msgstr ""
|
354 |
|
355 |
-
#: ../admin/class-advanced-ads-admin.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
356 |
msgid "Allow editors to also manage and publish ads."
|
357 |
msgstr ""
|
358 |
|
359 |
-
#: ../admin/class-advanced-ads-admin.php:
|
360 |
#, php-format
|
361 |
msgid ""
|
362 |
"You can assign different ad-related roles on a user basis with <a href=\"%s\" "
|
363 |
"target=\"_blank\">Advanced Ads Pro</a>."
|
364 |
msgstr ""
|
365 |
|
366 |
-
#: ../admin/class-advanced-ads-admin.php:
|
367 |
msgid "Ad Details"
|
368 |
msgstr ""
|
369 |
|
370 |
-
#: ../admin/class-advanced-ads-admin.php:
|
371 |
msgid "Ad Planning"
|
372 |
msgstr ""
|
373 |
|
374 |
-
#: ../admin/class-advanced-ads-admin.php:
|
375 |
msgid "Ad Settings"
|
376 |
msgstr ""
|
377 |
|
378 |
-
#: ../admin/class-advanced-ads-admin.php:
|
379 |
msgid "Ads Dashboard"
|
380 |
msgstr ""
|
381 |
|
382 |
-
#: ../admin/class-advanced-ads-admin.php:
|
383 |
msgid "From the ad optimization universe"
|
384 |
msgstr ""
|
385 |
|
386 |
-
#: ../admin/class-advanced-ads-admin.php:
|
387 |
msgid "Advanced Ads Tutorials"
|
388 |
msgstr ""
|
389 |
|
390 |
-
#: ../admin/class-advanced-ads-admin.php:
|
391 |
#, php-format
|
392 |
msgid "%d ads – <a href=\"%s\">manage</a> - <a href=\"%s\">new</a>"
|
393 |
msgstr ""
|
394 |
|
395 |
-
#: ../admin/class-advanced-ads-admin.php:
|
396 |
msgid "plugin manual and homepage"
|
397 |
msgstr ""
|
398 |
|
399 |
-
#: ../admin/class-advanced-ads-admin.php:
|
400 |
msgid "Get the tutorial via email"
|
401 |
msgstr ""
|
402 |
|
403 |
-
#: ../admin/class-advanced-ads-admin.php:
|
404 |
msgid "Get AdSense tips via email"
|
405 |
msgstr ""
|
406 |
|
407 |
-
#: ../admin/class-advanced-ads-admin.php:
|
|
|
|
|
|
|
|
|
|
|
408 |
msgid "Error while trying to register the license. Please contact support."
|
409 |
msgstr ""
|
410 |
|
411 |
-
#: ../admin/class-advanced-ads-admin.php:
|
412 |
msgid "Please enter and save a valid license key first."
|
413 |
msgstr ""
|
414 |
|
415 |
-
#: ../admin/class-advanced-ads-admin.php:
|
416 |
msgid "This is the bundle license key."
|
417 |
msgstr ""
|
418 |
|
419 |
-
#: ../admin/class-advanced-ads-admin.php:
|
420 |
msgid "This is not the correct key for this add-on."
|
421 |
msgstr ""
|
422 |
|
423 |
-
#: ../admin/class-advanced-ads-admin.php:
|
424 |
#, php-format
|
425 |
msgid "License is invalid. Reason: %s"
|
426 |
msgstr ""
|
427 |
|
428 |
-
#: ../admin/class-advanced-ads-admin.php:
|
429 |
msgid "Error while trying to disable the license. Please contact support."
|
430 |
msgstr ""
|
431 |
|
432 |
-
#: ../admin/class-advanced-ads-admin.php:
|
433 |
msgid "License couldn’t be deactivated. Please try again later or contact support."
|
434 |
msgstr ""
|
435 |
|
436 |
-
#: ../admin/class-advanced-ads-admin.php:
|
437 |
msgid "Add-Ons"
|
438 |
msgstr ""
|
439 |
|
@@ -447,211 +471,81 @@ msgstr ""
|
|
447 |
msgid "starts %s"
|
448 |
msgstr ""
|
449 |
|
450 |
-
#: ../admin/includes/class-ad-groups-list.php:
|
451 |
-
#: column.php:
|
452 |
#, php-format
|
453 |
msgid "expires %s"
|
454 |
msgstr ""
|
455 |
|
456 |
-
#: ../admin/includes/class-ad-groups-list.php:
|
457 |
-
#: column.php:
|
458 |
#, php-format
|
459 |
msgid "<strong>expired</strong> %s"
|
460 |
msgstr ""
|
461 |
|
462 |
-
#: ../admin/includes/class-ad-groups-list.php:
|
463 |
msgid "all published ads are displayed"
|
464 |
msgstr ""
|
465 |
|
466 |
-
#: ../admin/includes/class-ad-groups-list.php:
|
467 |
#, php-format
|
468 |
msgid "up to %d ads displayed"
|
469 |
msgstr ""
|
470 |
|
471 |
-
#: ../admin/includes/class-ad-groups-list.php:
|
472 |
#: form-row.php:37
|
473 |
msgid "No ads assigned"
|
474 |
msgstr ""
|
475 |
|
476 |
-
#: ../admin/includes/class-ad-groups-list.php:
|
477 |
msgid "Random ads"
|
478 |
msgstr ""
|
479 |
|
480 |
-
#: ../admin/includes/class-ad-groups-list.php:
|
481 |
msgid "Display random ads based on ad weight"
|
482 |
msgstr ""
|
483 |
|
484 |
-
#: ../admin/includes/class-ad-groups-list.php:
|
485 |
msgid "Ordered ads"
|
486 |
msgstr ""
|
487 |
|
488 |
-
#: ../admin/includes/class-ad-groups-list.php:
|
489 |
msgid "Display ads with the highest ad weight first"
|
490 |
msgstr ""
|
491 |
|
492 |
-
#: ../admin/includes/class-ad-groups-list.php:
|
493 |
#: php:567
|
494 |
msgid "Edit"
|
495 |
msgstr ""
|
496 |
|
497 |
-
#: ../admin/includes/class-ad-groups-list.php:
|
498 |
msgid "Usage"
|
499 |
msgstr ""
|
500 |
|
501 |
-
#: ../admin/includes/class-ad-groups-list.php:
|
502 |
msgid "Delete"
|
503 |
msgstr ""
|
504 |
|
505 |
-
#: ../admin/includes/class-ad-groups-list.php:
|
506 |
msgid "Invalid Ad Group"
|
507 |
msgstr ""
|
508 |
|
509 |
-
#: ../admin/includes/class-ad-groups-list.php:
|
510 |
msgid "You don’t have permission to change the ad groups"
|
511 |
msgstr ""
|
512 |
|
513 |
-
#: ../admin/includes/class-
|
514 |
-
msgid "Display on all public <strong>post types</strong>."
|
515 |
-
msgstr ""
|
516 |
-
|
517 |
-
#: ../admin/includes/class-display-condition-callbacks.php:31 ..
|
518 |
-
#: /includes/array_ad_conditions.php:39
|
519 |
-
msgid "Choose the public post types on which to display the ad."
|
520 |
-
msgstr ""
|
521 |
-
|
522 |
-
#: ../admin/includes/class-display-condition-callbacks.php:86
|
523 |
-
msgid "Display for all <strong>categories, tags and taxonomies</strong>."
|
524 |
-
msgstr ""
|
525 |
-
|
526 |
-
#: ../admin/includes/class-display-condition-callbacks.php:87
|
527 |
-
msgid "Display here"
|
528 |
-
msgstr ""
|
529 |
-
|
530 |
-
#: ../admin/includes/class-display-condition-callbacks.php:87
|
531 |
-
msgid ""
|
532 |
-
"Choose terms from public categories, tags and other taxonomies a post must "
|
533 |
-
"belong to in order to have ads."
|
534 |
-
msgstr ""
|
535 |
-
|
536 |
-
#: ../admin/includes/class-display-condition-callbacks.php:104 ..
|
537 |
-
#: /admin/includes/class-display-condition-callbacks.php:217
|
538 |
-
msgid "Hide from here"
|
539 |
-
msgstr ""
|
540 |
-
|
541 |
-
#: ../admin/includes/class-display-condition-callbacks.php:104
|
542 |
-
msgid ""
|
543 |
-
"Choose the terms from public categories, tags and other taxonomies a post "
|
544 |
-
"must belong to hide the ad from it."
|
545 |
-
msgstr ""
|
546 |
-
|
547 |
-
#: ../admin/includes/class-display-condition-callbacks.php:149
|
548 |
-
msgctxt "display the terms search field on ad edit page"
|
549 |
-
msgid "add more terms"
|
550 |
-
msgstr ""
|
551 |
-
|
552 |
-
#: ../admin/includes/class-display-condition-callbacks.php:150
|
553 |
-
msgid "add more terms"
|
554 |
-
msgstr ""
|
555 |
-
|
556 |
-
#: ../admin/includes/class-display-condition-callbacks.php:153
|
557 |
-
msgid "term name or id"
|
558 |
-
msgstr ""
|
559 |
-
|
560 |
-
#: ../admin/includes/class-display-condition-callbacks.php:197
|
561 |
-
msgid "Display on all <strong>category archive pages</strong>."
|
562 |
-
msgstr ""
|
563 |
-
|
564 |
-
#: ../admin/includes/class-display-condition-callbacks.php:200
|
565 |
-
msgid ""
|
566 |
-
"Choose the terms from public categories, tags and other taxonomies on "
|
567 |
-
"which's archive page ads can appear"
|
568 |
-
msgstr ""
|
569 |
-
|
570 |
-
#: ../admin/includes/class-display-condition-callbacks.php:217
|
571 |
-
msgid ""
|
572 |
-
"Choose the terms from public categories, tags and other taxonomies on "
|
573 |
-
"which's archive pages ads are hidden."
|
574 |
-
msgstr ""
|
575 |
-
|
576 |
-
#: ../admin/includes/class-display-condition-callbacks.php:239
|
577 |
-
msgid ""
|
578 |
-
"Display on all <strong>individual posts, pages</strong> and public post type "
|
579 |
-
"pages"
|
580 |
-
msgstr ""
|
581 |
-
|
582 |
-
#: ../admin/includes/class-display-condition-callbacks.php:242 ..
|
583 |
-
#: /includes/array_ad_conditions.php:57
|
584 |
-
msgid ""
|
585 |
-
"Choose on which individual posts, pages and public post type pages you want "
|
586 |
-
"to display or hide ads."
|
587 |
-
msgstr ""
|
588 |
-
|
589 |
-
#: ../admin/includes/class-display-condition-callbacks.php:259
|
590 |
-
msgid "What should happen with ads on the list of individual posts below?"
|
591 |
-
msgstr ""
|
592 |
-
|
593 |
-
#: ../admin/includes/class-display-condition-callbacks.php:260
|
594 |
-
msgid "ignore the list"
|
595 |
-
msgstr ""
|
596 |
-
|
597 |
-
#: ../admin/includes/class-display-condition-callbacks.php:261
|
598 |
-
msgid "display the ad only there"
|
599 |
-
msgstr ""
|
600 |
-
|
601 |
-
#: ../admin/includes/class-display-condition-callbacks.php:262
|
602 |
-
msgid "hide the ad here"
|
603 |
-
msgstr ""
|
604 |
-
|
605 |
-
#: ../admin/includes/class-display-condition-callbacks.php:270
|
606 |
-
msgid "Update warning"
|
607 |
-
msgstr ""
|
608 |
-
|
609 |
-
#: ../admin/includes/class-display-condition-callbacks.php:271
|
610 |
-
msgid ""
|
611 |
-
"Due to some conflicts before version 1.2.6, it is from now on only possible "
|
612 |
-
"to choose either individual pages to include or exclude an ad, but not both "
|
613 |
-
"with mixed settings. It seems you are still using mixed settings on this "
|
614 |
-
"page. Please consider changing your setup for this ad."
|
615 |
-
msgstr ""
|
616 |
-
|
617 |
-
#: ../admin/includes/class-display-condition-callbacks.php:272
|
618 |
-
msgid "Your old values are:"
|
619 |
-
msgstr ""
|
620 |
-
|
621 |
-
#: ../admin/includes/class-display-condition-callbacks.php:273
|
622 |
-
msgid "Post IDs the ad is displayed on:"
|
623 |
-
msgstr ""
|
624 |
-
|
625 |
-
#: ../admin/includes/class-display-condition-callbacks.php:274
|
626 |
-
msgid "Post IDs the ad is hidden from:"
|
627 |
-
msgstr ""
|
628 |
-
|
629 |
-
#: ../admin/includes/class-display-condition-callbacks.php:275
|
630 |
-
msgid ""
|
631 |
-
"Below you find the pages the ad is displayed on. If this is ok, just save "
|
632 |
-
"the ad. If not, please update your settings."
|
633 |
-
msgstr ""
|
634 |
-
|
635 |
-
#: ../admin/includes/class-display-condition-callbacks.php:318
|
636 |
-
msgid "new"
|
637 |
-
msgstr ""
|
638 |
-
|
639 |
-
#: ../admin/includes/class-display-condition-callbacks.php:320
|
640 |
-
msgid "type the title"
|
641 |
-
msgstr ""
|
642 |
-
|
643 |
-
#: ../admin/includes/class-notices.php:364
|
644 |
#, php-format
|
645 |
msgid ""
|
646 |
"You don’t seem to have an email address. Please use <a href=\"%s\" "
|
647 |
"target=\"_blank\">this form</a> to sign up."
|
648 |
msgstr ""
|
649 |
|
650 |
-
#: ../admin/includes/class-notices.php:
|
651 |
msgid "How embarrassing. The email server seems to be down. Please try again later."
|
652 |
msgstr ""
|
653 |
|
654 |
-
#: ../admin/includes/class-notices.php:
|
655 |
#, php-format
|
656 |
msgid ""
|
657 |
"Please check your email (%s) for the confirmation message. If you didn’t "
|
@@ -715,7 +609,7 @@ msgstr ""
|
|
715 |
|
716 |
#: ../admin/includes/class-overview-widgets.php:92 ../admin/includes/notices.php:
|
717 |
#: 35 ../admin/views/intro.php:73 ../admin/views/notices/inline.php:3 ..
|
718 |
-
#:
|
719 |
msgid "Subscribe me now"
|
720 |
msgstr ""
|
721 |
|
@@ -823,92 +717,88 @@ msgid "beautiful stats for all or single ads"
|
|
823 |
msgstr ""
|
824 |
|
825 |
#: ../admin/includes/class-overview-widgets.php:188
|
826 |
-
msgid "get stats for predefined and custom periods"
|
827 |
-
msgstr ""
|
828 |
-
|
829 |
-
#: ../admin/includes/class-overview-widgets.php:189
|
830 |
msgid "group stats by day, week or month"
|
831 |
msgstr ""
|
832 |
|
833 |
-
#: ../admin/includes/class-overview-widgets.php:
|
834 |
msgid "Get the Tracking add-on"
|
835 |
msgstr ""
|
836 |
|
837 |
-
#: ../admin/includes/class-overview-widgets.php:
|
838 |
msgid "Display ads based on the size of your visitor’s browser or device."
|
839 |
msgstr ""
|
840 |
|
841 |
-
#: ../admin/includes/class-overview-widgets.php:
|
842 |
msgid "set a range (from … to …) pixels for the browser size"
|
843 |
msgstr ""
|
844 |
|
845 |
-
#: ../admin/includes/class-overview-widgets.php:
|
846 |
msgid "set custom sizes for AdSense responsive ads"
|
847 |
msgstr ""
|
848 |
|
849 |
-
#: ../admin/includes/class-overview-widgets.php:
|
850 |
msgid "list all ads by their responsive settings"
|
851 |
msgstr ""
|
852 |
|
853 |
-
#: ../admin/includes/class-overview-widgets.php:
|
854 |
msgid "Get the Responsive add-on"
|
855 |
msgstr ""
|
856 |
|
857 |
-
#: ../admin/includes/class-overview-widgets.php:
|
858 |
msgid "Target visitors by their geo location."
|
859 |
msgstr ""
|
860 |
|
861 |
-
#: ../admin/includes/class-overview-widgets.php:
|
862 |
msgid "Get the Geo Targeting add-on"
|
863 |
msgstr ""
|
864 |
|
865 |
-
#: ../admin/includes/class-overview-widgets.php:
|
866 |
#: php:30
|
867 |
msgid ""
|
868 |
"Fix ads to the browser while users are scrolling and create best performing "
|
869 |
"anchor ads."
|
870 |
msgstr ""
|
871 |
|
872 |
-
#: ../admin/includes/class-overview-widgets.php:
|
873 |
msgid "position ads that don’t scroll with the screen"
|
874 |
msgstr ""
|
875 |
|
876 |
-
#: ../admin/includes/class-overview-widgets.php:
|
877 |
msgid "build anchor ads not only on mobile devices"
|
878 |
msgstr ""
|
879 |
|
880 |
-
#: ../admin/includes/class-overview-widgets.php:
|
881 |
#: php:32
|
882 |
msgid "Get the Sticky add-on"
|
883 |
msgstr ""
|
884 |
|
885 |
-
#: ../admin/includes/class-overview-widgets.php:
|
886 |
#: php:37
|
887 |
msgid "Display content and ads in layers and popups on custom events."
|
888 |
msgstr ""
|
889 |
|
890 |
-
#: ../admin/includes/class-overview-widgets.php:
|
891 |
msgid "display a popup after a user interaction like scrolling"
|
892 |
msgstr ""
|
893 |
|
894 |
-
#: ../admin/includes/class-overview-widgets.php:
|
895 |
msgid "optional background overlay"
|
896 |
msgstr ""
|
897 |
|
898 |
-
#: ../admin/includes/class-overview-widgets.php:
|
899 |
msgid "allow users to close the popup"
|
900 |
msgstr ""
|
901 |
|
902 |
-
#: ../admin/includes/class-overview-widgets.php:
|
903 |
#: php:39
|
904 |
msgid "Get the PopUp and Layer add-on"
|
905 |
msgstr ""
|
906 |
|
907 |
-
#: ../admin/includes/class-overview-widgets.php:
|
908 |
msgid "Create a beautiful and simple slider from your ads."
|
909 |
msgstr ""
|
910 |
|
911 |
-
#: ../admin/includes/class-overview-widgets.php:
|
912 |
msgid "Get the Slider add-on"
|
913 |
msgstr ""
|
914 |
|
@@ -949,18 +839,18 @@ msgid ""
|
|
949 |
"and Advanced Ads from my dedicated newsletter."
|
950 |
msgstr ""
|
951 |
|
952 |
-
#: ../admin/includes/notices.php:
|
953 |
msgid ""
|
954 |
"One or more license keys for <strong>Advanced Ads add-ons are invalid or "
|
955 |
"missing</strong>."
|
956 |
msgstr ""
|
957 |
|
958 |
-
#: ../admin/includes/notices.php:
|
959 |
#, php-format
|
960 |
msgid "Please add valid license keys <a href=\"%s\">here</a>."
|
961 |
msgstr ""
|
962 |
|
963 |
-
#: ../admin/includes/notices.php:
|
964 |
#, php-format
|
965 |
msgid ""
|
966 |
"One or more licenses for your <strong>Advanced Ads add-ons are expiring "
|
@@ -969,7 +859,7 @@ msgid ""
|
|
969 |
"target=\"_blank\">the add-on page</a>."
|
970 |
msgstr ""
|
971 |
|
972 |
-
#: ../admin/includes/notices.php:
|
973 |
#, php-format
|
974 |
msgid ""
|
975 |
"<strong>Advanced Ads</strong> license(s) expired. Support and updates are "
|
@@ -977,7 +867,7 @@ msgid ""
|
|
977 |
"information."
|
978 |
msgstr ""
|
979 |
|
980 |
-
#: ../admin/includes/notices.php:
|
981 |
#, php-format
|
982 |
msgid ""
|
983 |
"<img src=\"%3$s\" alt=\"Thomas\" width=\"80\" height=\"115\" class=\"advads-review-"
|
@@ -1004,53 +894,31 @@ msgctxt "shortcode creator"
|
|
1004 |
msgid "Cancel"
|
1005 |
msgstr ""
|
1006 |
|
1007 |
-
#: ../admin/views/ad-display-metabox.php:
|
1008 |
-
msgid "
|
1009 |
msgstr ""
|
1010 |
|
1011 |
-
#: ../admin/views/ad-display-metabox.php:
|
1012 |
-
msgid "
|
1013 |
-
msgstr ""
|
1014 |
-
|
1015 |
-
#: ../admin/views/ad-display-metabox.php:11
|
1016 |
-
msgid "Set display conditions"
|
1017 |
msgstr ""
|
1018 |
|
1019 |
-
#: ../admin/views/ad-display-metabox.php:
|
1020 |
msgid "If you want to display the ad everywhere, don't do anything here. "
|
1021 |
msgstr ""
|
1022 |
|
1023 |
-
#: ../admin/views/ad-display-metabox.php:
|
1024 |
-
|
1025 |
-
|
1026 |
-
|
1027 |
-
#: ../admin/views/ad-display-metabox.php:17
|
1028 |
-
#, php-format
|
1029 |
-
msgid ""
|
1030 |
-
"Learn more about display conditions from the <a href=\"%s\" "
|
1031 |
-
"target=\"_blank\">manual</a>."
|
1032 |
-
msgstr ""
|
1033 |
-
|
1034 |
-
#: ../admin/views/ad-display-metabox.php:34
|
1035 |
-
msgid "Other conditions"
|
1036 |
-
msgstr ""
|
1037 |
-
|
1038 |
-
#: ../admin/views/ad-display-metabox.php:52
|
1039 |
-
msgctxt "button label"
|
1040 |
-
msgid "on"
|
1041 |
-
msgstr ""
|
1042 |
-
|
1043 |
-
#: ../admin/views/ad-display-metabox.php:56
|
1044 |
-
msgctxt "button label"
|
1045 |
-
msgid "off"
|
1046 |
msgstr ""
|
1047 |
|
1048 |
-
#: ../admin/views/ad-display-metabox.php:
|
1049 |
-
|
|
|
1050 |
msgstr ""
|
1051 |
|
1052 |
-
#: ../admin/views/ad-display-metabox.php:
|
1053 |
-
|
|
|
1054 |
msgstr ""
|
1055 |
|
1056 |
#: ../admin/views/ad-group-edit.php:14
|
@@ -1093,7 +961,7 @@ msgid "Description"
|
|
1093 |
msgstr ""
|
1094 |
|
1095 |
#: ../admin/views/ad-group-list-form-row.php:7 ../admin/views/placements.php:23 ..
|
1096 |
-
#:
|
1097 |
msgid "Type"
|
1098 |
msgstr ""
|
1099 |
|
@@ -1128,12 +996,12 @@ msgid "Details"
|
|
1128 |
msgstr ""
|
1129 |
|
1130 |
#: ../admin/views/ad-group-list-row.php:8 ../admin/views/ad-group.php:63 ..
|
1131 |
-
#:
|
1132 |
msgid "shortcode"
|
1133 |
msgstr ""
|
1134 |
|
1135 |
#: ../admin/views/ad-group-list-row.php:11 ../admin/views/ad-group.php:66 ..
|
1136 |
-
#:
|
1137 |
msgid "template"
|
1138 |
msgstr ""
|
1139 |
|
@@ -1398,49 +1266,49 @@ msgid ""
|
|
1398 |
"with a space"
|
1399 |
msgstr ""
|
1400 |
|
1401 |
-
#: ../admin/views/ad-parameters-metabox.php:25 ../classes/ad_ajax_callbacks.php:
|
1402 |
msgid "size:"
|
1403 |
msgstr ""
|
1404 |
|
1405 |
-
#: ../admin/views/ad-parameters-metabox.php:26 ../classes/ad_ajax_callbacks.php:
|
1406 |
msgid "width"
|
1407 |
msgstr ""
|
1408 |
|
1409 |
-
#: ../admin/views/ad-parameters-metabox.php:27 ../classes/ad_ajax_callbacks.php:
|
1410 |
msgid "height"
|
1411 |
msgstr ""
|
1412 |
|
1413 |
-
#: ../admin/views/ad-submitbox-meta.php:
|
1414 |
msgid "Set expiry date"
|
1415 |
msgstr ""
|
1416 |
|
1417 |
-
#: ../admin/views/ad-submitbox-meta.php:
|
1418 |
msgid "Month"
|
1419 |
msgstr ""
|
1420 |
|
1421 |
-
#: ../admin/views/ad-submitbox-meta.php:
|
1422 |
#, php-format
|
1423 |
msgctxt "1: month number (01, 02, etc.), 2: month abbreviation"
|
1424 |
msgid "%1$s-%2$s"
|
1425 |
msgstr ""
|
1426 |
|
1427 |
-
#: ../admin/views/ad-submitbox-meta.php:
|
1428 |
msgid "Day"
|
1429 |
msgstr ""
|
1430 |
|
1431 |
-
#: ../admin/views/ad-submitbox-meta.php:
|
1432 |
msgid "Year"
|
1433 |
msgstr ""
|
1434 |
|
1435 |
-
#: ../admin/views/ad-submitbox-meta.php:
|
1436 |
msgid "Hour"
|
1437 |
msgstr ""
|
1438 |
|
1439 |
-
#: ../admin/views/ad-submitbox-meta.php:
|
1440 |
msgid "Minute"
|
1441 |
msgstr ""
|
1442 |
|
1443 |
-
#: ../admin/views/ad-submitbox-meta.php:
|
1444 |
#, php-format
|
1445 |
msgctxt "order of expiry date fields 1: month, 2: day, 3: year, 4: hour, 5: minute"
|
1446 |
msgid "%1$s %2$s, %3$s @ %4$s %5$s"
|
@@ -1452,10 +1320,6 @@ msgid ""
|
|
1452 |
"websites."
|
1453 |
msgstr ""
|
1454 |
|
1455 |
-
#: ../admin/views/ad-visitor-metabox.php:4
|
1456 |
-
msgid "Manual"
|
1457 |
-
msgstr ""
|
1458 |
-
|
1459 |
#: ../admin/views/ad-visitor-metabox.php:28
|
1460 |
msgid ""
|
1461 |
"Visitor conditions limit the number of users who can see your ad. There is "
|
@@ -1469,10 +1333,6 @@ msgid ""
|
|
1469 |
"if dynamic features get cached."
|
1470 |
msgstr ""
|
1471 |
|
1472 |
-
#: ../admin/views/ad-visitor-metabox.php:34
|
1473 |
-
msgid "New condition"
|
1474 |
-
msgstr ""
|
1475 |
-
|
1476 |
#: ../admin/views/ad-visitor-metabox.php:37
|
1477 |
msgctxt "visitor condition connector"
|
1478 |
msgid "and"
|
@@ -1483,36 +1343,28 @@ msgctxt "visitor condition connector"
|
|
1483 |
msgid "or"
|
1484 |
msgstr ""
|
1485 |
|
1486 |
-
#: ../admin/views/ad-visitor-metabox.php:
|
1487 |
-
msgid "-- choose a condition --"
|
1488 |
-
msgstr ""
|
1489 |
-
|
1490 |
-
#: ../admin/views/ad-visitor-metabox.php:46
|
1491 |
-
msgid "add"
|
1492 |
-
msgstr ""
|
1493 |
-
|
1494 |
-
#: ../admin/views/ad-visitor-metabox.php:50
|
1495 |
#, php-format
|
1496 |
msgid ""
|
1497 |
"Define the exact browser width for which an ad should be visible using the "
|
1498 |
"<a href=\"%s\" target=\"_blank\">Responsive add-on</a>."
|
1499 |
msgstr ""
|
1500 |
|
1501 |
-
#: ../admin/views/ad-visitor-metabox.php:
|
1502 |
msgid ""
|
1503 |
"The visitor conditions below are deprecated. Please use the new version of "
|
1504 |
"visitor conditions to replace it."
|
1505 |
msgstr ""
|
1506 |
|
1507 |
-
#: ../admin/views/ad-visitor-metabox.php:
|
1508 |
msgid "Display on all devices"
|
1509 |
msgstr ""
|
1510 |
|
1511 |
-
#: ../admin/views/ad-visitor-metabox.php:
|
1512 |
msgid "only on mobile devices"
|
1513 |
msgstr ""
|
1514 |
|
1515 |
-
#: ../admin/views/ad-visitor-metabox.php:
|
1516 |
msgid "not on mobile devices"
|
1517 |
msgstr ""
|
1518 |
|
@@ -1897,35 +1749,17 @@ msgstr ""
|
|
1897 |
msgid "the company behind Advanced Ads"
|
1898 |
msgstr ""
|
1899 |
|
1900 |
-
#: ../admin/views/support.php:
|
1901 |
-
msgid "Email was successfully sent."
|
1902 |
-
msgstr ""
|
1903 |
-
|
1904 |
-
#: ../admin/views/support.php:11
|
1905 |
-
msgid "Search"
|
1906 |
-
msgstr ""
|
1907 |
-
|
1908 |
-
#: ../admin/views/support.php:12
|
1909 |
-
msgid ""
|
1910 |
-
"Use the following form to search for solutions in the manual on "
|
1911 |
-
"wpadvancedads.com"
|
1912 |
-
msgstr ""
|
1913 |
-
|
1914 |
-
#: ../admin/views/support.php:15
|
1915 |
-
msgid "search"
|
1916 |
-
msgstr ""
|
1917 |
-
|
1918 |
-
#: ../admin/views/support.php:18
|
1919 |
msgid "Possible Issues"
|
1920 |
msgstr ""
|
1921 |
|
1922 |
-
#: ../admin/views/support.php:
|
1923 |
msgid ""
|
1924 |
"Please fix the red highlighted issues on this page or try to understand "
|
1925 |
"their consequences before contacting support."
|
1926 |
msgstr ""
|
1927 |
|
1928 |
-
#: ../admin/views/support.php:
|
1929 |
#, php-format
|
1930 |
msgid ""
|
1931 |
"Your <strong>PHP version (%s) is too low</strong>. Advanced Ads is built for "
|
@@ -1933,7 +1767,7 @@ msgid ""
|
|
1933 |
"Please ask your hosting provider for more information."
|
1934 |
msgstr ""
|
1935 |
|
1936 |
-
#: ../admin/views/support.php:
|
1937 |
#, php-format
|
1938 |
msgid ""
|
1939 |
"Your <strong>website uses cache</strong>. Some dynamic features like ad "
|
@@ -1942,22 +1776,22 @@ msgid ""
|
|
1942 |
"ads dynamically."
|
1943 |
msgstr ""
|
1944 |
|
1945 |
-
#: ../admin/views/support.php:
|
1946 |
msgid "There is a <strong>new WordPress version available</strong>. Please update."
|
1947 |
msgstr ""
|
1948 |
|
1949 |
-
#: ../admin/views/support.php:
|
1950 |
msgid "There are <strong>plugin updates available</strong>. Please update."
|
1951 |
msgstr ""
|
1952 |
|
1953 |
-
#: ../admin/views/support.php:
|
1954 |
#, php-format
|
1955 |
msgid ""
|
1956 |
"One or more license keys for <strong>Advanced Ads add-ons are invalid or "
|
1957 |
"missing</strong>. Please add valid license keys <a href=\"%s\">here</a>."
|
1958 |
msgstr ""
|
1959 |
|
1960 |
-
#: ../admin/views/support.php:
|
1961 |
#, php-format
|
1962 |
msgid ""
|
1963 |
"<strong>Autoptimize plugin detected</strong>. While this plugin is great for "
|
@@ -1966,44 +1800,62 @@ msgid ""
|
|
1966 |
"support for Autoptimize."
|
1967 |
msgstr ""
|
1968 |
|
1969 |
-
#: ../admin/views/support.php:
|
1970 |
#, php-format
|
1971 |
msgid ""
|
1972 |
"Plugins that are known to cause (partial) problems: <strong>%1$s</strong>. "
|
1973 |
"<a href=\"%2$s\" target=\"_blank\">Learn more</a>."
|
1974 |
msgstr ""
|
1975 |
|
1976 |
-
#: ../admin/views/support.php:
|
1977 |
#, php-format
|
1978 |
msgid ""
|
1979 |
"Ads are disabled for all or some pages. See \"disabled ads\" in <a "
|
1980 |
"href=\"%s\">settings</a>."
|
1981 |
msgstr ""
|
1982 |
|
1983 |
-
#: ../admin/views/support.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1984 |
msgid "Contact"
|
1985 |
msgstr ""
|
1986 |
|
1987 |
-
#: ../admin/views/support.php:
|
1988 |
#, php-format
|
1989 |
msgid ""
|
1990 |
"Please search the manual for a solution and take a look at <a href=\"%s\" "
|
1991 |
"target=\"_blank\">Ads not showing up?</a> before contacting me for help."
|
1992 |
msgstr ""
|
1993 |
|
1994 |
-
#: ../admin/views/support.php:
|
|
|
|
|
|
|
|
|
1995 |
msgid "your email"
|
1996 |
msgstr ""
|
1997 |
|
1998 |
-
#: ../admin/views/support.php:
|
1999 |
msgid "your name"
|
2000 |
msgstr ""
|
2001 |
|
2002 |
-
#: ../admin/views/support.php:
|
2003 |
msgid "your message"
|
2004 |
msgstr ""
|
2005 |
|
2006 |
-
#: ../admin/views/support.php:
|
2007 |
msgid "send"
|
2008 |
msgstr ""
|
2009 |
|
@@ -2013,6 +1865,13 @@ msgid ""
|
|
2013 |
"ad setup."
|
2014 |
msgstr ""
|
2015 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016 |
#: ../classes/ad_placements.php:31
|
2017 |
msgid "Manual Placement"
|
2018 |
msgstr ""
|
@@ -2165,6 +2024,120 @@ msgid ""
|
|
2165 |
"misfortunate formats in forms, but should not damage features."
|
2166 |
msgstr ""
|
2167 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2168 |
#: ../classes/EDD_SL_Plugin_Updater.php:177
|
2169 |
#, php-format
|
2170 |
msgid ""
|
@@ -2283,88 +2256,32 @@ msgstr ""
|
|
2283 |
msgid "Title:"
|
2284 |
msgstr ""
|
2285 |
|
2286 |
-
#: ../includes/array_ad_conditions.php:
|
2287 |
msgid "Post Types"
|
2288 |
msgstr ""
|
2289 |
|
2290 |
-
#: ../includes/array_ad_conditions.php:
|
2291 |
msgid "Categories, Tags and Taxonomies"
|
2292 |
msgstr ""
|
2293 |
|
2294 |
-
#: ../includes/array_ad_conditions.php:
|
2295 |
msgid ""
|
2296 |
"Choose terms from public category, tag and other taxonomies a post must "
|
2297 |
"belong to in order to have ads."
|
2298 |
msgstr ""
|
2299 |
|
2300 |
-
#: ../includes/array_ad_conditions.php:
|
2301 |
msgid "Category Archives"
|
2302 |
msgstr ""
|
2303 |
|
2304 |
-
#: ../includes/array_ad_conditions.php:
|
2305 |
msgid "comma seperated IDs of category archives"
|
2306 |
msgstr ""
|
2307 |
|
2308 |
-
#: ../includes/array_ad_conditions.php:
|
2309 |
msgid "Individual Posts, Pages and Public Post Types"
|
2310 |
msgstr ""
|
2311 |
|
2312 |
-
#: ../includes/array_ad_conditions.php:62
|
2313 |
-
msgid "Home Page"
|
2314 |
-
msgstr ""
|
2315 |
-
|
2316 |
-
#: ../includes/array_ad_conditions.php:63
|
2317 |
-
msgid "show on Home page"
|
2318 |
-
msgstr ""
|
2319 |
-
|
2320 |
-
#: ../includes/array_ad_conditions.php:67
|
2321 |
-
msgid "Singular Pages"
|
2322 |
-
msgstr ""
|
2323 |
-
|
2324 |
-
#: ../includes/array_ad_conditions.php:68
|
2325 |
-
msgid "show on singular pages/posts"
|
2326 |
-
msgstr ""
|
2327 |
-
|
2328 |
-
#: ../includes/array_ad_conditions.php:72
|
2329 |
-
msgid "Archive Pages"
|
2330 |
-
msgstr ""
|
2331 |
-
|
2332 |
-
#: ../includes/array_ad_conditions.php:73
|
2333 |
-
msgid "show on any type of archive page (category, tag, author and date)"
|
2334 |
-
msgstr ""
|
2335 |
-
|
2336 |
-
#: ../includes/array_ad_conditions.php:77
|
2337 |
-
msgid "Search Results"
|
2338 |
-
msgstr ""
|
2339 |
-
|
2340 |
-
#: ../includes/array_ad_conditions.php:78
|
2341 |
-
msgid "show on search result pages"
|
2342 |
-
msgstr ""
|
2343 |
-
|
2344 |
-
#: ../includes/array_ad_conditions.php:82
|
2345 |
-
msgid "404 Page"
|
2346 |
-
msgstr ""
|
2347 |
-
|
2348 |
-
#: ../includes/array_ad_conditions.php:83
|
2349 |
-
msgid "show on 404 error page"
|
2350 |
-
msgstr ""
|
2351 |
-
|
2352 |
-
#: ../includes/array_ad_conditions.php:87
|
2353 |
-
msgid "Attachment Pages"
|
2354 |
-
msgstr ""
|
2355 |
-
|
2356 |
-
#: ../includes/array_ad_conditions.php:88
|
2357 |
-
msgid "show on attachment pages"
|
2358 |
-
msgstr ""
|
2359 |
-
|
2360 |
-
#: ../includes/array_ad_conditions.php:92
|
2361 |
-
msgid "Secondary Queries"
|
2362 |
-
msgstr ""
|
2363 |
-
|
2364 |
-
#: ../includes/array_ad_conditions.php:93
|
2365 |
-
msgid "allow ads in secondary queries"
|
2366 |
-
msgstr ""
|
2367 |
-
|
2368 |
#: ../modules/ad-blocker/admin/admin.php:133
|
2369 |
msgid "The asset folder was rebuilt successfully"
|
2370 |
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: Mon Mar 14 2016 09:55:30 GMT+0100 (CET)\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"
|
44 |
msgid "http://webgilde.com"
|
45 |
msgstr ""
|
46 |
|
47 |
+
#: ../admin/class-advanced-ads-admin.php:265
|
48 |
msgid "Overview"
|
49 |
msgstr ""
|
50 |
|
51 |
+
#: ../admin/class-advanced-ads-admin.php:269 ../admin/class-advanced-ads-admin.
|
52 |
+
#: php:269 ../admin/includes/class-shortcode-creator.php:77 ../admin/views/ad-
|
53 |
#: group-list-form-row.php:28 ../admin/views/ad-group-list-header.php:5 ..
|
54 |
+
#: admin/views/placements.php:80 ../admin/views/placements.php:184 ..
|
55 |
+
#: classes/widget.php:89 ../public/class-advanced-ads.php:563
|
56 |
msgid "Ads"
|
57 |
msgstr ""
|
58 |
|
59 |
+
#: ../admin/class-advanced-ads-admin.php:273 ../admin/includes/class-shortcode-
|
60 |
#: creator.php:84 ../admin/views/placements.php:73 ../admin/views/placements.php:
|
61 |
#: 177 ../classes/widget.php:82
|
62 |
msgid "Ad Groups"
|
63 |
msgstr ""
|
64 |
|
65 |
+
#: ../admin/class-advanced-ads-admin.php:273 ../public/class-advanced-ads.php:536
|
66 |
msgid "Groups"
|
67 |
msgstr ""
|
68 |
|
69 |
+
#: ../admin/class-advanced-ads-admin.php:278 ../admin/views/debug.php:14
|
70 |
msgid "Ad Placements"
|
71 |
msgstr ""
|
72 |
|
73 |
+
#: ../admin/class-advanced-ads-admin.php:278 ../admin/includes/class-shortcode-
|
74 |
#: creator.php:91 ../admin/views/placements.php:18 ../classes/widget.php:75
|
75 |
msgid "Placements"
|
76 |
msgstr ""
|
77 |
|
78 |
+
#: ../admin/class-advanced-ads-admin.php:282
|
79 |
msgid "Advanced Ads Settings"
|
80 |
msgstr ""
|
81 |
|
82 |
+
#: ../admin/class-advanced-ads-admin.php:282 ../admin/class-advanced-ads-admin.
|
83 |
+
#: php:531 ../admin/views/debug.php:11
|
84 |
msgid "Settings"
|
85 |
msgstr ""
|
86 |
|
87 |
+
#: ../admin/class-advanced-ads-admin.php:285
|
88 |
msgid "Advanced Ads Debugging"
|
89 |
msgstr ""
|
90 |
|
91 |
+
#: ../admin/class-advanced-ads-admin.php:285
|
92 |
msgid "Debug"
|
93 |
msgstr ""
|
94 |
|
95 |
+
#: ../admin/class-advanced-ads-admin.php:289 ../admin/class-advanced-ads-admin.
|
96 |
+
#: php:289
|
97 |
msgid "Advanced Ads Intro"
|
98 |
msgstr ""
|
99 |
|
100 |
+
#: ../admin/class-advanced-ads-admin.php:293 ../admin/class-advanced-ads-admin.
|
101 |
+
#: php:293 ../admin/class-advanced-ads-admin.php:1951
|
102 |
msgid "Support"
|
103 |
msgstr ""
|
104 |
|
105 |
+
#: ../admin/class-advanced-ads-admin.php:406
|
106 |
+
msgid "Please enter a message"
|
107 |
+
msgstr ""
|
108 |
+
|
109 |
+
#: ../admin/class-advanced-ads-admin.php:416
|
110 |
+
#, php-format
|
111 |
+
msgid "Email could NOT be sent. Please contact us directly at %s."
|
112 |
+
msgstr ""
|
113 |
+
|
114 |
+
#: ../admin/class-advanced-ads-admin.php:419
|
115 |
+
msgid "Please enter a valid email address"
|
116 |
+
msgstr ""
|
117 |
+
|
118 |
+
#: ../admin/class-advanced-ads-admin.php:445 ../admin/class-advanced-ads-admin.
|
119 |
+
#: php:472
|
120 |
msgid "Sorry, you are not allowed to access this feature."
|
121 |
msgstr ""
|
122 |
|
123 |
+
#: ../admin/class-advanced-ads-admin.php:458
|
124 |
msgid ""
|
125 |
"You attempted to edit an ad group that doesn’t exist. Perhaps it was "
|
126 |
"deleted?"
|
127 |
msgstr ""
|
128 |
|
129 |
+
#: ../admin/class-advanced-ads-admin.php:573
|
130 |
msgid "Ad Type"
|
131 |
msgstr ""
|
132 |
|
133 |
+
#: ../admin/class-advanced-ads-admin.php:576
|
134 |
msgid "Ad Parameters"
|
135 |
msgstr ""
|
136 |
|
137 |
+
#: ../admin/class-advanced-ads-admin.php:579
|
138 |
msgid "Layout / Output"
|
139 |
msgstr ""
|
140 |
|
141 |
+
#: ../admin/class-advanced-ads-admin.php:582
|
142 |
msgid "Display Conditions"
|
143 |
msgstr ""
|
144 |
|
145 |
+
#: ../admin/class-advanced-ads-admin.php:585
|
146 |
msgid "Visitor Conditions"
|
147 |
msgstr ""
|
148 |
|
149 |
+
#: ../admin/class-advanced-ads-admin.php:810 ../admin/class-advanced-ads-admin.
|
150 |
+
#: php:811
|
151 |
msgid "Ad updated."
|
152 |
msgstr ""
|
153 |
|
154 |
#. translators: %s: date and time of the revision
|
155 |
+
#: ../admin/class-advanced-ads-admin.php:813
|
156 |
#, php-format
|
157 |
msgid "Ad restored to revision from %s"
|
158 |
msgstr ""
|
159 |
|
160 |
+
#: ../admin/class-advanced-ads-admin.php:814
|
161 |
msgid "Ad published."
|
162 |
msgstr ""
|
163 |
|
164 |
+
#: ../admin/class-advanced-ads-admin.php:815
|
165 |
msgid "Ad saved."
|
166 |
msgstr ""
|
167 |
|
168 |
+
#: ../admin/class-advanced-ads-admin.php:816
|
169 |
msgid "Ad submitted."
|
170 |
msgstr ""
|
171 |
|
172 |
+
#: ../admin/class-advanced-ads-admin.php:818
|
173 |
#, php-format
|
174 |
msgid "Ad scheduled for: <strong>%1$s</strong>."
|
175 |
msgstr ""
|
176 |
|
177 |
#. translators: Publish box date format, see http://php.net/date
|
178 |
+
#: ../admin/class-advanced-ads-admin.php:820
|
179 |
msgid "M j, Y @ G:i"
|
180 |
msgstr ""
|
181 |
|
182 |
+
#: ../admin/class-advanced-ads-admin.php:822
|
183 |
msgid "Ad draft updated."
|
184 |
msgstr ""
|
185 |
|
186 |
+
#: ../admin/class-advanced-ads-admin.php:841
|
187 |
#, php-format
|
188 |
msgid "%s ad updated."
|
189 |
msgid_plural "%s ads updated."
|
190 |
msgstr[0] ""
|
191 |
msgstr[1] ""
|
192 |
|
193 |
+
#: ../admin/class-advanced-ads-admin.php:842
|
194 |
#, php-format
|
195 |
msgid "%s ad not updated, somebody is editing it."
|
196 |
msgid_plural "%s ads not updated, somebody is editing them."
|
197 |
msgstr[0] ""
|
198 |
msgstr[1] ""
|
199 |
|
200 |
+
#: ../admin/class-advanced-ads-admin.php:843
|
201 |
#, php-format
|
202 |
msgid "%s ad permanently deleted."
|
203 |
msgid_plural "%s ads permanently deleted."
|
204 |
msgstr[0] ""
|
205 |
msgstr[1] ""
|
206 |
|
207 |
+
#: ../admin/class-advanced-ads-admin.php:844
|
208 |
#, php-format
|
209 |
msgid "%s ad moved to the Trash."
|
210 |
msgid_plural "%s ads moved to the Trash."
|
211 |
msgstr[0] ""
|
212 |
msgstr[1] ""
|
213 |
|
214 |
+
#: ../admin/class-advanced-ads-admin.php:845
|
215 |
#, php-format
|
216 |
msgid "%s ad restored from the Trash."
|
217 |
msgid_plural "%s ads restored from the Trash."
|
218 |
msgstr[0] ""
|
219 |
msgstr[1] ""
|
220 |
|
221 |
+
#: ../admin/class-advanced-ads-admin.php:880 ../admin/views/settings.php:12
|
222 |
msgid "General"
|
223 |
msgstr ""
|
224 |
|
225 |
+
#: ../admin/class-advanced-ads-admin.php:892 ../admin/class-advanced-ads-admin.
|
226 |
+
#: php:996
|
227 |
msgid "Licenses"
|
228 |
msgstr ""
|
229 |
|
230 |
+
#: ../admin/class-advanced-ads-admin.php:903
|
231 |
msgid "Disable ads"
|
232 |
msgstr ""
|
233 |
|
234 |
+
#: ../admin/class-advanced-ads-admin.php:911
|
235 |
msgid "Hide ads for logged in users"
|
236 |
msgstr ""
|
237 |
|
238 |
+
#: ../admin/class-advanced-ads-admin.php:919
|
239 |
msgid "Use advanced JavaScript"
|
240 |
msgstr ""
|
241 |
|
242 |
+
#: ../admin/class-advanced-ads-admin.php:927
|
243 |
msgid "Unlimited ad injection"
|
244 |
msgstr ""
|
245 |
|
246 |
+
#: ../admin/class-advanced-ads-admin.php:935
|
247 |
msgid "Priority of content injection filter"
|
248 |
msgstr ""
|
249 |
|
250 |
+
#: ../admin/class-advanced-ads-admin.php:943
|
251 |
msgid "Hide ads from bots"
|
252 |
msgstr ""
|
253 |
|
254 |
+
#: ../admin/class-advanced-ads-admin.php:951
|
255 |
msgid "Disable notices"
|
256 |
msgstr ""
|
257 |
|
258 |
+
#: ../admin/class-advanced-ads-admin.php:959
|
259 |
msgid "ID prefix"
|
260 |
msgstr ""
|
261 |
|
262 |
+
#: ../admin/class-advanced-ads-admin.php:967
|
263 |
msgid "Remove Widget ID"
|
264 |
msgstr ""
|
265 |
|
266 |
+
#: ../admin/class-advanced-ads-admin.php:975
|
267 |
msgid "Allow editors to manage ads"
|
268 |
msgstr ""
|
269 |
|
270 |
+
#: ../admin/class-advanced-ads-admin.php:1050
|
271 |
msgid "(display to all)"
|
272 |
msgstr ""
|
273 |
|
274 |
+
#: ../admin/class-advanced-ads-admin.php:1051
|
275 |
msgid "Subscriber"
|
276 |
msgstr ""
|
277 |
|
278 |
+
#: ../admin/class-advanced-ads-admin.php:1052
|
279 |
msgid "Contributor"
|
280 |
msgstr ""
|
281 |
|
282 |
+
#: ../admin/class-advanced-ads-admin.php:1053
|
283 |
msgid "Author"
|
284 |
msgstr ""
|
285 |
|
286 |
+
#: ../admin/class-advanced-ads-admin.php:1054
|
287 |
msgid "Editor"
|
288 |
msgstr ""
|
289 |
|
290 |
+
#: ../admin/class-advanced-ads-admin.php:1055
|
291 |
msgid "Admin"
|
292 |
msgstr ""
|
293 |
|
294 |
+
#: ../admin/class-advanced-ads-admin.php:1063
|
295 |
msgid "Choose the lowest role a user must have in order to not see any ads."
|
296 |
msgstr ""
|
297 |
|
298 |
+
#: ../admin/class-advanced-ads-admin.php:1077
|
299 |
msgid ""
|
300 |
"<strong>notice: </strong>the file is currently enabled by an add-on that "
|
301 |
"needs it."
|
302 |
msgstr ""
|
303 |
|
304 |
+
#: ../admin/class-advanced-ads-admin.php:1080
|
305 |
#, php-format
|
306 |
msgid ""
|
307 |
"Enable advanced JavaScript functions (<a href=\"%s\" target=\"_blank\">here</a>)."
|
309 |
"from this file."
|
310 |
msgstr ""
|
311 |
|
312 |
+
#: ../admin/class-advanced-ads-admin.php:1093
|
313 |
msgid ""
|
314 |
"Some plugins and themes trigger ad injection where it shouldn’t happen. "
|
315 |
"Therefore, Advanced Ads ignores injected placements on non-singular pages "
|
318 |
"on archive pages AT YOUR OWN RISK."
|
319 |
msgstr ""
|
320 |
|
321 |
+
#: ../admin/class-advanced-ads-admin.php:1109
|
322 |
msgid ""
|
323 |
"Please check your post content. A priority of 10 and below might cause "
|
324 |
"issues (wpautop function might run twice)."
|
325 |
msgstr ""
|
326 |
|
327 |
+
#: ../admin/class-advanced-ads-admin.php:1111
|
328 |
msgid ""
|
329 |
"Play with this value in order to change the priority of the injected ads "
|
330 |
"compared to other auto injected elements in the post content."
|
331 |
msgstr ""
|
332 |
|
333 |
+
#: ../admin/class-advanced-ads-admin.php:1125
|
334 |
#, php-format
|
335 |
msgid ""
|
336 |
"Hide ads from crawlers, bots and empty user agents. Also prevents counting "
|
338 |
"Add-On</a>."
|
339 |
msgstr ""
|
340 |
|
341 |
+
#: ../admin/class-advanced-ads-admin.php:1126
|
342 |
msgid ""
|
343 |
"Disabling this option only makes sense if your ads contain content you want "
|
344 |
"to display to bots (like search engines) or your site is cached and bots "
|
345 |
"could create a cached version without the ads."
|
346 |
msgstr ""
|
347 |
|
348 |
+
#: ../admin/class-advanced-ads-admin.php:1139
|
349 |
msgid ""
|
350 |
"Disable internal notices like tips, tutorials, email newsletters and update "
|
351 |
"notices. Disabling notices is recommended if you run multiple blogs with "
|
352 |
"Advanced Ads already."
|
353 |
msgstr ""
|
354 |
|
355 |
+
#: ../admin/class-advanced-ads-admin.php:1161
|
356 |
msgid ""
|
357 |
"Prefix of class or id attributes in the frontend. Change it if you don’t "
|
358 |
"want <strong>ad blockers</strong> to mark these blocks as ads.<br/>You might "
|
359 |
"need to <strong>rewrite css rules afterwards</strong>."
|
360 |
msgstr ""
|
361 |
|
362 |
+
#: ../admin/class-advanced-ads-admin.php:1182
|
363 |
msgid ""
|
364 |
"Remove the ID attribute from widgets in order to not make them an easy "
|
365 |
"target of ad blockers."
|
366 |
msgstr ""
|
367 |
|
368 |
+
#: ../admin/class-advanced-ads-admin.php:1185
|
369 |
+
msgid ""
|
370 |
+
"If checked, the Advanced Ads Widget will not work with the fixed option of "
|
371 |
+
"the <strong>Q2W3 Fixed Widget</strong> plugin."
|
372 |
+
msgstr ""
|
373 |
+
|
374 |
+
#: ../admin/class-advanced-ads-admin.php:1207
|
375 |
msgid "Allow editors to also manage and publish ads."
|
376 |
msgstr ""
|
377 |
|
378 |
+
#: ../admin/class-advanced-ads-admin.php:1208
|
379 |
#, php-format
|
380 |
msgid ""
|
381 |
"You can assign different ad-related roles on a user basis with <a href=\"%s\" "
|
382 |
"target=\"_blank\">Advanced Ads Pro</a>."
|
383 |
msgstr ""
|
384 |
|
385 |
+
#: ../admin/class-advanced-ads-admin.php:1298
|
386 |
msgid "Ad Details"
|
387 |
msgstr ""
|
388 |
|
389 |
+
#: ../admin/class-advanced-ads-admin.php:1299
|
390 |
msgid "Ad Planning"
|
391 |
msgstr ""
|
392 |
|
393 |
+
#: ../admin/class-advanced-ads-admin.php:1434
|
394 |
msgid "Ad Settings"
|
395 |
msgstr ""
|
396 |
|
397 |
+
#: ../admin/class-advanced-ads-admin.php:1513 ../admin/views/overview.php:23
|
398 |
msgid "Ads Dashboard"
|
399 |
msgstr ""
|
400 |
|
401 |
+
#: ../admin/class-advanced-ads-admin.php:1525
|
402 |
msgid "From the ad optimization universe"
|
403 |
msgstr ""
|
404 |
|
405 |
+
#: ../admin/class-advanced-ads-admin.php:1534
|
406 |
msgid "Advanced Ads Tutorials"
|
407 |
msgstr ""
|
408 |
|
409 |
+
#: ../admin/class-advanced-ads-admin.php:1545
|
410 |
#, php-format
|
411 |
msgid "%d ads – <a href=\"%s\">manage</a> - <a href=\"%s\">new</a>"
|
412 |
msgstr ""
|
413 |
|
414 |
+
#: ../admin/class-advanced-ads-admin.php:1556
|
415 |
msgid "plugin manual and homepage"
|
416 |
msgstr ""
|
417 |
|
418 |
+
#: ../admin/class-advanced-ads-admin.php:1563
|
419 |
msgid "Get the tutorial via email"
|
420 |
msgstr ""
|
421 |
|
422 |
+
#: ../admin/class-advanced-ads-admin.php:1570
|
423 |
msgid "Get AdSense tips via email"
|
424 |
msgstr ""
|
425 |
|
426 |
+
#: ../admin/class-advanced-ads-admin.php:1660
|
427 |
+
#, php-format
|
428 |
+
msgid "time of %s"
|
429 |
+
msgstr ""
|
430 |
+
|
431 |
+
#: ../admin/class-advanced-ads-admin.php:1695
|
432 |
msgid "Error while trying to register the license. Please contact support."
|
433 |
msgstr ""
|
434 |
|
435 |
+
#: ../admin/class-advanced-ads-admin.php:1701
|
436 |
msgid "Please enter and save a valid license key first."
|
437 |
msgstr ""
|
438 |
|
439 |
+
#: ../admin/class-advanced-ads-admin.php:1729
|
440 |
msgid "This is the bundle license key."
|
441 |
msgstr ""
|
442 |
|
443 |
+
#: ../admin/class-advanced-ads-admin.php:1730
|
444 |
msgid "This is not the correct key for this add-on."
|
445 |
msgstr ""
|
446 |
|
447 |
+
#: ../admin/class-advanced-ads-admin.php:1733
|
448 |
#, php-format
|
449 |
msgid "License is invalid. Reason: %s"
|
450 |
msgstr ""
|
451 |
|
452 |
+
#: ../admin/class-advanced-ads-admin.php:1777
|
453 |
msgid "Error while trying to disable the license. Please contact support."
|
454 |
msgstr ""
|
455 |
|
456 |
+
#: ../admin/class-advanced-ads-admin.php:1808
|
457 |
msgid "License couldn’t be deactivated. Please try again later or contact support."
|
458 |
msgstr ""
|
459 |
|
460 |
+
#: ../admin/class-advanced-ads-admin.php:1955
|
461 |
msgid "Add-Ons"
|
462 |
msgstr ""
|
463 |
|
471 |
msgid "starts %s"
|
472 |
msgstr ""
|
473 |
|
474 |
+
#: ../admin/includes/class-ad-groups-list.php:183 ../admin/views/ad-list-timing-
|
475 |
+
#: column.php:21
|
476 |
#, php-format
|
477 |
msgid "expires %s"
|
478 |
msgstr ""
|
479 |
|
480 |
+
#: ../admin/includes/class-ad-groups-list.php:185 ../admin/views/ad-list-timing-
|
481 |
+
#: column.php:23
|
482 |
#, php-format
|
483 |
msgid "<strong>expired</strong> %s"
|
484 |
msgstr ""
|
485 |
|
486 |
+
#: ../admin/includes/class-ad-groups-list.php:198
|
487 |
msgid "all published ads are displayed"
|
488 |
msgstr ""
|
489 |
|
490 |
+
#: ../admin/includes/class-ad-groups-list.php:200
|
491 |
#, php-format
|
492 |
msgid "up to %d ads displayed"
|
493 |
msgstr ""
|
494 |
|
495 |
+
#: ../admin/includes/class-ad-groups-list.php:203 ../admin/views/ad-group-list-
|
496 |
#: form-row.php:37
|
497 |
msgid "No ads assigned"
|
498 |
msgstr ""
|
499 |
|
500 |
+
#: ../admin/includes/class-ad-groups-list.php:251
|
501 |
msgid "Random ads"
|
502 |
msgstr ""
|
503 |
|
504 |
+
#: ../admin/includes/class-ad-groups-list.php:252
|
505 |
msgid "Display random ads based on ad weight"
|
506 |
msgstr ""
|
507 |
|
508 |
+
#: ../admin/includes/class-ad-groups-list.php:255
|
509 |
msgid "Ordered ads"
|
510 |
msgstr ""
|
511 |
|
512 |
+
#: ../admin/includes/class-ad-groups-list.php:256
|
513 |
msgid "Display ads with the highest ad weight first"
|
514 |
msgstr ""
|
515 |
|
516 |
+
#: ../admin/includes/class-ad-groups-list.php:275 ../public/class-advanced-ads.
|
517 |
#: php:567
|
518 |
msgid "Edit"
|
519 |
msgstr ""
|
520 |
|
521 |
+
#: ../admin/includes/class-ad-groups-list.php:276
|
522 |
msgid "Usage"
|
523 |
msgstr ""
|
524 |
|
525 |
+
#: ../admin/includes/class-ad-groups-list.php:285
|
526 |
msgid "Delete"
|
527 |
msgstr ""
|
528 |
|
529 |
+
#: ../admin/includes/class-ad-groups-list.php:306
|
530 |
msgid "Invalid Ad Group"
|
531 |
msgstr ""
|
532 |
|
533 |
+
#: ../admin/includes/class-ad-groups-list.php:311
|
534 |
msgid "You don’t have permission to change the ad groups"
|
535 |
msgstr ""
|
536 |
|
537 |
+
#: ../admin/includes/class-notices.php:367
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
538 |
#, php-format
|
539 |
msgid ""
|
540 |
"You don’t seem to have an email address. Please use <a href=\"%s\" "
|
541 |
"target=\"_blank\">this form</a> to sign up."
|
542 |
msgstr ""
|
543 |
|
544 |
+
#: ../admin/includes/class-notices.php:385
|
545 |
msgid "How embarrassing. The email server seems to be down. Please try again later."
|
546 |
msgstr ""
|
547 |
|
548 |
+
#: ../admin/includes/class-notices.php:390
|
549 |
#, php-format
|
550 |
msgid ""
|
551 |
"Please check your email (%s) for the confirmation message. If you didn’t "
|
609 |
|
610 |
#: ../admin/includes/class-overview-widgets.php:92 ../admin/includes/notices.php:
|
611 |
#: 35 ../admin/views/intro.php:73 ../admin/views/notices/inline.php:3 ..
|
612 |
+
#: admin/views/notices/subscribe.php:3
|
613 |
msgid "Subscribe me now"
|
614 |
msgstr ""
|
615 |
|
717 |
msgstr ""
|
718 |
|
719 |
#: ../admin/includes/class-overview-widgets.php:188
|
|
|
|
|
|
|
|
|
720 |
msgid "group stats by day, week or month"
|
721 |
msgstr ""
|
722 |
|
723 |
+
#: ../admin/includes/class-overview-widgets.php:190
|
724 |
msgid "Get the Tracking add-on"
|
725 |
msgstr ""
|
726 |
|
727 |
+
#: ../admin/includes/class-overview-widgets.php:198
|
728 |
msgid "Display ads based on the size of your visitor’s browser or device."
|
729 |
msgstr ""
|
730 |
|
731 |
+
#: ../admin/includes/class-overview-widgets.php:199
|
732 |
msgid "set a range (from … to …) pixels for the browser size"
|
733 |
msgstr ""
|
734 |
|
735 |
+
#: ../admin/includes/class-overview-widgets.php:200
|
736 |
msgid "set custom sizes for AdSense responsive ads"
|
737 |
msgstr ""
|
738 |
|
739 |
+
#: ../admin/includes/class-overview-widgets.php:201
|
740 |
msgid "list all ads by their responsive settings"
|
741 |
msgstr ""
|
742 |
|
743 |
+
#: ../admin/includes/class-overview-widgets.php:203
|
744 |
msgid "Get the Responsive add-on"
|
745 |
msgstr ""
|
746 |
|
747 |
+
#: ../admin/includes/class-overview-widgets.php:211
|
748 |
msgid "Target visitors by their geo location."
|
749 |
msgstr ""
|
750 |
|
751 |
+
#: ../admin/includes/class-overview-widgets.php:213
|
752 |
msgid "Get the Geo Targeting add-on"
|
753 |
msgstr ""
|
754 |
|
755 |
+
#: ../admin/includes/class-overview-widgets.php:221 ../admin/views/ad-info-top.
|
756 |
#: php:30
|
757 |
msgid ""
|
758 |
"Fix ads to the browser while users are scrolling and create best performing "
|
759 |
"anchor ads."
|
760 |
msgstr ""
|
761 |
|
762 |
+
#: ../admin/includes/class-overview-widgets.php:222
|
763 |
msgid "position ads that don’t scroll with the screen"
|
764 |
msgstr ""
|
765 |
|
766 |
+
#: ../admin/includes/class-overview-widgets.php:223
|
767 |
msgid "build anchor ads not only on mobile devices"
|
768 |
msgstr ""
|
769 |
|
770 |
+
#: ../admin/includes/class-overview-widgets.php:225 ../admin/views/ad-info-top.
|
771 |
#: php:32
|
772 |
msgid "Get the Sticky add-on"
|
773 |
msgstr ""
|
774 |
|
775 |
+
#: ../admin/includes/class-overview-widgets.php:233 ../admin/views/ad-info-top.
|
776 |
#: php:37
|
777 |
msgid "Display content and ads in layers and popups on custom events."
|
778 |
msgstr ""
|
779 |
|
780 |
+
#: ../admin/includes/class-overview-widgets.php:234
|
781 |
msgid "display a popup after a user interaction like scrolling"
|
782 |
msgstr ""
|
783 |
|
784 |
+
#: ../admin/includes/class-overview-widgets.php:235
|
785 |
msgid "optional background overlay"
|
786 |
msgstr ""
|
787 |
|
788 |
+
#: ../admin/includes/class-overview-widgets.php:236
|
789 |
msgid "allow users to close the popup"
|
790 |
msgstr ""
|
791 |
|
792 |
+
#: ../admin/includes/class-overview-widgets.php:238 ../admin/views/ad-info-top.
|
793 |
#: php:39
|
794 |
msgid "Get the PopUp and Layer add-on"
|
795 |
msgstr ""
|
796 |
|
797 |
+
#: ../admin/includes/class-overview-widgets.php:246
|
798 |
msgid "Create a beautiful and simple slider from your ads."
|
799 |
msgstr ""
|
800 |
|
801 |
+
#: ../admin/includes/class-overview-widgets.php:248
|
802 |
msgid "Get the Slider add-on"
|
803 |
msgstr ""
|
804 |
|
839 |
"and Advanced Ads from my dedicated newsletter."
|
840 |
msgstr ""
|
841 |
|
842 |
+
#: ../admin/includes/notices.php:61
|
843 |
msgid ""
|
844 |
"One or more license keys for <strong>Advanced Ads add-ons are invalid or "
|
845 |
"missing</strong>."
|
846 |
msgstr ""
|
847 |
|
848 |
+
#: ../admin/includes/notices.php:61
|
849 |
#, php-format
|
850 |
msgid "Please add valid license keys <a href=\"%s\">here</a>."
|
851 |
msgstr ""
|
852 |
|
853 |
+
#: ../admin/includes/notices.php:67
|
854 |
#, php-format
|
855 |
msgid ""
|
856 |
"One or more licenses for your <strong>Advanced Ads add-ons are expiring "
|
859 |
"target=\"_blank\">the add-on page</a>."
|
860 |
msgstr ""
|
861 |
|
862 |
+
#: ../admin/includes/notices.php:73 ../admin/views/support.php:28
|
863 |
#, php-format
|
864 |
msgid ""
|
865 |
"<strong>Advanced Ads</strong> license(s) expired. Support and updates are "
|
867 |
"information."
|
868 |
msgstr ""
|
869 |
|
870 |
+
#: ../admin/includes/notices.php:79
|
871 |
#, php-format
|
872 |
msgid ""
|
873 |
"<img src=\"%3$s\" alt=\"Thomas\" width=\"80\" height=\"115\" class=\"advads-review-"
|
894 |
msgid "Cancel"
|
895 |
msgstr ""
|
896 |
|
897 |
+
#: ../admin/views/ad-display-metabox.php:6
|
898 |
+
msgid "Set Display Conditions to allow or hide the ad on specific pages."
|
899 |
msgstr ""
|
900 |
|
901 |
+
#: ../admin/views/ad-display-metabox.php:6 ../admin/views/ad-visitor-metabox.php:4
|
902 |
+
msgid "Manual"
|
|
|
|
|
|
|
|
|
903 |
msgstr ""
|
904 |
|
905 |
+
#: ../admin/views/ad-display-metabox.php:37
|
906 |
msgid "If you want to display the ad everywhere, don't do anything here. "
|
907 |
msgstr ""
|
908 |
|
909 |
+
#: ../admin/views/ad-display-metabox.php:40 ../admin/views/ad-visitor-metabox.php:
|
910 |
+
#: 34
|
911 |
+
msgid "New condition"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
912 |
msgstr ""
|
913 |
|
914 |
+
#: ../admin/views/ad-display-metabox.php:43 ../admin/views/ad-visitor-metabox.php:
|
915 |
+
#: 41
|
916 |
+
msgid "-- choose a condition --"
|
917 |
msgstr ""
|
918 |
|
919 |
+
#: ../admin/views/ad-display-metabox.php:48 ../admin/views/ad-visitor-metabox.php:
|
920 |
+
#: 46
|
921 |
+
msgid "add"
|
922 |
msgstr ""
|
923 |
|
924 |
#: ../admin/views/ad-group-edit.php:14
|
961 |
msgstr ""
|
962 |
|
963 |
#: ../admin/views/ad-group-list-form-row.php:7 ../admin/views/placements.php:23 ..
|
964 |
+
#: modules/gadsense/admin/views/adsense-ad-parameters.php:48
|
965 |
msgid "Type"
|
966 |
msgstr ""
|
967 |
|
996 |
msgstr ""
|
997 |
|
998 |
#: ../admin/views/ad-group-list-row.php:8 ../admin/views/ad-group.php:63 ..
|
999 |
+
#: admin/views/ad-info.php:3 ../admin/views/placements.php:58
|
1000 |
msgid "shortcode"
|
1001 |
msgstr ""
|
1002 |
|
1003 |
#: ../admin/views/ad-group-list-row.php:11 ../admin/views/ad-group.php:66 ..
|
1004 |
+
#: admin/views/placements.php:61
|
1005 |
msgid "template"
|
1006 |
msgstr ""
|
1007 |
|
1266 |
"with a space"
|
1267 |
msgstr ""
|
1268 |
|
1269 |
+
#: ../admin/views/ad-parameters-metabox.php:25 ../classes/ad_ajax_callbacks.php:55
|
1270 |
msgid "size:"
|
1271 |
msgstr ""
|
1272 |
|
1273 |
+
#: ../admin/views/ad-parameters-metabox.php:26 ../classes/ad_ajax_callbacks.php:56
|
1274 |
msgid "width"
|
1275 |
msgstr ""
|
1276 |
|
1277 |
+
#: ../admin/views/ad-parameters-metabox.php:27 ../classes/ad_ajax_callbacks.php:57
|
1278 |
msgid "height"
|
1279 |
msgstr ""
|
1280 |
|
1281 |
+
#: ../admin/views/ad-submitbox-meta.php:6
|
1282 |
msgid "Set expiry date"
|
1283 |
msgstr ""
|
1284 |
|
1285 |
+
#: ../admin/views/ad-submitbox-meta.php:12
|
1286 |
msgid "Month"
|
1287 |
msgstr ""
|
1288 |
|
1289 |
+
#: ../admin/views/ad-submitbox-meta.php:16
|
1290 |
#, php-format
|
1291 |
msgctxt "1: month number (01, 02, etc.), 2: month abbreviation"
|
1292 |
msgid "%1$s-%2$s"
|
1293 |
msgstr ""
|
1294 |
|
1295 |
+
#: ../admin/views/ad-submitbox-meta.php:21
|
1296 |
msgid "Day"
|
1297 |
msgstr ""
|
1298 |
|
1299 |
+
#: ../admin/views/ad-submitbox-meta.php:22
|
1300 |
msgid "Year"
|
1301 |
msgstr ""
|
1302 |
|
1303 |
+
#: ../admin/views/ad-submitbox-meta.php:23
|
1304 |
msgid "Hour"
|
1305 |
msgstr ""
|
1306 |
|
1307 |
+
#: ../admin/views/ad-submitbox-meta.php:24
|
1308 |
msgid "Minute"
|
1309 |
msgstr ""
|
1310 |
|
1311 |
+
#: ../admin/views/ad-submitbox-meta.php:29
|
1312 |
#, php-format
|
1313 |
msgctxt "order of expiry date fields 1: month, 2: day, 3: year, 4: hour, 5: minute"
|
1314 |
msgid "%1$s %2$s, %3$s @ %4$s %5$s"
|
1320 |
"websites."
|
1321 |
msgstr ""
|
1322 |
|
|
|
|
|
|
|
|
|
1323 |
#: ../admin/views/ad-visitor-metabox.php:28
|
1324 |
msgid ""
|
1325 |
"Visitor conditions limit the number of users who can see your ad. There is "
|
1333 |
"if dynamic features get cached."
|
1334 |
msgstr ""
|
1335 |
|
|
|
|
|
|
|
|
|
1336 |
#: ../admin/views/ad-visitor-metabox.php:37
|
1337 |
msgctxt "visitor condition connector"
|
1338 |
msgid "and"
|
1343 |
msgid "or"
|
1344 |
msgstr ""
|
1345 |
|
1346 |
+
#: ../admin/views/ad-visitor-metabox.php:51
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1347 |
#, php-format
|
1348 |
msgid ""
|
1349 |
"Define the exact browser width for which an ad should be visible using the "
|
1350 |
"<a href=\"%s\" target=\"_blank\">Responsive add-on</a>."
|
1351 |
msgstr ""
|
1352 |
|
1353 |
+
#: ../admin/views/ad-visitor-metabox.php:112
|
1354 |
msgid ""
|
1355 |
"The visitor conditions below are deprecated. Please use the new version of "
|
1356 |
"visitor conditions to replace it."
|
1357 |
msgstr ""
|
1358 |
|
1359 |
+
#: ../admin/views/ad-visitor-metabox.php:118
|
1360 |
msgid "Display on all devices"
|
1361 |
msgstr ""
|
1362 |
|
1363 |
+
#: ../admin/views/ad-visitor-metabox.php:122
|
1364 |
msgid "only on mobile devices"
|
1365 |
msgstr ""
|
1366 |
|
1367 |
+
#: ../admin/views/ad-visitor-metabox.php:126
|
1368 |
msgid "not on mobile devices"
|
1369 |
msgstr ""
|
1370 |
|
1749 |
msgid "the company behind Advanced Ads"
|
1750 |
msgstr ""
|
1751 |
|
1752 |
+
#: ../admin/views/support.php:8
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1753 |
msgid "Possible Issues"
|
1754 |
msgstr ""
|
1755 |
|
1756 |
+
#: ../admin/views/support.php:9
|
1757 |
msgid ""
|
1758 |
"Please fix the red highlighted issues on this page or try to understand "
|
1759 |
"their consequences before contacting support."
|
1760 |
msgstr ""
|
1761 |
|
1762 |
+
#: ../admin/views/support.php:13
|
1763 |
#, php-format
|
1764 |
msgid ""
|
1765 |
"Your <strong>PHP version (%s) is too low</strong>. Advanced Ads is built for "
|
1767 |
"Please ask your hosting provider for more information."
|
1768 |
msgstr ""
|
1769 |
|
1770 |
+
#: ../admin/views/support.php:16
|
1771 |
#, php-format
|
1772 |
msgid ""
|
1773 |
"Your <strong>website uses cache</strong>. Some dynamic features like ad "
|
1776 |
"ads dynamically."
|
1777 |
msgstr ""
|
1778 |
|
1779 |
+
#: ../admin/views/support.php:19
|
1780 |
msgid "There is a <strong>new WordPress version available</strong>. Please update."
|
1781 |
msgstr ""
|
1782 |
|
1783 |
+
#: ../admin/views/support.php:22
|
1784 |
msgid "There are <strong>plugin updates available</strong>. Please update."
|
1785 |
msgstr ""
|
1786 |
|
1787 |
+
#: ../admin/views/support.php:25
|
1788 |
#, php-format
|
1789 |
msgid ""
|
1790 |
"One or more license keys for <strong>Advanced Ads add-ons are invalid or "
|
1791 |
"missing</strong>. Please add valid license keys <a href=\"%s\">here</a>."
|
1792 |
msgstr ""
|
1793 |
|
1794 |
+
#: ../admin/views/support.php:31
|
1795 |
#, php-format
|
1796 |
msgid ""
|
1797 |
"<strong>Autoptimize plugin detected</strong>. While this plugin is great for "
|
1800 |
"support for Autoptimize."
|
1801 |
msgstr ""
|
1802 |
|
1803 |
+
#: ../admin/views/support.php:34
|
1804 |
#, php-format
|
1805 |
msgid ""
|
1806 |
"Plugins that are known to cause (partial) problems: <strong>%1$s</strong>. "
|
1807 |
"<a href=\"%2$s\" target=\"_blank\">Learn more</a>."
|
1808 |
msgstr ""
|
1809 |
|
1810 |
+
#: ../admin/views/support.php:38
|
1811 |
#, php-format
|
1812 |
msgid ""
|
1813 |
"Ads are disabled for all or some pages. See \"disabled ads\" in <a "
|
1814 |
"href=\"%s\">settings</a>."
|
1815 |
msgstr ""
|
1816 |
|
1817 |
+
#: ../admin/views/support.php:49
|
1818 |
+
msgid "Search"
|
1819 |
+
msgstr ""
|
1820 |
+
|
1821 |
+
#: ../admin/views/support.php:50
|
1822 |
+
msgid ""
|
1823 |
+
"Use the following form to search for solutions in the manual on "
|
1824 |
+
"wpadvancedads.com"
|
1825 |
+
msgstr ""
|
1826 |
+
|
1827 |
+
#: ../admin/views/support.php:53
|
1828 |
+
msgid "search"
|
1829 |
+
msgstr ""
|
1830 |
+
|
1831 |
+
#: ../admin/views/support.php:55
|
1832 |
msgid "Contact"
|
1833 |
msgstr ""
|
1834 |
|
1835 |
+
#: ../admin/views/support.php:56
|
1836 |
#, php-format
|
1837 |
msgid ""
|
1838 |
"Please search the manual for a solution and take a look at <a href=\"%s\" "
|
1839 |
"target=\"_blank\">Ads not showing up?</a> before contacting me for help."
|
1840 |
msgstr ""
|
1841 |
|
1842 |
+
#: ../admin/views/support.php:58
|
1843 |
+
msgid "Email was successfully sent."
|
1844 |
+
msgstr ""
|
1845 |
+
|
1846 |
+
#: ../admin/views/support.php:67
|
1847 |
msgid "your email"
|
1848 |
msgstr ""
|
1849 |
|
1850 |
+
#: ../admin/views/support.php:71
|
1851 |
msgid "your name"
|
1852 |
msgstr ""
|
1853 |
|
1854 |
+
#: ../admin/views/support.php:75
|
1855 |
msgid "your message"
|
1856 |
msgstr ""
|
1857 |
|
1858 |
+
#: ../admin/views/support.php:80
|
1859 |
msgid "send"
|
1860 |
msgstr ""
|
1861 |
|
1865 |
"ad setup."
|
1866 |
msgstr ""
|
1867 |
|
1868 |
+
#: ../admin/views/notices/jqueryui_error.php:2
|
1869 |
+
#, php-format
|
1870 |
+
msgid ""
|
1871 |
+
"There might be a problem with layouts and scripts in your dashboard. Please "
|
1872 |
+
"check <a href=\"%s\" target=\"_blank\">this article to learn more</a>."
|
1873 |
+
msgstr ""
|
1874 |
+
|
1875 |
#: ../classes/ad_placements.php:31
|
1876 |
msgid "Manual Placement"
|
1877 |
msgstr ""
|
2024 |
"misfortunate formats in forms, but should not damage features."
|
2025 |
msgstr ""
|
2026 |
|
2027 |
+
#: ../classes/display-conditions.php:47
|
2028 |
+
msgid "post type"
|
2029 |
+
msgstr ""
|
2030 |
+
|
2031 |
+
#: ../classes/display-conditions.php:48 ../includes/array_ad_conditions.php:40
|
2032 |
+
msgid "Choose the public post types on which to display the ad."
|
2033 |
+
msgstr ""
|
2034 |
+
|
2035 |
+
#: ../classes/display-conditions.php:54
|
2036 |
+
msgid "specific pages"
|
2037 |
+
msgstr ""
|
2038 |
+
|
2039 |
+
#: ../classes/display-conditions.php:55 ../includes/array_ad_conditions.php:58
|
2040 |
+
msgid ""
|
2041 |
+
"Choose on which individual posts, pages and public post type pages you want "
|
2042 |
+
"to display or hide ads."
|
2043 |
+
msgstr ""
|
2044 |
+
|
2045 |
+
#: ../classes/display-conditions.php:60
|
2046 |
+
msgid "general conditions"
|
2047 |
+
msgstr ""
|
2048 |
+
|
2049 |
+
#: ../classes/display-conditions.php:66
|
2050 |
+
msgid "author"
|
2051 |
+
msgstr ""
|
2052 |
+
|
2053 |
+
#: ../classes/display-conditions.php:91
|
2054 |
+
#, php-format
|
2055 |
+
msgid "archive: %s"
|
2056 |
+
msgstr ""
|
2057 |
+
|
2058 |
+
#: ../classes/display-conditions.php:205 ../classes/display-conditions.php:258 ..
|
2059 |
+
#: classes/display-conditions.php:333
|
2060 |
+
msgid "show"
|
2061 |
+
msgstr ""
|
2062 |
+
|
2063 |
+
#: ../classes/display-conditions.php:206 ../classes/display-conditions.php:259 ..
|
2064 |
+
#: classes/display-conditions.php:334
|
2065 |
+
msgid "hide"
|
2066 |
+
msgstr ""
|
2067 |
+
|
2068 |
+
#: ../classes/display-conditions.php:298
|
2069 |
+
msgctxt "display the terms search field on ad edit page"
|
2070 |
+
msgid "add more terms"
|
2071 |
+
msgstr ""
|
2072 |
+
|
2073 |
+
#: ../classes/display-conditions.php:299
|
2074 |
+
msgid "add more terms"
|
2075 |
+
msgstr ""
|
2076 |
+
|
2077 |
+
#: ../classes/display-conditions.php:301
|
2078 |
+
msgid "term name or id"
|
2079 |
+
msgstr ""
|
2080 |
+
|
2081 |
+
#: ../classes/display-conditions.php:362
|
2082 |
+
msgid "post or page title"
|
2083 |
+
msgstr ""
|
2084 |
+
|
2085 |
+
#: ../classes/display-conditions.php:407 ../includes/array_ad_conditions.php:63
|
2086 |
+
msgid "Home Page"
|
2087 |
+
msgstr ""
|
2088 |
+
|
2089 |
+
#: ../classes/display-conditions.php:408 ../includes/array_ad_conditions.php:64
|
2090 |
+
msgid "show on Home page"
|
2091 |
+
msgstr ""
|
2092 |
+
|
2093 |
+
#: ../classes/display-conditions.php:412 ../includes/array_ad_conditions.php:68
|
2094 |
+
msgid "Singular Pages"
|
2095 |
+
msgstr ""
|
2096 |
+
|
2097 |
+
#: ../classes/display-conditions.php:413 ../includes/array_ad_conditions.php:69
|
2098 |
+
msgid "show on singular pages/posts"
|
2099 |
+
msgstr ""
|
2100 |
+
|
2101 |
+
#: ../classes/display-conditions.php:417 ../includes/array_ad_conditions.php:73
|
2102 |
+
msgid "Archive Pages"
|
2103 |
+
msgstr ""
|
2104 |
+
|
2105 |
+
#: ../classes/display-conditions.php:418 ../includes/array_ad_conditions.php:74
|
2106 |
+
msgid "show on any type of archive page (category, tag, author and date)"
|
2107 |
+
msgstr ""
|
2108 |
+
|
2109 |
+
#: ../classes/display-conditions.php:422 ../includes/array_ad_conditions.php:78
|
2110 |
+
msgid "Search Results"
|
2111 |
+
msgstr ""
|
2112 |
+
|
2113 |
+
#: ../classes/display-conditions.php:423 ../includes/array_ad_conditions.php:79
|
2114 |
+
msgid "show on search result pages"
|
2115 |
+
msgstr ""
|
2116 |
+
|
2117 |
+
#: ../classes/display-conditions.php:427 ../includes/array_ad_conditions.php:83
|
2118 |
+
msgid "404 Page"
|
2119 |
+
msgstr ""
|
2120 |
+
|
2121 |
+
#: ../classes/display-conditions.php:428 ../includes/array_ad_conditions.php:84
|
2122 |
+
msgid "show on 404 error page"
|
2123 |
+
msgstr ""
|
2124 |
+
|
2125 |
+
#: ../classes/display-conditions.php:432 ../includes/array_ad_conditions.php:88
|
2126 |
+
msgid "Attachment Pages"
|
2127 |
+
msgstr ""
|
2128 |
+
|
2129 |
+
#: ../classes/display-conditions.php:433 ../includes/array_ad_conditions.php:89
|
2130 |
+
msgid "show on attachment pages"
|
2131 |
+
msgstr ""
|
2132 |
+
|
2133 |
+
#: ../classes/display-conditions.php:437 ../includes/array_ad_conditions.php:93
|
2134 |
+
msgid "Secondary Queries"
|
2135 |
+
msgstr ""
|
2136 |
+
|
2137 |
+
#: ../classes/display-conditions.php:438 ../includes/array_ad_conditions.php:94
|
2138 |
+
msgid "allow ads in secondary queries"
|
2139 |
+
msgstr ""
|
2140 |
+
|
2141 |
#: ../classes/EDD_SL_Plugin_Updater.php:177
|
2142 |
#, php-format
|
2143 |
msgid ""
|
2256 |
msgid "Title:"
|
2257 |
msgstr ""
|
2258 |
|
2259 |
+
#: ../includes/array_ad_conditions.php:39
|
2260 |
msgid "Post Types"
|
2261 |
msgstr ""
|
2262 |
|
2263 |
+
#: ../includes/array_ad_conditions.php:45
|
2264 |
msgid "Categories, Tags and Taxonomies"
|
2265 |
msgstr ""
|
2266 |
|
2267 |
+
#: ../includes/array_ad_conditions.php:46
|
2268 |
msgid ""
|
2269 |
"Choose terms from public category, tag and other taxonomies a post must "
|
2270 |
"belong to in order to have ads."
|
2271 |
msgstr ""
|
2272 |
|
2273 |
+
#: ../includes/array_ad_conditions.php:51
|
2274 |
msgid "Category Archives"
|
2275 |
msgstr ""
|
2276 |
|
2277 |
+
#: ../includes/array_ad_conditions.php:52
|
2278 |
msgid "comma seperated IDs of category archives"
|
2279 |
msgstr ""
|
2280 |
|
2281 |
+
#: ../includes/array_ad_conditions.php:57
|
2282 |
msgid "Individual Posts, Pages and Public Post Types"
|
2283 |
msgstr ""
|
2284 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2285 |
#: ../modules/ad-blocker/admin/admin.php:133
|
2286 |
msgid "The asset folder was rebuilt successfully"
|
2287 |
msgstr ""
|
modules/display-by-query/config.php
DELETED
@@ -1,12 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
// module configuration
|
4 |
-
|
5 |
-
$path = dirname( __FILE__ );
|
6 |
-
|
7 |
-
return array(
|
8 |
-
'classmap' => array(
|
9 |
-
'Advanced_Ads_Module_Display_By_Query' => $path . '/display-by-query.class.php',
|
10 |
-
),
|
11 |
-
'textdomain' => null,
|
12 |
-
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
modules/display-by-query/display-by-query.class.php
DELETED
@@ -1,289 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class Advanced_Ads_Module_Display_By_Query {
|
4 |
-
|
5 |
-
protected $query_var_keys = array(
|
6 |
-
'is_single',
|
7 |
-
'is_archive',
|
8 |
-
'is_search',
|
9 |
-
'is_home',
|
10 |
-
'is_404',
|
11 |
-
'is_attachment',
|
12 |
-
'is_singular',
|
13 |
-
'is_front_page',
|
14 |
-
);
|
15 |
-
|
16 |
-
public function __construct() {
|
17 |
-
// register filter
|
18 |
-
add_filter( 'advanced-ads-ad-select-args', array( $this, 'ad_select_args_callback' ) );
|
19 |
-
add_filter( 'advanced-ads-can-display', array( $this, 'can_display' ), 10, 2 );
|
20 |
-
}
|
21 |
-
|
22 |
-
/**
|
23 |
-
* On demand provide current query arguments to ads.
|
24 |
-
*
|
25 |
-
* Existing arguments must not be overridden.
|
26 |
-
* Some arguments might be cachable.
|
27 |
-
*
|
28 |
-
* @param array $args
|
29 |
-
*
|
30 |
-
* @return array
|
31 |
-
*/
|
32 |
-
public function ad_select_args_callback( $args ) {
|
33 |
-
global $post, $wp_the_query, $wp_query;
|
34 |
-
|
35 |
-
if ( isset( $post ) ) {
|
36 |
-
if ( ! isset( $args['post'] ) ) {
|
37 |
-
$args['post'] = array();
|
38 |
-
}
|
39 |
-
if ( ! isset( $args['post']['id'] ) ) {
|
40 |
-
$args['post']['id'] = $post->ID;
|
41 |
-
}
|
42 |
-
if ( ! isset( $args['post']['post_type'] ) ) {
|
43 |
-
$args['post']['post_type'] = $post->post_type;
|
44 |
-
}
|
45 |
-
}
|
46 |
-
|
47 |
-
// pass query arguments
|
48 |
-
if ( isset( $wp_the_query ) ) {
|
49 |
-
if ( ! isset( $args['wp_the_query'] ) ) {
|
50 |
-
$args['wp_the_query'] = array();
|
51 |
-
}
|
52 |
-
$query = $wp_the_query->get_queried_object();
|
53 |
-
// term_id exists only for taxonomy archive pages
|
54 |
-
if ( ! isset( $args['wp_the_query']['term_id'] ) && $query ) {
|
55 |
-
$args['wp_the_query']['term_id'] = isset( $query->term_id ) ? $query->term_id : '';
|
56 |
-
}
|
57 |
-
|
58 |
-
// query type/ context
|
59 |
-
if ( ! isset( $args['wp_the_query']['is_main_query'] )) {
|
60 |
-
$args['wp_the_query']['is_main_query'] = $wp_query->is_main_query();
|
61 |
-
}
|
62 |
-
|
63 |
-
// query vars
|
64 |
-
foreach ($this->query_var_keys as $key) {
|
65 |
-
if ( ! isset( $args['wp_the_query'][ $key ] ) ) {
|
66 |
-
$args['wp_the_query'][ $key ] = $wp_the_query->$key();
|
67 |
-
}
|
68 |
-
}
|
69 |
-
}
|
70 |
-
|
71 |
-
return $args;
|
72 |
-
}
|
73 |
-
|
74 |
-
/**
|
75 |
-
*
|
76 |
-
* @param mixed $id scalar (key) or array of keys as needle
|
77 |
-
* @param array $ids haystack
|
78 |
-
*
|
79 |
-
* @return boolean void if either argument is empty
|
80 |
-
*/
|
81 |
-
protected function in_array( $id, $ids ) {
|
82 |
-
// empty?
|
83 |
-
if ( ! isset( $id ) || $id === array() ) {
|
84 |
-
return ;
|
85 |
-
}
|
86 |
-
|
87 |
-
// need to explode?
|
88 |
-
if ( is_string( $ids) ) {
|
89 |
-
$ids = explode( ',', $ids );
|
90 |
-
}
|
91 |
-
|
92 |
-
// invalid?
|
93 |
-
if ( ! is_array( $ids ) ) {
|
94 |
-
return ;
|
95 |
-
}
|
96 |
-
|
97 |
-
return is_array( $id ) ? array_intersect( $id, $ids ) !== array() : in_array( $id, $ids );
|
98 |
-
}
|
99 |
-
|
100 |
-
protected function can_display_postids( $post, $_cond_value ) {
|
101 |
-
// this check is deprecated
|
102 |
-
if ( ! $this->can_display_ids( $post, $_cond_value ) ) {
|
103 |
-
return false;
|
104 |
-
}
|
105 |
-
|
106 |
-
// included posts
|
107 |
-
if ( isset( $_cond_value['method'] ) && isset( $_cond_value['ids'] ) && is_array( $_cond_value['ids'] ) ) {
|
108 |
-
switch ( $_cond_value['method'] ) {
|
109 |
-
case 'include' :
|
110 |
-
if ( $this->in_array( $post, $_cond_value['ids'] ) === false ) {
|
111 |
-
return false;
|
112 |
-
}
|
113 |
-
break;
|
114 |
-
|
115 |
-
case 'exclude' :
|
116 |
-
if ( $this->in_array( $post, $_cond_value['ids'] ) === true ) {
|
117 |
-
return false;
|
118 |
-
}
|
119 |
-
break ;
|
120 |
-
}
|
121 |
-
}
|
122 |
-
|
123 |
-
return true;
|
124 |
-
}
|
125 |
-
|
126 |
-
protected function can_display_categoryids( $post, $post_type, $_cond_value ) {
|
127 |
-
// get all taxonomies of the post
|
128 |
-
$term_ids = $this->get_object_terms( $post, $post_type );
|
129 |
-
|
130 |
-
return $this->can_display_ids( $term_ids, $_cond_value );
|
131 |
-
}
|
132 |
-
|
133 |
-
/**
|
134 |
-
* get all terms of a specific post or post type
|
135 |
-
*
|
136 |
-
* @param int $post id of the post
|
137 |
-
* @param string $post_type name of the post type
|
138 |
-
*
|
139 |
-
* @return arr $out ids of terms this post belongs to
|
140 |
-
*/
|
141 |
-
protected function get_object_terms( $post, $post_type ) {
|
142 |
-
|
143 |
-
$post = (int) $post;
|
144 |
-
if ( ! $post ) {
|
145 |
-
return array();
|
146 |
-
}
|
147 |
-
|
148 |
-
// get post type taxonomies
|
149 |
-
$taxonomies = get_object_taxonomies( $post_type, 'objects' );
|
150 |
-
|
151 |
-
$term_ids = array();
|
152 |
-
foreach ( array_keys( $taxonomies ) as $taxonomy_slug ){
|
153 |
-
|
154 |
-
// get the terms related to post
|
155 |
-
$terms = get_the_terms( $post, $taxonomy_slug );
|
156 |
-
|
157 |
-
if ( ! empty( $terms ) ) {
|
158 |
-
foreach ( $terms as $term ) {
|
159 |
-
$term_ids[] = $term->term_id;
|
160 |
-
}
|
161 |
-
}
|
162 |
-
}
|
163 |
-
|
164 |
-
return $term_ids;
|
165 |
-
}
|
166 |
-
|
167 |
-
protected function can_display_ids( $ids, $_cond_value ) {
|
168 |
-
if ( isset( $_cond_value['include'] ) && ! empty( $_cond_value['include'] ) && $this->in_array( $ids, $_cond_value['include'] ) === false ){
|
169 |
-
return false;
|
170 |
-
}
|
171 |
-
|
172 |
-
if ( isset( $_cond_value['exclude'] ) && ! empty( $_cond_value['exclude'] ) && $this->in_array( $ids, $_cond_value['exclude'] ) === true ){
|
173 |
-
return false;
|
174 |
-
}
|
175 |
-
|
176 |
-
return true;
|
177 |
-
}
|
178 |
-
|
179 |
-
/**
|
180 |
-
* check display conditions
|
181 |
-
*
|
182 |
-
* @since 1.1.0 moved here from can_display()
|
183 |
-
* @return bool $can_display true if can be displayed in frontend
|
184 |
-
*/
|
185 |
-
public function can_display( $can_display, $ad ) {
|
186 |
-
if ( ! $can_display ) {
|
187 |
-
return false;
|
188 |
-
}
|
189 |
-
|
190 |
-
$options = $ad->options();
|
191 |
-
if (
|
192 |
-
// test if anything is to be limited at all
|
193 |
-
! isset( $options['conditions'] )
|
194 |
-
|| ! is_array( $options['conditions'] )
|
195 |
-
// query arguments required
|
196 |
-
|| ! isset( $options['wp_the_query'] )
|
197 |
-
// display ad if conditions are explicitely disabled
|
198 |
-
|| ( isset( $options['conditions']['enabled'] ) && ! $options['conditions']['enabled'] )
|
199 |
-
) {
|
200 |
-
return true;
|
201 |
-
}
|
202 |
-
$conditions = $options['conditions'];
|
203 |
-
$query = $options['wp_the_query'];
|
204 |
-
$post = isset( $options['post'] ) ? $options['post'] : null;
|
205 |
-
|
206 |
-
foreach ( $conditions as $_cond_key => $_cond_value ) {
|
207 |
-
$is_not_cond_all = ! isset( $_cond_value['all'] ) || empty( $_cond_value['all'] );
|
208 |
-
switch ( $_cond_key ){
|
209 |
-
// check for post ids
|
210 |
-
case 'postids' :
|
211 |
-
if (
|
212 |
-
isset( $post ) && isset( $post['id'] ) && $is_not_cond_all
|
213 |
-
&& isset( $query['is_singular'] ) && $query['is_singular']
|
214 |
-
&& ! $this->can_display_postids( $post['id'], $_cond_value )
|
215 |
-
) {
|
216 |
-
return false;
|
217 |
-
}
|
218 |
-
break;
|
219 |
-
|
220 |
-
// check for category ids
|
221 |
-
case 'categoryids' :
|
222 |
-
// included
|
223 |
-
if (
|
224 |
-
isset( $post ) && isset( $post['id'] ) && $is_not_cond_all
|
225 |
-
&& isset( $query['is_singular'] ) && $query['is_singular']
|
226 |
-
&& ! $this->can_display_categoryids( $post['id'], $post['post_type'], $_cond_value )
|
227 |
-
) {
|
228 |
-
return false;
|
229 |
-
}
|
230 |
-
break;
|
231 |
-
|
232 |
-
// check for included category archive ids
|
233 |
-
// @link http://codex.wordpress.org/Conditional_Tags#A_Category_Page
|
234 |
-
case 'categoryarchiveids' :
|
235 |
-
if (
|
236 |
-
isset( $query['term_id'] ) && $is_not_cond_all
|
237 |
-
&& isset( $query['is_archive'] ) && $query['is_archive']
|
238 |
-
&& ! $this->can_display_ids( $query['term_id'], $_cond_value )
|
239 |
-
) {
|
240 |
-
return false;
|
241 |
-
}
|
242 |
-
break;
|
243 |
-
|
244 |
-
// check for included post types
|
245 |
-
case 'posttypes' :
|
246 |
-
// display everywhere, if include not set (= all is checked)
|
247 |
-
$post_type = isset( $post['post_type'] ) ? $post['post_type'] : false;
|
248 |
-
// TODO remove condition check for string; deprecated since 1.2.2
|
249 |
-
if ( $is_not_cond_all && ! $this->can_display_ids( $post_type, $_cond_value ) ) {
|
250 |
-
return false;
|
251 |
-
}
|
252 |
-
break;
|
253 |
-
|
254 |
-
// check is_front_page
|
255 |
-
// @link https://codex.wordpress.org/Conditional_Tags#The_Front_Page
|
256 |
-
case 'is_front_page' :
|
257 |
-
// check is_singular
|
258 |
-
// @link https://codex.wordpress.org/Conditional_Tags#A_Post_Type
|
259 |
-
case 'is_singular' :
|
260 |
-
// check is_archive
|
261 |
-
// @link https://codex.wordpress.org/Conditional_Tags#Any_Archive_Page
|
262 |
-
case 'is_archive' :
|
263 |
-
// check is_search
|
264 |
-
// @link https://codex.wordpress.org/Conditional_Tags#A_Search_Result_Page
|
265 |
-
case 'is_search' :
|
266 |
-
// check is_404
|
267 |
-
// @link https://codex.wordpress.org/Conditional_Tags#A_404_Not_Found_Page
|
268 |
-
case 'is_404' :
|
269 |
-
// check is_attachment
|
270 |
-
// @link https://codex.wordpress.org/Conditional_Tags#An_Attachment
|
271 |
-
case 'is_attachment' :
|
272 |
-
if ( $_cond_value == 0 && isset( $query[ $_cond_key ] ) && $query[ $_cond_key ] ) {
|
273 |
-
return false;
|
274 |
-
}
|
275 |
-
break;
|
276 |
-
// check !is_main_query
|
277 |
-
// @link https://codex.wordpress.org/Function_Reference/is_main_query
|
278 |
-
case 'is_main_query' :
|
279 |
-
// the usage is reversed for this: if this is not main query reject when off
|
280 |
-
if ( $_cond_value == 0 && isset( $query[ $_cond_key ] ) && ! $query[ $_cond_key ] ) {
|
281 |
-
return false;
|
282 |
-
}
|
283 |
-
break;
|
284 |
-
}
|
285 |
-
}
|
286 |
-
|
287 |
-
return true;
|
288 |
-
}
|
289 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
modules/display-by-query/main.php
DELETED
@@ -1,3 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
new Advanced_Ads_Module_Display_By_Query;
|
|
|
|
|
|
readme.txt
CHANGED
@@ -1,26 +1,26 @@
|
|
1 |
=== Advanced Ads ===
|
2 |
Contributors: webzunft
|
3 |
Donate link:https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=5RRRCEBGN3UT2
|
4 |
-
Tags: ads, ad,
|
5 |
Requires at least: WP 4.2, PHP 5.3
|
6 |
Tested up to: 4.4.2
|
7 |
-
Stable tag: 1.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
11 |
-
Manage and optimize your ads
|
12 |
|
13 |
== Description ==
|
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
|
16 |
|
17 |
[Full Feature List](https://wpadvancedads.com/features/).
|
18 |
|
19 |
= create and manage ads =
|
20 |
|
21 |
-
* create
|
22 |
* group ads to create ad rotations
|
23 |
-
* create drafts or
|
24 |
* set a date for when to publish the ad
|
25 |
* make internal notes about each ad
|
26 |
|
@@ -28,33 +28,34 @@ Advanced Ads is a simple ad manager made by a publisher for publishers. Based on
|
|
28 |
|
29 |
choose between different ad types that enable you to:
|
30 |
|
31 |
-
* insert code for ad and affiliate networks (e.g., Chitika, Amazon)
|
32 |
* dedicated support for Google AdSense
|
33 |
* display images and image banners
|
34 |
-
* use shortcodes (to also deliver ads from other ad plugins)
|
35 |
-
* create content rich
|
36 |
* flash files including a fallback – included in [Pro](https://wpadvancedads.com/add-ons/advanced-ads-pro/)
|
37 |
|
38 |
= display ads =
|
39 |
|
40 |
-
* auto inject
|
41 |
-
* display
|
42 |
-
* display
|
43 |
-
* widget
|
44 |
-
* display
|
45 |
-
* use placements in your theme to
|
46 |
* disable all ads on individual single pages
|
47 |
-
* set start time and expiry date for
|
48 |
-
* display multiple ads from
|
49 |
* define the order of ads from an ad group and allow default ads
|
50 |
|
51 |
= display conditions =
|
52 |
|
53 |
-
|
54 |
|
55 |
* individual posts, pages and other post type
|
56 |
* post type
|
57 |
* posts by category, tags, taxonomies
|
|
|
58 |
* archive pages by category, tags, taxonomies
|
59 |
* special page types like 404, attachment and front page
|
60 |
* hide ads on secondary queries (e.g. posts in sidebars)
|
@@ -63,7 +64,7 @@ global conditions
|
|
63 |
|
64 |
* disable all ads in the frontend (e.g. when your ad network breaks down)
|
65 |
* disable all ads on 404 pages (e.g. AdSense doesn’t allow that)
|
66 |
-
* disable all ads on non-singular pages
|
67 |
* disable all ads in secondary queries
|
68 |
* hide ads from bots and web crawlers
|
69 |
|
@@ -71,28 +72,28 @@ global conditions
|
|
71 |
|
72 |
display ads by conditions based on the visitor. [List of all visitor conditions](https://wpadvancedads.com/manual/visitor-conditions/)
|
73 |
|
74 |
-
* display or hide
|
75 |
-
* display or hide
|
76 |
-
* hide
|
77 |
* advanced visitor conditions: previous visited url (referrer), user capability, browser language, browser and device, url parameters included in [Pro](https://wpadvancedads.com/add-ons/advanced-ads-pro/)
|
78 |
* display ads by geo location with the [Geo Targeting add-on](https://wpadvancedads.com/add-ons/geo-targeting/)
|
79 |
-
* display ads by
|
80 |
|
81 |
= ad injection | placements =
|
82 |
|
83 |
-
Placements to
|
84 |
|
85 |
* ads after any given paragraph or headline in the post content
|
86 |
* ads at the top of the post content
|
87 |
* ads at the bottom of the post content
|
88 |
* ads before closing `</head>` tag
|
89 |
-
* ads
|
90 |
-
* many more with [add-ons](https://wpadvancedads.com/add-ons/)
|
91 |
|
92 |
= ad networks =
|
93 |
|
94 |
-
Advanced Ads is compatible with all ad networks and banners from affiliate programs like Google AdSense, Chitika, Clickbank, Amazon,
|
95 |
-
You can also use it to
|
96 |
|
97 |
= best support for mobile devices =
|
98 |
|
@@ -104,7 +105,7 @@ You can also use it to add additional ad network tags into header or footer of y
|
|
104 |
|
105 |
* switch sizes of an ad
|
106 |
* switch between normal and responsive ads
|
107 |
-
* automatic limit 3 AdSense
|
108 |
* hide AdSense on 404 pages by default (to comply with AdSense terms)
|
109 |
* insert Page-Level ads code globally
|
110 |
* assistant for exact sizes of responsive ads with the [Responsive add-on](https://wpadvancedads.com/add-ons/responsive-ads/)
|
@@ -195,6 +196,29 @@ There is no revenue share. Advanced Ads doesn’t alter your ad codes in a way t
|
|
195 |
|
196 |
== Changelog ==
|
197 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
198 |
= 1.6.17.1 =
|
199 |
|
200 |
* fixed complex Visitor Condition chains
|
1 |
=== Advanced Ads ===
|
2 |
Contributors: webzunft
|
3 |
Donate link:https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=5RRRCEBGN3UT2
|
4 |
+
Tags: ads, ad, ad inserter, ad injection, ad manager, ads manager, ad widget, adrotate, adsense, advertise, advertisements, advertising, adverts, advert, amazon, banner, banners, buysellads, chitika, clickbank, dfp, doubleclick, geotarget, geolocation, geo location, google dfp, monetization, widget
|
5 |
Requires at least: WP 4.2, PHP 5.3
|
6 |
Tested up to: 4.4.2
|
7 |
+
Stable tag: 1.7.0.1
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
11 |
+
Manage and optimize your ads as easy as creating posts. Including support for AdSense, ad injection, ad planning, ad widget, and ad rotation.
|
12 |
|
13 |
== Description ==
|
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 advertising plugin as a powerful, but light weight solution to not only manage and insert banners in WordPress, but to test and optimize them as well.
|
16 |
|
17 |
[Full Feature List](https://wpadvancedads.com/features/).
|
18 |
|
19 |
= create and manage ads =
|
20 |
|
21 |
+
* create a banner is as easy as creating a post
|
22 |
* group ads to create ad rotations
|
23 |
+
* create drafts or advertising only visible to logged in users
|
24 |
* set a date for when to publish the ad
|
25 |
* make internal notes about each ad
|
26 |
|
28 |
|
29 |
choose between different ad types that enable you to:
|
30 |
|
31 |
+
* insert code for ad and affiliate networks (e.g., AdSense, Chitika, Amazon, BuySellAds, DoubleClick)
|
32 |
* dedicated support for Google AdSense
|
33 |
* display images and image banners
|
34 |
+
* use shortcodes (to also deliver ads from other ad plugins like AdRotate or Simple Ads Manager)
|
35 |
+
* create content rich ads with the tinymc editor
|
36 |
* flash files including a fallback – included in [Pro](https://wpadvancedads.com/add-ons/advanced-ads-pro/)
|
37 |
|
38 |
= display ads =
|
39 |
|
40 |
+
* auto inject banner (see _ad injection_ below)
|
41 |
+
* display advertising in template files (with functions)
|
42 |
+
* display advertising in post content (with shortcakes)
|
43 |
+
* ad widget for sidebars and widget areas
|
44 |
+
* display ad groups based on customizable ad weight
|
45 |
+
* use placements in your theme to insert ads and groups in template files without coding
|
46 |
* disable all ads on individual single pages
|
47 |
+
* set start time and expiry date for advertising
|
48 |
+
* display multiple ads from a banner group (ad blocks)
|
49 |
* define the order of ads from an ad group and allow default ads
|
50 |
|
51 |
= display conditions =
|
52 |
|
53 |
+
show ads based on conditions like
|
54 |
|
55 |
* individual posts, pages and other post type
|
56 |
* post type
|
57 |
* posts by category, tags, taxonomies
|
58 |
+
* author
|
59 |
* archive pages by category, tags, taxonomies
|
60 |
* special page types like 404, attachment and front page
|
61 |
* hide ads on secondary queries (e.g. posts in sidebars)
|
64 |
|
65 |
* disable all ads in the frontend (e.g. when your ad network breaks down)
|
66 |
* disable all ads on 404 pages (e.g. AdSense doesn’t allow that)
|
67 |
+
* disable all ads on non-singular pages
|
68 |
* disable all ads in secondary queries
|
69 |
* hide ads from bots and web crawlers
|
70 |
|
72 |
|
73 |
display ads by conditions based on the visitor. [List of all visitor conditions](https://wpadvancedads.com/manual/visitor-conditions/)
|
74 |
|
75 |
+
* display or hide a banner for mobile visitors
|
76 |
+
* display or hide a banner for logged in visitors
|
77 |
+
* hide advertising from logged in users based on their role
|
78 |
* advanced visitor conditions: previous visited url (referrer), user capability, browser language, browser and device, url parameters included in [Pro](https://wpadvancedads.com/add-ons/advanced-ads-pro/)
|
79 |
* display ads by geo location with the [Geo Targeting add-on](https://wpadvancedads.com/add-ons/geo-targeting/)
|
80 |
+
* display ads by browser width with the [Responsive add-on](https://wpadvancedads.com/add-ons/responsive-ads/)
|
81 |
|
82 |
= ad injection | placements =
|
83 |
|
84 |
+
Placements to insert ads in pre-defined positions in your theme and content. [List of all placements](https://wpadvancedads.com/manual/placements/)
|
85 |
|
86 |
* ads after any given paragraph or headline in the post content
|
87 |
* ads at the top of the post content
|
88 |
* ads at the bottom of the post content
|
89 |
* ads before closing `</head>` tag
|
90 |
+
* ads page footer
|
91 |
+
* many more ad inserters with [add-ons](https://wpadvancedads.com/add-ons/)
|
92 |
|
93 |
= ad networks =
|
94 |
|
95 |
+
Advanced Ads is compatible with all ad networks and banners from affiliate programs like Google AdSense, Chitika, Clickbank, Amazon, and also Google DoubleClick (DFP).
|
96 |
+
You can also use it to insert additional ad network tags into header or footer of your site without additional coding.
|
97 |
|
98 |
= best support for mobile devices =
|
99 |
|
105 |
|
106 |
* switch sizes of an ad
|
107 |
* switch between normal and responsive ads
|
108 |
+
* automatic limit to 3 AdSense banners according to AdSense terms of service (can be disabled)
|
109 |
* hide AdSense on 404 pages by default (to comply with AdSense terms)
|
110 |
* insert Page-Level ads code globally
|
111 |
* assistant for exact sizes of responsive ads with the [Responsive add-on](https://wpadvancedads.com/add-ons/responsive-ads/)
|
196 |
|
197 |
== Changelog ==
|
198 |
|
199 |
+
= 1.7.0.1 =
|
200 |
+
|
201 |
+
* hotfix for missing get_current_screen issue
|
202 |
+
|
203 |
+
= 1.7 =
|
204 |
+
|
205 |
+
* rewritten Display Conditions interface and logic, see [manual](http://wpadvancedads.com/manual/display-conditions/)
|
206 |
+
* rich content ads now render oembed links
|
207 |
+
* added author display condition
|
208 |
+
* added link to Visitor Conditions manual
|
209 |
+
* added incompatibility warning for Q2W3 plugin
|
210 |
+
* home page display condition honored also on static pages
|
211 |
+
* single post display condition honored also on archive pages
|
212 |
+
* prevent ads from being loaded in wp_head when they are not a header placement
|
213 |
+
* optimized support form and added feedback messages
|
214 |
+
* fixed general secondary query setting
|
215 |
+
* fixes for jQuery issues and message for solutions
|
216 |
+
* fix error when editor role is missing
|
217 |
+
|
218 |
+
= 1.6.17.2 =
|
219 |
+
|
220 |
+
* hotfix for default time zones and expiry dates
|
221 |
+
|
222 |
= 1.6.17.1 =
|
223 |
|
224 |
* fixed complex Visitor Condition chains
|
vendor/autoload_52.php
CHANGED
@@ -4,4 +4,4 @@
|
|
4 |
|
5 |
require_once dirname(__FILE__) . '/composer'.'/autoload_real_52.php';
|
6 |
|
7 |
-
return
|
4 |
|
5 |
require_once dirname(__FILE__) . '/composer'.'/autoload_real_52.php';
|
6 |
|
7 |
+
return ComposerAutoloaderInitd27a6ff3b938123f5de12ad9c7d1dc16::getLoader();
|
vendor/composer/LICENSE
CHANGED
File without changes
|
vendor/composer/autoload_classmap.php
CHANGED
@@ -18,7 +18,7 @@ return array(
|
|
18 |
'Advanced_Ads_Admin_Notices' => $baseDir . '/admin/includes/class-notices.php',
|
19 |
'Advanced_Ads_Ajax' => $baseDir . '/classes/ad-ajax.php',
|
20 |
'Advanced_Ads_Checks' => $baseDir . '/classes/checks.php',
|
21 |
-
'
|
22 |
'Advanced_Ads_Group' => $baseDir . '/classes/ad_group.php',
|
23 |
'Advanced_Ads_Groups_List' => $baseDir . '/admin/includes/class-ad-groups-list.php',
|
24 |
'Advanced_Ads_Model' => $baseDir . '/classes/ad-model.php',
|
@@ -27,66 +27,8 @@ return array(
|
|
27 |
'Advanced_Ads_Plugin' => $baseDir . '/classes/plugin.php',
|
28 |
'Advanced_Ads_Select' => $baseDir . '/classes/ad-select.php',
|
29 |
'Advanced_Ads_Shortcode_Creator' => $baseDir . '/admin/includes/class-shortcode-creator.php',
|
|
|
30 |
'Advanced_Ads_Visitor_Conditions' => $baseDir . '/classes/visitor-conditions.php',
|
31 |
'Advanced_Ads_Widget' => $baseDir . '/classes/widget.php',
|
32 |
-
'Composer\\Installers\\AglInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AglInstaller.php',
|
33 |
-
'Composer\\Installers\\AimeosInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AimeosInstaller.php',
|
34 |
-
'Composer\\Installers\\AnnotateCmsInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AnnotateCmsInstaller.php',
|
35 |
-
'Composer\\Installers\\AsgardInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AsgardInstaller.php',
|
36 |
-
'Composer\\Installers\\BaseInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/BaseInstaller.php',
|
37 |
-
'Composer\\Installers\\BitrixInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/BitrixInstaller.php',
|
38 |
-
'Composer\\Installers\\CakePHPInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/CakePHPInstaller.php',
|
39 |
-
'Composer\\Installers\\ChefInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ChefInstaller.php',
|
40 |
-
'Composer\\Installers\\ClanCatsFrameworkInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ClanCatsFrameworkInstaller.php',
|
41 |
-
'Composer\\Installers\\CodeIgniterInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/CodeIgniterInstaller.php',
|
42 |
-
'Composer\\Installers\\Concrete5Installer' => $vendorDir . '/composer/installers/src/Composer/Installers/Concrete5Installer.php',
|
43 |
-
'Composer\\Installers\\CraftInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/CraftInstaller.php',
|
44 |
-
'Composer\\Installers\\CroogoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/CroogoInstaller.php',
|
45 |
-
'Composer\\Installers\\DokuWikiInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/DokuWikiInstaller.php',
|
46 |
-
'Composer\\Installers\\DolibarrInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/DolibarrInstaller.php',
|
47 |
-
'Composer\\Installers\\DrupalInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/DrupalInstaller.php',
|
48 |
-
'Composer\\Installers\\ElggInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ElggInstaller.php',
|
49 |
-
'Composer\\Installers\\FuelInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/FuelInstaller.php',
|
50 |
-
'Composer\\Installers\\FuelphpInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/FuelphpInstaller.php',
|
51 |
-
'Composer\\Installers\\GravInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/GravInstaller.php',
|
52 |
-
'Composer\\Installers\\HuradInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/HuradInstaller.php',
|
53 |
-
'Composer\\Installers\\Installer' => $vendorDir . '/composer/installers/src/Composer/Installers/Installer.php',
|
54 |
-
'Composer\\Installers\\JoomlaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/JoomlaInstaller.php',
|
55 |
-
'Composer\\Installers\\KirbyInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/KirbyInstaller.php',
|
56 |
-
'Composer\\Installers\\KohanaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/KohanaInstaller.php',
|
57 |
-
'Composer\\Installers\\LaravelInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/LaravelInstaller.php',
|
58 |
-
'Composer\\Installers\\LithiumInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/LithiumInstaller.php',
|
59 |
-
'Composer\\Installers\\MODULEWorkInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MODULEWorkInstaller.php',
|
60 |
-
'Composer\\Installers\\MODXEvoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MODXEvoInstaller.php',
|
61 |
-
'Composer\\Installers\\MagentoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MagentoInstaller.php',
|
62 |
-
'Composer\\Installers\\MakoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MakoInstaller.php',
|
63 |
-
'Composer\\Installers\\MediaWikiInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MediaWikiInstaller.php',
|
64 |
-
'Composer\\Installers\\MicroweberInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MicroweberInstaller.php',
|
65 |
-
'Composer\\Installers\\MoodleInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MoodleInstaller.php',
|
66 |
-
'Composer\\Installers\\OctoberInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/OctoberInstaller.php',
|
67 |
-
'Composer\\Installers\\OxidInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/OxidInstaller.php',
|
68 |
-
'Composer\\Installers\\PPIInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PPIInstaller.php',
|
69 |
-
'Composer\\Installers\\PhpBBInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PhpBBInstaller.php',
|
70 |
-
'Composer\\Installers\\PimcoreInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PimcoreInstaller.php',
|
71 |
-
'Composer\\Installers\\PiwikInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PiwikInstaller.php',
|
72 |
-
'Composer\\Installers\\PrestashopInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PrestashopInstaller.php',
|
73 |
-
'Composer\\Installers\\PuppetInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PuppetInstaller.php',
|
74 |
-
'Composer\\Installers\\RedaxoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/RedaxoInstaller.php',
|
75 |
-
'Composer\\Installers\\RoundcubeInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/RoundcubeInstaller.php',
|
76 |
-
'Composer\\Installers\\SMFInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/SMFInstaller.php',
|
77 |
-
'Composer\\Installers\\ShopwareInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ShopwareInstaller.php',
|
78 |
-
'Composer\\Installers\\SilverStripeInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/SilverStripeInstaller.php',
|
79 |
-
'Composer\\Installers\\Symfony1Installer' => $vendorDir . '/composer/installers/src/Composer/Installers/Symfony1Installer.php',
|
80 |
-
'Composer\\Installers\\TYPO3CmsInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TYPO3CmsInstaller.php',
|
81 |
-
'Composer\\Installers\\TYPO3FlowInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TYPO3FlowInstaller.php',
|
82 |
-
'Composer\\Installers\\TheliaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TheliaInstaller.php',
|
83 |
-
'Composer\\Installers\\TuskInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TuskInstaller.php',
|
84 |
-
'Composer\\Installers\\WHMCSInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/WHMCSInstaller.php',
|
85 |
-
'Composer\\Installers\\WolfCMSInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/WolfCMSInstaller.php',
|
86 |
-
'Composer\\Installers\\WordPressInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/WordPressInstaller.php',
|
87 |
-
'Composer\\Installers\\ZendInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ZendInstaller.php',
|
88 |
-
'Composer\\Installers\\ZikulaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ZikulaInstaller.php',
|
89 |
'EDD_SL_Plugin_Updater' => $baseDir . '/classes/EDD_SL_Plugin_Updater.php',
|
90 |
-
'xrstf\\Composer52\\AutoloadGenerator' => $vendorDir . '/xrstf/composer-php52/lib/xrstf/Composer52/AutoloadGenerator.php',
|
91 |
-
'xrstf\\Composer52\\Generator' => $vendorDir . '/xrstf/composer-php52/lib/xrstf/Composer52/Generator.php',
|
92 |
);
|
18 |
'Advanced_Ads_Admin_Notices' => $baseDir . '/admin/includes/class-notices.php',
|
19 |
'Advanced_Ads_Ajax' => $baseDir . '/classes/ad-ajax.php',
|
20 |
'Advanced_Ads_Checks' => $baseDir . '/classes/checks.php',
|
21 |
+
'Advanced_Ads_Display_Conditions' => $baseDir . '/classes/display-conditions.php',
|
22 |
'Advanced_Ads_Group' => $baseDir . '/classes/ad_group.php',
|
23 |
'Advanced_Ads_Groups_List' => $baseDir . '/admin/includes/class-ad-groups-list.php',
|
24 |
'Advanced_Ads_Model' => $baseDir . '/classes/ad-model.php',
|
27 |
'Advanced_Ads_Plugin' => $baseDir . '/classes/plugin.php',
|
28 |
'Advanced_Ads_Select' => $baseDir . '/classes/ad-select.php',
|
29 |
'Advanced_Ads_Shortcode_Creator' => $baseDir . '/admin/includes/class-shortcode-creator.php',
|
30 |
+
'Advanced_Ads_Upgrades' => $baseDir . '/classes/upgrades.php',
|
31 |
'Advanced_Ads_Visitor_Conditions' => $baseDir . '/classes/visitor-conditions.php',
|
32 |
'Advanced_Ads_Widget' => $baseDir . '/classes/widget.php',
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
'EDD_SL_Plugin_Updater' => $baseDir . '/classes/EDD_SL_Plugin_Updater.php',
|
|
|
|
|
34 |
);
|
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
|
6 |
private static $loader;
|
7 |
|
8 |
public static function loadClassLoader($class) {
|
@@ -19,9 +19,9 @@ class ComposerAutoloaderInita3996bab00651d25655716eb164356ba {
|
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
-
spl_autoload_register(array('
|
23 |
self::$loader = $loader = new xrstf_Composer52_ClassLoader();
|
24 |
-
spl_autoload_unregister(array('
|
25 |
|
26 |
$vendorDir = dirname(dirname(__FILE__));
|
27 |
$baseDir = dirname($vendorDir);
|
2 |
|
3 |
// autoload_real_52.php generated by xrstf/composer-php52
|
4 |
|
5 |
+
class ComposerAutoloaderInitd27a6ff3b938123f5de12ad9c7d1dc16 {
|
6 |
private static $loader;
|
7 |
|
8 |
public static function loadClassLoader($class) {
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
+
spl_autoload_register(array('ComposerAutoloaderInitd27a6ff3b938123f5de12ad9c7d1dc16', 'loadClassLoader'), true /*, true */);
|
23 |
self::$loader = $loader = new xrstf_Composer52_ClassLoader();
|
24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInitd27a6ff3b938123f5de12ad9c7d1dc16', 'loadClassLoader'));
|
25 |
|
26 |
$vendorDir = dirname(dirname(__FILE__));
|
27 |
$baseDir = dirname($vendorDir);
|
vendor/composer/installed.json
CHANGED
@@ -1,19 +1,56 @@
|
|
1 |
[
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
{
|
3 |
"name": "composer/installers",
|
4 |
-
"version": "v1.0.
|
5 |
-
"version_normalized": "1.0.
|
6 |
"source": {
|
7 |
"type": "git",
|
8 |
"url": "https://github.com/composer/installers.git",
|
9 |
-
"reference": "
|
10 |
},
|
11 |
"dist": {
|
12 |
"type": "zip",
|
13 |
-
"url": "https://api.github.com/repos/composer/installers/zipball/
|
14 |
-
"reference": "
|
15 |
"shasum": ""
|
16 |
},
|
|
|
|
|
|
|
17 |
"replace": {
|
18 |
"roundcube/plugin-installer": "*",
|
19 |
"shama/baton": "*"
|
@@ -22,10 +59,10 @@
|
|
22 |
"composer/composer": "1.0.*@dev",
|
23 |
"phpunit/phpunit": "4.1.*"
|
24 |
},
|
25 |
-
"time": "
|
26 |
-
"type": "composer-
|
27 |
"extra": {
|
28 |
-
"class": "Composer\\Installers\\
|
29 |
"branch-alias": {
|
30 |
"dev-master": "1.0-dev"
|
31 |
}
|
@@ -95,39 +132,5 @@
|
|
95 |
"zend",
|
96 |
"zikula"
|
97 |
]
|
98 |
-
},
|
99 |
-
{
|
100 |
-
"name": "xrstf/composer-php52",
|
101 |
-
"version": "v1.0.19",
|
102 |
-
"version_normalized": "1.0.19.0",
|
103 |
-
"source": {
|
104 |
-
"type": "hg",
|
105 |
-
"url": "https://bitbucket.org/xrstf/composer-php52",
|
106 |
-
"reference": "9a4a9c46d0347b39bf9159815301dc66fc25324e"
|
107 |
-
},
|
108 |
-
"dist": {
|
109 |
-
"type": "zip",
|
110 |
-
"url": "https://bitbucket.org/xrstf/composer-php52/get/9a4a9c46d0347b39bf9159815301dc66fc25324e.zip",
|
111 |
-
"reference": "9a4a9c46d0347b39bf9159815301dc66fc25324e",
|
112 |
-
"shasum": ""
|
113 |
-
},
|
114 |
-
"time": "2015-10-01 14:11:58",
|
115 |
-
"type": "library",
|
116 |
-
"extra": {
|
117 |
-
"branch-alias": {
|
118 |
-
"dev-default": "1.x-dev"
|
119 |
-
}
|
120 |
-
},
|
121 |
-
"installation-source": "dist",
|
122 |
-
"autoload": {
|
123 |
-
"psr-0": {
|
124 |
-
"xrstf\\Composer52": "lib/"
|
125 |
-
}
|
126 |
-
},
|
127 |
-
"notification-url": "https://packagist.org/downloads/",
|
128 |
-
"license": [
|
129 |
-
"MIT"
|
130 |
-
],
|
131 |
-
"homepage": "http://www.xrstf.de/"
|
132 |
}
|
133 |
]
|
1 |
[
|
2 |
+
{
|
3 |
+
"name": "xrstf/composer-php52",
|
4 |
+
"version": "v1.0.19",
|
5 |
+
"version_normalized": "1.0.19.0",
|
6 |
+
"source": {
|
7 |
+
"type": "hg",
|
8 |
+
"url": "https://bitbucket.org/xrstf/composer-php52",
|
9 |
+
"reference": "9a4a9c46d0347b39bf9159815301dc66fc25324e"
|
10 |
+
},
|
11 |
+
"dist": {
|
12 |
+
"type": "zip",
|
13 |
+
"url": "https://bitbucket.org/xrstf/composer-php52/get/9a4a9c46d0347b39bf9159815301dc66fc25324e.zip",
|
14 |
+
"reference": "9a4a9c46d0347b39bf9159815301dc66fc25324e",
|
15 |
+
"shasum": ""
|
16 |
+
},
|
17 |
+
"time": "2015-10-01 14:11:58",
|
18 |
+
"type": "library",
|
19 |
+
"extra": {
|
20 |
+
"branch-alias": {
|
21 |
+
"dev-default": "1.x-dev"
|
22 |
+
}
|
23 |
+
},
|
24 |
+
"installation-source": "dist",
|
25 |
+
"autoload": {
|
26 |
+
"psr-0": {
|
27 |
+
"xrstf\\Composer52": "lib/"
|
28 |
+
}
|
29 |
+
},
|
30 |
+
"notification-url": "https://packagist.org/downloads/",
|
31 |
+
"license": [
|
32 |
+
"MIT"
|
33 |
+
],
|
34 |
+
"homepage": "http://www.xrstf.de/"
|
35 |
+
},
|
36 |
{
|
37 |
"name": "composer/installers",
|
38 |
+
"version": "v1.0.23",
|
39 |
+
"version_normalized": "1.0.23.0",
|
40 |
"source": {
|
41 |
"type": "git",
|
42 |
"url": "https://github.com/composer/installers.git",
|
43 |
+
"reference": "6213d900e92647831f7a406d5c530ea1f3d4360e"
|
44 |
},
|
45 |
"dist": {
|
46 |
"type": "zip",
|
47 |
+
"url": "https://api.github.com/repos/composer/installers/zipball/6213d900e92647831f7a406d5c530ea1f3d4360e",
|
48 |
+
"reference": "6213d900e92647831f7a406d5c530ea1f3d4360e",
|
49 |
"shasum": ""
|
50 |
},
|
51 |
+
"require": {
|
52 |
+
"composer-plugin-api": "^1.0"
|
53 |
+
},
|
54 |
"replace": {
|
55 |
"roundcube/plugin-installer": "*",
|
56 |
"shama/baton": "*"
|
59 |
"composer/composer": "1.0.*@dev",
|
60 |
"phpunit/phpunit": "4.1.*"
|
61 |
},
|
62 |
+
"time": "2016-01-27 12:54:22",
|
63 |
+
"type": "composer-plugin",
|
64 |
"extra": {
|
65 |
+
"class": "Composer\\Installers\\Plugin",
|
66 |
"branch-alias": {
|
67 |
"dev-master": "1.0-dev"
|
68 |
}
|
132 |
"zend",
|
133 |
"zikula"
|
134 |
]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
135 |
}
|
136 |
]
|
vendor/composer/installers/.travis.yml
CHANGED
@@ -5,10 +5,17 @@ php:
|
|
5 |
- 5.4
|
6 |
- 5.5
|
7 |
- 5.6
|
|
|
8 |
- hhvm
|
9 |
|
10 |
-
|
11 |
-
|
12 |
-
|
|
|
13 |
|
14 |
-
|
|
|
|
|
|
|
|
|
|
5 |
- 5.4
|
6 |
- 5.5
|
7 |
- 5.6
|
8 |
+
- 7.0
|
9 |
- hhvm
|
10 |
|
11 |
+
matrix:
|
12 |
+
fast_finish: true
|
13 |
+
allow_failures:
|
14 |
+
- php: 7.0
|
15 |
|
16 |
+
before_script:
|
17 |
+
- composer self-update
|
18 |
+
- composer install
|
19 |
+
|
20 |
+
script:
|
21 |
+
- phpunit
|
vendor/composer/installers/README.md
CHANGED
@@ -36,6 +36,7 @@ is not needed to install packages with these frameworks:
|
|
36 |
| Aimeos | `aimeos-extension`
|
37 |
| Asgard | `asgard-module`<br>`asgard-theme`
|
38 |
| AGL | `agl-module`
|
|
|
39 |
| AnnotateCms | `annotatecms-module`<br>`annotatecms-component`<br>`annotatecms-service`
|
40 |
| Bitrix | `bitrix-module`<br>`bitrix-component`<br>`bitrix-theme`
|
41 |
| CakePHP 2+ | **`cakephp-plugin`**
|
@@ -55,6 +56,7 @@ is not needed to install packages with these frameworks:
|
|
55 |
| Hurad | `hurad-plugin`<br>`hurad-theme`
|
56 |
| Joomla | `joomla-component`<br>`joomla-module`<br>`joomla-template`<br>`joomla-plugin`<br>`joomla-library`
|
57 |
| Kirby | **`kirby-plugin`**
|
|
|
58 |
| Kohana | **`kohana-module`**
|
59 |
| Laravel | `laravel-library`
|
60 |
| Lithium | **`lithium-library`<br>`lithium-source`**
|
@@ -166,8 +168,8 @@ not be inflected.
|
|
166 |
## Contribute!
|
167 |
|
168 |
* [Fork and clone](https://help.github.com/articles/fork-a-repo).
|
169 |
-
* Run the command `php composer.phar install
|
170 |
-
dependencies. See [Composer](https://
|
171 |
* Use the command `phpunit` to run the tests. See [PHPUnit](http://phpunit.de).
|
172 |
* Create a branch, commit, push and send us a
|
173 |
[pull request](https://help.github.com/articles/using-pull-requests).
|
36 |
| Aimeos | `aimeos-extension`
|
37 |
| Asgard | `asgard-module`<br>`asgard-theme`
|
38 |
| AGL | `agl-module`
|
39 |
+
| Bonefish | `bonefish-package`
|
40 |
| AnnotateCms | `annotatecms-module`<br>`annotatecms-component`<br>`annotatecms-service`
|
41 |
| Bitrix | `bitrix-module`<br>`bitrix-component`<br>`bitrix-theme`
|
42 |
| CakePHP 2+ | **`cakephp-plugin`**
|
56 |
| Hurad | `hurad-plugin`<br>`hurad-theme`
|
57 |
| Joomla | `joomla-component`<br>`joomla-module`<br>`joomla-template`<br>`joomla-plugin`<br>`joomla-library`
|
58 |
| Kirby | **`kirby-plugin`**
|
59 |
+
| KodiCMS | `kodicms-plugin`<br>`kodicms-media`
|
60 |
| Kohana | **`kohana-module`**
|
61 |
| Laravel | `laravel-library`
|
62 |
| Lithium | **`lithium-library`<br>`lithium-source`**
|
168 |
## Contribute!
|
169 |
|
170 |
* [Fork and clone](https://help.github.com/articles/fork-a-repo).
|
171 |
+
* Run the command `php composer.phar install` to install the dependencies.
|
172 |
+
This will also install the dev dependencies. See [Composer](https://getcomposer.org/doc/03-cli.md#install).
|
173 |
* Use the command `phpunit` to run the tests. See [PHPUnit](http://phpunit.de).
|
174 |
* Create a branch, commit, push and send us a
|
175 |
[pull request](https://help.github.com/articles/using-pull-requests).
|
vendor/composer/installers/composer.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
{
|
2 |
"name": "composer/installers",
|
3 |
-
"type": "composer-
|
4 |
"license": "MIT",
|
5 |
"description": "A multi-framework Composer library installer",
|
6 |
"keywords": [
|
@@ -61,7 +61,7 @@
|
|
61 |
"psr-0": { "Composer\\Installers\\": "src/" }
|
62 |
},
|
63 |
"extra": {
|
64 |
-
"class": "Composer\\Installers\\
|
65 |
"branch-alias": {
|
66 |
"dev-master": "1.0-dev"
|
67 |
}
|
@@ -70,6 +70,9 @@
|
|
70 |
"shama/baton": "*",
|
71 |
"roundcube/plugin-installer": "*"
|
72 |
},
|
|
|
|
|
|
|
73 |
"require-dev": {
|
74 |
"composer/composer": "1.0.*@dev",
|
75 |
"phpunit/phpunit": "4.1.*"
|
1 |
{
|
2 |
"name": "composer/installers",
|
3 |
+
"type": "composer-plugin",
|
4 |
"license": "MIT",
|
5 |
"description": "A multi-framework Composer library installer",
|
6 |
"keywords": [
|
61 |
"psr-0": { "Composer\\Installers\\": "src/" }
|
62 |
},
|
63 |
"extra": {
|
64 |
+
"class": "Composer\\Installers\\Plugin",
|
65 |
"branch-alias": {
|
66 |
"dev-master": "1.0-dev"
|
67 |
}
|
70 |
"shama/baton": "*",
|
71 |
"roundcube/plugin-installer": "*"
|
72 |
},
|
73 |
+
"require": {
|
74 |
+
"composer-plugin-api": "^1.0"
|
75 |
+
},
|
76 |
"require-dev": {
|
77 |
"composer/composer": "1.0.*@dev",
|
78 |
"phpunit/phpunit": "4.1.*"
|
vendor/composer/installers/src/Composer/Installers/BaseInstaller.php
CHANGED
@@ -1,6 +1,7 @@
|
|
1 |
<?php
|
2 |
namespace Composer\Installers;
|
3 |
|
|
|
4 |
use Composer\Composer;
|
5 |
use Composer\Package\PackageInterface;
|
6 |
|
@@ -9,17 +10,20 @@ abstract class BaseInstaller
|
|
9 |
protected $locations = array();
|
10 |
protected $composer;
|
11 |
protected $package;
|
|
|
12 |
|
13 |
/**
|
14 |
* Initializes base installer.
|
15 |
*
|
16 |
* @param PackageInterface $package
|
17 |
* @param Composer $composer
|
|
|
18 |
*/
|
19 |
-
public function __construct(PackageInterface $package = null, Composer $composer = null)
|
20 |
{
|
21 |
$this->composer = $composer;
|
22 |
$this->package = $package;
|
|
|
23 |
}
|
24 |
|
25 |
/**
|
1 |
<?php
|
2 |
namespace Composer\Installers;
|
3 |
|
4 |
+
use Composer\IO\IOInterface;
|
5 |
use Composer\Composer;
|
6 |
use Composer\Package\PackageInterface;
|
7 |
|
10 |
protected $locations = array();
|
11 |
protected $composer;
|
12 |
protected $package;
|
13 |
+
protected $io;
|
14 |
|
15 |
/**
|
16 |
* Initializes base installer.
|
17 |
*
|
18 |
* @param PackageInterface $package
|
19 |
* @param Composer $composer
|
20 |
+
* @param IOInterface $io
|
21 |
*/
|
22 |
+
public function __construct(PackageInterface $package = null, Composer $composer = null, IOInterface $io = null)
|
23 |
{
|
24 |
$this->composer = $composer;
|
25 |
$this->package = $package;
|
26 |
+
$this->io = $io;
|
27 |
}
|
28 |
|
29 |
/**
|
vendor/composer/installers/src/Composer/Installers/BitrixInstaller.php
CHANGED
@@ -1,11 +1,89 @@
|
|
1 |
<?php
|
2 |
namespace Composer\Installers;
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
class BitrixInstaller extends BaseInstaller
|
5 |
{
|
6 |
protected $locations = array(
|
7 |
-
'module' => '
|
8 |
-
'component' => '
|
9 |
-
'theme' => '
|
10 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
}
|
1 |
<?php
|
2 |
namespace Composer\Installers;
|
3 |
|
4 |
+
use Composer\Util\Filesystem;
|
5 |
+
|
6 |
+
/**
|
7 |
+
* Installer for Bitrix Framework
|
8 |
+
*
|
9 |
+
* @author Nik Samokhvalov <nik@samokhvalov.info>
|
10 |
+
* @author Denis Kulichkin <onexhovia@gmail.com>
|
11 |
+
*/
|
12 |
class BitrixInstaller extends BaseInstaller
|
13 |
{
|
14 |
protected $locations = array(
|
15 |
+
'module' => 'bitrix/modules/{$name}/',
|
16 |
+
'component' => 'bitrix/components/{$name}/',
|
17 |
+
'theme' => 'bitrix/templates/{$name}/',
|
18 |
);
|
19 |
+
|
20 |
+
/**
|
21 |
+
* @var array Storage for informations about duplicates at all the time of installation packages
|
22 |
+
*/
|
23 |
+
private static $checkedDuplicates = array();
|
24 |
+
|
25 |
+
/**
|
26 |
+
* {@inheritdoc}
|
27 |
+
*/
|
28 |
+
protected function templatePath($path, array $vars = array())
|
29 |
+
{
|
30 |
+
$templatePath = parent::templatePath($path, $vars);
|
31 |
+
$this->checkDuplicates($templatePath, $vars);
|
32 |
+
|
33 |
+
return $templatePath;
|
34 |
+
}
|
35 |
+
|
36 |
+
/**
|
37 |
+
* Duplicates search packages
|
38 |
+
*
|
39 |
+
* @param string $templatePath
|
40 |
+
* @param array $vars
|
41 |
+
*/
|
42 |
+
protected function checkDuplicates($templatePath, array $vars = array())
|
43 |
+
{
|
44 |
+
/**
|
45 |
+
* Incorrect paths for backward compatibility
|
46 |
+
*/
|
47 |
+
$oldLocations = array(
|
48 |
+
'module' => 'local/modules/{$name}/',
|
49 |
+
'component' => 'local/components/{$name}/',
|
50 |
+
'theme' => 'local/templates/{$name}/'
|
51 |
+
);
|
52 |
+
|
53 |
+
$packageType = substr($vars['type'], strlen('bitrix') + 1);
|
54 |
+
$oldLocation = str_replace('{$name}', $vars['name'], $oldLocations[$packageType]);
|
55 |
+
|
56 |
+
if (in_array($oldLocation, static::$checkedDuplicates)) {
|
57 |
+
return;
|
58 |
+
}
|
59 |
+
|
60 |
+
if ($oldLocation !== $templatePath && file_exists($oldLocation) && $this->io && $this->io->isInteractive()) {
|
61 |
+
|
62 |
+
$this->io->writeError(' <error>Duplication of packages:</error>');
|
63 |
+
$this->io->writeError(' <info>Package ' . $oldLocation . ' will be called instead package ' . $templatePath . '</info>');
|
64 |
+
|
65 |
+
while (true) {
|
66 |
+
switch ($this->io->ask(' <info>Delete ' . $oldLocation . ' [y,n,?]?</info> ', '?')) {
|
67 |
+
case 'y':
|
68 |
+
$fs = new Filesystem();
|
69 |
+
$fs->removeDirectory($oldLocation);
|
70 |
+
break 2;
|
71 |
+
|
72 |
+
case 'n':
|
73 |
+
break 2;
|
74 |
+
|
75 |
+
case '?':
|
76 |
+
default:
|
77 |
+
$this->io->writeError(array(
|
78 |
+
' y - delete package ' . $oldLocation . ' and to continue with the installation',
|
79 |
+
' n - don\'t delete and to continue with the installation',
|
80 |
+
));
|
81 |
+
$this->io->writeError(' ? - print help');
|
82 |
+
break;
|
83 |
+
}
|
84 |
+
}
|
85 |
+
}
|
86 |
+
|
87 |
+
static::$checkedDuplicates[] = $oldLocation;
|
88 |
+
}
|
89 |
}
|
vendor/composer/installers/src/Composer/Installers/BonefishInstaller.php
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
namespace Composer\Installers;
|
3 |
+
|
4 |
+
class BonefishInstaller extends BaseInstaller
|
5 |
+
{
|
6 |
+
protected $locations = array(
|
7 |
+
'package' => 'Packages/{$vendor}/{$name}/'
|
8 |
+
);
|
9 |
+
}
|
vendor/composer/installers/src/Composer/Installers/CakePHPInstaller.php
CHANGED
@@ -3,8 +3,6 @@ namespace Composer\Installers;
|
|
3 |
|
4 |
use Composer\DependencyResolver\Pool;
|
5 |
use Composer\Package\PackageInterface;
|
6 |
-
use Composer\Package\LinkConstraint\MultiConstraint;
|
7 |
-
use Composer\Package\LinkConstraint\VersionConstraint;
|
8 |
|
9 |
class CakePHPInstaller extends BaseInstaller
|
10 |
{
|
@@ -52,21 +50,29 @@ class CakePHPInstaller extends BaseInstaller
|
|
52 |
*/
|
53 |
protected function matchesCakeVersion($matcher, $version)
|
54 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
$repositoryManager = $this->composer->getRepositoryManager();
|
56 |
if ($repositoryManager) {
|
57 |
$repos = $repositoryManager->getLocalRepository();
|
58 |
if (!$repos) {
|
59 |
return false;
|
60 |
}
|
61 |
-
$cake3 = new
|
62 |
-
new
|
63 |
-
new
|
64 |
));
|
65 |
$pool = new Pool('dev');
|
66 |
$pool->addRepository($repos);
|
67 |
$packages = $pool->whatProvides('cakephp/cakephp');
|
68 |
foreach ($packages as $package) {
|
69 |
-
$installed = new
|
70 |
if ($cake3->matches($installed)) {
|
71 |
return true;
|
72 |
break;
|
3 |
|
4 |
use Composer\DependencyResolver\Pool;
|
5 |
use Composer\Package\PackageInterface;
|
|
|
|
|
6 |
|
7 |
class CakePHPInstaller extends BaseInstaller
|
8 |
{
|
50 |
*/
|
51 |
protected function matchesCakeVersion($matcher, $version)
|
52 |
{
|
53 |
+
if (class_exists('Composer\Semver\Constraint\MultiConstraint')) {
|
54 |
+
$multiClass = 'Composer\Semver\Constraint\MultiConstraint';
|
55 |
+
$constraintClass = 'Composer\Semver\Constraint\Constraint';
|
56 |
+
} else {
|
57 |
+
$multiClass = 'Composer\Package\LinkConstraint\MultiConstraint';
|
58 |
+
$constraintClass = 'Composer\Package\LinkConstraint\VersionConstraint';
|
59 |
+
}
|
60 |
+
|
61 |
$repositoryManager = $this->composer->getRepositoryManager();
|
62 |
if ($repositoryManager) {
|
63 |
$repos = $repositoryManager->getLocalRepository();
|
64 |
if (!$repos) {
|
65 |
return false;
|
66 |
}
|
67 |
+
$cake3 = new $multiClass(array(
|
68 |
+
new $constraintClass($matcher, $version),
|
69 |
+
new $constraintClass('!=', '9999999-dev'),
|
70 |
));
|
71 |
$pool = new Pool('dev');
|
72 |
$pool->addRepository($repos);
|
73 |
$packages = $pool->whatProvides('cakephp/cakephp');
|
74 |
foreach ($packages as $package) {
|
75 |
+
$installed = new $constraintClass('=', $package->getVersion());
|
76 |
if ($cake3->matches($installed)) {
|
77 |
return true;
|
78 |
break;
|
vendor/composer/installers/src/Composer/Installers/CraftInstaller.php
CHANGED
@@ -1,9 +1,35 @@
|
|
1 |
<?php
|
2 |
namespace Composer\Installers;
|
3 |
|
|
|
|
|
|
|
4 |
class CraftInstaller extends BaseInstaller
|
5 |
{
|
|
|
|
|
|
|
6 |
protected $locations = array(
|
7 |
'plugin' => 'craft/plugins/{$name}/',
|
8 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
}
|
1 |
<?php
|
2 |
namespace Composer\Installers;
|
3 |
|
4 |
+
/**
|
5 |
+
* Installer for Craft Plugins
|
6 |
+
*/
|
7 |
class CraftInstaller extends BaseInstaller
|
8 |
{
|
9 |
+
const NAME_PREFIX = 'craft';
|
10 |
+
const NAME_SUFFIX = 'plugin';
|
11 |
+
|
12 |
protected $locations = array(
|
13 |
'plugin' => 'craft/plugins/{$name}/',
|
14 |
);
|
15 |
+
|
16 |
+
/**
|
17 |
+
* Strip `craft-` prefix and/or `-plugin` suffix from package names
|
18 |
+
*
|
19 |
+
* @param array $vars
|
20 |
+
*
|
21 |
+
* @return array
|
22 |
+
*/
|
23 |
+
final public function inflectPackageVars($vars)
|
24 |
+
{
|
25 |
+
return $this->inflectPluginVars($vars);
|
26 |
+
}
|
27 |
+
|
28 |
+
private function inflectPluginVars($vars)
|
29 |
+
{
|
30 |
+
$vars['name'] = preg_replace('/-' . self::NAME_SUFFIX . '$/i', '', $vars['name']);
|
31 |
+
$vars['name'] = preg_replace('/^' . self::NAME_PREFIX . '-/i', '', $vars['name']);
|
32 |
+
|
33 |
+
return $vars;
|
34 |
+
}
|
35 |
}
|
vendor/composer/installers/src/Composer/Installers/Installer.php
CHANGED
@@ -1,6 +1,7 @@
|
|
1 |
<?php
|
2 |
namespace Composer\Installers;
|
3 |
|
|
|
4 |
use Composer\Installer\LibraryInstaller;
|
5 |
use Composer\Package\PackageInterface;
|
6 |
use Composer\Repository\InstalledRepositoryInterface;
|
@@ -18,6 +19,7 @@ class Installer extends LibraryInstaller
|
|
18 |
'agl' => 'AglInstaller',
|
19 |
'annotatecms' => 'AnnotateCmsInstaller',
|
20 |
'bitrix' => 'BitrixInstaller',
|
|
|
21 |
'cakephp' => 'CakePHPInstaller',
|
22 |
'chef' => 'ChefInstaller',
|
23 |
'ccframework' => 'ClanCatsFrameworkInstaller',
|
@@ -35,6 +37,7 @@ class Installer extends LibraryInstaller
|
|
35 |
'hurad' => 'HuradInstaller',
|
36 |
'joomla' => 'JoomlaInstaller',
|
37 |
'kirby' => 'KirbyInstaller',
|
|
|
38 |
'kohana' => 'KohanaInstaller',
|
39 |
'laravel' => 'LaravelInstaller',
|
40 |
'lithium' => 'LithiumInstaller',
|
@@ -67,7 +70,7 @@ class Installer extends LibraryInstaller
|
|
67 |
'wordpress' => 'WordPressInstaller',
|
68 |
'zend' => 'ZendInstaller',
|
69 |
'zikula' => 'ZikulaInstaller',
|
70 |
-
'prestashop' => 'PrestashopInstaller'
|
71 |
);
|
72 |
|
73 |
/**
|
@@ -85,7 +88,7 @@ class Installer extends LibraryInstaller
|
|
85 |
}
|
86 |
|
87 |
$class = 'Composer\\Installers\\' . $this->supportedTypes[$frameworkType];
|
88 |
-
$installer = new $class($package, $this->composer);
|
89 |
|
90 |
return $installer->getInstallPath($package, $frameworkType);
|
91 |
}
|
@@ -153,11 +156,21 @@ class Installer extends LibraryInstaller
|
|
153 |
if (!empty($this->supportedTypes[$frameworkType])) {
|
154 |
$frameworkClass = 'Composer\\Installers\\' . $this->supportedTypes[$frameworkType];
|
155 |
/** @var BaseInstaller $framework */
|
156 |
-
$framework = new $frameworkClass(null, $this->composer);
|
157 |
$locations = array_keys($framework->getLocations());
|
158 |
$pattern = $locations ? '(' . implode('|', $locations) . ')' : false;
|
159 |
}
|
160 |
|
161 |
return $pattern ? : '(\w+)';
|
162 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
163 |
}
|
1 |
<?php
|
2 |
namespace Composer\Installers;
|
3 |
|
4 |
+
use Composer\IO\IOInterface;
|
5 |
use Composer\Installer\LibraryInstaller;
|
6 |
use Composer\Package\PackageInterface;
|
7 |
use Composer\Repository\InstalledRepositoryInterface;
|
19 |
'agl' => 'AglInstaller',
|
20 |
'annotatecms' => 'AnnotateCmsInstaller',
|
21 |
'bitrix' => 'BitrixInstaller',
|
22 |
+
'bonefish' => 'BonefishInstaller',
|
23 |
'cakephp' => 'CakePHPInstaller',
|
24 |
'chef' => 'ChefInstaller',
|
25 |
'ccframework' => 'ClanCatsFrameworkInstaller',
|
37 |
'hurad' => 'HuradInstaller',
|
38 |
'joomla' => 'JoomlaInstaller',
|
39 |
'kirby' => 'KirbyInstaller',
|
40 |
+
'kodicms' => 'KodiCMSInstaller',
|
41 |
'kohana' => 'KohanaInstaller',
|
42 |
'laravel' => 'LaravelInstaller',
|
43 |
'lithium' => 'LithiumInstaller',
|
70 |
'wordpress' => 'WordPressInstaller',
|
71 |
'zend' => 'ZendInstaller',
|
72 |
'zikula' => 'ZikulaInstaller',
|
73 |
+
'prestashop' => 'PrestashopInstaller'
|
74 |
);
|
75 |
|
76 |
/**
|
88 |
}
|
89 |
|
90 |
$class = 'Composer\\Installers\\' . $this->supportedTypes[$frameworkType];
|
91 |
+
$installer = new $class($package, $this->composer, $this->getIO());
|
92 |
|
93 |
return $installer->getInstallPath($package, $frameworkType);
|
94 |
}
|
156 |
if (!empty($this->supportedTypes[$frameworkType])) {
|
157 |
$frameworkClass = 'Composer\\Installers\\' . $this->supportedTypes[$frameworkType];
|
158 |
/** @var BaseInstaller $framework */
|
159 |
+
$framework = new $frameworkClass(null, $this->composer, $this->getIO());
|
160 |
$locations = array_keys($framework->getLocations());
|
161 |
$pattern = $locations ? '(' . implode('|', $locations) . ')' : false;
|
162 |
}
|
163 |
|
164 |
return $pattern ? : '(\w+)';
|
165 |
}
|
166 |
+
|
167 |
+
/**
|
168 |
+
* Get I/O object
|
169 |
+
*
|
170 |
+
* @return IOInterface
|
171 |
+
*/
|
172 |
+
private function getIO()
|
173 |
+
{
|
174 |
+
return $this->io;
|
175 |
+
}
|
176 |
}
|
vendor/composer/installers/src/Composer/Installers/KodiCMSInstaller.php
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
namespace Composer\Installers;
|
3 |
+
|
4 |
+
class KodiCMSInstaller extends BaseInstaller
|
5 |
+
{
|
6 |
+
protected $locations = array(
|
7 |
+
'plugin' => 'cms/plugins/{$name}/',
|
8 |
+
'media' => 'cms/media/vendor/{$name}/'
|
9 |
+
);
|
10 |
+
}
|
vendor/composer/installers/src/Composer/Installers/MoodleInstaller.php
CHANGED
@@ -6,6 +6,7 @@ class MoodleInstaller extends BaseInstaller
|
|
6 |
protected $locations = array(
|
7 |
'mod' => 'mod/{$name}/',
|
8 |
'admin_report' => 'admin/report/{$name}/',
|
|
|
9 |
'tool' => 'admin/tool/{$name}/',
|
10 |
'assignment' => 'mod/assignment/type/{$name}/',
|
11 |
'assignsubmission' => 'mod/assign/submission/{$name}/',
|
@@ -13,6 +14,9 @@ class MoodleInstaller extends BaseInstaller
|
|
13 |
'auth' => 'auth/{$name}/',
|
14 |
'availability' => 'availability/condition/{$name}/',
|
15 |
'block' => 'blocks/{$name}/',
|
|
|
|
|
|
|
16 |
'calendartype' => 'calendar/type/{$name}/',
|
17 |
'format' => 'course/format/{$name}/',
|
18 |
'coursereport' => 'course/report/{$name}/',
|
@@ -26,7 +30,11 @@ class MoodleInstaller extends BaseInstaller
|
|
26 |
'gradereport' => 'grade/report/{$name}/',
|
27 |
'gradingform' => 'grade/grading/form/{$name}/',
|
28 |
'local' => 'local/{$name}/',
|
|
|
|
|
|
|
29 |
'message' => 'message/output/{$name}/',
|
|
|
30 |
'plagiarism' => 'plagiarism/{$name}/',
|
31 |
'portfolio' => 'portfolio/{$name}/',
|
32 |
'qbehaviour' => 'question/behaviour/{$name}/',
|
@@ -38,6 +46,7 @@ class MoodleInstaller extends BaseInstaller
|
|
38 |
'repository' => 'repository/{$name}/',
|
39 |
'scormreport' => 'mod/scorm/report/{$name}/',
|
40 |
'theme' => 'theme/{$name}/',
|
|
|
41 |
'profilefield' => 'user/profile/field/{$name}/',
|
42 |
'webservice' => 'webservice/{$name}/',
|
43 |
'workshopallocation' => 'mod/workshop/allocation/{$name}/',
|
6 |
protected $locations = array(
|
7 |
'mod' => 'mod/{$name}/',
|
8 |
'admin_report' => 'admin/report/{$name}/',
|
9 |
+
'atto' => 'lib/editor/atto/plugins/{$name}/',
|
10 |
'tool' => 'admin/tool/{$name}/',
|
11 |
'assignment' => 'mod/assignment/type/{$name}/',
|
12 |
'assignsubmission' => 'mod/assign/submission/{$name}/',
|
14 |
'auth' => 'auth/{$name}/',
|
15 |
'availability' => 'availability/condition/{$name}/',
|
16 |
'block' => 'blocks/{$name}/',
|
17 |
+
'booktool' => 'mod/book/tool/{$name}/',
|
18 |
+
'cachestore' => 'cache/stores/{$name}/',
|
19 |
+
'cachelock' => 'cache/locks/{$name}/',
|
20 |
'calendartype' => 'calendar/type/{$name}/',
|
21 |
'format' => 'course/format/{$name}/',
|
22 |
'coursereport' => 'course/report/{$name}/',
|
30 |
'gradereport' => 'grade/report/{$name}/',
|
31 |
'gradingform' => 'grade/grading/form/{$name}/',
|
32 |
'local' => 'local/{$name}/',
|
33 |
+
'logstore' => 'admin/tool/log/store/{$name}/',
|
34 |
+
'ltisource' => 'mod/lti/source/{$name}/',
|
35 |
+
'ltiservice' => 'mod/lti/service/{$name}/',
|
36 |
'message' => 'message/output/{$name}/',
|
37 |
+
'mnetservice' => 'mnet/service/{$name}/',
|
38 |
'plagiarism' => 'plagiarism/{$name}/',
|
39 |
'portfolio' => 'portfolio/{$name}/',
|
40 |
'qbehaviour' => 'question/behaviour/{$name}/',
|
46 |
'repository' => 'repository/{$name}/',
|
47 |
'scormreport' => 'mod/scorm/report/{$name}/',
|
48 |
'theme' => 'theme/{$name}/',
|
49 |
+
'tinymce' => 'lib/editor/tinymce/plugins/{$name}/',
|
50 |
'profilefield' => 'user/profile/field/{$name}/',
|
51 |
'webservice' => 'webservice/{$name}/',
|
52 |
'workshopallocation' => 'mod/workshop/allocation/{$name}/',
|
vendor/composer/installers/src/Composer/Installers/OxidInstaller.php
CHANGED
@@ -1,11 +1,59 @@
|
|
1 |
<?php
|
2 |
namespace Composer\Installers;
|
3 |
|
|
|
|
|
4 |
class OxidInstaller extends BaseInstaller
|
5 |
{
|
|
|
|
|
6 |
protected $locations = array(
|
7 |
'module' => 'modules/{$name}/',
|
8 |
'theme' => 'application/views/{$name}/',
|
9 |
'out' => 'out/{$name}/',
|
10 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
}
|
1 |
<?php
|
2 |
namespace Composer\Installers;
|
3 |
|
4 |
+
use Composer\Package\PackageInterface;
|
5 |
+
|
6 |
class OxidInstaller extends BaseInstaller
|
7 |
{
|
8 |
+
const VENDOR_PATTERN = '/^modules\/(?P<vendor>.+)\/.+/';
|
9 |
+
|
10 |
protected $locations = array(
|
11 |
'module' => 'modules/{$name}/',
|
12 |
'theme' => 'application/views/{$name}/',
|
13 |
'out' => 'out/{$name}/',
|
14 |
);
|
15 |
+
|
16 |
+
/**
|
17 |
+
* getInstallPath
|
18 |
+
*
|
19 |
+
* @param PackageInterface $package
|
20 |
+
* @param string $frameworkType
|
21 |
+
* @return void
|
22 |
+
*/
|
23 |
+
public function getInstallPath(PackageInterface $package, $frameworkType = '')
|
24 |
+
{
|
25 |
+
$installPath = parent::getInstallPath($package, $frameworkType);
|
26 |
+
$type = $this->package->getType();
|
27 |
+
if ($type === 'oxid-module') {
|
28 |
+
$this->prepareVendorDirectory($installPath);
|
29 |
+
}
|
30 |
+
return $installPath;
|
31 |
+
}
|
32 |
+
|
33 |
+
/**
|
34 |
+
* prepareVendorDirectory
|
35 |
+
*
|
36 |
+
* Makes sure there is a vendormetadata.php file inside
|
37 |
+
* the vendor folder if there is a vendor folder.
|
38 |
+
*
|
39 |
+
* @param string $installPath
|
40 |
+
* @return void
|
41 |
+
*/
|
42 |
+
protected function prepareVendorDirectory($installPath)
|
43 |
+
{
|
44 |
+
$matches = '';
|
45 |
+
$hasVendorDirectory = preg_match(self::VENDOR_PATTERN, $installPath, $matches);
|
46 |
+
if (!$hasVendorDirectory) {
|
47 |
+
return;
|
48 |
+
}
|
49 |
+
|
50 |
+
$vendorDirectory = $matches['vendor'];
|
51 |
+
$vendorPath = getcwd() . '/modules/' . $vendorDirectory;
|
52 |
+
if (!file_exists($vendorPath)) {
|
53 |
+
mkdir($vendorPath, 0755, true);
|
54 |
+
}
|
55 |
+
|
56 |
+
$vendorMetaDataPath = $vendorPath . '/vendormetadata.php';
|
57 |
+
touch($vendorMetaDataPath);
|
58 |
+
}
|
59 |
}
|
vendor/composer/installers/src/Composer/Installers/Plugin.php
ADDED
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Composer\Installers;
|
4 |
+
|
5 |
+
use Composer\Composer;
|
6 |
+
use Composer\IO\IOInterface;
|
7 |
+
use Composer\Plugin\PluginInterface;
|
8 |
+
|
9 |
+
class Plugin implements PluginInterface
|
10 |
+
{
|
11 |
+
|
12 |
+
public function activate(Composer $composer, IOInterface $io)
|
13 |
+
{
|
14 |
+
$installer = new Installer($io, $composer);
|
15 |
+
$composer->getInstallationManager()->addInstaller($installer);
|
16 |
+
}
|
17 |
+
}
|
vendor/composer/installers/tests/Composer/Installers/Test/CakePHPInstallerTest.php
CHANGED
@@ -100,7 +100,7 @@ class CakePHPInstallerTest extends TestCase
|
|
100 |
|
101 |
$this->setCakephpVersion($rm, '~8.8');
|
102 |
$result = $installer->getLocations();
|
103 |
-
$this->
|
104 |
}
|
105 |
|
106 |
protected function setCakephpVersion($rm, $version) {
|
100 |
|
101 |
$this->setCakephpVersion($rm, '~8.8');
|
102 |
$result = $installer->getLocations();
|
103 |
+
$this->assertContains('vendor/{$vendor}/{$name}/', $result['plugin']);
|
104 |
}
|
105 |
|
106 |
protected function setCakephpVersion($rm, $version) {
|
vendor/composer/installers/tests/Composer/Installers/Test/CraftInstallerTest.php
ADDED
@@ -0,0 +1,83 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Composer\Installers\Test;
|
4 |
+
|
5 |
+
use Composer\Installers\CraftInstaller;
|
6 |
+
|
7 |
+
/**
|
8 |
+
* Tests for the CraftInstaller Class
|
9 |
+
*
|
10 |
+
* @coversDefaultClass Composer\Installers\CraftInstaller
|
11 |
+
*/
|
12 |
+
class CraftInstallerTest extends TestCase
|
13 |
+
{
|
14 |
+
/** @var CraftInstaller */
|
15 |
+
private $installer;
|
16 |
+
|
17 |
+
/**
|
18 |
+
* Sets up the fixture, for example, instantiate the class-under-test.
|
19 |
+
*
|
20 |
+
* This method is called before a test is executed.
|
21 |
+
*/
|
22 |
+
final public function setup()
|
23 |
+
{
|
24 |
+
$this->installer = new CraftInstaller();
|
25 |
+
}
|
26 |
+
|
27 |
+
/**
|
28 |
+
* @param string $packageName
|
29 |
+
* @param string $expectedName
|
30 |
+
*
|
31 |
+
* @covers ::inflectPackageVars
|
32 |
+
*
|
33 |
+
* @dataProvider provideExpectedInflectionResults
|
34 |
+
*/
|
35 |
+
final public function testInflectPackageVars($packageName, $expectedName)
|
36 |
+
{
|
37 |
+
$installer = $this->installer;
|
38 |
+
|
39 |
+
$vars = array('name' => $packageName);
|
40 |
+
$expected = array('name' => $expectedName);
|
41 |
+
|
42 |
+
$actual = $installer->inflectPackageVars($vars);
|
43 |
+
|
44 |
+
$this->assertEquals($actual, $expected);
|
45 |
+
}
|
46 |
+
|
47 |
+
/**
|
48 |
+
* Provides various names for packages and the expected result after inflection
|
49 |
+
*
|
50 |
+
* @return array
|
51 |
+
*/
|
52 |
+
final public function provideExpectedInflectionResults()
|
53 |
+
{
|
54 |
+
return array(
|
55 |
+
// lowercase
|
56 |
+
array('foo', 'foo'),
|
57 |
+
array('craftfoo', 'craftfoo'),
|
58 |
+
array('fooplugin', 'fooplugin'),
|
59 |
+
array('craftfooplugin', 'craftfooplugin'),
|
60 |
+
// lowercase - dash
|
61 |
+
array('craft-foo', 'foo'),
|
62 |
+
array('foo-plugin', 'foo'),
|
63 |
+
array('craft-foo-plugin', 'foo'),
|
64 |
+
// lowercase - underscore
|
65 |
+
array('craft_foo', 'craft_foo'),
|
66 |
+
array('foo_plugin', 'foo_plugin'),
|
67 |
+
array('craft_foo_plugin', 'craft_foo_plugin'),
|
68 |
+
// CamelCase
|
69 |
+
array('Foo', 'Foo'),
|
70 |
+
array('CraftFoo', 'CraftFoo'),
|
71 |
+
array('FooPlugin', 'FooPlugin'),
|
72 |
+
array('CraftFooPlugin', 'CraftFooPlugin'),
|
73 |
+
// CamelCase - Dash
|
74 |
+
array('Craft-Foo', 'Foo'),
|
75 |
+
array('Foo-Plugin', 'Foo'),
|
76 |
+
array('Craft-Foo-Plugin', 'Foo'),
|
77 |
+
// CamelCase - underscore
|
78 |
+
array('Craft_Foo', 'Craft_Foo'),
|
79 |
+
array('Foo_Plugin', 'Foo_Plugin'),
|
80 |
+
array('Craft_Foo_Plugin', 'Craft_Foo_Plugin'),
|
81 |
+
);
|
82 |
+
}
|
83 |
+
}
|
vendor/composer/installers/tests/Composer/Installers/Test/InstallerTest.php
CHANGED
@@ -92,6 +92,7 @@ class InstallerTest extends TestCase
|
|
92 |
array('bitrix-module', true),
|
93 |
array('bitrix-component', true),
|
94 |
array('bitrix-theme', true),
|
|
|
95 |
array('cakephp', false),
|
96 |
array('cakephp-', false),
|
97 |
array('cakephp-app', false),
|
@@ -173,6 +174,8 @@ class InstallerTest extends TestCase
|
|
173 |
array('zend-library', true),
|
174 |
array('zikula-module', true),
|
175 |
array('zikula-theme', true),
|
|
|
|
|
176 |
);
|
177 |
}
|
178 |
|
@@ -202,9 +205,10 @@ class InstallerTest extends TestCase
|
|
202 |
array('annotatecms-module', 'addons/modules/my_module/', 'vysinsky/my_module'),
|
203 |
array('annotatecms-component', 'addons/components/my_component/', 'vysinsky/my_component'),
|
204 |
array('annotatecms-service', 'addons/services/my_service/', 'vysinsky/my_service'),
|
205 |
-
array('bitrix-module', '
|
206 |
-
array('bitrix-component', '
|
207 |
-
array('bitrix-theme', '
|
|
|
208 |
array('cakephp-plugin', 'Plugin/Ftp/', 'shama/ftp'),
|
209 |
array('chef-cookbook', 'Chef/mre/my_cookbook/', 'mre/my_cookbook'),
|
210 |
array('chef-role', 'Chef/roles/my_role/', 'mre/my_role'),
|
@@ -297,6 +301,8 @@ class InstallerTest extends TestCase
|
|
297 |
array('zend-extra', 'extras/library/zend_test/', 'shama/zend_test'),
|
298 |
array('zikula-module', 'modules/my-test_module/', 'my/test_module'),
|
299 |
array('zikula-theme', 'themes/my-test_theme/', 'my/test_theme'),
|
|
|
|
|
300 |
);
|
301 |
}
|
302 |
|
92 |
array('bitrix-module', true),
|
93 |
array('bitrix-component', true),
|
94 |
array('bitrix-theme', true),
|
95 |
+
array('bonefish-package', true),
|
96 |
array('cakephp', false),
|
97 |
array('cakephp-', false),
|
98 |
array('cakephp-app', false),
|
174 |
array('zend-library', true),
|
175 |
array('zikula-module', true),
|
176 |
array('zikula-theme', true),
|
177 |
+
array('kodicms-plugin', true),
|
178 |
+
array('kodicms-media', true),
|
179 |
);
|
180 |
}
|
181 |
|
205 |
array('annotatecms-module', 'addons/modules/my_module/', 'vysinsky/my_module'),
|
206 |
array('annotatecms-component', 'addons/components/my_component/', 'vysinsky/my_component'),
|
207 |
array('annotatecms-service', 'addons/services/my_service/', 'vysinsky/my_service'),
|
208 |
+
array('bitrix-module', 'bitrix/modules/my_module/', 'author/my_module'),
|
209 |
+
array('bitrix-component', 'bitrix/components/my_component/', 'author/my_component'),
|
210 |
+
array('bitrix-theme', 'bitrix/templates/my_theme/', 'author/my_theme'),
|
211 |
+
array('bonefish-package', 'Packages/bonefish/package/', 'bonefish/package'),
|
212 |
array('cakephp-plugin', 'Plugin/Ftp/', 'shama/ftp'),
|
213 |
array('chef-cookbook', 'Chef/mre/my_cookbook/', 'mre/my_cookbook'),
|
214 |
array('chef-role', 'Chef/roles/my_role/', 'mre/my_role'),
|
301 |
array('zend-extra', 'extras/library/zend_test/', 'shama/zend_test'),
|
302 |
array('zikula-module', 'modules/my-test_module/', 'my/test_module'),
|
303 |
array('zikula-theme', 'themes/my-test_theme/', 'my/test_theme'),
|
304 |
+
array('kodicms-media', 'cms/media/vendor/my_media/', 'shama/my_media'),
|
305 |
+
array('kodicms-plugin', 'cms/plugins/my_plugin/', 'shama/my_plugin'),
|
306 |
);
|
307 |
}
|
308 |
|