Version Description
- improved AdSense ad unit list coming from the AdSense API
- improved "highlight ads" option in Ad Health
- show notice if AJAX calls are broken
- added
com.pl
as exception for placing ads.txt files in subdomains - removed placeholder for AdSense ads in the Customizer and Elementor editor
- fix for WP Smush lazy load preventing image ads from showing at all
Download this release
Release Info
Developer | webzunft |
Plugin | Advanced Ads |
Version | 1.17 |
Comparing to | |
See all releases |
Code changes from version 1.16.1 to 1.17
- admin/assets/css/admin.css +36 -10
- admin/assets/js/admin.js +149 -32
- admin/class-advanced-ads-admin.php +4 -0
- admin/includes/ad-health-notices.php +0 -21
- admin/includes/class-ad-groups-list.php +26 -22
- admin/includes/class-ad-network-ad-importer.php +22 -12
- admin/includes/class-ad-network-ad-unit.php +92 -54
- admin/includes/class-ad-network.php +461 -362
- admin/includes/class-ad-type.php +178 -114
- admin/includes/class-licenses.php +22 -16
- admin/includes/class-list-filters.php +63 -52
- advanced-ads.php +3 -3
- classes/ad-ajax.php +25 -0
- classes/ad-health-notices.php +0 -11
- classes/ad.php +3 -1
- classes/ad_group.php +4 -0
- classes/ad_placements.php +0 -4
- classes/ad_type_image.php +33 -24
- classes/frontend-notices.php +132 -0
- classes/frontend_checks.php +227 -63
- classes/plugin.php +0 -6
- languages/advanced-ads.pot +1975 -1859
- modules/ads-txt/includes/class-advanced-ads-ads-txt-utils.php +1 -1
- modules/gadsense/admin/admin.php +2 -2
- modules/gadsense/admin/assets/js/adsense.js +48 -9
- modules/gadsense/admin/assets/js/connect-adsense.js +13 -3
- modules/gadsense/admin/assets/js/mapi-settings.js +2 -7
- modules/gadsense/admin/views/adsense-account.php +8 -1
- modules/gadsense/admin/views/adsense-ad-parameters.php +5 -8
- modules/gadsense/admin/views/auto-ads-video.php +16 -0
- modules/gadsense/admin/views/connect-adsense.php +6 -0
- modules/gadsense/admin/views/external-ads-links.php +5 -4
- modules/gadsense/admin/views/external-ads-list.php +104 -76
- modules/gadsense/includes/class-ad-type-adsense.php +12 -25
- modules/gadsense/includes/class-mapi.php +119 -13
- modules/gadsense/includes/class-network-adsense.php +35 -19
- modules/gadsense/public/public.php +0 -4
- readme.txt +11 -1
- vendor/autoload_52.php +1 -1
- vendor/composer/autoload_classmap.php +93 -1
- vendor/composer/autoload_real_52.php +3 -3
- vendor/composer/autoload_static.php +93 -1
- vendor/composer/installed.json +74 -74
admin/assets/css/admin.css
CHANGED
@@ -87,7 +87,7 @@ h2.hndle .advads-hndlelinks a + a, #advads_overview_adsense_stats .advads-hndlel
|
|
87 |
.advads-metabox-notices { }
|
88 |
.advads-metabox-notices li { border: solid 1px #eee; margin: -1px 0 0; padding: 5px; }
|
89 |
.advads-metabox-notices a { color: inherit; }
|
90 |
-
.advads-metabox-notices .error { color:
|
91 |
.advads-metabox-notices .warning { color: #de8400; }
|
92 |
|
93 |
#ad-main-box { overflow: hidden; }
|
@@ -332,23 +332,49 @@ tr:hover .on-hover { display: block; }
|
|
332 |
/**
|
333 |
- GOOGLE ADSENSE MODULE
|
334 |
-*/
|
335 |
-
#adsense-ad-param-error { color:
|
336 |
.advads-adsense-content { width: 100%; }
|
337 |
-
|
338 |
#mapi-quota-message{ color: #ef8e00; font-style: italic; font-weight: bold; }
|
339 |
.aa-select-list tbody [data-mapiaction="getCode"] { color: #46b450; }
|
340 |
.aa-select-list tbody .disabled[data-mapiaction="getCode"] { color: #a7a7a7; cursor: default; }
|
341 |
.aa-select-list tbody [data-mapiaction="updateCode"] { color: #0085ba; }
|
342 |
#mapi-toggle-idle { font-size: 20px; padding: 9px; position: absolute; top: 0; right: 78px; color: #72777c; cursor: pointer; }
|
343 |
#remote-ad-unsupported-ad-type { background-color: #f0f0f0; padding: 8px; border: 1px solid #d6d6d6; }
|
344 |
-
#
|
345 |
-
#
|
|
|
346 |
#mapi-table-wrap table { border-left:none; border-right: none; }
|
|
|
|
|
347 |
#mapi-table-wrap.overflow { height: 22.2em; overflow-y: auto; }
|
348 |
#mapi-table-wrap.overflow table { position: absolute; }
|
|
|
|
|
|
|
|
|
349 |
.advanced-ads-adsense-support { background-color: #fbfbfb; border: 1px solid #eee; padding: 1em; }
|
350 |
.advanced-ads-adsense-support-text { font-size: 1.4em; font-weight: 400; }
|
351 |
.advanced-ads-adsense-support .dashicons { color: #ffb900; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
352 |
|
353 |
/**
|
354 |
- TABS + SETTINGS
|
@@ -358,8 +384,8 @@ tr:hover .on-hover { display: block; }
|
|
358 |
.advads-tab input[type="checkbox"] { margin-right: 8px; }
|
359 |
.advads-tab .form-table th, .advads-tab, .advads-tab .form-table td { padding-bottom: 30px; }
|
360 |
.advads-tab.active { display: block; }
|
361 |
-
.advads-license-activate-active { color:
|
362 |
-
.advads-license-activate-error { color:
|
363 |
.advads-license-activate-error a { color: inherit; }
|
364 |
.advads-tab-sub-menu ul { overflow: hidden; }
|
365 |
.advads-tab-sub-menu ul li { float: left; padding-right: 0.5em; }
|
@@ -416,8 +442,8 @@ tr:hover .on-hover { display: block; }
|
|
416 |
/**
|
417 |
- GENERAL
|
418 |
-*/
|
419 |
-
.advads-error-message { color:
|
420 |
-
.advads-error-message a { color:
|
421 |
.advads-success-message { color: green !important; }
|
422 |
.advads-hidden { display: none; }
|
423 |
.advads-loader { display: block; width: 43px; height: 11px; background: url(../img/loader.gif) no-repeat; }
|
@@ -446,7 +472,7 @@ tr:hover .on-hover { display: block; }
|
|
446 |
|
447 |
/* ads.txt */
|
448 |
.advads-ads-txt-updated { border-left: 4px solid green; padding-left: 4px; }
|
449 |
-
.advads-error-message.advads-ads-txt-updated { border-color:
|
450 |
#advads-ads-txt-notices li { padding-top: 1em; }
|
451 |
#advads-ads-txt-notices li:nth-child(even) { background-color: #f9f9f9; }
|
452 |
|
87 |
.advads-metabox-notices { }
|
88 |
.advads-metabox-notices li { border: solid 1px #eee; margin: -1px 0 0; padding: 5px; }
|
89 |
.advads-metabox-notices a { color: inherit; }
|
90 |
+
.advads-metabox-notices .error { color: #dc3232; }
|
91 |
.advads-metabox-notices .warning { color: #de8400; }
|
92 |
|
93 |
#ad-main-box { overflow: hidden; }
|
332 |
/**
|
333 |
- GOOGLE ADSENSE MODULE
|
334 |
-*/
|
335 |
+
#adsense-ad-param-error { color: #dc3232; font-weight: bold; }
|
336 |
.advads-adsense-content { width: 100%; }
|
337 |
+
.mapi-insert-code a, .mapi-open-selector a, .mapi-close-selector-link a { padding: 0 10px; color: inherit; }
|
338 |
#mapi-quota-message{ color: #ef8e00; font-style: italic; font-weight: bold; }
|
339 |
.aa-select-list tbody [data-mapiaction="getCode"] { color: #46b450; }
|
340 |
.aa-select-list tbody .disabled[data-mapiaction="getCode"] { color: #a7a7a7; cursor: default; }
|
341 |
.aa-select-list tbody [data-mapiaction="updateCode"] { color: #0085ba; }
|
342 |
#mapi-toggle-idle { font-size: 20px; padding: 9px; position: absolute; top: 0; right: 78px; color: #72777c; cursor: pointer; }
|
343 |
#remote-ad-unsupported-ad-type { background-color: #f0f0f0; padding: 8px; border: 1px solid #d6d6d6; }
|
344 |
+
#remote-ad-unsupported-ad-type ul { list-style-type: disc; padding-left: 20px }
|
345 |
+
#remote-ad-unsupported-ad-type[style*="display: block"] + p { display: none; }
|
346 |
+
.mapi-insert-code[style*="display: none"] + .mapi-open-selector .mapi-optional-or { display: none; }
|
347 |
#mapi-table-wrap table { border-left:none; border-right: none; }
|
348 |
+
#mapi-table-wrap tr { vertical-align: middle; }
|
349 |
+
#mapi-table-wrap td { vertical-align: inherit; }
|
350 |
#mapi-table-wrap.overflow { height: 22.2em; overflow-y: auto; }
|
351 |
#mapi-table-wrap.overflow table { position: absolute; }
|
352 |
+
#mapi-table-wrap .error {background-color: #e77373; position: relative;}
|
353 |
+
#mapi-table-wrap .error td {color: #23282d; }
|
354 |
+
#mapi-table-wrap .error td:first-of-type::before { content: ""; width: 5px; height: 100%; background-color: #dc3232; position: absolute; left: 0; top: 0; }
|
355 |
+
#mapi-table-wrap .error .unittype button { display: none; }
|
356 |
.advanced-ads-adsense-support { background-color: #fbfbfb; border: 1px solid #eee; padding: 1em; }
|
357 |
.advanced-ads-adsense-support-text { font-size: 1.4em; font-weight: 400; }
|
358 |
.advanced-ads-adsense-support .dashicons { color: #ffb900; }
|
359 |
+
.advads-adsense-layout-key { display: none; }
|
360 |
+
.mapiaction.icon-button {
|
361 |
+
display: block;
|
362 |
+
margin: 12px auto;
|
363 |
+
cursor: pointer;
|
364 |
+
}
|
365 |
+
|
366 |
+
/**
|
367 |
+
* Connect to Google AdSense modal
|
368 |
+
*/
|
369 |
+
|
370 |
+
.gadsense-modal-error {
|
371 |
+
background-color: #fff;
|
372 |
+
border: 1px solid #dc3232;
|
373 |
+
border-left-width: 4px;
|
374 |
+
padding: .75em;
|
375 |
+
margin: 1em 0;
|
376 |
+
display: none;
|
377 |
+
}
|
378 |
|
379 |
/**
|
380 |
- TABS + SETTINGS
|
384 |
.advads-tab input[type="checkbox"] { margin-right: 8px; }
|
385 |
.advads-tab .form-table th, .advads-tab, .advads-tab .form-table td { padding-bottom: 30px; }
|
386 |
.advads-tab.active { display: block; }
|
387 |
+
.advads-license-activate-active { color: #46b450; }
|
388 |
+
.advads-license-activate-error { color: #dc3232; }
|
389 |
.advads-license-activate-error a { color: inherit; }
|
390 |
.advads-tab-sub-menu ul { overflow: hidden; }
|
391 |
.advads-tab-sub-menu ul li { float: left; padding-right: 0.5em; }
|
442 |
/**
|
443 |
- GENERAL
|
444 |
-*/
|
445 |
+
.advads-error-message { color: #dc3232 !important; }
|
446 |
+
.advads-error-message a { color: #dc3232; text-decoration: underline; }
|
447 |
.advads-success-message { color: green !important; }
|
448 |
.advads-hidden { display: none; }
|
449 |
.advads-loader { display: block; width: 43px; height: 11px; background: url(../img/loader.gif) no-repeat; }
|
472 |
|
473 |
/* ads.txt */
|
474 |
.advads-ads-txt-updated { border-left: 4px solid green; padding-left: 4px; }
|
475 |
+
.advads-error-message.advads-ads-txt-updated { border-color: #dc3232; }
|
476 |
#advads-ads-txt-notices li { padding-top: 1em; }
|
477 |
#advads-ads-txt-notices li:nth-child(even) { background-color: #f9f9f9; }
|
478 |
|
admin/assets/js/admin.js
CHANGED
@@ -1095,7 +1095,7 @@ if ( ! window.AdvancedAdsAdmin.AdImporter ) window.AdvancedAdsAdmin.AdImporter =
|
|
1095 |
}
|
1096 |
|
1097 |
const selectedRow = AdvancedAdsAdmin.AdImporter.getSelectedRow()
|
1098 |
-
tbody.find( 'tr' ).removeClass( 'selected' )
|
1099 |
if ( selectedRow ) {
|
1100 |
//make sure, it is visible before applying the zebra stripes
|
1101 |
selectedRow.show()
|
@@ -1111,9 +1111,43 @@ if ( ! window.AdvancedAdsAdmin.AdImporter ) window.AdvancedAdsAdmin.AdImporter =
|
|
1111 |
// highlight the selected row
|
1112 |
selectedRow.css( 'background-color', '' )
|
1113 |
selectedRow.addClass( 'selected' )
|
|
|
|
|
1114 |
}
|
|
|
1115 |
return selectedRow || false
|
1116 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1117 |
getSelectedRow () {
|
1118 |
const selectedId = AdvancedAdsAdmin.AdImporter.adNetwork.getSelectedId()
|
1119 |
const tbody = jQuery( '#mapi-table-wrap tbody' )
|
@@ -1130,9 +1164,9 @@ if ( ! window.AdvancedAdsAdmin.AdImporter ) window.AdvancedAdsAdmin.AdImporter =
|
|
1130 |
const network = AdvancedAdsAdmin.AdImporter.adNetwork
|
1131 |
network.openSelector()
|
1132 |
|
1133 |
-
jQuery( '
|
1134 |
-
jQuery( '
|
1135 |
-
jQuery( '
|
1136 |
jQuery( '.advads-adsense-code' ).css( 'display', 'none' )
|
1137 |
jQuery( '#remote-ad-unsupported-ad-type' ).css( 'display', 'none' )
|
1138 |
|
@@ -1176,24 +1210,26 @@ if ( ! window.AdvancedAdsAdmin.AdImporter ) window.AdvancedAdsAdmin.AdImporter =
|
|
1176 |
jQuery( document ).on( 'click', '.prevent-default', function ( ev ) { ev.preventDefault() } )
|
1177 |
|
1178 |
// handle clicks for the "insert new ... code" anchor
|
1179 |
-
jQuery( document ).on( 'click', '
|
1180 |
e.preventDefault()
|
|
|
1181 |
jQuery( '.advads-adsense-code' ).show()
|
1182 |
-
jQuery( '
|
1183 |
-
jQuery( '
|
|
|
1184 |
jQuery( '#mapi-wrap' ).css( 'display', 'none' )
|
1185 |
var SNT = AdvancedAdsAdmin.AdImporter.adNetwork.getCustomInputs()
|
1186 |
SNT.css( 'display', 'none' )
|
1187 |
-
jQuery( this ).hide()
|
1188 |
} )
|
1189 |
|
1190 |
// handle clicks for the "get ad code from your linked account" anchor
|
1191 |
-
jQuery( document ).on( 'click', '
|
1192 |
AdvancedAdsAdmin.AdImporter.openExternalAdsList()
|
1193 |
} )
|
1194 |
|
1195 |
// the close button of the ad unit list
|
1196 |
-
jQuery( document ).on( 'click', '#mapi-close-selector
|
|
|
1197 |
AdvancedAdsAdmin.AdImporter.manualSetup()
|
1198 |
} )
|
1199 |
|
@@ -1218,7 +1254,11 @@ if ( ! window.AdvancedAdsAdmin.AdImporter ) window.AdvancedAdsAdmin.AdImporter =
|
|
1218 |
case 'toggleidle':
|
1219 |
AdvancedAdsAdmin.AdImporter.adNetwork.hideIdle = ! AdvancedAdsAdmin.AdImporter.adNetwork.hideIdle
|
1220 |
AdvancedAdsAdmin.AdImporter.toggleIdleAds( AdvancedAdsAdmin.AdImporter.adNetwork.hideIdle )
|
1221 |
-
|
|
|
|
|
|
|
|
|
1222 |
default:
|
1223 |
}
|
1224 |
} )
|
@@ -1233,13 +1273,18 @@ if ( ! window.AdvancedAdsAdmin.AdImporter ) window.AdvancedAdsAdmin.AdImporter =
|
|
1233 |
* this method is an equivalent to the close ad list button.
|
1234 |
*/
|
1235 |
manualSetup () {
|
1236 |
-
jQuery( '
|
1237 |
-
jQuery( '
|
1238 |
-
jQuery( '
|
1239 |
jQuery( '#mapi-wrap' ).css( 'display', 'none' )
|
1240 |
|
1241 |
var SNT = AdvancedAdsAdmin.AdImporter.adNetwork.getCustomInputs()
|
1242 |
SNT.css( 'display', 'block' )
|
|
|
|
|
|
|
|
|
|
|
1243 |
AdvancedAdsAdmin.AdImporter.adNetwork.onManualSetup()
|
1244 |
},
|
1245 |
|
@@ -1275,8 +1320,8 @@ if ( ! window.AdvancedAdsAdmin.AdImporter ) window.AdvancedAdsAdmin.AdImporter =
|
|
1275 |
{ height: 0, },
|
1276 |
360,
|
1277 |
function () {
|
1278 |
-
jQuery( '
|
1279 |
-
jQuery( '
|
1280 |
jQuery( '#mapi-wrap' ).css( {
|
1281 |
display: 'none',
|
1282 |
height: 'auto',
|
@@ -1294,21 +1339,15 @@ if ( ! window.AdvancedAdsAdmin.AdImporter ) window.AdvancedAdsAdmin.AdImporter =
|
|
1294 |
* updates the UI, (call if the selected unit is supported)
|
1295 |
*/
|
1296 |
unitIsNotSupported: function ( slotID ) {
|
1297 |
-
jQuery( '#remote-ad-unsupported-ad-type' ).css( 'display', 'block' )
|
1298 |
-
AdsenseMAPI.unsupportedUnits[ slotID ] = 1
|
1299 |
-
jQuery( '
|
1300 |
-
jQuery( '
|
1301 |
-
|
1302 |
-
|
1303 |
-
|
1304 |
-
|
1305 |
-
|
1306 |
-
if ( ! jQuery( 'tr[data-slotid="' + slotID + '"] .unitsize a' ).length ) {
|
1307 |
-
var td = jQuery( 'tr[data-slotid="' + slotID + '"] .unitsize' )
|
1308 |
-
var content = td.text()
|
1309 |
-
td.html( '<a target="_blank" href="' + AdsenseMAPI.unsupportedLink + '" data-size="' + content + '">' + AdsenseMAPI.unsupportedText + '</a>' )
|
1310 |
-
}
|
1311 |
-
|
1312 |
},
|
1313 |
|
1314 |
/**
|
@@ -1321,7 +1360,6 @@ if ( ! window.AdvancedAdsAdmin.AdImporter ) window.AdvancedAdsAdmin.AdImporter =
|
|
1321 |
delete AdsenseMAPI.unsupportedUnits[ slotID ]
|
1322 |
}
|
1323 |
jQuery( 'i[data-mapiaction="getCode"][data-slotid="' + slotID + '"]' ).removeClass( 'disabled' )
|
1324 |
-
jQuery( 'tr[data-slotid="' + slotID + '"] .unitcode > span' ).removeClass( 'unsupported' )
|
1325 |
if ( jQuery( 'tr[data-slotid="' + slotID + '"] .unittype a' ).length ) {
|
1326 |
var td = jQuery( 'tr[data-slotid="' + slotID + '"] .unittype' )
|
1327 |
var content = jQuery( 'tr[data-slotid="' + slotID + '"] .unittype a' ).attr( 'data-type' )
|
@@ -1485,3 +1523,82 @@ class AdvancedAdsAdNetwork {
|
|
1485 |
class AdvancedAdsExternalAdUnit {
|
1486 |
|
1487 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1095 |
}
|
1096 |
|
1097 |
const selectedRow = AdvancedAdsAdmin.AdImporter.getSelectedRow()
|
1098 |
+
tbody.find( 'tr' ).removeClass( 'selected error' );
|
1099 |
if ( selectedRow ) {
|
1100 |
//make sure, it is visible before applying the zebra stripes
|
1101 |
selectedRow.show()
|
1111 |
// highlight the selected row
|
1112 |
selectedRow.css( 'background-color', '' )
|
1113 |
selectedRow.addClass( 'selected' )
|
1114 |
+
|
1115 |
+
this.scrollToSelectedRow(selectedRow);
|
1116 |
}
|
1117 |
+
|
1118 |
return selectedRow || false
|
1119 |
},
|
1120 |
+
|
1121 |
+
scrollToSelectedRow($selectedRow) {
|
1122 |
+
const $wrap = jQuery('#mapi-table-wrap'),
|
1123 |
+
wrapHeight = $wrap.height(),
|
1124 |
+
wrapScrolled = $wrap.scrollTop();
|
1125 |
+
|
1126 |
+
// just in case this does not get passed a selected row, scroll to top of the table
|
1127 |
+
if (!$selectedRow) {
|
1128 |
+
$wrap.animate({scrollTop: 0}, 200);
|
1129 |
+
return;
|
1130 |
+
}
|
1131 |
+
|
1132 |
+
// get the position of the selectedRow within the table wrap
|
1133 |
+
let scroll = $selectedRow.position().top,
|
1134 |
+
bottom = +scroll + $selectedRow.height();
|
1135 |
+
// if the (top of the) element is not yet visible scroll to it
|
1136 |
+
if (scroll < wrapScrolled || bottom > wrapScrolled || scroll > wrapScrolled + wrapHeight) {
|
1137 |
+
// scrolled element is below current scroll position, i.e. we need to scroll past it not to top
|
1138 |
+
if (bottom > $wrap.children('table').height() - wrapHeight) {
|
1139 |
+
scroll = bottom;
|
1140 |
+
}
|
1141 |
+
|
1142 |
+
// if the selected element is on the "first page" let's scroll all the way to the top
|
1143 |
+
if (scroll < wrapHeight) {
|
1144 |
+
scroll = 0;
|
1145 |
+
}
|
1146 |
+
|
1147 |
+
$wrap.animate({scrollTop: scroll}, 200);
|
1148 |
+
}
|
1149 |
+
},
|
1150 |
+
|
1151 |
getSelectedRow () {
|
1152 |
const selectedId = AdvancedAdsAdmin.AdImporter.adNetwork.getSelectedId()
|
1153 |
const tbody = jQuery( '#mapi-table-wrap tbody' )
|
1164 |
const network = AdvancedAdsAdmin.AdImporter.adNetwork
|
1165 |
network.openSelector()
|
1166 |
|
1167 |
+
jQuery( '.mapi-insert-code' ).css( 'display', 'inline' )
|
1168 |
+
jQuery( '.mapi-open-selector' ).css( 'display', 'none' )
|
1169 |
+
jQuery( '.mapi-close-selector-link' ).css( 'display', 'inline' )
|
1170 |
jQuery( '.advads-adsense-code' ).css( 'display', 'none' )
|
1171 |
jQuery( '#remote-ad-unsupported-ad-type' ).css( 'display', 'none' )
|
1172 |
|
1210 |
jQuery( document ).on( 'click', '.prevent-default', function ( ev ) { ev.preventDefault() } )
|
1211 |
|
1212 |
// handle clicks for the "insert new ... code" anchor
|
1213 |
+
jQuery( document ).on( 'click', '.mapi-insert-code', function ( e ) {
|
1214 |
e.preventDefault()
|
1215 |
+
jQuery( '#remote-ad-unsupported-ad-type' ).css( 'display', 'none' );
|
1216 |
jQuery( '.advads-adsense-code' ).show()
|
1217 |
+
jQuery( '.mapi-open-selector' ).css( 'display', 'inline' )
|
1218 |
+
jQuery( '.mapi-close-selector-link' ).css( 'display', 'inline' )
|
1219 |
+
jQuery( '.mapi-insert-code' ).css( 'display', 'none' );
|
1220 |
jQuery( '#mapi-wrap' ).css( 'display', 'none' )
|
1221 |
var SNT = AdvancedAdsAdmin.AdImporter.adNetwork.getCustomInputs()
|
1222 |
SNT.css( 'display', 'none' )
|
|
|
1223 |
} )
|
1224 |
|
1225 |
// handle clicks for the "get ad code from your linked account" anchor
|
1226 |
+
jQuery( document ).on( 'click', '.mapi-open-selector a', function () {
|
1227 |
AdvancedAdsAdmin.AdImporter.openExternalAdsList()
|
1228 |
} )
|
1229 |
|
1230 |
// the close button of the ad unit list
|
1231 |
+
jQuery( document ).on( 'click', '#mapi-close-selector,.mapi-close-selector-link', function () {
|
1232 |
+
jQuery( '#remote-ad-unsupported-ad-type' ).css( 'display', 'none' );
|
1233 |
AdvancedAdsAdmin.AdImporter.manualSetup()
|
1234 |
} )
|
1235 |
|
1254 |
case 'toggleidle':
|
1255 |
AdvancedAdsAdmin.AdImporter.adNetwork.hideIdle = ! AdvancedAdsAdmin.AdImporter.adNetwork.hideIdle
|
1256 |
AdvancedAdsAdmin.AdImporter.toggleIdleAds( AdvancedAdsAdmin.AdImporter.adNetwork.hideIdle )
|
1257 |
+
const $inactiveNotice = jQuery('#mapi-notice-inactive');
|
1258 |
+
if ($inactiveNotice.length) {
|
1259 |
+
$inactiveNotice.toggle(AdvancedAdsAdmin.AdImporter.adNetwork.hideIdle);
|
1260 |
+
}
|
1261 |
+
break;
|
1262 |
default:
|
1263 |
}
|
1264 |
} )
|
1273 |
* this method is an equivalent to the close ad list button.
|
1274 |
*/
|
1275 |
manualSetup () {
|
1276 |
+
jQuery( '.mapi-open-selector,.advads-adsense-show-code' ).css( 'display', 'inline' )
|
1277 |
+
jQuery( '.mapi-insert-code' ).css( 'display', 'inline' )
|
1278 |
+
jQuery( '.mapi-close-selector-link' ).css( 'display', 'none' )
|
1279 |
jQuery( '#mapi-wrap' ).css( 'display', 'none' )
|
1280 |
|
1281 |
var SNT = AdvancedAdsAdmin.AdImporter.adNetwork.getCustomInputs()
|
1282 |
SNT.css( 'display', 'block' )
|
1283 |
+
// hide custom layout key if type is not in-feed
|
1284 |
+
if (jQuery('#unit-type').val() !== 'in-feed') {
|
1285 |
+
jQuery('.advads-adsense-layout-key').css('display', 'none')
|
1286 |
+
.next('div').css('display', 'none');
|
1287 |
+
}
|
1288 |
AdvancedAdsAdmin.AdImporter.adNetwork.onManualSetup()
|
1289 |
},
|
1290 |
|
1320 |
{ height: 0, },
|
1321 |
360,
|
1322 |
function () {
|
1323 |
+
jQuery( '.mapi-open-selector,.advads-adsense-show-code' ).css( 'display', 'inline' )
|
1324 |
+
jQuery( '.mapi-close-selector-link' ).css( 'display', 'none' )
|
1325 |
jQuery( '#mapi-wrap' ).css( {
|
1326 |
display: 'none',
|
1327 |
height: 'auto',
|
1339 |
* updates the UI, (call if the selected unit is supported)
|
1340 |
*/
|
1341 |
unitIsNotSupported: function ( slotID ) {
|
1342 |
+
jQuery( '#remote-ad-unsupported-ad-type' ).css( 'display', 'block' );
|
1343 |
+
AdsenseMAPI.unsupportedUnits[ slotID ] = 1;
|
1344 |
+
jQuery( '#unit-code' ).val( '' );
|
1345 |
+
jQuery( '#unit-type' ).val( 'normal' );
|
1346 |
+
jQuery( '#ad-layout-key' ).val( '' );
|
1347 |
+
jQuery( 'tr[data-slotid^="ca-"]' ).removeClass( 'selected error' );
|
1348 |
+
var $selectedRow = jQuery('tr[data-slotid="' + slotID + '"]');
|
1349 |
+
$selectedRow.addClass('selected error').css('background-color', '');
|
1350 |
+
this.scrollToSelectedRow($selectedRow);
|
|
|
|
|
|
|
|
|
|
|
|
|
1351 |
},
|
1352 |
|
1353 |
/**
|
1360 |
delete AdsenseMAPI.unsupportedUnits[ slotID ]
|
1361 |
}
|
1362 |
jQuery( 'i[data-mapiaction="getCode"][data-slotid="' + slotID + '"]' ).removeClass( 'disabled' )
|
|
|
1363 |
if ( jQuery( 'tr[data-slotid="' + slotID + '"] .unittype a' ).length ) {
|
1364 |
var td = jQuery( 'tr[data-slotid="' + slotID + '"] .unittype' )
|
1365 |
var content = jQuery( 'tr[data-slotid="' + slotID + '"] .unittype a' ).attr( 'data-type' )
|
1523 |
class AdvancedAdsExternalAdUnit {
|
1524 |
|
1525 |
}
|
1526 |
+
|
1527 |
+
// handle AJAX errors mostly caused by other plugins and for all other AJAX errors.
|
1528 |
+
// to reproduce this, enable the following PHP code in a PHP mu-plugin to break all AJAX calls
|
1529 |
+
/* if ( isset( $_REQUEST['action'] ) && wp_doing_ajax() ) {
|
1530 |
+
add_action( 'wp_ajax_' . $_REQUEST['action'], function () {
|
1531 |
+
wp_send_json_error( [ 'I\'m Boss now.' ], 400 );
|
1532 |
+
}, 0 );
|
1533 |
+
}*/
|
1534 |
+
(function () {
|
1535 |
+
var open = XMLHttpRequest.prototype.open,
|
1536 |
+
send = XMLHttpRequest.prototype.send,
|
1537 |
+
// variable to hold our request and response data
|
1538 |
+
request = {},
|
1539 |
+
// array of ajax callbacks that are not prefixed with either `advads_` or `advanced_ads_`.
|
1540 |
+
advadsAdditionalActions = [
|
1541 |
+
'load_ad_parameters_metabox',
|
1542 |
+
'load_visitor_conditions_metabox',
|
1543 |
+
'load_display_conditions_metabox',
|
1544 |
+
],
|
1545 |
+
handleError = function (event) {
|
1546 |
+
request.response = JSON.parse(event.responseText).data;
|
1547 |
+
request.status = event.status;
|
1548 |
+
|
1549 |
+
// check if this is an ajax handler from advanced ads
|
1550 |
+
if (
|
1551 |
+
typeof request.payload.action !== 'undefined' &&
|
1552 |
+
(
|
1553 |
+
request.payload.action.indexOf('advads_') === 0
|
1554 |
+
|| request.payload.action.indexOf('advanced_ads_') === 0
|
1555 |
+
|| advadsAdditionalActions.indexOf(request.payload.action) !== -1
|
1556 |
+
)
|
1557 |
+
) {
|
1558 |
+
// dynamically add an WordPress admin_notice
|
1559 |
+
var notice;
|
1560 |
+
if (!(notice = document.getElementById('advads-ajax-error'))) {
|
1561 |
+
notice = document.createElement('div');
|
1562 |
+
// IE does not support adding multiple classes in one statement.
|
1563 |
+
notice.classList.add('notice');
|
1564 |
+
notice.classList.add('notice-error');
|
1565 |
+
notice.classList.add('advads-admin-notice');
|
1566 |
+
notice.id = 'advads-ajax-error';
|
1567 |
+
|
1568 |
+
var heading = document.querySelector('div.wrap h1:first-of-type, div.wrap h2:first-of-type');
|
1569 |
+
heading.parentNode.insertBefore(notice, heading.nextSibling);
|
1570 |
+
heading.scrollIntoView();
|
1571 |
+
}
|
1572 |
+
|
1573 |
+
notice.innerHTML = '<p>' + window.advadstxt.ajax_error_message + '</p>';
|
1574 |
+
|
1575 |
+
// additionally log the request/response to the browser console
|
1576 |
+
console.log(request.method + ' request to ' + request.url + ' with payload ' + JSON.stringify(request.payload) + ' errored with status: ' + request.status + ' and responded ' + JSON.stringify(request.response));
|
1577 |
+
}
|
1578 |
+
};
|
1579 |
+
|
1580 |
+
// hook into the XHR send to intercept the request data
|
1581 |
+
XMLHttpRequest.prototype.send = function (data) {
|
1582 |
+
request.payload = JSON.parse('{"' + decodeURI(data).replace(/"/g, '\\"').replace(/&/g, '","').replace(/=/g, '":"') + '"}');
|
1583 |
+
|
1584 |
+
// apply original
|
1585 |
+
send.apply(this, arguments);
|
1586 |
+
};
|
1587 |
+
|
1588 |
+
// hook into the XHR open to intercept the response and handle if it errors
|
1589 |
+
XMLHttpRequest.prototype.open = function (method, url) {
|
1590 |
+
request.method = method;
|
1591 |
+
request.url = url;
|
1592 |
+
|
1593 |
+
this.addEventListener('load', function (event) {
|
1594 |
+
// Server errors do not trigger the error event but a load event with a status different than 200
|
1595 |
+
if (this.status !== 200) {
|
1596 |
+
handleError(event.target);
|
1597 |
+
}
|
1598 |
+
});
|
1599 |
+
this.addEventListener('error', handleError);
|
1600 |
+
|
1601 |
+
// apply original
|
1602 |
+
open.apply(this, arguments);
|
1603 |
+
};
|
1604 |
+
})();
|
admin/class-advanced-ads-admin.php
CHANGED
@@ -245,6 +245,10 @@ class Advanced_Ads_Admin {
|
|
245 |
'show_inactive_ads' => __( 'Show inactive ads', 'advanced-ads' ),
|
246 |
'hide_inactive_ads' => __( 'Hide inactive ads', 'advanced-ads' ),
|
247 |
'display_conditions_form_name' => Advanced_Ads_Display_Conditions::FORM_NAME, // not meant for translation.
|
|
|
|
|
|
|
|
|
248 |
);
|
249 |
|
250 |
wp_localize_script( $this->plugin_slug . '-admin-script', 'advadstxt', $translation_array );
|
245 |
'show_inactive_ads' => __( 'Show inactive ads', 'advanced-ads' ),
|
246 |
'hide_inactive_ads' => __( 'Hide inactive ads', 'advanced-ads' ),
|
247 |
'display_conditions_form_name' => Advanced_Ads_Display_Conditions::FORM_NAME, // not meant for translation.
|
248 |
+
'ajax_error_message' => __( 'There has been an AJAX error caused by another plugin.', 'advanced-ads' )
|
249 |
+
. ' '
|
250 |
+
// translators: %1$s is an opening link tag, %2$s is a closing one.
|
251 |
+
. sprintf( __( 'Please contact our %1$ssupport%2$s.', 'advanced-ads' ), '<a href="'. Advanced_Ads_Plugin::support_url( '#utm_source=advanced-ads&utm_medium=link&utm_campaign=broken-ajax' ) .'/" target="_blank">', '</a>' ),
|
252 |
);
|
253 |
|
254 |
wp_localize_script( $this->plugin_slug . '-admin-script', 'advadstxt', $translation_array );
|
admin/includes/ad-health-notices.php
CHANGED
@@ -34,27 +34,6 @@ $advanced_ads_ad_health_notices = apply_filters( 'advanced-ads-ad-health-notices
|
|
34 |
),
|
35 |
'type' => 'problem',
|
36 |
),
|
37 |
-
// cache enabled, but not Advanced Ads Pro
|
38 |
-
// checked using Advanced_Ads_Checks::cache() && ! defined( 'AAP_VERSION' ).
|
39 |
-
/*'cache_no_pro' => array(
|
40 |
-
'text' => sprintf(
|
41 |
-
// translators: %s is a target URL.
|
42 |
-
__( 'Your <strong>website uses cache</strong>. Some dynamic features like ad rotation or visitor conditions might not work properly. Use the cache-busting feature of <a href="%s" target="_blank">Advanced Ads Pro</a> to load ads dynamically.', 'advanced-ads' ),
|
43 |
-
ADVADS_URL . 'add-ons/advanced-ads-pro/#utm_source=advanced-ads&utm_medium=link&utm_campaign=error-cache'
|
44 |
-
),
|
45 |
-
'type' => 'problem',
|
46 |
-
),*/
|
47 |
-
// Autoptimize found, but no Advanced Ads Pro
|
48 |
-
// Advanced_Ads_Checks::active_autoptimize() && ! defined( 'AAP_VERSION' ) ).
|
49 |
-
// 1907: Autoptimize didn’t cause issues for a while. We are no longer showing the warning and might remove this if the plugin doesn’t cause problems anymore.
|
50 |
-
'autoptimize_no_pro' => array(
|
51 |
-
'text' => sprintf(
|
52 |
-
// translators: %s is a target URL.
|
53 |
-
__( '<strong>Autoptimize plugin detected</strong>. While this plugin is great for site performance, it is known to alter code, including scripts from ad networks. <a href="%s" target="_blank">Advanced Ads Pro</a> has a build-in support for Autoptimize.', 'advanced-ads' ),
|
54 |
-
ADVADS_URL . 'add-ons/advanced-ads-pro/#utm_source=advanced-ads&utm_medium=link&utm_campaign=error-autoptimize'
|
55 |
-
),
|
56 |
-
'type' => 'problem',
|
57 |
-
),
|
58 |
// conflicting plugins found
|
59 |
// Advanced_Ads_Checks::conflicting_plugins().
|
60 |
'conflicting_plugins' => array(
|
34 |
),
|
35 |
'type' => 'problem',
|
36 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
// conflicting plugins found
|
38 |
// Advanced_Ads_Checks::conflicting_plugins().
|
39 |
'conflicting_plugins' => array(
|
admin/includes/class-ad-groups-list.php
CHANGED
@@ -82,7 +82,7 @@ class Advanced_Ads_Groups_List {
|
|
82 |
}
|
83 |
|
84 |
/**
|
85 |
-
*
|
86 |
*/
|
87 |
public function render_rows() {
|
88 |
foreach ( $this->groups as $_group ) {
|
@@ -355,7 +355,7 @@ class Advanced_Ads_Groups_List {
|
|
355 |
|
356 |
echo '<div class="row-actions">';
|
357 |
foreach ( $actions as $action => $link ) {
|
358 |
-
echo "<span class='$action'
|
359 |
}
|
360 |
echo '</div>';
|
361 |
}
|
@@ -378,7 +378,7 @@ class Advanced_Ads_Groups_List {
|
|
378 |
|
379 |
if ( isset( $_POST['advads-group-name'] ) && '' !== $_POST['advads-group-name'] ) {
|
380 |
|
381 |
-
$title = sanitize_text_field( $_POST['advads-group-name'] );
|
382 |
$new_group = wp_create_term( $title, Advanced_Ads::AD_GROUP_TAXONOMY );
|
383 |
|
384 |
if ( is_wp_error( $new_group ) ) {
|
@@ -390,11 +390,13 @@ class Advanced_Ads_Groups_List {
|
|
390 |
$group = new Advanced_Ads_Group( $new_group['term_id'] );
|
391 |
|
392 |
// allow other add-ons to save their own group attributes.
|
393 |
-
$atts = apply_filters(
|
394 |
-
'
|
395 |
-
|
396 |
-
|
397 |
-
|
|
|
|
|
398 |
$group
|
399 |
);
|
400 |
|
@@ -453,14 +455,13 @@ class Advanced_Ads_Groups_List {
|
|
453 |
|
454 |
$all_weights = get_option( 'advads-ad-weights', array() );
|
455 |
|
456 |
-
// ad_id => group_ids
|
457 |
$ad_groups_assoc = array();
|
458 |
|
459 |
if ( isset( $_POST['advads-groups-removed-ads'] ) && is_array( $_POST['advads-groups-removed-ads'] ) && isset( $_POST['advads-groups-removed-ads-gid'] ) ) {
|
460 |
$len = count( $_POST['advads-groups-removed-ads'] );
|
461 |
for ( $i = 0; $i < $len; $i ++ ) {
|
462 |
-
$ad_id = $_POST['advads-groups-removed-ads'][ $i ];
|
463 |
-
$group_id = $_POST['advads-groups-removed-ads-gid'][ $i ];
|
464 |
$ad_groups_assoc[ $ad_id ] = array();
|
465 |
// remove it from the weights.
|
466 |
if ( isset( $all_weights[ $group_id ] ) && isset( $all_weights[ $group_id ][ $ad_id ] ) ) {
|
@@ -469,7 +470,7 @@ class Advanced_Ads_Groups_List {
|
|
469 |
// we need to load all the group ids, that are allocated to this ad and then remove the right one only.
|
470 |
$group_ids = $this->get_groups_by_ad_id( $ad_id );
|
471 |
foreach ( $group_ids as $gid ) {
|
472 |
-
if ( $gid
|
473 |
$ad_groups_assoc[ $ad_id ][] = $gid;
|
474 |
}
|
475 |
}
|
@@ -478,9 +479,10 @@ class Advanced_Ads_Groups_List {
|
|
478 |
|
479 |
|
480 |
// iterate through groups.
|
481 |
-
|
|
|
482 |
|
483 |
-
foreach ( $
|
484 |
|
485 |
// save basic wp term.
|
486 |
wp_update_term( $_group_id, Advanced_Ads::AD_GROUP_TAXONOMY, $_group );
|
@@ -513,7 +515,6 @@ class Advanced_Ads_Groups_List {
|
|
513 |
|
514 |
// save ad weights.
|
515 |
$all_weights[ $group->id ] = $group->sanitize_ad_weights( $_group['ads'] );
|
516 |
-
//$group->save_ad_weights( $_group['ads'] );
|
517 |
}
|
518 |
|
519 |
// save other attributes.
|
@@ -522,11 +523,14 @@ class Advanced_Ads_Groups_List {
|
|
522 |
$options = isset( $_group['options'] ) ? $_group['options'] : array();
|
523 |
|
524 |
// allow other add-ons to save their own group attributes.
|
525 |
-
$atts = apply_filters( 'advanced-ads-group-save-atts',
|
526 |
-
|
527 |
-
|
528 |
-
|
529 |
-
|
|
|
|
|
|
|
530 |
|
531 |
$group->save( $atts );
|
532 |
}
|
@@ -556,10 +560,10 @@ class Advanced_Ads_Groups_List {
|
|
556 |
public static function group_page_url( $args = array() ) {
|
557 |
$plugin = Advanced_Ads::get_instance();
|
558 |
|
559 |
-
$
|
560 |
'page' => 'advanced-ads-groups',
|
561 |
);
|
562 |
-
$args
|
563 |
|
564 |
return add_query_arg( $args, admin_url( 'admin.php' ) );
|
565 |
}
|
82 |
}
|
83 |
|
84 |
/**
|
85 |
+
* Render list rows
|
86 |
*/
|
87 |
public function render_rows() {
|
88 |
foreach ( $this->groups as $_group ) {
|
355 |
|
356 |
echo '<div class="row-actions">';
|
357 |
foreach ( $actions as $action => $link ) {
|
358 |
+
echo "<span class='" . esc_attr( $action ) . "'>" . wp_kses( $link, array( 'a' => array( 'class' => array(), 'href' => array() ) ) ) . '</span>';
|
359 |
}
|
360 |
echo '</div>';
|
361 |
}
|
378 |
|
379 |
if ( isset( $_POST['advads-group-name'] ) && '' !== $_POST['advads-group-name'] ) {
|
380 |
|
381 |
+
$title = sanitize_text_field( wp_unslash( $_POST['advads-group-name'] ) );
|
382 |
$new_group = wp_create_term( $title, Advanced_Ads::AD_GROUP_TAXONOMY );
|
383 |
|
384 |
if ( is_wp_error( $new_group ) ) {
|
390 |
$group = new Advanced_Ads_Group( $new_group['term_id'] );
|
391 |
|
392 |
// allow other add-ons to save their own group attributes.
|
393 |
+
$atts = apply_filters(
|
394 |
+
'advanced-ads-group-save-atts',
|
395 |
+
array(
|
396 |
+
'type' => 'default',
|
397 |
+
'ad_count' => 1,
|
398 |
+
'options' => array(),
|
399 |
+
),
|
400 |
$group
|
401 |
);
|
402 |
|
455 |
|
456 |
$all_weights = get_option( 'advads-ad-weights', array() );
|
457 |
|
|
|
458 |
$ad_groups_assoc = array();
|
459 |
|
460 |
if ( isset( $_POST['advads-groups-removed-ads'] ) && is_array( $_POST['advads-groups-removed-ads'] ) && isset( $_POST['advads-groups-removed-ads-gid'] ) ) {
|
461 |
$len = count( $_POST['advads-groups-removed-ads'] );
|
462 |
for ( $i = 0; $i < $len; $i ++ ) {
|
463 |
+
$ad_id = absint( wp_unslash( $_POST['advads-groups-removed-ads'][ $i ] ) );
|
464 |
+
$group_id = absint( wp_unslash( $_POST['advads-groups-removed-ads-gid'][ $i ] ) );
|
465 |
$ad_groups_assoc[ $ad_id ] = array();
|
466 |
// remove it from the weights.
|
467 |
if ( isset( $all_weights[ $group_id ] ) && isset( $all_weights[ $group_id ][ $ad_id ] ) ) {
|
470 |
// we need to load all the group ids, that are allocated to this ad and then remove the right one only.
|
471 |
$group_ids = $this->get_groups_by_ad_id( $ad_id );
|
472 |
foreach ( $group_ids as $gid ) {
|
473 |
+
if ( $gid !== $group_id ) {
|
474 |
$ad_groups_assoc[ $ad_id ][] = $gid;
|
475 |
}
|
476 |
}
|
479 |
|
480 |
|
481 |
// iterate through groups.
|
482 |
+
$post_ad_groups = isset( $_POST['advads-groups'] ) ? wp_unslash( $_POST['advads-groups'] ) : array();
|
483 |
+
if ( count( $post_ad_groups ) ) {
|
484 |
|
485 |
+
foreach ( $post_ad_groups as $_group_id => $_group ) {
|
486 |
|
487 |
// save basic wp term.
|
488 |
wp_update_term( $_group_id, Advanced_Ads::AD_GROUP_TAXONOMY, $_group );
|
515 |
|
516 |
// save ad weights.
|
517 |
$all_weights[ $group->id ] = $group->sanitize_ad_weights( $_group['ads'] );
|
|
|
518 |
}
|
519 |
|
520 |
// save other attributes.
|
523 |
$options = isset( $_group['options'] ) ? $_group['options'] : array();
|
524 |
|
525 |
// allow other add-ons to save their own group attributes.
|
526 |
+
$atts = apply_filters( 'advanced-ads-group-save-atts',
|
527 |
+
array(
|
528 |
+
'type' => $type,
|
529 |
+
'ad_count' => $ad_count,
|
530 |
+
'options' => $options,
|
531 |
+
),
|
532 |
+
$_group
|
533 |
+
);
|
534 |
|
535 |
$group->save( $atts );
|
536 |
}
|
560 |
public static function group_page_url( $args = array() ) {
|
561 |
$plugin = Advanced_Ads::get_instance();
|
562 |
|
563 |
+
$default_args = array(
|
564 |
'page' => 'advanced-ads-groups',
|
565 |
);
|
566 |
+
$args = $args + $default_args;
|
567 |
|
568 |
return add_query_arg( $args, admin_url( 'admin.php' ) );
|
569 |
}
|
admin/includes/class-ad-network-ad-importer.php
CHANGED
@@ -1,17 +1,27 @@
|
|
1 |
<?php
|
2 |
-
abstract class Advanced_Ads_Ad_Network_Ad_Importer{
|
3 |
-
protected $ad_network;
|
4 |
|
5 |
-
|
6 |
-
* Advanced_Ads_Ad_Network_Ad_Importer constructor.
|
7 |
-
* @param $ad_network
|
8 |
-
*/
|
9 |
-
public function __construct($ad_network)
|
10 |
-
{
|
11 |
-
$this->ad_network = $ad_network;
|
12 |
-
}
|
13 |
|
14 |
-
|
|
|
|
|
|
|
|
|
|
|
15 |
|
16 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
}
|
1 |
<?php
|
|
|
|
|
2 |
|
3 |
+
abstract class Advanced_Ads_Ad_Network_Ad_Importer {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
5 |
+
/**
|
6 |
+
* Ad network
|
7 |
+
*
|
8 |
+
* @var
|
9 |
+
*/
|
10 |
+
protected $ad_network;
|
11 |
|
12 |
+
/**
|
13 |
+
* Advanced_Ads_Ad_Network_Ad_Importer constructor.
|
14 |
+
*
|
15 |
+
* @param $ad_network
|
16 |
+
*/
|
17 |
+
public function __construct( $ad_network ) {
|
18 |
+
$this->ad_network = $ad_network;
|
19 |
+
}
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Render network
|
23 |
+
*/
|
24 |
+
public function render() {
|
25 |
+
|
26 |
+
}
|
27 |
}
|
admin/includes/class-ad-network-ad-unit.php
CHANGED
@@ -4,58 +4,96 @@
|
|
4 |
* Class Advanced_Ads_Ad_Network_Ad_Unit
|
5 |
* This represents an external ad unit. Will be used for importing external ads from various ad networks.
|
6 |
*/
|
7 |
-
class Advanced_Ads_Ad_Network_Ad_Unit{
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
61 |
}
|
4 |
* Class Advanced_Ads_Ad_Network_Ad_Unit
|
5 |
* This represents an external ad unit. Will be used for importing external ads from various ad networks.
|
6 |
*/
|
7 |
+
class Advanced_Ads_Ad_Network_Ad_Unit {
|
8 |
+
/**
|
9 |
+
* Contains the raw data (typically from a JSON response) for this ad unit
|
10 |
+
*
|
11 |
+
* @var string
|
12 |
+
*/
|
13 |
+
public $raw;
|
14 |
+
|
15 |
+
/**
|
16 |
+
* The (external) id of this ad unit (e.g. pub-ca... for adsense)
|
17 |
+
*
|
18 |
+
* @var string
|
19 |
+
*/
|
20 |
+
public $id;
|
21 |
+
|
22 |
+
/**
|
23 |
+
* The display name of the ad
|
24 |
+
*
|
25 |
+
* @var string
|
26 |
+
*/
|
27 |
+
public $name;
|
28 |
+
|
29 |
+
/**
|
30 |
+
* The type of this ad unit (displayed in list)
|
31 |
+
*
|
32 |
+
* @var string
|
33 |
+
*/
|
34 |
+
public $display_type;
|
35 |
+
|
36 |
+
/**
|
37 |
+
* The size of this ad unit (displayed in list)
|
38 |
+
*
|
39 |
+
* @var string
|
40 |
+
*/
|
41 |
+
public $display_size;
|
42 |
+
|
43 |
+
/**
|
44 |
+
* In case of an AdSense ad, this is the id of the ad without the publisher id
|
45 |
+
* the value will be displayed in the ads list
|
46 |
+
*
|
47 |
+
* @var string
|
48 |
+
*/
|
49 |
+
public $slot_id;
|
50 |
+
|
51 |
+
/**
|
52 |
+
* A bool that indicates whether an ad is active (inactives will be hidden by default)
|
53 |
+
*
|
54 |
+
* @var bool
|
55 |
+
*/
|
56 |
+
public $active;
|
57 |
+
|
58 |
+
/**
|
59 |
+
* Advanced_Ads_Ad_Network_Ad_Unit constructor.
|
60 |
+
*
|
61 |
+
* @param string $raw raw ad data.
|
62 |
+
*/
|
63 |
+
public function __construct( $raw ) {
|
64 |
+
$this->raw = $raw;
|
65 |
+
}
|
66 |
+
|
67 |
+
/**
|
68 |
+
* Sort multiple ad units.
|
69 |
+
*
|
70 |
+
* @param array $ad_units array of ad units.
|
71 |
+
* @param string $selected_id ID of the selected ad. Can be taken from the ad network and therefore also a string.
|
72 |
+
*
|
73 |
+
* @return array
|
74 |
+
*/
|
75 |
+
public static function sort_ad_units( array &$ad_units, $selected_id ) {
|
76 |
+
usort(
|
77 |
+
$ad_units,
|
78 |
+
function ( $a, $b ) use ( $selected_id ) {
|
79 |
+
if ( $a->id == $selected_id ) {
|
80 |
+
return - 1;
|
81 |
+
}
|
82 |
+
if ( $b->id == $selected_id ) {
|
83 |
+
return 1;
|
84 |
+
}
|
85 |
+
if ( $a->is_supported ) {
|
86 |
+
if ( ! $b->is_supported ) {
|
87 |
+
return - 1;
|
88 |
+
}
|
89 |
+
} elseif ( $b->is_supported ) {
|
90 |
+
return 1;
|
91 |
+
}
|
92 |
+
|
93 |
+
return strcmp( $a->name, $b->name );
|
94 |
+
}
|
95 |
+
);
|
96 |
+
|
97 |
+
return $ad_units;
|
98 |
+
}
|
99 |
}
|
admin/includes/class-ad-network.php
CHANGED
@@ -1,367 +1,466 @@
|
|
1 |
<?php
|
|
|
2 |
/**
|
3 |
* Class Advanced_Ads_Ad_Network
|
4 |
*/
|
5 |
-
abstract class Advanced_Ads_Ad_Network{
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
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 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
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 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
367 |
}
|
1 |
<?php
|
2 |
+
|
3 |
/**
|
4 |
* Class Advanced_Ads_Ad_Network
|
5 |
*/
|
6 |
+
abstract class Advanced_Ads_Ad_Network {
|
7 |
+
/**
|
8 |
+
* The identifier will be used for generated ids, names etc.
|
9 |
+
*
|
10 |
+
* @var string
|
11 |
+
*/
|
12 |
+
protected $identifier;
|
13 |
+
|
14 |
+
/**
|
15 |
+
* The name of the ad network
|
16 |
+
*
|
17 |
+
* @var string
|
18 |
+
*/
|
19 |
+
protected $name;
|
20 |
+
|
21 |
+
/**
|
22 |
+
* The name of the hook for the advanced ads settings page
|
23 |
+
*
|
24 |
+
* @var string
|
25 |
+
*/
|
26 |
+
protected $settings_page_hook;
|
27 |
+
|
28 |
+
/**
|
29 |
+
* The WordPress nonce (retrieve with the get_nonce method)
|
30 |
+
*
|
31 |
+
* @var string
|
32 |
+
*/
|
33 |
+
protected $nonce;
|
34 |
+
|
35 |
+
/**
|
36 |
+
* Advanced_Ads_Ad_Network constructor.
|
37 |
+
*
|
38 |
+
* @param string $identifier an identifier that will be used for hooks, settings, ids and much more - MAKE SURE IT IS UNIQUE.
|
39 |
+
* @param string $name - the (translateable) display name for this ad network.
|
40 |
+
*/
|
41 |
+
public function __construct( $identifier, $name ) {
|
42 |
+
$this->identifier = $identifier;
|
43 |
+
$this->name = $name;
|
44 |
+
$this->settings_page_hook = ADVADS_SLUG . '-' . $this->identifier . '-settings-page';
|
45 |
+
$this->settings_section_id = ADVADS_SLUG . '-' . $this->identifier . '-settings-section';
|
46 |
+
$this->settings_init_hook = ADVADS_SLUG . '-' . $this->identifier . '-settings-init';
|
47 |
+
}
|
48 |
+
|
49 |
+
/**
|
50 |
+
* The identifier for this network
|
51 |
+
*
|
52 |
+
* @return string
|
53 |
+
*/
|
54 |
+
public function get_identifier() {
|
55 |
+
return $this->identifier;
|
56 |
+
}
|
57 |
+
|
58 |
+
/**
|
59 |
+
* The display name for this network
|
60 |
+
*
|
61 |
+
* @return string
|
62 |
+
*/
|
63 |
+
public function get_display_name() {
|
64 |
+
return $this->name;
|
65 |
+
}
|
66 |
+
|
67 |
+
/**
|
68 |
+
* The display value for the settings tab
|
69 |
+
*
|
70 |
+
* @return string
|
71 |
+
*/
|
72 |
+
public function get_settings_tab_name() {
|
73 |
+
return $this->get_display_name();
|
74 |
+
}
|
75 |
+
|
76 |
+
/**
|
77 |
+
* URL for the settings page (admin)
|
78 |
+
*
|
79 |
+
* @return string
|
80 |
+
*/
|
81 |
+
public function get_settings_href() {
|
82 |
+
return admin_url( 'admin.php?page=advanced-ads-settings#top#' . $this->identifier );
|
83 |
+
}
|
84 |
+
|
85 |
+
/**
|
86 |
+
* The identifier / name for the javascript file that will be injected.
|
87 |
+
*
|
88 |
+
* @return string
|
89 |
+
*/
|
90 |
+
public function get_js_library_name() {
|
91 |
+
return 'advanced-ads-network' . $this->identifier;
|
92 |
+
}
|
93 |
+
|
94 |
+
/**
|
95 |
+
* Registers this ad network
|
96 |
+
*/
|
97 |
+
public function register() {
|
98 |
+
// register the ad type.
|
99 |
+
add_filter( 'advanced-ads-ad-types', array( $this, 'register_ad_type_callback' ) );
|
100 |
+
|
101 |
+
if ( is_admin() ) {
|
102 |
+
if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
|
103 |
+
// we need add all the actions for our ajax calls here.
|
104 |
+
// our ajax method that will trigger an update of the ad units of this network.
|
105 |
+
add_action( 'wp_ajax_advanced_ads_get_ad_units_' . $this->identifier, array( $this, 'update_external_ad_units' ) );
|
106 |
+
add_action( 'wp_ajax_advanced_ads_toggle_idle_ads_' . $this->identifier, array( $this, 'toggle_idle_ads' ) );
|
107 |
+
} else {
|
108 |
+
// find out if we need to register the settings. this is necessary
|
109 |
+
// 1) when viewing the settings (admin.php with page="advanced-ads-settings")
|
110 |
+
// 2) when posting the settings to options.php
|
111 |
+
// in all other cases, there is nothing to do.
|
112 |
+
global $pagenow;
|
113 |
+
$requires_settings = false;
|
114 |
+
$requires_javascript = false;
|
115 |
+
|
116 |
+
if ( 'admin.php' === $pagenow ) {
|
117 |
+
$page = isset( $_REQUEST['page'] ) ? $_REQUEST['page'] : null;
|
118 |
+
switch ( $page ) {
|
119 |
+
case 'advanced-ads-settings':
|
120 |
+
$requires_settings = true;
|
121 |
+
$requires_javascript = true;
|
122 |
+
break;
|
123 |
+
case 'advanced-ads':
|
124 |
+
$requires_javascript = true;
|
125 |
+
default:
|
126 |
+
break;
|
127 |
+
}
|
128 |
+
} elseif ( 'options.php' === $pagenow ) {
|
129 |
+
$requires_settings = true;
|
130 |
+
} elseif ( 'post.php' === $pagenow || 'post-new.php' === $pagenow ) {
|
131 |
+
$post_type = isset( $_REQUEST['post_type'] ) ? $_REQUEST['post_type'] : '';
|
132 |
+
add_filter( 'advanced-ads-ad-settings-pre-save', array( $this, 'sanitize_ad_settings' ) );
|
133 |
+
|
134 |
+
if ( isset( $_GET['action'] ) && 'edit' === $_GET['action'] ) {
|
135 |
+
$requires_javascript = true;
|
136 |
+
} elseif ( 'advanced_ads' === $post_type ) {
|
137 |
+
$requires_javascript = true;
|
138 |
+
}
|
139 |
+
}
|
140 |
+
|
141 |
+
if ( $requires_settings ) {
|
142 |
+
// register the settings.
|
143 |
+
add_action( 'advanced-ads-settings-init', array( $this, 'register_settings_callback' ) );
|
144 |
+
add_filter( 'advanced-ads-setting-tabs', array( $this, 'register_settings_tabs_callback' ) );
|
145 |
+
}
|
146 |
+
if ( $requires_javascript ) {
|
147 |
+
add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts_callback' ) );
|
148 |
+
}
|
149 |
+
}
|
150 |
+
}
|
151 |
+
}
|
152 |
+
|
153 |
+
/**
|
154 |
+
* The callback method for the filter "advanced-ads-ad-types"
|
155 |
+
*
|
156 |
+
* @param array $types ad types.
|
157 |
+
*
|
158 |
+
* @return array
|
159 |
+
*/
|
160 |
+
public function register_ad_type_callback( $types ) {
|
161 |
+
$types[ $this->identifier ] = $this->get_ad_type();
|
162 |
+
|
163 |
+
return $types;
|
164 |
+
}
|
165 |
+
|
166 |
+
/**
|
167 |
+
* This method will be called for the wp action "advanced-ads-settings-init" and therefore has to be public.
|
168 |
+
*/
|
169 |
+
public function register_settings_callback() {
|
170 |
+
// register new settings.
|
171 |
+
register_setting(
|
172 |
+
ADVADS_SLUG . '-' . $this->identifier,
|
173 |
+
ADVADS_SLUG . '-' . $this->identifier,
|
174 |
+
array( $this, 'sanitize_settings_callback' )
|
175 |
+
);
|
176 |
+
|
177 |
+
// add a new section.
|
178 |
+
add_settings_section(
|
179 |
+
$this->settings_section_id,
|
180 |
+
'',
|
181 |
+
array( $this, 'render_settings_callback' ),
|
182 |
+
$this->settings_page_hook
|
183 |
+
);
|
184 |
+
|
185 |
+
// register all the custom settings.
|
186 |
+
$this->register_settings( $this->settings_page_hook, $this->settings_section_id );
|
187 |
+
|
188 |
+
do_action( $this->settings_init_hook, $this->settings_page_hook );
|
189 |
+
}
|
190 |
+
|
191 |
+
/**
|
192 |
+
* Create name of the object used for localized data
|
193 |
+
*
|
194 |
+
* @return string
|
195 |
+
*/
|
196 |
+
protected function get_localized_script_object_name() {
|
197 |
+
return $this->identifier . 'AdvancedAdsJS';
|
198 |
+
}
|
199 |
+
|
200 |
+
/**
|
201 |
+
* Engueue scripts
|
202 |
+
*/
|
203 |
+
public function enqueue_scripts_callback() {
|
204 |
+
|
205 |
+
if ( ! Advanced_Ads_Admin::screen_belongs_to_advanced_ads() ) {
|
206 |
+
return;
|
207 |
+
}
|
208 |
+
|
209 |
+
$js_path = $this->get_javascript_base_path();
|
210 |
+
if ( $js_path ) {
|
211 |
+
$id = $this->get_js_library_name();
|
212 |
+
wp_enqueue_script( $id, $js_path, array( 'jquery' ) );
|
213 |
+
// next we have to pass the data.
|
214 |
+
$data = array(
|
215 |
+
'nonce' => $this->get_nonce(),
|
216 |
+
);
|
217 |
+
$data = $this->append_javascript_data( $data );
|
218 |
+
wp_localize_script( $id, $this->get_localized_script_object_name(), $data );
|
219 |
+
}
|
220 |
+
}
|
221 |
+
|
222 |
+
/**
|
223 |
+
* Get a nonce
|
224 |
+
*
|
225 |
+
* @return string
|
226 |
+
*/
|
227 |
+
public function get_nonce() {
|
228 |
+
if ( ! $this->nonce ) {
|
229 |
+
$this->nonce = wp_create_nonce( $this->get_nonce_action() );
|
230 |
+
}
|
231 |
+
|
232 |
+
return $this->nonce;
|
233 |
+
}
|
234 |
+
|
235 |
+
/**
|
236 |
+
* Returns the action (name) of the nonce for this network
|
237 |
+
* in some cases you may want to override this method to faciliate
|
238 |
+
* integration with existing code
|
239 |
+
*
|
240 |
+
* @return string
|
241 |
+
*/
|
242 |
+
public function get_nonce_action() {
|
243 |
+
return 'advads-network-' . $this->identifier;
|
244 |
+
}
|
245 |
+
|
246 |
+
/**
|
247 |
+
* This method will be called for the wp action "advanced-ads-settings-tabs" and therefore has to be public.
|
248 |
+
* it simply adds a tab for this ad type. if you don't want that just override this method with an empty one.
|
249 |
+
*
|
250 |
+
* @param array $tabs tabs on Advanced Ads settings page.
|
251 |
+
*
|
252 |
+
* @return array
|
253 |
+
*/
|
254 |
+
public function register_settings_tabs_callback( $tabs ) {
|
255 |
+
$tab_id = $this->identifier;
|
256 |
+
$tabs[ $tab_id ] = array(
|
257 |
+
'page' => $this->settings_page_hook,
|
258 |
+
'group' => ADVADS_SLUG . '-' . $this->identifier,
|
259 |
+
'tabid' => $tab_id,
|
260 |
+
'title' => $this->get_settings_tab_name(),
|
261 |
+
);
|
262 |
+
|
263 |
+
return $tabs;
|
264 |
+
}
|
265 |
+
|
266 |
+
/**
|
267 |
+
* Render settings page
|
268 |
+
*/
|
269 |
+
public function render_settings_callback() {
|
270 |
+
|
271 |
+
}
|
272 |
+
|
273 |
+
/**
|
274 |
+
* Callback to sanitize settings
|
275 |
+
*
|
276 |
+
* @param array $options options to be sanitized.
|
277 |
+
*
|
278 |
+
* @return mixed
|
279 |
+
*/
|
280 |
+
public function sanitize_settings_callback( $options ) {
|
281 |
+
$options = $this->sanitize_settings( $options );
|
282 |
+
|
283 |
+
return $options;
|
284 |
+
}
|
285 |
+
|
286 |
+
/**
|
287 |
+
* Callback to sanitize settings for an individual ad
|
288 |
+
*
|
289 |
+
* @param array $ad_settings_post post data from the ad settings form.
|
290 |
+
*
|
291 |
+
* @return mixed
|
292 |
+
*/
|
293 |
+
public function sanitize_ad_settings_callback( array $ad_settings_post ) {
|
294 |
+
return $this->sanitize_ad_settings( $ad_settings_post );
|
295 |
+
}
|
296 |
+
|
297 |
+
/**
|
298 |
+
* Performs basic security checks for wp ajax requests (nonce, capabilities)
|
299 |
+
* dies, when a problem was detected
|
300 |
+
*/
|
301 |
+
protected function ajax_security_checks() {
|
302 |
+
if ( ! current_user_can( Advanced_Ads_Plugin::user_cap( 'advanced_ads_manage_options' ) ) ) {
|
303 |
+
// TODO: translate.
|
304 |
+
$this->send_ajax_error_response_and_die( "You don't have the permission to manage ads." );
|
305 |
+
}
|
306 |
+
$nonce = isset( $_REQUEST['nonce'] ) ? $_REQUEST['nonce'] : '';
|
307 |
+
if ( ! wp_verify_nonce( $nonce, $this->get_nonce_action() ) ) {
|
308 |
+
// TODO: translate.
|
309 |
+
$this->send_ajax_error_response_and_die( 'You sent an invalid request.' );
|
310 |
+
}
|
311 |
+
}
|
312 |
+
|
313 |
+
/**
|
314 |
+
* Send data via AJAX but don’t react on it.
|
315 |
+
*
|
316 |
+
* @param bool $json_serializable_response true if data can be serialized.
|
317 |
+
*/
|
318 |
+
protected function send_ajax_response_and_die( $json_serializable_response = false ) {
|
319 |
+
if ( ! $json_serializable_response ) {
|
320 |
+
$json_serializable_response = new stdClass();
|
321 |
+
}
|
322 |
+
header( 'Content-Type: application/json' );
|
323 |
+
echo wp_json_encode( $json_serializable_response );
|
324 |
+
die();
|
325 |
+
}
|
326 |
+
|
327 |
+
/**
|
328 |
+
* Send message via AJAX but don’t react on it.
|
329 |
+
*
|
330 |
+
* @param string $message message string.
|
331 |
+
*/
|
332 |
+
protected function send_ajax_error_response_and_die( $message ) {
|
333 |
+
header( 'Content-Type: application/json' );
|
334 |
+
$r = new stdClass();
|
335 |
+
$r->error = $message;
|
336 |
+
echo wp_json_encode( $r );
|
337 |
+
die();
|
338 |
+
}
|
339 |
+
|
340 |
+
/**
|
341 |
+
* Toggle ad IDs
|
342 |
+
*/
|
343 |
+
public function toggle_idle_ads() {
|
344 |
+
$this->ajax_security_checks();
|
345 |
+
global $external_ad_unit_id;
|
346 |
+
$hide_idle_ads = isset( $_POST['hide'] ) ? $_POST['hide'] : false;
|
347 |
+
$external_ad_unit_id = isset( $_POST['ad_unit_id'] ) ? $_POST['ad_unit_id'] : "";
|
348 |
+
if ( ! $external_ad_unit_id ) {
|
349 |
+
$external_ad_unit_id = '';
|
350 |
+
}
|
351 |
+
ob_start();
|
352 |
+
|
353 |
+
$this->print_external_ads_list( $hide_idle_ads );
|
354 |
+
$ad_selector = ob_get_clean();
|
355 |
+
|
356 |
+
$response = array(
|
357 |
+
'status' => true,
|
358 |
+
'html' => $ad_selector,
|
359 |
+
);
|
360 |
+
$this->send_ajax_response_and_die( $response );
|
361 |
+
}
|
362 |
+
|
363 |
+
/**
|
364 |
+
* When you need some kind of manual ad setup (meaning you can edit the custom inputs of this ad type)
|
365 |
+
* you should override this method to return true. this results in an additional link (Setup code manually)
|
366 |
+
*
|
367 |
+
* @return bool
|
368 |
+
*/
|
369 |
+
public function supports_manual_ad_setup() {
|
370 |
+
return false;
|
371 |
+
}
|
372 |
+
|
373 |
+
/**
|
374 |
+
* Print a list of ads.
|
375 |
+
*
|
376 |
+
* @param bool $hide_idle_ads true to hide idle ids.
|
377 |
+
*
|
378 |
+
* @return mixed
|
379 |
+
*/
|
380 |
+
abstract public function print_external_ads_list( $hide_idle_ads = true );
|
381 |
+
|
382 |
+
/**
|
383 |
+
* Retrieves an instance of the ad type for this ad network
|
384 |
+
*/
|
385 |
+
abstract public function get_ad_type();
|
386 |
+
|
387 |
+
/**
|
388 |
+
* This method will be called via wp AJAX.
|
389 |
+
* it has to retrieve the list of ads from the ad network and store it as an option
|
390 |
+
* does not return ad units - use "get_external_ad_units" if you're looking for an array of ad units
|
391 |
+
*/
|
392 |
+
abstract public function update_external_ad_units();
|
393 |
+
|
394 |
+
/**
|
395 |
+
* Adds the custom wp settings to the tab for this ad unit
|
396 |
+
*
|
397 |
+
* @param string $hook hook for the settings page.
|
398 |
+
* @param string $section_id settings section ID.
|
399 |
+
*/
|
400 |
+
abstract protected function register_settings( $hook, $section_id );
|
401 |
+
|
402 |
+
/**
|
403 |
+
* Sanitize the network specific options
|
404 |
+
*
|
405 |
+
* @param array $options the options to sanitize.
|
406 |
+
*
|
407 |
+
* @return mixed the sanitizzed options
|
408 |
+
*/
|
409 |
+
abstract protected function sanitize_settings( $options );
|
410 |
+
|
411 |
+
/**
|
412 |
+
* Sanitize the settings for this ad network
|
413 |
+
*
|
414 |
+
* @param array $ad_settings_post ad settings in POST format.
|
415 |
+
*
|
416 |
+
* @return mixed the sanitized settings
|
417 |
+
*/
|
418 |
+
abstract public function sanitize_ad_settings( $ad_settings_post );
|
419 |
+
|
420 |
+
|
421 |
+
/**
|
422 |
+
* Get external ad units from the given network.
|
423 |
+
*
|
424 |
+
* @return array of ad units (Advanced_Ads_Ad_Network_Ad_Unit)
|
425 |
+
*/
|
426 |
+
abstract public function get_external_ad_units();
|
427 |
+
|
428 |
+
/**
|
429 |
+
* Checks if the ad_unit is supported by Advanced Ads.
|
430 |
+
* this determines wheter it can be imported or not.
|
431 |
+
*
|
432 |
+
* @param object $ad_unit ad unit.
|
433 |
+
*
|
434 |
+
* @return boolean
|
435 |
+
*/
|
436 |
+
abstract public function is_supported( $ad_unit );
|
437 |
+
|
438 |
+
/**
|
439 |
+
* There is no common way to connect to an external account. you will have to implement it somehow, just
|
440 |
+
* like the whole setup process (usually done in the settings tab of this network). this method provides
|
441 |
+
* a way to return this account connection
|
442 |
+
*
|
443 |
+
* @return boolean true, when an account was successfully connected
|
444 |
+
*/
|
445 |
+
abstract public function is_account_connected();
|
446 |
+
|
447 |
+
/**
|
448 |
+
* External ad networks rely on the same javascript base code. however you still have to provide
|
449 |
+
* a javascript class that inherits from the AdvancedAdsAdNetwork js class
|
450 |
+
* this has to point to that file, or return false,
|
451 |
+
* if you don't have to include it in another way (NOT RECOMMENDED!)
|
452 |
+
*
|
453 |
+
* @return string path to the javascript file containing the javascriot class for this ad type
|
454 |
+
*/
|
455 |
+
abstract public function get_javascript_base_path();
|
456 |
+
|
457 |
+
/**
|
458 |
+
* Our script might need translations or other variables (llike a nonce, which is included automatically)
|
459 |
+
* add anything you need in this method and return the array
|
460 |
+
*
|
461 |
+
* @param array $data holding the data.
|
462 |
+
*
|
463 |
+
* @return array the data, that will be passed to the base javascript file containing the AdvancedAdsAdNetwork class
|
464 |
+
*/
|
465 |
+
abstract public function append_javascript_data( &$data );
|
466 |
}
|
admin/includes/class-ad-type.php
CHANGED
@@ -25,103 +25,152 @@ class Advanced_Ads_Admin_Ad_Type {
|
|
25 |
*/
|
26 |
private function __construct() {
|
27 |
// registering custom columns needs to work with and without DOING_AJAX.
|
28 |
-
add_filter(
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
|
53 |
// ad updated messages.
|
54 |
-
add_filter( 'bulk_post_updated_messages',
|
55 |
-
|
56 |
-
|
57 |
-
|
|
|
|
|
|
|
|
|
58 |
|
59 |
// handling (ad) lists.
|
60 |
-
add_filter( 'request',
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
|
|
|
|
|
|
69 |
// save ads post type.
|
70 |
-
add_action( 'save_post',
|
71 |
-
|
72 |
-
|
73 |
-
|
|
|
|
|
74 |
// delete ads post type.
|
75 |
-
add_action( 'delete_post',
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
|
|
80 |
// on post/ad edit screen.
|
81 |
-
add_action( 'edit_form_top',
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
)
|
93 |
-
add_action( '
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
102 |
// ad updated messages.
|
103 |
-
add_filter( 'post_updated_messages',
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
|
|
|
|
115 |
// things that need to know the current screen.
|
116 |
-
add_action( 'current_screen',
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
124 |
|
|
|
125 |
}
|
126 |
|
127 |
/**
|
@@ -131,7 +180,7 @@ class Advanced_Ads_Admin_Ad_Type {
|
|
131 |
*/
|
132 |
public static function get_instance() {
|
133 |
// If the single instance hasn't been set, set it now.
|
134 |
-
if ( null
|
135 |
self::$instance = new self();
|
136 |
}
|
137 |
|
@@ -202,14 +251,16 @@ class Advanced_Ads_Admin_Ad_Type {
|
|
202 |
}
|
203 |
|
204 |
// white-listed columns.
|
205 |
-
$whitelist = apply_filters( 'advanced-ads-ad-list-allowed-columns',
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
|
|
|
|
213 |
|
214 |
// remove non-white-listed columns.
|
215 |
foreach ( $new_columns as $_key => $_value ) {
|
@@ -281,10 +332,12 @@ class Advanced_Ads_Admin_Ad_Type {
|
|
281 |
}
|
282 |
|
283 |
ob_start();
|
284 |
-
do_action_ref_array( 'advanced-ads-ad-list-timing-column-after',
|
285 |
-
|
286 |
-
|
287 |
-
|
|
|
|
|
288 |
$content_after = ob_get_clean();
|
289 |
|
290 |
include ADVADS_BASE_PATH . 'admin/views/ad-list-timing-column.php';
|
@@ -380,10 +433,13 @@ class Advanced_Ads_Admin_Ad_Type {
|
|
380 |
|
381 |
// order ads by title on ads list.
|
382 |
if ( is_admin() && empty( $vars['orderby'] ) && isset( $vars['post_type'] ) && $this->post_type === $vars['post_type'] ) {
|
383 |
-
$vars = array_merge(
|
384 |
-
|
385 |
-
|
386 |
-
|
|
|
|
|
|
|
387 |
}
|
388 |
|
389 |
return $vars;
|
@@ -438,7 +494,7 @@ class Advanced_Ads_Admin_Ad_Type {
|
|
438 |
// filter to allow change of submitted ad settings.
|
439 |
$_POST['advanced_ad'] = apply_filters( 'advanced-ads-ad-settings-pre-save', $_POST['advanced_ad'] );
|
440 |
|
441 |
-
$ad->type = $_POST['advanced_ad']['type'];
|
442 |
|
443 |
/**
|
444 |
* Deprecated since introduction of "visitors" in 1.5.4
|
@@ -519,8 +575,7 @@ class Advanced_Ads_Admin_Ad_Type {
|
|
519 |
$gm_date = date_create( $expiration_date, Advanced_Ads_Admin::get_wp_timezone() );
|
520 |
$gm_date->setTimezone( new DateTimeZone( 'UTC' ) );
|
521 |
$gm_date = $gm_date->format( 'Y-m-d-H-i' );
|
522 |
-
list
|
523 |
-
( $year, $month, $day, $hour, $minute ) = explode( '-', $gm_date );
|
524 |
$ad->expiry_date = gmmktime( $hour, $minute, 0, $month, $day, $year );
|
525 |
}
|
526 |
} else {
|
@@ -686,7 +741,8 @@ class Advanced_Ads_Admin_Ad_Type {
|
|
686 |
|
687 |
wp_add_inline_script(
|
688 |
'code-editor',
|
689 |
-
sprintf( 'jQuery( function() { if( jQuery( "#advads-ad-content-plain" ).length && typeof Advanced_Ads_Admin !== "undefined" ){ Advanced_Ads_Admin.editor = wp.codeEditor.initialize( "advads-ad-content-plain", %s ); Advanced_Ads_Admin.editor.codemirror.on("keyup", Advanced_Ads_Admin.check_ad_source); jQuery( function() { Advanced_Ads_Admin.check_ad_source(); } ); } } );', wp_json_encode( $settings ) )
|
|
|
690 |
}
|
691 |
|
692 |
/**
|
@@ -715,9 +771,12 @@ class Advanced_Ads_Admin_Ad_Type {
|
|
715 |
6 => __( 'Ad saved.', 'advanced-ads' ), // published.
|
716 |
7 => __( 'Ad saved.', 'advanced-ads' ), // saved.
|
717 |
8 => __( 'Ad submitted.', 'advanced-ads' ),
|
718 |
-
9 => sprintf(
|
|
|
|
|
719 |
// translators: Publish box date format, see http://php.net/date.
|
720 |
-
date_i18n( __( 'M j, Y @ G:i', 'advanced-ads' ), strtotime( $post->post_date ) )
|
|
|
721 |
10 => __( 'Ad draft updated.', 'advanced-ads' ),
|
722 |
);
|
723 |
|
@@ -792,10 +851,15 @@ class Advanced_Ads_Admin_Ad_Type {
|
|
792 |
}
|
793 |
|
794 |
// Remove parent group dropdown in ad edit.
|
795 |
-
add_filter(
|
796 |
-
|
797 |
-
|
798 |
-
|
|
|
|
|
|
|
|
|
|
|
799 |
|
800 |
}
|
801 |
|
25 |
*/
|
26 |
private function __construct() {
|
27 |
// registering custom columns needs to work with and without DOING_AJAX.
|
28 |
+
add_filter(
|
29 |
+
'manage_advanced_ads_posts_columns',
|
30 |
+
array(
|
31 |
+
$this,
|
32 |
+
'ad_list_columns_head',
|
33 |
+
)
|
34 |
+
); // extra column.
|
35 |
+
add_filter( 'manage_advanced_ads_posts_custom_column',
|
36 |
+
array(
|
37 |
+
$this,
|
38 |
+
'ad_list_columns_content',
|
39 |
+
),
|
40 |
+
10,
|
41 |
+
2
|
42 |
+
); // extra column.
|
43 |
+
add_filter( 'manage_advanced_ads_posts_custom_column',
|
44 |
+
array(
|
45 |
+
$this,
|
46 |
+
'ad_list_columns_timing',
|
47 |
+
),
|
48 |
+
10,
|
49 |
+
2
|
50 |
+
); // extra column.
|
51 |
+
add_filter( 'manage_advanced_ads_posts_custom_column',
|
52 |
+
array(
|
53 |
+
$this,
|
54 |
+
'ad_list_columns_shortcode',
|
55 |
+
),
|
56 |
+
10,
|
57 |
+
2
|
58 |
+
); // extra column.
|
59 |
+
add_action( 'restrict_manage_posts',
|
60 |
+
array(
|
61 |
+
$this,
|
62 |
+
'ad_list_add_filters',
|
63 |
+
)
|
64 |
+
);
|
65 |
+
add_filter( 'default_hidden_columns',
|
66 |
+
array(
|
67 |
+
$this,
|
68 |
+
'hide_ad_list_columns',
|
69 |
+
),
|
70 |
+
10,
|
71 |
+
2
|
72 |
+
); // hide the ad shortcode column by default.
|
73 |
|
74 |
// ad updated messages.
|
75 |
+
add_filter( 'bulk_post_updated_messages',
|
76 |
+
array(
|
77 |
+
$this,
|
78 |
+
'ad_bulk_update_messages',
|
79 |
+
),
|
80 |
+
10,
|
81 |
+
2
|
82 |
+
);
|
83 |
|
84 |
// handling (ad) lists.
|
85 |
+
add_filter( 'request',
|
86 |
+
array(
|
87 |
+
$this,
|
88 |
+
'ad_list_request',
|
89 |
+
)
|
90 |
+
); // order ads by title, not ID.
|
91 |
+
add_action( 'all_admin_notices',
|
92 |
+
array(
|
93 |
+
$this,
|
94 |
+
'no_ads_yet_notice',
|
95 |
+
)
|
96 |
+
);
|
97 |
// save ads post type.
|
98 |
+
add_action( 'save_post',
|
99 |
+
array(
|
100 |
+
$this,
|
101 |
+
'save_ad',
|
102 |
+
)
|
103 |
+
);
|
104 |
// delete ads post type.
|
105 |
+
add_action( 'delete_post',
|
106 |
+
array(
|
107 |
+
$this,
|
108 |
+
'delete_ad',
|
109 |
+
)
|
110 |
+
);
|
111 |
// on post/ad edit screen.
|
112 |
+
add_action( 'edit_form_top',
|
113 |
+
array(
|
114 |
+
$this,
|
115 |
+
'edit_form_above_title',
|
116 |
+
)
|
117 |
+
);
|
118 |
+
add_action( 'edit_form_after_title',
|
119 |
+
array(
|
120 |
+
$this,
|
121 |
+
'edit_form_below_title',
|
122 |
+
)
|
123 |
+
);
|
124 |
+
add_action( 'dbx_post_sidebar',
|
125 |
+
array(
|
126 |
+
$this,
|
127 |
+
'edit_form_end',
|
128 |
+
)
|
129 |
+
);
|
130 |
+
add_action( 'post_submitbox_misc_actions',
|
131 |
+
array(
|
132 |
+
$this,
|
133 |
+
'add_submit_box_meta',
|
134 |
+
)
|
135 |
+
);
|
136 |
+
add_action( 'admin_enqueue_scripts',
|
137 |
+
array(
|
138 |
+
$this,
|
139 |
+
'use_code_editor',
|
140 |
+
)
|
141 |
+
);
|
142 |
// ad updated messages.
|
143 |
+
add_filter( 'post_updated_messages',
|
144 |
+
array(
|
145 |
+
$this,
|
146 |
+
'ad_update_messages',
|
147 |
+
)
|
148 |
+
);
|
149 |
+
add_filter( 'gettext',
|
150 |
+
array(
|
151 |
+
$this,
|
152 |
+
'replace_cheating_message',
|
153 |
+
),
|
154 |
+
20,
|
155 |
+
2
|
156 |
+
);
|
157 |
// things that need to know the current screen.
|
158 |
+
add_action( 'current_screen',
|
159 |
+
array(
|
160 |
+
$this,
|
161 |
+
'run_on_ad_edit_screen',
|
162 |
+
)
|
163 |
+
);
|
164 |
+
add_filter( 'pre_wp_unique_post_slug',
|
165 |
+
array(
|
166 |
+
$this,
|
167 |
+
'pre_wp_unique_post_slug',
|
168 |
+
),
|
169 |
+
10,
|
170 |
+
6
|
171 |
+
);
|
172 |
|
173 |
+
$this->post_type = constant( 'Advanced_Ads::POST_TYPE_SLUG' );
|
174 |
}
|
175 |
|
176 |
/**
|
180 |
*/
|
181 |
public static function get_instance() {
|
182 |
// If the single instance hasn't been set, set it now.
|
183 |
+
if ( null === self::$instance ) {
|
184 |
self::$instance = new self();
|
185 |
}
|
186 |
|
251 |
}
|
252 |
|
253 |
// white-listed columns.
|
254 |
+
$whitelist = apply_filters( 'advanced-ads-ad-list-allowed-columns',
|
255 |
+
array(
|
256 |
+
'cb', // checkbox.
|
257 |
+
'title',
|
258 |
+
'ad_details',
|
259 |
+
'ad_timing',
|
260 |
+
'ad_shortcode',
|
261 |
+
'taxonomy-advanced_ads_groups',
|
262 |
+
)
|
263 |
+
);
|
264 |
|
265 |
// remove non-white-listed columns.
|
266 |
foreach ( $new_columns as $_key => $_value ) {
|
332 |
}
|
333 |
|
334 |
ob_start();
|
335 |
+
do_action_ref_array( 'advanced-ads-ad-list-timing-column-after',
|
336 |
+
array(
|
337 |
+
$ad,
|
338 |
+
&$html_classes,
|
339 |
+
)
|
340 |
+
);
|
341 |
$content_after = ob_get_clean();
|
342 |
|
343 |
include ADVADS_BASE_PATH . 'admin/views/ad-list-timing-column.php';
|
433 |
|
434 |
// order ads by title on ads list.
|
435 |
if ( is_admin() && empty( $vars['orderby'] ) && isset( $vars['post_type'] ) && $this->post_type === $vars['post_type'] ) {
|
436 |
+
$vars = array_merge(
|
437 |
+
$vars,
|
438 |
+
array(
|
439 |
+
'orderby' => 'title',
|
440 |
+
'order' => 'ASC',
|
441 |
+
)
|
442 |
+
);
|
443 |
}
|
444 |
|
445 |
return $vars;
|
494 |
// filter to allow change of submitted ad settings.
|
495 |
$_POST['advanced_ad'] = apply_filters( 'advanced-ads-ad-settings-pre-save', $_POST['advanced_ad'] );
|
496 |
|
497 |
+
$ad->type = wp_unslash( $_POST['advanced_ad']['type'] );
|
498 |
|
499 |
/**
|
500 |
* Deprecated since introduction of "visitors" in 1.5.4
|
575 |
$gm_date = date_create( $expiration_date, Advanced_Ads_Admin::get_wp_timezone() );
|
576 |
$gm_date->setTimezone( new DateTimeZone( 'UTC' ) );
|
577 |
$gm_date = $gm_date->format( 'Y-m-d-H-i' );
|
578 |
+
list( $year, $month, $day, $hour, $minute ) = explode( '-', $gm_date );
|
|
|
579 |
$ad->expiry_date = gmmktime( $hour, $minute, 0, $month, $day, $year );
|
580 |
}
|
581 |
} else {
|
741 |
|
742 |
wp_add_inline_script(
|
743 |
'code-editor',
|
744 |
+
sprintf( 'jQuery( function() { if( jQuery( "#advads-ad-content-plain" ).length && typeof Advanced_Ads_Admin !== "undefined" ){ Advanced_Ads_Admin.editor = wp.codeEditor.initialize( "advads-ad-content-plain", %s ); Advanced_Ads_Admin.editor.codemirror.on("keyup", Advanced_Ads_Admin.check_ad_source); jQuery( function() { Advanced_Ads_Admin.check_ad_source(); } ); } } );', wp_json_encode( $settings ) )
|
745 |
+
);
|
746 |
}
|
747 |
|
748 |
/**
|
771 |
6 => __( 'Ad saved.', 'advanced-ads' ), // published.
|
772 |
7 => __( 'Ad saved.', 'advanced-ads' ), // saved.
|
773 |
8 => __( 'Ad submitted.', 'advanced-ads' ),
|
774 |
+
9 => sprintf(
|
775 |
+
// translators: %1$s is a date.
|
776 |
+
__( 'Ad scheduled for: <strong>%1$s</strong>.', 'advanced-ads' ),
|
777 |
// translators: Publish box date format, see http://php.net/date.
|
778 |
+
date_i18n( __( 'M j, Y @ G:i', 'advanced-ads' ), strtotime( $post->post_date ) )
|
779 |
+
),
|
780 |
10 => __( 'Ad draft updated.', 'advanced-ads' ),
|
781 |
);
|
782 |
|
851 |
}
|
852 |
|
853 |
// Remove parent group dropdown in ad edit.
|
854 |
+
add_filter(
|
855 |
+
'wp_dropdown_cats',
|
856 |
+
array(
|
857 |
+
$this,
|
858 |
+
'remove_parent_group_dropdown',
|
859 |
+
),
|
860 |
+
10,
|
861 |
+
2
|
862 |
+
);
|
863 |
|
864 |
}
|
865 |
|
admin/includes/class-licenses.php
CHANGED
@@ -226,6 +226,10 @@ class Advanced_Ads_Admin_Licenses {
|
|
226 |
|
227 |
/**
|
228 |
* Check if a request was blocked by our firewall
|
|
|
|
|
|
|
|
|
229 |
*/
|
230 |
public function blocked_by_firewall( $response ) {
|
231 |
$response_code = wp_remote_retrieve_response_code( $response );
|
@@ -269,7 +273,13 @@ class Advanced_Ads_Admin_Licenses {
|
|
269 |
'license' => $license_key,
|
270 |
'item_name' => urlencode( $plugin_name ),
|
271 |
);
|
272 |
-
$response = wp_remote_get(
|
|
|
|
|
|
|
|
|
|
|
|
|
273 |
if ( is_wp_error( $response ) ) {
|
274 |
return false;
|
275 |
}
|
@@ -432,9 +442,13 @@ class Advanced_Ads_Admin_Licenses {
|
|
432 |
* @return bool
|
433 |
*/
|
434 |
public function get_probably_all_access() {
|
435 |
-
$valid = array_filter(
|
436 |
-
|
437 |
-
|
|
|
|
|
|
|
|
|
438 |
|
439 |
|
440 |
return array() !== $valid && max( array_count_values( $valid ) ) > 1;
|
@@ -539,17 +553,9 @@ class Advanced_Ads_Admin_Licenses {
|
|
539 |
/**
|
540 |
* Set the expiration of the updater transient key to 1 day instead of 1 hour to prevent too many update checks
|
541 |
*
|
542 |
-
* @
|
543 |
-
*/
|
544 |
-
public function set_expiration_of_update_transient( $expiration ) {
|
545 |
-
|
546 |
-
return 86400;
|
547 |
-
}
|
548 |
-
|
549 |
-
/**
|
550 |
-
* Set the expiration of the updater transient key to 1 day instead of 1 hour to prevent too many update checks
|
551 |
*
|
552 |
-
* @return
|
553 |
* @since 1.7.14
|
554 |
*/
|
555 |
public function set_expiration_of_update_option( $value ) {
|
@@ -580,11 +586,11 @@ class Advanced_Ads_Admin_Licenses {
|
|
580 |
}
|
581 |
|
582 |
if ( isset( $plugin_file ) && $plugin_file ) {
|
583 |
-
// hides the download url, but makes debugging harder
|
584 |
// $updater->strings['downloading_package'] = __( 'Downloading updated version...', 'advanced-ads' );
|
585 |
//$updater->skin->feedback( 'downloading_package' );
|
586 |
|
587 |
-
// if AJAX; show direct update link as first possible solution
|
588 |
if ( defined( 'DOING_AJAX' ) ) {
|
589 |
$update_link = wp_nonce_url( self_admin_url( 'update.php?action=upgrade-plugin&plugin=' ) . $plugin_file, 'upgrade-plugin_' . $plugin_file );
|
590 |
$updater->strings['download_failed'] = sprintf( __( 'Download failed. <a href="%s">Click here to try another method</a>.', 'advanced-ads' ), $update_link );
|
226 |
|
227 |
/**
|
228 |
* Check if a request was blocked by our firewall
|
229 |
+
*
|
230 |
+
* @param array $response response from license call.
|
231 |
+
*
|
232 |
+
* @return mixed message or false
|
233 |
*/
|
234 |
public function blocked_by_firewall( $response ) {
|
235 |
$response_code = wp_remote_retrieve_response_code( $response );
|
273 |
'license' => $license_key,
|
274 |
'item_name' => urlencode( $plugin_name ),
|
275 |
);
|
276 |
+
$response = wp_remote_get(
|
277 |
+
add_query_arg( $api_params, ADVADS_URL ),
|
278 |
+
array(
|
279 |
+
'timeout' => 15,
|
280 |
+
'sslverify' => false,
|
281 |
+
)
|
282 |
+
);
|
283 |
if ( is_wp_error( $response ) ) {
|
284 |
return false;
|
285 |
}
|
442 |
* @return bool
|
443 |
*/
|
444 |
public function get_probably_all_access() {
|
445 |
+
$valid = array_filter(
|
446 |
+
$this->get_licenses(),
|
447 |
+
function ( $key ) {
|
448 |
+
return $this->get_license_status( ADVADS_SLUG . '-' . $key );
|
449 |
+
},
|
450 |
+
ARRAY_FILTER_USE_KEY
|
451 |
+
);
|
452 |
|
453 |
|
454 |
return array() !== $valid && max( array_count_values( $valid ) ) > 1;
|
553 |
/**
|
554 |
* Set the expiration of the updater transient key to 1 day instead of 1 hour to prevent too many update checks
|
555 |
*
|
556 |
+
* @param array $value value array.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
557 |
*
|
558 |
+
* @return array
|
559 |
* @since 1.7.14
|
560 |
*/
|
561 |
public function set_expiration_of_update_option( $value ) {
|
586 |
}
|
587 |
|
588 |
if ( isset( $plugin_file ) && $plugin_file ) {
|
589 |
+
// hides the download url, but makes debugging harder.
|
590 |
// $updater->strings['downloading_package'] = __( 'Downloading updated version...', 'advanced-ads' );
|
591 |
//$updater->skin->feedback( 'downloading_package' );
|
592 |
|
593 |
+
// if AJAX; show direct update link as first possible solution.
|
594 |
if ( defined( 'DOING_AJAX' ) ) {
|
595 |
$update_link = wp_nonce_url( self_admin_url( 'update.php?action=upgrade-plugin&plugin=' ) . $plugin_file, 'upgrade-plugin_' . $plugin_file );
|
596 |
$updater->strings['download_failed'] = sprintf( __( 'Download failed. <a href="%s">Click here to try another method</a>.', 'advanced-ads' ), $update_link );
|
admin/includes/class-list-filters.php
CHANGED
@@ -70,7 +70,8 @@ class Advanced_Ads_Ad_List_Filters {
|
|
70 |
* Collect available filters for ad overview page.
|
71 |
*
|
72 |
* @param array $posts array of ads.
|
73 |
-
*
|
|
|
74 |
*/
|
75 |
private function collect_filters( $posts ) {
|
76 |
|
@@ -89,14 +90,15 @@ class Advanced_Ads_Ad_List_Filters {
|
|
89 |
// can not filter correctly with "trashed" posts. Do not display any filtering option in this case.
|
90 |
if ( isset( $_REQUEST['post_status'] ) && 'trash' === $_REQUEST['post_status'] ) {
|
91 |
$this->all_filters = $all_filters;
|
|
|
92 |
return;
|
93 |
}
|
94 |
|
95 |
$advads = Advanced_Ads::get_instance();
|
96 |
-
|
97 |
-
// put potential groups in another array which we later reduce so that we only check groups we don’t know, yet
|
98 |
$groups_to_check = $this->ads_in_groups;
|
99 |
-
|
100 |
foreach ( $posts as $post ) {
|
101 |
|
102 |
if ( ! isset( $this->all_ads_options[ $post->ID ] ) ) {
|
@@ -111,8 +113,8 @@ class Advanced_Ads_Ad_List_Filters {
|
|
111 |
*/
|
112 |
foreach ( $groups_to_check as $key => $ads ) {
|
113 |
if ( ! isset( $all_filters['all_groups'][ $key ] ) // skip if this group is already known.
|
114 |
-
|
115 |
-
|
116 |
$all_filters['all_groups'][ $key ] = $this->all_groups[ $key ]['name'];
|
117 |
// remove groups that are already selected for the filter.
|
118 |
unset( $groups_to_check[ $key ] );
|
@@ -156,8 +158,9 @@ class Advanced_Ads_Ad_List_Filters {
|
|
156 |
}
|
157 |
}
|
158 |
|
159 |
-
if (
|
160 |
-
|
|
|
161 |
) {
|
162 |
$all_filters['all_types'][ $ad_option['type'] ] = $advads->ad_types[ $ad_option['type'] ]->title;
|
163 |
}
|
@@ -203,24 +206,24 @@ class Advanced_Ads_Ad_List_Filters {
|
|
203 |
|
204 |
$group_ids = array_keys( $groups );
|
205 |
$group_ids_str = implode( ',', $group_ids );
|
206 |
-
|
207 |
-
|
208 |
/**
|
209 |
-
*
|
210 |
* which breaks the SQL, because the numbers are no longer recognised as such
|
211 |
*/
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
}
|
223 |
-
|
224 |
if ( isset( $value['term_taxonomy_id'] ) && isset( $value['object_id'] ) ) {
|
225 |
$this->ads_in_groups[ absint( $value['term_taxonomy_id'] ) ][] = absint( $value['object_id'] );
|
226 |
}
|
@@ -253,8 +256,10 @@ class Advanced_Ads_Ad_List_Filters {
|
|
253 |
/**
|
254 |
* Re-order the posts list by post title.
|
255 |
*
|
256 |
-
* @param string $orderby
|
257 |
-
* @param WP_Query $the_query
|
|
|
|
|
258 |
*/
|
259 |
public function orderby_filter( $orderby, $the_query ) {
|
260 |
if ( ! function_exists( 'get_current_screen' ) ) {
|
@@ -272,14 +277,17 @@ class Advanced_Ads_Ad_List_Filters {
|
|
272 |
$orderby = 'post_title ASC';
|
273 |
}
|
274 |
}
|
|
|
275 |
return $orderby;
|
276 |
}
|
277 |
|
278 |
/**
|
279 |
* Edit the query for list table.
|
280 |
*
|
281 |
-
* @param array $posts
|
282 |
* @param WP_Query $the_query the current WP_Query object.
|
|
|
|
|
283 |
*/
|
284 |
public function post_results( $posts, $the_query ) {
|
285 |
if ( ! function_exists( 'get_current_screen' ) ) {
|
@@ -308,6 +316,7 @@ class Advanced_Ads_Ad_List_Filters {
|
|
308 |
if ( false !== strpos( $server['PHP_SELF'], 'edit.php' ) && isset( $request['post_type'] ) && Advanced_Ads::POST_TYPE_SLUG === $request['post_type'] ) {
|
309 |
$this->collect_all_ads( $posts );
|
310 |
}
|
|
|
311 |
return $posts;
|
312 |
}
|
313 |
|
@@ -350,8 +359,10 @@ class Advanced_Ads_Ad_List_Filters {
|
|
350 |
/**
|
351 |
* Apply ad filters on post array
|
352 |
*
|
353 |
-
* @param array $posts
|
354 |
* @param WP_Query $the_query the current WP_Query object.
|
|
|
|
|
355 |
*/
|
356 |
private function ad_filters( $posts, &$the_query ) {
|
357 |
$using_original = true;
|
@@ -380,7 +391,7 @@ class Advanced_Ads_Ad_List_Filters {
|
|
380 |
$new_posts = array();
|
381 |
$the_list = $using_original ? $this->all_ads : $posts;
|
382 |
foreach ( $the_list as $post ) {
|
383 |
-
if (
|
384 |
$new_posts[] = $post;
|
385 |
}
|
386 |
}
|
@@ -405,28 +416,28 @@ class Advanced_Ads_Ad_List_Filters {
|
|
405 |
$using_original = false;
|
406 |
}
|
407 |
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
|
421 |
-
|
422 |
-
|
423 |
-
|
424 |
-
|
425 |
-
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
$new_posts = array();
|
431 |
$the_list = $using_original ? $this->all_ads : $posts;
|
432 |
foreach ( $the_list as $post ) {
|
@@ -437,9 +448,9 @@ class Advanced_Ads_Ad_List_Filters {
|
|
437 |
$posts = $new_posts;
|
438 |
$the_query->found_posts = count( $posts );
|
439 |
$using_original = false;
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
/**
|
444 |
* Filter ad type
|
445 |
*/
|
70 |
* Collect available filters for ad overview page.
|
71 |
*
|
72 |
* @param array $posts array of ads.
|
73 |
+
*
|
74 |
+
* @return null
|
75 |
*/
|
76 |
private function collect_filters( $posts ) {
|
77 |
|
90 |
// can not filter correctly with "trashed" posts. Do not display any filtering option in this case.
|
91 |
if ( isset( $_REQUEST['post_status'] ) && 'trash' === $_REQUEST['post_status'] ) {
|
92 |
$this->all_filters = $all_filters;
|
93 |
+
|
94 |
return;
|
95 |
}
|
96 |
|
97 |
$advads = Advanced_Ads::get_instance();
|
98 |
+
|
99 |
+
// put potential groups in another array which we later reduce so that we only check groups we don’t know, yet.
|
100 |
$groups_to_check = $this->ads_in_groups;
|
101 |
+
|
102 |
foreach ( $posts as $post ) {
|
103 |
|
104 |
if ( ! isset( $this->all_ads_options[ $post->ID ] ) ) {
|
113 |
*/
|
114 |
foreach ( $groups_to_check as $key => $ads ) {
|
115 |
if ( ! isset( $all_filters['all_groups'][ $key ] ) // skip if this group is already known.
|
116 |
+
&& in_array( $post->ID, $ads, true )
|
117 |
+
&& isset( $this->all_groups[ $key ] ) ) {
|
118 |
$all_filters['all_groups'][ $key ] = $this->all_groups[ $key ]['name'];
|
119 |
// remove groups that are already selected for the filter.
|
120 |
unset( $groups_to_check[ $key ] );
|
158 |
}
|
159 |
}
|
160 |
|
161 |
+
if ( isset( $ad_option['type'] ) // could be missing for new ads that are stored only by WP auto-save.
|
162 |
+
&& ! array_key_exists( $ad_option['type'], $all_filters['all_types'] )
|
163 |
+
&& isset( $advads->ad_types[ $ad_option['type'] ] )
|
164 |
) {
|
165 |
$all_filters['all_types'][ $ad_option['type'] ] = $advads->ad_types[ $ad_option['type'] ]->title;
|
166 |
}
|
206 |
|
207 |
$group_ids = array_keys( $groups );
|
208 |
$group_ids_str = implode( ',', $group_ids );
|
209 |
+
$term_relations = array();
|
210 |
+
|
211 |
/**
|
212 |
+
* We need to use %1$s below, because when using %s the $wpdb->prepare function adds quotation marks around the value,
|
213 |
* which breaks the SQL, because the numbers are no longer recognised as such
|
214 |
*/
|
215 |
+
if ( ! empty( $group_ids ) ) {
|
216 |
+
$term_relations = $wpdb->get_results(
|
217 |
+
$wpdb->prepare(
|
218 |
+
'SELECT object_id, term_taxonomy_id FROM `' . $wpdb->prefix . 'term_relationships` WHERE `term_taxonomy_id` IN (' .
|
219 |
+
'SELECT term_taxonomy_id FROM `' . $wpdb->prefix . 'term_taxonomy` WHERE `taxonomy` = %s' .
|
220 |
+
')',
|
221 |
+
Advanced_Ads::AD_GROUP_TAXONOMY
|
222 |
+
),
|
223 |
+
'ARRAY_A'
|
224 |
+
);
|
225 |
}
|
226 |
+
foreach ( $term_relations as $value ) {
|
227 |
if ( isset( $value['term_taxonomy_id'] ) && isset( $value['object_id'] ) ) {
|
228 |
$this->ads_in_groups[ absint( $value['term_taxonomy_id'] ) ][] = absint( $value['object_id'] );
|
229 |
}
|
256 |
/**
|
257 |
* Re-order the posts list by post title.
|
258 |
*
|
259 |
+
* @param string $orderby the previous orderby value.
|
260 |
+
* @param WP_Query $the_query the current WP_Query object.
|
261 |
+
*
|
262 |
+
* @return mixed
|
263 |
*/
|
264 |
public function orderby_filter( $orderby, $the_query ) {
|
265 |
if ( ! function_exists( 'get_current_screen' ) ) {
|
277 |
$orderby = 'post_title ASC';
|
278 |
}
|
279 |
}
|
280 |
+
|
281 |
return $orderby;
|
282 |
}
|
283 |
|
284 |
/**
|
285 |
* Edit the query for list table.
|
286 |
*
|
287 |
+
* @param array $posts the posts array from the query.
|
288 |
* @param WP_Query $the_query the current WP_Query object.
|
289 |
+
*
|
290 |
+
* @return array with posts
|
291 |
*/
|
292 |
public function post_results( $posts, $the_query ) {
|
293 |
if ( ! function_exists( 'get_current_screen' ) ) {
|
316 |
if ( false !== strpos( $server['PHP_SELF'], 'edit.php' ) && isset( $request['post_type'] ) && Advanced_Ads::POST_TYPE_SLUG === $request['post_type'] ) {
|
317 |
$this->collect_all_ads( $posts );
|
318 |
}
|
319 |
+
|
320 |
return $posts;
|
321 |
}
|
322 |
|
359 |
/**
|
360 |
* Apply ad filters on post array
|
361 |
*
|
362 |
+
* @param array $posts the original post array.
|
363 |
* @param WP_Query $the_query the current WP_Query object.
|
364 |
+
*
|
365 |
+
* @return array with posts
|
366 |
*/
|
367 |
private function ad_filters( $posts, &$the_query ) {
|
368 |
$using_original = true;
|
391 |
$new_posts = array();
|
392 |
$the_list = $using_original ? $this->all_ads : $posts;
|
393 |
foreach ( $the_list as $post ) {
|
394 |
+
if ( absint( $post->post_author ) === $author ) {
|
395 |
$new_posts[] = $post;
|
396 |
}
|
397 |
}
|
416 |
$using_original = false;
|
417 |
}
|
418 |
|
419 |
+
/**
|
420 |
+
* Filter by taxonomy
|
421 |
+
*/
|
422 |
+
if ( isset( $request['taxonomy'] ) && isset( $request['term'] ) ) {
|
423 |
+
|
424 |
+
$term = $request['term'];
|
425 |
+
global $wpdb;
|
426 |
+
$q = 'SELECT `object_id` FROM `' . $wpdb->prefix . 'term_relationships` WHERE `term_taxonomy_id` = (' .
|
427 |
+
'SELECT ' . $wpdb->prefix . 'terms.term_id FROM `' . $wpdb->prefix . 'terms` INNER JOIN ' .
|
428 |
+
$wpdb->prefix . 'term_taxonomy on ' . $wpdb->prefix . 'terms.term_id = ' . $wpdb->prefix . 'term_taxonomy.term_id ' .
|
429 |
+
'WHERE ' . $wpdb->prefix . 'terms.slug = %s AND ' . $wpdb->prefix . 'term_taxonomy.taxonomy = %s' .
|
430 |
+
')';
|
431 |
+
|
432 |
+
$q = $wpdb->prepare( $q, $term, Advanced_Ads::AD_GROUP_TAXONOMY );
|
433 |
+
|
434 |
+
$object_ids = $wpdb->get_results( $q, 'ARRAY_A' );
|
435 |
+
$ads_in_taxo = array();
|
436 |
+
|
437 |
+
foreach ( $object_ids as $object ) {
|
438 |
+
$ads_in_taxo[] = absint( $object['object_id'] );
|
439 |
+
}
|
440 |
+
|
441 |
$new_posts = array();
|
442 |
$the_list = $using_original ? $this->all_ads : $posts;
|
443 |
foreach ( $the_list as $post ) {
|
448 |
$posts = $new_posts;
|
449 |
$the_query->found_posts = count( $posts );
|
450 |
$using_original = false;
|
451 |
+
|
452 |
+
}
|
453 |
+
|
454 |
/**
|
455 |
* Filter ad type
|
456 |
*/
|
advanced-ads.php
CHANGED
@@ -6,13 +6,13 @@
|
|
6 |
* @author Thomas Maier <thomas.maier@webgilde.com>
|
7 |
* @license GPL-2.0+
|
8 |
* @link https://wpadvancedads.com
|
9 |
-
* @copyright 2013-
|
10 |
*
|
11 |
* @wordpress-plugin
|
12 |
* Plugin Name: Advanced Ads
|
13 |
* Plugin URI: https://wpadvancedads.com
|
14 |
* Description: Manage and optimize your ads in WordPress
|
15 |
-
* Version: 1.
|
16 |
* Author: Thomas Maier, Advanced Ads GmbH
|
17 |
* Author URI: https://wpadvancedads.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
|
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
|
6 |
* @author Thomas Maier <thomas.maier@webgilde.com>
|
7 |
* @license GPL-2.0+
|
8 |
* @link https://wpadvancedads.com
|
9 |
+
* @copyright 2013-2020 Thomas Maier, Advanced Ads GmbH
|
10 |
*
|
11 |
* @wordpress-plugin
|
12 |
* Plugin Name: Advanced Ads
|
13 |
* Plugin URI: https://wpadvancedads.com
|
14 |
* Description: Manage and optimize your ads in WordPress
|
15 |
+
* Version: 1.17
|
16 |
* Author: Thomas Maier, Advanced Ads GmbH
|
17 |
* Author URI: https://wpadvancedads.com
|
18 |
* Text Domain: advanced-ads
|
39 |
// general and global slug, e.g. to store options in WP
|
40 |
define( 'ADVADS_SLUG', 'advanced-ads' );
|
41 |
define( 'ADVADS_URL', 'https://wpadvancedads.com/' );
|
42 |
+
define( 'ADVADS_VERSION', '1.17' );
|
43 |
|
44 |
/*----------------------------------------------------------------------------*
|
45 |
* Autoloading, modules and functions
|
classes/ad-ajax.php
CHANGED
@@ -13,6 +13,7 @@ class Advanced_Ads_Ajax {
|
|
13 |
add_action( 'wp_ajax_nopriv_advads_ad_select', array( $this, 'advads_ajax_ad_select' ) );
|
14 |
add_action( 'wp_ajax_advads-ad-health-notice-push', array( $this, 'ad_health_notice_push' ) );
|
15 |
add_action( 'wp_ajax_nopriv_advads-ad-health-notice-push', array( $this, 'ad_health_notice_push' ) );
|
|
|
16 |
}
|
17 |
|
18 |
private static $instance;
|
@@ -134,4 +135,28 @@ class Advanced_Ads_Ajax {
|
|
134 |
|
135 |
die();
|
136 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
137 |
}
|
13 |
add_action( 'wp_ajax_nopriv_advads_ad_select', array( $this, 'advads_ajax_ad_select' ) );
|
14 |
add_action( 'wp_ajax_advads-ad-health-notice-push', array( $this, 'ad_health_notice_push' ) );
|
15 |
add_action( 'wp_ajax_nopriv_advads-ad-health-notice-push', array( $this, 'ad_health_notice_push' ) );
|
16 |
+
add_action( 'wp_ajax_advads-ad-frontend-notice-update', array( $this, 'frontend_notice_update' ) );
|
17 |
}
|
18 |
|
19 |
private static $instance;
|
135 |
|
136 |
die();
|
137 |
}
|
138 |
+
|
139 |
+
/**
|
140 |
+
* Update frontend notice array
|
141 |
+
*/
|
142 |
+
public function frontend_notice_update() {
|
143 |
+
|
144 |
+
check_ajax_referer( 'advanced-ads-frontend-notice-nonce', 'nonce' );
|
145 |
+
|
146 |
+
if ( ! current_user_can( Advanced_Ads_Plugin::user_cap( 'advanced_ads_edit_ads' ) ) ) {
|
147 |
+
return;
|
148 |
+
}
|
149 |
+
|
150 |
+
$key = ( !empty( $_REQUEST['key'] ) ) ? esc_attr( $_REQUEST['key'] ) : false;
|
151 |
+
$attr = ( !empty( $_REQUEST['attr'] ) && is_array( $_REQUEST['attr'] ) ) ? $_REQUEST['attr'] : array();
|
152 |
+
|
153 |
+
// update or new entry?
|
154 |
+
if( isset( $attr['mode'] ) && 'update' === $attr['mode'] ){
|
155 |
+
// Advanced_Ads_Frontend_Notices::get_instance()->update( $key, $attr );
|
156 |
+
} else {
|
157 |
+
Advanced_Ads_Frontend_Notices::get_instance()->update( $key, $attr );
|
158 |
+
}
|
159 |
+
|
160 |
+
die();
|
161 |
+
}
|
162 |
}
|
classes/ad-health-notices.php
CHANGED
@@ -254,17 +254,6 @@ class Advanced_Ads_Ad_Health_Notices {
|
|
254 |
} else {
|
255 |
$this->remove( 'old_php' );
|
256 |
}
|
257 |
-
/*if ( Advanced_Ads_Checks::cache() && ! defined( 'AAP_VERSION' ) ) {
|
258 |
-
$this->add( 'cache_no_pro' );
|
259 |
-
} else {
|
260 |
-
$this->remove( 'cache_no_pro' );
|
261 |
-
}*/
|
262 |
-
// 1907: Autoptimize didn’t cause issues for a while so let’s remove the warning and see
|
263 |
-
/*if ( Advanced_Ads_Checks::active_autoptimize() && ! defined( 'AAP_VERSION' ) ) {
|
264 |
-
$this->add( 'autoptimize_no_pro' );
|
265 |
-
} else {
|
266 |
-
$this->remove( 'autoptimize_no_pro' );
|
267 |
-
}*/
|
268 |
if ( count( Advanced_Ads_Checks::conflicting_plugins() ) ) {
|
269 |
$this->add( 'conflicting_plugins' );
|
270 |
} else {
|
254 |
} else {
|
255 |
$this->remove( 'old_php' );
|
256 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
257 |
if ( count( Advanced_Ads_Checks::conflicting_plugins() ) ) {
|
258 |
$this->add( 'conflicting_plugins' );
|
259 |
} else {
|
classes/ad.php
CHANGED
@@ -167,6 +167,7 @@ class Advanced_Ads_Ad {
|
|
167 |
$this->is_ad = true;
|
168 |
}
|
169 |
|
|
|
170 |
$this->type = $this->options( 'type' );
|
171 |
$this->title = $_data->post_title;
|
172 |
/* load ad type object */
|
@@ -590,7 +591,8 @@ class Advanced_Ads_Ad {
|
|
590 |
$output = $this->add_wrapper( $output );
|
591 |
|
592 |
// add a clearfix, if set
|
593 |
-
if ( isset($this->output['clearfix']) && $this->output['clearfix'] )
|
|
|
594 |
$output .= '<br style="clear: both; display: block; float: none;"/>';
|
595 |
}
|
596 |
}
|
167 |
$this->is_ad = true;
|
168 |
}
|
169 |
|
170 |
+
|
171 |
$this->type = $this->options( 'type' );
|
172 |
$this->title = $_data->post_title;
|
173 |
/* load ad type object */
|
591 |
$output = $this->add_wrapper( $output );
|
592 |
|
593 |
// add a clearfix, if set
|
594 |
+
if ( ( isset($this->output['clearfix'] ) && $this->output['clearfix'] )
|
595 |
+
|| ( ! empty( $this->args['is_top_level'] ) && ! empty( $this->args['placement_clearfix'] ) ) ) {
|
596 |
$output .= '<br style="clear: both; display: block; float: none;"/>';
|
597 |
}
|
598 |
}
|
classes/ad_group.php
CHANGED
@@ -259,6 +259,10 @@ class Advanced_Ads_Group {
|
|
259 |
. '</div>';
|
260 |
}
|
261 |
|
|
|
|
|
|
|
|
|
262 |
// filter final group output
|
263 |
return apply_filters( 'advanced-ads-group-output', $output_string, $this );
|
264 |
}
|
259 |
. '</div>';
|
260 |
}
|
261 |
|
262 |
+
if ( ! empty( $this->ad_args['is_top_level'] ) && ! empty( $this->ad_args['placement_clearfix'] ) ) {
|
263 |
+
$output_string .= '<br style="clear: both; display: block; float: none;"/>';
|
264 |
+
}
|
265 |
+
|
266 |
// filter final group output
|
267 |
return apply_filters( 'advanced-ads-group-output', $output_string, $this );
|
268 |
}
|
classes/ad_placements.php
CHANGED
@@ -345,10 +345,6 @@ class Advanced_Ads_Placements {
|
|
345 |
|
346 |
$result = Advanced_Ads_Select::get_instance()->get_ad_by_method( (int) $_item[1], $_item[0], $args );
|
347 |
|
348 |
-
if ( $result && ! empty( $args['placement_clearfix'] ) ) {
|
349 |
-
$result .= '<br style="clear: both; display: block; float: none; color:blue;"/>';
|
350 |
-
}
|
351 |
-
|
352 |
return $result;
|
353 |
}
|
354 |
}
|
345 |
|
346 |
$result = Advanced_Ads_Select::get_instance()->get_ad_by_method( (int) $_item[1], $_item[0], $args );
|
347 |
|
|
|
|
|
|
|
|
|
348 |
return $result;
|
349 |
}
|
350 |
}
|
classes/ad_type_image.php
CHANGED
@@ -83,7 +83,7 @@ class Advanced_Ads_Ad_Type_Image extends Advanced_Ads_Ad_Type_Abstract{
|
|
83 |
|
84 |
$image = wp_get_attachment_image_src( $attachment_id, 'full' );
|
85 |
$style = '';
|
86 |
-
|
87 |
if ( $image ) {
|
88 |
list( $src, $width, $height ) = $image;
|
89 |
// override image sizes with the sizes given in ad options, but in frontend only
|
@@ -95,13 +95,14 @@ class Advanced_Ads_Ad_Type_Image extends Advanced_Ads_Ad_Type_Abstract{
|
|
95 |
$hwstring = image_hwstring($width, $height);
|
96 |
$attachment = get_post($attachment_id);
|
97 |
$alt = trim(esc_textarea( get_post_meta($attachment_id, '_wp_attachment_image_alt', true) ));
|
98 |
-
|
99 |
global $wp_current_filter;
|
100 |
-
|
|
|
101 |
$more_attributes = $srcset = $sizes = '';
|
102 |
// create srcset and sizes attributes if we are in the the_content filter and in WordPress 4.4
|
103 |
-
if( isset( $wp_current_filter )
|
104 |
-
&& in_array( 'the_content', $wp_current_filter )
|
105 |
&& ! defined( 'ADVADS_DISABLE_RESPONSIVE_IMAGES' )){
|
106 |
if( function_exists( 'wp_get_attachment_image_srcset' ) ){
|
107 |
$srcset = wp_get_attachment_image_srcset( $attachment_id, 'full' );
|
@@ -110,24 +111,32 @@ class Advanced_Ads_Ad_Type_Image extends Advanced_Ads_Ad_Type_Abstract{
|
|
110 |
$sizes = wp_get_attachment_image_sizes( $attachment_id, 'full' );
|
111 |
}
|
112 |
if ( $srcset && $sizes ) {
|
113 |
-
$more_attributes .= ' srcset
|
114 |
}
|
115 |
}
|
116 |
-
|
117 |
-
//
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
118 |
if( isset( $ad->output['position'] ) && 'center' === $ad->output['position'] ){
|
119 |
$style .= 'display: inline-block;';
|
120 |
}
|
121 |
-
|
122 |
$style = apply_filters( 'advanced-ads-ad-image-tag-style', $style );
|
123 |
$style = '' !== $style ? 'style="' . $style . '"' : '';
|
124 |
-
|
125 |
$more_attributes = apply_filters( 'advanced-ads-ad-image-tag-attributes', $more_attributes );
|
126 |
-
|
127 |
echo rtrim("<img $hwstring") . " src='$src' alt='$alt' $more_attributes $style/>";
|
128 |
}
|
129 |
}
|
130 |
-
|
131 |
/**
|
132 |
* render image icon for overview pages
|
133 |
*
|
@@ -139,7 +148,7 @@ class Advanced_Ads_Ad_Type_Image extends Advanced_Ads_Ad_Type_Abstract{
|
|
139 |
$image = wp_get_attachment_image_src( $attachment_id, 'medium', true );
|
140 |
if ( $image ) {
|
141 |
list( $src, $width, $height ) = $image;
|
142 |
-
|
143 |
// scale down width or height to max 100px
|
144 |
if( $width > $height ){
|
145 |
$height = absint( $height / ( $width / 100 ) );
|
@@ -148,11 +157,11 @@ class Advanced_Ads_Ad_Type_Image extends Advanced_Ads_Ad_Type_Abstract{
|
|
148 |
$width = absint( $width / ( $height / 100 ) );
|
149 |
$height = 100;
|
150 |
}
|
151 |
-
|
152 |
$hwstring = trim( image_hwstring($width, $height) );
|
153 |
$attachment = get_post($attachment_id);
|
154 |
$alt = trim(strip_tags( get_post_meta($attachment_id, '_wp_attachment_image_alt', true) ));
|
155 |
-
|
156 |
echo "<img $hwstring src='$src' alt='$alt' />";
|
157 |
}
|
158 |
}
|
@@ -179,35 +188,35 @@ class Advanced_Ads_Ad_Type_Image extends Advanced_Ads_Ad_Type_Abstract{
|
|
179 |
|
180 |
return ob_get_clean();
|
181 |
}
|
182 |
-
|
183 |
/**
|
184 |
* Generate a string with the original image size for output in the backend
|
185 |
* Only show, if different from entered image sizes
|
186 |
-
*
|
187 |
* @param obj $ad Advanced_Ads_Ad
|
188 |
* @return str empty, if the entered size is the same as the original size
|
189 |
*/
|
190 |
public static function show_original_image_size( $ad ){
|
191 |
|
192 |
$attachment_id = ( isset( $ad->output['image_id'] ) ) ? absint( $ad->output['image_id'] ) : '';
|
193 |
-
|
194 |
$image = wp_get_attachment_image_src( $attachment_id, 'full' );
|
195 |
-
|
196 |
if ( $image ) {
|
197 |
list( $src, $width, $height ) = $image;
|
198 |
-
?><p class="description"><?php if( ( isset( $ad->width ) && $ad->width != $width )
|
199 |
|| ( isset( $ad->height ) && $ad->height != $height ) ) {
|
200 |
-
printf(
|
201 |
/**
|
202 |
-
* translators: $s is a size string like "728 x 90".
|
203 |
* This string shows up on the ad edit page of image ads if the size entered for the ad is different from the size of the uploaded image.
|
204 |
*/
|
205 |
esc_attr__( 'Original size: %s', 'advanced-ads' ), $width . ' x ' . $height ); ?></p><?php
|
206 |
}
|
207 |
}
|
208 |
-
|
209 |
return '';
|
210 |
-
|
211 |
}
|
212 |
|
213 |
}
|
83 |
|
84 |
$image = wp_get_attachment_image_src( $attachment_id, 'full' );
|
85 |
$style = '';
|
86 |
+
|
87 |
if ( $image ) {
|
88 |
list( $src, $width, $height ) = $image;
|
89 |
// override image sizes with the sizes given in ad options, but in frontend only
|
95 |
$hwstring = image_hwstring($width, $height);
|
96 |
$attachment = get_post($attachment_id);
|
97 |
$alt = trim(esc_textarea( get_post_meta($attachment_id, '_wp_attachment_image_alt', true) ));
|
98 |
+
|
99 |
global $wp_current_filter;
|
100 |
+
|
101 |
+
// TODO: use an array for attributes so they are simpler to extend
|
102 |
$more_attributes = $srcset = $sizes = '';
|
103 |
// create srcset and sizes attributes if we are in the the_content filter and in WordPress 4.4
|
104 |
+
if( isset( $wp_current_filter )
|
105 |
+
&& in_array( 'the_content', $wp_current_filter )
|
106 |
&& ! defined( 'ADVADS_DISABLE_RESPONSIVE_IMAGES' )){
|
107 |
if( function_exists( 'wp_get_attachment_image_srcset' ) ){
|
108 |
$srcset = wp_get_attachment_image_srcset( $attachment_id, 'full' );
|
111 |
$sizes = wp_get_attachment_image_sizes( $attachment_id, 'full' );
|
112 |
}
|
113 |
if ( $srcset && $sizes ) {
|
114 |
+
$more_attributes .= ' srcset="' . $srcset . '" sizes="' . $sizes . '"';
|
115 |
}
|
116 |
}
|
117 |
+
|
118 |
+
// TODO: move to classes/compabtility.php when we have a simpler filter for additional attributes
|
119 |
+
// compabitility with WP Smush. Disables their lazy load for image ads because it caused them to not show up in certain positions at all.
|
120 |
+
$wp_smush_settings = get_option( 'wp-smush-settings' );
|
121 |
+
if ( isset( $wp_smush_settings['lazy_load'] ) && $wp_smush_settings['lazy_load'] ) {
|
122 |
+
// Lazy load is enabled.
|
123 |
+
$more_attributes .= ' class="no-lazyload"';
|
124 |
+
}
|
125 |
+
|
126 |
+
// add css rule to be able to center the ad.
|
127 |
if( isset( $ad->output['position'] ) && 'center' === $ad->output['position'] ){
|
128 |
$style .= 'display: inline-block;';
|
129 |
}
|
130 |
+
|
131 |
$style = apply_filters( 'advanced-ads-ad-image-tag-style', $style );
|
132 |
$style = '' !== $style ? 'style="' . $style . '"' : '';
|
133 |
+
|
134 |
$more_attributes = apply_filters( 'advanced-ads-ad-image-tag-attributes', $more_attributes );
|
135 |
+
|
136 |
echo rtrim("<img $hwstring") . " src='$src' alt='$alt' $more_attributes $style/>";
|
137 |
}
|
138 |
}
|
139 |
+
|
140 |
/**
|
141 |
* render image icon for overview pages
|
142 |
*
|
148 |
$image = wp_get_attachment_image_src( $attachment_id, 'medium', true );
|
149 |
if ( $image ) {
|
150 |
list( $src, $width, $height ) = $image;
|
151 |
+
|
152 |
// scale down width or height to max 100px
|
153 |
if( $width > $height ){
|
154 |
$height = absint( $height / ( $width / 100 ) );
|
157 |
$width = absint( $width / ( $height / 100 ) );
|
158 |
$height = 100;
|
159 |
}
|
160 |
+
|
161 |
$hwstring = trim( image_hwstring($width, $height) );
|
162 |
$attachment = get_post($attachment_id);
|
163 |
$alt = trim(strip_tags( get_post_meta($attachment_id, '_wp_attachment_image_alt', true) ));
|
164 |
+
|
165 |
echo "<img $hwstring src='$src' alt='$alt' />";
|
166 |
}
|
167 |
}
|
188 |
|
189 |
return ob_get_clean();
|
190 |
}
|
191 |
+
|
192 |
/**
|
193 |
* Generate a string with the original image size for output in the backend
|
194 |
* Only show, if different from entered image sizes
|
195 |
+
*
|
196 |
* @param obj $ad Advanced_Ads_Ad
|
197 |
* @return str empty, if the entered size is the same as the original size
|
198 |
*/
|
199 |
public static function show_original_image_size( $ad ){
|
200 |
|
201 |
$attachment_id = ( isset( $ad->output['image_id'] ) ) ? absint( $ad->output['image_id'] ) : '';
|
202 |
+
|
203 |
$image = wp_get_attachment_image_src( $attachment_id, 'full' );
|
204 |
+
|
205 |
if ( $image ) {
|
206 |
list( $src, $width, $height ) = $image;
|
207 |
+
?><p class="description"><?php if( ( isset( $ad->width ) && $ad->width != $width )
|
208 |
|| ( isset( $ad->height ) && $ad->height != $height ) ) {
|
209 |
+
printf(
|
210 |
/**
|
211 |
+
* translators: $s is a size string like "728 x 90".
|
212 |
* This string shows up on the ad edit page of image ads if the size entered for the ad is different from the size of the uploaded image.
|
213 |
*/
|
214 |
esc_attr__( 'Original size: %s', 'advanced-ads' ), $width . ' x ' . $height ); ?></p><?php
|
215 |
}
|
216 |
}
|
217 |
+
|
218 |
return '';
|
219 |
+
|
220 |
}
|
221 |
|
222 |
}
|
classes/frontend-notices.php
ADDED
@@ -0,0 +1,132 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Container class for frontend notice handling
|
5 |
+
*
|
6 |
+
* @package WordPress
|
7 |
+
* @subpackage Advanced Ads Plugin
|
8 |
+
* @since 1.16
|
9 |
+
*
|
10 |
+
* related scripts / functions
|
11 |
+
* @todo build interface or parent class to share with other notice management in Advanced Ads, e.g., Ad Health Notices
|
12 |
+
*
|
13 |
+
*/
|
14 |
+
class Advanced_Ads_Frontend_Notices {
|
15 |
+
|
16 |
+
/**
|
17 |
+
* Instance of this class.
|
18 |
+
*
|
19 |
+
* @var object
|
20 |
+
*/
|
21 |
+
protected static $instance = null;
|
22 |
+
|
23 |
+
/**
|
24 |
+
* Options
|
25 |
+
*
|
26 |
+
* @var array
|
27 |
+
*/
|
28 |
+
protected $options;
|
29 |
+
|
30 |
+
/**
|
31 |
+
* All detected notices
|
32 |
+
*
|
33 |
+
* @var array
|
34 |
+
*/
|
35 |
+
public $notices = array();
|
36 |
+
|
37 |
+
/**
|
38 |
+
* Advanced_Ads_Ad_Health_Notices constructor.
|
39 |
+
*/
|
40 |
+
public function __construct() {
|
41 |
+
|
42 |
+
// failsafe for there were some reports of 502 errors.
|
43 |
+
if ( 1 < did_action( 'plugins_loaded' ) ) {
|
44 |
+
return;
|
45 |
+
}
|
46 |
+
|
47 |
+
}
|
48 |
+
|
49 |
+
/**
|
50 |
+
* Return an instance of this class.
|
51 |
+
*
|
52 |
+
* @return object A single instance of this class.
|
53 |
+
*/
|
54 |
+
public static function get_instance() {
|
55 |
+
|
56 |
+
// If the single instance hasn't been set, set it now.
|
57 |
+
if ( null === self::$instance ) {
|
58 |
+
self::$instance = new self();
|
59 |
+
}
|
60 |
+
|
61 |
+
return self::$instance;
|
62 |
+
}
|
63 |
+
|
64 |
+
/**
|
65 |
+
* Updating an existing notice or add it, if it doesn’t exist, yet
|
66 |
+
*
|
67 |
+
* @param string $notice_key notice key to be added to the notice array.
|
68 |
+
* @param array $atts additional attributes.
|
69 |
+
*
|
70 |
+
* attributes:
|
71 |
+
* - append_text – text added to the default message
|
72 |
+
*/
|
73 |
+
public function update( $notice_key, $atts = array() ) {
|
74 |
+
|
75 |
+
// check if the notice already exists.
|
76 |
+
$notice_key = esc_attr( $notice_key );
|
77 |
+
$options_before = $options = $this->options();
|
78 |
+
|
79 |
+
// load notices from "queue".
|
80 |
+
$notices = isset( $options['notices'] ) ? $options['notices'] : array();
|
81 |
+
|
82 |
+
// check if notice_key was already saved, this prevents the same notice from showing up in different forms.
|
83 |
+
if ( ! isset( $notices[ $notice_key ] ) ) {
|
84 |
+
$notices[ $notice_key ] = array();
|
85 |
+
} else {
|
86 |
+
// add `closed` marker, if given.
|
87 |
+
if ( ! empty( $atts['closed'] ) ) {
|
88 |
+
$notices[ $notice_key ]['closed'] = absint( $atts['closed'] );
|
89 |
+
}
|
90 |
+
}
|
91 |
+
|
92 |
+
// update db.
|
93 |
+
$options['notices'] = $notices;
|
94 |
+
|
95 |
+
// update db if changed.
|
96 |
+
if ( $options_before !== $options ) {
|
97 |
+
$this->update_options( $options );
|
98 |
+
}
|
99 |
+
|
100 |
+
}
|
101 |
+
|
102 |
+
/**
|
103 |
+
* Return notices option from DB
|
104 |
+
*
|
105 |
+
* @return array $options
|
106 |
+
*/
|
107 |
+
public function options() {
|
108 |
+
if ( ! isset( $this->options ) ) {
|
109 |
+
$this->options = get_option( ADVADS_SLUG . '-frontend-notices', array() );
|
110 |
+
}
|
111 |
+
if ( ! is_array( $this->options ) ) {
|
112 |
+
$this->options = array();
|
113 |
+
}
|
114 |
+
|
115 |
+
return $this->options;
|
116 |
+
}
|
117 |
+
|
118 |
+
/**
|
119 |
+
* Update notice options
|
120 |
+
*
|
121 |
+
* @param array $options new options.
|
122 |
+
*/
|
123 |
+
public function update_options( array $options ) {
|
124 |
+
// do not allow to clear options.
|
125 |
+
if ( array() === $options ) {
|
126 |
+
return;
|
127 |
+
}
|
128 |
+
|
129 |
+
$this->options = $options;
|
130 |
+
update_option( ADVADS_SLUG . '-frontend-notices', $options );
|
131 |
+
}
|
132 |
+
}
|
classes/frontend_checks.php
CHANGED
@@ -95,7 +95,7 @@ class Advanced_Ads_Frontend_Checks {
|
|
95 |
'title' => __( 'Random AdSense ads', 'advanced-ads' ),
|
96 |
'href' => ADVADS_URL . 'adsense-in-random-positions-auto-ads/#utm_source=advancedads&utm_medium=link&utm_campaign=frontend-autoads-ads',
|
97 |
'meta' => array(
|
98 |
-
'class' => 'hidden
|
99 |
'target' => '_blank'
|
100 |
)
|
101 |
) );
|
@@ -121,7 +121,6 @@ class Advanced_Ads_Frontend_Checks {
|
|
121 |
'parent' => 'advanced_ads_ad_health',
|
122 |
'id' => 'advanced_ads_ad_health_adblocker_enabled',
|
123 |
'title' => __( 'Ad blocker enabled', 'advanced-ads' ),
|
124 |
-
// 'href' => 'https://wpadvancedads.com/support',
|
125 |
'meta' => array(
|
126 |
'class' => 'hidden advanced_ads_ad_health_warning',
|
127 |
'target' => '_blank'
|
@@ -219,11 +218,11 @@ class Advanced_Ads_Frontend_Checks {
|
|
219 |
if ( $wp_the_query->is_404() && ! empty( $options['disabled-ads']['404'] ) ) {
|
220 |
$nodes[] = array( 1, array(
|
221 |
'parent' => 'advanced_ads_ad_health',
|
222 |
-
'id'
|
223 |
-
'title'
|
224 |
-
'href'
|
225 |
'meta' => array(
|
226 |
-
'class'
|
227 |
'target' => '_blank'
|
228 |
)
|
229 |
) );
|
@@ -232,11 +231,11 @@ class Advanced_Ads_Frontend_Checks {
|
|
232 |
if ( ! $wp_the_query->is_singular() && ! empty( $options['disabled-ads']['archives'] ) ){
|
233 |
$nodes[] = array( 'type' => 1, 'data' => array(
|
234 |
'parent' => 'advanced_ads_ad_health',
|
235 |
-
'id'
|
236 |
-
'title'
|
237 |
-
'href'
|
238 |
'meta' => array(
|
239 |
-
'class'
|
240 |
'target' => '_blank'
|
241 |
)
|
242 |
) );
|
@@ -244,25 +243,25 @@ class Advanced_Ads_Frontend_Checks {
|
|
244 |
|
245 |
$nodes[] = array( 'type' => 2, 'data' => array(
|
246 |
'parent' => 'advanced_ads_ad_health',
|
247 |
-
'id'
|
248 |
-
'title'
|
249 |
__( 'Your website is using HTTPS, but the ad code contains HTTP and might not work.', 'advanced-ads' ),
|
250 |
sprintf( __( 'Ad IDs: %s', 'advanced-ads' ), '<i></i>' )
|
251 |
),
|
252 |
-
'href'
|
253 |
'meta' => array(
|
254 |
-
'class'
|
255 |
'target' => '_blank'
|
256 |
)
|
257 |
) );
|
258 |
|
259 |
$nodes[] = array( 'type' => 2, 'data' => array(
|
260 |
'parent' => 'advanced_ads_ad_health',
|
261 |
-
'id'
|
262 |
-
'title'
|
263 |
-
'href'
|
264 |
'meta' => array(
|
265 |
-
'class'
|
266 |
'target' => '_blank'
|
267 |
)
|
268 |
) );
|
@@ -277,7 +276,7 @@ class Advanced_Ads_Frontend_Checks {
|
|
277 |
__( 'Ad is hidden', 'advanced-ads' ),
|
278 |
sprintf( __( 'IDs: %s', 'advanced-ads' ), '<i></i>' )
|
279 |
),
|
280 |
-
'href' => '
|
281 |
'meta' => array(
|
282 |
'class' => 'hidden advanced_ads_ad_health_warning advanced_ads_ad_health_hidden_adsense',
|
283 |
'target' => '_blank'
|
@@ -289,7 +288,7 @@ class Advanced_Ads_Frontend_Checks {
|
|
289 |
'parent' => 'advanced_ads_ad_health',
|
290 |
'id' => 'advanced_ads_ad_health_floated_responsive_adsense',
|
291 |
'title' => sprintf( __( 'The following responsive AdSense ads are not showing up: %s', 'advanced-ads' ), '<i></i>' ),
|
292 |
-
'href' => '
|
293 |
'meta' => array(
|
294 |
'class' => 'hidden advanced_ads_ad_health_warning advanced_ads_ad_health_floated_responsive_adsense',
|
295 |
'target' => '_blank'
|
@@ -313,31 +312,34 @@ class Advanced_Ads_Frontend_Checks {
|
|
313 |
|
314 |
$nodes[] = array( 'type' => 3, 'data' => array(
|
315 |
'parent' => 'advanced_ads_ad_health',
|
316 |
-
'id' => '
|
317 |
-
'title' => __( '
|
318 |
'href' => esc_url( add_query_arg( 'google_force_console', '1' ) ),
|
319 |
'meta' => array(
|
320 |
-
'class' => 'hidden
|
321 |
-
'target' => '_blank',
|
322 |
)
|
323 |
) );
|
324 |
|
325 |
-
|
326 |
-
'parent' => 'advanced_ads_ad_health',
|
327 |
-
'id' => 'advanced_ads_ad_health_highlight_ads',
|
328 |
-
'title' => sprintf( '<label style="color: inherit;"><input id="advanced_ads_highlight_ads_checkbox" type="checkbox"> %s</label>', __( 'highlight ads', 'advanced-ads' ) )
|
329 |
-
) );
|
330 |
-
|
331 |
-
// search for AdSense Verification and Auto ads code
|
332 |
$nodes[] = array( 'type' => 3, 'data' => array(
|
333 |
'parent' => 'advanced_ads_ad_health',
|
334 |
'id' => 'advanced_ads_ad_health_auto_ads_found',
|
335 |
'title' => __( 'Auto ads code found', 'advanced-ads' ),
|
336 |
-
'href' => '
|
337 |
'meta' => array(
|
338 |
-
'class' => 'hidden
|
339 |
'target' => '_blank',
|
340 |
-
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
341 |
) );
|
342 |
|
343 |
/**
|
@@ -503,9 +505,47 @@ class Advanced_Ads_Frontend_Checks {
|
|
503 |
?><!-- Advanced Ads: <?php _e( 'the following code is used for automatic error detection and only visible to admins', 'advanced-ads' ); ?>-->
|
504 |
<style>.hidden { display: none; }
|
505 |
#wp-admin-bar-advanced_ads_ad_health-default a:after { content: "\25BA"; margin-left: .5em; font-size: smaller; }
|
|
|
|
|
506 |
#wpadminbar .advanced-ads-issue-counter { background-color: #d54e21; display: none; padding: 1px 7px 1px 6px!important; border-radius: 50%; color: #fff; }
|
507 |
#wpadminbar .advads-adminbar-is-warnings .advanced-ads-issue-counter { display: inline; }
|
508 |
-
.advanced-ads-highlight-ads { outline:4px solid blue !important; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
509 |
<?php echo ob_get_clean();
|
510 |
|
511 |
if ( advads_is_amp() ) {
|
@@ -574,12 +614,12 @@ class Advanced_Ads_Frontend_Checks {
|
|
574 |
advanced_ads_frontend_checks.showCount();
|
575 |
}
|
576 |
},
|
577 |
-
|
578 |
/**
|
579 |
* Add item to Ad Health notices in the backend
|
580 |
*
|
581 |
-
* @param
|
582 |
-
* @param
|
583 |
* @returns {undefined}
|
584 |
*/
|
585 |
add_item_to_notices: function( key, attr = '' ) {
|
@@ -607,6 +647,27 @@ class Advanced_Ads_Frontend_Checks {
|
|
607 |
advads.set_cookie_sec( 'advanced_ads_ad_health_notices', notices_str, 3600 ); // 1 hour
|
608 |
});
|
609 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
610 |
|
611 |
/**
|
612 |
* Search for hidden AdSense.
|
@@ -652,16 +713,21 @@ class Advanced_Ads_Frontend_Checks {
|
|
652 |
obj.attachEvent( 'on' + type, function() { return fn.call( obj, window.event ); } );
|
653 |
};
|
654 |
|
|
|
655 |
function highlight_ads() {
|
|
|
|
|
|
|
|
|
|
|
656 |
try {
|
657 |
-
var ad_wrappers = document.querySelectorAll('div[id^="<?php echo Advanced_Ads_Plugin::get_instance()->get_frontend_prefix();?>"]')
|
658 |
} catch ( e ) { return; }
|
659 |
for ( i = 0; i < ad_wrappers.length; i++ ) {
|
660 |
-
|
661 |
ad_wrappers[i].className += ' advanced-ads-highlight-ads';
|
662 |
-
|
663 |
-
ad_wrappers[i].className = ad_wrappers[i].className.replace( 'advanced-ads-highlight-ads', '' );
|
664 |
-
}
|
665 |
}
|
666 |
}
|
667 |
|
@@ -669,10 +735,9 @@ class Advanced_Ads_Frontend_Checks {
|
|
669 |
var adblock_item = d.getElementById( 'wp-admin-bar-advanced_ads_ad_health_adblocker_enabled' );
|
670 |
// jQuery_item = d.getElementById( 'wp-admin-bar-advanced_ads_ad_health_jquery' ),
|
671 |
|
672 |
-
|
673 |
-
|
674 |
-
|
675 |
-
}
|
676 |
|
677 |
if ( adblock_item && typeof advanced_ads_adblocker_test === 'undefined' ) {
|
678 |
// show hidden item
|
@@ -697,24 +762,35 @@ class Advanced_Ads_Frontend_Checks {
|
|
697 |
|
698 |
// highlight AdSense Auto Ads ads 3 seconds after site loaded
|
699 |
setTimeout( function(){
|
700 |
-
advanced_ads_ready( advads_highlight_adsense_autoads )
|
701 |
}, 3000 );
|
702 |
function advads_highlight_adsense_autoads(){
|
703 |
if ( ! window.jQuery ) {
|
704 |
window.console && window.console.log( 'Advanced Ads: jQuery not found. Some Ad Health warnings will not be displayed.' );
|
705 |
return;
|
706 |
}
|
707 |
-
var autoads_ads =
|
|
|
708 |
<?php /* jQuery( '<p class="advads-autoads-hint" style="background-color:#0085ba;color:#fff;font-size:0.8em;padding:5px;"><?php
|
709 |
printf(__( 'This ad was automatically placed here by AdSense. <a href="%s" target="_blank" style="color:#fff;border-color:#fff;">Click here to learn more</a>.', 'advanced-ads' ), ADVADS_URL . 'adsense-in-random-positions-auto-ads/#utm_source=advanced-ads&utm_medium=link&utm_campaign=frontend-autoads-ads' );
|
710 |
?></p>' ).prependTo( autoads_ads ); */ ?>
|
711 |
// show Auto Ads warning in Ad Health bar if relevant
|
|
|
712 |
if( autoads_ads.length ){
|
713 |
var advads_autoads_link = document.querySelector( '#wp-admin-bar-advanced_ads_autoads_displayed.hidden' );
|
714 |
if ( advads_autoads_link ) {
|
715 |
advads_autoads_link.className = advads_autoads_link.className.replace( 'hidden', '' );
|
716 |
}
|
717 |
advanced_ads_frontend_checks.showCount();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
718 |
}
|
719 |
}
|
720 |
|
@@ -727,6 +803,83 @@ class Advanced_Ads_Frontend_Checks {
|
|
727 |
}
|
728 |
}
|
729 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
730 |
<?php endif;
|
731 |
/**
|
732 |
* code to check if current user gave consent to show ads
|
@@ -743,6 +896,31 @@ class Advanced_Ads_Frontend_Checks {
|
|
743 |
advanced_ads_frontend_checks.showCount();
|
744 |
});
|
745 |
<?php endif; ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
746 |
})(document, window);
|
747 |
</script>
|
748 |
<?php echo Advanced_Ads_Utils::get_inline_asset( ob_get_clean() );
|
@@ -762,20 +940,6 @@ class Advanced_Ads_Frontend_Checks {
|
|
762 |
return $content;
|
763 |
}
|
764 |
|
765 |
-
// Allow DFP debugging by showing a link that points to the current URL with the 'google_forec_console' parameter.
|
766 |
-
if ( $ad->type === 'plain' && preg_match( '/gpt\.js/', $content ) ) {
|
767 |
-
ob_start(); ?>
|
768 |
-
<script>advanced_ads_ready( function() {
|
769 |
-
var advads_dfp_link = document.querySelector( '.advanced_ads_ad_health_debug_dfp_link.hidden' );
|
770 |
-
if ( advads_dfp_link ) {
|
771 |
-
advads_dfp_link.className = advads_dfp_link.className.replace( 'hidden', '' );
|
772 |
-
advanced_ads_frontend_checks.showCount();
|
773 |
-
}
|
774 |
-
});</script>
|
775 |
-
<?php
|
776 |
-
$content .= Advanced_Ads_Utils::get_inline_asset( ob_get_clean() );
|
777 |
-
}
|
778 |
-
|
779 |
if ( Advanced_Ads_Ad_Debug::is_https_and_http( $ad ) ) {
|
780 |
ob_start(); ?>
|
781 |
<script>advanced_ads_ready( function() {
|
95 |
'title' => __( 'Random AdSense ads', 'advanced-ads' ),
|
96 |
'href' => ADVADS_URL . 'adsense-in-random-positions-auto-ads/#utm_source=advancedads&utm_medium=link&utm_campaign=frontend-autoads-ads',
|
97 |
'meta' => array(
|
98 |
+
'class' => 'hidden',
|
99 |
'target' => '_blank'
|
100 |
)
|
101 |
) );
|
121 |
'parent' => 'advanced_ads_ad_health',
|
122 |
'id' => 'advanced_ads_ad_health_adblocker_enabled',
|
123 |
'title' => __( 'Ad blocker enabled', 'advanced-ads' ),
|
|
|
124 |
'meta' => array(
|
125 |
'class' => 'hidden advanced_ads_ad_health_warning',
|
126 |
'target' => '_blank'
|
218 |
if ( $wp_the_query->is_404() && ! empty( $options['disabled-ads']['404'] ) ) {
|
219 |
$nodes[] = array( 1, array(
|
220 |
'parent' => 'advanced_ads_ad_health',
|
221 |
+
'id' => 'advanced_ads_ad_health_no_404',
|
222 |
+
'title' => __( 'Ads are disabled on 404 pages', 'advanced-ads' ),
|
223 |
+
'href' => admin_url( 'admin.php?page=advanced-ads-settings' ),
|
224 |
'meta' => array(
|
225 |
+
'class' => 'advanced_ads_ad_health_warning',
|
226 |
'target' => '_blank'
|
227 |
)
|
228 |
) );
|
231 |
if ( ! $wp_the_query->is_singular() && ! empty( $options['disabled-ads']['archives'] ) ){
|
232 |
$nodes[] = array( 'type' => 1, 'data' => array(
|
233 |
'parent' => 'advanced_ads_ad_health',
|
234 |
+
'id' => 'advanced_ads_ad_health_no_archive',
|
235 |
+
'title' => __( 'Ads are disabled on non singular pages', 'advanced-ads' ),
|
236 |
+
'href' => admin_url( 'admin.php?page=advanced-ads-settings' ),
|
237 |
'meta' => array(
|
238 |
+
'class' => 'advanced_ads_ad_health_warning',
|
239 |
'target' => '_blank'
|
240 |
)
|
241 |
) );
|
243 |
|
244 |
$nodes[] = array( 'type' => 2, 'data' => array(
|
245 |
'parent' => 'advanced_ads_ad_health',
|
246 |
+
'id' => 'advanced_ads_ad_health_has_http',
|
247 |
+
'title' => sprintf( '%s %s',
|
248 |
__( 'Your website is using HTTPS, but the ad code contains HTTP and might not work.', 'advanced-ads' ),
|
249 |
sprintf( __( 'Ad IDs: %s', 'advanced-ads' ), '<i></i>' )
|
250 |
),
|
251 |
+
'href' => ADVADS_URL . 'manual/ad-health/?utm_source=advanced-ads&utm_medium=link&utm_campaign=adhealth-https-ads#https-ads',
|
252 |
'meta' => array(
|
253 |
+
'class' => 'hidden advanced_ads_ad_health_warning advanced_ads_ad_health_has_http',
|
254 |
'target' => '_blank'
|
255 |
)
|
256 |
) );
|
257 |
|
258 |
$nodes[] = array( 'type' => 2, 'data' => array(
|
259 |
'parent' => 'advanced_ads_ad_health',
|
260 |
+
'id' => 'advanced_ads_ad_health_incorrect_head',
|
261 |
+
'title' => sprintf( __( 'Visible ads should not use the Header placement: %s', 'advanced-ads' ), '<i></i>' ),
|
262 |
+
'href' => ADVADS_URL . 'manual/ad-health/?utm_source=advanced-ads&utm_medium=link&utm_campaign=adhealth-visible-ad-in-header#header-ads',
|
263 |
'meta' => array(
|
264 |
+
'class' => 'hidden advanced_ads_ad_health_warning advanced_ads_ad_health_incorrect_head',
|
265 |
'target' => '_blank'
|
266 |
)
|
267 |
) );
|
276 |
__( 'Ad is hidden', 'advanced-ads' ),
|
277 |
sprintf( __( 'IDs: %s', 'advanced-ads' ), '<i></i>' )
|
278 |
),
|
279 |
+
'href' => ADVADS_URL . 'manual/ad-health/?utm_source=advanced-ads&utm_medium=link&utm_campaign=adhealth-frontend-adsense-hidden#adsense-hidden',
|
280 |
'meta' => array(
|
281 |
'class' => 'hidden advanced_ads_ad_health_warning advanced_ads_ad_health_hidden_adsense',
|
282 |
'target' => '_blank'
|
288 |
'parent' => 'advanced_ads_ad_health',
|
289 |
'id' => 'advanced_ads_ad_health_floated_responsive_adsense',
|
290 |
'title' => sprintf( __( 'The following responsive AdSense ads are not showing up: %s', 'advanced-ads' ), '<i></i>' ),
|
291 |
+
'href' => ADVADS_URL . 'manual/ad-health/?utm_source=advanced-ads&utm_medium=link&utm_campaign=adhealth-adsense-responsive-not-showing#The_following_responsive_AdSense_ads_arenot_showing_up',
|
292 |
'meta' => array(
|
293 |
'class' => 'hidden advanced_ads_ad_health_warning advanced_ads_ad_health_floated_responsive_adsense',
|
294 |
'target' => '_blank'
|
312 |
|
313 |
$nodes[] = array( 'type' => 3, 'data' => array(
|
314 |
'parent' => 'advanced_ads_ad_health',
|
315 |
+
'id' => 'advanced_ads_ad_health_gam_debug',
|
316 |
+
'title' => __( 'Debug Google Ad Manager', 'advanced-ads' ),
|
317 |
'href' => esc_url( add_query_arg( 'google_force_console', '1' ) ),
|
318 |
'meta' => array(
|
319 |
+
'class' => 'hidden advanced_ads_ad_health_gam_debug_link',
|
|
|
320 |
)
|
321 |
) );
|
322 |
|
323 |
+
// search for AdSense Verification and Auto ads code.
|
|
|
|
|
|
|
|
|
|
|
|
|
324 |
$nodes[] = array( 'type' => 3, 'data' => array(
|
325 |
'parent' => 'advanced_ads_ad_health',
|
326 |
'id' => 'advanced_ads_ad_health_auto_ads_found',
|
327 |
'title' => __( 'Auto ads code found', 'advanced-ads' ),
|
328 |
+
'href' => ADVADS_URL . 'manual/ad-health/?utm_source=advanced-ads&utm_medium=link&utm_campaign=adhealth-adsense-auto-ads-found#Auto_ads_code_found',
|
329 |
'meta' => array(
|
330 |
+
'class' => 'hidden advanced_ads_ad_health_auto_ads_found',
|
331 |
'target' => '_blank',
|
332 |
+
),
|
333 |
+
) );
|
334 |
+
|
335 |
+
// link to highlight ads and jump from one ad to the next
|
336 |
+
$nodes[] = array( 'type' => 3, 'amp' => false, 'data' => array(
|
337 |
+
'parent' => 'advanced_ads_ad_health',
|
338 |
+
'id' => 'advanced_ads_ad_health_highlight_ads',
|
339 |
+
'title' => __( 'highlight ads', 'advanced-ads' ),
|
340 |
+
'meta' => array(
|
341 |
+
'class' => 'advanced_ads_ad_health_highlight_ads',
|
342 |
+
),
|
343 |
) );
|
344 |
|
345 |
/**
|
505 |
?><!-- Advanced Ads: <?php _e( 'the following code is used for automatic error detection and only visible to admins', 'advanced-ads' ); ?>-->
|
506 |
<style>.hidden { display: none; }
|
507 |
#wp-admin-bar-advanced_ads_ad_health-default a:after { content: "\25BA"; margin-left: .5em; font-size: smaller; }
|
508 |
+
#wp-admin-bar-advanced_ads_ad_health-default .advanced_ads_ad_health_highlight_ads div:before { content: "\f177"; margin-right: .2em; line-height: 1em; padding: 0.2em 0 0; color: inherit; }
|
509 |
+
#wp-admin-bar-advanced_ads_ad_health-default .advanced_ads_ad_health_highlight_ads div:hover { color: #00b9eb; cursor: pointer; }
|
510 |
#wpadminbar .advanced-ads-issue-counter { background-color: #d54e21; display: none; padding: 1px 7px 1px 6px!important; border-radius: 50%; color: #fff; }
|
511 |
#wpadminbar .advads-adminbar-is-warnings .advanced-ads-issue-counter { display: inline; }
|
512 |
+
.advanced-ads-highlight-ads { outline:4px solid blue !important; }
|
513 |
+
|
514 |
+
.advads-frontend-notice { display: none; position: fixed; top: 0; z-index: 1000; left: 50%; max-width: 500px; margin-left: -250px; padding: 30px 10px 10px 10px; border: 0px solid #0074a2; border-top: 0; border-radius: 0px 0px 5px 5px; box-shadow: 0px 0px 15px rgba(0,0,0,0.3); background: #ffffff; background: rgba(255,255,255,0.95); font-size: 16px; font-family: Arial, Verdana, sans-serif; line-height: 1.5em; color: #444444; }
|
515 |
+
|
516 |
+
.advads-frontend-notice a, .advads-frontend-notice a:link { color: #0074a2; text-decoration: none; }
|
517 |
+
.advads-frontend-notice ul { }
|
518 |
+
.advads-frontend-notice ul li { line-height: 1.5em; }
|
519 |
+
|
520 |
+
.advads-frontend-notice .advads-close-notice { position: absolute; top: 5px; right: 0; display: block; font-size: 20px; width: 30px; height: 30px; line-height: 30px; text-decoration: none; text-align: center; font-weight: bold; color: #444444; cursor: pointer; }
|
521 |
+
.advads-frontend-notice .advads-notice-var1 { font-size: 14px; font-style: italic; text-align: center; text-align: 1.3em; }
|
522 |
+
.advads-frontend-notice .advads-frontend-notice-choice { text-align: center; }
|
523 |
+
.advads-frontend-notice .advads-frontend-notice-choice:after { display: block; content: " "; clear: both; }
|
524 |
+
|
525 |
+
/* CSS Smilies */
|
526 |
+
.advads-smiley { position: relative; display: inline-block; border: 4px solid #0074a2; border-radius: 50px; width: 65px; height: 65px; background: #ffffff; cursor: pointer; margin: 0px 15px 5px 0px; }
|
527 |
+
.advads-smiley:hover { transform: scale(0.90); transition: all linear 0.3s; }
|
528 |
+
.advads-smiley .eye { display: block; position: absolute; top: 25%; width: 18%; height: 18%; background: #0074a2; border-radius: 50%; }
|
529 |
+
.advads-smiley .eye1 { left: 20%; }
|
530 |
+
.advads-smiley .eye2 { right: 20%; }
|
531 |
+
.advads-smiley .mouth { display: block; position: absolute; left: 20%; top: 15%; width: 60%; height: 60%; border-bottom: 5px solid #0074a2; background: none; }
|
532 |
+
|
533 |
+
/* CSS smiley: negative */
|
534 |
+
.advads-smiley-negative { /* border-color: #9a2d18; */ }
|
535 |
+
.advads-smiley-negative .mouth { top: 50%; border: 5px solid #0074a2; width: 60%px; height: 60%; transform: rotate(-45deg); border-bottom-color: transparent; border-left-color: transparent; border-radius: 50%; }
|
536 |
+
|
537 |
+
/* CSS smiley: positive */
|
538 |
+
.advads-smiley-positive { /* border-color: #1e610f; */ }
|
539 |
+
.advads-smiley-positive .mouth { top: 25%; border: 5px solid #0074a2; width: 60%px; height: 60%; transform: rotate(-45deg); border-top-color: transparent; border-right-color: transparent; border-radius: 50%; }
|
540 |
+
|
541 |
+
/* CSS smiley: neutral */
|
542 |
+
.advads-smiley-laugh .mouth { top: 25%; border-radius: 50%; }
|
543 |
+
|
544 |
+
@media screen and (max-width: 510px) {
|
545 |
+
.advads-frontend-notice { left: 0; width: 100%; margin-left: 0; }
|
546 |
+
.advads-smiley { width: 45px; height: 45px; }
|
547 |
+
}
|
548 |
+
</style>
|
549 |
<?php echo ob_get_clean();
|
550 |
|
551 |
if ( advads_is_amp() ) {
|
614 |
advanced_ads_frontend_checks.showCount();
|
615 |
}
|
616 |
},
|
617 |
+
|
618 |
/**
|
619 |
* Add item to Ad Health notices in the backend
|
620 |
*
|
621 |
+
* @param key of the notice
|
622 |
+
* @param attr
|
623 |
* @returns {undefined}
|
624 |
*/
|
625 |
add_item_to_notices: function( key, attr = '' ) {
|
647 |
advads.set_cookie_sec( 'advanced_ads_ad_health_notices', notices_str, 3600 ); // 1 hour
|
648 |
});
|
649 |
},
|
650 |
+
/**
|
651 |
+
* Update status of frontend notices
|
652 |
+
*
|
653 |
+
* @param key of the notice
|
654 |
+
* @param attr
|
655 |
+
* @returns {undefined}
|
656 |
+
*/
|
657 |
+
update_frontend_notices: function( key, attr = '' ) {
|
658 |
+
var query = {
|
659 |
+
action: 'advads-ad-frontend-notice-update',
|
660 |
+
key: key,
|
661 |
+
attr: attr,
|
662 |
+
nonce: '<?php echo wp_create_nonce('advanced-ads-frontend-notice-nonce'); ?>'
|
663 |
+
};
|
664 |
+
// send query
|
665 |
+
jQuery.post( advads_frontend_checks.ajax_url, query, function (r) {})
|
666 |
+
// close message when done.
|
667 |
+
.done(function() {
|
668 |
+
content_obj.slideUp();
|
669 |
+
});
|
670 |
+
},
|
671 |
|
672 |
/**
|
673 |
* Search for hidden AdSense.
|
713 |
obj.attachEvent( 'on' + type, function() { return fn.call( obj, window.event ); } );
|
714 |
};
|
715 |
|
716 |
+
// highlight ads that use Advanced Ads placements or AdSense Auto ads
|
717 |
function highlight_ads() {
|
718 |
+
/**
|
719 |
+
* Selectors:
|
720 |
+
* Placement container: div[id^="<?php echo Advanced_Ads_Plugin::get_instance()->get_frontend_prefix();?>"]
|
721 |
+
* AdSense Auto ads: 'google-auto-placed'
|
722 |
+
*/
|
723 |
try {
|
724 |
+
var ad_wrappers = document.querySelectorAll('div[id^="<?php echo Advanced_Ads_Plugin::get_instance()->get_frontend_prefix();?>"],.google-auto-placed')
|
725 |
} catch ( e ) { return; }
|
726 |
for ( i = 0; i < ad_wrappers.length; i++ ) {
|
727 |
+
ad_wrappers[i].title = ad_wrappers[i].className;
|
728 |
ad_wrappers[i].className += ' advanced-ads-highlight-ads';
|
729 |
+
// in case we want to remove it later
|
730 |
+
// ad_wrappers[i].className = ad_wrappers[i].className.replace( 'advanced-ads-highlight-ads', '' );
|
|
|
731 |
}
|
732 |
}
|
733 |
|
735 |
var adblock_item = d.getElementById( 'wp-admin-bar-advanced_ads_ad_health_adblocker_enabled' );
|
736 |
// jQuery_item = d.getElementById( 'wp-admin-bar-advanced_ads_ad_health_jquery' ),
|
737 |
|
738 |
+
// handle click on the highlight_ads link
|
739 |
+
var highlight_link = d.getElementById( 'wp-admin-bar-advanced_ads_ad_health_highlight_ads' );
|
740 |
+
addEvent( highlight_link, 'click', highlight_ads );
|
|
|
741 |
|
742 |
if ( adblock_item && typeof advanced_ads_adblocker_test === 'undefined' ) {
|
743 |
// show hidden item
|
762 |
|
763 |
// highlight AdSense Auto Ads ads 3 seconds after site loaded
|
764 |
setTimeout( function(){
|
765 |
+
advanced_ads_ready( advads_highlight_adsense_autoads );
|
766 |
}, 3000 );
|
767 |
function advads_highlight_adsense_autoads(){
|
768 |
if ( ! window.jQuery ) {
|
769 |
window.console && window.console.log( 'Advanced Ads: jQuery not found. Some Ad Health warnings will not be displayed.' );
|
770 |
return;
|
771 |
}
|
772 |
+
var autoads_ads = document.querySelectorAll('.google-auto-placed');
|
773 |
+
var autoads_code_enabled = document.querySelectorAll('#wp-admin-bar-advanced_ads_ad_health_auto_ads_found:not(.hidden)').length;
|
774 |
<?php /* jQuery( '<p class="advads-autoads-hint" style="background-color:#0085ba;color:#fff;font-size:0.8em;padding:5px;"><?php
|
775 |
printf(__( 'This ad was automatically placed here by AdSense. <a href="%s" target="_blank" style="color:#fff;border-color:#fff;">Click here to learn more</a>.', 'advanced-ads' ), ADVADS_URL . 'adsense-in-random-positions-auto-ads/#utm_source=advanced-ads&utm_medium=link&utm_campaign=frontend-autoads-ads' );
|
776 |
?></p>' ).prependTo( autoads_ads ); */ ?>
|
777 |
// show Auto Ads warning in Ad Health bar if relevant
|
778 |
+
<?php $frontend_notices = Advanced_Ads_Plugin::show_to_new_users( 1580126400, 'a' ) ? get_option( 'advanced-ads-frontend-notices' ) : array( 'notices' => array( 'auto-ads-with-ads' => true, 'auto-ads-without-ads' => true ) ); ?>
|
779 |
if( autoads_ads.length ){
|
780 |
var advads_autoads_link = document.querySelector( '#wp-admin-bar-advanced_ads_autoads_displayed.hidden' );
|
781 |
if ( advads_autoads_link ) {
|
782 |
advads_autoads_link.className = advads_autoads_link.className.replace( 'hidden', '' );
|
783 |
}
|
784 |
advanced_ads_frontend_checks.showCount();
|
785 |
+
<?php if( ! isset( $frontend_notices['notices']['auto-ads-with-ads'] ) ) : ?>
|
786 |
+
// show notice about Auto ads existing on the site
|
787 |
+
advads_frontend_notice( 'auto-ads-with-ads' );
|
788 |
+
<?php endif; ?>
|
789 |
+
} else if ( autoads_code_enabled ) {
|
790 |
+
<?php if( ! isset( $frontend_notices['notices']['auto-ads-without-ads'] ) ) : ?>
|
791 |
+
// show notice about Auto ads code without any ads placed
|
792 |
+
advads_frontend_notice( 'auto-ads-without-ads' );
|
793 |
+
<?php endif; ?>
|
794 |
}
|
795 |
}
|
796 |
|
803 |
}
|
804 |
}
|
805 |
}
|
806 |
+
// show notice
|
807 |
+
// @param notice
|
808 |
+
function advads_frontend_notice( notice = '' ){
|
809 |
+
var content = '';
|
810 |
+
switch ( notice ) {
|
811 |
+
case 'auto-ads-with-ads' :
|
812 |
+
var autoads_ads = jQuery(document).find('.google-auto-placed');
|
813 |
+
<?php $current_user = get_current_user(); $current_user_nicename = isset( $current_user->user_nicename ) ? $current_user->user_nicename : 'admin'; ?>
|
814 |
+
content = '' +
|
815 |
+
'<p style="text-align: center;"><strong><?php printf( __( 'Hi %s', 'advanced-ads'), $current_user_nicename ); ?></strong><br><?php printf( __( 'Advanced Ads detected AdSense Auto ads (%sx) on this page.', 'advanced-ads' ), 'AUTO_ADS_NUM' ); ?><br><?php esc_attr_e( 'Is that correct?', 'advanced-ads' ); ?></p>' +
|
816 |
+
'<div class="advads-frontend-notice-choice">' +
|
817 |
+
'<span class="advads-close advads-smiley advads-smiley-positive" title="<?php esc_attr_e( 'All is fine', 'advanced-ads' ); ?>"><i class="eye eye1"></i><i class="eye eye2"></i><i class="mouth"></i></span>' +
|
818 |
+
'<span class="advads-choice-negative advads-smiley" title="<?php esc_attr_e( 'Something is off', 'advanced-ads' ); ?>"><i class="eye eye1"></i><i class="eye eye2"></i><i class="mouth"></i></span>' +
|
819 |
+
'</div>' +
|
820 |
+
'<p class="advads-notice-var1"><?php esc_attr_e( 'This is a one-time check from your friendly Advanced Ads plugin. It is only visible to you.', 'advanced-ads' ); ?></p>';
|
821 |
+
// dynamically add the number of Auto ads found.
|
822 |
+
content = content.replace( 'AUTO_ADS_NUM', autoads_ads.length );
|
823 |
+
break;
|
824 |
+
case 'auto-ads-without-ads' :
|
825 |
+
<?php $current_user = get_current_user(); $current_user_nicename = isset( $current_user->user_nicename ) ? $current_user->user_nicename : 'admin'; ?>
|
826 |
+
content = '' +
|
827 |
+
'<p style="text-align: center;"><strong><?php printf( __( 'Hi %s', 'advanced-ads'), $current_user_nicename ); ?></strong><br><?php printf( __( 'Advanced Ads detected the AdSense Auto ads code and <strong>no ads on this page</strong>.', 'advanced-ads' ) ); ?><br/><?php esc_attr_e( 'Is that correct?', 'advanced-ads' ); ?></p>' +
|
828 |
+
'<div class="advads-frontend-notice-choice">' +
|
829 |
+
'<span class="advads-close advads-smiley advads-smiley-positive" title="<?php esc_attr_e( 'This is fine', 'advanced-ads' ); ?>"><i class="eye eye1"></i><i class="eye eye2"></i><i class="mouth"></i></span>' +
|
830 |
+
'<span class="advads-choice-negative advads-smiley" title="<?php esc_attr_e( 'I expected something else', 'advanced-ads' ); ?>"><i class="eye eye1"></i><i class="eye eye2"></i><i class="mouth"></i></span>' +
|
831 |
+
'</div>' +
|
832 |
+
'<p class="advads-notice-var1"><?php esc_attr_e( 'PS: this is a one-time check from your friendly Advanced Ads plugin. It is only visible to you.', 'advanced-ads' ); ?></p>';
|
833 |
+
break;
|
834 |
+
case 'auto-ads-with-ads-help' :
|
835 |
+
content = '<p style="text-align: center;"><?php esc_attr_e( 'Just click on your problem to learn more from our knowledge base.', 'advanced-ads' ); ?></p>' +
|
836 |
+
'<ul><li><a href="<?php echo esc_url( ADVADS_URL ); ?>adsense-in-random-positions-auto-ads/?utm_source=advanced-ads&utm_medium=link&utm_campaign=frontend-auto-ads-disable#How_to_disable_Auto_Ads" target="_blank"><?php esc_attr_e( 'I want to disable AdSense Auto ads', 'advanced-ads' ); ?></a></li>' +
|
837 |
+
'<li><a href="<?php echo esc_url( ADVADS_URL ); ?>manual/adsense-auto-ads-not-showing/?utm_source=advanced-ads&utm_medium=link&utm_campaign=frontend-auto-ads" target="_blank"><?php esc_attr_e( 'I don’t see any Auto ads', 'advanced-ads' ); ?></a></li>' +
|
838 |
+
'<li><a href="<?php echo esc_url( ADVADS_URL ); ?>manual/adsense-auto-ads-not-showing/?utm_source=advanced-ads&utm_medium=link&utm_campaign=frontend-auto-ads-blank#Auto_ads_stay_blank" target="_blank"><?php esc_attr_e( 'I only see blank space', 'advanced-ads' ); ?></a></li>' +
|
839 |
+
'<li><a href="<?php echo esc_url( ADVADS_URL ); ?>place-adsense-ad-unit-manually/?utm_source=advanced-ads&utm_medium=link&utm_campaign=frontend-auto-ads-position" target="_blank"><?php esc_attr_e( 'I want to change the position of the ads', 'advanced-ads' ); ?></a></li>' +
|
840 |
+
'<li><a href="<?php echo esc_url( ADVADS_URL ); ?>adsense-auto-ads-wordpress/?utm_source=advanced-ads&utm_medium=link&utm_campaign=frontend-auto-ads-specific-pages#Display_Auto_Ads_only_on_specific_pages" target="_blank"><?php esc_attr_e( 'Display Auto ads only on specific pages', 'advanced-ads' ); ?></a></li></ul>';
|
841 |
+
break;
|
842 |
+
case 'auto-ads-without-ads-help' :
|
843 |
+
content = '<p style="text-align: center;"><?php esc_attr_e( 'Just click on your problem to learn more from our knowledge base.', 'advanced-ads' ); ?></p>' +
|
844 |
+
'<ul><li><a href="<?php echo esc_url( ADVADS_URL ); ?>manual/adsense-auto-ads-not-showing/?utm_source=advanced-ads&utm_medium=link&utm_campaign=frontend-no-auto-ads" target="_blank"><?php esc_attr_e( 'I don’t see any Auto ads', 'advanced-ads' ); ?></a></li>' +
|
845 |
+
'<li><a href="<?php echo esc_url( ADVADS_URL ); ?>manual/adsense-auto-ads-not-showing/?utm_source=advanced-ads&utm_medium=link&utm_campaign=frontend-no-auto-ads-check-code#Check_if_the_Auto_ads_code_exists" target="_blank"><?php esc_attr_e( 'How to look for the Auto ads code', 'advanced-ads' ); ?></a></li>' +
|
846 |
+
'<li><a href="<?php echo esc_url( ADVADS_URL ); ?>support/?utm_source=advanced-ads&utm_medium=link&utm_campaign=frontend-no-auto-ads-support" target="_blank"><?php esc_attr_e( 'I have another question or problem', 'advanced-ads' ); ?></a></li></ul>';
|
847 |
+
break;
|
848 |
+
case 'closing' : // show until message is closed.
|
849 |
+
content = '<p><?php esc_attr_e( 'Closing the message', 'advanced-ads' ); ?>...</p>';
|
850 |
+
break;
|
851 |
+
}
|
852 |
+
if( content ){
|
853 |
+
// get existing content box or create new one.
|
854 |
+
if( jQuery( '.advads-frontend-notice' ).length ){
|
855 |
+
content_obj = jQuery( '.advads-frontend-notice' );
|
856 |
+
} else {
|
857 |
+
content_obj = jQuery( '<div class="advads-frontend-notice" data-choice="' + notice + '" style="display: none;"><span class="advads-close advads-close-notice">✕</span><div class="advads-content"></div></div>' );
|
858 |
+
}
|
859 |
+
// add content to the box.
|
860 |
+
content_obj.find( '.advads-content' ).html( content );
|
861 |
+
if( document.getElementById( 'wpadminbar' ) ){
|
862 |
+
content_obj.css( 'top', jQuery( '#wpadminbar' ).height() );
|
863 |
+
}
|
864 |
+
jQuery( content_obj ).appendTo( 'body' ).slideDown();
|
865 |
+
// register close event
|
866 |
+
content_obj.on( 'click', '.advads-close', function(){
|
867 |
+
// get notice
|
868 |
+
if( content_obj.data( 'choice' ) ){
|
869 |
+
advads_frontend_notice( 'closing' );
|
870 |
+
advanced_ads_frontend_checks.update_frontend_notices( content_obj.data( 'choice' ) );
|
871 |
+
}
|
872 |
+
// message is hidden in update_frontend_notices
|
873 |
+
});
|
874 |
+
// register button choice
|
875 |
+
jQuery( '.advads-frontend-notice[data-choice="auto-ads-with-ads"]' ).on( 'click', '.advads-choice-negative', function(){
|
876 |
+
advads_frontend_notice( 'auto-ads-with-ads-help' );
|
877 |
+
});
|
878 |
+
jQuery( '.advads-frontend-notice[data-choice="auto-ads-without-ads"]' ).on( 'click', '.advads-choice-negative', function(){
|
879 |
+
advads_frontend_notice( 'auto-ads-without-ads-help' );
|
880 |
+
});
|
881 |
+
}
|
882 |
+
}
|
883 |
<?php endif;
|
884 |
/**
|
885 |
* code to check if current user gave consent to show ads
|
896 |
advanced_ads_frontend_checks.showCount();
|
897 |
});
|
898 |
<?php endif; ?>
|
899 |
+
/**
|
900 |
+
* show Google Ad Manager debug link in Ad Health
|
901 |
+
*
|
902 |
+
* checks if window.googletag is defined
|
903 |
+
* look for container with ID starting with `div-gpt-ad-`
|
904 |
+
* does not look for `gpt-ad-` as used by our inline tags since they contain window.googletag as well
|
905 |
+
*/
|
906 |
+
function advads_gam_show_debug_link(){
|
907 |
+
var advads_gam_debug_link = document.querySelector( '.advanced_ads_ad_health_gam_debug_link.hidden' );
|
908 |
+
|
909 |
+
if( ! advads_gam_debug_link ){
|
910 |
+
return;
|
911 |
+
}
|
912 |
+
|
913 |
+
// initialized by the GAM header tag or inline body tags
|
914 |
+
if( window.googletag ){
|
915 |
+
advads_gam_debug_link.className = advads_gam_debug_link.className.replace( 'hidden', '' );
|
916 |
+
} else if ( document.querySelector( '[id^="div-gpt-ad-"]' ) ) {
|
917 |
+
advads_gam_debug_link.className = advads_gam_debug_link.className.replace( 'hidden', '' );
|
918 |
+
}
|
919 |
+
}
|
920 |
+
// look for Google Ad Manager tags with a delay of 2 seconds
|
921 |
+
setTimeout( function(){
|
922 |
+
advanced_ads_ready( advads_gam_show_debug_link );
|
923 |
+
}, 2000 );
|
924 |
})(document, window);
|
925 |
</script>
|
926 |
<?php echo Advanced_Ads_Utils::get_inline_asset( ob_get_clean() );
|
940 |
return $content;
|
941 |
}
|
942 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
943 |
if ( Advanced_Ads_Ad_Debug::is_https_and_http( $ad ) ) {
|
944 |
ob_start(); ?>
|
945 |
<script>advanced_ads_ready( function() {
|
classes/plugin.php
CHANGED
@@ -459,12 +459,6 @@ class Advanced_Ads_Plugin {
|
|
459 |
$this->options = get_option( ADVADS_SLUG, array() );
|
460 |
}
|
461 |
|
462 |
-
// disable Ad Health by default for new users.
|
463 |
-
if ( ! isset( $this->options['disable-notices'] )
|
464 |
-
&& self::show_to_new_users( 1575892800, 'b' ) ) {
|
465 |
-
$this->options['disable-notices'] = 1;
|
466 |
-
}
|
467 |
-
|
468 |
return $this->options;
|
469 |
}
|
470 |
|
459 |
$this->options = get_option( ADVADS_SLUG, array() );
|
460 |
}
|
461 |
|
|
|
|
|
|
|
|
|
|
|
|
|
462 |
return $this->options;
|
463 |
}
|
464 |
|
languages/advanced-ads.pot
CHANGED
@@ -3,7 +3,7 @@ msgid ""
|
|
3 |
msgstr ""
|
4 |
"Project-Id-Version: Advanved Ads\n"
|
5 |
"Report-Msgid-Bugs-To: http://wordpress.org/plugins/plugin-name\n"
|
6 |
-
"POT-Creation-Date:
|
7 |
"POT-Revision-Date: Wed Jul 13 2016 13:23:05 GMT+0200 (CEST)\n"
|
8 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
9 |
"Last-Translator: Thomas Maier <post@webzunft.de>\n"
|
@@ -23,149 +23,136 @@ msgstr ""
|
|
23 |
"X-Poedit-Basepath: ../\n"
|
24 |
"X-Poedit-SearchPath-0: ."
|
25 |
|
26 |
-
|
27 |
-
#: classes/
|
28 |
-
#: modules/gadsense/
|
29 |
-
|
30 |
-
|
31 |
-
msgid "or"
|
32 |
msgstr ""
|
33 |
|
34 |
-
#:
|
35 |
-
|
36 |
-
msgid "and"
|
37 |
msgstr ""
|
38 |
|
39 |
-
#:
|
40 |
-
msgid "
|
|
|
|
|
41 |
msgstr ""
|
42 |
|
43 |
-
#:
|
44 |
-
msgid "
|
45 |
msgstr ""
|
46 |
|
47 |
-
#:
|
48 |
-
msgid "
|
49 |
msgstr ""
|
50 |
|
51 |
-
#:
|
52 |
-
msgid "
|
53 |
msgstr ""
|
54 |
|
55 |
-
|
56 |
-
|
57 |
-
#, php-format
|
58 |
-
msgid "Last %1$d days"
|
59 |
msgstr ""
|
60 |
|
61 |
-
#:
|
62 |
-
msgid "
|
63 |
msgstr ""
|
64 |
|
65 |
-
#:
|
66 |
-
msgid ""
|
67 |
-
"There were no results returned for this ad. Please make sure it is active, "
|
68 |
-
"generating impressions and double check your ad parameters."
|
69 |
msgstr ""
|
70 |
|
71 |
-
#:
|
72 |
-
|
73 |
-
msgid "Show inactive ads"
|
74 |
msgstr ""
|
75 |
|
76 |
-
#:
|
77 |
-
msgid "
|
78 |
msgstr ""
|
79 |
|
80 |
-
#:
|
81 |
#, php-format
|
82 |
-
msgid "
|
83 |
-
|
84 |
-
|
85 |
-
#: admin/class-advanced-ads-admin.php:434 admin/includes/class-menu.php:113
|
86 |
-
#: admin/includes/class-menu.php:116 admin/views/settings.php:28
|
87 |
-
msgid "Support"
|
88 |
-
msgstr ""
|
89 |
-
|
90 |
-
#: admin/class-advanced-ads-admin.php:438
|
91 |
-
#: admin/includes/class-overview-widgets.php:58
|
92 |
-
msgid "Add-Ons"
|
93 |
msgstr ""
|
94 |
|
95 |
-
#:
|
96 |
-
#: admin/includes/class-overview-widgets.php:181
|
97 |
#, php-format
|
98 |
msgid ""
|
99 |
-
"
|
100 |
-
"
|
101 |
msgstr ""
|
102 |
|
103 |
-
#: classes/
|
104 |
-
msgid "
|
105 |
msgstr ""
|
106 |
|
107 |
-
#: classes/
|
108 |
-
msgid "
|
109 |
msgstr ""
|
110 |
|
111 |
-
#: classes/
|
112 |
-
msgid "
|
113 |
msgstr ""
|
114 |
|
115 |
-
#: classes/
|
116 |
-
msgid "
|
117 |
msgstr ""
|
118 |
|
119 |
-
#: classes/
|
120 |
-
msgid "
|
121 |
msgstr ""
|
122 |
|
123 |
-
#: classes/
|
124 |
-
msgid "
|
125 |
msgstr ""
|
126 |
|
127 |
-
#: classes/
|
128 |
-
|
|
|
129 |
msgstr ""
|
130 |
|
131 |
-
#: classes/
|
132 |
-
msgid "
|
133 |
msgstr ""
|
134 |
|
135 |
-
#: classes/
|
136 |
-
|
137 |
-
msgid "Ad"
|
138 |
msgstr ""
|
139 |
|
140 |
-
#: classes/
|
141 |
-
|
142 |
-
msgid "Ad Group"
|
143 |
msgstr ""
|
144 |
|
145 |
-
#: classes/
|
146 |
-
msgid "
|
147 |
msgstr ""
|
148 |
|
149 |
-
#: classes/
|
150 |
-
msgid "
|
151 |
msgstr ""
|
152 |
|
153 |
-
#: classes/
|
154 |
-
msgid "
|
155 |
msgstr ""
|
156 |
|
157 |
-
#: classes/
|
158 |
-
|
159 |
-
msgid ""
|
160 |
-
"Your website is using HTTPS, but the ad code contains HTTP and might not "
|
161 |
-
"work."
|
162 |
msgstr ""
|
163 |
|
164 |
-
|
165 |
-
|
166 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
167 |
#, php-format
|
168 |
-
msgid "
|
169 |
msgstr ""
|
170 |
|
171 |
#: classes/ad_ajax_callbacks.php:236
|
@@ -261,161 +248,354 @@ msgstr ""
|
|
261 |
msgid "headline 4 (%s)"
|
262 |
msgstr ""
|
263 |
|
264 |
-
#: classes/ad_placements.php:
|
265 |
#, php-format
|
266 |
msgid "Set <em>%s</em> to show more ads"
|
267 |
msgstr ""
|
268 |
|
269 |
-
#: classes/ad_placements.php:
|
270 |
msgid "Disable level limitation"
|
271 |
msgstr ""
|
272 |
|
273 |
-
#: classes/
|
274 |
-
msgid "
|
275 |
msgstr ""
|
276 |
|
277 |
-
#: classes/
|
278 |
-
msgid ""
|
279 |
-
"The full content editor from WordPress with all features like shortcodes, "
|
280 |
-
"image upload or styling, but also simple text/html mode for scripts and code."
|
281 |
msgstr ""
|
282 |
|
283 |
-
#: classes/
|
284 |
-
msgid "
|
285 |
msgstr ""
|
286 |
|
287 |
-
#: classes/
|
288 |
-
|
|
|
289 |
msgstr ""
|
290 |
|
291 |
-
#: classes/
|
292 |
-
msgid "
|
293 |
msgstr ""
|
294 |
|
295 |
-
#: classes/
|
296 |
-
msgid "
|
297 |
msgstr ""
|
298 |
|
299 |
-
#: classes/
|
300 |
-
msgid ""
|
301 |
-
"Choose an existing ad group. Use this type when you want to assign the same "
|
302 |
-
"display and visitor conditions to all ads in that group."
|
303 |
msgstr ""
|
304 |
|
305 |
-
#: classes/
|
306 |
-
msgid "
|
307 |
msgstr ""
|
308 |
|
309 |
-
#: classes/
|
310 |
-
msgid "
|
311 |
msgstr ""
|
312 |
|
313 |
-
#: classes/
|
314 |
-
msgid "Ads
|
315 |
msgstr ""
|
316 |
|
317 |
-
#: classes/
|
318 |
-
|
|
|
|
|
|
|
319 |
msgstr ""
|
320 |
|
321 |
-
#: classes/
|
322 |
-
|
|
|
323 |
msgstr ""
|
324 |
|
325 |
-
#: classes/
|
326 |
-
|
|
|
327 |
msgstr ""
|
328 |
|
329 |
-
#: classes/
|
330 |
-
msgid "
|
331 |
msgstr ""
|
332 |
|
333 |
-
#: classes/
|
334 |
-
msgid "
|
335 |
msgstr ""
|
336 |
|
337 |
-
|
338 |
-
#. This string shows up on the ad edit page of
|
339 |
-
#. image ads if the size entered for the ad is
|
340 |
-
#. different from the size of the uploaded image.
|
341 |
-
#: classes/ad_type_image.php:205
|
342 |
#, php-format
|
343 |
-
msgid "
|
344 |
msgstr ""
|
345 |
|
346 |
-
#: classes/
|
347 |
-
|
|
|
348 |
msgstr ""
|
349 |
|
350 |
-
#: classes/
|
351 |
-
msgid ""
|
352 |
-
"Any ad network, Amazon, customized AdSense codes, shortcodes, and code like "
|
353 |
-
"JavaScript, HTML or PHP."
|
354 |
msgstr ""
|
355 |
|
356 |
-
#: classes/
|
357 |
-
msgid "
|
358 |
msgstr ""
|
359 |
|
360 |
-
#: classes/
|
361 |
-
msgid "
|
362 |
msgstr ""
|
363 |
|
364 |
-
#: classes/
|
365 |
-
msgid "
|
366 |
msgstr ""
|
367 |
|
368 |
-
#: classes/
|
369 |
-
msgid "
|
370 |
msgstr ""
|
371 |
|
372 |
-
#: classes/
|
373 |
-
|
|
|
374 |
msgstr ""
|
375 |
|
376 |
-
#: classes/
|
377 |
-
msgid "
|
378 |
msgstr ""
|
379 |
|
380 |
-
#: classes/
|
381 |
-
msgid "
|
382 |
msgstr ""
|
383 |
|
384 |
-
#: classes/
|
385 |
-
msgid "
|
|
|
|
|
386 |
msgstr ""
|
387 |
|
388 |
-
#: classes/
|
389 |
-
|
|
|
390 |
msgstr ""
|
391 |
|
392 |
-
#: classes/
|
393 |
-
|
|
|
394 |
msgstr ""
|
395 |
|
396 |
-
#: classes/
|
397 |
-
msgid "
|
398 |
msgstr ""
|
399 |
|
400 |
-
#: classes/
|
401 |
-
msgid ""
|
402 |
-
"Choose on which individual posts, pages and public post type pages you want "
|
403 |
-
"to display or hide ads."
|
404 |
msgstr ""
|
405 |
|
406 |
-
#: classes/
|
407 |
-
msgid "
|
408 |
msgstr ""
|
409 |
|
410 |
-
#: classes/
|
411 |
-
msgid "
|
|
|
|
|
412 |
msgstr ""
|
413 |
|
414 |
-
#: classes/
|
415 |
-
msgid "
|
|
|
|
|
416 |
msgstr ""
|
417 |
|
418 |
-
#: classes/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
419 |
msgid "Display ads based on age of the page."
|
420 |
msgstr ""
|
421 |
|
@@ -541,288 +721,202 @@ msgstr ""
|
|
541 |
msgid "days"
|
542 |
msgstr ""
|
543 |
|
544 |
-
#: classes/
|
545 |
-
|
546 |
-
msgid ""
|
547 |
-
"There is a new version of %1$s available. %2$sView version %3$s details%4$s."
|
548 |
msgstr ""
|
549 |
|
550 |
-
#: classes/
|
551 |
-
|
552 |
-
msgid ""
|
553 |
-
"There is a new version of %1$s available. %2$sView version %3$s details%4$s "
|
554 |
-
"or %5$supdate now%6$s."
|
555 |
msgstr ""
|
556 |
|
557 |
-
#: classes/
|
558 |
-
msgid "
|
559 |
msgstr ""
|
560 |
|
561 |
-
#: classes/
|
562 |
-
msgid "
|
563 |
msgstr ""
|
564 |
|
565 |
-
#: classes/
|
566 |
-
msgid "
|
567 |
msgstr ""
|
568 |
|
569 |
-
#: classes/
|
570 |
-
msgid "
|
571 |
msgstr ""
|
572 |
|
573 |
-
#: classes/
|
574 |
-
msgid "
|
575 |
msgstr ""
|
576 |
|
577 |
-
#: classes/
|
578 |
-
msgid "
|
579 |
msgstr ""
|
580 |
|
581 |
-
#: classes/
|
582 |
-
|
583 |
-
msgid "
|
584 |
msgstr ""
|
585 |
|
586 |
-
#: classes/
|
587 |
-
|
|
|
588 |
msgstr ""
|
589 |
|
590 |
-
#: classes/
|
591 |
-
msgid "
|
592 |
msgstr ""
|
593 |
|
594 |
-
#: classes/
|
595 |
-
msgid "
|
596 |
msgstr ""
|
597 |
|
598 |
-
#: classes/
|
599 |
-
|
600 |
-
msgid "<em>%s</em> filter does not exist"
|
601 |
msgstr ""
|
602 |
|
603 |
-
#: classes/
|
604 |
-
msgid "Ads
|
605 |
msgstr ""
|
606 |
|
607 |
-
#: classes/
|
608 |
-
msgid "
|
609 |
msgstr ""
|
610 |
|
611 |
-
#: classes/
|
612 |
-
|
|
|
613 |
msgstr ""
|
614 |
|
615 |
-
#: classes/
|
616 |
-
|
|
|
|
|
|
|
617 |
msgstr ""
|
618 |
|
619 |
-
#: classes/
|
620 |
-
|
|
|
|
|
621 |
msgstr ""
|
622 |
|
623 |
-
#: classes/
|
624 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
625 |
msgstr ""
|
626 |
|
627 |
-
#: classes/
|
628 |
-
|
629 |
-
msgid "Ad IDs: %s"
|
630 |
msgstr ""
|
631 |
|
632 |
-
#: classes/
|
633 |
-
|
634 |
-
msgid "Visible ads should not use the Header placement: %s"
|
635 |
msgstr ""
|
636 |
|
637 |
-
#:
|
638 |
-
msgid "
|
639 |
msgstr ""
|
640 |
|
641 |
-
#:
|
642 |
-
msgid "
|
643 |
msgstr ""
|
644 |
|
645 |
-
#:
|
646 |
-
|
647 |
-
|
|
|
648 |
msgstr ""
|
649 |
|
650 |
-
#:
|
651 |
-
|
652 |
-
msgid "The following responsive AdSense ads are not showing up: %s"
|
653 |
msgstr ""
|
654 |
|
655 |
-
#:
|
656 |
-
msgid "
|
657 |
msgstr ""
|
658 |
|
659 |
-
#:
|
660 |
-
msgid "
|
661 |
msgstr ""
|
662 |
|
663 |
-
#:
|
664 |
-
msgid "
|
665 |
msgstr ""
|
666 |
|
667 |
-
#:
|
668 |
-
msgid "
|
669 |
msgstr ""
|
670 |
|
671 |
-
#:
|
672 |
-
msgid "
|
673 |
msgstr ""
|
674 |
|
675 |
-
#:
|
676 |
-
|
677 |
-
msgid "Show %d more notifications"
|
678 |
msgstr ""
|
679 |
|
680 |
-
|
681 |
-
|
|
|
|
|
682 |
msgstr ""
|
683 |
|
684 |
-
#:
|
685 |
-
msgid "
|
686 |
msgstr ""
|
687 |
|
688 |
-
#:
|
689 |
msgid ""
|
690 |
-
"
|
691 |
-
"
|
692 |
-
msgstr ""
|
693 |
-
|
694 |
-
#: classes/visitor-conditions.php:40
|
695 |
-
msgid "device"
|
696 |
msgstr ""
|
697 |
|
698 |
-
#:
|
699 |
-
|
|
|
700 |
msgstr ""
|
701 |
|
702 |
-
#:
|
703 |
-
msgid "
|
704 |
msgstr ""
|
705 |
|
706 |
-
#:
|
707 |
-
msgid "
|
708 |
msgstr ""
|
709 |
|
710 |
-
|
|
|
711 |
#, php-format
|
712 |
-
msgid ""
|
713 |
-
"Display ads by the available space on the device or target tablets with the "
|
714 |
-
"<a href=\"%s\" target=\"_blank\">Responsive add-on</a>"
|
715 |
-
msgstr ""
|
716 |
-
|
717 |
-
#: classes/visitor-conditions.php:257
|
718 |
-
msgid "browser language"
|
719 |
-
msgstr ""
|
720 |
-
|
721 |
-
#: classes/visitor-conditions.php:258
|
722 |
-
msgid "cookie"
|
723 |
-
msgstr ""
|
724 |
-
|
725 |
-
#: classes/visitor-conditions.php:259
|
726 |
-
msgid "max. ad clicks"
|
727 |
-
msgstr ""
|
728 |
-
|
729 |
-
#: classes/visitor-conditions.php:260
|
730 |
-
msgid "max. ad impressions"
|
731 |
-
msgstr ""
|
732 |
-
|
733 |
-
#: classes/visitor-conditions.php:261
|
734 |
-
msgid "new visitor"
|
735 |
-
msgstr ""
|
736 |
-
|
737 |
-
#: classes/visitor-conditions.php:262
|
738 |
-
msgid "page impressions"
|
739 |
-
msgstr ""
|
740 |
-
|
741 |
-
#: classes/visitor-conditions.php:263
|
742 |
-
msgid "referrer url"
|
743 |
-
msgstr ""
|
744 |
-
|
745 |
-
#: classes/visitor-conditions.php:264
|
746 |
-
msgid "user agent"
|
747 |
-
msgstr ""
|
748 |
-
|
749 |
-
#: classes/visitor-conditions.php:265
|
750 |
-
msgid "user can (capabilities)"
|
751 |
-
msgstr ""
|
752 |
-
|
753 |
-
#: classes/visitor-conditions.php:266
|
754 |
-
msgid "user role"
|
755 |
-
msgstr ""
|
756 |
-
|
757 |
-
#: classes/visitor-conditions.php:269
|
758 |
-
msgid "geo location"
|
759 |
-
msgstr ""
|
760 |
-
|
761 |
-
#: classes/visitor-conditions.php:272
|
762 |
-
msgid "browser width"
|
763 |
-
msgstr ""
|
764 |
-
|
765 |
-
#: classes/widget.php:22
|
766 |
-
msgid "Display Ads and Ad Groups."
|
767 |
-
msgstr ""
|
768 |
-
|
769 |
-
#: classes/widget.php:70
|
770 |
-
msgid "Title:"
|
771 |
-
msgstr ""
|
772 |
-
|
773 |
-
#: classes/widget.php:76 admin/includes/class-shortcode-creator.php:82
|
774 |
-
#: modules/gutenberg/includes/class-gutenberg.php:77
|
775 |
-
msgid "--empty--"
|
776 |
-
msgstr ""
|
777 |
-
|
778 |
-
#: classes/widget.php:78 admin/includes/class-menu.php:95
|
779 |
-
#: admin/includes/class-shortcode-creator.php:98 admin/views/placements.php:36
|
780 |
-
#: modules/gutenberg/includes/class-gutenberg.php:81
|
781 |
-
#: modules/import-export/views/page.php:25
|
782 |
-
msgid "Placements"
|
783 |
-
msgstr ""
|
784 |
-
|
785 |
-
#: classes/widget.php:85 admin/includes/class-shortcode-creator.php:91
|
786 |
-
#: admin/views/placement-form.php:45 admin/views/placements-item.php:4
|
787 |
-
#: modules/gutenberg/includes/class-gutenberg.php:80
|
788 |
-
msgid "Ad Groups"
|
789 |
msgstr ""
|
790 |
|
791 |
-
#:
|
792 |
-
|
793 |
-
|
794 |
-
#: admin/views/ad-group-list-form-row.php:90
|
795 |
-
#: admin/views/ad-group-list-header.php:17 admin/views/placement-form.php:52
|
796 |
-
#: admin/views/placements-item.php:16
|
797 |
-
#: modules/gutenberg/includes/class-gutenberg.php:79
|
798 |
-
#: modules/import-export/views/page.php:23
|
799 |
-
msgid "Ads"
|
800 |
msgstr ""
|
801 |
|
802 |
-
#: includes/
|
803 |
-
|
|
|
804 |
msgstr ""
|
805 |
|
806 |
-
#:
|
807 |
-
|
|
|
808 |
msgstr ""
|
809 |
|
810 |
-
#:
|
|
|
|
|
811 |
msgid ""
|
812 |
-
"
|
813 |
-
"
|
814 |
-
msgstr ""
|
815 |
-
|
816 |
-
#: includes/array_ad_conditions.php:51
|
817 |
-
msgid "Category Archives"
|
818 |
-
msgstr ""
|
819 |
-
|
820 |
-
#: includes/array_ad_conditions.php:52
|
821 |
-
msgid "comma seperated IDs of category archives"
|
822 |
-
msgstr ""
|
823 |
-
|
824 |
-
#: includes/array_ad_conditions.php:57
|
825 |
-
msgid "Individual Posts, Pages and Public Post Types"
|
826 |
msgstr ""
|
827 |
|
828 |
#: public/class-advanced-ads.php:377
|
@@ -937,41 +1031,32 @@ msgid ""
|
|
937 |
"recommended. Please ask your hosting provider for more information."
|
938 |
msgstr ""
|
939 |
|
940 |
-
#: admin/includes/ad-health-notices.php:
|
941 |
-
#, php-format
|
942 |
-
msgid ""
|
943 |
-
"<strong>Autoptimize plugin detected</strong>. While this plugin is great for "
|
944 |
-
"site performance, it is known to alter code, including scripts from ad "
|
945 |
-
"networks. <a href=\"%s\" target=\"_blank\">Advanced Ads Pro</a> has a build-"
|
946 |
-
"in support for Autoptimize."
|
947 |
-
msgstr ""
|
948 |
-
|
949 |
-
#: admin/includes/ad-health-notices.php:63
|
950 |
#, php-format
|
951 |
msgid ""
|
952 |
"Plugins that are known to cause (partial) problems: <strong>%1$s</strong>. "
|
953 |
"<a href=\"%2$s\" target=\"_blank\">Learn more</a>."
|
954 |
msgstr ""
|
955 |
|
956 |
-
#: admin/includes/ad-health-notices.php:
|
957 |
#, php-format
|
958 |
msgid ""
|
959 |
"Missing PHP extensions could cause issues. Please ask your hosting provider "
|
960 |
"to enable them: %s"
|
961 |
msgstr ""
|
962 |
|
963 |
-
#: admin/includes/ad-health-notices.php:
|
964 |
#, php-format
|
965 |
msgid ""
|
966 |
"Ads are disabled for all or some pages. See \"disabled ads\" in <a "
|
967 |
"href=\"%s\">settings</a>."
|
968 |
msgstr ""
|
969 |
|
970 |
-
#: admin/includes/ad-health-notices.php:
|
971 |
msgid "Advanced Ads related constants enabled"
|
972 |
msgstr ""
|
973 |
|
974 |
-
#: admin/includes/ad-health-notices.php:
|
975 |
#, php-format
|
976 |
msgid ""
|
977 |
"Possible conflict between jQueryUI library, used by Advanced Ads and other "
|
@@ -979,7 +1064,7 @@ msgid ""
|
|
979 |
"to misfortunate formats in forms, but should not damage features."
|
980 |
msgstr ""
|
981 |
|
982 |
-
#: admin/includes/ad-health-notices.php:
|
983 |
#, php-format
|
984 |
msgid ""
|
985 |
"Some assets were changed. Please <strong>rebuild the asset folder</strong> "
|
@@ -987,262 +1072,330 @@ msgid ""
|
|
987 |
"disguise."
|
988 |
msgstr ""
|
989 |
|
990 |
-
#: admin/includes/ad-health-notices.php:
|
991 |
msgid ""
|
992 |
"One or more license keys for <strong>Advanced Ads add-ons are invalid or "
|
993 |
"missing</strong>."
|
994 |
msgstr ""
|
995 |
|
996 |
-
#: admin/includes/ad-health-notices.php:
|
997 |
#, php-format
|
998 |
msgid "Please add valid license keys <a href=\"%s\">here</a>."
|
999 |
msgstr ""
|
1000 |
|
1001 |
-
#: admin/includes/ad-health-notices.php:
|
1002 |
msgid "Ad expired"
|
1003 |
msgstr ""
|
1004 |
|
1005 |
-
#: admin/includes/ad-health-notices.php:
|
1006 |
-
#: admin/includes/ad-health-notices.php:
|
1007 |
-
#: modules/gadsense/includes/class-mapi.php:
|
1008 |
msgid "Last AdSense account connection attempt failed."
|
1009 |
msgstr ""
|
1010 |
|
1011 |
#. %1$s is the opening a tag and %2$s the closing one.
|
1012 |
-
#: admin/includes/ad-health-notices.php:
|
1013 |
#, php-format
|
1014 |
msgid "Create a new AdSense account %1$shere%2$s."
|
1015 |
msgstr ""
|
1016 |
|
1017 |
-
#: admin/includes/ad-health-notices.php:
|
1018 |
-
#: admin/includes/ad-health-notices.php:
|
1019 |
-
#: admin/includes/ad-health-notices.php:
|
1020 |
msgid ""
|
1021 |
"One of your sites is missing the AdSense publisher ID in the ads.txt file."
|
1022 |
msgstr ""
|
1023 |
|
1024 |
-
#: admin/includes/ad-health-notices.php:
|
1025 |
-
#: admin/includes/ad-health-notices.php:
|
1026 |
-
#: admin/includes/ad-health-notices.php:
|
1027 |
msgctxt "related to ads.txt file"
|
1028 |
msgid "Create one now."
|
1029 |
msgstr ""
|
1030 |
|
1031 |
#. %s is a filter hook, here `the_content`
|
1032 |
-
#: admin/includes/ad-health-notices.php:
|
1033 |
#, php-format
|
1034 |
msgid "<strong>%s</strong> filter found multiple times."
|
1035 |
msgstr ""
|
1036 |
|
1037 |
-
#: admin/includes/ad-health-notices.php:
|
1038 |
msgid "Advanced Ads uses the outermost of them."
|
1039 |
msgstr ""
|
1040 |
|
1041 |
#. %1$s is a plugin name, %2$s is the opening a tag and %3$s the closing one.
|
1042 |
-
#: admin/includes/ad-health-notices.php:
|
1043 |
-
#: admin/includes/ad-health-notices.php:
|
1044 |
-
#: admin/includes/ad-health-notices.php:
|
1045 |
-
#: admin/includes/ad-health-notices.php:
|
1046 |
#, php-format
|
1047 |
msgid "Learn how to integrate %1$s with Advanced Ads %2$shere%3$s."
|
1048 |
msgstr ""
|
1049 |
|
1050 |
#. %s is a service or plugin name.
|
1051 |
-
#: admin/includes/ad-health-notices.php:
|
1052 |
#: modules/ads-txt/admin/class-advanced-ads-ads-txt-admin.php:196
|
1053 |
#, php-format
|
1054 |
msgid "%s detected."
|
1055 |
msgstr ""
|
1056 |
|
1057 |
-
#: admin/includes/ad-health-notices.php:
|
1058 |
msgid "Learn how this might impact your ad setup."
|
1059 |
msgstr ""
|
1060 |
|
1061 |
-
#: admin/includes/ad-health-notices.php:
|
1062 |
#, php-format
|
1063 |
msgid ""
|
1064 |
"Advanced Ads handles your ads.txt file automatically. You might be able to "
|
1065 |
"<strong>remove %1$s</strong>."
|
1066 |
msgstr ""
|
1067 |
|
1068 |
-
#: admin/includes/ad-health-notices.php:
|
1069 |
msgid "Advanced Ads handles header and footer codes."
|
1070 |
msgstr ""
|
1071 |
|
1072 |
-
#: admin/includes/ad-health-notices.php:
|
1073 |
#, php-format
|
1074 |
msgid "You might be able to <strong>remove %1$s</strong>."
|
1075 |
msgstr ""
|
1076 |
|
1077 |
-
#: admin/includes/ad-health-notices.php:
|
1078 |
msgid "Learn how."
|
1079 |
msgstr ""
|
1080 |
|
1081 |
-
#: admin/includes/class-ad-
|
1082 |
-
msgid "Ad
|
1083 |
msgstr ""
|
1084 |
|
1085 |
-
#: admin/includes/class-ad-
|
1086 |
-
|
1087 |
-
#, php-format
|
1088 |
-
msgid "starts %s"
|
1089 |
msgstr ""
|
1090 |
|
1091 |
-
#: admin/includes/class-ad-
|
1092 |
-
|
1093 |
-
#, php-format
|
1094 |
-
msgid "expires %s"
|
1095 |
msgstr ""
|
1096 |
|
1097 |
-
#: admin/includes/class-ad-
|
1098 |
-
#: admin/views/ad-list-timing-column.php:30
|
1099 |
#, php-format
|
1100 |
-
msgid "
|
1101 |
-
|
|
|
|
|
1102 |
|
1103 |
-
#: admin/includes/class-ad-
|
1104 |
#, php-format
|
1105 |
-
msgid "
|
1106 |
-
|
|
|
|
|
1107 |
|
1108 |
-
#: admin/includes/class-ad-
|
1109 |
-
|
1110 |
-
|
|
|
|
|
|
|
1111 |
|
1112 |
-
#: admin/includes/class-ad-
|
1113 |
#, php-format
|
1114 |
-
msgid "
|
1115 |
-
|
|
|
|
|
1116 |
|
1117 |
-
#: admin/includes/class-ad-
|
1118 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1119 |
msgstr ""
|
1120 |
|
1121 |
-
|
1122 |
-
|
|
|
|
|
1123 |
msgstr ""
|
1124 |
|
1125 |
-
#: admin/includes/class-ad-
|
1126 |
-
msgid "
|
1127 |
msgstr ""
|
1128 |
|
1129 |
-
#: admin/includes/class-ad-
|
1130 |
-
msgid "
|
1131 |
msgstr ""
|
1132 |
|
1133 |
-
#: admin/includes/class-ad-
|
1134 |
-
|
|
|
1135 |
msgstr ""
|
1136 |
|
1137 |
-
|
1138 |
-
|
|
|
1139 |
msgstr ""
|
1140 |
|
1141 |
-
#: admin/includes/class-ad-
|
1142 |
-
msgid "
|
1143 |
msgstr ""
|
1144 |
|
1145 |
-
#: admin/includes/class-ad-
|
1146 |
-
msgid "
|
|
|
|
|
1147 |
msgstr ""
|
1148 |
|
1149 |
-
#: admin/includes/
|
1150 |
-
|
1151 |
-
|
|
|
1152 |
msgstr ""
|
1153 |
|
1154 |
-
#: admin/includes/
|
1155 |
-
|
1156 |
-
msgid "You don’t have permission to change the ad groups"
|
1157 |
msgstr ""
|
1158 |
|
1159 |
-
#: admin/includes/
|
1160 |
-
msgid "
|
|
|
|
|
1161 |
msgstr ""
|
1162 |
|
1163 |
-
#: admin/includes/
|
1164 |
-
msgid "
|
1165 |
msgstr ""
|
1166 |
|
1167 |
-
#: admin/includes/
|
1168 |
-
msgid "
|
|
|
|
|
1169 |
msgstr ""
|
1170 |
|
1171 |
-
#: admin/includes/
|
1172 |
-
|
|
|
1173 |
msgstr ""
|
1174 |
|
1175 |
-
#: admin/includes/
|
1176 |
-
|
1177 |
-
|
1178 |
-
msgid_plural "%s ads updated."
|
1179 |
-
msgstr[0] ""
|
1180 |
-
msgstr[1] ""
|
1181 |
|
1182 |
-
#: admin/includes/
|
1183 |
-
|
1184 |
-
|
1185 |
-
|
1186 |
-
msgstr
|
1187 |
-
msgstr[1] ""
|
1188 |
|
1189 |
-
|
1190 |
-
|
1191 |
-
msgid "
|
1192 |
-
|
1193 |
-
msgstr[0] ""
|
1194 |
-
msgstr[1] ""
|
1195 |
|
1196 |
-
#: admin/includes/
|
1197 |
-
|
1198 |
-
|
1199 |
-
|
1200 |
-
|
1201 |
-
|
|
|
1202 |
|
1203 |
-
|
|
|
1204 |
#, php-format
|
1205 |
-
msgid "
|
1206 |
-
|
1207 |
-
|
1208 |
-
|
|
|
|
|
1209 |
|
1210 |
-
#: admin/includes/class-
|
1211 |
-
|
|
|
|
|
1212 |
msgstr ""
|
1213 |
|
1214 |
-
|
1215 |
-
|
1216 |
-
#, php-format
|
1217 |
-
msgid "Ad restored to revision from %s"
|
1218 |
msgstr ""
|
1219 |
|
1220 |
-
#: admin/includes/class-
|
1221 |
-
msgid "
|
1222 |
msgstr ""
|
1223 |
|
1224 |
-
#: admin/includes/class-
|
1225 |
-
msgid "Ad
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1226 |
msgstr ""
|
1227 |
|
1228 |
-
#: admin/includes/class-
|
1229 |
#, php-format
|
1230 |
-
msgid "
|
1231 |
msgstr ""
|
1232 |
|
1233 |
-
|
1234 |
-
|
1235 |
-
msgid "M j, Y @ G:i"
|
1236 |
msgstr ""
|
1237 |
|
1238 |
-
#: admin/includes/class-
|
1239 |
-
msgid "
|
1240 |
msgstr ""
|
1241 |
|
1242 |
-
#: admin/includes/class-
|
1243 |
-
msgid ""
|
1244 |
-
|
1245 |
-
|
|
|
|
|
|
|
1246 |
msgstr ""
|
1247 |
|
1248 |
#: admin/includes/class-licenses.php:90
|
@@ -1289,45 +1442,66 @@ msgid "License is invalid. Reason: %s"
|
|
1289 |
msgstr ""
|
1290 |
|
1291 |
#. %s is a list of server information like IP address. Just keep it as is.
|
1292 |
-
#: admin/includes/class-licenses.php:
|
1293 |
#, php-format
|
1294 |
msgid ""
|
1295 |
"Your request was blocked by our firewall. Please send us the following "
|
1296 |
"information to unblock you: %s."
|
1297 |
msgstr ""
|
1298 |
|
1299 |
-
#: admin/includes/class-licenses.php:
|
1300 |
msgid "Error while trying to disable the license. Please contact support."
|
1301 |
msgstr ""
|
1302 |
|
1303 |
-
#: admin/includes/class-licenses.php:
|
1304 |
msgid "License couldn’t be deactivated. Please try again later."
|
1305 |
msgstr ""
|
1306 |
|
1307 |
-
#: admin/includes/class-licenses.php:
|
1308 |
#, php-format
|
1309 |
msgid "Download failed. <a href=\"%s\">Click here to try another method</a>."
|
1310 |
msgstr ""
|
1311 |
|
1312 |
-
#: admin/includes/class-licenses.php:
|
1313 |
#, php-format
|
1314 |
msgid ""
|
1315 |
"Download failed. <a href=\"%s\" target=\"_blank\">Click here to learn why</a>"
|
1316 |
"."
|
1317 |
msgstr ""
|
1318 |
|
1319 |
-
#: admin/includes/
|
1320 |
-
|
1321 |
-
|
1322 |
-
msgid "Responsive"
|
1323 |
msgstr ""
|
1324 |
|
1325 |
-
#: admin/includes/
|
1326 |
-
|
|
|
1327 |
msgstr ""
|
1328 |
|
1329 |
-
#: admin/includes/
|
1330 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1331 |
msgstr ""
|
1332 |
|
1333 |
#: admin/includes/class-menu.php:58 admin/includes/class-menu.php:74
|
@@ -1370,96 +1544,285 @@ msgid ""
|
|
1370 |
"deleted?"
|
1371 |
msgstr ""
|
1372 |
|
1373 |
-
#: admin/includes/class-
|
1374 |
-
msgid "
|
1375 |
msgstr ""
|
1376 |
|
1377 |
-
#: admin/includes/class-
|
1378 |
-
|
1379 |
-
msgid "AdSense Earnings"
|
1380 |
msgstr ""
|
1381 |
|
1382 |
-
#: admin/includes/class-
|
1383 |
-
msgid "
|
1384 |
msgstr ""
|
1385 |
|
1386 |
-
#: admin/includes/class-
|
1387 |
-
msgid "
|
1388 |
msgstr ""
|
1389 |
|
1390 |
-
#: admin/includes/class-
|
1391 |
-
msgid "
|
1392 |
msgstr ""
|
1393 |
|
1394 |
-
#: admin/includes/class-
|
1395 |
-
msgid "
|
1396 |
msgstr ""
|
1397 |
|
1398 |
-
#: admin/includes/class-
|
1399 |
-
|
1400 |
-
#: admin/views/ad-output-metabox.php:82
|
1401 |
-
#: modules/ads-txt/admin/views/setting-create.php:11
|
1402 |
-
#: modules/privacy/admin/views/setting-enable.php:2
|
1403 |
-
msgid "Manual"
|
1404 |
msgstr ""
|
1405 |
|
1406 |
-
#: admin/includes/class-
|
1407 |
-
msgid "
|
1408 |
msgstr ""
|
1409 |
|
1410 |
-
#: admin/includes/class-
|
1411 |
-
|
1412 |
-
msgid "Disable"
|
1413 |
msgstr ""
|
1414 |
|
1415 |
-
#: admin/includes/class-
|
1416 |
-
msgid "
|
1417 |
msgstr ""
|
1418 |
|
1419 |
-
#: admin/includes/class-
|
1420 |
-
msgid "
|
1421 |
msgstr ""
|
1422 |
|
1423 |
-
#: admin/includes/class-
|
1424 |
-
|
1425 |
-
msgid "%d ads – <a href=\"%s\">manage</a> - <a href=\"%s\">new</a>"
|
1426 |
msgstr ""
|
1427 |
|
1428 |
-
#: admin/includes/class-
|
1429 |
-
msgid "
|
1430 |
msgstr ""
|
1431 |
|
1432 |
-
#: admin/includes/class-
|
1433 |
-
msgid "
|
1434 |
msgstr ""
|
1435 |
|
1436 |
-
#: admin/includes/class-
|
1437 |
-
msgid "
|
1438 |
msgstr ""
|
1439 |
|
1440 |
-
|
1441 |
-
|
1442 |
-
msgid "Latest posts on wpadvancedads.com"
|
1443 |
msgstr ""
|
1444 |
|
1445 |
-
#: admin/includes/class-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1446 |
#, php-format
|
1447 |
msgid ""
|
1448 |
-
"
|
1449 |
-
"
|
1450 |
msgstr ""
|
1451 |
|
1452 |
-
#: admin/includes/class-
|
|
|
1453 |
msgid ""
|
1454 |
-
"
|
|
|
1455 |
msgstr ""
|
1456 |
|
1457 |
-
#: admin/includes/class-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1458 |
#, php-format
|
1459 |
msgid ""
|
1460 |
-
"
|
1461 |
-
"
|
1462 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1463 |
msgstr ""
|
1464 |
|
1465 |
#: admin/includes/class-overview-widgets.php:45
|
@@ -1681,489 +2044,141 @@ msgstr ""
|
|
1681 |
msgid "Get this add-on"
|
1682 |
msgstr ""
|
1683 |
|
1684 |
-
#: admin/
|
1685 |
-
msgid "
|
1686 |
msgstr ""
|
1687 |
|
1688 |
-
#: admin/
|
1689 |
-
msgid "
|
1690 |
msgstr ""
|
1691 |
|
1692 |
-
#: admin/
|
1693 |
-
msgid "
|
1694 |
msgstr ""
|
1695 |
|
1696 |
-
#: admin/
|
1697 |
-
msgid "
|
1698 |
msgstr ""
|
1699 |
|
1700 |
-
#: admin/
|
1701 |
-
msgid "
|
1702 |
msgstr ""
|
1703 |
|
1704 |
-
#: admin/
|
1705 |
-
msgid "
|
1706 |
msgstr ""
|
1707 |
|
1708 |
-
#: admin/
|
1709 |
-
msgid "
|
1710 |
msgstr ""
|
1711 |
|
1712 |
-
#: admin/
|
1713 |
-
msgid "
|
1714 |
msgstr ""
|
1715 |
|
1716 |
-
#: admin/
|
1717 |
-
msgid "
|
1718 |
-
msgstr ""
|
1719 |
-
|
1720 |
-
#: admin/includes/class-settings.php:194
|
1721 |
-
msgid "ID prefix"
|
1722 |
-
msgstr ""
|
1723 |
-
|
1724 |
-
#: admin/includes/class-settings.php:202
|
1725 |
-
msgid "Allow editors to manage ads"
|
1726 |
-
msgstr ""
|
1727 |
-
|
1728 |
-
#: admin/includes/class-settings.php:210
|
1729 |
-
msgid "Ad label"
|
1730 |
-
msgstr ""
|
1731 |
-
|
1732 |
-
#: admin/includes/class-settings.php:219
|
1733 |
-
msgid "Open links in a new window"
|
1734 |
-
msgstr ""
|
1735 |
-
|
1736 |
-
#: admin/includes/class-settings.php:227
|
1737 |
-
msgid "Use advanced JavaScript"
|
1738 |
-
msgstr ""
|
1739 |
-
|
1740 |
-
#: admin/includes/class-settings.php:237
|
1741 |
-
msgid "Delete data on uninstall"
|
1742 |
-
msgstr ""
|
1743 |
-
|
1744 |
-
#: admin/includes/class-settings.php:247
|
1745 |
-
msgid "Disable shortcode button"
|
1746 |
-
msgstr ""
|
1747 |
-
|
1748 |
-
#: admin/includes/class-settings.php:286
|
1749 |
-
msgid "Pro"
|
1750 |
-
msgstr ""
|
1751 |
-
|
1752 |
-
#: admin/includes/class-settings.php:302 admin/views/pitch-tracking.php:2
|
1753 |
-
msgid "Tracking"
|
1754 |
-
msgstr ""
|
1755 |
-
|
1756 |
-
#: admin/includes/class-settings.php:350
|
1757 |
-
#, php-format
|
1758 |
-
msgid ""
|
1759 |
-
"Enter license keys for our powerful <a href=\"%s\" target=\"_blank\">add-"
|
1760 |
-
"ons</a>."
|
1761 |
-
msgstr ""
|
1762 |
-
|
1763 |
-
#: admin/includes/class-settings.php:351
|
1764 |
-
#, php-format
|
1765 |
-
msgid ""
|
1766 |
-
"See also <a href=\"%s\" target=\"_blank\">Issues and questions about "
|
1767 |
-
"licenses</a>."
|
1768 |
-
msgstr ""
|
1769 |
-
|
1770 |
-
#: admin/includes/class-settings.php:363
|
1771 |
-
msgid "Are you missing something?"
|
1772 |
-
msgstr ""
|
1773 |
-
|
1774 |
-
#: admin/includes/class-settings.php:431
|
1775 |
-
msgid "Choose the roles a user must have in order to not see any ads."
|
1776 |
-
msgstr ""
|
1777 |
-
|
1778 |
-
#: admin/includes/class-settings.php:445
|
1779 |
-
msgid ""
|
1780 |
-
"<strong>notice: </strong>the file is currently enabled by an add-on that "
|
1781 |
-
"needs it."
|
1782 |
-
msgstr ""
|
1783 |
-
|
1784 |
-
#: admin/includes/class-settings.php:448
|
1785 |
-
#, php-format
|
1786 |
-
msgid ""
|
1787 |
-
"Enable advanced JavaScript functions (<a href=\"%s\" target=\"_blank\">"
|
1788 |
-
"here</a>). Some features and add-ons might override this setting if they "
|
1789 |
-
"need features from this file."
|
1790 |
-
msgstr ""
|
1791 |
-
|
1792 |
-
#: admin/includes/class-settings.php:468
|
1793 |
-
msgid ""
|
1794 |
-
"Some plugins and themes trigger ad injections where it shouldn’t happen. "
|
1795 |
-
"Therefore, Advanced Ads ignores injected placements on non-singular pages "
|
1796 |
-
"and outside the loop. However, this can cause problems with some themes. Set "
|
1797 |
-
"this option to -1 in order to enable unlimited ad injection at your own risk,"
|
1798 |
-
" set it to 0 to keep it disabled or choose a positive number to enable the "
|
1799 |
-
"injection only in the first x posts on your archive pages."
|
1800 |
-
msgstr ""
|
1801 |
-
|
1802 |
-
#: admin/includes/class-settings.php:484
|
1803 |
-
msgid ""
|
1804 |
-
"Please check your post content. A priority of 10 and below might cause "
|
1805 |
-
"issues (wpautop function might run twice)."
|
1806 |
-
msgstr ""
|
1807 |
-
|
1808 |
-
#: admin/includes/class-settings.php:486
|
1809 |
-
msgid ""
|
1810 |
-
"Play with this value in order to change the priority of the injected ads "
|
1811 |
-
"compared to other auto injected elements in the post content."
|
1812 |
-
msgstr ""
|
1813 |
-
|
1814 |
-
#: admin/includes/class-settings.php:500
|
1815 |
-
msgid ""
|
1816 |
-
"Advanced Ads ignores paragraphs and other elements in containers when "
|
1817 |
-
"injecting ads into the post content. Check this option to ignore this "
|
1818 |
-
"limitation and ads might show up again."
|
1819 |
-
msgstr ""
|
1820 |
-
|
1821 |
-
#: admin/includes/class-settings.php:516
|
1822 |
-
msgid "Read this first"
|
1823 |
-
msgstr ""
|
1824 |
-
|
1825 |
-
#: admin/includes/class-settings.php:517
|
1826 |
-
msgid "Hide ads from crawlers, bots and empty user agents."
|
1827 |
-
msgstr ""
|
1828 |
-
|
1829 |
-
#: admin/includes/class-settings.php:530
|
1830 |
-
msgid "Pro feature"
|
1831 |
-
msgstr ""
|
1832 |
-
|
1833 |
-
#. %1$s is a starting <a> tag and %2$s a closing one
|
1834 |
-
#: admin/includes/class-settings.php:548
|
1835 |
-
#, php-format
|
1836 |
-
msgid ""
|
1837 |
-
"Disable %1$sAd Health%2$s in frontend and backend, warnings and internal "
|
1838 |
-
"notices like tips, tutorials, email newsletters and update notices."
|
1839 |
-
msgstr ""
|
1840 |
-
|
1841 |
-
#: admin/includes/class-settings.php:566
|
1842 |
-
msgid ""
|
1843 |
-
"Prefix of class or id attributes in the frontend. Change it if you don’t "
|
1844 |
-
"want <strong>ad blockers</strong> to mark these blocks as ads.<br/>You might "
|
1845 |
-
"need to <strong>rewrite css rules afterwards</strong>."
|
1846 |
-
msgstr ""
|
1847 |
-
|
1848 |
-
#: admin/includes/class-settings.php:585
|
1849 |
-
msgid "Allow editors to also manage and publish ads."
|
1850 |
-
msgstr ""
|
1851 |
-
|
1852 |
-
#: admin/includes/class-settings.php:586
|
1853 |
-
#, php-format
|
1854 |
-
msgid ""
|
1855 |
-
"You can assign different ad-related roles on a user basis with <a "
|
1856 |
-
"href=\"%s\" target=\"_blank\">Advanced Ads Pro</a>."
|
1857 |
-
msgstr ""
|
1858 |
-
|
1859 |
-
#: admin/includes/class-settings.php:597
|
1860 |
-
msgctxt "label before ads"
|
1861 |
-
msgid "Advertisements"
|
1862 |
-
msgstr ""
|
1863 |
-
|
1864 |
-
#: admin/includes/class-settings.php:606
|
1865 |
-
msgid "Displayed above ads."
|
1866 |
-
msgstr ""
|
1867 |
-
|
1868 |
-
#: admin/includes/class-settings.php:642
|
1869 |
-
msgid "Clean up all data related to Advanced Ads when removing the plugin."
|
1870 |
-
msgstr ""
|
1871 |
-
|
1872 |
-
#: admin/includes/class-settings.php:655
|
1873 |
-
msgid "Disable shortcode button in visual editor."
|
1874 |
-
msgstr ""
|
1875 |
-
|
1876 |
-
#: admin/includes/class-shortcode-creator.php:155
|
1877 |
-
#, php-format
|
1878 |
-
msgid ""
|
1879 |
-
"Please, either switch off your ad blocker or disable the shortcode button in "
|
1880 |
-
"the <a href=\"%s\" target=\"_blank\">settings</a>."
|
1881 |
-
msgstr ""
|
1882 |
-
|
1883 |
-
#: admin/includes/notices.php:15
|
1884 |
-
msgid ""
|
1885 |
-
"Thank you for activating <strong>Advanced Ads</strong>. Would you like to "
|
1886 |
-
"receive the first steps via email?"
|
1887 |
-
msgstr ""
|
1888 |
-
|
1889 |
-
#: admin/includes/notices.php:16
|
1890 |
-
msgid "Yes, send it"
|
1891 |
-
msgstr ""
|
1892 |
-
|
1893 |
-
#: admin/includes/notices.php:22
|
1894 |
-
msgid ""
|
1895 |
-
"Thank you for using <strong>Advanced Ads</strong>. Stay informed and receive "
|
1896 |
-
"<strong>2 free add-ons</strong> for joining the newsletter."
|
1897 |
-
msgstr ""
|
1898 |
-
|
1899 |
-
#: admin/includes/notices.php:23
|
1900 |
-
msgid "Add me now"
|
1901 |
-
msgstr ""
|
1902 |
-
|
1903 |
-
#: admin/includes/notices.php:29
|
1904 |
-
msgid ""
|
1905 |
-
"Learn more about how and <strong>how much you can earn with AdSense</strong> "
|
1906 |
-
"and Advanced Ads from my dedicated newsletter."
|
1907 |
-
msgstr ""
|
1908 |
-
|
1909 |
-
#: admin/includes/notices.php:30 admin/views/notices/inline.php:3
|
1910 |
-
#: admin/views/notices/subscribe.php:3
|
1911 |
-
msgid "Subscribe me now"
|
1912 |
-
msgstr ""
|
1913 |
-
|
1914 |
-
#: admin/includes/notices.php:44
|
1915 |
-
msgid "… ads created using <strong>Advanced Ads</strong>."
|
1916 |
-
msgstr ""
|
1917 |
-
|
1918 |
-
#: admin/includes/notices.php:45
|
1919 |
-
msgid ""
|
1920 |
-
"Do you find the plugin useful and would like to thank us for updates, fixing "
|
1921 |
-
"bugs and improving your ad setup?"
|
1922 |
-
msgstr ""
|
1923 |
-
|
1924 |
-
#. this belongs to our message asking the user for a review. You can find a nice equivalent in your own language
|
1925 |
-
#: admin/includes/notices.php:48
|
1926 |
-
msgid "When you give 5-stars, an actual person does a little happy dance!"
|
1927 |
-
msgstr ""
|
1928 |
-
|
1929 |
-
#: admin/includes/notices.php:50
|
1930 |
-
msgid "Sure, I appreciate your work"
|
1931 |
-
msgstr ""
|
1932 |
-
|
1933 |
-
#: admin/includes/notices.php:51
|
1934 |
-
msgid "Yes, but help me first to solve a problem, please"
|
1935 |
-
msgstr ""
|
1936 |
-
|
1937 |
-
#. %s is a link. `30%%` is correct, please use exactly that value so that it shows "30%".
|
1938 |
-
#: admin/includes/notices.php:60
|
1939 |
-
#, php-format
|
1940 |
-
msgid ""
|
1941 |
-
"Our Black Friday / Cyber Monday Offer: <span style=\"font-weight: bold; font-"
|
1942 |
-
"size: 1.4em; color: green;\">-30%%</span> on all add-ons and All Access.<a "
|
1943 |
-
"class=\"button button-primary\" target=\"_blank\" href=\"%s\">Get All "
|
1944 |
-
"Access</a>"
|
1945 |
-
msgstr ""
|
1946 |
-
|
1947 |
-
#: admin/includes/shortcode-creator-l10n.php:10
|
1948 |
-
msgctxt "shortcode creator"
|
1949 |
-
msgid "Add an ad"
|
1950 |
-
msgstr ""
|
1951 |
-
|
1952 |
-
#: admin/includes/shortcode-creator-l10n.php:11
|
1953 |
-
msgctxt "shortcode creator"
|
1954 |
-
msgid "Add shortcode"
|
1955 |
-
msgstr ""
|
1956 |
-
|
1957 |
-
#: admin/includes/shortcode-creator-l10n.php:12
|
1958 |
-
msgctxt "shortcode creator"
|
1959 |
-
msgid "Cancel"
|
1960 |
-
msgstr ""
|
1961 |
-
|
1962 |
-
#: admin/views/ad-conditions-string-operators.php:12
|
1963 |
-
#: modules/privacy/admin/views/setting-consent-method.php:10
|
1964 |
-
msgid "contains"
|
1965 |
-
msgstr ""
|
1966 |
-
|
1967 |
-
#: admin/views/ad-conditions-string-operators.php:13
|
1968 |
-
msgid "starts with"
|
1969 |
-
msgstr ""
|
1970 |
-
|
1971 |
-
#: admin/views/ad-conditions-string-operators.php:14
|
1972 |
-
msgid "ends with"
|
1973 |
-
msgstr ""
|
1974 |
-
|
1975 |
-
#: admin/views/ad-conditions-string-operators.php:15
|
1976 |
-
msgid "matches"
|
1977 |
-
msgstr ""
|
1978 |
-
|
1979 |
-
#: admin/views/ad-conditions-string-operators.php:16
|
1980 |
-
msgid "matches regex"
|
1981 |
-
msgstr ""
|
1982 |
-
|
1983 |
-
#: admin/views/ad-conditions-string-operators.php:17
|
1984 |
-
msgid "does not contain"
|
1985 |
-
msgstr ""
|
1986 |
-
|
1987 |
-
#: admin/views/ad-conditions-string-operators.php:18
|
1988 |
-
msgid "does not start with"
|
1989 |
-
msgstr ""
|
1990 |
-
|
1991 |
-
#: admin/views/ad-conditions-string-operators.php:19
|
1992 |
-
msgid "does not end with"
|
1993 |
-
msgstr ""
|
1994 |
-
|
1995 |
-
#: admin/views/ad-conditions-string-operators.php:20
|
1996 |
-
msgid "does not match"
|
1997 |
-
msgstr ""
|
1998 |
-
|
1999 |
-
#: admin/views/ad-conditions-string-operators.php:21
|
2000 |
-
msgid "does not match regex"
|
2001 |
-
msgstr ""
|
2002 |
-
|
2003 |
-
#: admin/views/ad-group-edit.php:18
|
2004 |
-
msgid "You did not select an item for editing."
|
2005 |
-
msgstr ""
|
2006 |
-
|
2007 |
-
#: admin/views/ad-group-edit.php:39
|
2008 |
-
msgctxt "Taxonomy Name"
|
2009 |
-
msgid "Name"
|
2010 |
-
msgstr ""
|
2011 |
-
|
2012 |
-
#: admin/views/ad-group-edit.php:49
|
2013 |
-
msgctxt "Taxonomy Slug"
|
2014 |
-
msgid "Slug"
|
2015 |
-
msgstr ""
|
2016 |
-
|
2017 |
-
#: admin/views/ad-group-edit.php:54 admin/views/ad-output-metabox.php:63
|
2018 |
-
msgid ""
|
2019 |
-
"An id-like string with only letters in lower case, numbers, and hyphens."
|
2020 |
-
msgstr ""
|
2021 |
-
|
2022 |
-
#: admin/views/ad-group-edit.php:61
|
2023 |
-
msgctxt "Taxonomy Description"
|
2024 |
-
msgid "Description"
|
2025 |
-
msgstr ""
|
2026 |
-
|
2027 |
-
#: admin/views/ad-group-edit.php:73
|
2028 |
-
msgid "Create new Ad Group"
|
2029 |
-
msgstr ""
|
2030 |
-
|
2031 |
-
#: admin/views/ad-group-edit.php:75
|
2032 |
-
msgid "Update"
|
2033 |
-
msgstr ""
|
2034 |
-
|
2035 |
-
#: admin/views/ad-group-list-ads.php:14
|
2036 |
-
msgid "weight"
|
2037 |
-
msgstr ""
|
2038 |
-
|
2039 |
-
#: admin/views/ad-group-list-ads.php:37
|
2040 |
-
#: admin/views/conditions/conditions-form.php:35
|
2041 |
-
msgid "add"
|
2042 |
-
msgstr ""
|
2043 |
-
|
2044 |
-
#: admin/views/ad-group-list-form-row.php:29 admin/views/placements.php:42
|
2045 |
-
#: modules/gadsense/admin/views/external-ads-list.php:30
|
2046 |
-
#: modules/gadsense/admin/views/external-ads-list.php:43
|
2047 |
-
#: modules/privacy/admin/views/setting-consent-method.php:9
|
2048 |
-
msgid "Name"
|
2049 |
msgstr ""
|
2050 |
|
2051 |
-
#: admin/views/
|
2052 |
-
|
2053 |
-
msgid "Type"
|
2054 |
msgstr ""
|
2055 |
|
2056 |
-
#: admin/views/
|
2057 |
-
|
2058 |
-
|
|
|
2059 |
msgstr ""
|
2060 |
|
2061 |
-
#: admin/views/
|
2062 |
-
msgid "
|
2063 |
msgstr ""
|
2064 |
|
2065 |
-
#: admin/views/
|
2066 |
-
msgid "
|
2067 |
msgstr ""
|
2068 |
|
2069 |
-
#: admin/views/
|
2070 |
-
msgid "
|
2071 |
msgstr ""
|
2072 |
|
2073 |
-
#: admin/views/
|
2074 |
-
|
2075 |
-
msgid "shortcode"
|
2076 |
msgstr ""
|
2077 |
|
2078 |
-
#: admin/views/
|
2079 |
-
msgid "
|
2080 |
msgstr ""
|
2081 |
|
2082 |
-
#: admin/views/
|
2083 |
-
#, php-format
|
2084 |
msgid ""
|
2085 |
-
"
|
2086 |
-
"
|
2087 |
msgstr ""
|
2088 |
|
2089 |
-
#: admin/views/
|
2090 |
-
|
2091 |
-
msgid "Type: %s"
|
2092 |
msgstr ""
|
2093 |
|
2094 |
-
#: admin/views/
|
2095 |
#, php-format
|
2096 |
-
msgid "
|
2097 |
-
|
2098 |
-
|
2099 |
-
#: admin/views/ad-group.php:23
|
2100 |
-
msgid "Ad Group successfully created"
|
2101 |
-
msgstr ""
|
2102 |
-
|
2103 |
-
#: admin/views/ad-group.php:34
|
2104 |
-
msgid "Ad Groups successfully updated"
|
2105 |
msgstr ""
|
2106 |
|
2107 |
-
#: admin/views/
|
2108 |
#, php-format
|
2109 |
-
msgid "
|
|
|
|
|
|
|
2110 |
msgstr ""
|
2111 |
|
2112 |
-
#: admin/views/
|
2113 |
-
msgid "
|
2114 |
msgstr ""
|
2115 |
|
2116 |
-
#: admin/views/
|
2117 |
-
msgid "
|
2118 |
msgstr ""
|
2119 |
|
2120 |
-
#: admin/views/
|
2121 |
-
|
2122 |
-
"
|
2123 |
-
"display random ads in the frontend or run split tests, but also just for "
|
2124 |
-
"informational purposes. Not only can an Ad Groups have multiple ads, but an "
|
2125 |
-
"ad can belong to multiple ad groups."
|
2126 |
msgstr ""
|
2127 |
|
2128 |
-
#: admin/views/
|
2129 |
-
|
2130 |
-
msgid ""
|
2131 |
-
"Find more information about ad groups in the <a href=\"%s\" "
|
2132 |
-
"target=\"_blank\">manual</a>."
|
2133 |
msgstr ""
|
2134 |
|
2135 |
-
#: admin/views/ad-group.php:
|
2136 |
-
msgid "
|
2137 |
msgstr ""
|
2138 |
|
2139 |
-
#: admin/views/ad-
|
2140 |
-
|
2141 |
-
|
2142 |
-
"placement."
|
2143 |
msgstr ""
|
2144 |
|
2145 |
-
#: admin/views/
|
2146 |
-
|
2147 |
-
msgid "Reach out to <a href=\"%s\">support</a> to get help."
|
2148 |
msgstr ""
|
2149 |
|
2150 |
-
#: admin/views/
|
2151 |
-
|
2152 |
-
msgid "previous"
|
2153 |
msgstr ""
|
2154 |
|
2155 |
-
#: admin/views/
|
2156 |
-
|
2157 |
-
msgid "next"
|
2158 |
msgstr ""
|
2159 |
|
2160 |
-
#: admin/views/
|
2161 |
-
|
2162 |
-
msgid "save"
|
2163 |
msgstr ""
|
2164 |
|
2165 |
-
#: admin/views/
|
2166 |
-
msgid "
|
2167 |
msgstr ""
|
2168 |
|
2169 |
#: admin/views/ad-info-top.php:2
|
@@ -2174,924 +2189,853 @@ msgstr ""
|
|
2174 |
msgid "Stop Wizard"
|
2175 |
msgstr ""
|
2176 |
|
2177 |
-
#: admin/views/ad-info.php:
|
2178 |
-
|
2179 |
-
msgid "Ad Id: %s"
|
2180 |
msgstr ""
|
2181 |
|
2182 |
-
#: admin/views/
|
2183 |
-
msgid "
|
2184 |
msgstr ""
|
2185 |
|
2186 |
-
#: admin/views/
|
2187 |
-
#, php-format
|
2188 |
msgid ""
|
2189 |
-
"
|
2190 |
-
|
2191 |
-
|
2192 |
-
#: admin/views/ad-info.php:11
|
2193 |
-
msgid "click to change"
|
2194 |
-
msgstr ""
|
2195 |
-
|
2196 |
-
#: admin/views/ad-info.php:18
|
2197 |
-
msgid "Add a description"
|
2198 |
-
msgstr ""
|
2199 |
-
|
2200 |
-
#: admin/views/ad-info.php:22
|
2201 |
-
msgid "Internal description or your own notes about this ad."
|
2202 |
-
msgstr ""
|
2203 |
-
|
2204 |
-
#: admin/views/ad-list-filters.php:18
|
2205 |
-
msgid "all ad types"
|
2206 |
-
msgstr ""
|
2207 |
-
|
2208 |
-
#: admin/views/ad-list-filters.php:26
|
2209 |
-
msgid "all ad sizes"
|
2210 |
-
msgstr ""
|
2211 |
-
|
2212 |
-
#: admin/views/ad-list-filters.php:34
|
2213 |
-
msgid "all ad dates"
|
2214 |
-
msgstr ""
|
2215 |
-
|
2216 |
-
#: admin/views/ad-list-filters.php:42
|
2217 |
-
msgid "all ad groups"
|
2218 |
-
msgstr ""
|
2219 |
-
|
2220 |
-
#: admin/views/ad-list-no-ads.php:4
|
2221 |
-
msgid "Watch the “First Ad” Tutorial (Video)"
|
2222 |
-
msgstr ""
|
2223 |
-
|
2224 |
-
#: admin/views/ad-main-metabox.php:3
|
2225 |
-
msgid "No ad types defined"
|
2226 |
-
msgstr ""
|
2227 |
-
|
2228 |
-
#: admin/views/ad-output-metabox.php:1
|
2229 |
-
msgid "Everything connected to the ads layout and output."
|
2230 |
-
msgstr ""
|
2231 |
-
|
2232 |
-
#: admin/views/ad-output-metabox.php:4
|
2233 |
-
#: admin/views/placements-ad-label-position.php:1
|
2234 |
-
msgid "Position"
|
2235 |
-
msgstr ""
|
2236 |
-
|
2237 |
-
#: admin/views/ad-output-metabox.php:7
|
2238 |
-
msgid "- default -"
|
2239 |
-
msgstr ""
|
2240 |
-
|
2241 |
-
#: admin/views/ad-output-metabox.php:11
|
2242 |
-
#: admin/views/placements-ad-label-position.php:2
|
2243 |
-
#: admin/views/placements-ad-label-position.php:5
|
2244 |
-
#: admin/views/placements-ad-label.php:1 admin/views/placements-ad-label.php:4
|
2245 |
-
#: admin/views/placements.php:84
|
2246 |
-
#: modules/gadsense/includes/class-network-adsense.php:239
|
2247 |
-
msgid "default"
|
2248 |
-
msgstr ""
|
2249 |
-
|
2250 |
-
#: admin/views/ad-output-metabox.php:12
|
2251 |
-
#: admin/views/placements-ad-label-position.php:7
|
2252 |
-
#: admin/views/placements-ad-label-position.php:10
|
2253 |
-
msgid "left"
|
2254 |
msgstr ""
|
2255 |
|
2256 |
-
#: admin/views/
|
2257 |
-
|
2258 |
-
#: admin/views/placements-ad-label-position.php:14
|
2259 |
-
msgid "center"
|
2260 |
msgstr ""
|
2261 |
|
2262 |
-
#: admin/views/
|
2263 |
-
|
2264 |
-
#: admin/views/placements-ad-label-position.php:18
|
2265 |
-
msgid "right"
|
2266 |
msgstr ""
|
2267 |
|
2268 |
-
#: admin/views/
|
2269 |
msgid ""
|
2270 |
-
"
|
2271 |
-
"(adds a clearfix)"
|
2272 |
-
msgstr ""
|
2273 |
-
|
2274 |
-
#: admin/views/ad-output-metabox.php:35
|
2275 |
-
msgid "Margin"
|
2276 |
-
msgstr ""
|
2277 |
-
|
2278 |
-
#: admin/views/ad-output-metabox.php:37
|
2279 |
-
msgid "top:"
|
2280 |
-
msgstr ""
|
2281 |
-
|
2282 |
-
#: admin/views/ad-output-metabox.php:41
|
2283 |
-
msgid "right:"
|
2284 |
msgstr ""
|
2285 |
|
2286 |
-
#: admin/views/
|
2287 |
-
msgid "
|
2288 |
msgstr ""
|
2289 |
|
2290 |
-
#: admin/views/
|
2291 |
-
msgid "
|
|
|
|
|
|
|
2292 |
msgstr ""
|
2293 |
|
2294 |
-
#: admin/views/
|
2295 |
-
msgid "
|
2296 |
msgstr ""
|
2297 |
|
2298 |
-
#: admin/views/ad-
|
2299 |
-
msgid "
|
2300 |
msgstr ""
|
2301 |
|
2302 |
-
#: admin/views/ad-
|
2303 |
-
|
|
|
2304 |
msgstr ""
|
2305 |
|
2306 |
-
#: admin/views/ad-
|
2307 |
-
|
|
|
2308 |
msgstr ""
|
2309 |
|
2310 |
-
#: admin/views/ad-output-metabox.php:
|
2311 |
msgid ""
|
2312 |
-
"
|
2313 |
-
"with a space"
|
2314 |
msgstr ""
|
2315 |
|
2316 |
-
#: admin/views/ad-
|
2317 |
-
|
|
|
2318 |
msgstr ""
|
2319 |
|
2320 |
-
#: admin/views/ad-
|
2321 |
-
msgid "
|
2322 |
msgstr ""
|
2323 |
|
2324 |
-
#: admin/views/ad-
|
2325 |
-
msgid "
|
2326 |
msgstr ""
|
2327 |
|
2328 |
-
#: admin/views/
|
2329 |
-
msgid "
|
2330 |
msgstr ""
|
2331 |
|
2332 |
-
#: admin/views/
|
2333 |
-
msgid "
|
2334 |
msgstr ""
|
2335 |
|
2336 |
-
#: admin/views/
|
2337 |
-
|
|
|
|
|
2338 |
msgstr ""
|
2339 |
|
2340 |
-
#: admin/views/
|
2341 |
-
msgid "
|
2342 |
msgstr ""
|
2343 |
|
2344 |
-
#: admin/views/
|
|
|
2345 |
#, php-format
|
2346 |
-
|
2347 |
-
|
|
|
2348 |
msgstr ""
|
2349 |
|
2350 |
-
#: admin/views/
|
2351 |
-
|
|
|
|
|
|
|
2352 |
msgstr ""
|
2353 |
|
2354 |
-
#: admin/views/
|
2355 |
-
msgid "
|
|
|
|
|
2356 |
msgstr ""
|
2357 |
|
2358 |
-
|
2359 |
-
|
|
|
|
|
2360 |
msgstr ""
|
2361 |
|
2362 |
-
#: admin/views/
|
2363 |
-
msgid "
|
2364 |
msgstr ""
|
2365 |
|
2366 |
-
#: admin/views/
|
2367 |
-
|
2368 |
-
msgctxt ""
|
2369 |
-
"order of expiry date fields 1: month, 2: day, 3: year, 4: hour, 5: minute"
|
2370 |
-
msgid "%1$s %2$s, %3$s @ %4$s %5$s"
|
2371 |
msgstr ""
|
2372 |
|
2373 |
-
#: admin/views/
|
2374 |
-
|
2375 |
-
msgid ""
|
2376 |
-
"Advanced Ads detected potential problems with your ad setup. %1$sShow me "
|
2377 |
-
"these errors%2$s"
|
2378 |
msgstr ""
|
2379 |
|
2380 |
-
#: admin/views/
|
2381 |
-
msgid "
|
2382 |
msgstr ""
|
2383 |
|
2384 |
-
#: admin/views/
|
2385 |
-
|
|
|
2386 |
msgstr ""
|
2387 |
|
2388 |
-
#: admin/views/
|
2389 |
-
msgid "
|
2390 |
msgstr ""
|
2391 |
|
2392 |
-
#: admin/views/
|
2393 |
-
|
2394 |
-
msgid "Send me free help to %s"
|
2395 |
msgstr ""
|
2396 |
|
2397 |
-
#: admin/views/
|
2398 |
-
msgid "
|
2399 |
msgstr ""
|
2400 |
|
2401 |
-
#: admin/views/
|
2402 |
-
msgid "
|
2403 |
msgstr ""
|
2404 |
|
2405 |
-
#: admin/views/
|
2406 |
-
msgid "
|
2407 |
msgstr ""
|
2408 |
|
2409 |
-
#: admin/views/
|
2410 |
-
msgid "
|
2411 |
msgstr ""
|
2412 |
|
2413 |
-
#: admin/views/
|
2414 |
-
msgid "
|
2415 |
msgstr ""
|
2416 |
|
2417 |
-
#: admin/views/
|
2418 |
-
|
|
|
2419 |
msgstr ""
|
2420 |
|
2421 |
-
#: admin/views/
|
2422 |
-
|
|
|
|
|
|
|
2423 |
msgstr ""
|
2424 |
|
2425 |
-
#: admin/views/
|
2426 |
-
|
|
|
|
|
|
|
2427 |
msgstr ""
|
2428 |
|
2429 |
-
#: admin/views/
|
2430 |
-
|
|
|
2431 |
msgstr ""
|
2432 |
|
2433 |
-
#: admin/views/
|
2434 |
-
|
2435 |
-
|
2436 |
-
"days."
|
2437 |
msgstr ""
|
2438 |
|
2439 |
-
|
2440 |
-
|
2441 |
-
#, php-format
|
2442 |
-
msgid "All the best to you and %s."
|
2443 |
msgstr ""
|
2444 |
|
2445 |
-
#: admin/views/
|
2446 |
-
msgid "
|
2447 |
msgstr ""
|
2448 |
|
2449 |
-
#: admin/views/
|
2450 |
-
|
|
|
2451 |
msgstr ""
|
2452 |
|
2453 |
-
#: admin/views/
|
2454 |
-
|
|
|
2455 |
msgstr ""
|
2456 |
|
2457 |
-
#: admin/views/
|
2458 |
-
msgid "
|
2459 |
msgstr ""
|
2460 |
|
2461 |
-
#: admin/views/
|
2462 |
-
|
|
|
|
|
2463 |
msgstr ""
|
2464 |
|
2465 |
-
#: admin/views/
|
2466 |
-
msgid "
|
2467 |
msgstr ""
|
2468 |
|
2469 |
-
#: admin/views/
|
2470 |
-
msgid "
|
2471 |
msgstr ""
|
2472 |
|
2473 |
-
#: admin/views/
|
2474 |
-
msgid "
|
2475 |
msgstr ""
|
2476 |
|
2477 |
-
#: admin/views/
|
2478 |
-
msgid "
|
2479 |
msgstr ""
|
2480 |
|
2481 |
-
#: admin/views/
|
2482 |
-
msgid "
|
2483 |
msgstr ""
|
2484 |
|
2485 |
-
#: admin/views/
|
2486 |
-
msgid "
|
2487 |
msgstr ""
|
2488 |
|
2489 |
-
#: admin/views/
|
2490 |
-
msgid "
|
|
|
|
|
2491 |
msgstr ""
|
2492 |
|
2493 |
-
#: admin/views/
|
2494 |
-
msgid "
|
2495 |
msgstr ""
|
2496 |
|
2497 |
-
#: admin/views/
|
2498 |
-
msgid "
|
2499 |
msgstr ""
|
2500 |
|
2501 |
-
#: admin/views/
|
2502 |
-
msgid "
|
2503 |
msgstr ""
|
2504 |
|
2505 |
-
#: admin/views/
|
2506 |
-
msgid "
|
|
|
|
|
|
|
2507 |
msgstr ""
|
2508 |
|
2509 |
-
#: admin/views/
|
2510 |
#, php-format
|
2511 |
msgid ""
|
2512 |
-
"
|
2513 |
-
"about the different types from the <a href=\"%s\">manual</a>"
|
2514 |
-
msgstr ""
|
2515 |
-
|
2516 |
-
#: admin/views/placement-form.php:33
|
2517 |
-
msgid "Please select a placement type."
|
2518 |
msgstr ""
|
2519 |
|
2520 |
-
#: admin/views/
|
2521 |
-
msgid "
|
2522 |
msgstr ""
|
2523 |
|
2524 |
-
#: admin/views/
|
|
|
2525 |
msgid ""
|
2526 |
-
"
|
2527 |
-
"
|
2528 |
msgstr ""
|
2529 |
|
2530 |
-
#: admin/views/
|
2531 |
-
|
|
|
|
|
|
|
|
|
2532 |
msgstr ""
|
2533 |
|
2534 |
-
#: admin/views/
|
2535 |
-
msgid "
|
2536 |
msgstr ""
|
2537 |
|
2538 |
-
#: admin/views/
|
2539 |
-
msgid "
|
2540 |
msgstr ""
|
2541 |
|
2542 |
-
#: admin/views/
|
2543 |
-
msgid "
|
2544 |
msgstr ""
|
2545 |
|
2546 |
-
#: admin/views/
|
2547 |
-
msgid "
|
2548 |
msgstr ""
|
2549 |
|
2550 |
-
#: admin/views/
|
2551 |
-
msgid "
|
2552 |
msgstr ""
|
2553 |
|
2554 |
-
#: admin/views/
|
2555 |
-
msgid "
|
2556 |
msgstr ""
|
2557 |
|
2558 |
-
#: admin/views/
|
2559 |
-
msgid "
|
2560 |
msgstr ""
|
2561 |
|
2562 |
-
#: admin/views/
|
2563 |
#, php-format
|
2564 |
msgid ""
|
2565 |
-
"
|
|
|
2566 |
msgstr ""
|
2567 |
|
2568 |
-
#: admin/views/
|
2569 |
-
|
|
|
2570 |
msgstr ""
|
2571 |
|
2572 |
-
#: admin/views/
|
2573 |
-
|
2574 |
-
#, php-format
|
2575 |
-
msgid ""
|
2576 |
-
"The AdSense verification and Auto ads code is already activated in the <a "
|
2577 |
-
"href=\"%s\">AdSense settings</a>."
|
2578 |
msgstr ""
|
2579 |
|
2580 |
-
#: admin/views/
|
2581 |
-
|
2582 |
-
msgid ""
|
2583 |
-
"No need to add the code manually here, unless you want to include it into "
|
2584 |
-
"certain pages only."
|
2585 |
msgstr ""
|
2586 |
|
2587 |
-
#: admin/views/
|
2588 |
-
|
2589 |
-
|
2590 |
-
"site."
|
2591 |
msgstr ""
|
2592 |
|
2593 |
-
|
2594 |
-
|
2595 |
-
#: admin/views/placement-injection-top.php:42
|
2596 |
-
msgid "inject Auto ads"
|
2597 |
msgstr ""
|
2598 |
|
2599 |
-
#: admin/views/
|
2600 |
-
msgid "
|
2601 |
msgstr ""
|
2602 |
|
2603 |
-
#: admin/views/
|
2604 |
-
msgid "
|
2605 |
msgstr ""
|
2606 |
|
2607 |
-
#: admin/views/
|
2608 |
-
msgid "
|
2609 |
msgstr ""
|
2610 |
|
2611 |
-
#: admin/views/
|
2612 |
-
msgid "
|
2613 |
msgstr ""
|
2614 |
|
2615 |
-
#: admin/views/
|
2616 |
-
|
2617 |
-
msgid "Custom Position"
|
2618 |
msgstr ""
|
2619 |
|
2620 |
-
#: admin/views/
|
2621 |
-
msgid "
|
2622 |
msgstr ""
|
2623 |
|
2624 |
-
#: admin/views/
|
2625 |
-
msgid "
|
2626 |
msgstr ""
|
2627 |
|
2628 |
-
#: admin/views/
|
2629 |
-
msgid "
|
2630 |
msgstr ""
|
2631 |
|
2632 |
-
#: admin/views/
|
2633 |
-
msgid "
|
2634 |
msgstr ""
|
2635 |
|
2636 |
-
#: admin/views/
|
2637 |
-
msgid "
|
2638 |
msgstr ""
|
2639 |
|
2640 |
-
#: admin/views/
|
2641 |
-
msgid "
|
2642 |
msgstr ""
|
2643 |
|
2644 |
-
#: admin/views/
|
2645 |
-
msgid "
|
2646 |
msgstr ""
|
2647 |
|
2648 |
-
#: admin/views/
|
2649 |
-
|
2650 |
-
msgid "Or use the shortcode %s to insert the ad into the content manually."
|
2651 |
msgstr ""
|
2652 |
|
2653 |
-
#: admin/views/
|
2654 |
-
|
2655 |
-
msgid ""
|
2656 |
-
"Learn more about your choices to display an ad in the <a href=\"%s\" "
|
2657 |
-
"target=\"_blank\">manual</a>."
|
2658 |
msgstr ""
|
2659 |
|
2660 |
-
#: admin/views/
|
2661 |
-
msgid ""
|
2662 |
-
"Check this if you don't want the following elements to float around the ad. "
|
2663 |
-
"(adds a placement_clearfix)"
|
2664 |
msgstr ""
|
2665 |
|
2666 |
-
#: admin/views/
|
2667 |
-
|
2668 |
-
#: modules/ads-txt/admin/views/setting-create.php:4
|
2669 |
-
msgid "enabled"
|
2670 |
msgstr ""
|
2671 |
|
2672 |
-
#: admin/views/
|
2673 |
-
|
2674 |
-
#: modules/ads-txt/admin/views/setting-create.php:6
|
2675 |
-
#: modules/ads-txt/admin/views/setting-create.php:8
|
2676 |
-
msgid "disabled"
|
2677 |
msgstr ""
|
2678 |
|
2679 |
-
#: admin/views/
|
2680 |
-
|
|
|
2681 |
msgstr ""
|
2682 |
|
2683 |
-
#: admin/views/
|
2684 |
-
msgid "
|
2685 |
msgstr ""
|
2686 |
|
2687 |
-
#: admin/views/
|
2688 |
-
msgid "
|
2689 |
msgstr ""
|
2690 |
|
2691 |
-
#: admin/views/
|
2692 |
msgid ""
|
2693 |
-
"
|
2694 |
-
"the
|
|
|
|
|
2695 |
msgstr ""
|
2696 |
|
2697 |
-
#: admin/views/
|
2698 |
-
|
|
|
|
|
|
|
2699 |
msgstr ""
|
2700 |
|
2701 |
-
#: admin/views/
|
2702 |
-
msgid "
|
2703 |
msgstr ""
|
2704 |
|
2705 |
-
#: admin/views/
|
2706 |
-
msgid "
|
2707 |
msgstr ""
|
2708 |
|
2709 |
-
#: admin/views/
|
2710 |
-
msgid ""
|
2711 |
-
"Placements are physically places in your theme and posts. You can use them "
|
2712 |
-
"if you plan to change ads and ad groups on the same place without the need "
|
2713 |
-
"to change your templates."
|
2714 |
msgstr ""
|
2715 |
|
2716 |
-
#: admin/views/
|
2717 |
#, php-format
|
2718 |
-
|
2719 |
-
|
2720 |
msgstr ""
|
2721 |
|
2722 |
-
#: admin/views/
|
2723 |
-
msgid "
|
2724 |
msgstr ""
|
2725 |
|
2726 |
-
#: admin/views/
|
2727 |
-
|
2728 |
-
msgid ""
|
2729 |
-
"Placement type \"%s\" is missing and was reset to \"default\".<br/>Please "
|
2730 |
-
"check if the responsible add-on is activated."
|
2731 |
msgstr ""
|
2732 |
|
2733 |
-
#: admin/views/
|
2734 |
-
msgid "
|
2735 |
msgstr ""
|
2736 |
|
2737 |
-
#: admin/views/
|
2738 |
-
msgid "
|
2739 |
msgstr ""
|
2740 |
|
2741 |
-
#: admin/views/
|
2742 |
-
|
|
|
|
|
|
|
2743 |
msgstr ""
|
2744 |
|
2745 |
-
#: admin/views/
|
2746 |
-
msgid "
|
2747 |
msgstr ""
|
2748 |
|
2749 |
-
#: admin/views/
|
2750 |
-
msgid "
|
2751 |
msgstr ""
|
2752 |
|
2753 |
-
#: admin/views/
|
2754 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2755 |
msgstr ""
|
2756 |
|
2757 |
-
#: admin/views/
|
2758 |
-
msgid "
|
2759 |
msgstr ""
|
2760 |
|
2761 |
-
#: admin/views/
|
2762 |
#, php-format
|
2763 |
msgid ""
|
2764 |
-
"
|
2765 |
-
"
|
2766 |
msgstr ""
|
2767 |
|
2768 |
-
#: admin/views/
|
2769 |
-
|
2770 |
-
msgid "delete"
|
2771 |
msgstr ""
|
2772 |
|
2773 |
-
#: admin/views/
|
2774 |
-
msgid "
|
2775 |
msgstr ""
|
2776 |
|
2777 |
-
#: admin/views/
|
2778 |
-
msgid "
|
|
|
|
|
2779 |
msgstr ""
|
2780 |
|
2781 |
-
#: admin/views/
|
2782 |
-
msgid "
|
2783 |
msgstr ""
|
2784 |
|
2785 |
-
#: admin/views/
|
2786 |
-
msgid "
|
2787 |
msgstr ""
|
2788 |
|
2789 |
-
#: admin/views/
|
2790 |
-
msgid "
|
2791 |
msgstr ""
|
2792 |
|
2793 |
-
#: admin/views/
|
2794 |
-
|
2795 |
-
msgid ""
|
2796 |
-
"Click on %2$s if you renewed it or have a subscription or <a href=\"%1$s\" "
|
2797 |
-
"class=\"advads-renewal-link\" target=\"_blank\">renew your license</a>."
|
2798 |
msgstr ""
|
2799 |
|
2800 |
-
#: admin/views/
|
2801 |
-
|
2802 |
-
msgid "(%d days left)"
|
2803 |
msgstr ""
|
2804 |
|
2805 |
-
#: admin/views/
|
2806 |
-
msgid "
|
2807 |
msgstr ""
|
2808 |
|
2809 |
-
#: admin/views/
|
2810 |
-
msgid "
|
2811 |
msgstr ""
|
2812 |
|
2813 |
-
#: admin/views/
|
2814 |
-
msgid "
|
2815 |
msgstr ""
|
2816 |
|
2817 |
-
#: admin/views/
|
2818 |
-
|
|
|
2819 |
msgstr ""
|
2820 |
|
2821 |
-
#: admin/views/
|
2822 |
-
msgid "
|
2823 |
msgstr ""
|
2824 |
|
2825 |
-
#: admin/views/
|
2826 |
-
msgid "
|
2827 |
msgstr ""
|
2828 |
|
2829 |
-
#: admin/views/
|
2830 |
-
msgid ""
|
2831 |
-
"Open programatically created links in a new window (use <code>"
|
2832 |
-
"target=\"_blank\"</code>)"
|
2833 |
msgstr ""
|
2834 |
|
2835 |
-
#: admin/views/
|
2836 |
-
msgid "
|
2837 |
msgstr ""
|
2838 |
|
2839 |
-
#: admin/views/
|
2840 |
-
msgid ""
|
2841 |
-
"Use this option to disable all ads in the frontend, but still be able to use "
|
2842 |
-
"the plugin."
|
2843 |
msgstr ""
|
2844 |
|
2845 |
-
#: admin/views/
|
2846 |
-
msgid "
|
2847 |
msgstr ""
|
2848 |
|
2849 |
-
#: admin/views/
|
2850 |
-
msgid "
|
2851 |
msgstr ""
|
2852 |
|
2853 |
-
#: admin/views/
|
2854 |
-
msgid ""
|
2855 |
-
"e.g. archive pages like categories, tags, authors, front page (if a list)"
|
2856 |
msgstr ""
|
2857 |
|
2858 |
-
#: admin/views/
|
2859 |
-
msgid "
|
2860 |
msgstr ""
|
2861 |
|
2862 |
-
#: admin/views/
|
2863 |
msgid ""
|
2864 |
-
"
|
2865 |
-
"
|
2866 |
-
"appear."
|
2867 |
msgstr ""
|
2868 |
|
2869 |
-
|
2870 |
-
|
|
|
|
|
2871 |
msgstr ""
|
2872 |
|
2873 |
-
#: admin/views/
|
2874 |
-
msgid "
|
2875 |
msgstr ""
|
2876 |
|
2877 |
-
#: admin/views/
|
2878 |
-
|
|
|
2879 |
msgstr ""
|
2880 |
|
2881 |
-
#: admin/views/
|
2882 |
-
|
2883 |
-
msgid "
|
2884 |
msgstr ""
|
2885 |
|
2886 |
-
#: admin/views/
|
2887 |
-
|
|
|
2888 |
msgstr ""
|
2889 |
|
2890 |
-
#: admin/views/
|
2891 |
-
msgid "
|
2892 |
msgstr ""
|
2893 |
|
2894 |
-
#: admin/views/
|
2895 |
-
|
|
|
2896 |
msgstr ""
|
2897 |
|
2898 |
-
#: admin/views/
|
2899 |
-
msgid ""
|
2900 |
-
"Please fix the red highlighted issues on this page or try to understand "
|
2901 |
-
"their consequences before contacting support."
|
2902 |
msgstr ""
|
2903 |
|
2904 |
-
#: admin/views/
|
2905 |
-
|
|
|
|
|
2906 |
msgstr ""
|
2907 |
|
2908 |
-
#: admin/views/
|
2909 |
-
|
|
|
|
|
2910 |
msgstr ""
|
2911 |
|
2912 |
-
#: admin/views/
|
2913 |
-
|
|
|
|
|
2914 |
msgstr ""
|
2915 |
|
2916 |
-
#: admin/views/
|
2917 |
-
msgid "
|
|
|
|
|
2918 |
msgstr ""
|
2919 |
|
2920 |
-
#: admin/views/
|
2921 |
-
msgid "
|
2922 |
msgstr ""
|
2923 |
|
2924 |
-
#: admin/views/
|
2925 |
-
msgid ""
|
2926 |
-
"Use the following form to search for solutions in the manual on "
|
2927 |
-
"wpadvancedads.com"
|
2928 |
msgstr ""
|
2929 |
|
2930 |
-
#: admin/views/
|
2931 |
-
msgid "
|
2932 |
msgstr ""
|
2933 |
|
2934 |
-
#: admin/views/
|
2935 |
-
|
2936 |
-
msgid ""
|
2937 |
-
"Take a look at more common issues or contact us directly through the <a "
|
2938 |
-
"href=\"%s\" target=\"_blank\">support page</a>."
|
2939 |
msgstr ""
|
2940 |
|
2941 |
-
#: admin/views/
|
2942 |
-
|
2943 |
-
msgid ""
|
2944 |
-
"Upgrade to any premium add-on and get <strong>priority email support</strong>"
|
2945 |
-
" or reach out through the <a href=\"%s\" target=\"_blank\">support forum</a> "
|
2946 |
-
"for individual help."
|
2947 |
msgstr ""
|
2948 |
|
2949 |
-
#:
|
2950 |
-
msgid "
|
2951 |
msgstr ""
|
2952 |
|
2953 |
-
#:
|
2954 |
-
msgid "
|
2955 |
msgstr ""
|
2956 |
|
2957 |
-
#: admin/views/
|
2958 |
-
msgid ""
|
2959 |
-
"Click on the button below if the ad should NOT show up on all pages when "
|
2960 |
-
"included automatically."
|
2961 |
msgstr ""
|
2962 |
|
2963 |
-
#: admin/views/
|
2964 |
-
msgid "
|
2965 |
msgstr ""
|
2966 |
|
2967 |
-
#: admin/views/
|
2968 |
-
msgid "
|
|
|
|
|
2969 |
msgstr ""
|
2970 |
|
2971 |
-
#: admin/views/
|
2972 |
-
|
2973 |
-
#, php-format
|
2974 |
-
msgid ""
|
2975 |
-
"There might be a problem with layouts and scripts in your dashboard. Please "
|
2976 |
-
"check <a href=\"%s\" target=\"_blank\">this article to learn more</a>."
|
2977 |
msgstr ""
|
2978 |
|
2979 |
-
#: admin/views/
|
2980 |
-
msgid "
|
2981 |
msgstr ""
|
2982 |
|
2983 |
-
#: admin/views/
|
2984 |
-
msgid ""
|
2985 |
-
|
|
|
|
|
|
|
2986 |
msgstr ""
|
2987 |
|
2988 |
-
#: admin/views/
|
2989 |
-
msgid "
|
2990 |
msgstr ""
|
2991 |
|
2992 |
-
#: admin/views/
|
|
|
2993 |
msgid ""
|
2994 |
-
"
|
2995 |
-
"
|
2996 |
msgstr ""
|
2997 |
|
2998 |
-
#: admin/views/
|
2999 |
#, php-format
|
3000 |
-
msgid ""
|
3001 |
-
"Only %d elements are displayed above. Use the <code>advanced-ads-admin-max-"
|
3002 |
-
"terms</code> filter to change this limit according to <a href=\"%s\" "
|
3003 |
-
"target=\"_blank\">this page</a>."
|
3004 |
msgstr ""
|
3005 |
|
3006 |
-
#: admin/views/
|
3007 |
-
|
|
|
3008 |
msgstr ""
|
3009 |
|
3010 |
-
#: admin/views/
|
3011 |
-
msgid "
|
3012 |
msgstr ""
|
3013 |
|
3014 |
-
#: admin/views/
|
3015 |
-
|
3016 |
-
msgid "Manual and Troubleshooting"
|
3017 |
msgstr ""
|
3018 |
|
3019 |
-
#: admin/views/
|
3020 |
-
|
3021 |
-
msgid "is"
|
3022 |
msgstr ""
|
3023 |
|
3024 |
-
#: admin/views/
|
3025 |
-
|
3026 |
-
msgid "
|
|
|
|
|
3027 |
msgstr ""
|
3028 |
|
3029 |
-
#: admin/views/
|
3030 |
-
|
|
|
3031 |
msgstr ""
|
3032 |
|
3033 |
-
#: admin/views/
|
3034 |
-
msgid "
|
3035 |
msgstr ""
|
3036 |
|
3037 |
-
#: admin/views/
|
3038 |
-
msgid "
|
3039 |
msgstr ""
|
3040 |
|
3041 |
-
#: admin/views/
|
3042 |
-
msgid "
|
3043 |
msgstr ""
|
3044 |
|
3045 |
-
#: admin/views/
|
3046 |
-
msgid "
|
3047 |
msgstr ""
|
3048 |
|
3049 |
-
#: admin/views/
|
3050 |
-
msgid "
|
3051 |
msgstr ""
|
3052 |
|
3053 |
-
#: admin/views/
|
3054 |
-
msgid "
|
3055 |
msgstr ""
|
3056 |
|
3057 |
-
#: admin/views/
|
3058 |
-
msgid "
|
|
|
|
|
3059 |
msgstr ""
|
3060 |
|
3061 |
-
#: admin/views/
|
3062 |
-
|
3063 |
-
|
|
|
3064 |
msgstr ""
|
3065 |
|
3066 |
-
#: admin/views/
|
3067 |
-
|
3068 |
-
msgctxt ""
|
3069 |
-
"Error message shown when no terms exists for display condition; placeholder "
|
3070 |
-
"is taxonomy label."
|
3071 |
-
msgid "No %s found on your site."
|
3072 |
msgstr ""
|
3073 |
|
3074 |
-
#: admin/views/
|
3075 |
-
|
3076 |
-
|
|
|
3077 |
msgstr ""
|
3078 |
|
3079 |
-
#: admin/views/
|
3080 |
-
|
3081 |
-
|
3082 |
-
|
|
|
3083 |
msgstr ""
|
3084 |
|
3085 |
-
#:
|
3086 |
-
|
3087 |
-
msgid "It seems that a caching plugin is activated."
|
3088 |
msgstr ""
|
3089 |
|
3090 |
-
#:
|
3091 |
-
|
3092 |
-
msgid ""
|
3093 |
-
"Check out cache-busting in <a href=\"%s\" target=\"_blank\">Advanced Ads "
|
3094 |
-
"Pro</a> if dynamic features get cached."
|
3095 |
msgstr ""
|
3096 |
|
3097 |
#: admin/views/notices/adblock.php:4
|
@@ -3116,6 +3060,14 @@ msgstr ""
|
|
3116 |
msgid "See them in action"
|
3117 |
msgstr ""
|
3118 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3119 |
#: admin/views/notices/welcome-panel.php:10
|
3120 |
msgid "Welcome to Advanced Ads!"
|
3121 |
msgstr ""
|
@@ -3158,260 +3110,247 @@ msgstr ""
|
|
3158 |
msgid "Setting up AdSense ads manually"
|
3159 |
msgstr ""
|
3160 |
|
3161 |
-
#:
|
3162 |
-
|
3163 |
-
|
3164 |
-
|
3165 |
-
#: modules/ad-blocker/admin/admin.php:150
|
3166 |
-
#: modules/ads-txt/admin/class-advanced-ads-ads-txt-admin.php:372
|
3167 |
-
msgid "Unable to connect to the filesystem. Please confirm your credentials."
|
3168 |
-
msgstr ""
|
3169 |
-
|
3170 |
-
#: modules/ad-blocker/admin/admin.php:165
|
3171 |
-
msgid "The asset folder was rebuilt successfully"
|
3172 |
msgstr ""
|
3173 |
|
3174 |
-
#:
|
3175 |
-
|
|
|
3176 |
msgstr ""
|
3177 |
|
3178 |
-
#:
|
3179 |
-
|
3180 |
-
msgid "
|
3181 |
msgstr ""
|
3182 |
|
3183 |
-
#:
|
3184 |
-
|
3185 |
-
#: modules/ad-blocker/admin/admin.php:301
|
3186 |
-
#, php-format
|
3187 |
-
msgid "Unable to copy assets to the \"%s\" directory"
|
3188 |
msgstr ""
|
3189 |
|
3190 |
-
#:
|
3191 |
-
|
3192 |
-
#, php-format
|
3193 |
-
msgid "We do not have direct write access to the \"%s\" directory"
|
3194 |
msgstr ""
|
3195 |
|
3196 |
-
#:
|
3197 |
-
|
3198 |
-
msgid "Unable to copy files to %s"
|
3199 |
msgstr ""
|
3200 |
|
3201 |
-
#:
|
3202 |
-
msgid "
|
3203 |
msgstr ""
|
3204 |
|
3205 |
-
#:
|
3206 |
-
|
|
|
3207 |
msgstr ""
|
3208 |
|
3209 |
-
#:
|
3210 |
-
#, php-format
|
3211 |
msgid ""
|
3212 |
-
"
|
3213 |
-
"
|
3214 |
-
msgstr ""
|
3215 |
-
|
3216 |
-
#: modules/ads-txt/admin/class-advanced-ads-ads-txt-admin.php:187
|
3217 |
-
#, php-format
|
3218 |
-
msgid "The file is available on %s."
|
3219 |
-
msgstr ""
|
3220 |
-
|
3221 |
-
#: modules/ads-txt/admin/class-advanced-ads-ads-txt-admin.php:191
|
3222 |
-
msgid "The file was not created."
|
3223 |
-
msgstr ""
|
3224 |
-
|
3225 |
-
#: modules/ads-txt/admin/class-advanced-ads-ads-txt-admin.php:197
|
3226 |
-
msgid "Find the solution here"
|
3227 |
-
msgstr ""
|
3228 |
-
|
3229 |
-
#: modules/ads-txt/admin/class-advanced-ads-ads-txt-admin.php:208
|
3230 |
-
msgid "Import & Replace"
|
3231 |
msgstr ""
|
3232 |
|
3233 |
-
#:
|
3234 |
-
|
3235 |
-
"
|
3236 |
-
"it."
|
3237 |
msgstr ""
|
3238 |
|
3239 |
-
#:
|
3240 |
-
#: modules/ads-txt/admin/views/setting-additional-content.php:4
|
3241 |
#, php-format
|
3242 |
-
msgid "
|
|
|
|
|
3243 |
msgstr ""
|
3244 |
|
3245 |
-
|
3246 |
-
#: modules/ads-txt/admin/class-advanced-ads-ads-txt-admin.php:230
|
3247 |
#, php-format
|
3248 |
msgid ""
|
3249 |
-
"
|
3250 |
-
"to
|
3251 |
-
|
3252 |
-
|
3253 |
-
#: modules/ads-txt/admin/class-advanced-ads-ads-txt-admin.php:345
|
3254 |
-
msgid "The ads.txt is now managed with Advanced Ads."
|
3255 |
msgstr ""
|
3256 |
|
3257 |
-
#:
|
3258 |
-
msgid "
|
3259 |
msgstr ""
|
3260 |
|
3261 |
-
#:
|
3262 |
-
|
|
|
3263 |
msgstr ""
|
3264 |
|
3265 |
-
#:
|
3266 |
-
msgid "
|
|
|
|
|
3267 |
msgstr ""
|
3268 |
|
3269 |
-
#:
|
3270 |
-
|
3271 |
-
msgid ""
|
3272 |
-
"Responsive AdSense ads don’t work reliably with <em>Position</em> set to "
|
3273 |
-
"left or right. Either switch the <em>Type</em> to \"normal\" or follow <a "
|
3274 |
-
"href=\"%s\" target=\"_blank\">this tutorial</a> if you want the ad to be "
|
3275 |
-
"wrapped in text."
|
3276 |
msgstr ""
|
3277 |
|
3278 |
-
#:
|
3279 |
-
|
3280 |
-
msgid ""
|
3281 |
-
"<a href=\"%s\" target=\"_blank\">Install the free AdSense In-feed add-on</a> "
|
3282 |
-
"in order to place ads between posts."
|
3283 |
msgstr ""
|
3284 |
|
3285 |
-
#:
|
3286 |
-
|
3287 |
-
msgid ""
|
3288 |
-
"Use the <a href=\"%s\" target=\"_blank\">Responsive add-on</a> in order to "
|
3289 |
-
"define the exact size for each browser width or choose between horizontal, "
|
3290 |
-
"vertical, or rectangle formats."
|
3291 |
msgstr ""
|
3292 |
|
3293 |
-
#:
|
3294 |
#, php-format
|
3295 |
-
|
3296 |
-
"
|
3297 |
-
"
|
3298 |
-
"
|
3299 |
-
msgstr ""
|
3300 |
-
|
3301 |
-
#: modules/gadsense/admin/admin.php:183
|
3302 |
-
msgid "Activate"
|
3303 |
msgstr ""
|
3304 |
|
3305 |
-
#:
|
3306 |
-
msgid "
|
3307 |
msgstr ""
|
3308 |
|
3309 |
-
#:
|
3310 |
-
msgid "
|
3311 |
msgstr ""
|
3312 |
|
3313 |
-
#:
|
3314 |
-
msgid "
|
3315 |
msgstr ""
|
3316 |
|
3317 |
-
#:
|
3318 |
-
|
3319 |
-
msgid "The Publisher ID has an incorrect format. (must start with \"pub-\")"
|
3320 |
msgstr ""
|
3321 |
|
3322 |
-
#:
|
3323 |
-
msgid "
|
3324 |
msgstr ""
|
3325 |
|
3326 |
-
|
3327 |
-
|
3328 |
-
|
3329 |
msgstr ""
|
3330 |
|
3331 |
-
#:
|
3332 |
-
|
3333 |
-
msgid "Never"
|
3334 |
msgstr ""
|
3335 |
|
3336 |
-
#:
|
3337 |
-
msgid "
|
|
|
|
|
3338 |
msgstr ""
|
3339 |
|
3340 |
-
#: modules/gadsense/includes/class-mapi.php:
|
3341 |
#, php-format
|
3342 |
msgid "Error while retrieving ad code for \"%s\"."
|
3343 |
msgstr ""
|
3344 |
|
3345 |
-
#: modules/gadsense/includes/class-mapi.php:
|
3346 |
#, php-format
|
3347 |
msgid "Invalid response while retrieving ad code for \"%s\"."
|
3348 |
msgstr ""
|
3349 |
|
3350 |
-
#: modules/gadsense/includes/class-mapi.php:
|
3351 |
#, php-format
|
3352 |
msgid "Error while retrieving adUnits list for \"%s\"."
|
3353 |
msgstr ""
|
3354 |
|
3355 |
-
#: modules/gadsense/includes/class-mapi.php:
|
3356 |
#, php-format
|
3357 |
msgid "Invalid response while retrieving adUnits list for \"%s\"."
|
3358 |
msgstr ""
|
3359 |
|
3360 |
-
#: modules/gadsense/includes/class-mapi.php:
|
3361 |
msgid "Reason:"
|
3362 |
msgstr ""
|
3363 |
|
3364 |
-
#: modules/gadsense/includes/class-mapi.php:
|
3365 |
msgid "Message:"
|
3366 |
msgstr ""
|
3367 |
|
3368 |
#. %1$s is the AdSense publisher ID; %2$s a starting a tag to the AdSense ad unit list and %3$s the closing link.
|
3369 |
-
#: modules/gadsense/includes/class-mapi.php:
|
3370 |
#, php-format
|
3371 |
msgid ""
|
3372 |
"The account \"%1$s\" does not seem to have any ad units. Please create some "
|
3373 |
"%2$shere%3$s."
|
3374 |
msgstr ""
|
3375 |
|
3376 |
-
#: modules/gadsense/includes/class-mapi.php:
|
3377 |
msgid ""
|
3378 |
"It seems that some changes have been made in the Advanced Ads settings. "
|
3379 |
"Please refresh this page."
|
3380 |
msgstr ""
|
3381 |
|
3382 |
-
#: modules/gadsense/includes/class-mapi.php:
|
3383 |
#, php-format
|
3384 |
msgid ""
|
3385 |
"Advanced Ads does not have access to your account (<code>%s</code>) anymore."
|
3386 |
msgstr ""
|
3387 |
|
3388 |
-
#: modules/gadsense/includes/class-mapi.php:
|
3389 |
#, php-format
|
3390 |
msgid "error while renewing access token for \"%s\""
|
3391 |
msgstr ""
|
3392 |
|
3393 |
-
#: modules/gadsense/includes/class-mapi.php:
|
3394 |
#, php-format
|
3395 |
msgid "invalid response received while renewing access token for \"%s\""
|
3396 |
msgstr ""
|
3397 |
|
3398 |
-
#: modules/gadsense/includes/class-mapi.php:
|
|
|
|
|
|
|
|
|
3399 |
msgid "Invalid response body while retrieving account alerts"
|
3400 |
msgstr ""
|
3401 |
|
3402 |
-
#: modules/gadsense/includes/class-mapi.php:
|
3403 |
msgid "error while retrieving account alerts"
|
3404 |
msgstr ""
|
3405 |
|
3406 |
-
#: modules/gadsense/includes/class-mapi.php:
|
3407 |
msgid "No token provided. Token data needed to get account details."
|
3408 |
msgstr ""
|
3409 |
|
3410 |
-
#: modules/gadsense/includes/class-mapi.php:
|
3411 |
msgid "An error occurred while requesting account details."
|
3412 |
msgstr ""
|
3413 |
|
3414 |
-
#: modules/gadsense/includes/class-mapi.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3415 |
#, php-format
|
3416 |
msgid ""
|
3417 |
"There are one or more warnings about the currently linked AdSense account. "
|
@@ -3420,13 +3359,22 @@ msgstr ""
|
|
3420 |
|
3421 |
#. 1:A link to the settings page
|
3422 |
#. 2:The name of an ad network
|
3423 |
-
#: modules/gadsense/includes/class-mapi.php:
|
3424 |
#, php-format
|
3425 |
msgid ""
|
3426 |
"Please try to <a href=\"%1$s\" target=\"_blank\">reconnect to your %2$s "
|
3427 |
"account</a>."
|
3428 |
msgstr ""
|
3429 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3430 |
#: modules/gadsense/includes/class-network-adsense.php:34
|
3431 |
msgid "AdSense account"
|
3432 |
msgstr ""
|
@@ -3494,7 +3442,7 @@ msgid ""
|
|
3494 |
msgstr ""
|
3495 |
|
3496 |
#: modules/gadsense/includes/class-network-adsense.php:194
|
3497 |
-
#: modules/gadsense/admin/views/connect-adsense.php:
|
3498 |
msgid ""
|
3499 |
"Insert the AdSense header code used for verification and the Auto Ads "
|
3500 |
"feature."
|
@@ -3512,10 +3460,6 @@ msgid ""
|
|
3512 |
"appear in random places</strong>."
|
3513 |
msgstr ""
|
3514 |
|
3515 |
-
#: modules/gadsense/includes/class-network-adsense.php:202
|
3516 |
-
msgid "Display Auto ads only on specific pages"
|
3517 |
-
msgstr ""
|
3518 |
-
|
3519 |
#: modules/gadsense/includes/class-network-adsense.php:203
|
3520 |
msgid "Auto ads on AMP pages"
|
3521 |
msgstr ""
|
@@ -3553,11 +3497,136 @@ msgid ""
|
|
3553 |
"use the full width</a> of your visitor's mobile device screen"
|
3554 |
msgstr ""
|
3555 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3556 |
#. Name of the plugin
|
3557 |
#: modules/gutenberg/includes/class-gutenberg.php:78
|
3558 |
msgid "Advanced Ads"
|
3559 |
msgstr ""
|
3560 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3561 |
#: modules/import-export/classes/import.php:66
|
3562 |
msgid "Please enter XML content"
|
3563 |
msgstr ""
|
@@ -3735,104 +3804,64 @@ msgstr ""
|
|
3735 |
msgid "Start import"
|
3736 |
msgstr ""
|
3737 |
|
3738 |
-
#: modules/
|
3739 |
-
|
3740 |
-
|
3741 |
-
|
3742 |
-
|
3743 |
-
msgid "Enable Privacy module"
|
3744 |
-
msgstr ""
|
3745 |
-
|
3746 |
-
#: modules/privacy/admin/admin.php:87
|
3747 |
-
msgid "Consent method"
|
3748 |
-
msgstr ""
|
3749 |
-
|
3750 |
-
#: modules/privacy/classes/plugin.php:149
|
3751 |
-
msgid "Show all ads even without consent."
|
3752 |
-
msgstr ""
|
3753 |
-
|
3754 |
-
#: modules/privacy/classes/plugin.php:150
|
3755 |
-
msgid "Cookie"
|
3756 |
-
msgstr ""
|
3757 |
-
|
3758 |
-
#: modules/ad-blocker/admin/views/rebuild_form.php:1
|
3759 |
-
msgid "Ad blocker file folder"
|
3760 |
-
msgstr ""
|
3761 |
-
|
3762 |
-
#: modules/ad-blocker/admin/views/rebuild_form.php:10
|
3763 |
-
msgid "Upload folder is not writable"
|
3764 |
-
msgstr ""
|
3765 |
-
|
3766 |
-
#: modules/ad-blocker/admin/views/rebuild_form.php:23
|
3767 |
-
msgid "Asset path"
|
3768 |
-
msgstr ""
|
3769 |
-
|
3770 |
-
#: modules/ad-blocker/admin/views/rebuild_form.php:27
|
3771 |
-
msgid "Asset URL"
|
3772 |
-
msgstr ""
|
3773 |
-
|
3774 |
-
#: modules/ad-blocker/admin/views/rebuild_form.php:31
|
3775 |
-
msgid "Rename assets"
|
3776 |
msgstr ""
|
3777 |
|
3778 |
-
#: modules/
|
3779 |
-
|
|
|
3780 |
msgstr ""
|
3781 |
|
3782 |
-
#: modules/
|
3783 |
-
|
3784 |
-
msgid ""
|
3785 |
-
"Please, rebuild the asset folder. All assets will be located in <strong>"
|
3786 |
-
"%s</strong>"
|
3787 |
msgstr ""
|
3788 |
|
3789 |
-
#: modules/
|
3790 |
-
msgid "
|
3791 |
msgstr ""
|
3792 |
|
3793 |
-
#: modules/
|
3794 |
-
msgid ""
|
3795 |
-
"The ad block disguise can only be set by the super admin on the main site in "
|
3796 |
-
"the network."
|
3797 |
msgstr ""
|
3798 |
|
3799 |
-
#: modules/
|
3800 |
msgid ""
|
3801 |
-
"
|
3802 |
-
"
|
3803 |
msgstr ""
|
3804 |
|
3805 |
-
#: modules/
|
|
|
3806 |
#, php-format
|
3807 |
-
msgid ""
|
3808 |
-
"Learn how to display alternative content to ad block users <a href=\"%s\" "
|
3809 |
-
"target=\"_blank\">in the manual</a>."
|
3810 |
msgstr ""
|
3811 |
|
3812 |
-
|
|
|
|
|
3813 |
msgid ""
|
3814 |
-
"
|
3815 |
-
"
|
3816 |
msgstr ""
|
3817 |
|
3818 |
-
#: modules/ads-txt/admin/
|
3819 |
-
msgid ""
|
3820 |
-
"Additional records to add to the file, one record per line. AdSense is added "
|
3821 |
-
"automatically."
|
3822 |
msgstr ""
|
3823 |
|
3824 |
-
#: modules/ads-txt/admin/
|
3825 |
-
msgid "
|
3826 |
msgstr ""
|
3827 |
|
3828 |
-
#: modules/ads-txt/admin/
|
3829 |
-
msgid "
|
3830 |
msgstr ""
|
3831 |
|
3832 |
-
#: modules/ads-txt/admin/
|
3833 |
-
msgid ""
|
3834 |
-
"Usually, this should be enabled on the main site of the network - often the "
|
3835 |
-
"one without a subdomain or subdirectory."
|
3836 |
msgstr ""
|
3837 |
|
3838 |
#: modules/gadsense/admin/views/adsense-account.php:29
|
@@ -3872,263 +3901,350 @@ msgstr ""
|
|
3872 |
msgid "Get a free AdSense account"
|
3873 |
msgstr ""
|
3874 |
|
|
|
|
|
|
|
|
|
3875 |
#. %1$s is the opening link tag to our manual; %2$s is the appropriate closing link tag; %3$s is the opening link tag to our help forum; %4$s is the appropriate closing link tag
|
3876 |
-
#: modules/gadsense/admin/views/adsense-account.php:
|
3877 |
#, php-format
|
3878 |
msgid ""
|
3879 |
"Problems with AdSense? Check out the %1$smanual%2$s or %3$sask here%4$s."
|
3880 |
msgstr ""
|
3881 |
|
3882 |
-
#: modules/gadsense/admin/views/adsense-account.php:
|
3883 |
-
#: modules/gadsense/admin/views/external-ads-links.php:
|
3884 |
msgid "Can not connect AdSense account. PHP version is too low."
|
3885 |
msgstr ""
|
3886 |
|
3887 |
-
|
3888 |
-
#: modules/gadsense/admin/views/
|
3889 |
-
|
3890 |
-
|
3891 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3892 |
msgstr ""
|
3893 |
|
3894 |
-
#: modules/gadsense/admin/views/
|
|
|
|
|
|
|
|
|
3895 |
msgid "The ad details couldn't be retrieved from the ad code"
|
3896 |
msgstr ""
|
3897 |
|
3898 |
-
#: modules/gadsense/admin/views/adsense-ad-parameters.php:
|
3899 |
msgid ""
|
3900 |
"Warning: The AdSense account from this code does not match the one set in "
|
3901 |
"the Advanced Ads options."
|
3902 |
msgstr ""
|
3903 |
|
3904 |
-
#: modules/gadsense/admin/views/adsense-ad-parameters.php:
|
3905 |
msgid ""
|
3906 |
"Copy the ad code from your AdSense account, paste it into the area below and "
|
3907 |
"click on <em>Get details</em>."
|
3908 |
msgstr ""
|
3909 |
|
3910 |
-
#: modules/gadsense/admin/views/adsense-ad-parameters.php:
|
3911 |
msgid "Get details"
|
3912 |
msgstr ""
|
3913 |
|
3914 |
-
#: modules/gadsense/admin/views/adsense-ad-parameters.php:
|
3915 |
msgid "cancel"
|
3916 |
msgstr ""
|
3917 |
|
3918 |
-
#: modules/gadsense/admin/views/adsense-ad-parameters.php:
|
3919 |
msgid "connect to your AdSense account"
|
3920 |
msgstr ""
|
3921 |
|
3922 |
-
#: modules/gadsense/admin/views/adsense-ad-parameters.php:
|
3923 |
msgid "Ad Slot ID"
|
3924 |
msgstr ""
|
3925 |
|
3926 |
-
#: modules/gadsense/admin/views/adsense-ad-parameters.php:
|
3927 |
#, php-format
|
3928 |
msgid "Publisher ID: %s"
|
3929 |
msgstr ""
|
3930 |
|
3931 |
-
#: modules/gadsense/admin/views/adsense-ad-parameters.php:
|
3932 |
msgid ""
|
3933 |
"The ad slot ID is either a number or empty and not the same as the publisher "
|
3934 |
"ID."
|
3935 |
msgstr ""
|
3936 |
|
3937 |
-
#: modules/gadsense/admin/views/adsense-ad-parameters.php:
|
3938 |
#, php-format
|
3939 |
msgid "Please <a href=\"%s\" target=\"_blank\">change it here</a>."
|
3940 |
msgstr ""
|
3941 |
|
3942 |
-
#: modules/gadsense/admin/views/adsense-ad-parameters.php:
|
3943 |
msgid "Normal"
|
3944 |
msgstr ""
|
3945 |
|
3946 |
-
#: modules/gadsense/admin/views/adsense-ad-parameters.php:
|
3947 |
msgid "Responsive (Matched Content)"
|
3948 |
msgstr ""
|
3949 |
|
3950 |
-
#: modules/gadsense/admin/views/adsense-ad-parameters.php:
|
3951 |
msgid "Link ads"
|
3952 |
msgstr ""
|
3953 |
|
3954 |
-
#: modules/gadsense/admin/views/adsense-ad-parameters.php:
|
3955 |
msgid "Link ads (Responsive)"
|
3956 |
msgstr ""
|
3957 |
|
3958 |
-
#: modules/gadsense/admin/views/adsense-ad-parameters.php:
|
3959 |
-
msgid "
|
3960 |
msgstr ""
|
3961 |
|
3962 |
-
#: modules/gadsense/admin/views/adsense-ad-parameters.php:
|
3963 |
-
msgid "
|
3964 |
msgstr ""
|
3965 |
|
3966 |
-
#: modules/gadsense/admin/views/adsense-ad-parameters.php:
|
3967 |
msgid "Resizing"
|
3968 |
msgstr ""
|
3969 |
|
3970 |
-
#: modules/gadsense/admin/views/adsense-ad-parameters.php:
|
3971 |
msgid "Layout"
|
3972 |
msgstr ""
|
3973 |
|
3974 |
-
#: modules/gadsense/admin/views/adsense-ad-parameters.php:
|
3975 |
msgid "Layout-Key"
|
3976 |
msgstr ""
|
3977 |
|
3978 |
-
#: modules/gadsense/admin/views/adsense-ad-parameters.php:
|
3979 |
msgid "Clearfix"
|
3980 |
msgstr ""
|
3981 |
|
3982 |
-
#: modules/gadsense/admin/views/adsense-ad-parameters.php:
|
3983 |
msgid "Enable this box if responsive ads cover something on your site"
|
3984 |
msgstr ""
|
3985 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3986 |
#: modules/gadsense/admin/views/connect-adsense.php:35
|
3987 |
msgid "Please enter the confirmation code."
|
3988 |
msgstr ""
|
3989 |
|
|
|
3990 |
#: modules/gadsense/admin/views/connect-adsense.php:39
|
|
|
|
|
|
|
|
|
|
|
3991 |
msgid "Submit code"
|
3992 |
msgstr ""
|
3993 |
|
3994 |
-
#: modules/gadsense/admin/views/connect-adsense.php:
|
3995 |
msgid "Cannot access your account information."
|
3996 |
msgstr ""
|
3997 |
|
3998 |
-
#: modules/gadsense/admin/views/connect-adsense.php:
|
3999 |
msgid "Please select an account"
|
4000 |
msgstr ""
|
4001 |
|
4002 |
-
#: modules/gadsense/admin/views/connect-adsense.php:
|
4003 |
msgid "Use this account"
|
4004 |
msgstr ""
|
4005 |
|
4006 |
-
|
4007 |
-
|
4008 |
-
#, php-format
|
4009 |
-
msgid "Insert new %1$s code"
|
4010 |
-
msgstr ""
|
4011 |
-
|
4012 |
-
#: modules/gadsense/admin/views/external-ads-links.php:17
|
4013 |
-
msgid "Get ad code from your linked account"
|
4014 |
msgstr ""
|
4015 |
|
4016 |
-
|
4017 |
-
|
4018 |
-
#, php-format
|
4019 |
-
msgid "Set up %1$s code manually"
|
4020 |
msgstr ""
|
4021 |
|
4022 |
-
|
4023 |
-
|
4024 |
-
#, php-format
|
4025 |
-
msgid "Connect to %1$s"
|
4026 |
msgstr ""
|
4027 |
|
4028 |
-
#: modules/
|
4029 |
-
|
4030 |
-
|
|
|
4031 |
msgstr ""
|
4032 |
|
4033 |
-
#: modules/
|
4034 |
-
|
4035 |
-
|
4036 |
-
|
|
|
4037 |
msgstr ""
|
4038 |
|
4039 |
-
#: modules/
|
4040 |
-
|
4041 |
-
msgctxt "AdSense ad"
|
4042 |
-
msgid "Slot ID"
|
4043 |
msgstr ""
|
4044 |
|
4045 |
-
#: modules/
|
4046 |
-
|
4047 |
-
|
4048 |
-
|
|
|
4049 |
msgstr ""
|
4050 |
|
4051 |
-
#: modules/
|
4052 |
-
|
4053 |
-
msgid "Size"
|
4054 |
msgstr ""
|
4055 |
|
4056 |
-
#: modules/
|
4057 |
-
msgid "
|
4058 |
msgstr ""
|
4059 |
|
4060 |
-
#: modules/
|
4061 |
-
msgid "
|
4062 |
msgstr ""
|
4063 |
|
4064 |
-
#: modules/
|
4065 |
-
msgid "
|
4066 |
msgstr ""
|
4067 |
|
4068 |
-
#: modules/
|
4069 |
-
msgid "
|
4070 |
msgstr ""
|
4071 |
|
4072 |
-
#: modules/
|
4073 |
-
msgid "
|
4074 |
msgstr ""
|
4075 |
|
4076 |
-
#: modules/
|
4077 |
-
|
|
|
|
|
|
|
4078 |
msgstr ""
|
4079 |
|
4080 |
-
#: modules/
|
4081 |
-
msgid "
|
4082 |
msgstr ""
|
4083 |
|
4084 |
-
#: modules/
|
4085 |
msgid ""
|
4086 |
-
"
|
4087 |
-
"
|
4088 |
msgstr ""
|
4089 |
|
4090 |
-
#: modules/
|
4091 |
msgid ""
|
4092 |
-
"
|
4093 |
-
"
|
4094 |
msgstr ""
|
4095 |
|
4096 |
-
#: modules/
|
|
|
4097 |
msgid ""
|
4098 |
-
"
|
4099 |
-
"
|
4100 |
-
msgstr ""
|
4101 |
-
|
4102 |
-
#: modules/privacy/admin/views/setting-ad-ignore-consent.php:2
|
4103 |
-
msgid "privacy"
|
4104 |
msgstr ""
|
4105 |
|
4106 |
-
#: modules/
|
4107 |
-
#, php-format
|
4108 |
msgid ""
|
4109 |
-
"
|
4110 |
-
"
|
4111 |
msgstr ""
|
4112 |
|
4113 |
-
#: modules/
|
4114 |
-
msgid "
|
|
|
|
|
4115 |
msgstr ""
|
4116 |
|
4117 |
-
#: modules/
|
4118 |
-
msgid "
|
4119 |
msgstr ""
|
4120 |
|
4121 |
-
#: modules/
|
4122 |
-
msgid ""
|
4123 |
-
"Your users’ consent might get cached and show ads to users who didn’t give "
|
4124 |
-
"their consent yet. "
|
4125 |
msgstr ""
|
4126 |
|
4127 |
-
#: modules/
|
4128 |
-
#, php-format
|
4129 |
msgid ""
|
4130 |
-
"
|
4131 |
-
"
|
4132 |
msgstr ""
|
4133 |
|
4134 |
#. Description of the plugin
|
3 |
msgstr ""
|
4 |
"Project-Id-Version: Advanved Ads\n"
|
5 |
"Report-Msgid-Bugs-To: http://wordpress.org/plugins/plugin-name\n"
|
6 |
+
"POT-Creation-Date: 2020-01-27 08:27+0000\n"
|
7 |
"POT-Revision-Date: Wed Jul 13 2016 13:23:05 GMT+0200 (CEST)\n"
|
8 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
9 |
"Last-Translator: Thomas Maier <post@webzunft.de>\n"
|
23 |
"X-Poedit-Basepath: ../\n"
|
24 |
"X-Poedit-SearchPath-0: ."
|
25 |
|
26 |
+
#. %1$s is an anchor (link) opening tag, %2$s is the closing tag.
|
27 |
+
#: classes/ad-health-notices.php:854
|
28 |
+
#: modules/gadsense/includes/class-mapi.php:1513
|
29 |
+
#, php-format
|
30 |
+
msgid "Learn more about AdSense account issues %1$shere%2$s."
|
|
|
31 |
msgstr ""
|
32 |
|
33 |
+
#: classes/ad_type_plain.php:32
|
34 |
+
msgid "Plain Text and Code"
|
|
|
35 |
msgstr ""
|
36 |
|
37 |
+
#: classes/ad_type_plain.php:33
|
38 |
+
msgid ""
|
39 |
+
"Any ad network, Amazon, customized AdSense codes, shortcodes, and code like "
|
40 |
+
"JavaScript, HTML or PHP."
|
41 |
msgstr ""
|
42 |
|
43 |
+
#: classes/ad_type_plain.php:54
|
44 |
+
msgid "Insert plain text or code into this field."
|
45 |
msgstr ""
|
46 |
|
47 |
+
#: classes/ad_type_plain.php:95
|
48 |
+
msgid "Allow PHP"
|
49 |
msgstr ""
|
50 |
|
51 |
+
#: classes/ad_type_plain.php:99
|
52 |
+
msgid "Execute PHP code (wrapped in <code><?php ?></code>)"
|
53 |
msgstr ""
|
54 |
|
55 |
+
#: classes/ad_type_plain.php:102
|
56 |
+
msgid "No PHP tag detected in your code."
|
|
|
|
|
57 |
msgstr ""
|
58 |
|
59 |
+
#: classes/ad_type_plain.php:102 classes/ad_type_plain.php:125
|
60 |
+
msgid "Uncheck this checkbox for improved performance."
|
61 |
msgstr ""
|
62 |
|
63 |
+
#: classes/ad_type_plain.php:117
|
64 |
+
msgid "Allow shortcodes"
|
|
|
|
|
65 |
msgstr ""
|
66 |
|
67 |
+
#: classes/ad_type_plain.php:122
|
68 |
+
msgid "Execute shortcodes"
|
|
|
69 |
msgstr ""
|
70 |
|
71 |
+
#: classes/ad_type_plain.php:125
|
72 |
+
msgid "No shortcode detected in your code."
|
73 |
msgstr ""
|
74 |
|
75 |
+
#: classes/EDD_SL_Plugin_Updater.php:228
|
76 |
#, php-format
|
77 |
+
msgid ""
|
78 |
+
"There is a new version of %1$s available. %2$sView version %3$s details%4$s."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
79 |
msgstr ""
|
80 |
|
81 |
+
#: classes/EDD_SL_Plugin_Updater.php:236
|
|
|
82 |
#, php-format
|
83 |
msgid ""
|
84 |
+
"There is a new version of %1$s available. %2$sView version %3$s details%4$s "
|
85 |
+
"or %5$supdate now%6$s."
|
86 |
msgstr ""
|
87 |
|
88 |
+
#: classes/EDD_SL_Plugin_Updater.php:479
|
89 |
+
msgid "You do not have permission to install plugin updates"
|
90 |
msgstr ""
|
91 |
|
92 |
+
#: classes/EDD_SL_Plugin_Updater.php:479
|
93 |
+
msgid "Error"
|
94 |
msgstr ""
|
95 |
|
96 |
+
#: classes/filesystem.php:61
|
97 |
+
msgid "Could not access filesystem."
|
98 |
msgstr ""
|
99 |
|
100 |
+
#: classes/filesystem.php:65
|
101 |
+
msgid "Filesystem error."
|
102 |
msgstr ""
|
103 |
|
104 |
+
#: classes/filesystem.php:72
|
105 |
+
msgid "Unable to locate WordPress root directory."
|
106 |
msgstr ""
|
107 |
|
108 |
+
#: classes/filesystem.php:76
|
109 |
+
msgid "Unable to locate WordPress content directory (wp-content)."
|
110 |
msgstr ""
|
111 |
|
112 |
+
#: classes/filesystem.php:80
|
113 |
+
#, php-format
|
114 |
+
msgid "Unable to locate needed folder (%s)."
|
115 |
msgstr ""
|
116 |
|
117 |
+
#: classes/ad_type_image.php:34
|
118 |
+
msgid "Image Ad"
|
119 |
msgstr ""
|
120 |
|
121 |
+
#: classes/ad_type_image.php:35
|
122 |
+
msgid "Ads in various image formats."
|
|
|
123 |
msgstr ""
|
124 |
|
125 |
+
#: classes/ad_type_image.php:55
|
126 |
+
msgid "Insert File"
|
|
|
127 |
msgstr ""
|
128 |
|
129 |
+
#: classes/ad_type_image.php:55
|
130 |
+
msgid "Insert"
|
131 |
msgstr ""
|
132 |
|
133 |
+
#: classes/ad_type_image.php:55
|
134 |
+
msgid "select image"
|
135 |
msgstr ""
|
136 |
|
137 |
+
#: classes/ad_type_image.php:56
|
138 |
+
msgid "edit"
|
139 |
msgstr ""
|
140 |
|
141 |
+
#: classes/ad_type_image.php:64 classes/ad_type_dummy.php:45
|
142 |
+
msgid "URL"
|
|
|
|
|
|
|
143 |
msgstr ""
|
144 |
|
145 |
+
#: classes/ad_type_image.php:68
|
146 |
+
msgid "Link to target site including http(s)"
|
147 |
+
msgstr ""
|
148 |
+
|
149 |
+
#. $s is a size string like "728 x 90".
|
150 |
+
#. This string shows up on the ad edit page of
|
151 |
+
#. image ads if the size entered for the ad is
|
152 |
+
#. different from the size of the uploaded image.
|
153 |
+
#: classes/ad_type_image.php:214
|
154 |
#, php-format
|
155 |
+
msgid "Original size: %s"
|
156 |
msgstr ""
|
157 |
|
158 |
#: classes/ad_ajax_callbacks.php:236
|
248 |
msgid "headline 4 (%s)"
|
249 |
msgstr ""
|
250 |
|
251 |
+
#: classes/ad_placements.php:761
|
252 |
#, php-format
|
253 |
msgid "Set <em>%s</em> to show more ads"
|
254 |
msgstr ""
|
255 |
|
256 |
+
#: classes/ad_placements.php:762 admin/includes/class-settings.php:160
|
257 |
msgid "Disable level limitation"
|
258 |
msgstr ""
|
259 |
|
260 |
+
#: classes/frontend_checks.php:95
|
261 |
+
msgid "Random AdSense ads"
|
262 |
msgstr ""
|
263 |
|
264 |
+
#: classes/frontend_checks.php:109 admin/includes/class-settings.php:514
|
265 |
+
msgid "You look like a bot"
|
|
|
|
|
266 |
msgstr ""
|
267 |
|
268 |
+
#: classes/frontend_checks.php:123
|
269 |
+
msgid "Ad blocker enabled"
|
270 |
msgstr ""
|
271 |
|
272 |
+
#: classes/frontend_checks.php:135
|
273 |
+
#, php-format
|
274 |
+
msgid "<em>%s</em> filter does not exist"
|
275 |
msgstr ""
|
276 |
|
277 |
+
#: classes/frontend_checks.php:170
|
278 |
+
msgid "Ads are disabled on this page"
|
279 |
msgstr ""
|
280 |
|
281 |
+
#: classes/frontend_checks.php:183
|
282 |
+
msgid "Ads are disabled in the content of this page"
|
283 |
msgstr ""
|
284 |
|
285 |
+
#: classes/frontend_checks.php:195
|
286 |
+
msgid "the current post ID is 0 "
|
|
|
|
|
287 |
msgstr ""
|
288 |
|
289 |
+
#: classes/frontend_checks.php:209
|
290 |
+
msgid "Ads are disabled on all pages"
|
291 |
msgstr ""
|
292 |
|
293 |
+
#: classes/frontend_checks.php:222
|
294 |
+
msgid "Ads are disabled on 404 pages"
|
295 |
msgstr ""
|
296 |
|
297 |
+
#: classes/frontend_checks.php:235
|
298 |
+
msgid "Ads are disabled on non singular pages"
|
299 |
msgstr ""
|
300 |
|
301 |
+
#: classes/frontend_checks.php:248 classes/ad-debug.php:272
|
302 |
+
#: admin/includes/ad-health-notices.php:144
|
303 |
+
msgid ""
|
304 |
+
"Your website is using HTTPS, but the ad code contains HTTP and might not "
|
305 |
+
"work."
|
306 |
msgstr ""
|
307 |
|
308 |
+
#: classes/frontend_checks.php:249
|
309 |
+
#, php-format
|
310 |
+
msgid "Ad IDs: %s"
|
311 |
msgstr ""
|
312 |
|
313 |
+
#: classes/frontend_checks.php:261 admin/includes/ad-health-notices.php:120
|
314 |
+
#, php-format
|
315 |
+
msgid "Visible ads should not use the Header placement: %s"
|
316 |
msgstr ""
|
317 |
|
318 |
+
#: classes/frontend_checks.php:275 admin/includes/ad-health-notices.php:134
|
319 |
+
msgid "AdSense violation"
|
320 |
msgstr ""
|
321 |
|
322 |
+
#: classes/frontend_checks.php:276 admin/includes/ad-health-notices.php:135
|
323 |
+
msgid "Ad is hidden"
|
324 |
msgstr ""
|
325 |
|
326 |
+
#: classes/frontend_checks.php:277
|
|
|
|
|
|
|
|
|
327 |
#, php-format
|
328 |
+
msgid "IDs: %s"
|
329 |
msgstr ""
|
330 |
|
331 |
+
#: classes/frontend_checks.php:290
|
332 |
+
#, php-format
|
333 |
+
msgid "The following responsive AdSense ads are not showing up: %s"
|
334 |
msgstr ""
|
335 |
|
336 |
+
#: classes/frontend_checks.php:304
|
337 |
+
msgid "Consent not given"
|
|
|
|
|
338 |
msgstr ""
|
339 |
|
340 |
+
#: classes/frontend_checks.php:316
|
341 |
+
msgid "Debug Google Ad Manager"
|
342 |
msgstr ""
|
343 |
|
344 |
+
#: classes/frontend_checks.php:327
|
345 |
+
msgid "Auto ads code found"
|
346 |
msgstr ""
|
347 |
|
348 |
+
#: classes/frontend_checks.php:339
|
349 |
+
msgid "highlight ads"
|
350 |
msgstr ""
|
351 |
|
352 |
+
#: classes/frontend_checks.php:406
|
353 |
+
msgid "Ad Health"
|
354 |
msgstr ""
|
355 |
|
356 |
+
#: classes/frontend_checks.php:420
|
357 |
+
#, php-format
|
358 |
+
msgid "Show %d more notifications"
|
359 |
msgstr ""
|
360 |
|
361 |
+
#: classes/frontend_checks.php:437
|
362 |
+
msgid "Everything is fine"
|
363 |
msgstr ""
|
364 |
|
365 |
+
#: classes/frontend_checks.php:448 admin/includes/class-ad-type.php:837
|
366 |
+
msgid "Get help"
|
367 |
msgstr ""
|
368 |
|
369 |
+
#: classes/frontend_checks.php:505
|
370 |
+
msgid ""
|
371 |
+
"the following code is used for automatic error detection and only visible to "
|
372 |
+
"admins"
|
373 |
msgstr ""
|
374 |
|
375 |
+
#: classes/frontend_checks.php:815 classes/frontend_checks.php:827
|
376 |
+
#, php-format
|
377 |
+
msgid "Hi %s"
|
378 |
msgstr ""
|
379 |
|
380 |
+
#: classes/frontend_checks.php:815
|
381 |
+
#, php-format
|
382 |
+
msgid "Advanced Ads detected AdSense Auto ads (%sx) on this page."
|
383 |
msgstr ""
|
384 |
|
385 |
+
#: classes/frontend_checks.php:815 classes/frontend_checks.php:827
|
386 |
+
msgid "Is that correct?"
|
387 |
msgstr ""
|
388 |
|
389 |
+
#: classes/frontend_checks.php:817
|
390 |
+
msgid "All is fine"
|
|
|
|
|
391 |
msgstr ""
|
392 |
|
393 |
+
#: classes/frontend_checks.php:818
|
394 |
+
msgid "Something is off"
|
395 |
msgstr ""
|
396 |
|
397 |
+
#: classes/frontend_checks.php:820
|
398 |
+
msgid ""
|
399 |
+
"This is a one-time check from your friendly Advanced Ads plugin. It is only "
|
400 |
+
"visible to you."
|
401 |
msgstr ""
|
402 |
|
403 |
+
#: classes/frontend_checks.php:827
|
404 |
+
msgid ""
|
405 |
+
"Advanced Ads detected the AdSense Auto ads code and <strong>no ads on this "
|
406 |
+
"page</strong>."
|
407 |
msgstr ""
|
408 |
|
409 |
+
#: classes/frontend_checks.php:829
|
410 |
+
msgid "This is fine"
|
411 |
+
msgstr ""
|
412 |
+
|
413 |
+
#: classes/frontend_checks.php:830
|
414 |
+
msgid "I expected something else"
|
415 |
+
msgstr ""
|
416 |
+
|
417 |
+
#: classes/frontend_checks.php:832
|
418 |
+
msgid ""
|
419 |
+
"PS: this is a one-time check from your friendly Advanced Ads plugin. It is "
|
420 |
+
"only visible to you."
|
421 |
+
msgstr ""
|
422 |
+
|
423 |
+
#: classes/frontend_checks.php:835 classes/frontend_checks.php:843
|
424 |
+
msgid "Just click on your problem to learn more from our knowledge base."
|
425 |
+
msgstr ""
|
426 |
+
|
427 |
+
#: classes/frontend_checks.php:836
|
428 |
+
msgid "I want to disable AdSense Auto ads"
|
429 |
+
msgstr ""
|
430 |
+
|
431 |
+
#: classes/frontend_checks.php:837 classes/frontend_checks.php:844
|
432 |
+
msgid "I don’t see any Auto ads"
|
433 |
+
msgstr ""
|
434 |
+
|
435 |
+
#: classes/frontend_checks.php:838
|
436 |
+
msgid "I only see blank space"
|
437 |
+
msgstr ""
|
438 |
+
|
439 |
+
#: classes/frontend_checks.php:839
|
440 |
+
msgid "I want to change the position of the ads"
|
441 |
+
msgstr ""
|
442 |
+
|
443 |
+
#: classes/frontend_checks.php:840
|
444 |
+
#: modules/gadsense/includes/class-network-adsense.php:202
|
445 |
+
msgid "Display Auto ads only on specific pages"
|
446 |
+
msgstr ""
|
447 |
+
|
448 |
+
#: classes/frontend_checks.php:845
|
449 |
+
msgid "How to look for the Auto ads code"
|
450 |
+
msgstr ""
|
451 |
+
|
452 |
+
#: classes/frontend_checks.php:846
|
453 |
+
msgid "I have another question or problem"
|
454 |
+
msgstr ""
|
455 |
+
|
456 |
+
#: classes/frontend_checks.php:849
|
457 |
+
msgid "Closing the message"
|
458 |
+
msgstr ""
|
459 |
+
|
460 |
+
#: classes/ad_type_group.php:30 admin/views/ad-group-list-header.php:15
|
461 |
+
msgid "Ad Group"
|
462 |
+
msgstr ""
|
463 |
+
|
464 |
+
#: classes/ad_type_group.php:31
|
465 |
+
msgid ""
|
466 |
+
"Choose an existing ad group. Use this type when you want to assign the same "
|
467 |
+
"display and visitor conditions to all ads in that group."
|
468 |
+
msgstr ""
|
469 |
+
|
470 |
+
#: classes/ad_type_group.php:85
|
471 |
+
msgid "ad group"
|
472 |
+
msgstr ""
|
473 |
+
|
474 |
+
#: classes/visitor-conditions.php:40
|
475 |
+
msgid "device"
|
476 |
+
msgstr ""
|
477 |
+
|
478 |
+
#: classes/visitor-conditions.php:41
|
479 |
+
msgid "Display ads only on mobile devices or hide them."
|
480 |
+
msgstr ""
|
481 |
+
|
482 |
+
#: classes/visitor-conditions.php:47
|
483 |
+
msgid "logged-in visitor"
|
484 |
+
msgstr ""
|
485 |
+
|
486 |
+
#: classes/visitor-conditions.php:48
|
487 |
+
msgid "Whether the visitor has to be logged in or not in order to see the ads."
|
488 |
+
msgstr ""
|
489 |
+
|
490 |
+
#: classes/visitor-conditions.php:116
|
491 |
+
#, php-format
|
492 |
+
msgid ""
|
493 |
+
"Display ads by the available space on the device or target tablets with the "
|
494 |
+
"<a href=\"%s\" target=\"_blank\">Responsive add-on</a>"
|
495 |
+
msgstr ""
|
496 |
+
|
497 |
+
#: classes/visitor-conditions.php:257
|
498 |
+
msgid "browser language"
|
499 |
+
msgstr ""
|
500 |
+
|
501 |
+
#: classes/visitor-conditions.php:258
|
502 |
+
msgid "cookie"
|
503 |
+
msgstr ""
|
504 |
+
|
505 |
+
#: classes/visitor-conditions.php:259
|
506 |
+
msgid "max. ad clicks"
|
507 |
+
msgstr ""
|
508 |
+
|
509 |
+
#: classes/visitor-conditions.php:260
|
510 |
+
msgid "max. ad impressions"
|
511 |
+
msgstr ""
|
512 |
+
|
513 |
+
#: classes/visitor-conditions.php:261
|
514 |
+
msgid "new visitor"
|
515 |
+
msgstr ""
|
516 |
+
|
517 |
+
#: classes/visitor-conditions.php:262
|
518 |
+
msgid "page impressions"
|
519 |
+
msgstr ""
|
520 |
+
|
521 |
+
#: classes/visitor-conditions.php:263
|
522 |
+
msgid "referrer url"
|
523 |
+
msgstr ""
|
524 |
+
|
525 |
+
#: classes/visitor-conditions.php:264
|
526 |
+
msgid "user agent"
|
527 |
+
msgstr ""
|
528 |
+
|
529 |
+
#: classes/visitor-conditions.php:265
|
530 |
+
msgid "user can (capabilities)"
|
531 |
+
msgstr ""
|
532 |
+
|
533 |
+
#: classes/visitor-conditions.php:266
|
534 |
+
msgid "user role"
|
535 |
+
msgstr ""
|
536 |
+
|
537 |
+
#: classes/visitor-conditions.php:269
|
538 |
+
msgid "geo location"
|
539 |
+
msgstr ""
|
540 |
+
|
541 |
+
#: classes/visitor-conditions.php:272
|
542 |
+
msgid "browser width"
|
543 |
+
msgstr ""
|
544 |
+
|
545 |
+
#: classes/visitor-conditions.php:298 classes/display-conditions.php:282
|
546 |
+
#: admin/class-advanced-ads-admin.php:232
|
547 |
+
#: modules/gadsense/admin/views/external-ads-links.php:17
|
548 |
+
#: modules/gadsense/admin/views/external-ads-links.php:22
|
549 |
+
#: modules/gadsense/admin/views/external-ads-links.php:29
|
550 |
+
msgid "or"
|
551 |
+
msgstr ""
|
552 |
+
|
553 |
+
#: classes/visitor-conditions.php:298 classes/display-conditions.php:282
|
554 |
+
#: admin/class-advanced-ads-admin.php:233
|
555 |
+
msgid "and"
|
556 |
+
msgstr ""
|
557 |
+
|
558 |
+
#: classes/ad_type_content.php:35
|
559 |
+
msgid "Rich Content"
|
560 |
+
msgstr ""
|
561 |
+
|
562 |
+
#: classes/ad_type_content.php:36
|
563 |
+
msgid ""
|
564 |
+
"The full content editor from WordPress with all features like shortcodes, "
|
565 |
+
"image upload or styling, but also simple text/html mode for scripts and code."
|
566 |
+
msgstr ""
|
567 |
+
|
568 |
+
#: classes/display-conditions.php:88
|
569 |
+
msgid "post type"
|
570 |
+
msgstr ""
|
571 |
+
|
572 |
+
#: classes/display-conditions.php:89 includes/array_ad_conditions.php:40
|
573 |
+
msgid "Choose the public post types on which to display the ad."
|
574 |
+
msgstr ""
|
575 |
+
|
576 |
+
#: classes/display-conditions.php:96
|
577 |
+
msgid "specific pages"
|
578 |
+
msgstr ""
|
579 |
+
|
580 |
+
#: classes/display-conditions.php:97 includes/array_ad_conditions.php:58
|
581 |
+
msgid ""
|
582 |
+
"Choose on which individual posts, pages and public post type pages you want "
|
583 |
+
"to display or hide ads."
|
584 |
+
msgstr ""
|
585 |
+
|
586 |
+
#: classes/display-conditions.php:103
|
587 |
+
msgid "general conditions"
|
588 |
+
msgstr ""
|
589 |
+
|
590 |
+
#: classes/display-conditions.php:110
|
591 |
+
msgid "author"
|
592 |
+
msgstr ""
|
593 |
+
|
594 |
+
#: classes/display-conditions.php:117
|
595 |
+
msgid "content age"
|
596 |
+
msgstr ""
|
597 |
+
|
598 |
+
#: classes/display-conditions.php:118
|
599 |
msgid "Display ads based on age of the page."
|
600 |
msgstr ""
|
601 |
|
721 |
msgid "days"
|
722 |
msgstr ""
|
723 |
|
724 |
+
#: classes/ad-debug.php:32
|
725 |
+
msgid "The ad is displayed on the page"
|
|
|
|
|
726 |
msgstr ""
|
727 |
|
728 |
+
#: classes/ad-debug.php:34
|
729 |
+
msgid "The ad is not displayed on the page"
|
|
|
|
|
|
|
730 |
msgstr ""
|
731 |
|
732 |
+
#: classes/ad-debug.php:39
|
733 |
+
msgid "Current query is not identical to main query."
|
734 |
msgstr ""
|
735 |
|
736 |
+
#: classes/ad-debug.php:45
|
737 |
+
msgid "current post"
|
738 |
msgstr ""
|
739 |
|
740 |
+
#: classes/ad-debug.php:49
|
741 |
+
msgid "Current post is not identical to main post."
|
742 |
msgstr ""
|
743 |
|
744 |
+
#: classes/ad-debug.php:51
|
745 |
+
msgid "main post"
|
746 |
msgstr ""
|
747 |
|
748 |
+
#: classes/ad-debug.php:98
|
749 |
+
msgid "current query"
|
750 |
msgstr ""
|
751 |
|
752 |
+
#: classes/ad-debug.php:98
|
753 |
+
msgid "main query"
|
754 |
msgstr ""
|
755 |
|
756 |
+
#: classes/ad-debug.php:118 classes/ad-debug.php:167 classes/ad-debug.php:169
|
757 |
+
#: public/class-advanced-ads.php:739 admin/views/ad-group-list-ads.php:13
|
758 |
+
msgid "Ad"
|
759 |
msgstr ""
|
760 |
|
761 |
+
#: classes/ad-debug.php:121 public/class-advanced-ads.php:702
|
762 |
+
msgctxt "ad group singular name"
|
763 |
+
msgid "Ad Group"
|
764 |
msgstr ""
|
765 |
|
766 |
+
#: classes/ad-debug.php:128
|
767 |
+
msgid "Placement"
|
768 |
msgstr ""
|
769 |
|
770 |
+
#: classes/ad-debug.php:152 admin/includes/class-meta-box.php:79
|
771 |
+
msgid "Display Conditions"
|
772 |
msgstr ""
|
773 |
|
774 |
+
#: classes/ad-debug.php:239 admin/includes/class-meta-box.php:82
|
775 |
+
msgid "Visitor Conditions"
|
|
|
776 |
msgstr ""
|
777 |
|
778 |
+
#: classes/widget.php:22
|
779 |
+
msgid "Display Ads and Ad Groups."
|
780 |
msgstr ""
|
781 |
|
782 |
+
#: classes/widget.php:70
|
783 |
+
msgid "Title:"
|
784 |
msgstr ""
|
785 |
|
786 |
+
#: classes/widget.php:76 admin/includes/class-shortcode-creator.php:82
|
787 |
+
#: modules/gutenberg/includes/class-gutenberg.php:77
|
788 |
+
msgid "--empty--"
|
789 |
msgstr ""
|
790 |
|
791 |
+
#: classes/widget.php:78 admin/includes/class-menu.php:95
|
792 |
+
#: admin/includes/class-shortcode-creator.php:98 admin/views/placements.php:36
|
793 |
+
#: modules/gutenberg/includes/class-gutenberg.php:81
|
794 |
+
#: modules/import-export/views/page.php:25
|
795 |
+
msgid "Placements"
|
796 |
msgstr ""
|
797 |
|
798 |
+
#: classes/widget.php:85 admin/includes/class-shortcode-creator.php:91
|
799 |
+
#: admin/views/placements-item.php:4 admin/views/placement-form.php:45
|
800 |
+
#: modules/gutenberg/includes/class-gutenberg.php:80
|
801 |
+
msgid "Ad Groups"
|
802 |
msgstr ""
|
803 |
|
804 |
+
#: classes/widget.php:92 public/class-advanced-ads.php:738
|
805 |
+
#: admin/includes/class-menu.php:68 admin/includes/class-menu.php:68
|
806 |
+
#: admin/includes/class-shortcode-creator.php:84
|
807 |
+
#: admin/views/placements-item.php:16 admin/views/ad-group-list-form-row.php:90
|
808 |
+
#: admin/views/placement-form.php:52 admin/views/ad-group-list-header.php:17
|
809 |
+
#: modules/gutenberg/includes/class-gutenberg.php:79
|
810 |
+
#: modules/import-export/views/page.php:23
|
811 |
+
msgid "Ads"
|
812 |
msgstr ""
|
813 |
|
814 |
+
#: classes/ad_type_dummy.php:26
|
815 |
+
msgid "Dummy"
|
|
|
816 |
msgstr ""
|
817 |
|
818 |
+
#: classes/ad_type_dummy.php:27
|
819 |
+
msgid "Uses a simple placeholder ad for quick testing."
|
|
|
820 |
msgstr ""
|
821 |
|
822 |
+
#: includes/array_ad_conditions.php:39
|
823 |
+
msgid "Post Types"
|
824 |
msgstr ""
|
825 |
|
826 |
+
#: includes/array_ad_conditions.php:45
|
827 |
+
msgid "Categories, Tags and Taxonomies"
|
828 |
msgstr ""
|
829 |
|
830 |
+
#: includes/array_ad_conditions.php:46
|
831 |
+
msgid ""
|
832 |
+
"Choose terms from public category, tag and other taxonomies a post must "
|
833 |
+
"belong to in order to have ads."
|
834 |
msgstr ""
|
835 |
|
836 |
+
#: includes/array_ad_conditions.php:51
|
837 |
+
msgid "Category Archives"
|
|
|
838 |
msgstr ""
|
839 |
|
840 |
+
#: includes/array_ad_conditions.php:52
|
841 |
+
msgid "comma seperated IDs of category archives"
|
842 |
msgstr ""
|
843 |
|
844 |
+
#: includes/array_ad_conditions.php:57
|
845 |
+
msgid "Individual Posts, Pages and Public Post Types"
|
846 |
msgstr ""
|
847 |
|
848 |
+
#: admin/class-advanced-ads-admin.php:234
|
849 |
+
msgid "After which paragraph?"
|
850 |
msgstr ""
|
851 |
|
852 |
+
#: admin/class-advanced-ads-admin.php:236
|
853 |
+
msgid "Today"
|
854 |
msgstr ""
|
855 |
|
856 |
+
#: admin/class-advanced-ads-admin.php:237
|
857 |
+
msgid "Yesterday"
|
858 |
msgstr ""
|
859 |
|
860 |
+
#: admin/class-advanced-ads-admin.php:238
|
861 |
+
msgid "This Month"
|
|
|
862 |
msgstr ""
|
863 |
|
864 |
+
#. 1: The number of days.
|
865 |
+
#: admin/class-advanced-ads-admin.php:240
|
866 |
+
#, php-format
|
867 |
+
msgid "Last %1$d days"
|
868 |
msgstr ""
|
869 |
|
870 |
+
#: admin/class-advanced-ads-admin.php:243
|
871 |
+
msgid "All"
|
872 |
msgstr ""
|
873 |
|
874 |
+
#: admin/class-advanced-ads-admin.php:244
|
875 |
msgid ""
|
876 |
+
"There were no results returned for this ad. Please make sure it is active, "
|
877 |
+
"generating impressions and double check your ad parameters."
|
|
|
|
|
|
|
|
|
878 |
msgstr ""
|
879 |
|
880 |
+
#: admin/class-advanced-ads-admin.php:245
|
881 |
+
#: modules/gadsense/admin/views/external-ads-list.php:33
|
882 |
+
msgid "Show inactive ads"
|
883 |
msgstr ""
|
884 |
|
885 |
+
#: admin/class-advanced-ads-admin.php:246
|
886 |
+
msgid "Hide inactive ads"
|
887 |
msgstr ""
|
888 |
|
889 |
+
#: admin/class-advanced-ads-admin.php:248
|
890 |
+
msgid "There has been an AJAX error caused by another plugin."
|
891 |
msgstr ""
|
892 |
|
893 |
+
#. %1$s is an opening link tag, %2$s is a closing one.
|
894 |
+
#: admin/class-advanced-ads-admin.php:251
|
895 |
#, php-format
|
896 |
+
msgid "Please contact our %1$ssupport%2$s."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
897 |
msgstr ""
|
898 |
|
899 |
+
#: admin/class-advanced-ads-admin.php:364
|
900 |
+
#, php-format
|
901 |
+
msgid "time of %s"
|
|
|
|
|
|
|
|
|
|
|
|
|
902 |
msgstr ""
|
903 |
|
904 |
+
#: admin/class-advanced-ads-admin.php:438 admin/includes/class-menu.php:113
|
905 |
+
#: admin/includes/class-menu.php:116 admin/views/settings.php:28
|
906 |
+
msgid "Support"
|
907 |
msgstr ""
|
908 |
|
909 |
+
#: admin/class-advanced-ads-admin.php:442
|
910 |
+
#: admin/includes/class-overview-widgets.php:58
|
911 |
+
msgid "Add-Ons"
|
912 |
msgstr ""
|
913 |
|
914 |
+
#: admin/class-advanced-ads-admin.php:711
|
915 |
+
#: admin/includes/class-overview-widgets.php:181
|
916 |
+
#, php-format
|
917 |
msgid ""
|
918 |
+
"Thank the developer with a ★★★★★ review on <a "
|
919 |
+
"href=\"%s\" target=\"_blank\">wordpress.org</a>"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
920 |
msgstr ""
|
921 |
|
922 |
#: public/class-advanced-ads.php:377
|
1031 |
"recommended. Please ask your hosting provider for more information."
|
1032 |
msgstr ""
|
1033 |
|
1034 |
+
#: admin/includes/ad-health-notices.php:42
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1035 |
#, php-format
|
1036 |
msgid ""
|
1037 |
"Plugins that are known to cause (partial) problems: <strong>%1$s</strong>. "
|
1038 |
"<a href=\"%2$s\" target=\"_blank\">Learn more</a>."
|
1039 |
msgstr ""
|
1040 |
|
1041 |
+
#: admin/includes/ad-health-notices.php:53 admin/views/placements.php:140
|
1042 |
#, php-format
|
1043 |
msgid ""
|
1044 |
"Missing PHP extensions could cause issues. Please ask your hosting provider "
|
1045 |
"to enable them: %s"
|
1046 |
msgstr ""
|
1047 |
|
1048 |
+
#: admin/includes/ad-health-notices.php:63
|
1049 |
#, php-format
|
1050 |
msgid ""
|
1051 |
"Ads are disabled for all or some pages. See \"disabled ads\" in <a "
|
1052 |
"href=\"%s\">settings</a>."
|
1053 |
msgstr ""
|
1054 |
|
1055 |
+
#: admin/includes/ad-health-notices.php:71 admin/views/support.php:25
|
1056 |
msgid "Advanced Ads related constants enabled"
|
1057 |
msgstr ""
|
1058 |
|
1059 |
+
#: admin/includes/ad-health-notices.php:79
|
1060 |
#, php-format
|
1061 |
msgid ""
|
1062 |
"Possible conflict between jQueryUI library, used by Advanced Ads and other "
|
1064 |
"to misfortunate formats in forms, but should not damage features."
|
1065 |
msgstr ""
|
1066 |
|
1067 |
+
#: admin/includes/ad-health-notices.php:89
|
1068 |
#, php-format
|
1069 |
msgid ""
|
1070 |
"Some assets were changed. Please <strong>rebuild the asset folder</strong> "
|
1072 |
"disguise."
|
1073 |
msgstr ""
|
1074 |
|
1075 |
+
#: admin/includes/ad-health-notices.php:98 admin/includes/notices.php:36
|
1076 |
msgid ""
|
1077 |
"One or more license keys for <strong>Advanced Ads add-ons are invalid or "
|
1078 |
"missing</strong>."
|
1079 |
msgstr ""
|
1080 |
|
1081 |
+
#: admin/includes/ad-health-notices.php:101 admin/includes/notices.php:36
|
1082 |
#, php-format
|
1083 |
msgid "Please add valid license keys <a href=\"%s\">here</a>."
|
1084 |
msgstr ""
|
1085 |
|
1086 |
+
#: admin/includes/ad-health-notices.php:110
|
1087 |
msgid "Ad expired"
|
1088 |
msgstr ""
|
1089 |
|
1090 |
+
#: admin/includes/ad-health-notices.php:157
|
1091 |
+
#: admin/includes/ad-health-notices.php:164
|
1092 |
+
#: modules/gadsense/includes/class-mapi.php:89
|
1093 |
msgid "Last AdSense account connection attempt failed."
|
1094 |
msgstr ""
|
1095 |
|
1096 |
#. %1$s is the opening a tag and %2$s the closing one.
|
1097 |
+
#: admin/includes/ad-health-notices.php:166
|
1098 |
#, php-format
|
1099 |
msgid "Create a new AdSense account %1$shere%2$s."
|
1100 |
msgstr ""
|
1101 |
|
1102 |
+
#: admin/includes/ad-health-notices.php:176
|
1103 |
+
#: admin/includes/ad-health-notices.php:186
|
1104 |
+
#: admin/includes/ad-health-notices.php:196
|
1105 |
msgid ""
|
1106 |
"One of your sites is missing the AdSense publisher ID in the ads.txt file."
|
1107 |
msgstr ""
|
1108 |
|
1109 |
+
#: admin/includes/ad-health-notices.php:178
|
1110 |
+
#: admin/includes/ad-health-notices.php:188
|
1111 |
+
#: admin/includes/ad-health-notices.php:198
|
1112 |
msgctxt "related to ads.txt file"
|
1113 |
msgid "Create one now."
|
1114 |
msgstr ""
|
1115 |
|
1116 |
#. %s is a filter hook, here `the_content`
|
1117 |
+
#: admin/includes/ad-health-notices.php:206
|
1118 |
#, php-format
|
1119 |
msgid "<strong>%s</strong> filter found multiple times."
|
1120 |
msgstr ""
|
1121 |
|
1122 |
+
#: admin/includes/ad-health-notices.php:208
|
1123 |
msgid "Advanced Ads uses the outermost of them."
|
1124 |
msgstr ""
|
1125 |
|
1126 |
#. %1$s is a plugin name, %2$s is the opening a tag and %3$s the closing one.
|
1127 |
+
#: admin/includes/ad-health-notices.php:217
|
1128 |
+
#: admin/includes/ad-health-notices.php:228
|
1129 |
+
#: admin/includes/ad-health-notices.php:239
|
1130 |
+
#: admin/includes/ad-health-notices.php:252
|
1131 |
#, php-format
|
1132 |
msgid "Learn how to integrate %1$s with Advanced Ads %2$shere%3$s."
|
1133 |
msgstr ""
|
1134 |
|
1135 |
#. %s is a service or plugin name.
|
1136 |
+
#: admin/includes/ad-health-notices.php:266
|
1137 |
#: modules/ads-txt/admin/class-advanced-ads-ads-txt-admin.php:196
|
1138 |
#, php-format
|
1139 |
msgid "%s detected."
|
1140 |
msgstr ""
|
1141 |
|
1142 |
+
#: admin/includes/ad-health-notices.php:267
|
1143 |
msgid "Learn how this might impact your ad setup."
|
1144 |
msgstr ""
|
1145 |
|
1146 |
+
#: admin/includes/ad-health-notices.php:278
|
1147 |
#, php-format
|
1148 |
msgid ""
|
1149 |
"Advanced Ads handles your ads.txt file automatically. You might be able to "
|
1150 |
"<strong>remove %1$s</strong>."
|
1151 |
msgstr ""
|
1152 |
|
1153 |
+
#: admin/includes/ad-health-notices.php:289
|
1154 |
msgid "Advanced Ads handles header and footer codes."
|
1155 |
msgstr ""
|
1156 |
|
1157 |
+
#: admin/includes/ad-health-notices.php:290
|
1158 |
#, php-format
|
1159 |
msgid "You might be able to <strong>remove %1$s</strong>."
|
1160 |
msgstr ""
|
1161 |
|
1162 |
+
#: admin/includes/ad-health-notices.php:293
|
1163 |
msgid "Learn how."
|
1164 |
msgstr ""
|
1165 |
|
1166 |
+
#: admin/includes/class-ad-type.php:242 admin/includes/class-ad-type.php:248
|
1167 |
+
msgid "Ad Details"
|
1168 |
msgstr ""
|
1169 |
|
1170 |
+
#: admin/includes/class-ad-type.php:243 admin/includes/class-ad-type.php:249
|
1171 |
+
msgid "Ad Planning"
|
|
|
|
|
1172 |
msgstr ""
|
1173 |
|
1174 |
+
#: admin/includes/class-ad-type.php:244 admin/includes/class-ad-type.php:250
|
1175 |
+
msgid "Ad Shortcode"
|
|
|
|
|
1176 |
msgstr ""
|
1177 |
|
1178 |
+
#: admin/includes/class-ad-type.php:410
|
|
|
1179 |
#, php-format
|
1180 |
+
msgid "%s ad updated."
|
1181 |
+
msgid_plural "%s ads updated."
|
1182 |
+
msgstr[0] ""
|
1183 |
+
msgstr[1] ""
|
1184 |
|
1185 |
+
#: admin/includes/class-ad-type.php:412
|
1186 |
#, php-format
|
1187 |
+
msgid "%s ad not updated, somebody is editing it."
|
1188 |
+
msgid_plural "%s ads not updated, somebody is editing them."
|
1189 |
+
msgstr[0] ""
|
1190 |
+
msgstr[1] ""
|
1191 |
|
1192 |
+
#: admin/includes/class-ad-type.php:414
|
1193 |
+
#, php-format
|
1194 |
+
msgid "%s ad permanently deleted."
|
1195 |
+
msgid_plural "%s ads permanently deleted."
|
1196 |
+
msgstr[0] ""
|
1197 |
+
msgstr[1] ""
|
1198 |
|
1199 |
+
#: admin/includes/class-ad-type.php:416
|
1200 |
#, php-format
|
1201 |
+
msgid "%s ad moved to the Trash."
|
1202 |
+
msgid_plural "%s ads moved to the Trash."
|
1203 |
+
msgstr[0] ""
|
1204 |
+
msgstr[1] ""
|
1205 |
|
1206 |
+
#: admin/includes/class-ad-type.php:418
|
1207 |
+
#, php-format
|
1208 |
+
msgid "%s ad restored from the Trash."
|
1209 |
+
msgid_plural "%s ads restored from the Trash."
|
1210 |
+
msgstr[0] ""
|
1211 |
+
msgstr[1] ""
|
1212 |
+
|
1213 |
+
#: admin/includes/class-ad-type.php:768 admin/includes/class-ad-type.php:769
|
1214 |
+
msgid "Ad updated."
|
1215 |
msgstr ""
|
1216 |
|
1217 |
+
#. translators: %s: date and time of the revision
|
1218 |
+
#: admin/includes/class-ad-type.php:770
|
1219 |
+
#, php-format
|
1220 |
+
msgid "Ad restored to revision from %s"
|
1221 |
msgstr ""
|
1222 |
|
1223 |
+
#: admin/includes/class-ad-type.php:771 admin/includes/class-ad-type.php:772
|
1224 |
+
msgid "Ad saved."
|
1225 |
msgstr ""
|
1226 |
|
1227 |
+
#: admin/includes/class-ad-type.php:773
|
1228 |
+
msgid "Ad submitted."
|
1229 |
msgstr ""
|
1230 |
|
1231 |
+
#: admin/includes/class-ad-type.php:776
|
1232 |
+
#, php-format
|
1233 |
+
msgid "Ad scheduled for: <strong>%1$s</strong>."
|
1234 |
msgstr ""
|
1235 |
|
1236 |
+
#. translators: Publish box date format, see http://php.net/date
|
1237 |
+
#: admin/includes/class-ad-type.php:778
|
1238 |
+
msgid "M j, Y @ G:i"
|
1239 |
msgstr ""
|
1240 |
|
1241 |
+
#: admin/includes/class-ad-type.php:780
|
1242 |
+
msgid "Ad draft updated."
|
1243 |
msgstr ""
|
1244 |
|
1245 |
+
#: admin/includes/class-ad-type.php:836
|
1246 |
+
msgid ""
|
1247 |
+
"You don’t have access to ads. Please deactivate and re-enable Advanced Ads "
|
1248 |
+
"again to fix this."
|
1249 |
msgstr ""
|
1250 |
|
1251 |
+
#: admin/includes/notices.php:15
|
1252 |
+
msgid ""
|
1253 |
+
"Thank you for activating <strong>Advanced Ads</strong>. Would you like to "
|
1254 |
+
"receive the first steps via email?"
|
1255 |
msgstr ""
|
1256 |
|
1257 |
+
#: admin/includes/notices.php:16
|
1258 |
+
msgid "Yes, send it"
|
|
|
1259 |
msgstr ""
|
1260 |
|
1261 |
+
#: admin/includes/notices.php:22
|
1262 |
+
msgid ""
|
1263 |
+
"Thank you for using <strong>Advanced Ads</strong>. Stay informed and receive "
|
1264 |
+
"<strong>2 free add-ons</strong> for joining the newsletter."
|
1265 |
msgstr ""
|
1266 |
|
1267 |
+
#: admin/includes/notices.php:23
|
1268 |
+
msgid "Add me now"
|
1269 |
msgstr ""
|
1270 |
|
1271 |
+
#: admin/includes/notices.php:29
|
1272 |
+
msgid ""
|
1273 |
+
"Learn more about how and <strong>how much you can earn with AdSense</strong> "
|
1274 |
+
"and Advanced Ads from my dedicated newsletter."
|
1275 |
msgstr ""
|
1276 |
|
1277 |
+
#: admin/includes/notices.php:30 admin/views/notices/subscribe.php:3
|
1278 |
+
#: admin/views/notices/inline.php:3
|
1279 |
+
msgid "Subscribe me now"
|
1280 |
msgstr ""
|
1281 |
|
1282 |
+
#: admin/includes/notices.php:44
|
1283 |
+
msgid "… ads created using <strong>Advanced Ads</strong>."
|
1284 |
+
msgstr ""
|
|
|
|
|
|
|
1285 |
|
1286 |
+
#: admin/includes/notices.php:45
|
1287 |
+
msgid ""
|
1288 |
+
"Do you find the plugin useful and would like to thank us for updates, fixing "
|
1289 |
+
"bugs and improving your ad setup?"
|
1290 |
+
msgstr ""
|
|
|
1291 |
|
1292 |
+
#. this belongs to our message asking the user for a review. You can find a nice equivalent in your own language
|
1293 |
+
#: admin/includes/notices.php:48
|
1294 |
+
msgid "When you give 5-stars, an actual person does a little happy dance!"
|
1295 |
+
msgstr ""
|
|
|
|
|
1296 |
|
1297 |
+
#: admin/includes/notices.php:50
|
1298 |
+
msgid "Sure, I appreciate your work"
|
1299 |
+
msgstr ""
|
1300 |
+
|
1301 |
+
#: admin/includes/notices.php:51
|
1302 |
+
msgid "Yes, but help me first to solve a problem, please"
|
1303 |
+
msgstr ""
|
1304 |
|
1305 |
+
#. %s is a link. `30%%` is correct, please use exactly that value so that it shows "30%".
|
1306 |
+
#: admin/includes/notices.php:60
|
1307 |
#, php-format
|
1308 |
+
msgid ""
|
1309 |
+
"Our Black Friday / Cyber Monday Offer: <span style=\"font-weight: bold; font-"
|
1310 |
+
"size: 1.4em; color: green;\">-30%%</span> on all add-ons and All Access.<a "
|
1311 |
+
"class=\"button button-primary\" target=\"_blank\" href=\"%s\">Get All "
|
1312 |
+
"Access</a>"
|
1313 |
+
msgstr ""
|
1314 |
|
1315 |
+
#: admin/includes/class-list-filters.php:143
|
1316 |
+
#: modules/gadsense/admin/admin.php:25
|
1317 |
+
#: modules/gadsense/admin/views/adsense-ad-parameters.php:109
|
1318 |
+
msgid "Responsive"
|
1319 |
msgstr ""
|
1320 |
|
1321 |
+
#: admin/includes/class-list-filters.php:152
|
1322 |
+
msgid "expired"
|
|
|
|
|
1323 |
msgstr ""
|
1324 |
|
1325 |
+
#: admin/includes/class-list-filters.php:156
|
1326 |
+
msgid "any expiry date"
|
1327 |
msgstr ""
|
1328 |
|
1329 |
+
#: admin/includes/class-meta-box.php:55
|
1330 |
+
msgid "Ad Type"
|
1331 |
+
msgstr ""
|
1332 |
+
|
1333 |
+
#: admin/includes/class-meta-box.php:64
|
1334 |
+
#: admin/includes/class-overview-widgets.php:53
|
1335 |
+
msgid "AdSense Earnings"
|
1336 |
+
msgstr ""
|
1337 |
+
|
1338 |
+
#: admin/includes/class-meta-box.php:73
|
1339 |
+
msgid "Ad Parameters"
|
1340 |
+
msgstr ""
|
1341 |
+
|
1342 |
+
#: admin/includes/class-meta-box.php:76 admin/includes/class-settings.php:66
|
1343 |
+
msgid "Layout / Output"
|
1344 |
+
msgstr ""
|
1345 |
+
|
1346 |
+
#: admin/includes/class-meta-box.php:86
|
1347 |
+
msgid "Increase your ad revenue"
|
1348 |
+
msgstr ""
|
1349 |
+
|
1350 |
+
#: admin/includes/class-meta-box.php:91
|
1351 |
+
msgid "Ad Stats"
|
1352 |
+
msgstr ""
|
1353 |
+
|
1354 |
+
#: admin/includes/class-meta-box.php:153 admin/includes/class-meta-box.php:164
|
1355 |
+
#: admin/includes/class-meta-box.php:169 admin/includes/class-settings.php:607
|
1356 |
+
#: admin/views/ad-output-metabox.php:82
|
1357 |
+
#: modules/privacy/admin/views/setting-enable.php:2
|
1358 |
+
#: modules/ads-txt/admin/views/setting-create.php:11
|
1359 |
+
msgid "Manual"
|
1360 |
+
msgstr ""
|
1361 |
+
|
1362 |
+
#: admin/includes/class-meta-box.php:163
|
1363 |
+
msgid "Video"
|
1364 |
+
msgstr ""
|
1365 |
+
|
1366 |
+
#: admin/includes/class-meta-box.php:198
|
1367 |
+
#: admin/includes/class-overview-widgets.php:51
|
1368 |
+
msgid "Disable"
|
1369 |
+
msgstr ""
|
1370 |
+
|
1371 |
+
#: admin/includes/class-meta-box.php:311
|
1372 |
+
msgid "Ad Settings"
|
1373 |
+
msgstr ""
|
1374 |
+
|
1375 |
+
#: admin/includes/class-meta-box.php:413 admin/views/overview.php:6
|
1376 |
+
msgid "Ads Dashboard"
|
1377 |
msgstr ""
|
1378 |
|
1379 |
+
#: admin/includes/class-meta-box.php:424
|
1380 |
#, php-format
|
1381 |
+
msgid "%d ads – <a href=\"%s\">manage</a> - <a href=\"%s\">new</a>"
|
1382 |
msgstr ""
|
1383 |
|
1384 |
+
#: admin/includes/class-meta-box.php:435
|
1385 |
+
msgid "Get the tutorial via email"
|
|
|
1386 |
msgstr ""
|
1387 |
|
1388 |
+
#: admin/includes/class-meta-box.php:442
|
1389 |
+
msgid "Get AdSense tips via email"
|
1390 |
msgstr ""
|
1391 |
|
1392 |
+
#: admin/includes/class-meta-box.php:449
|
1393 |
+
msgid "Visit our blog for more articles about ad optimization"
|
1394 |
+
msgstr ""
|
1395 |
+
|
1396 |
+
#. %s is our URL
|
1397 |
+
#: admin/includes/class-meta-box.php:502
|
1398 |
+
msgid "Latest posts on wpadvancedads.com"
|
1399 |
msgstr ""
|
1400 |
|
1401 |
#: admin/includes/class-licenses.php:90
|
1442 |
msgstr ""
|
1443 |
|
1444 |
#. %s is a list of server information like IP address. Just keep it as is.
|
1445 |
+
#: admin/includes/class-licenses.php:248
|
1446 |
#, php-format
|
1447 |
msgid ""
|
1448 |
"Your request was blocked by our firewall. Please send us the following "
|
1449 |
"information to unblock you: %s."
|
1450 |
msgstr ""
|
1451 |
|
1452 |
+
#: admin/includes/class-licenses.php:312
|
1453 |
msgid "Error while trying to disable the license. Please contact support."
|
1454 |
msgstr ""
|
1455 |
|
1456 |
+
#: admin/includes/class-licenses.php:347 admin/includes/class-licenses.php:370
|
1457 |
msgid "License couldn’t be deactivated. Please try again later."
|
1458 |
msgstr ""
|
1459 |
|
1460 |
+
#: admin/includes/class-licenses.php:596
|
1461 |
#, php-format
|
1462 |
msgid "Download failed. <a href=\"%s\">Click here to try another method</a>."
|
1463 |
msgstr ""
|
1464 |
|
1465 |
+
#: admin/includes/class-licenses.php:598
|
1466 |
#, php-format
|
1467 |
msgid ""
|
1468 |
"Download failed. <a href=\"%s\" target=\"_blank\">Click here to learn why</a>"
|
1469 |
"."
|
1470 |
msgstr ""
|
1471 |
|
1472 |
+
#: admin/includes/shortcode-creator-l10n.php:10
|
1473 |
+
msgctxt "shortcode creator"
|
1474 |
+
msgid "Add an ad"
|
|
|
1475 |
msgstr ""
|
1476 |
|
1477 |
+
#: admin/includes/shortcode-creator-l10n.php:11
|
1478 |
+
msgctxt "shortcode creator"
|
1479 |
+
msgid "Add shortcode"
|
1480 |
msgstr ""
|
1481 |
|
1482 |
+
#: admin/includes/shortcode-creator-l10n.php:12
|
1483 |
+
msgctxt "shortcode creator"
|
1484 |
+
msgid "Cancel"
|
1485 |
+
msgstr ""
|
1486 |
+
|
1487 |
+
#: admin/includes/class-notices.php:466
|
1488 |
+
#, php-format
|
1489 |
+
msgid ""
|
1490 |
+
"You don’t seem to have an email address. Please use <a href=\"%s\" "
|
1491 |
+
"target=\"_blank\">this form</a> to sign up."
|
1492 |
+
msgstr ""
|
1493 |
+
|
1494 |
+
#: admin/includes/class-notices.php:485
|
1495 |
+
msgid ""
|
1496 |
+
"How embarrassing. The email server seems to be down. Please try again later."
|
1497 |
+
msgstr ""
|
1498 |
+
|
1499 |
+
#: admin/includes/class-notices.php:492
|
1500 |
+
#, php-format
|
1501 |
+
msgid ""
|
1502 |
+
"Please check your email (%s) for the confirmation message. If you didn’t "
|
1503 |
+
"receive one or want to use another email address then please use <a "
|
1504 |
+
"href=\"%s\" target=\"_blank\">this form</a> to sign up."
|
1505 |
msgstr ""
|
1506 |
|
1507 |
#: admin/includes/class-menu.php:58 admin/includes/class-menu.php:74
|
1544 |
"deleted?"
|
1545 |
msgstr ""
|
1546 |
|
1547 |
+
#: admin/includes/class-settings.php:50
|
1548 |
+
msgid "Admin"
|
1549 |
msgstr ""
|
1550 |
|
1551 |
+
#: admin/includes/class-settings.php:58 admin/includes/class-settings.php:128
|
1552 |
+
msgid "Disable ads"
|
|
|
1553 |
msgstr ""
|
1554 |
|
1555 |
+
#: admin/includes/class-settings.php:74
|
1556 |
+
msgid "Content injection"
|
1557 |
msgstr ""
|
1558 |
|
1559 |
+
#: admin/includes/class-settings.php:136
|
1560 |
+
msgid "Hide ads for user roles"
|
1561 |
msgstr ""
|
1562 |
|
1563 |
+
#: admin/includes/class-settings.php:144
|
1564 |
+
msgid "Unlimited ad injection"
|
1565 |
msgstr ""
|
1566 |
|
1567 |
+
#: admin/includes/class-settings.php:152
|
1568 |
+
msgid "Priority of content injection filter"
|
1569 |
msgstr ""
|
1570 |
|
1571 |
+
#: admin/includes/class-settings.php:168
|
1572 |
+
msgid "Hide ads from bots"
|
|
|
|
|
|
|
|
|
1573 |
msgstr ""
|
1574 |
|
1575 |
+
#: admin/includes/class-settings.php:177
|
1576 |
+
msgid "Disable ads for post types"
|
1577 |
msgstr ""
|
1578 |
|
1579 |
+
#: admin/includes/class-settings.php:186
|
1580 |
+
msgid "Disable Ad Health and other notices"
|
|
|
1581 |
msgstr ""
|
1582 |
|
1583 |
+
#: admin/includes/class-settings.php:194
|
1584 |
+
msgid "ID prefix"
|
1585 |
msgstr ""
|
1586 |
|
1587 |
+
#: admin/includes/class-settings.php:202
|
1588 |
+
msgid "Allow editors to manage ads"
|
1589 |
msgstr ""
|
1590 |
|
1591 |
+
#: admin/includes/class-settings.php:210
|
1592 |
+
msgid "Ad label"
|
|
|
1593 |
msgstr ""
|
1594 |
|
1595 |
+
#: admin/includes/class-settings.php:219
|
1596 |
+
msgid "Open links in a new window"
|
1597 |
msgstr ""
|
1598 |
|
1599 |
+
#: admin/includes/class-settings.php:227
|
1600 |
+
msgid "Use advanced JavaScript"
|
1601 |
msgstr ""
|
1602 |
|
1603 |
+
#: admin/includes/class-settings.php:237
|
1604 |
+
msgid "Delete data on uninstall"
|
1605 |
msgstr ""
|
1606 |
|
1607 |
+
#: admin/includes/class-settings.php:247
|
1608 |
+
msgid "Disable shortcode button"
|
|
|
1609 |
msgstr ""
|
1610 |
|
1611 |
+
#: admin/includes/class-settings.php:286
|
1612 |
+
msgid "Pro"
|
1613 |
+
msgstr ""
|
1614 |
+
|
1615 |
+
#: admin/includes/class-settings.php:302 admin/views/pitch-tracking.php:2
|
1616 |
+
msgid "Tracking"
|
1617 |
+
msgstr ""
|
1618 |
+
|
1619 |
+
#: admin/includes/class-settings.php:350
|
1620 |
#, php-format
|
1621 |
msgid ""
|
1622 |
+
"Enter license keys for our powerful <a href=\"%s\" target=\"_blank\">add-"
|
1623 |
+
"ons</a>."
|
1624 |
msgstr ""
|
1625 |
|
1626 |
+
#: admin/includes/class-settings.php:351
|
1627 |
+
#, php-format
|
1628 |
msgid ""
|
1629 |
+
"See also <a href=\"%s\" target=\"_blank\">Issues and questions about "
|
1630 |
+
"licenses</a>."
|
1631 |
msgstr ""
|
1632 |
|
1633 |
+
#: admin/includes/class-settings.php:363
|
1634 |
+
msgid "Are you missing something?"
|
1635 |
+
msgstr ""
|
1636 |
+
|
1637 |
+
#: admin/includes/class-settings.php:431
|
1638 |
+
msgid "Choose the roles a user must have in order to not see any ads."
|
1639 |
+
msgstr ""
|
1640 |
+
|
1641 |
+
#: admin/includes/class-settings.php:445
|
1642 |
+
msgid ""
|
1643 |
+
"<strong>notice: </strong>the file is currently enabled by an add-on that "
|
1644 |
+
"needs it."
|
1645 |
+
msgstr ""
|
1646 |
+
|
1647 |
+
#: admin/includes/class-settings.php:448
|
1648 |
#, php-format
|
1649 |
msgid ""
|
1650 |
+
"Enable advanced JavaScript functions (<a href=\"%s\" target=\"_blank\">"
|
1651 |
+
"here</a>). Some features and add-ons might override this setting if they "
|
1652 |
+
"need features from this file."
|
1653 |
+
msgstr ""
|
1654 |
+
|
1655 |
+
#: admin/includes/class-settings.php:468
|
1656 |
+
msgid ""
|
1657 |
+
"Some plugins and themes trigger ad injections where it shouldn’t happen. "
|
1658 |
+
"Therefore, Advanced Ads ignores injected placements on non-singular pages "
|
1659 |
+
"and outside the loop. However, this can cause problems with some themes. Set "
|
1660 |
+
"this option to -1 in order to enable unlimited ad injection at your own risk,"
|
1661 |
+
" set it to 0 to keep it disabled or choose a positive number to enable the "
|
1662 |
+
"injection only in the first x posts on your archive pages."
|
1663 |
+
msgstr ""
|
1664 |
+
|
1665 |
+
#: admin/includes/class-settings.php:484
|
1666 |
+
msgid ""
|
1667 |
+
"Please check your post content. A priority of 10 and below might cause "
|
1668 |
+
"issues (wpautop function might run twice)."
|
1669 |
+
msgstr ""
|
1670 |
+
|
1671 |
+
#: admin/includes/class-settings.php:486
|
1672 |
+
msgid ""
|
1673 |
+
"Play with this value in order to change the priority of the injected ads "
|
1674 |
+
"compared to other auto injected elements in the post content."
|
1675 |
+
msgstr ""
|
1676 |
+
|
1677 |
+
#: admin/includes/class-settings.php:500
|
1678 |
+
msgid ""
|
1679 |
+
"Advanced Ads ignores paragraphs and other elements in containers when "
|
1680 |
+
"injecting ads into the post content. Check this option to ignore this "
|
1681 |
+
"limitation and ads might show up again."
|
1682 |
+
msgstr ""
|
1683 |
+
|
1684 |
+
#: admin/includes/class-settings.php:516
|
1685 |
+
msgid "Read this first"
|
1686 |
+
msgstr ""
|
1687 |
+
|
1688 |
+
#: admin/includes/class-settings.php:517
|
1689 |
+
msgid "Hide ads from crawlers, bots and empty user agents."
|
1690 |
+
msgstr ""
|
1691 |
+
|
1692 |
+
#: admin/includes/class-settings.php:530
|
1693 |
+
msgid "Pro feature"
|
1694 |
+
msgstr ""
|
1695 |
+
|
1696 |
+
#. %1$s is a starting <a> tag and %2$s a closing one
|
1697 |
+
#: admin/includes/class-settings.php:548
|
1698 |
+
#, php-format
|
1699 |
+
msgid ""
|
1700 |
+
"Disable %1$sAd Health%2$s in frontend and backend, warnings and internal "
|
1701 |
+
"notices like tips, tutorials, email newsletters and update notices."
|
1702 |
+
msgstr ""
|
1703 |
+
|
1704 |
+
#: admin/includes/class-settings.php:566
|
1705 |
+
msgid ""
|
1706 |
+
"Prefix of class or id attributes in the frontend. Change it if you don’t "
|
1707 |
+
"want <strong>ad blockers</strong> to mark these blocks as ads.<br/>You might "
|
1708 |
+
"need to <strong>rewrite css rules afterwards</strong>."
|
1709 |
+
msgstr ""
|
1710 |
+
|
1711 |
+
#: admin/includes/class-settings.php:585
|
1712 |
+
msgid "Allow editors to also manage and publish ads."
|
1713 |
+
msgstr ""
|
1714 |
+
|
1715 |
+
#: admin/includes/class-settings.php:586
|
1716 |
+
#, php-format
|
1717 |
+
msgid ""
|
1718 |
+
"You can assign different ad-related roles on a user basis with <a "
|
1719 |
+
"href=\"%s\" target=\"_blank\">Advanced Ads Pro</a>."
|
1720 |
+
msgstr ""
|
1721 |
+
|
1722 |
+
#: admin/includes/class-settings.php:597
|
1723 |
+
msgctxt "label before ads"
|
1724 |
+
msgid "Advertisements"
|
1725 |
+
msgstr ""
|
1726 |
+
|
1727 |
+
#: admin/includes/class-settings.php:606
|
1728 |
+
msgid "Displayed above ads."
|
1729 |
+
msgstr ""
|
1730 |
+
|
1731 |
+
#: admin/includes/class-settings.php:642
|
1732 |
+
msgid "Clean up all data related to Advanced Ads when removing the plugin."
|
1733 |
+
msgstr ""
|
1734 |
+
|
1735 |
+
#: admin/includes/class-settings.php:655
|
1736 |
+
msgid "Disable shortcode button in visual editor."
|
1737 |
+
msgstr ""
|
1738 |
+
|
1739 |
+
#: admin/includes/class-ad-groups-list.php:172
|
1740 |
+
msgid "Ad weight"
|
1741 |
+
msgstr ""
|
1742 |
+
|
1743 |
+
#: admin/includes/class-ad-groups-list.php:184
|
1744 |
+
#: admin/views/ad-list-timing-column.php:4
|
1745 |
+
#, php-format
|
1746 |
+
msgid "starts %s"
|
1747 |
+
msgstr ""
|
1748 |
+
|
1749 |
+
#: admin/includes/class-ad-groups-list.php:205
|
1750 |
+
#: admin/views/ad-list-timing-column.php:28
|
1751 |
+
#, php-format
|
1752 |
+
msgid "expires %s"
|
1753 |
+
msgstr ""
|
1754 |
+
|
1755 |
+
#: admin/includes/class-ad-groups-list.php:208
|
1756 |
+
#: admin/views/ad-list-timing-column.php:30
|
1757 |
+
#, php-format
|
1758 |
+
msgid "<strong>expired</strong> %s"
|
1759 |
+
msgstr ""
|
1760 |
+
|
1761 |
+
#: admin/includes/class-ad-groups-list.php:225
|
1762 |
+
#, php-format
|
1763 |
+
msgid "show %d more ads"
|
1764 |
+
msgstr ""
|
1765 |
+
|
1766 |
+
#: admin/includes/class-ad-groups-list.php:229
|
1767 |
+
msgid "all published ads are displayed"
|
1768 |
+
msgstr ""
|
1769 |
+
|
1770 |
+
#: admin/includes/class-ad-groups-list.php:232
|
1771 |
+
#, php-format
|
1772 |
+
msgid "up to %d ads displayed"
|
1773 |
+
msgstr ""
|
1774 |
+
|
1775 |
+
#: admin/includes/class-ad-groups-list.php:235
|
1776 |
+
msgid "No ads assigned"
|
1777 |
+
msgstr ""
|
1778 |
+
|
1779 |
+
#: admin/includes/class-ad-groups-list.php:237
|
1780 |
+
msgid "Add some"
|
1781 |
+
msgstr ""
|
1782 |
+
|
1783 |
+
#: admin/includes/class-ad-groups-list.php:315
|
1784 |
+
msgid "Random ads"
|
1785 |
+
msgstr ""
|
1786 |
+
|
1787 |
+
#: admin/includes/class-ad-groups-list.php:316
|
1788 |
+
msgid "Display random ads based on ad weight"
|
1789 |
+
msgstr ""
|
1790 |
+
|
1791 |
+
#: admin/includes/class-ad-groups-list.php:319
|
1792 |
+
msgid "Ordered ads"
|
1793 |
+
msgstr ""
|
1794 |
+
|
1795 |
+
#: admin/includes/class-ad-groups-list.php:320
|
1796 |
+
msgid "Display ads with the highest ad weight first"
|
1797 |
+
msgstr ""
|
1798 |
+
|
1799 |
+
#: admin/includes/class-ad-groups-list.php:340
|
1800 |
+
msgid "Usage"
|
1801 |
+
msgstr ""
|
1802 |
+
|
1803 |
+
#: admin/includes/class-ad-groups-list.php:349
|
1804 |
+
msgid "Delete"
|
1805 |
+
msgstr ""
|
1806 |
+
|
1807 |
+
#: admin/includes/class-ad-groups-list.php:371
|
1808 |
+
#: admin/includes/class-ad-groups-list.php:441
|
1809 |
+
msgid "Invalid Ad Group"
|
1810 |
+
msgstr ""
|
1811 |
+
|
1812 |
+
#: admin/includes/class-ad-groups-list.php:376
|
1813 |
+
#: admin/includes/class-ad-groups-list.php:446
|
1814 |
+
msgid "You don’t have permission to change the ad groups"
|
1815 |
+
msgstr ""
|
1816 |
+
|
1817 |
+
#: admin/includes/class-ad-groups-list.php:410
|
1818 |
+
msgid "No ad group created"
|
1819 |
+
msgstr ""
|
1820 |
+
|
1821 |
+
#: admin/includes/class-shortcode-creator.php:155
|
1822 |
+
#, php-format
|
1823 |
+
msgid ""
|
1824 |
+
"Please, either switch off your ad blocker or disable the shortcode button in "
|
1825 |
+
"the <a href=\"%s\" target=\"_blank\">settings</a>."
|
1826 |
msgstr ""
|
1827 |
|
1828 |
#: admin/includes/class-overview-widgets.php:45
|
2044 |
msgid "Get this add-on"
|
2045 |
msgstr ""
|
2046 |
|
2047 |
+
#: admin/views/gadsense-dashboard.php:29
|
2048 |
+
msgid "There is an error in your AdSense setup."
|
2049 |
msgstr ""
|
2050 |
|
2051 |
+
#: admin/views/ad-list-filters.php:18
|
2052 |
+
msgid "all ad types"
|
2053 |
msgstr ""
|
2054 |
|
2055 |
+
#: admin/views/ad-list-filters.php:26
|
2056 |
+
msgid "all ad sizes"
|
2057 |
msgstr ""
|
2058 |
|
2059 |
+
#: admin/views/ad-list-filters.php:34
|
2060 |
+
msgid "all ad dates"
|
2061 |
msgstr ""
|
2062 |
|
2063 |
+
#: admin/views/ad-list-filters.php:42
|
2064 |
+
msgid "all ad groups"
|
2065 |
msgstr ""
|
2066 |
|
2067 |
+
#: admin/views/pitch-pro-tab.php:2
|
2068 |
+
msgid "Advanced Ads Pro – test and optimize your ad performance"
|
2069 |
msgstr ""
|
2070 |
|
2071 |
+
#: admin/views/pitch-pro-tab.php:4
|
2072 |
+
msgid "Ads for Ad Blockers"
|
2073 |
msgstr ""
|
2074 |
|
2075 |
+
#: admin/views/pitch-pro-tab.php:5
|
2076 |
+
msgid "Click Fraud Protection"
|
2077 |
msgstr ""
|
2078 |
|
2079 |
+
#: admin/views/pitch-pro-tab.php:6
|
2080 |
+
msgid "Lazy Loading"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2081 |
msgstr ""
|
2082 |
|
2083 |
+
#: admin/views/pitch-pro-tab.php:13 admin/views/pitch-tracking.php:10
|
2084 |
+
msgid "See all features and pricing"
|
|
|
2085 |
msgstr ""
|
2086 |
|
2087 |
+
#: admin/views/support.php:6
|
2088 |
+
msgid ""
|
2089 |
+
"Please fix the red highlighted issues on this page or try to understand "
|
2090 |
+
"their consequences before contacting support."
|
2091 |
msgstr ""
|
2092 |
|
2093 |
+
#: admin/views/support.php:7
|
2094 |
+
msgid "Possible Issues"
|
2095 |
msgstr ""
|
2096 |
|
2097 |
+
#: admin/views/support.php:9
|
2098 |
+
msgid "Ads not showing up"
|
2099 |
msgstr ""
|
2100 |
|
2101 |
+
#: admin/views/support.php:10
|
2102 |
+
msgid "Purchase & Licenses"
|
2103 |
msgstr ""
|
2104 |
|
2105 |
+
#: admin/views/support.php:11
|
2106 |
+
msgid "General Issues"
|
|
|
2107 |
msgstr ""
|
2108 |
|
2109 |
+
#: admin/views/support.php:12
|
2110 |
+
msgid "Issues with Add-Ons"
|
2111 |
msgstr ""
|
2112 |
|
2113 |
+
#: admin/views/support.php:14
|
|
|
2114 |
msgid ""
|
2115 |
+
"Use the following form to search for solutions in the manual on "
|
2116 |
+
"wpadvancedads.com"
|
2117 |
msgstr ""
|
2118 |
|
2119 |
+
#: admin/views/support.php:17
|
2120 |
+
msgid "search"
|
|
|
2121 |
msgstr ""
|
2122 |
|
2123 |
+
#: admin/views/support.php:20
|
2124 |
#, php-format
|
2125 |
+
msgid ""
|
2126 |
+
"Take a look at more common issues or contact us directly through the <a "
|
2127 |
+
"href=\"%s\" target=\"_blank\">support page</a>."
|
|
|
|
|
|
|
|
|
|
|
|
|
2128 |
msgstr ""
|
2129 |
|
2130 |
+
#: admin/views/support.php:22
|
2131 |
#, php-format
|
2132 |
+
msgid ""
|
2133 |
+
"Upgrade to any premium add-on and get <strong>priority email support</strong>"
|
2134 |
+
" or reach out through the <a href=\"%s\" target=\"_blank\">support forum</a> "
|
2135 |
+
"for individual help."
|
2136 |
msgstr ""
|
2137 |
|
2138 |
+
#: admin/views/settings.php:13
|
2139 |
+
msgid "General"
|
2140 |
msgstr ""
|
2141 |
|
2142 |
+
#: admin/views/settings.php:42
|
2143 |
+
msgid "Save settings on this page"
|
2144 |
msgstr ""
|
2145 |
|
2146 |
+
#: admin/views/settings.php:49 modules/import-export/main.php:15
|
2147 |
+
#: modules/import-export/main.php:15
|
2148 |
+
msgid "Import & Export"
|
|
|
|
|
|
|
2149 |
msgstr ""
|
2150 |
|
2151 |
+
#: admin/views/placements-item.php:2 admin/views/placement-form.php:43
|
2152 |
+
msgid "--not selected--"
|
|
|
|
|
|
|
2153 |
msgstr ""
|
2154 |
|
2155 |
+
#: admin/views/ad-group-list-ads.php:14
|
2156 |
+
msgid "weight"
|
2157 |
msgstr ""
|
2158 |
|
2159 |
+
#: admin/views/ad-group-list-ads.php:37
|
2160 |
+
#: admin/views/conditions/conditions-form.php:35
|
2161 |
+
msgid "add"
|
|
|
2162 |
msgstr ""
|
2163 |
|
2164 |
+
#: admin/views/pitch-tracking.php:4
|
2165 |
+
msgid "track impressions and click on your ads"
|
|
|
2166 |
msgstr ""
|
2167 |
|
2168 |
+
#: admin/views/pitch-tracking.php:5
|
2169 |
+
msgid "compare ads and periods"
|
|
|
2170 |
msgstr ""
|
2171 |
|
2172 |
+
#: admin/views/pitch-tracking.php:6
|
2173 |
+
msgid "share reports via link or email"
|
|
|
2174 |
msgstr ""
|
2175 |
|
2176 |
+
#: admin/views/pitch-tracking.php:7
|
2177 |
+
msgid "limit ads views by overall number of impressions or clicks"
|
|
|
2178 |
msgstr ""
|
2179 |
|
2180 |
+
#: admin/views/pitch-tracking.php:8
|
2181 |
+
msgid "spread impressions or clicks equally over a given period"
|
2182 |
msgstr ""
|
2183 |
|
2184 |
#: admin/views/ad-info-top.php:2
|
2189 |
msgid "Stop Wizard"
|
2190 |
msgstr ""
|
2191 |
|
2192 |
+
#: admin/views/ad-info-top.php:26 admin/views/ad-info-bottom.php:20
|
2193 |
+
msgid "Stop Wizard and show all options"
|
|
|
2194 |
msgstr ""
|
2195 |
|
2196 |
+
#: admin/views/settings-disable-ads.php:2
|
2197 |
+
msgid "Disable all ads in frontend"
|
2198 |
msgstr ""
|
2199 |
|
2200 |
+
#: admin/views/settings-disable-ads.php:3
|
|
|
2201 |
msgid ""
|
2202 |
+
"Use this option to disable all ads in the frontend, but still be able to use "
|
2203 |
+
"the plugin."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2204 |
msgstr ""
|
2205 |
|
2206 |
+
#: admin/views/settings-disable-ads.php:8
|
2207 |
+
msgid "Disable ads on 404 error pages"
|
|
|
|
|
2208 |
msgstr ""
|
2209 |
|
2210 |
+
#: admin/views/settings-disable-ads.php:12
|
2211 |
+
msgid "Disable ads on non-singular pages"
|
|
|
|
|
2212 |
msgstr ""
|
2213 |
|
2214 |
+
#: admin/views/settings-disable-ads.php:13
|
2215 |
msgid ""
|
2216 |
+
"e.g. archive pages like categories, tags, authors, front page (if a list)"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2217 |
msgstr ""
|
2218 |
|
2219 |
+
#: admin/views/settings-disable-ads.php:18
|
2220 |
+
msgid "Disable ads on secondary queries"
|
2221 |
msgstr ""
|
2222 |
|
2223 |
+
#: admin/views/settings-disable-ads.php:19
|
2224 |
+
msgid ""
|
2225 |
+
"Secondary queries are custom queries of posts outside the main query of a "
|
2226 |
+
"page. Try this option if you see ads injected on places where they shouldn’t "
|
2227 |
+
"appear."
|
2228 |
msgstr ""
|
2229 |
|
2230 |
+
#: admin/views/settings-disable-ads.php:25
|
2231 |
+
msgid "Disable ads in RSS Feed"
|
2232 |
msgstr ""
|
2233 |
|
2234 |
+
#: admin/views/ad-group-edit.php:18
|
2235 |
+
msgid "You did not select an item for editing."
|
2236 |
msgstr ""
|
2237 |
|
2238 |
+
#: admin/views/ad-group-edit.php:39
|
2239 |
+
msgctxt "Taxonomy Name"
|
2240 |
+
msgid "Name"
|
2241 |
msgstr ""
|
2242 |
|
2243 |
+
#: admin/views/ad-group-edit.php:49
|
2244 |
+
msgctxt "Taxonomy Slug"
|
2245 |
+
msgid "Slug"
|
2246 |
msgstr ""
|
2247 |
|
2248 |
+
#: admin/views/ad-group-edit.php:54 admin/views/ad-output-metabox.php:63
|
2249 |
msgid ""
|
2250 |
+
"An id-like string with only letters in lower case, numbers, and hyphens."
|
|
|
2251 |
msgstr ""
|
2252 |
|
2253 |
+
#: admin/views/ad-group-edit.php:61
|
2254 |
+
msgctxt "Taxonomy Description"
|
2255 |
+
msgid "Description"
|
2256 |
msgstr ""
|
2257 |
|
2258 |
+
#: admin/views/ad-group-edit.php:73
|
2259 |
+
msgid "Create new Ad Group"
|
2260 |
msgstr ""
|
2261 |
|
2262 |
+
#: admin/views/ad-group-edit.php:75
|
2263 |
+
msgid "Update"
|
2264 |
msgstr ""
|
2265 |
|
2266 |
+
#: admin/views/placement-injection-top.php:10
|
2267 |
+
msgid "Congratulations! Your ad is now visible in the frontend."
|
2268 |
msgstr ""
|
2269 |
|
2270 |
+
#: admin/views/placement-injection-top.php:11
|
2271 |
+
msgid "Adjust the placement options"
|
2272 |
msgstr ""
|
2273 |
|
2274 |
+
#: admin/views/placement-injection-top.php:12
|
2275 |
+
#, php-format
|
2276 |
+
msgid ""
|
2277 |
+
"Ad not showing up? Take a look <a href=\"%s\" target=\"_blank\">here</a>"
|
2278 |
msgstr ""
|
2279 |
|
2280 |
+
#: admin/views/placement-injection-top.php:15
|
2281 |
+
msgid "Where do you want to display the ad?"
|
2282 |
msgstr ""
|
2283 |
|
2284 |
+
#: admin/views/placement-injection-top.php:24
|
2285 |
+
#: modules/gadsense/admin/admin.php:178
|
2286 |
#, php-format
|
2287 |
+
msgid ""
|
2288 |
+
"The AdSense verification and Auto ads code is already activated in the <a "
|
2289 |
+
"href=\"%s\">AdSense settings</a>."
|
2290 |
msgstr ""
|
2291 |
|
2292 |
+
#: admin/views/placement-injection-top.php:30
|
2293 |
+
#: modules/gadsense/admin/admin.php:180
|
2294 |
+
msgid ""
|
2295 |
+
"No need to add the code manually here, unless you want to include it into "
|
2296 |
+
"certain pages only."
|
2297 |
msgstr ""
|
2298 |
|
2299 |
+
#: admin/views/placement-injection-top.php:33
|
2300 |
+
msgid ""
|
2301 |
+
"Click on the button below to add the Auto ads code to the header of your "
|
2302 |
+
"site."
|
2303 |
msgstr ""
|
2304 |
|
2305 |
+
#. this is a label in a button when a user uses an AdSense Auto ads code in a plain code field
|
2306 |
+
#. the button has barely space for the original English text, so keep it short
|
2307 |
+
#: admin/views/placement-injection-top.php:42
|
2308 |
+
msgid "inject Auto ads"
|
2309 |
msgstr ""
|
2310 |
|
2311 |
+
#: admin/views/placement-injection-top.php:48
|
2312 |
+
msgid "New placement"
|
2313 |
msgstr ""
|
2314 |
|
2315 |
+
#: admin/views/placement-injection-top.php:52
|
2316 |
+
msgid "PHP or Shortcode"
|
|
|
|
|
|
|
2317 |
msgstr ""
|
2318 |
|
2319 |
+
#: admin/views/placement-injection-top.php:53
|
2320 |
+
msgid "Manage Sidebar"
|
|
|
|
|
|
|
2321 |
msgstr ""
|
2322 |
|
2323 |
+
#: admin/views/placement-injection-top.php:54
|
2324 |
+
msgid "Header (Manual)"
|
2325 |
msgstr ""
|
2326 |
|
2327 |
+
#: admin/views/placement-injection-top.php:58
|
2328 |
+
#: admin/views/placement-injection-top.php:62
|
2329 |
+
msgid "Custom Position"
|
2330 |
msgstr ""
|
2331 |
|
2332 |
+
#: admin/views/placement-injection-top.php:58
|
2333 |
+
msgid "Show Pro Places"
|
2334 |
msgstr ""
|
2335 |
|
2336 |
+
#: admin/views/placement-injection-top.php:67
|
2337 |
+
msgid "AdSense In-feed"
|
|
|
2338 |
msgstr ""
|
2339 |
|
2340 |
+
#: admin/views/placement-injection-top.php:73
|
2341 |
+
msgid "Show Sticky Places"
|
2342 |
msgstr ""
|
2343 |
|
2344 |
+
#: admin/views/placement-injection-top.php:79
|
2345 |
+
msgid "Show PopUp"
|
2346 |
msgstr ""
|
2347 |
|
2348 |
+
#: admin/views/placement-injection-top.php:83
|
2349 |
+
msgid "PopUp & Layer"
|
2350 |
msgstr ""
|
2351 |
|
2352 |
+
#: admin/views/placement-injection-top.php:88
|
2353 |
+
msgid "see all…"
|
2354 |
msgstr ""
|
2355 |
|
2356 |
+
#: admin/views/placement-injection-top.php:120
|
2357 |
+
msgid "Existing placement"
|
2358 |
msgstr ""
|
2359 |
|
2360 |
+
#: admin/views/placement-injection-top.php:125
|
2361 |
+
#, php-format
|
2362 |
+
msgid "Or use the shortcode %s to insert the ad into the content manually."
|
2363 |
msgstr ""
|
2364 |
|
2365 |
+
#: admin/views/placement-injection-top.php:126
|
2366 |
+
#, php-format
|
2367 |
+
msgid ""
|
2368 |
+
"Learn more about your choices to display an ad in the <a href=\"%s\" "
|
2369 |
+
"target=\"_blank\">manual</a>."
|
2370 |
msgstr ""
|
2371 |
|
2372 |
+
#: admin/views/ad-group-list-form-row.php:29 admin/views/placements.php:42
|
2373 |
+
#: modules/gadsense/admin/views/external-ads-list.php:45
|
2374 |
+
#: modules/gadsense/admin/views/external-ads-list.php:55
|
2375 |
+
#: modules/privacy/admin/views/setting-consent-method.php:9
|
2376 |
+
msgid "Name"
|
2377 |
msgstr ""
|
2378 |
|
2379 |
+
#: admin/views/ad-group-list-form-row.php:55 admin/views/placements.php:41
|
2380 |
+
#: modules/gadsense/admin/views/adsense-ad-parameters.php:105
|
2381 |
+
msgid "Type"
|
2382 |
msgstr ""
|
2383 |
|
2384 |
+
#: admin/views/ad-group-list-form-row.php:71
|
2385 |
+
msgctxt "option to display all ads in an ad groups"
|
2386 |
+
msgid "all"
|
|
|
2387 |
msgstr ""
|
2388 |
|
2389 |
+
#: admin/views/ad-group-list-form-row.php:78
|
2390 |
+
msgid "Visible ads"
|
|
|
|
|
2391 |
msgstr ""
|
2392 |
|
2393 |
+
#: admin/views/ad-group-list-form-row.php:80
|
2394 |
+
msgid "Number of ads that are visible at the same time"
|
2395 |
msgstr ""
|
2396 |
|
2397 |
+
#: admin/views/ad-info.php:2
|
2398 |
+
#, php-format
|
2399 |
+
msgid "Ad Id: %s"
|
2400 |
msgstr ""
|
2401 |
|
2402 |
+
#: admin/views/ad-info.php:3 admin/views/placements.php:102
|
2403 |
+
#: admin/views/ad-group-list-row.php:19
|
2404 |
+
msgid "shortcode"
|
2405 |
msgstr ""
|
2406 |
|
2407 |
+
#: admin/views/ad-info.php:5
|
2408 |
+
msgid "theme function"
|
2409 |
msgstr ""
|
2410 |
|
2411 |
+
#: admin/views/ad-info.php:7
|
2412 |
+
#, php-format
|
2413 |
+
msgid ""
|
2414 |
+
"Find more display options in the <a href=\"%s\" target=\"_blank\">manual</a>."
|
2415 |
msgstr ""
|
2416 |
|
2417 |
+
#: admin/views/ad-info.php:11
|
2418 |
+
msgid "click to change"
|
2419 |
msgstr ""
|
2420 |
|
2421 |
+
#: admin/views/ad-info.php:18
|
2422 |
+
msgid "Add a description"
|
2423 |
msgstr ""
|
2424 |
|
2425 |
+
#: admin/views/ad-info.php:22
|
2426 |
+
msgid "Internal description or your own notes about this ad."
|
2427 |
msgstr ""
|
2428 |
|
2429 |
+
#: admin/views/support-callout.php:3
|
2430 |
+
msgid "Problems or questions?"
|
2431 |
msgstr ""
|
2432 |
|
2433 |
+
#: admin/views/support-callout.php:4
|
2434 |
+
msgid "Save time and get personal support."
|
2435 |
msgstr ""
|
2436 |
|
2437 |
+
#: admin/views/support-callout.php:4
|
2438 |
+
msgid "Ask your question!"
|
2439 |
msgstr ""
|
2440 |
|
2441 |
+
#: admin/views/placements.php:10
|
2442 |
+
msgid ""
|
2443 |
+
"Couldn’t create the new placement. Please check your form field and whether "
|
2444 |
+
"the name is already in use."
|
2445 |
msgstr ""
|
2446 |
|
2447 |
+
#: admin/views/placements.php:14
|
2448 |
+
msgid "Placements updated"
|
2449 |
msgstr ""
|
2450 |
|
2451 |
+
#: admin/views/placements.php:20 admin/views/placements.php:209
|
2452 |
+
msgid "Create a new placement"
|
2453 |
msgstr ""
|
2454 |
|
2455 |
+
#: admin/views/placements.php:21 admin/views/placements.php:211
|
2456 |
+
msgid "New Placement"
|
2457 |
msgstr ""
|
2458 |
|
2459 |
+
#: admin/views/placements.php:26
|
2460 |
+
msgid ""
|
2461 |
+
"Placements are physically places in your theme and posts. You can use them "
|
2462 |
+
"if you plan to change ads and ad groups on the same place without the need "
|
2463 |
+
"to change your templates."
|
2464 |
msgstr ""
|
2465 |
|
2466 |
+
#: admin/views/placements.php:27
|
2467 |
#, php-format
|
2468 |
msgid ""
|
2469 |
+
"See also the manual for more information on <a href=\"%s\">placements</a>."
|
|
|
|
|
|
|
|
|
|
|
2470 |
msgstr ""
|
2471 |
|
2472 |
+
#: admin/views/placements.php:43 modules/import-export/views/page.php:26
|
2473 |
+
msgid "Options"
|
2474 |
msgstr ""
|
2475 |
|
2476 |
+
#: admin/views/placements.php:65
|
2477 |
+
#, php-format
|
2478 |
msgid ""
|
2479 |
+
"Placement type \"%s\" is missing and was reset to \"default\".<br/>Please "
|
2480 |
+
"check if the responsible add-on is activated."
|
2481 |
msgstr ""
|
2482 |
|
2483 |
+
#: admin/views/placements.php:84 admin/views/ad-output-metabox.php:11
|
2484 |
+
#: admin/views/placements-ad-label-position.php:2
|
2485 |
+
#: admin/views/placements-ad-label-position.php:5
|
2486 |
+
#: admin/views/placements-ad-label.php:1 admin/views/placements-ad-label.php:4
|
2487 |
+
#: modules/gadsense/includes/class-network-adsense.php:239
|
2488 |
+
msgid "default"
|
2489 |
msgstr ""
|
2490 |
|
2491 |
+
#: admin/views/placements.php:93
|
2492 |
+
msgid "show usage"
|
2493 |
msgstr ""
|
2494 |
|
2495 |
+
#: admin/views/placements.php:105
|
2496 |
+
msgid "template (PHP)"
|
2497 |
msgstr ""
|
2498 |
|
2499 |
+
#: admin/views/placements.php:120
|
2500 |
+
msgid "Item"
|
2501 |
msgstr ""
|
2502 |
|
2503 |
+
#: admin/views/placements.php:134
|
2504 |
+
msgid "position"
|
2505 |
msgstr ""
|
2506 |
|
2507 |
+
#: admin/views/placements.php:140
|
2508 |
+
msgid "Important Notice"
|
2509 |
msgstr ""
|
2510 |
|
2511 |
+
#: admin/views/placements.php:162
|
2512 |
+
msgid "ad label"
|
2513 |
msgstr ""
|
2514 |
|
2515 |
+
#: admin/views/placements.php:172
|
2516 |
+
msgid "show all options"
|
2517 |
msgstr ""
|
2518 |
|
2519 |
+
#: admin/views/placements.php:191
|
2520 |
#, php-format
|
2521 |
msgid ""
|
2522 |
+
"Tutorial: <a href=\"%s\" target=\"_blank\">How to place visible ads in the "
|
2523 |
+
"header of your website</a>."
|
2524 |
msgstr ""
|
2525 |
|
2526 |
+
#: admin/views/placements.php:200
|
2527 |
+
msgctxt "checkbox to remove placement"
|
2528 |
+
msgid "delete"
|
2529 |
msgstr ""
|
2530 |
|
2531 |
+
#: admin/views/placements.php:207
|
2532 |
+
msgid "Save Placements"
|
|
|
|
|
|
|
|
|
2533 |
msgstr ""
|
2534 |
|
2535 |
+
#: admin/views/ad-main-metabox.php:3
|
2536 |
+
msgid "No ad types defined"
|
|
|
|
|
|
|
2537 |
msgstr ""
|
2538 |
|
2539 |
+
#: admin/views/ad-conditions-string-operators.php:12
|
2540 |
+
#: modules/privacy/admin/views/setting-consent-method.php:10
|
2541 |
+
msgid "contains"
|
|
|
2542 |
msgstr ""
|
2543 |
|
2544 |
+
#: admin/views/ad-conditions-string-operators.php:13
|
2545 |
+
msgid "starts with"
|
|
|
|
|
2546 |
msgstr ""
|
2547 |
|
2548 |
+
#: admin/views/ad-conditions-string-operators.php:14
|
2549 |
+
msgid "ends with"
|
2550 |
msgstr ""
|
2551 |
|
2552 |
+
#: admin/views/ad-conditions-string-operators.php:15
|
2553 |
+
msgid "matches"
|
2554 |
msgstr ""
|
2555 |
|
2556 |
+
#: admin/views/ad-conditions-string-operators.php:16
|
2557 |
+
msgid "matches regex"
|
2558 |
msgstr ""
|
2559 |
|
2560 |
+
#: admin/views/ad-conditions-string-operators.php:17
|
2561 |
+
msgid "does not contain"
|
2562 |
msgstr ""
|
2563 |
|
2564 |
+
#: admin/views/ad-conditions-string-operators.php:18
|
2565 |
+
msgid "does not start with"
|
|
|
2566 |
msgstr ""
|
2567 |
|
2568 |
+
#: admin/views/ad-conditions-string-operators.php:19
|
2569 |
+
msgid "does not end with"
|
2570 |
msgstr ""
|
2571 |
|
2572 |
+
#: admin/views/ad-conditions-string-operators.php:20
|
2573 |
+
msgid "does not match"
|
2574 |
msgstr ""
|
2575 |
|
2576 |
+
#: admin/views/ad-conditions-string-operators.php:21
|
2577 |
+
msgid "does not match regex"
|
2578 |
msgstr ""
|
2579 |
|
2580 |
+
#: admin/views/placements-content-index.php:2
|
2581 |
+
msgid "after"
|
2582 |
msgstr ""
|
2583 |
|
2584 |
+
#: admin/views/placements-content-index.php:3
|
2585 |
+
msgid "before"
|
2586 |
msgstr ""
|
2587 |
|
2588 |
+
#: admin/views/placements-content-index.php:30
|
2589 |
+
msgid "start counting from bottom"
|
2590 |
msgstr ""
|
2591 |
|
2592 |
+
#: admin/views/ad-parameters-size.php:9
|
2593 |
+
msgid "size"
|
2594 |
msgstr ""
|
2595 |
|
2596 |
+
#: admin/views/ad-parameters-size.php:11
|
2597 |
+
msgid "width"
|
|
|
2598 |
msgstr ""
|
2599 |
|
2600 |
+
#: admin/views/ad-parameters-size.php:12
|
2601 |
+
msgid "height"
|
|
|
|
|
|
|
2602 |
msgstr ""
|
2603 |
|
2604 |
+
#: admin/views/ad-parameters-size.php:20
|
2605 |
+
msgid "reserve this space"
|
|
|
|
|
2606 |
msgstr ""
|
2607 |
|
2608 |
+
#: admin/views/ad-group.php:23
|
2609 |
+
msgid "Ad Group successfully created"
|
|
|
|
|
2610 |
msgstr ""
|
2611 |
|
2612 |
+
#: admin/views/ad-group.php:34
|
2613 |
+
msgid "Ad Groups successfully updated"
|
|
|
|
|
|
|
2614 |
msgstr ""
|
2615 |
|
2616 |
+
#: admin/views/ad-group.php:60
|
2617 |
+
#, php-format
|
2618 |
+
msgid "Search results for “%s”"
|
2619 |
msgstr ""
|
2620 |
|
2621 |
+
#: admin/views/ad-group.php:67
|
2622 |
+
msgid "Group title"
|
2623 |
msgstr ""
|
2624 |
|
2625 |
+
#: admin/views/ad-group.php:68
|
2626 |
+
msgid "save"
|
2627 |
msgstr ""
|
2628 |
|
2629 |
+
#: admin/views/ad-group.php:70
|
2630 |
msgid ""
|
2631 |
+
"Ad Groups are a very flexible method to bundle ads. You can use them to "
|
2632 |
+
"display random ads in the frontend or run split tests, but also just for "
|
2633 |
+
"informational purposes. Not only can an Ad Groups have multiple ads, but an "
|
2634 |
+
"ad can belong to multiple ad groups."
|
2635 |
msgstr ""
|
2636 |
|
2637 |
+
#: admin/views/ad-group.php:76
|
2638 |
+
#, php-format
|
2639 |
+
msgid ""
|
2640 |
+
"Find more information about ad groups in the <a href=\"%s\" "
|
2641 |
+
"target=\"_blank\">manual</a>."
|
2642 |
msgstr ""
|
2643 |
|
2644 |
+
#: admin/views/ad-group.php:104
|
2645 |
+
msgid "Update Groups"
|
2646 |
msgstr ""
|
2647 |
|
2648 |
+
#: admin/views/ad-submitbox-meta.php:5
|
2649 |
+
msgid "Set expiry date"
|
2650 |
msgstr ""
|
2651 |
|
2652 |
+
#: admin/views/ad-submitbox-meta.php:12
|
2653 |
+
msgid "Month"
|
|
|
|
|
|
|
2654 |
msgstr ""
|
2655 |
|
2656 |
+
#: admin/views/ad-submitbox-meta.php:17
|
2657 |
#, php-format
|
2658 |
+
msgctxt "1: month number (01, 02, etc.), 2: month abbreviation"
|
2659 |
+
msgid "%1$s-%2$s"
|
2660 |
msgstr ""
|
2661 |
|
2662 |
+
#: admin/views/ad-submitbox-meta.php:23
|
2663 |
+
msgid "Day"
|
2664 |
msgstr ""
|
2665 |
|
2666 |
+
#: admin/views/ad-submitbox-meta.php:24
|
2667 |
+
msgid "Year"
|
|
|
|
|
|
|
2668 |
msgstr ""
|
2669 |
|
2670 |
+
#: admin/views/ad-submitbox-meta.php:25
|
2671 |
+
msgid "Hour"
|
2672 |
msgstr ""
|
2673 |
|
2674 |
+
#: admin/views/ad-submitbox-meta.php:26
|
2675 |
+
msgid "Minute"
|
2676 |
msgstr ""
|
2677 |
|
2678 |
+
#: admin/views/ad-submitbox-meta.php:31
|
2679 |
+
#, php-format
|
2680 |
+
msgctxt ""
|
2681 |
+
"order of expiry date fields 1: month, 2: day, 3: year, 4: hour, 5: minute"
|
2682 |
+
msgid "%1$s %2$s, %3$s @ %4$s %5$s"
|
2683 |
msgstr ""
|
2684 |
|
2685 |
+
#: admin/views/post-ad-settings-metabox.php:1
|
2686 |
+
msgid "How to disable ads on specific pages"
|
2687 |
msgstr ""
|
2688 |
|
2689 |
+
#: admin/views/post-ad-settings-metabox.php:5
|
2690 |
+
msgid "Disable ads on this page"
|
2691 |
msgstr ""
|
2692 |
|
2693 |
+
#: admin/views/checks.php:14
|
2694 |
+
#, php-format
|
2695 |
+
msgid ""
|
2696 |
+
"Advanced Ads detected potential problems with your ad setup. %1$sShow me "
|
2697 |
+
"these errors%2$s"
|
2698 |
+
msgstr ""
|
2699 |
+
|
2700 |
+
#: admin/views/ad-info-after-textarea.php:18
|
2701 |
+
msgid ""
|
2702 |
+
"The code of this ad might not work properly with the <em>Content</em> "
|
2703 |
+
"placement."
|
2704 |
+
msgstr ""
|
2705 |
+
|
2706 |
+
#: admin/views/ad-info-after-textarea.php:25
|
2707 |
+
#, php-format
|
2708 |
+
msgid "Reach out to <a href=\"%s\">support</a> to get help."
|
2709 |
msgstr ""
|
2710 |
|
2711 |
+
#: admin/views/placement-form.php:8
|
2712 |
+
msgid "Choose a placement type"
|
2713 |
msgstr ""
|
2714 |
|
2715 |
+
#: admin/views/placement-form.php:9
|
2716 |
#, php-format
|
2717 |
msgid ""
|
2718 |
+
"Placement types define where the ad is going to be displayed. Learn more "
|
2719 |
+
"about the different types from the <a href=\"%s\">manual</a>"
|
2720 |
msgstr ""
|
2721 |
|
2722 |
+
#: admin/views/placement-form.php:33
|
2723 |
+
msgid "Please select a placement type."
|
|
|
2724 |
msgstr ""
|
2725 |
|
2726 |
+
#: admin/views/placement-form.php:35
|
2727 |
+
msgid "Choose a Name"
|
2728 |
msgstr ""
|
2729 |
|
2730 |
+
#: admin/views/placement-form.php:36
|
2731 |
+
msgid ""
|
2732 |
+
"The name of the placement is only visible to you. Tip: choose a descriptive "
|
2733 |
+
"one, e.g. <em>Below Post Headline</em>."
|
2734 |
msgstr ""
|
2735 |
|
2736 |
+
#: admin/views/placement-form.php:38
|
2737 |
+
msgid "Placement Name"
|
2738 |
msgstr ""
|
2739 |
|
2740 |
+
#: admin/views/placement-form.php:39
|
2741 |
+
msgid "Please enter a name for your placement."
|
2742 |
msgstr ""
|
2743 |
|
2744 |
+
#: admin/views/placement-form.php:40
|
2745 |
+
msgid "Choose the Ad or Group"
|
2746 |
msgstr ""
|
2747 |
|
2748 |
+
#: admin/views/placement-form.php:41
|
2749 |
+
msgid "The ad or group that should be displayed."
|
|
|
|
|
|
|
2750 |
msgstr ""
|
2751 |
|
2752 |
+
#: admin/views/placement-form.php:60
|
2753 |
+
msgid "Save New Placement"
|
|
|
2754 |
msgstr ""
|
2755 |
|
2756 |
+
#: admin/views/feedback-disable.php:5
|
2757 |
+
msgid "Why did you decide to disable Advanced Ads?"
|
2758 |
msgstr ""
|
2759 |
|
2760 |
+
#: admin/views/feedback-disable.php:7
|
2761 |
+
msgid "I have a problem, a question or need help."
|
2762 |
msgstr ""
|
2763 |
|
2764 |
+
#: admin/views/feedback-disable.php:8
|
2765 |
+
msgid "Please let us know how we can help"
|
2766 |
msgstr ""
|
2767 |
|
2768 |
+
#: admin/views/feedback-disable.php:15
|
2769 |
+
#, php-format
|
2770 |
+
msgid "Send me free help to %s"
|
2771 |
msgstr ""
|
2772 |
|
2773 |
+
#: admin/views/feedback-disable.php:20
|
2774 |
+
msgid "Ads are not showing up"
|
2775 |
msgstr ""
|
2776 |
|
2777 |
+
#: admin/views/feedback-disable.php:21
|
2778 |
+
msgid "It is only temporary"
|
2779 |
msgstr ""
|
2780 |
|
2781 |
+
#: admin/views/feedback-disable.php:22
|
2782 |
+
msgid "I miss a feature"
|
|
|
|
|
2783 |
msgstr ""
|
2784 |
|
2785 |
+
#: admin/views/feedback-disable.php:23
|
2786 |
+
msgid "Which one?"
|
2787 |
msgstr ""
|
2788 |
|
2789 |
+
#: admin/views/feedback-disable.php:24
|
2790 |
+
msgid "I stopped using ads on my site."
|
|
|
|
|
2791 |
msgstr ""
|
2792 |
|
2793 |
+
#: admin/views/feedback-disable.php:25
|
2794 |
+
msgid "I switched to another plugin"
|
2795 |
msgstr ""
|
2796 |
|
2797 |
+
#: admin/views/feedback-disable.php:30
|
2798 |
+
msgid "Send feedback & deactivate"
|
2799 |
msgstr ""
|
2800 |
|
2801 |
+
#: admin/views/feedback-disable.php:31
|
2802 |
+
msgid "Send feedback"
|
|
|
2803 |
msgstr ""
|
2804 |
|
2805 |
+
#: admin/views/feedback-disable.php:33
|
2806 |
+
msgid "Only Deactivate"
|
2807 |
msgstr ""
|
2808 |
|
2809 |
+
#: admin/views/feedback-disable.php:36
|
2810 |
msgid ""
|
2811 |
+
"Thanks for submitting your feedback. I will reply within 24 hours on working "
|
2812 |
+
"days."
|
|
|
2813 |
msgstr ""
|
2814 |
|
2815 |
+
#. %s is the title of the website
|
2816 |
+
#: admin/views/feedback-disable.php:41
|
2817 |
+
#, php-format
|
2818 |
+
msgid "All the best to you and %s."
|
2819 |
msgstr ""
|
2820 |
|
2821 |
+
#: admin/views/feedback-disable.php:42
|
2822 |
+
msgid "Disabling the plugin now…"
|
2823 |
msgstr ""
|
2824 |
|
2825 |
+
#: admin/views/ad-info-bottom.php:14
|
2826 |
+
msgctxt "wizard navigation"
|
2827 |
+
msgid "previous"
|
2828 |
msgstr ""
|
2829 |
|
2830 |
+
#: admin/views/ad-info-bottom.php:17 admin/views/ad-info-bottom.php:19
|
2831 |
+
msgctxt "wizard navigation"
|
2832 |
+
msgid "next"
|
2833 |
msgstr ""
|
2834 |
|
2835 |
+
#: admin/views/ad-info-bottom.php:17
|
2836 |
+
msgctxt "wizard navigation"
|
2837 |
+
msgid "save"
|
2838 |
msgstr ""
|
2839 |
|
2840 |
+
#: admin/views/ad-output-metabox.php:1
|
2841 |
+
msgid "Everything connected to the ads layout and output."
|
2842 |
msgstr ""
|
2843 |
|
2844 |
+
#: admin/views/ad-output-metabox.php:4
|
2845 |
+
#: admin/views/placements-ad-label-position.php:1
|
2846 |
+
msgid "Position"
|
2847 |
msgstr ""
|
2848 |
|
2849 |
+
#: admin/views/ad-output-metabox.php:7
|
2850 |
+
msgid "- default -"
|
|
|
|
|
2851 |
msgstr ""
|
2852 |
|
2853 |
+
#: admin/views/ad-output-metabox.php:12
|
2854 |
+
#: admin/views/placements-ad-label-position.php:7
|
2855 |
+
#: admin/views/placements-ad-label-position.php:10
|
2856 |
+
msgid "left"
|
2857 |
msgstr ""
|
2858 |
|
2859 |
+
#: admin/views/ad-output-metabox.php:17
|
2860 |
+
#: admin/views/placements-ad-label-position.php:11
|
2861 |
+
#: admin/views/placements-ad-label-position.php:14
|
2862 |
+
msgid "center"
|
2863 |
msgstr ""
|
2864 |
|
2865 |
+
#: admin/views/ad-output-metabox.php:22
|
2866 |
+
#: admin/views/placements-ad-label-position.php:15
|
2867 |
+
#: admin/views/placements-ad-label-position.php:18
|
2868 |
+
msgid "right"
|
2869 |
msgstr ""
|
2870 |
|
2871 |
+
#: admin/views/ad-output-metabox.php:31
|
2872 |
+
msgid ""
|
2873 |
+
"Check this if you don't want the following elements to float around the ad. "
|
2874 |
+
"(adds a clearfix)"
|
2875 |
msgstr ""
|
2876 |
|
2877 |
+
#: admin/views/ad-output-metabox.php:35
|
2878 |
+
msgid "Margin"
|
2879 |
msgstr ""
|
2880 |
|
2881 |
+
#: admin/views/ad-output-metabox.php:37
|
2882 |
+
msgid "top:"
|
|
|
|
|
2883 |
msgstr ""
|
2884 |
|
2885 |
+
#: admin/views/ad-output-metabox.php:41
|
2886 |
+
msgid "right:"
|
2887 |
msgstr ""
|
2888 |
|
2889 |
+
#: admin/views/ad-output-metabox.php:45
|
2890 |
+
msgid "bottom:"
|
|
|
|
|
|
|
2891 |
msgstr ""
|
2892 |
|
2893 |
+
#: admin/views/ad-output-metabox.php:49
|
2894 |
+
msgid "left:"
|
|
|
|
|
|
|
|
|
2895 |
msgstr ""
|
2896 |
|
2897 |
+
#: admin/views/ad-output-metabox.php:53
|
2898 |
+
msgid "tip: use this to add a margin around the ad"
|
2899 |
msgstr ""
|
2900 |
|
2901 |
+
#: admin/views/ad-output-metabox.php:56
|
2902 |
+
msgid "container ID"
|
2903 |
msgstr ""
|
2904 |
|
2905 |
+
#: admin/views/ad-output-metabox.php:62
|
2906 |
+
msgid "Specify the id of the ad container. Leave blank for random or no id."
|
|
|
|
|
2907 |
msgstr ""
|
2908 |
|
2909 |
+
#: admin/views/ad-output-metabox.php:66
|
2910 |
+
msgid "container classes"
|
2911 |
msgstr ""
|
2912 |
|
2913 |
+
#: admin/views/ad-output-metabox.php:72
|
2914 |
+
msgid ""
|
2915 |
+
"Specify one or more classes for the container. Separate multiple classes "
|
2916 |
+
"with a space"
|
2917 |
msgstr ""
|
2918 |
|
2919 |
+
#: admin/views/ad-output-metabox.php:75
|
2920 |
+
msgid "Enable debug mode"
|
|
|
|
|
|
|
|
|
2921 |
msgstr ""
|
2922 |
|
2923 |
+
#: admin/views/pitch-bundle.php:1
|
2924 |
+
msgid "All Access – with all available add-ons"
|
2925 |
msgstr ""
|
2926 |
|
2927 |
+
#: admin/views/pitch-bundle.php:12
|
2928 |
+
msgid "Risk free with 30-day Money-Back guarantee"
|
2929 |
+
msgstr ""
|
2930 |
+
|
2931 |
+
#: admin/views/pitch-bundle.php:13
|
2932 |
+
msgid "Get All Access"
|
2933 |
msgstr ""
|
2934 |
|
2935 |
+
#: admin/views/ad-group-list-row.php:22
|
2936 |
+
msgid "template"
|
2937 |
msgstr ""
|
2938 |
|
2939 |
+
#: admin/views/ad-group-list-row.php:25
|
2940 |
+
#, php-format
|
2941 |
msgid ""
|
2942 |
+
"Learn more about using groups in the <a href=\"%s\" target=\"_blank\">"
|
2943 |
+
"manual</a>."
|
2944 |
msgstr ""
|
2945 |
|
2946 |
+
#: admin/views/ad-group-list-row.php:34
|
2947 |
#, php-format
|
2948 |
+
msgid "Type: %s"
|
|
|
|
|
|
|
2949 |
msgstr ""
|
2950 |
|
2951 |
+
#: admin/views/ad-group-list-row.php:39
|
2952 |
+
#, php-format
|
2953 |
+
msgid "ID: %s"
|
2954 |
msgstr ""
|
2955 |
|
2956 |
+
#: admin/views/ad-group-list-header.php:16
|
2957 |
+
msgid "Details"
|
2958 |
msgstr ""
|
2959 |
|
2960 |
+
#: admin/views/setting-license.php:5
|
2961 |
+
msgid "Your license expired."
|
|
|
2962 |
msgstr ""
|
2963 |
|
2964 |
+
#: admin/views/setting-license.php:13
|
2965 |
+
msgid "Update expiry date"
|
|
|
2966 |
msgstr ""
|
2967 |
|
2968 |
+
#: admin/views/setting-license.php:18
|
2969 |
+
#, php-format
|
2970 |
+
msgid ""
|
2971 |
+
"Click on %2$s if you renewed it or have a subscription or <a href=\"%1$s\" "
|
2972 |
+
"class=\"advads-renewal-link\" target=\"_blank\">renew your license</a>."
|
2973 |
msgstr ""
|
2974 |
|
2975 |
+
#: admin/views/setting-license.php:30
|
2976 |
+
#, php-format
|
2977 |
+
msgid "(%d days left)"
|
2978 |
msgstr ""
|
2979 |
|
2980 |
+
#: admin/views/setting-license.php:34
|
2981 |
+
msgid "License key"
|
2982 |
msgstr ""
|
2983 |
|
2984 |
+
#: admin/views/setting-license.php:51
|
2985 |
+
msgid "Deactivate License"
|
2986 |
msgstr ""
|
2987 |
|
2988 |
+
#: admin/views/setting-license.php:57
|
2989 |
+
msgid "Update License"
|
2990 |
msgstr ""
|
2991 |
|
2992 |
+
#: admin/views/setting-license.php:57
|
2993 |
+
msgid "Activate License"
|
2994 |
msgstr ""
|
2995 |
|
2996 |
+
#: admin/views/setting-license.php:62
|
2997 |
+
msgid "License key invalid"
|
2998 |
msgstr ""
|
2999 |
|
3000 |
+
#: admin/views/setting-license.php:70
|
3001 |
+
msgid "active"
|
3002 |
msgstr ""
|
3003 |
|
3004 |
+
#: admin/views/setting-target.php:4
|
3005 |
+
msgid ""
|
3006 |
+
"Open programatically created links in a new window (use <code>"
|
3007 |
+
"target=\"_blank\"</code>)"
|
3008 |
msgstr ""
|
3009 |
|
3010 |
+
#: admin/views/placements-ad-label-position.php:24
|
3011 |
+
msgid ""
|
3012 |
+
"Check this if you don't want the following elements to float around the ad. "
|
3013 |
+
"(adds a placement_clearfix)"
|
3014 |
msgstr ""
|
3015 |
|
3016 |
+
#: admin/views/ad-list-no-ads.php:4
|
3017 |
+
msgid "Watch the “First Ad” Tutorial (Video)"
|
|
|
|
|
|
|
|
|
3018 |
msgstr ""
|
3019 |
|
3020 |
+
#: admin/views/placements-ad-label.php:6 admin/views/placements-ad-label.php:9
|
3021 |
+
#: modules/ads-txt/admin/views/setting-create.php:2
|
3022 |
+
#: modules/ads-txt/admin/views/setting-create.php:4
|
3023 |
+
msgid "enabled"
|
3024 |
msgstr ""
|
3025 |
|
3026 |
+
#: admin/views/placements-ad-label.php:11
|
3027 |
+
#: admin/views/placements-ad-label.php:14
|
3028 |
+
#: modules/ads-txt/admin/views/setting-create.php:6
|
3029 |
+
#: modules/ads-txt/admin/views/setting-create.php:8
|
3030 |
+
msgid "disabled"
|
3031 |
msgstr ""
|
3032 |
|
3033 |
+
#: public/views/ad-debug.php:6
|
3034 |
+
msgid "Ad debug output"
|
|
|
3035 |
msgstr ""
|
3036 |
|
3037 |
+
#: public/views/ad-debug.php:8
|
3038 |
+
msgid "Find solutions in the manual"
|
|
|
|
|
|
|
3039 |
msgstr ""
|
3040 |
|
3041 |
#: admin/views/notices/adblock.php:4
|
3060 |
msgid "See them in action"
|
3061 |
msgstr ""
|
3062 |
|
3063 |
+
#: admin/views/notices/jqueryui_error.php:2
|
3064 |
+
#: admin/views/conditions/ad-display-metabox.php:46
|
3065 |
+
#, php-format
|
3066 |
+
msgid ""
|
3067 |
+
"There might be a problem with layouts and scripts in your dashboard. Please "
|
3068 |
+
"check <a href=\"%s\" target=\"_blank\">this article to learn more</a>."
|
3069 |
+
msgstr ""
|
3070 |
+
|
3071 |
#: admin/views/notices/welcome-panel.php:10
|
3072 |
msgid "Welcome to Advanced Ads!"
|
3073 |
msgstr ""
|
3110 |
msgid "Setting up AdSense ads manually"
|
3111 |
msgstr ""
|
3112 |
|
3113 |
+
#: admin/views/conditions/not-selected.php:2
|
3114 |
+
msgctxt "Error message shown when no display condition term is selected"
|
3115 |
+
msgid "Please select some items."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3116 |
msgstr ""
|
3117 |
|
3118 |
+
#: admin/views/conditions/condition-operator.php:2
|
3119 |
+
#: admin/views/conditions/condition-is-or-not.php:3
|
3120 |
+
msgid "is"
|
3121 |
msgstr ""
|
3122 |
|
3123 |
+
#: admin/views/conditions/condition-operator.php:3
|
3124 |
+
#: admin/views/conditions/condition-is-or-not.php:4
|
3125 |
+
msgid "is not"
|
3126 |
msgstr ""
|
3127 |
|
3128 |
+
#: admin/views/conditions/condition-number.php:3
|
3129 |
+
msgid "equal"
|
|
|
|
|
|
|
3130 |
msgstr ""
|
3131 |
|
3132 |
+
#: admin/views/conditions/condition-number.php:4
|
3133 |
+
msgid "equal or higher"
|
|
|
|
|
3134 |
msgstr ""
|
3135 |
|
3136 |
+
#: admin/views/conditions/condition-number.php:5
|
3137 |
+
msgid "equal or lower"
|
|
|
3138 |
msgstr ""
|
3139 |
|
3140 |
+
#: admin/views/conditions/display-conditions-form-top.php:4
|
3141 |
+
msgid "If you want to display the ad everywhere, don't do anything here. "
|
3142 |
msgstr ""
|
3143 |
|
3144 |
+
#: admin/views/conditions/condition-is-or-not.php:9
|
3145 |
+
#: admin/views/conditions/condition-device.php:9
|
3146 |
+
msgid "Manual and Troubleshooting"
|
3147 |
msgstr ""
|
3148 |
|
3149 |
+
#: admin/views/conditions/visitor-conditions-form-top.php:4
|
|
|
3150 |
msgid ""
|
3151 |
+
"Visitor conditions limit the number of users who can see your ad. There is "
|
3152 |
+
"no need to set visitor conditions if you want all users to see the ad."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3153 |
msgstr ""
|
3154 |
|
3155 |
+
#: admin/views/conditions/visitor-conditions-form-top.php:9
|
3156 |
+
#: modules/privacy/admin/views/setting-enable.php:4
|
3157 |
+
msgid "It seems that a caching plugin is activated."
|
|
|
3158 |
msgstr ""
|
3159 |
|
3160 |
+
#: admin/views/conditions/visitor-conditions-form-top.php:11
|
|
|
3161 |
#, php-format
|
3162 |
+
msgid ""
|
3163 |
+
"Check out cache-busting in <a href=\"%s\" target=\"_blank\">Advanced Ads "
|
3164 |
+
"Pro</a> if dynamic features get cached."
|
3165 |
msgstr ""
|
3166 |
|
3167 |
+
#: admin/views/conditions/condition-author.php:28
|
|
|
3168 |
#, php-format
|
3169 |
msgid ""
|
3170 |
+
"Only %d elements are displayed above. Use the <code>advanced-ads-admin-max-"
|
3171 |
+
"terms</code> filter to change this limit according to <a href=\"%s\" "
|
3172 |
+
"target=\"_blank\">this page</a>."
|
|
|
|
|
|
|
3173 |
msgstr ""
|
3174 |
|
3175 |
+
#: admin/views/conditions/display-conditions-list.php:45
|
3176 |
+
msgid "Forced to OR."
|
3177 |
msgstr ""
|
3178 |
|
3179 |
+
#: admin/views/conditions/display-conditions-list.php:46
|
3180 |
+
#: modules/gadsense/admin/views/adsense-ad-parameters.php:116
|
3181 |
+
msgid "manual"
|
3182 |
msgstr ""
|
3183 |
|
3184 |
+
#: admin/views/conditions/ad-display-metabox.php:17
|
3185 |
+
msgid ""
|
3186 |
+
"Click on the button below if the ad should NOT show up on all pages when "
|
3187 |
+
"included automatically."
|
3188 |
msgstr ""
|
3189 |
|
3190 |
+
#: admin/views/conditions/ad-display-metabox.php:19
|
3191 |
+
msgid "Hide the ad on some pages"
|
|
|
|
|
|
|
|
|
|
|
3192 |
msgstr ""
|
3193 |
|
3194 |
+
#: admin/views/conditions/ad-display-metabox.php:34
|
3195 |
+
msgid "Watch video"
|
|
|
|
|
|
|
3196 |
msgstr ""
|
3197 |
|
3198 |
+
#: admin/views/conditions/ad-display-metabox.php:47
|
3199 |
+
msgid "A page with this ad on it must match all of the following conditions."
|
|
|
|
|
|
|
|
|
3200 |
msgstr ""
|
3201 |
|
3202 |
+
#: admin/views/conditions/no-option.php:7
|
3203 |
#, php-format
|
3204 |
+
msgctxt ""
|
3205 |
+
"Error message shown when no terms exists for display condition; placeholder "
|
3206 |
+
"is taxonomy label."
|
3207 |
+
msgid "No %s found on your site."
|
|
|
|
|
|
|
|
|
3208 |
msgstr ""
|
3209 |
|
3210 |
+
#: admin/views/conditions/condition-device.php:3
|
3211 |
+
msgid "Mobile (including tablets)"
|
3212 |
msgstr ""
|
3213 |
|
3214 |
+
#: admin/views/conditions/condition-device.php:4
|
3215 |
+
msgid "Desktop"
|
3216 |
msgstr ""
|
3217 |
|
3218 |
+
#: admin/views/conditions/conditions-form.php:8
|
3219 |
+
msgid "New condition"
|
3220 |
msgstr ""
|
3221 |
|
3222 |
+
#: admin/views/conditions/conditions-form.php:13
|
3223 |
+
msgid "-- choose a condition --"
|
|
|
3224 |
msgstr ""
|
3225 |
|
3226 |
+
#: admin/views/conditions/conditions-form.php:22
|
3227 |
+
msgid "Add-On features"
|
3228 |
msgstr ""
|
3229 |
|
3230 |
+
#: admin/views/conditions/ad-visitor-metabox.php:17
|
3231 |
+
msgid ""
|
3232 |
+
"Click on the button below if the ad should NOT be visible to all visitors"
|
3233 |
msgstr ""
|
3234 |
|
3235 |
+
#: admin/views/conditions/ad-visitor-metabox.php:19
|
3236 |
+
msgid "Hide the ad from some users"
|
|
|
3237 |
msgstr ""
|
3238 |
|
3239 |
+
#: admin/views/conditions/ad-visitor-metabox.php:29
|
3240 |
+
msgid ""
|
3241 |
+
"Display conditions that are based on the user. Use with caution on cached "
|
3242 |
+
"websites."
|
3243 |
msgstr ""
|
3244 |
|
3245 |
+
#: modules/gadsense/includes/class-mapi.php:338
|
3246 |
#, php-format
|
3247 |
msgid "Error while retrieving ad code for \"%s\"."
|
3248 |
msgstr ""
|
3249 |
|
3250 |
+
#: modules/gadsense/includes/class-mapi.php:365
|
3251 |
#, php-format
|
3252 |
msgid "Invalid response while retrieving ad code for \"%s\"."
|
3253 |
msgstr ""
|
3254 |
|
3255 |
+
#: modules/gadsense/includes/class-mapi.php:406
|
3256 |
#, php-format
|
3257 |
msgid "Error while retrieving adUnits list for \"%s\"."
|
3258 |
msgstr ""
|
3259 |
|
3260 |
+
#: modules/gadsense/includes/class-mapi.php:413
|
3261 |
#, php-format
|
3262 |
msgid "Invalid response while retrieving adUnits list for \"%s\"."
|
3263 |
msgstr ""
|
3264 |
|
3265 |
+
#: modules/gadsense/includes/class-mapi.php:421
|
3266 |
msgid "Reason:"
|
3267 |
msgstr ""
|
3268 |
|
3269 |
+
#: modules/gadsense/includes/class-mapi.php:422
|
3270 |
msgid "Message:"
|
3271 |
msgstr ""
|
3272 |
|
3273 |
#. %1$s is the AdSense publisher ID; %2$s a starting a tag to the AdSense ad unit list and %3$s the closing link.
|
3274 |
+
#: modules/gadsense/includes/class-mapi.php:437
|
3275 |
#, php-format
|
3276 |
msgid ""
|
3277 |
"The account \"%1$s\" does not seem to have any ad units. Please create some "
|
3278 |
"%2$shere%3$s."
|
3279 |
msgstr ""
|
3280 |
|
3281 |
+
#: modules/gadsense/includes/class-mapi.php:499
|
3282 |
msgid ""
|
3283 |
"It seems that some changes have been made in the Advanced Ads settings. "
|
3284 |
"Please refresh this page."
|
3285 |
msgstr ""
|
3286 |
|
3287 |
+
#: modules/gadsense/includes/class-mapi.php:506
|
3288 |
#, php-format
|
3289 |
msgid ""
|
3290 |
"Advanced Ads does not have access to your account (<code>%s</code>) anymore."
|
3291 |
msgstr ""
|
3292 |
|
3293 |
+
#: modules/gadsense/includes/class-mapi.php:548
|
3294 |
#, php-format
|
3295 |
msgid "error while renewing access token for \"%s\""
|
3296 |
msgstr ""
|
3297 |
|
3298 |
+
#: modules/gadsense/includes/class-mapi.php:573
|
3299 |
#, php-format
|
3300 |
msgid "invalid response received while renewing access token for \"%s\""
|
3301 |
msgstr ""
|
3302 |
|
3303 |
+
#: modules/gadsense/includes/class-mapi.php:642
|
3304 |
+
msgid "This ad code is from a different AdSense Account"
|
3305 |
+
msgstr ""
|
3306 |
+
|
3307 |
+
#: modules/gadsense/includes/class-mapi.php:867
|
3308 |
msgid "Invalid response body while retrieving account alerts"
|
3309 |
msgstr ""
|
3310 |
|
3311 |
+
#: modules/gadsense/includes/class-mapi.php:876
|
3312 |
msgid "error while retrieving account alerts"
|
3313 |
msgstr ""
|
3314 |
|
3315 |
+
#: modules/gadsense/includes/class-mapi.php:1031
|
3316 |
msgid "No token provided. Token data needed to get account details."
|
3317 |
msgstr ""
|
3318 |
|
3319 |
+
#: modules/gadsense/includes/class-mapi.php:1095
|
3320 |
msgid "An error occurred while requesting account details."
|
3321 |
msgstr ""
|
3322 |
|
3323 |
+
#: modules/gadsense/includes/class-mapi.php:1320
|
3324 |
+
#: modules/gadsense/includes/class-network-adsense.php:384
|
3325 |
+
msgctxt "AdSense ad type"
|
3326 |
+
msgid "Matched Content"
|
3327 |
+
msgstr ""
|
3328 |
+
|
3329 |
+
#: modules/gadsense/includes/class-mapi.php:1323
|
3330 |
+
#: modules/gadsense/includes/class-network-adsense.php:385
|
3331 |
+
msgctxt "AdSense ad type"
|
3332 |
+
msgid "In-article"
|
3333 |
+
msgstr ""
|
3334 |
+
|
3335 |
+
#: modules/gadsense/includes/class-mapi.php:1325
|
3336 |
+
#: modules/gadsense/includes/class-network-adsense.php:386
|
3337 |
+
msgctxt "AdSense ad type"
|
3338 |
+
msgid "In-feed"
|
3339 |
+
msgstr ""
|
3340 |
+
|
3341 |
+
#: modules/gadsense/includes/class-mapi.php:1330
|
3342 |
+
#: modules/gadsense/includes/class-network-adsense.php:387
|
3343 |
+
msgctxt "AdSense ad type"
|
3344 |
+
msgid "Display"
|
3345 |
+
msgstr ""
|
3346 |
+
|
3347 |
+
#: modules/gadsense/includes/class-mapi.php:1332
|
3348 |
+
#: modules/gadsense/includes/class-network-adsense.php:388
|
3349 |
+
msgctxt "AdSense ad type"
|
3350 |
+
msgid "Link"
|
3351 |
+
msgstr ""
|
3352 |
+
|
3353 |
+
#: modules/gadsense/includes/class-mapi.php:1480
|
3354 |
#, php-format
|
3355 |
msgid ""
|
3356 |
"There are one or more warnings about the currently linked AdSense account. "
|
3359 |
|
3360 |
#. 1:A link to the settings page
|
3361 |
#. 2:The name of an ad network
|
3362 |
+
#: modules/gadsense/includes/class-mapi.php:1567
|
3363 |
#, php-format
|
3364 |
msgid ""
|
3365 |
"Please try to <a href=\"%1$s\" target=\"_blank\">reconnect to your %2$s "
|
3366 |
"account</a>."
|
3367 |
msgstr ""
|
3368 |
|
3369 |
+
#: modules/gadsense/includes/class-adsense-report.php:472
|
3370 |
+
#: modules/gadsense/includes/class-adsense-report.php:498
|
3371 |
+
msgid "Never"
|
3372 |
+
msgstr ""
|
3373 |
+
|
3374 |
+
#: modules/gadsense/includes/class-gadsense-data.php:40
|
3375 |
+
msgid "Auto"
|
3376 |
+
msgstr ""
|
3377 |
+
|
3378 |
#: modules/gadsense/includes/class-network-adsense.php:34
|
3379 |
msgid "AdSense account"
|
3380 |
msgstr ""
|
3442 |
msgstr ""
|
3443 |
|
3444 |
#: modules/gadsense/includes/class-network-adsense.php:194
|
3445 |
+
#: modules/gadsense/admin/views/connect-adsense.php:43
|
3446 |
msgid ""
|
3447 |
"Insert the AdSense header code used for verification and the Auto Ads "
|
3448 |
"feature."
|
3460 |
"appear in random places</strong>."
|
3461 |
msgstr ""
|
3462 |
|
|
|
|
|
|
|
|
|
3463 |
#: modules/gadsense/includes/class-network-adsense.php:203
|
3464 |
msgid "Auto ads on AMP pages"
|
3465 |
msgstr ""
|
3497 |
"use the full width</a> of your visitor's mobile device screen"
|
3498 |
msgstr ""
|
3499 |
|
3500 |
+
#: modules/gadsense/includes/class-ad-type-adsense.php:34
|
3501 |
+
msgid "AdSense ad"
|
3502 |
+
msgstr ""
|
3503 |
+
|
3504 |
+
#: modules/gadsense/includes/class-ad-type-adsense.php:35
|
3505 |
+
msgid "Use ads from your Google AdSense account"
|
3506 |
+
msgstr ""
|
3507 |
+
|
3508 |
+
#: modules/gadsense/includes/class-ad-type-adsense.php:91
|
3509 |
+
#: modules/gadsense/admin/views/adsense-account.php:83
|
3510 |
+
msgid "The Publisher ID has an incorrect format. (must start with \"pub-\")"
|
3511 |
+
msgstr ""
|
3512 |
+
|
3513 |
+
#: modules/gadsense/includes/class-ad-type-adsense.php:132
|
3514 |
+
msgid "Your AdSense Publisher ID is missing."
|
3515 |
+
msgstr ""
|
3516 |
+
|
3517 |
+
#: modules/gadsense/admin/dummy.php:61
|
3518 |
+
msgid "Dummy Account Id"
|
3519 |
+
msgstr ""
|
3520 |
+
|
3521 |
+
#: modules/gadsense/admin/admin.php:121
|
3522 |
+
#, php-format
|
3523 |
+
msgid ""
|
3524 |
+
"Responsive AdSense ads don’t work reliably with <em>Position</em> set to "
|
3525 |
+
"left or right. Either switch the <em>Type</em> to \"normal\" or follow <a "
|
3526 |
+
"href=\"%s\" target=\"_blank\">this tutorial</a> if you want the ad to be "
|
3527 |
+
"wrapped in text."
|
3528 |
+
msgstr ""
|
3529 |
+
|
3530 |
+
#: modules/gadsense/admin/admin.php:127
|
3531 |
+
#, php-format
|
3532 |
+
msgid ""
|
3533 |
+
"<a href=\"%s\" target=\"_blank\">Install the free AdSense In-feed add-on</a> "
|
3534 |
+
"in order to place ads between posts."
|
3535 |
+
msgstr ""
|
3536 |
+
|
3537 |
+
#: modules/gadsense/admin/admin.php:134
|
3538 |
+
#, php-format
|
3539 |
+
msgid ""
|
3540 |
+
"Use the <a href=\"%s\" target=\"_blank\">Responsive add-on</a> in order to "
|
3541 |
+
"define the exact size for each browser width or choose between horizontal, "
|
3542 |
+
"vertical, or rectangle formats."
|
3543 |
+
msgstr ""
|
3544 |
+
|
3545 |
+
#: modules/gadsense/admin/admin.php:182
|
3546 |
+
#, php-format
|
3547 |
+
msgid ""
|
3548 |
+
"The AdSense verification and Auto ads code should be set up in the <a "
|
3549 |
+
"href=\"%s\">AdSense settings</a>. Click on the following button to enable it "
|
3550 |
+
"now."
|
3551 |
+
msgstr ""
|
3552 |
+
|
3553 |
+
#: modules/gadsense/admin/admin.php:183
|
3554 |
+
msgid "Activate"
|
3555 |
+
msgstr ""
|
3556 |
+
|
3557 |
+
#: modules/privacy/classes/plugin.php:149
|
3558 |
+
msgid "Show all ads even without consent."
|
3559 |
+
msgstr ""
|
3560 |
+
|
3561 |
+
#: modules/privacy/classes/plugin.php:150
|
3562 |
+
msgid "Cookie"
|
3563 |
+
msgstr ""
|
3564 |
+
|
3565 |
+
#: modules/privacy/admin/admin.php:63
|
3566 |
+
msgid "Privacy"
|
3567 |
+
msgstr ""
|
3568 |
+
|
3569 |
+
#: modules/privacy/admin/admin.php:84
|
3570 |
+
msgid "Enable Privacy module"
|
3571 |
+
msgstr ""
|
3572 |
+
|
3573 |
+
#: modules/privacy/admin/admin.php:87
|
3574 |
+
msgid "Consent method"
|
3575 |
+
msgstr ""
|
3576 |
+
|
3577 |
+
#: modules/ad-blocker/admin/admin.php:96
|
3578 |
+
msgid "Ad blocker fix"
|
3579 |
+
msgstr ""
|
3580 |
+
|
3581 |
+
#: modules/ad-blocker/admin/admin.php:150
|
3582 |
+
#: modules/ads-txt/admin/class-advanced-ads-ads-txt-admin.php:372
|
3583 |
+
msgid "Unable to connect to the filesystem. Please confirm your credentials."
|
3584 |
+
msgstr ""
|
3585 |
+
|
3586 |
+
#: modules/ad-blocker/admin/admin.php:165
|
3587 |
+
msgid "The asset folder was rebuilt successfully"
|
3588 |
+
msgstr ""
|
3589 |
+
|
3590 |
+
#: modules/ad-blocker/admin/admin.php:226
|
3591 |
+
msgid "There is no writable upload folder"
|
3592 |
+
msgstr ""
|
3593 |
+
|
3594 |
+
#: modules/ad-blocker/admin/admin.php:255
|
3595 |
+
#, php-format
|
3596 |
+
msgid "Unable to rename \"%s\" directory"
|
3597 |
+
msgstr ""
|
3598 |
+
|
3599 |
+
#: modules/ad-blocker/admin/admin.php:271
|
3600 |
+
#: modules/ad-blocker/admin/admin.php:284
|
3601 |
+
#: modules/ad-blocker/admin/admin.php:301
|
3602 |
+
#, php-format
|
3603 |
+
msgid "Unable to copy assets to the \"%s\" directory"
|
3604 |
+
msgstr ""
|
3605 |
+
|
3606 |
+
#: modules/ad-blocker/admin/admin.php:334
|
3607 |
+
#: modules/ad-blocker/admin/admin.php:419
|
3608 |
+
#, php-format
|
3609 |
+
msgid "We do not have direct write access to the \"%s\" directory"
|
3610 |
+
msgstr ""
|
3611 |
+
|
3612 |
+
#: modules/ad-blocker/admin/admin.php:430
|
3613 |
+
#, php-format
|
3614 |
+
msgid "Unable to copy files to %s"
|
3615 |
+
msgstr ""
|
3616 |
+
|
3617 |
#. Name of the plugin
|
3618 |
#: modules/gutenberg/includes/class-gutenberg.php:78
|
3619 |
msgid "Advanced Ads"
|
3620 |
msgstr ""
|
3621 |
|
3622 |
+
#: modules/adblock-finder/admin/admin.php:16
|
3623 |
+
msgid "Ad Blocker"
|
3624 |
+
msgstr ""
|
3625 |
+
|
3626 |
+
#: modules/adblock-finder/admin/admin.php:23
|
3627 |
+
msgid "Ad blocker counter"
|
3628 |
+
msgstr ""
|
3629 |
+
|
3630 |
#: modules/import-export/classes/import.php:66
|
3631 |
msgid "Please enter XML content"
|
3632 |
msgstr ""
|
3804 |
msgid "Start import"
|
3805 |
msgstr ""
|
3806 |
|
3807 |
+
#: modules/ads-txt/admin/class-advanced-ads-ads-txt-admin.php:176
|
3808 |
+
#, php-format
|
3809 |
+
msgid ""
|
3810 |
+
"The ads.txt file cannot be placed because the URL contains a subdirectory. "
|
3811 |
+
"You need to make the file available at %s"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3812 |
msgstr ""
|
3813 |
|
3814 |
+
#: modules/ads-txt/admin/class-advanced-ads-ads-txt-admin.php:187
|
3815 |
+
#, php-format
|
3816 |
+
msgid "The file is available on %s."
|
3817 |
msgstr ""
|
3818 |
|
3819 |
+
#: modules/ads-txt/admin/class-advanced-ads-ads-txt-admin.php:191
|
3820 |
+
msgid "The file was not created."
|
|
|
|
|
|
|
3821 |
msgstr ""
|
3822 |
|
3823 |
+
#: modules/ads-txt/admin/class-advanced-ads-ads-txt-admin.php:197
|
3824 |
+
msgid "Find the solution here"
|
3825 |
msgstr ""
|
3826 |
|
3827 |
+
#: modules/ads-txt/admin/class-advanced-ads-ads-txt-admin.php:208
|
3828 |
+
msgid "Import & Replace"
|
|
|
|
|
3829 |
msgstr ""
|
3830 |
|
3831 |
+
#: modules/ads-txt/admin/class-advanced-ads-ads-txt-admin.php:210
|
3832 |
msgid ""
|
3833 |
+
"Move the content of the existing ads.txt file into Advanced Ads and remove "
|
3834 |
+
"it."
|
3835 |
msgstr ""
|
3836 |
|
3837 |
+
#: modules/ads-txt/admin/class-advanced-ads-ads-txt-admin.php:217
|
3838 |
+
#: modules/ads-txt/admin/views/setting-additional-content.php:4
|
3839 |
#, php-format
|
3840 |
+
msgid "An error occured: %s."
|
|
|
|
|
3841 |
msgstr ""
|
3842 |
|
3843 |
+
#. %s the line that may need to be added manually
|
3844 |
+
#: modules/ads-txt/admin/class-advanced-ads-ads-txt-admin.php:230
|
3845 |
+
#, php-format
|
3846 |
msgid ""
|
3847 |
+
"If your site is located on a subdomain, you need to add the following line "
|
3848 |
+
"to the ads.txt file of the root domain: %s"
|
3849 |
msgstr ""
|
3850 |
|
3851 |
+
#: modules/ads-txt/admin/class-advanced-ads-ads-txt-admin.php:345
|
3852 |
+
msgid "The ads.txt is now managed with Advanced Ads."
|
|
|
|
|
3853 |
msgstr ""
|
3854 |
|
3855 |
+
#: modules/ads-txt/admin/class-advanced-ads-ads-txt-admin.php:390
|
3856 |
+
msgid "Not the main blog"
|
3857 |
msgstr ""
|
3858 |
|
3859 |
+
#: modules/ads-txt/admin/class-advanced-ads-ads-txt-admin.php:419
|
3860 |
+
msgid "Could not delete the existing ads.txt file"
|
3861 |
msgstr ""
|
3862 |
|
3863 |
+
#: modules/ads-txt/admin/class-advanced-ads-ads-txt-admin.php:422
|
3864 |
+
msgid "Could not find the existing ads.txt file"
|
|
|
|
|
3865 |
msgstr ""
|
3866 |
|
3867 |
#: modules/gadsense/admin/views/adsense-account.php:29
|
3901 |
msgid "Get a free AdSense account"
|
3902 |
msgstr ""
|
3903 |
|
3904 |
+
#: modules/gadsense/admin/views/adsense-account.php:151
|
3905 |
+
msgid "How to choose specific positions for AdSense ad units"
|
3906 |
+
msgstr ""
|
3907 |
+
|
3908 |
#. %1$s is the opening link tag to our manual; %2$s is the appropriate closing link tag; %3$s is the opening link tag to our help forum; %4$s is the appropriate closing link tag
|
3909 |
+
#: modules/gadsense/admin/views/adsense-account.php:155
|
3910 |
#, php-format
|
3911 |
msgid ""
|
3912 |
"Problems with AdSense? Check out the %1$smanual%2$s or %3$sask here%4$s."
|
3913 |
msgstr ""
|
3914 |
|
3915 |
+
#: modules/gadsense/admin/views/adsense-account.php:163
|
3916 |
+
#: modules/gadsense/admin/views/external-ads-links.php:38
|
3917 |
msgid "Can not connect AdSense account. PHP version is too low."
|
3918 |
msgstr ""
|
3919 |
|
3920 |
+
#: modules/gadsense/admin/views/external-ads-list.php:34
|
3921 |
+
#: modules/gadsense/admin/views/external-ads-list.php:78
|
3922 |
+
msgid "Update the ad units list"
|
3923 |
+
msgstr ""
|
3924 |
+
|
3925 |
+
#: modules/gadsense/admin/views/external-ads-list.php:46
|
3926 |
+
#: modules/gadsense/admin/views/external-ads-list.php:56
|
3927 |
+
msgctxt "AdSense ad"
|
3928 |
+
msgid "Slot ID"
|
3929 |
+
msgstr ""
|
3930 |
+
|
3931 |
+
#: modules/gadsense/admin/views/external-ads-list.php:47
|
3932 |
+
#: modules/gadsense/admin/views/external-ads-list.php:57
|
3933 |
+
msgctxt "AdSense ad"
|
3934 |
+
msgid "Type"
|
3935 |
+
msgstr ""
|
3936 |
+
|
3937 |
+
#: modules/gadsense/admin/views/external-ads-list.php:48
|
3938 |
+
#: modules/gadsense/admin/views/external-ads-list.php:58
|
3939 |
+
msgid "Size"
|
3940 |
+
msgstr ""
|
3941 |
+
|
3942 |
+
#: modules/gadsense/admin/views/external-ads-list.php:65
|
3943 |
+
msgid "No active ad units found"
|
3944 |
+
msgstr ""
|
3945 |
+
|
3946 |
+
#: modules/gadsense/admin/views/external-ads-list.php:67
|
3947 |
+
msgid "Show all ad units"
|
3948 |
+
msgstr ""
|
3949 |
+
|
3950 |
+
#: modules/gadsense/admin/views/external-ads-list.php:76
|
3951 |
+
msgid "No ad units found"
|
3952 |
+
msgstr ""
|
3953 |
+
|
3954 |
+
#: modules/gadsense/admin/views/external-ads-list.php:102
|
3955 |
+
msgid "Get the code for this ad"
|
3956 |
+
msgstr ""
|
3957 |
+
|
3958 |
+
#: modules/gadsense/admin/views/external-ads-list.php:107
|
3959 |
+
msgid "Ad can't be imported, click for details"
|
3960 |
+
msgstr ""
|
3961 |
+
|
3962 |
+
#: modules/gadsense/admin/views/external-ads-list.php:119
|
3963 |
+
msgid "Unrecognized ad code"
|
3964 |
+
msgstr ""
|
3965 |
+
|
3966 |
+
#: modules/gadsense/admin/views/external-ads-list.php:125
|
3967 |
+
msgid "This ad type can currently not be imported from AdSense."
|
3968 |
+
msgstr ""
|
3969 |
+
|
3970 |
+
#: modules/gadsense/admin/views/external-ads-list.php:128
|
3971 |
+
msgid "You can proceed with one of the following solutions"
|
3972 |
+
msgstr ""
|
3973 |
+
|
3974 |
+
#. 1: opening tag for AdSense account link 2: opening tag for a link to insert ad code 3: closing a tag
|
3975 |
+
#: modules/gadsense/admin/views/external-ads-list.php:134
|
3976 |
+
#, php-format
|
3977 |
+
msgid ""
|
3978 |
+
"%1$sCopy the code from your AdSense account%3$s and %2$sinsert a new AdSense "
|
3979 |
+
"code here%3$s."
|
3980 |
+
msgstr ""
|
3981 |
+
|
3982 |
+
#. 1: opening tag for a link to create an ad manually 2: closing a tag
|
3983 |
+
#: modules/gadsense/admin/views/external-ads-list.php:140
|
3984 |
+
#, php-format
|
3985 |
+
msgid ""
|
3986 |
+
"%1$sCreate an AdSense code manually%2$s: Select the <em>Normal</em> or <em>"
|
3987 |
+
"Responsive</em> type and the size."
|
3988 |
msgstr ""
|
3989 |
|
3990 |
+
#: modules/gadsense/admin/views/external-ads-list.php:147
|
3991 |
+
msgid "Choose a different ad from your AdSense account above."
|
3992 |
+
msgstr ""
|
3993 |
+
|
3994 |
+
#: modules/gadsense/admin/views/adsense-ad-parameters.php:53
|
3995 |
msgid "The ad details couldn't be retrieved from the ad code"
|
3996 |
msgstr ""
|
3997 |
|
3998 |
+
#: modules/gadsense/admin/views/adsense-ad-parameters.php:54
|
3999 |
msgid ""
|
4000 |
"Warning: The AdSense account from this code does not match the one set in "
|
4001 |
"the Advanced Ads options."
|
4002 |
msgstr ""
|
4003 |
|
4004 |
+
#: modules/gadsense/admin/views/adsense-ad-parameters.php:62
|
4005 |
msgid ""
|
4006 |
"Copy the ad code from your AdSense account, paste it into the area below and "
|
4007 |
"click on <em>Get details</em>."
|
4008 |
msgstr ""
|
4009 |
|
4010 |
+
#: modules/gadsense/admin/views/adsense-ad-parameters.php:64
|
4011 |
msgid "Get details"
|
4012 |
msgstr ""
|
4013 |
|
4014 |
+
#: modules/gadsense/admin/views/adsense-ad-parameters.php:65
|
4015 |
msgid "cancel"
|
4016 |
msgstr ""
|
4017 |
|
4018 |
+
#: modules/gadsense/admin/views/adsense-ad-parameters.php:67
|
4019 |
msgid "connect to your AdSense account"
|
4020 |
msgstr ""
|
4021 |
|
4022 |
+
#: modules/gadsense/admin/views/adsense-ad-parameters.php:82
|
4023 |
msgid "Ad Slot ID"
|
4024 |
msgstr ""
|
4025 |
|
4026 |
+
#: modules/gadsense/admin/views/adsense-ad-parameters.php:87
|
4027 |
#, php-format
|
4028 |
msgid "Publisher ID: %s"
|
4029 |
msgstr ""
|
4030 |
|
4031 |
+
#: modules/gadsense/admin/views/adsense-ad-parameters.php:91
|
4032 |
msgid ""
|
4033 |
"The ad slot ID is either a number or empty and not the same as the publisher "
|
4034 |
"ID."
|
4035 |
msgstr ""
|
4036 |
|
4037 |
+
#: modules/gadsense/admin/views/adsense-ad-parameters.php:102
|
4038 |
#, php-format
|
4039 |
msgid "Please <a href=\"%s\" target=\"_blank\">change it here</a>."
|
4040 |
msgstr ""
|
4041 |
|
4042 |
+
#: modules/gadsense/admin/views/adsense-ad-parameters.php:108
|
4043 |
msgid "Normal"
|
4044 |
msgstr ""
|
4045 |
|
4046 |
+
#: modules/gadsense/admin/views/adsense-ad-parameters.php:110
|
4047 |
msgid "Responsive (Matched Content)"
|
4048 |
msgstr ""
|
4049 |
|
4050 |
+
#: modules/gadsense/admin/views/adsense-ad-parameters.php:111
|
4051 |
msgid "Link ads"
|
4052 |
msgstr ""
|
4053 |
|
4054 |
+
#: modules/gadsense/admin/views/adsense-ad-parameters.php:112
|
4055 |
msgid "Link ads (Responsive)"
|
4056 |
msgstr ""
|
4057 |
|
4058 |
+
#: modules/gadsense/admin/views/adsense-ad-parameters.php:113
|
4059 |
+
msgid "In-article"
|
4060 |
msgstr ""
|
4061 |
|
4062 |
+
#: modules/gadsense/admin/views/adsense-ad-parameters.php:114
|
4063 |
+
msgid "In-feed"
|
4064 |
msgstr ""
|
4065 |
|
4066 |
+
#: modules/gadsense/admin/views/adsense-ad-parameters.php:119
|
4067 |
msgid "Resizing"
|
4068 |
msgstr ""
|
4069 |
|
4070 |
+
#: modules/gadsense/admin/views/adsense-ad-parameters.php:128
|
4071 |
msgid "Layout"
|
4072 |
msgstr ""
|
4073 |
|
4074 |
+
#: modules/gadsense/admin/views/adsense-ad-parameters.php:133
|
4075 |
msgid "Layout-Key"
|
4076 |
msgstr ""
|
4077 |
|
4078 |
+
#: modules/gadsense/admin/views/adsense-ad-parameters.php:138
|
4079 |
msgid "Clearfix"
|
4080 |
msgstr ""
|
4081 |
|
4082 |
+
#: modules/gadsense/admin/views/adsense-ad-parameters.php:141
|
4083 |
msgid "Enable this box if responsive ads cover something on your site"
|
4084 |
msgstr ""
|
4085 |
|
4086 |
+
#. 1: The name of an ad network.
|
4087 |
+
#: modules/gadsense/admin/views/external-ads-links.php:12
|
4088 |
+
#, php-format
|
4089 |
+
msgid "Insert new %1$s code"
|
4090 |
+
msgstr ""
|
4091 |
+
|
4092 |
+
#: modules/gadsense/admin/views/external-ads-links.php:18
|
4093 |
+
msgid "Get ad code from your linked account"
|
4094 |
+
msgstr ""
|
4095 |
+
|
4096 |
+
#. 1: The name of an ad network.
|
4097 |
+
#: modules/gadsense/admin/views/external-ads-links.php:24
|
4098 |
+
#, php-format
|
4099 |
+
msgid "Set up %1$s code manually"
|
4100 |
+
msgstr ""
|
4101 |
+
|
4102 |
+
#. 1: The name of an ad network.
|
4103 |
+
#: modules/gadsense/admin/views/external-ads-links.php:31
|
4104 |
+
#, php-format
|
4105 |
+
msgid "Connect to %1$s"
|
4106 |
+
msgstr ""
|
4107 |
+
|
4108 |
#: modules/gadsense/admin/views/connect-adsense.php:35
|
4109 |
msgid "Please enter the confirmation code."
|
4110 |
msgstr ""
|
4111 |
|
4112 |
+
#. 1: opening a tag to open Google Adsense modal 2: closing a tag
|
4113 |
#: modules/gadsense/admin/views/connect-adsense.php:39
|
4114 |
+
#, php-format
|
4115 |
+
msgid "This is not the correct confirmation code. %1$sPlease try again%2$s."
|
4116 |
+
msgstr ""
|
4117 |
+
|
4118 |
+
#: modules/gadsense/admin/views/connect-adsense.php:45
|
4119 |
msgid "Submit code"
|
4120 |
msgstr ""
|
4121 |
|
4122 |
+
#: modules/gadsense/admin/views/connect-adsense.php:53
|
4123 |
msgid "Cannot access your account information."
|
4124 |
msgstr ""
|
4125 |
|
4126 |
+
#: modules/gadsense/admin/views/connect-adsense.php:59
|
4127 |
msgid "Please select an account"
|
4128 |
msgstr ""
|
4129 |
|
4130 |
+
#: modules/gadsense/admin/views/connect-adsense.php:64
|
4131 |
msgid "Use this account"
|
4132 |
msgstr ""
|
4133 |
|
4134 |
+
#: modules/gadsense/admin/views/auto-ads-video.php:4
|
4135 |
+
msgid "How to enable Auto ads in 30 seconds (video tutorial)"
|
|
|
|
|
|
|
|
|
|
|
|
|
4136 |
msgstr ""
|
4137 |
|
4138 |
+
#: modules/privacy/admin/views/setting-consent-method.php:12
|
4139 |
+
msgid "Value"
|
|
|
|
|
4140 |
msgstr ""
|
4141 |
|
4142 |
+
#: modules/privacy/admin/views/setting-consent-method.php:18
|
4143 |
+
msgid "Show non-personalized AdSense ads until consent is given."
|
|
|
|
|
4144 |
msgstr ""
|
4145 |
|
4146 |
+
#: modules/privacy/admin/views/setting-enable.php:5
|
4147 |
+
msgid ""
|
4148 |
+
"Your users’ consent might get cached and show ads to users who didn’t give "
|
4149 |
+
"their consent yet. "
|
4150 |
msgstr ""
|
4151 |
|
4152 |
+
#: modules/privacy/admin/views/setting-enable.php:6
|
4153 |
+
#, php-format
|
4154 |
+
msgid ""
|
4155 |
+
"Cache-busting in <a href=\"%s\" target=\"_blank\">Advanced Ads Pro</a> "
|
4156 |
+
"solves that."
|
4157 |
msgstr ""
|
4158 |
|
4159 |
+
#: modules/privacy/admin/views/setting-ad-ignore-consent.php:2
|
4160 |
+
msgid "privacy"
|
|
|
|
|
4161 |
msgstr ""
|
4162 |
|
4163 |
+
#: modules/privacy/admin/views/setting-ad-ignore-consent.php:6
|
4164 |
+
#, php-format
|
4165 |
+
msgid ""
|
4166 |
+
"Ignore <a href=\"%s\">general Privacy settings</a> and display the ad even "
|
4167 |
+
"without consent."
|
4168 |
msgstr ""
|
4169 |
|
4170 |
+
#: modules/ad-blocker/admin/views/rebuild_form.php:1
|
4171 |
+
msgid "Ad blocker file folder"
|
|
|
4172 |
msgstr ""
|
4173 |
|
4174 |
+
#: modules/ad-blocker/admin/views/rebuild_form.php:10
|
4175 |
+
msgid "Upload folder is not writable"
|
4176 |
msgstr ""
|
4177 |
|
4178 |
+
#: modules/ad-blocker/admin/views/rebuild_form.php:23
|
4179 |
+
msgid "Asset path"
|
4180 |
msgstr ""
|
4181 |
|
4182 |
+
#: modules/ad-blocker/admin/views/rebuild_form.php:27
|
4183 |
+
msgid "Asset URL"
|
4184 |
msgstr ""
|
4185 |
|
4186 |
+
#: modules/ad-blocker/admin/views/rebuild_form.php:31
|
4187 |
+
msgid "Rename assets"
|
4188 |
msgstr ""
|
4189 |
|
4190 |
+
#: modules/ad-blocker/admin/views/rebuild_form.php:34
|
4191 |
+
msgid "Check if you want to change the names of the assets"
|
4192 |
msgstr ""
|
4193 |
|
4194 |
+
#: modules/ad-blocker/admin/views/rebuild_form.php:43
|
4195 |
+
#, php-format
|
4196 |
+
msgid ""
|
4197 |
+
"Please, rebuild the asset folder. All assets will be located in <strong>"
|
4198 |
+
"%s</strong>"
|
4199 |
msgstr ""
|
4200 |
|
4201 |
+
#: modules/ad-blocker/admin/views/rebuild_form.php:46
|
4202 |
+
msgid "Rebuild asset folder"
|
4203 |
msgstr ""
|
4204 |
|
4205 |
+
#: modules/ad-blocker/admin/views/setting-use-adblocker.php:4
|
4206 |
msgid ""
|
4207 |
+
"The ad block disguise can only be set by the super admin on the main site in "
|
4208 |
+
"the network."
|
4209 |
msgstr ""
|
4210 |
|
4211 |
+
#: modules/ad-blocker/admin/views/setting-use-adblocker.php:6
|
4212 |
msgid ""
|
4213 |
+
"Prevents ad block software from breaking your website when blocking asset "
|
4214 |
+
"files (.js, .css)."
|
4215 |
msgstr ""
|
4216 |
|
4217 |
+
#: modules/ad-blocker/admin/views/setting-use-adblocker.php:8
|
4218 |
+
#, php-format
|
4219 |
msgid ""
|
4220 |
+
"Learn how to display alternative content to ad block users <a href=\"%s\" "
|
4221 |
+
"target=\"_blank\">in the manual</a>."
|
|
|
|
|
|
|
|
|
4222 |
msgstr ""
|
4223 |
|
4224 |
+
#: modules/adblock-finder/admin/views/setting-ga.php:2
|
|
|
4225 |
msgid ""
|
4226 |
+
"Want to know how many of your visitors are using an ad blocker? Enter your "
|
4227 |
+
"Google Analytics property ID above to count them."
|
4228 |
msgstr ""
|
4229 |
|
4230 |
+
#: modules/ads-txt/admin/views/setting-additional-content.php:2
|
4231 |
+
msgid ""
|
4232 |
+
"Additional records to add to the file, one record per line. AdSense is added "
|
4233 |
+
"automatically."
|
4234 |
msgstr ""
|
4235 |
|
4236 |
+
#: modules/ads-txt/admin/views/setting-additional-content.php:5
|
4237 |
+
msgid "Check for problems"
|
4238 |
msgstr ""
|
4239 |
|
4240 |
+
#: modules/ads-txt/admin/views/setting-create.php:19
|
4241 |
+
msgid "Generate a single ads.txt file for all sites in the multisite network."
|
|
|
|
|
4242 |
msgstr ""
|
4243 |
|
4244 |
+
#: modules/ads-txt/admin/views/setting-create.php:27
|
|
|
4245 |
msgid ""
|
4246 |
+
"Usually, this should be enabled on the main site of the network - often the "
|
4247 |
+
"one without a subdomain or subdirectory."
|
4248 |
msgstr ""
|
4249 |
|
4250 |
#. Description of the plugin
|
modules/ads-txt/includes/class-advanced-ads-ads-txt-utils.php
CHANGED
@@ -73,7 +73,7 @@ class Advanced_Ads_Ads_Txt_Utils {
|
|
73 |
|
74 |
// Example: `one.com.au'.
|
75 |
$suffix_and_tld = implode( '.', array_slice( $host_parts, 1 ) );
|
76 |
-
if ( in_array( $suffix_and_tld, array( 'com.au', 'com.br' ) ) ) {
|
77 |
return false;
|
78 |
}
|
79 |
|
73 |
|
74 |
// Example: `one.com.au'.
|
75 |
$suffix_and_tld = implode( '.', array_slice( $host_parts, 1 ) );
|
76 |
+
if ( in_array( $suffix_and_tld, array( 'com.au', 'com.br', 'com.pl' ) ) ) {
|
77 |
return false;
|
78 |
}
|
79 |
|
modules/gadsense/admin/admin.php
CHANGED
@@ -190,13 +190,13 @@ class Advanced_Ads_AdSense_Admin {
|
|
190 |
* @param type $hide_idle Whether to hide idle ads.
|
191 |
*/
|
192 |
public static function get_mapi_ad_selector( $hide_idle_ads = true ) {
|
193 |
-
global $closeable, $use_dashicons, $network, $ad_units, $
|
194 |
$closeable = true;
|
195 |
$use_dashicons = false;
|
196 |
$network = Advanced_Ads_Network_Adsense::get_instance();
|
197 |
$ad_units = $network->get_external_ad_units();
|
198 |
-
$unsupported_ad_type_link = Advanced_Ads_AdSense_MAPI::UNSUPPORTED_TYPE_LINK;
|
199 |
$display_slot_id = true;
|
|
|
200 |
|
201 |
require_once GADSENSE_BASE_PATH . 'admin/views/external-ads-list.php';
|
202 |
// require_once GADSENSE_BASE_PATH . 'admin/views/external-ads-adsense.php';
|
190 |
* @param type $hide_idle Whether to hide idle ads.
|
191 |
*/
|
192 |
public static function get_mapi_ad_selector( $hide_idle_ads = true ) {
|
193 |
+
global $closeable, $use_dashicons, $network, $ad_units, $display_slot_id;
|
194 |
$closeable = true;
|
195 |
$use_dashicons = false;
|
196 |
$network = Advanced_Ads_Network_Adsense::get_instance();
|
197 |
$ad_units = $network->get_external_ad_units();
|
|
|
198 |
$display_slot_id = true;
|
199 |
+
$pub_id = Advanced_Ads_AdSense_Data::get_instance()->get_adsense_id();
|
200 |
|
201 |
require_once GADSENSE_BASE_PATH . 'admin/views/external-ads-list.php';
|
202 |
// require_once GADSENSE_BASE_PATH . 'admin/views/external-ads-adsense.php';
|
modules/gadsense/admin/assets/js/adsense.js
CHANGED
@@ -54,8 +54,7 @@ class AdvancedAdsNetworkAdsense extends AdvancedAdsAdNetwork{
|
|
54 |
var elmData = jQuery(elm).data('refresh');
|
55 |
if (elmData){
|
56 |
elmData = typeof(elmData) === 'string' ? JSON.parse(elmData) : elmData;
|
57 |
-
|
58 |
-
elmData.filter_value = unit_code;
|
59 |
elmData.requires_refresh = true;
|
60 |
jQuery(elm).data('refresh', elmData);
|
61 |
Advanced_Ads_Adsense_Helper.process_dashboard(elm);
|
@@ -166,6 +165,7 @@ class AdvancedAdsNetworkAdsense extends AdvancedAdsAdNetwork{
|
|
166 |
// jQuery( '#mapi-get-adcode,#mapi-get-adunits' ).prop( 'disabled', true );
|
167 |
// }
|
168 |
// }
|
|
|
169 |
that.closeAdSelector();
|
170 |
|
171 |
} else {
|
@@ -214,7 +214,7 @@ class AdvancedAdsNetworkAdsense extends AdvancedAdsAdNetwork{
|
|
214 |
if (undefined !== theAd.slotId && '' != theAd.pubId) {
|
215 |
theAd.display = adByGoogle.css( 'display' );
|
216 |
theAd.format = adByGoogle.attr( 'data-ad-format' );
|
217 |
-
theAd.layout = adByGoogle.attr( 'data-ad-layout' ); // for
|
218 |
theAd.layout_key = adByGoogle.attr( 'data-ad-layout-key' ); // for InFeed
|
219 |
theAd.style = adByGoogle.attr( 'style' ) || '';
|
220 |
|
@@ -250,14 +250,14 @@ class AdvancedAdsNetworkAdsense extends AdvancedAdsAdNetwork{
|
|
250 |
theAd.type = 'matched-content';
|
251 |
}
|
252 |
|
253 |
-
/*
|
254 |
else if ('undefined' != typeof(theAd.format) && 'fluid' == theAd.format) {
|
255 |
|
256 |
-
//
|
257 |
if('undefined' != typeof(theAd.layout) && 'in-article' == theAd.layout){
|
258 |
theAd.type = 'in-article';
|
259 |
} else {
|
260 |
-
//
|
261 |
theAd.type = 'in-feed';
|
262 |
}
|
263 |
}
|
@@ -353,7 +353,7 @@ class AdvancedAdsNetworkAdsense extends AdvancedAdsAdNetwork{
|
|
353 |
}
|
354 |
jQuery( '.advads-adsense-code' ).hide();
|
355 |
jQuery( '.advads-adsense-show-code' ).show();
|
356 |
-
jQuery( '
|
357 |
var SNT = this.getCustomInputs();
|
358 |
SNT.css( 'display', 'block' );
|
359 |
}
|
@@ -543,8 +543,10 @@ class AdvancedAdsNetworkAdsense extends AdvancedAdsAdNetwork{
|
|
543 |
var $hr1 = $div1.next();
|
544 |
var $label2 = $hr1.next();
|
545 |
var $div2 = $label2.next();
|
|
|
|
|
546 |
|
547 |
-
var $elems = $div1.add( $label1 ).add( $hr1 ).add( $label2 ).add( $div2 );
|
548 |
return $elems;
|
549 |
}
|
550 |
|
@@ -603,6 +605,20 @@ class AdvancedAdsNetworkAdsense extends AdvancedAdsAdNetwork{
|
|
603 |
if (AdvancedAdsAdmin.AdImporter.highlightSelectedRowInExternalAdsList()){
|
604 |
AdvancedAdsAdmin.AdImporter.openExternalAdsList();
|
605 |
that.preventCloseAdSelector = true;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
606 |
}
|
607 |
else{
|
608 |
// no adsense ad with this slot id was found
|
@@ -612,7 +628,30 @@ class AdvancedAdsNetworkAdsense extends AdvancedAdsAdNetwork{
|
|
612 |
}
|
613 |
});
|
614 |
|
615 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
616 |
that.checkAdSlotId(this);
|
617 |
});
|
618 |
|
54 |
var elmData = jQuery(elm).data('refresh');
|
55 |
if (elmData){
|
56 |
elmData = typeof(elmData) === 'string' ? JSON.parse(elmData) : elmData;
|
57 |
+
elmData.filter_value = slotId.split(':')[1]; // get the unit id from the slot id
|
|
|
58 |
elmData.requires_refresh = true;
|
59 |
jQuery(elm).data('refresh', elmData);
|
60 |
Advanced_Ads_Adsense_Helper.process_dashboard(elm);
|
165 |
// jQuery( '#mapi-get-adcode,#mapi-get-adunits' ).prop( 'disabled', true );
|
166 |
// }
|
167 |
// }
|
168 |
+
jQuery('[data-slotid="'+slotID+'"]').children('.unittype').text(response.type);
|
169 |
that.closeAdSelector();
|
170 |
|
171 |
} else {
|
214 |
if (undefined !== theAd.slotId && '' != theAd.pubId) {
|
215 |
theAd.display = adByGoogle.css( 'display' );
|
216 |
theAd.format = adByGoogle.attr( 'data-ad-format' );
|
217 |
+
theAd.layout = adByGoogle.attr( 'data-ad-layout' ); // for In-feed and In-article
|
218 |
theAd.layout_key = adByGoogle.attr( 'data-ad-layout-key' ); // for InFeed
|
219 |
theAd.style = adByGoogle.attr( 'style' ) || '';
|
220 |
|
250 |
theAd.type = 'matched-content';
|
251 |
}
|
252 |
|
253 |
+
/* In-article & In-feed ads */
|
254 |
else if ('undefined' != typeof(theAd.format) && 'fluid' == theAd.format) {
|
255 |
|
256 |
+
// In-article
|
257 |
if('undefined' != typeof(theAd.layout) && 'in-article' == theAd.layout){
|
258 |
theAd.type = 'in-article';
|
259 |
} else {
|
260 |
+
// In-feed
|
261 |
theAd.type = 'in-feed';
|
262 |
}
|
263 |
}
|
353 |
}
|
354 |
jQuery( '.advads-adsense-code' ).hide();
|
355 |
jQuery( '.advads-adsense-show-code' ).show();
|
356 |
+
jQuery( '.mapi-insert-code' ).show();
|
357 |
var SNT = this.getCustomInputs();
|
358 |
SNT.css( 'display', 'block' );
|
359 |
}
|
543 |
var $hr1 = $div1.next();
|
544 |
var $label2 = $hr1.next();
|
545 |
var $div2 = $label2.next();
|
546 |
+
var $layoutKey = jQuery( '#ad-layout-key' ).closest( 'div' );
|
547 |
+
var $layoutKeyLabel = $layoutKey.prev( '#advads-adsense-layout-key' );
|
548 |
|
549 |
+
var $elems = $div1.add( $label1 ).add( $hr1 ).add( $label2 ).add( $div2 ).add( $layoutKey ).add( $layoutKeyLabel );
|
550 |
return $elems;
|
551 |
}
|
552 |
|
605 |
if (AdvancedAdsAdmin.AdImporter.highlightSelectedRowInExternalAdsList()){
|
606 |
AdvancedAdsAdmin.AdImporter.openExternalAdsList();
|
607 |
that.preventCloseAdSelector = true;
|
608 |
+
|
609 |
+
// save the manually added ad code to the AdSense settings
|
610 |
+
wp.ajax.post('advads-mapi-save-manual-code', {
|
611 |
+
raw_code: encodeURIComponent(rawContent),
|
612 |
+
parsed_code: parseResult,
|
613 |
+
nonce: AdsenseMAPI.nonce
|
614 |
+
})
|
615 |
+
.fail(function (r) {
|
616 |
+
var $notice = jQuery('<div>').addClass('notice notice-error').html(jQuery('<p>').text(r.responseJSON.data.message));
|
617 |
+
jQuery('#post').before($notice);
|
618 |
+
jQuery('body html').animate({
|
619 |
+
scrollTop: $notice.offset().top
|
620 |
+
}, 200);
|
621 |
+
});
|
622 |
}
|
623 |
else{
|
624 |
// no adsense ad with this slot id was found
|
628 |
}
|
629 |
});
|
630 |
|
631 |
+
jQuery(document).on('gadsenseUnitChanged', function () {
|
632 |
+
var $row = jQuery('tr[data-slotid$="' + jQuery('#unit-code').val() + '"]'),
|
633 |
+
type = window.adsenseAdvancedAdsJS.ad_types.display;
|
634 |
+
|
635 |
+
switch (jQuery('#unit-type').val()) {
|
636 |
+
case 'matched-content':
|
637 |
+
type = window.adsenseAdvancedAdsJS.ad_types.matched_content;
|
638 |
+
break;
|
639 |
+
case 'link':
|
640 |
+
case 'link-responsive':
|
641 |
+
type = window.adsenseAdvancedAdsJS.ad_types.link;
|
642 |
+
break;
|
643 |
+
case 'in-article':
|
644 |
+
type = window.adsenseAdvancedAdsJS.ad_types.in_article;
|
645 |
+
break;
|
646 |
+
case 'in-feed':
|
647 |
+
type = window.adsenseAdvancedAdsJS.ad_types.in_feed;
|
648 |
+
break;
|
649 |
+
}
|
650 |
+
|
651 |
+
$row.children('.unittype').text(type);
|
652 |
+
});
|
653 |
+
|
654 |
+
jQuery( document ).on('change', '#unit-type, #unit-code', function () {
|
655 |
that.checkAdSlotId(this);
|
656 |
});
|
657 |
|
modules/gadsense/admin/assets/js/connect-adsense.js
CHANGED
@@ -52,10 +52,10 @@
|
|
52 |
|
53 |
var that = this;
|
54 |
|
55 |
-
// Close the modal.
|
56 |
$( document ).on( 'click', '#gadsense-modal .dashicons-dismiss', function(){
|
57 |
$( '#mapi-code' ).val( '' );
|
58 |
-
$( '#gadsense-modal' ).css( 'display', 'none' );
|
59 |
} );
|
60 |
|
61 |
// Confirm code for account connection.
|
@@ -64,6 +64,7 @@
|
|
64 |
var code = $( '#mapi-code' ).val();
|
65 |
if ( '' == code ) return;
|
66 |
$( '.gadsense-overlay' ).css( 'display', 'block' );
|
|
|
67 |
var data = {
|
68 |
action: 'advads_gadsense_mapi_confirm_code',
|
69 |
code: code,
|
@@ -90,6 +91,15 @@
|
|
90 |
$( '#mapi-code' ).val( '' );
|
91 |
$( '#mapi-autoads' ).prop( 'checked', false );
|
92 |
$( '#gadsense-modal-content-inner .dashicons-dismiss' ).trigger( 'click' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
93 |
}
|
94 |
},
|
95 |
error:function(request, status, error){
|
@@ -265,4 +275,4 @@
|
|
265 |
$( '#wpwrap' ).append( $( '#gadsense-modal' ) );
|
266 |
});
|
267 |
|
268 |
-
})(window.jQuery);
|
52 |
|
53 |
var that = this;
|
54 |
|
55 |
+
// Close the modal and hide errors.
|
56 |
$( document ).on( 'click', '#gadsense-modal .dashicons-dismiss', function(){
|
57 |
$( '#mapi-code' ).val( '' );
|
58 |
+
$( '#gadsense-modal, #gadsense-modal-error' ).css( 'display', 'none' );
|
59 |
} );
|
60 |
|
61 |
// Confirm code for account connection.
|
64 |
var code = $( '#mapi-code' ).val();
|
65 |
if ( '' == code ) return;
|
66 |
$( '.gadsense-overlay' ).css( 'display', 'block' );
|
67 |
+
$( '#gadsense-modal-error' ).hide();
|
68 |
var data = {
|
69 |
action: 'advads_gadsense_mapi_confirm_code',
|
70 |
code: code,
|
91 |
$( '#mapi-code' ).val( '' );
|
92 |
$( '#mapi-autoads' ).prop( 'checked', false );
|
93 |
$( '#gadsense-modal-content-inner .dashicons-dismiss' ).trigger( 'click' );
|
94 |
+
if ($.parseJSON(response.response_body).error === 'invalid_grant') {
|
95 |
+
$('#gadsense-modal-error').show();
|
96 |
+
|
97 |
+
$('#gadsense-reopen-connect').one('click', function (event) {
|
98 |
+
event.preventDefault();
|
99 |
+
$('#gadsense-modal-error').hide();
|
100 |
+
that.show();
|
101 |
+
});
|
102 |
+
}
|
103 |
}
|
104 |
},
|
105 |
error:function(request, status, error){
|
275 |
$( '#wpwrap' ).append( $( '#gadsense-modal' ) );
|
276 |
});
|
277 |
|
278 |
+
})(window.jQuery);
|
modules/gadsense/admin/assets/js/mapi-settings.js
CHANGED
@@ -79,12 +79,7 @@
|
|
79 |
$( '#adsense #auto-adsense-settings-div' ).css( 'display', 'none' );
|
80 |
$( '#adsense #full-adsense-settings-div' ).css( 'display', 'block' );
|
81 |
$( '#adsense-id' ).after( $( '#connect-adsense' ) );
|
82 |
-
|
83 |
-
|
84 |
-
$( document ).on( 'change', '#adsense-id', function(){
|
85 |
-
if ( '' != $( this ).val().trim() ) {
|
86 |
-
$( '#adsense #submit' ).parent().css( 'display', 'block' );
|
87 |
-
}
|
88 |
} );
|
89 |
|
90 |
// Open the code confirmation modal.
|
@@ -142,7 +137,7 @@
|
|
142 |
} );
|
143 |
|
144 |
$( function(){
|
145 |
-
if ( ''
|
146 |
$( '#adsense #submit' ).parent().css( 'display', 'none' );
|
147 |
}
|
148 |
} );
|
79 |
$( '#adsense #auto-adsense-settings-div' ).css( 'display', 'none' );
|
80 |
$( '#adsense #full-adsense-settings-div' ).css( 'display', 'block' );
|
81 |
$( '#adsense-id' ).after( $( '#connect-adsense' ) );
|
82 |
+
$( '#adsense #submit' ).parent().show();
|
|
|
|
|
|
|
|
|
|
|
83 |
} );
|
84 |
|
85 |
// Open the code confirmation modal.
|
137 |
} );
|
138 |
|
139 |
$( function(){
|
140 |
+
if ( '' === $( '#adsense-id' ).val().trim() && $('#adsense-manual-config').is(':visible') ) {
|
141 |
$( '#adsense #submit' ).parent().css( 'display', 'none' );
|
142 |
}
|
143 |
} );
|
modules/gadsense/admin/views/adsense-account.php
CHANGED
@@ -143,7 +143,14 @@ $alerts_advads_messages = Advanced_Ads_Adsense_MAPI::get_adsense_alert_messages(
|
|
143 |
#auto-adsense-settings-div .widget-col:first-child:after { top: auto; right: auto; bottom: -10px; left: 20px; display: inline-block; padding: 0px 5px 0px 5px; }
|
144 |
}
|
145 |
</style>
|
146 |
-
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
147 |
<p><?php // translators: %1$s is the opening link tag to our manual; %2$s is the appropriate closing link tag; %3$s is the opening link tag to our help forum; %4$s is the appropriate closing link tag
|
148 |
printf(__( 'Problems with AdSense? Check out the %1$smanual%2$s or %3$sask here%4$s.', 'advanced-ads' ),
|
149 |
'<a href="' . ADVADS_URL . 'adsense-ads/#utm_source=advanced-ads&utm_medium=link&utm_campaign=adsense-manual-check" target="_blank">',
|
143 |
#auto-adsense-settings-div .widget-col:first-child:after { top: auto; right: auto; bottom: -10px; left: 20px; display: inline-block; padding: 0px 5px 0px 5px; }
|
144 |
}
|
145 |
</style>
|
146 |
+
<?php
|
147 |
+
echo "<br/><br/><br/><hr>";
|
148 |
+
include ADVADS_BASE_PATH . 'modules/gadsense/admin/views/auto-ads-video.php';
|
149 |
+
?><p>
|
150 |
+
<a href="<?php echo esc_url( ADVADS_URL ); ?>place-adsense-ad-unit-manually/#utm_source=advanced-ads&utm_medium=link&utm_campaign=adsense-manually" style="text-decoration: none;" target="_blank"><span class="dashicons dashicons-welcome-learn-more"></span> <?php
|
151 |
+
esc_attr_e( 'How to choose specific positions for AdSense ad units', 'advanced-ads' ); ?></a>
|
152 |
+
</p><?php
|
153 |
+
else : ?>
|
154 |
<p><?php // translators: %1$s is the opening link tag to our manual; %2$s is the appropriate closing link tag; %3$s is the opening link tag to our help forum; %4$s is the appropriate closing link tag
|
155 |
printf(__( 'Problems with AdSense? Check out the %1$smanual%2$s or %3$sask here%4$s.', 'advanced-ads' ),
|
156 |
'<a href="' . ADVADS_URL . 'adsense-ads/#utm_source=advanced-ads&utm_medium=link&utm_campaign=adsense-manual-check" target="_blank">',
|
modules/gadsense/admin/views/adsense-ad-parameters.php
CHANGED
@@ -41,11 +41,6 @@ $mapi_ad_codes['length'] = count( $mapi_ad_codes );
|
|
41 |
AdsenseMAPI.pubId = '<?php echo $pub_id ?>';
|
42 |
AdsenseMAPI.adStatus = '<?php echo $ad->status ?>';
|
43 |
AdsenseMAPI.unsupportedUnits = <?php echo wp_json_encode( $mapi_options['unsupported_units'] ); ?>;
|
44 |
-
AdsenseMAPI.unsupportedLink = '<?php echo Advanced_Ads_AdSense_MAPI::UNSUPPORTED_TYPE_LINK; ?>';
|
45 |
-
AdsenseMAPI.unsupportedText = '<?php /**
|
46 |
-
* translators: this is a label for an ad that we can currently not import from the AdSense account
|
47 |
-
*/
|
48 |
-
esc_html_e( 'unsupported', 'advanced-ads' ); ?>';
|
49 |
</script>
|
50 |
<?php endif; // if ( $has_token ) ?>
|
51 |
|
@@ -115,8 +110,8 @@ if( $pub_id_errors ) : ?>
|
|
115 |
<option value="matched-content" <?php selected( $unit_type, 'matched-content' ); ?>><?php _e( 'Responsive (Matched Content)', 'advanced-ads' ); ?></option>
|
116 |
<option value="link" <?php selected( $unit_type, 'link' ); ?>><?php _e( 'Link ads', 'advanced-ads' ); ?></option>
|
117 |
<option value="link-responsive" <?php selected( $unit_type, 'link-responsive' ); ?>><?php _e( 'Link ads (Responsive)', 'advanced-ads' ); ?></option>
|
118 |
-
<option value="in-article" <?php selected( $unit_type, 'in-article' ); ?>><?php _e( '
|
119 |
-
<option value="in-feed" <?php selected( $unit_type, 'in-feed' ); ?>><?php _e( '
|
120 |
</select>
|
121 |
<a href="<?php echo ADVADS_URL . 'adsense-ads/#utm_source=advanced-ads&utm_medium=link&utm_campaign=adsense-ad-types'; ?>" target="_blank"><?php _e( 'manual', 'advanced-ads' ); ?></a>
|
122 |
</div>
|
@@ -129,13 +124,15 @@ if( $pub_id_errors ) : ?>
|
|
129 |
<?php endforeach; ?>
|
130 |
</select>
|
131 |
</div>
|
|
|
132 |
<label class="label advads-adsense-layout" <?php if ( 'in-feed' !== $unit_type ) { echo 'style="display: none;"'; } ?> id="advads-adsense-layout"><?php _e( 'Layout', 'advanced-ads' ); ?></label>
|
133 |
<div <?php if ( 'in-feed' !== $unit_type ) { echo 'style="display: none;"'; } ?>>
|
134 |
<input name="ad-layout" id="ad-layout" value="<?php echo isset( $layout ) ? $layout : ''; ?>"/>
|
135 |
</div>
|
|
|
136 |
<label class="label advads-adsense-layout-key" <?php if ( 'in-feed' !== $unit_type ) { echo 'style="display: none;"'; } ?> id="advads-adsense-layout-key"><?php _e( 'Layout-Key', 'advanced-ads' ); ?></label>
|
137 |
<div <?php if ( 'in-feed' !== $unit_type ) { echo 'style="display: none;"'; } ?>>
|
138 |
-
<input name="ad-layout-key" id="ad-layout-key" value="<?php echo isset( $layout_key ) ? $layout_key : ''; ?>"/>
|
139 |
</div>
|
140 |
<hr/>
|
141 |
<label class="label clearfix-before" <?php if ( ! $is_responsive ) { echo 'style="display: none;"'; } ?>><?php _e( 'Clearfix', 'advanced-ads' ); ?></label>
|
41 |
AdsenseMAPI.pubId = '<?php echo $pub_id ?>';
|
42 |
AdsenseMAPI.adStatus = '<?php echo $ad->status ?>';
|
43 |
AdsenseMAPI.unsupportedUnits = <?php echo wp_json_encode( $mapi_options['unsupported_units'] ); ?>;
|
|
|
|
|
|
|
|
|
|
|
44 |
</script>
|
45 |
<?php endif; // if ( $has_token ) ?>
|
46 |
|
110 |
<option value="matched-content" <?php selected( $unit_type, 'matched-content' ); ?>><?php _e( 'Responsive (Matched Content)', 'advanced-ads' ); ?></option>
|
111 |
<option value="link" <?php selected( $unit_type, 'link' ); ?>><?php _e( 'Link ads', 'advanced-ads' ); ?></option>
|
112 |
<option value="link-responsive" <?php selected( $unit_type, 'link-responsive' ); ?>><?php _e( 'Link ads (Responsive)', 'advanced-ads' ); ?></option>
|
113 |
+
<option value="in-article" <?php selected( $unit_type, 'in-article' ); ?>><?php _e( 'In-article', 'advanced-ads' ); ?></option>
|
114 |
+
<option value="in-feed" <?php selected( $unit_type, 'in-feed' ); ?>><?php _e( 'In-feed', 'advanced-ads' ); ?></option>
|
115 |
</select>
|
116 |
<a href="<?php echo ADVADS_URL . 'adsense-ads/#utm_source=advanced-ads&utm_medium=link&utm_campaign=adsense-ad-types'; ?>" target="_blank"><?php _e( 'manual', 'advanced-ads' ); ?></a>
|
117 |
</div>
|
124 |
<?php endforeach; ?>
|
125 |
</select>
|
126 |
</div>
|
127 |
+
<hr>
|
128 |
<label class="label advads-adsense-layout" <?php if ( 'in-feed' !== $unit_type ) { echo 'style="display: none;"'; } ?> id="advads-adsense-layout"><?php _e( 'Layout', 'advanced-ads' ); ?></label>
|
129 |
<div <?php if ( 'in-feed' !== $unit_type ) { echo 'style="display: none;"'; } ?>>
|
130 |
<input name="ad-layout" id="ad-layout" value="<?php echo isset( $layout ) ? $layout : ''; ?>"/>
|
131 |
</div>
|
132 |
+
<hr>
|
133 |
<label class="label advads-adsense-layout-key" <?php if ( 'in-feed' !== $unit_type ) { echo 'style="display: none;"'; } ?> id="advads-adsense-layout-key"><?php _e( 'Layout-Key', 'advanced-ads' ); ?></label>
|
134 |
<div <?php if ( 'in-feed' !== $unit_type ) { echo 'style="display: none;"'; } ?>>
|
135 |
+
<input type="text" name="ad-layout-key" id="ad-layout-key" value="<?php echo isset( $layout_key ) ? $layout_key : ''; ?>"/>
|
136 |
</div>
|
137 |
<hr/>
|
138 |
<label class="label clearfix-before" <?php if ( ! $is_responsive ) { echo 'style="display: none;"'; } ?>><?php _e( 'Clearfix', 'advanced-ads' ); ?></label>
|
modules/gadsense/admin/views/auto-ads-video.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div id="advads-auto-ads-links">
|
2 |
+
<a id="advads-auto-ads-video-link" style="cursor: pointer;">
|
3 |
+
<span class="dashicons dashicons-format-video"></span> <?php
|
4 |
+
esc_attr_e( 'How to enable Auto ads in 30 seconds (video tutorial)', 'advanced-ads' ); ?>
|
5 |
+
</a>
|
6 |
+
</div>
|
7 |
+
<script>
|
8 |
+
(function ($) {
|
9 |
+
var $videoLink = $('#advads-auto-ads-video-link');
|
10 |
+
$videoLink.click(function () {
|
11 |
+
$('<br class="clear"/><br/><iframe src="https://player.vimeo.com/video/381874350" width="640" height="360" frameborder="0" allow="autoplay; fullscreen" allowfullscreen></iframe>').appendTo('#advads-auto-ads-links');
|
12 |
+
$(this).remove();
|
13 |
+
})
|
14 |
+
.children('.dashicons').css('line-height', $videoLink.css('line-height'));
|
15 |
+
})(jQuery)
|
16 |
+
</script>
|
modules/gadsense/admin/views/connect-adsense.php
CHANGED
@@ -33,6 +33,12 @@ $auth_url = 'https://accounts.google.com/o/oauth2/v2/auth?scope=' .
|
|
33 |
<div class="gadsense-modal-content-inner" data-content="confirm-code">
|
34 |
<i class="dashicons dashicons-dismiss"></i>
|
35 |
<label style="font-size:1.1em;font-weight:600;margin-bottom:.3em;display:block;"><?php _e( 'Please enter the confirmation code.', 'advanced-ads' ); ?></label>
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
<input type="text" class="widefat" id="mapi-code" value="" />
|
37 |
<p><label><input type="checkbox" value="1" id="mapi-autoads"<?php echo ( $options['page-level-enabled'] ) ? ' checked="checked"' : ''; ?> /> <?php _e( 'Insert the AdSense header code used for verification and the Auto Ads feature.', 'advanced-ads' ); ?></label></p>
|
38 |
<p class="submit">
|
33 |
<div class="gadsense-modal-content-inner" data-content="confirm-code">
|
34 |
<i class="dashicons dashicons-dismiss"></i>
|
35 |
<label style="font-size:1.1em;font-weight:600;margin-bottom:.3em;display:block;"><?php _e( 'Please enter the confirmation code.', 'advanced-ads' ); ?></label>
|
36 |
+
<div class="gadsense-modal-error" id="gadsense-modal-error">
|
37 |
+
<?php
|
38 |
+
/* Translators: 1: opening a tag to open Google Adsense modal 2: closing a tag */
|
39 |
+
printf( esc_attr__( 'This is not the correct confirmation code. %1$sPlease try again%2$s.', 'advanced-ads' ), '<a href="#" id="gadsense-reopen-connect">', '</a>' );
|
40 |
+
?>
|
41 |
+
</div>
|
42 |
<input type="text" class="widefat" id="mapi-code" value="" />
|
43 |
<p><label><input type="checkbox" value="1" id="mapi-autoads"<?php echo ( $options['page-level-enabled'] ) ? ' checked="checked"' : ''; ?> /> <?php _e( 'Insert the AdSense header code used for verification and the Auto Ads feature.', 'advanced-ads' ); ?></label></p>
|
44 |
<p class="submit">
|
modules/gadsense/admin/views/external-ads-links.php
CHANGED
@@ -5,7 +5,7 @@
|
|
5 |
*/
|
6 |
$is_account_connected = $network->is_account_connected();
|
7 |
?><p>
|
8 |
-
<span
|
9 |
|
10 |
<a href="#"><?php
|
11 |
/* translators: 1: The name of an ad network. */
|
@@ -13,11 +13,12 @@ $is_account_connected = $network->is_account_connected();
|
|
13 |
</span>
|
14 |
<?php if ( Advanced_Ads_Checks::php_version_minimum() ) : ?>
|
15 |
<?php if ( $is_account_connected ) : ?>
|
16 |
-
<span
|
17 |
-
|
|
|
18 |
</span>
|
19 |
<?php if ($network->supports_manual_ad_setup()):?>
|
20 |
-
<span
|
21 |
_e( 'or', 'advanced-ads' ); ?><a href="#" class="prevent-default"><?php
|
22 |
/* translators: 1: The name of an ad network. */
|
23 |
printf(__( 'Set up %1$s code manually', 'advanced-ads' ), $network->get_display_name());
|
5 |
*/
|
6 |
$is_account_connected = $network->is_account_connected();
|
7 |
?><p>
|
8 |
+
<span class="mapi-insert-code">
|
9 |
|
10 |
<a href="#"><?php
|
11 |
/* translators: 1: The name of an ad network. */
|
13 |
</span>
|
14 |
<?php if ( Advanced_Ads_Checks::php_version_minimum() ) : ?>
|
15 |
<?php if ( $is_account_connected ) : ?>
|
16 |
+
<span class="mapi-open-selector">
|
17 |
+
<span class="mapi-optional-or"><?php _e( 'or', 'advanced-ads' ); ?></span>
|
18 |
+
<a href="#" class="prevent-default"><?php _e( 'Get ad code from your linked account', 'advanced-ads' ); ?></a>
|
19 |
</span>
|
20 |
<?php if ($network->supports_manual_ad_setup()):?>
|
21 |
+
<span class="mapi-close-selector-link"><?php
|
22 |
_e( 'or', 'advanced-ads' ); ?><a href="#" class="prevent-default"><?php
|
23 |
/* translators: 1: The name of an ad network. */
|
24 |
printf(__( 'Set up %1$s code manually', 'advanced-ads' ), $network->get_display_name());
|
modules/gadsense/admin/views/external-ads-list.php
CHANGED
@@ -1,8 +1,29 @@
|
|
1 |
<?php
|
2 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
4 |
-
|
5 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
7 |
?>
|
8 |
<div id="mapi-wrap" class="aa-select-list">
|
@@ -10,10 +31,7 @@ if (! isset($ad_units)) $ad_units = array();
|
|
10 |
<button type="button" id="mapi-close-selector" class="notice-dismiss"></button>
|
11 |
<?php endif;?>
|
12 |
<i id="mapi-toggle-idle" title="<?php esc_attr_e( 'Show inactive ads' , 'advanced-ads' ); ?>" class="dashicons dashicons-visibility mapiaction" data-mapiaction="toggleidle"></i>
|
13 |
-
|
14 |
-
<i class="aa-select-list-update dashicons dashicons-update mapiaction" data-mapiaction="updateList" style="color:#0085ba;cursor:pointer;font-size:20px;" title="<?php
|
15 |
-
esc_attr_e( 'Update the ad units list', 'advanced-ads' ) ?>"></i>
|
16 |
-
<?php endif; ?>
|
17 |
<div id="mapi-loading-overlay" class="aa-select-list-loading-overlay">
|
18 |
<img alt="..." src="<?php echo ADVADS_BASE_URL . 'admin/assets/img/loader.gif'; ?>" style="margin-top:8em;" />
|
19 |
</div>
|
@@ -24,9 +42,6 @@ if (! isset($ad_units)) $ad_units = array();
|
|
24 |
// TODO: make sure the div is not needed anymore, and what it's purpose is, then remove it, if possible
|
25 |
?>
|
26 |
<div id="mapi-list-header" class="aa-select-list-header" style="display:none;">
|
27 |
-
<?php if ($use_dashicons) :?>
|
28 |
-
<span><?php echo esc_attr_x( 'Ad unit', 'AdSense ad', 'advanced-ads' ); ?></span>
|
29 |
-
<?php endif; ?>
|
30 |
<span><?php esc_html_e( 'Name', 'advanced-ads' ); ?></span>
|
31 |
<?php if ($display_slot_id):?><span><?php echo esc_html_x( 'Slot ID', 'AdSense ad', 'advanced-ads' ); ?></span><?php endif;?>
|
32 |
<span><?php echo esc_html_x( 'Type', 'AdSense ad', 'advanced-ads' ); ?></span>
|
@@ -37,9 +52,6 @@ if (! isset($ad_units)) $ad_units = array();
|
|
37 |
<table class="widefat striped">
|
38 |
<thead>
|
39 |
<tr>
|
40 |
-
<?php if ($use_dashicons) :?>
|
41 |
-
<th><?php echo esc_attr_x( 'Ad unit', 'AdSense ad', 'advanced-ads' ); ?></th>
|
42 |
-
<?php endif; ?>
|
43 |
<th><?php esc_html_e( 'Name', 'advanced-ads' ); ?></th>
|
44 |
<?php if ($display_slot_id):?><th><?php echo esc_html_x( 'Slot ID', 'AdSense ad', 'advanced-ads' ); ?></th><?php endif;?>
|
45 |
<th><?php echo esc_html_x( 'Type', 'AdSense ad', 'advanced-ads' ); ?></th>
|
@@ -47,76 +59,92 @@ if (! isset($ad_units)) $ad_units = array();
|
|
47 |
</tr>
|
48 |
</thead>
|
49 |
<tbody>
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
foreach ($ad_units as $ad_unit){
|
59 |
$ad_unit->is_supported = $network->is_supported($ad_unit);
|
60 |
}
|
61 |
$sorted_adunits = Advanced_Ads_Ad_Network_Ad_Unit::sort_ad_units( $ad_units, $external_ad_unit_id);
|
62 |
?>
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
echo '</a>';
|
90 |
-
} else {
|
91 |
-
echo Advanced_Ads_AdSense_MAPI::format_ad_data( $unit->display_type, 'type' );
|
92 |
-
}
|
93 |
-
?></td>
|
94 |
-
<td class="unitsize"><?php
|
95 |
-
if ( !$unit_is_supported ) {
|
96 |
-
echo '<a href="' . esc_url( $unsupported_ad_type_link ) . '" target="_blank" data-size="' . Advanced_Ads_AdSense_MAPI::format_ad_data( $unit->display_size, 'size' ) . '">';
|
97 |
-
esc_html_e( 'unsupported', 'advanced-ads' );
|
98 |
-
echo '</a>';
|
99 |
-
} else {
|
100 |
-
echo Advanced_Ads_AdSense_MAPI::format_ad_data( $unit->display_size, 'size' );
|
101 |
-
}
|
102 |
-
?></td>
|
103 |
-
</tr>
|
104 |
-
<?php endforeach; ?>
|
105 |
<?php endif; ?>
|
106 |
</tbody>
|
107 |
</table>
|
108 |
</div>
|
|
|
|
|
|
|
109 |
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<?php
|
2 |
+
/**
|
3 |
+
* AdSense ad units table.
|
4 |
+
*
|
5 |
+
* @var bool $closeable
|
6 |
+
* @var bool $use_dashicons
|
7 |
+
* @var Advanced_Ads_Network_Adsense $network
|
8 |
+
* @var array $ad_units
|
9 |
+
* @var bool $display_slot_id
|
10 |
+
* @var string $pub_id
|
11 |
+
*
|
12 |
+
* @package AdvancedAds
|
13 |
+
*/
|
14 |
|
15 |
+
global $external_ad_unit_id, $closeable, $display_slot_id;
|
16 |
+
|
17 |
+
if ( ! isset( $hide_idle_ads ) ) {
|
18 |
+
$hide_idle_ads = true;
|
19 |
+
}
|
20 |
+
if ( ! isset( $ad_units ) ) {
|
21 |
+
$ad_units = array();
|
22 |
+
}
|
23 |
+
$only_inactive_units = ! empty( $ad_units ) && empty( array_filter( $ad_units,
|
24 |
+
function ( Advanced_Ads_Ad_Network_Ad_Unit $ad ) {
|
25 |
+
return $ad->active;
|
26 |
+
} ) );
|
27 |
|
28 |
?>
|
29 |
<div id="mapi-wrap" class="aa-select-list">
|
31 |
<button type="button" id="mapi-close-selector" class="notice-dismiss"></button>
|
32 |
<?php endif;?>
|
33 |
<i id="mapi-toggle-idle" title="<?php esc_attr_e( 'Show inactive ads' , 'advanced-ads' ); ?>" class="dashicons dashicons-visibility mapiaction" data-mapiaction="toggleidle"></i>
|
34 |
+
<i class="aa-select-list-update dashicons dashicons-update mapiaction" data-mapiaction="updateList" style="color:#0085ba;cursor:pointer;font-size:20px;" title="<?php esc_attr_e( 'Update the ad units list', 'advanced-ads' ); ?>"></i>
|
|
|
|
|
|
|
35 |
<div id="mapi-loading-overlay" class="aa-select-list-loading-overlay">
|
36 |
<img alt="..." src="<?php echo ADVADS_BASE_URL . 'admin/assets/img/loader.gif'; ?>" style="margin-top:8em;" />
|
37 |
</div>
|
42 |
// TODO: make sure the div is not needed anymore, and what it's purpose is, then remove it, if possible
|
43 |
?>
|
44 |
<div id="mapi-list-header" class="aa-select-list-header" style="display:none;">
|
|
|
|
|
|
|
45 |
<span><?php esc_html_e( 'Name', 'advanced-ads' ); ?></span>
|
46 |
<?php if ($display_slot_id):?><span><?php echo esc_html_x( 'Slot ID', 'AdSense ad', 'advanced-ads' ); ?></span><?php endif;?>
|
47 |
<span><?php echo esc_html_x( 'Type', 'AdSense ad', 'advanced-ads' ); ?></span>
|
52 |
<table class="widefat striped">
|
53 |
<thead>
|
54 |
<tr>
|
|
|
|
|
|
|
55 |
<th><?php esc_html_e( 'Name', 'advanced-ads' ); ?></th>
|
56 |
<?php if ($display_slot_id):?><th><?php echo esc_html_x( 'Slot ID', 'AdSense ad', 'advanced-ads' ); ?></th><?php endif;?>
|
57 |
<th><?php echo esc_html_x( 'Type', 'AdSense ad', 'advanced-ads' ); ?></th>
|
59 |
</tr>
|
60 |
</thead>
|
61 |
<tbody>
|
62 |
+
<?php if ( $only_inactive_units ) : ?>
|
63 |
+
<tr id="mapi-notice-inactive">
|
64 |
+
<td colspan="5" style="text-align:center;">
|
65 |
+
<?php esc_attr_e( 'No active ad units found', 'advanced-ads' ); ?>
|
66 |
+
<button type="button" class="mapiaction icon-button" data-mapiaction="toggleidle">
|
67 |
+
<?php esc_attr_e( 'Show all ad units', 'advanced-ads' ); ?>
|
68 |
+
<i class="dashicons dashicons-visibility" style="font-size:20px;"></i>
|
69 |
+
</button>
|
70 |
+
</td>
|
71 |
+
</tr>
|
72 |
+
<?php endif; ?>
|
73 |
+
<?php if ( empty( $ad_units ) ) : ?>
|
74 |
+
<tr id="mapi-notice-noads">
|
75 |
+
<td colspan="5" style="text-align:center;">
|
76 |
+
<?php esc_attr_e( 'No ad units found', 'advanced-ads' ); ?>
|
77 |
+
<button type="button" class="mapiaction icon-button" data-mapiaction="updateList">
|
78 |
+
<?php esc_attr_e( 'Update the ad units list', 'advanced-ads' ); ?>
|
79 |
+
<i class="dashicons dashicons-update" style="color:#0085ba;font-size:20px;"></i>
|
80 |
+
</button>
|
81 |
+
</td>
|
82 |
+
</tr>
|
83 |
+
<?php else :
|
84 |
foreach ($ad_units as $ad_unit){
|
85 |
$ad_unit->is_supported = $network->is_supported($ad_unit);
|
86 |
}
|
87 |
$sorted_adunits = Advanced_Ads_Ad_Network_Ad_Unit::sort_ad_units( $ad_units, $external_ad_unit_id);
|
88 |
?>
|
89 |
+
<?php foreach ( $sorted_adunits as $unit ) : ?>
|
90 |
+
<tr class="advads-clickable-row mapiaction" data-mapiaction="getCode" data-slotid="<?php echo esc_attr( $unit->id ); ?>" data-active="<?php echo esc_attr( $unit->active ); ?>">
|
91 |
+
<td><?php echo $unit->name; ?></td>
|
92 |
+
<?php if ( $display_slot_id ) : ?>
|
93 |
+
<td class="unitcode">
|
94 |
+
<?php echo '<span><span>' . esc_html( $unit->slot_id ) . '</span></span>'; ?>
|
95 |
+
</td>
|
96 |
+
<?php endif; ?>
|
97 |
+
<td class="unittype">
|
98 |
+
<?php if ( $unit->is_supported ) : ?>
|
99 |
+
<?php if ( ! empty( $unit->code ) ) : ?>
|
100 |
+
<?php echo esc_attr( Advanced_Ads_AdSense_MAPI::format_ad_data( $unit, 'type' ) ); ?>
|
101 |
+
<?php else : ?>
|
102 |
+
<button type="button" class="button-secondary button-small" title="<?php esc_attr_e( 'Get the code for this ad', 'advanced-ads' ); ?>">
|
103 |
+
<span style="line-height: 26px;" class="dashicons dashicons-update"></span> <?php esc_html_e( 'Load', 'advanced ads' ); ?>
|
104 |
+
</button>
|
105 |
+
<?php endif; ?>
|
106 |
+
<?php elseif ( empty( $unit->code ) ) : ?>
|
107 |
+
<span class="dashicons dashicons-warning" title="<?php esc_attr_e( 'Ad can\'t be imported, click for details', 'advanced-ads' ); ?>"></span>
|
108 |
+
<?php endif; ?>
|
109 |
+
</td>
|
110 |
+
<td class="unitsize">
|
111 |
+
<?php echo esc_attr( Advanced_Ads_AdSense_MAPI::format_ad_data( $unit, 'size' ) ); ?>
|
112 |
+
</td>
|
113 |
+
</tr>
|
114 |
+
<?php endforeach; ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
115 |
<?php endif; ?>
|
116 |
</tbody>
|
117 |
</table>
|
118 |
</div>
|
119 |
+
<p class="advads-error-message" id="remote-ad-code-error" style="display:none;"><strong><?php esc_attr_e( 'Unrecognized ad code', 'advanced-ads' ); ?></strong></p>
|
120 |
+
<p class="advads-error-message" id="remote-ad-code-msg"></p>
|
121 |
+
</div>
|
122 |
|
123 |
+
<div style="display:none;" id="remote-ad-unsupported-ad-type">
|
124 |
+
<h3 class="advads-error-message">
|
125 |
+
<i class="dashicons dashicons-warning"></i><?php esc_html_e( 'This ad type can currently not be imported from AdSense.', 'advanced-ads' ); ?>
|
126 |
+
</h3>
|
127 |
+
<p>
|
128 |
+
<?php esc_html_e( 'You can proceed with one of the following solutions', 'advanced-ads' ); ?>:
|
129 |
+
</p>
|
130 |
+
<ul>
|
131 |
+
<li>
|
132 |
+
<?php
|
133 |
+
/* Translators: 1: opening tag for AdSense account link 2: opening tag for a link to insert ad code 3: closing a tag */
|
134 |
+
printf( esc_html__( '%1$sCopy the code from your AdSense account%3$s and %2$sinsert a new AdSense code here%3$s.', 'advanced-ads' ), '<a href="https://www.google.com/adsense/new/u/0/' . esc_attr( $pub_id ) . '/myads/units" target="_blank">', '<a href="#" class="mapi-insert-code prevent-default">', '</a>' );
|
135 |
+
?>
|
136 |
+
</li>
|
137 |
+
<li>
|
138 |
+
<?php
|
139 |
+
/* Translators: 1: opening tag for a link to create an ad manually 2: closing a tag */
|
140 |
+
printf( wp_kses( __( '%1$sCreate an AdSense code manually%2$s: Select the <em>Normal</em> or <em>Responsive</em> type and the size.', 'advanced-ads' ), array(
|
141 |
+
'em' => array(),
|
142 |
+
'strong' => array(),
|
143 |
+
) ), '<a href="#" class="mapi-close-selector-link prevent-default">', '</a>' );
|
144 |
+
?>
|
145 |
+
</li>
|
146 |
+
<li>
|
147 |
+
<?php esc_html_e( 'Choose a different ad from your AdSense account above.', 'advanced-ads' ); ?>
|
148 |
+
</li>
|
149 |
+
</ul>
|
150 |
+
</div>
|
modules/gadsense/includes/class-ad-type-adsense.php
CHANGED
@@ -17,7 +17,8 @@ class Advanced_Ads_Ad_Type_Adsense extends Advanced_Ads_Ad_Type_Abstract {
|
|
17 |
|
18 |
/**
|
19 |
* ID - internal type of the ad type
|
20 |
-
*
|
|
|
21 |
* use slug like format, only lower case, underscores and hyphens
|
22 |
*
|
23 |
* @since 1.4
|
@@ -148,13 +149,20 @@ class Advanced_Ads_Ad_Type_Adsense extends Advanced_Ads_Ad_Type_Abstract {
|
|
148 |
/**
|
149 |
* Sanitize content field on save
|
150 |
*
|
151 |
-
* @param string $content ad content
|
152 |
-
|
153 |
* @return string $content sanitized ad content
|
154 |
* @since 1.0.0
|
155 |
*/
|
156 |
public function sanitize_content( $content = '' ) {
|
157 |
$content = wp_unslash( $content );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
158 |
|
159 |
return $content;
|
160 |
}
|
@@ -205,28 +213,6 @@ class Advanced_Ads_Ad_Type_Adsense extends Advanced_Ads_Ad_Type_Abstract {
|
|
205 |
|
206 |
$is_static_normal_content = ! in_array( $content->unitType, array( 'responsive', 'link-responsive', 'matched-content', 'in-article', 'in-feed' ) );
|
207 |
|
208 |
-
// show placeholder for AdSense ads in Customizer and Elementor.
|
209 |
-
if ( ( ! Advanced_Ads_Plugin::is_new_user( 1575892800 ) || Advanced_Ads_Plugin::show_to_new_users( 1575547200, 'a' ) )
|
210 |
-
&& Advanced_Ads_Utils::is_iframe() ) {
|
211 |
-
$attrs = array(
|
212 |
-
'style' => array(
|
213 |
-
'width' => ( $is_static_normal_content && $ad->width ) ? $ad->width . 'px' : '300px',
|
214 |
-
'height' => ( $is_static_normal_content && $ad->height ) ? $ad->height . 'px' : '125px',
|
215 |
-
'text-align' => 'center',
|
216 |
-
'display' => 'flex',
|
217 |
-
'align-items' => 'center',
|
218 |
-
'justify-content' => 'center',
|
219 |
-
'background' => '#cccccc',
|
220 |
-
'color' => '#64655D',
|
221 |
-
),
|
222 |
-
);
|
223 |
-
|
224 |
-
return '<div ' . Advanced_Ads_Utils::build_html_attributes( $attrs ) . '>'
|
225 |
-
// translators: we replace AdSense code with a dummy ad code in the Customizer and Elementor since AdSense could cause them to break. This is the text within that dummy ad.
|
226 |
-
. __( 'This will be an AdSense ad on your live site.', 'advanced-ads' )
|
227 |
-
. '</div>';
|
228 |
-
}
|
229 |
-
|
230 |
$output = apply_filters( 'advanced-ads-gadsense-output', false, $ad, $pub_id, $content );
|
231 |
if ( false !== $output ) {
|
232 |
return $output;
|
@@ -252,6 +238,7 @@ class Advanced_Ads_Ad_Type_Adsense extends Advanced_Ads_Ad_Type_Abstract {
|
|
252 |
$output .= '<script> ' . "\n";
|
253 |
$output .= '(adsbygoogle = window.adsbygoogle || []).push({}); ' . "\n";
|
254 |
$output .= '</script>' . "\n";
|
|
|
255 |
} else {
|
256 |
/**
|
257 |
* The value of $ad->content->resize should be tested to format the output correctly
|
17 |
|
18 |
/**
|
19 |
* ID - internal type of the ad type
|
20 |
+
*
|
21 |
+
* must be static so set your own ad type ID here
|
22 |
* use slug like format, only lower case, underscores and hyphens
|
23 |
*
|
24 |
* @since 1.4
|
149 |
/**
|
150 |
* Sanitize content field on save
|
151 |
*
|
152 |
+
* @param string $content ad content
|
153 |
+
*
|
154 |
* @return string $content sanitized ad content
|
155 |
* @since 1.0.0
|
156 |
*/
|
157 |
public function sanitize_content( $content = '' ) {
|
158 |
$content = wp_unslash( $content );
|
159 |
+
$ad_unit = json_decode( $content );
|
160 |
+
// remove this slotId from unsupported_ads
|
161 |
+
$mapi_options = Advanced_Ads_AdSense_MAPI::get_option();
|
162 |
+
if ( array_key_exists( $ad_unit->slotId, $mapi_options['unsupported_units'] ) ) {
|
163 |
+
unset( $mapi_options['unsupported_units'][ $ad_unit->slotId ] );
|
164 |
+
update_option( Advanced_Ads_AdSense_MAPI::OPTNAME, $mapi_options );
|
165 |
+
}
|
166 |
|
167 |
return $content;
|
168 |
}
|
213 |
|
214 |
$is_static_normal_content = ! in_array( $content->unitType, array( 'responsive', 'link-responsive', 'matched-content', 'in-article', 'in-feed' ) );
|
215 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
216 |
$output = apply_filters( 'advanced-ads-gadsense-output', false, $ad, $pub_id, $content );
|
217 |
if ( false !== $output ) {
|
218 |
return $output;
|
238 |
$output .= '<script> ' . "\n";
|
239 |
$output .= '(adsbygoogle = window.adsbygoogle || []).push({}); ' . "\n";
|
240 |
$output .= '</script>' . "\n";
|
241 |
+
unset( $ad->wrapper['style']['height'] );
|
242 |
} else {
|
243 |
/**
|
244 |
* The value of $ad->content->resize should be tested to format the output correctly
|
modules/gadsense/includes/class-mapi.php
CHANGED
@@ -11,8 +11,6 @@ class Advanced_Ads_AdSense_MAPI {
|
|
11 |
|
12 |
const CALL_PER_24H = 20;
|
13 |
|
14 |
-
const UNSUPPORTED_TYPE_LINK = 'https://wpadvancedads.com/adsense-ad-type-not-available/';
|
15 |
-
|
16 |
private static $instance = null;
|
17 |
|
18 |
private static $default_options = array();
|
@@ -45,6 +43,7 @@ class Advanced_Ads_AdSense_MAPI {
|
|
45 |
add_action( 'wp_ajax_advads_gadsense_mapi_select_account', array( $this, 'ajax_account_selected' ) );
|
46 |
add_action( 'wp_ajax_advads_mapi_get_adCode', array( $this, 'ajax_get_adCode' ) );
|
47 |
add_action( 'wp_ajax_advads-mapi-reconstructed-code', array( $this, 'ajax_save_reconstructed_code' ) );
|
|
|
48 |
add_action( 'wp_ajax_advads-mapi-revoke-token', array( $this, 'ajax_revoke_tokken' ) );
|
49 |
add_action( 'wp_ajax_advads-mapi-get-alerts', array( $this, 'ajax_get_account_alerts' ) );
|
50 |
add_action( 'wp_ajax_advads-mapi-dismiss-alert', array( $this, 'ajax_dismiss_alert' ) );
|
@@ -348,7 +347,13 @@ class Advanced_Ads_AdSense_MAPI {
|
|
348 |
isset( $adCode['error']['errors'][0]['reason'] ) &&
|
349 |
'doesNotSupportAdUnitType' == $adCode['error']['errors'][0]['reason']
|
350 |
) {
|
351 |
-
$options['
|
|
|
|
|
|
|
|
|
|
|
|
|
352 |
update_option( self::OPTNAME, $options );
|
353 |
return array(
|
354 |
'status' => false,
|
@@ -617,7 +622,62 @@ class Advanced_Ads_AdSense_MAPI {
|
|
617 |
die;
|
618 |
|
619 |
}
|
620 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
621 |
/**
|
622 |
* Save ad code reconstructed from ad parameters
|
623 |
*/
|
@@ -675,9 +735,18 @@ class Advanced_Ads_AdSense_MAPI {
|
|
675 |
* Ad code is returned as string. Otherwise it's an error
|
676 |
*/
|
677 |
if ( is_string( $code ) ) {
|
678 |
-
|
679 |
-
|
680 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
681 |
/**
|
682 |
* Add quota info for default API creds
|
683 |
*/
|
@@ -701,6 +770,7 @@ class Advanced_Ads_AdSense_MAPI {
|
|
701 |
}
|
702 |
die;
|
703 |
}
|
|
|
704 |
/**
|
705 |
* Dismiss an account alert
|
706 |
*/
|
@@ -1223,19 +1293,55 @@ class Advanced_Ads_AdSense_MAPI {
|
|
1223 |
|
1224 |
/**
|
1225 |
* Format ad type and size strings from Google for display
|
|
|
|
|
|
|
|
|
|
|
1226 |
*/
|
1227 |
-
public static function format_ad_data( $
|
1228 |
-
if ( 'type'
|
1229 |
-
$str
|
1230 |
-
$
|
1231 |
-
|
1232 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1233 |
// size.
|
|
|
1234 |
$str = str_replace( 'SIZE_', '', $str );
|
1235 |
$str = str_replace( '_', 'x', $str );
|
1236 |
$str = strtolower( $str );
|
1237 |
$str = ucwords( $str );
|
|
|
|
|
1238 |
}
|
|
|
1239 |
return $str;
|
1240 |
}
|
1241 |
|
11 |
|
12 |
const CALL_PER_24H = 20;
|
13 |
|
|
|
|
|
14 |
private static $instance = null;
|
15 |
|
16 |
private static $default_options = array();
|
43 |
add_action( 'wp_ajax_advads_gadsense_mapi_select_account', array( $this, 'ajax_account_selected' ) );
|
44 |
add_action( 'wp_ajax_advads_mapi_get_adCode', array( $this, 'ajax_get_adCode' ) );
|
45 |
add_action( 'wp_ajax_advads-mapi-reconstructed-code', array( $this, 'ajax_save_reconstructed_code' ) );
|
46 |
+
add_action( 'wp_ajax_advads-mapi-save-manual-code', array( $this, 'ajax_save_manual_code' ) );
|
47 |
add_action( 'wp_ajax_advads-mapi-revoke-token', array( $this, 'ajax_revoke_tokken' ) );
|
48 |
add_action( 'wp_ajax_advads-mapi-get-alerts', array( $this, 'ajax_get_account_alerts' ) );
|
49 |
add_action( 'wp_ajax_advads-mapi-dismiss-alert', array( $this, 'ajax_dismiss_alert' ) );
|
347 |
isset( $adCode['error']['errors'][0]['reason'] ) &&
|
348 |
'doesNotSupportAdUnitType' == $adCode['error']['errors'][0]['reason']
|
349 |
) {
|
350 |
+
if ( array_key_exists( $adUnit, $options['ad_codes'] ) ) {
|
351 |
+
if ( array_key_exists( $adUnit, $options['unsupported_units'] ) ) {
|
352 |
+
unset( $options['unsupported_units'][ $adUnit ] );
|
353 |
+
}
|
354 |
+
} else {
|
355 |
+
$options['unsupported_units'][ $adUnit ] = 1;
|
356 |
+
}
|
357 |
update_option( self::OPTNAME, $options );
|
358 |
return array(
|
359 |
'status' => false,
|
622 |
die;
|
623 |
|
624 |
}
|
625 |
+
|
626 |
+
/**
|
627 |
+
* When a user manually adds an ad code, save it
|
628 |
+
*/
|
629 |
+
public function ajax_save_manual_code() {
|
630 |
+
if ( ! current_user_can( Advanced_Ads_Plugin::user_cap( 'advanced_ads_edit_ads' ) ) ) {
|
631 |
+
die();
|
632 |
+
}
|
633 |
+
|
634 |
+
if ( ! wp_verify_nonce( isset( $_POST['nonce'] ) ? $_REQUEST['nonce'] : '', 'advads-mapi' ) ) {
|
635 |
+
die();
|
636 |
+
}
|
637 |
+
|
638 |
+
$publisher_id = sanitize_text_field( wp_unslash( isset( $_POST['parsed_code']['pubId'] ) ? $_POST['parsed_code']['pubId'] : '' ) );
|
639 |
+
if ( ! $this->check_valid_publisher( $publisher_id ) ) {
|
640 |
+
wp_send_json_error(
|
641 |
+
array(
|
642 |
+
'message' => __( 'This ad code is from a different AdSense Account', 'advanced-ads' ),
|
643 |
+
),
|
644 |
+
400
|
645 |
+
);
|
646 |
+
}
|
647 |
+
|
648 |
+
if ( empty( $_POST['parsed_code']['slotId'] ) || empty( $_POST['raw_code'] ) ) {
|
649 |
+
die();
|
650 |
+
}
|
651 |
+
|
652 |
+
static $options;
|
653 |
+
if ( is_null( $options ) ) {
|
654 |
+
$options = self::get_option();
|
655 |
+
}
|
656 |
+
|
657 |
+
$slot_id = 'ca-' . $publisher_id . ':' . sanitize_text_field( wp_unslash( $_POST['parsed_code']['slotId'] ) );
|
658 |
+
|
659 |
+
// phpcs:disable WordPress.Security
|
660 |
+
$options['ad_codes'][ $slot_id ] = urldecode( $_POST['raw_code'] );
|
661 |
+
// phpcs:enable
|
662 |
+
|
663 |
+
if ( array_key_exists( $slot_id, $options['unsupported_units'] ) ) {
|
664 |
+
unset( $options['unsupported_units'][ $slot_id ] );
|
665 |
+
}
|
666 |
+
|
667 |
+
wp_send_json_success( array( 'updated' => update_option( self::OPTNAME, $options ) ) );
|
668 |
+
}
|
669 |
+
|
670 |
+
/**
|
671 |
+
* Check if the provided AdSense Publisher ID matches the saved ID
|
672 |
+
*
|
673 |
+
* @param string $pub AdSense Publisher ID.
|
674 |
+
*
|
675 |
+
* @return bool
|
676 |
+
*/
|
677 |
+
protected function check_valid_publisher( $pub ) {
|
678 |
+
return Advanced_Ads_AdSense_Data::get_instance()->get_adsense_id() === $pub;
|
679 |
+
}
|
680 |
+
|
681 |
/**
|
682 |
* Save ad code reconstructed from ad parameters
|
683 |
*/
|
735 |
* Ad code is returned as string. Otherwise it's an error
|
736 |
*/
|
737 |
if ( is_string( $code ) ) {
|
738 |
+
$ad_units = array_filter(
|
739 |
+
Advanced_Ads_Network_Adsense::get_instance()->get_external_ad_units(),
|
740 |
+
function ( Advanced_Ads_Ad_Network_Ad_Unit $ad_unit ) use ( $unit ) {
|
741 |
+
return $ad_unit->id === $unit;
|
742 |
+
}
|
743 |
+
);
|
744 |
+
$ad_unit = reset( $ad_units );
|
745 |
+
$response = array(
|
746 |
+
'code' => $code,
|
747 |
+
'type' => self::format_ad_data( $ad_unit, 'type' ),
|
748 |
+
);
|
749 |
+
|
750 |
/**
|
751 |
* Add quota info for default API creds
|
752 |
*/
|
770 |
}
|
771 |
die;
|
772 |
}
|
773 |
+
|
774 |
/**
|
775 |
* Dismiss an account alert
|
776 |
*/
|
1293 |
|
1294 |
/**
|
1295 |
* Format ad type and size strings from Google for display
|
1296 |
+
*
|
1297 |
+
* @param Advanced_Ads_Ad_Network_Ad_Unit $ad_unit the ad unit for which to format the details.
|
1298 |
+
* @param string $format takes either type or size.
|
1299 |
+
*
|
1300 |
+
* @return string
|
1301 |
*/
|
1302 |
+
public static function format_ad_data( Advanced_Ads_Ad_Network_Ad_Unit $ad_unit, $format = 'type' ) {
|
1303 |
+
if ( 'type' === $format ) {
|
1304 |
+
$str = $ad_unit->display_type;
|
1305 |
+
$options = self::get_option();
|
1306 |
+
if ( array_key_exists( $ad_unit->id, $options['ad_codes'] ) ) {
|
1307 |
+
preg_match_all( '/data-ad-format="(?<format>.+?)"|data-ad-layout="(?<layout>.+?)"/', $options['ad_codes'][ $ad_unit->id ], $matches );
|
1308 |
+
$format = array_filter( $matches['format'] );
|
1309 |
+
$layout = array_filter( $matches['layout'] );
|
1310 |
+
$format = reset( $format );
|
1311 |
+
$layout = reset( $layout );
|
1312 |
+
if ( empty( $format ) ) {
|
1313 |
+
$format = '';
|
1314 |
+
}
|
1315 |
+
if ( empty( $layout ) ) {
|
1316 |
+
$layout = '';
|
1317 |
+
}
|
1318 |
+
|
1319 |
+
if ( 'autorelaxed' === $format ) {
|
1320 |
+
$str = _x( 'Matched Content', 'AdSense ad type', 'advanced-ads' );
|
1321 |
+
} elseif ( 'fluid' === $format ) {
|
1322 |
+
if ( 'in-article' === $layout ) {
|
1323 |
+
$str = _x( 'In-article', 'AdSense ad type', 'advanced-ads' );
|
1324 |
+
} else {
|
1325 |
+
$str = _x( 'In-feed', 'AdSense ad type', 'advanced-ads' );
|
1326 |
+
}
|
1327 |
+
}
|
1328 |
+
}
|
1329 |
+
if ( strpos( $str, 'TEXT' ) !== false ) {
|
1330 |
+
$str = _x( 'Display', 'AdSense ad type', 'advanced-ads' );
|
1331 |
+
} elseif ( 'LINK' === $str ) {
|
1332 |
+
$str = _x( 'Link', 'AdSense ad type', 'advanced-ads' );
|
1333 |
+
}
|
1334 |
+
} elseif ( 'size' === $format ) {
|
1335 |
// size.
|
1336 |
+
$str = $ad_unit->display_size;
|
1337 |
$str = str_replace( 'SIZE_', '', $str );
|
1338 |
$str = str_replace( '_', 'x', $str );
|
1339 |
$str = strtolower( $str );
|
1340 |
$str = ucwords( $str );
|
1341 |
+
} else {
|
1342 |
+
$str = '';
|
1343 |
}
|
1344 |
+
|
1345 |
return $str;
|
1346 |
}
|
1347 |
|
modules/gadsense/includes/class-network-adsense.php
CHANGED
@@ -264,7 +264,7 @@ class Advanced_Ads_Network_Adsense extends Advanced_Ads_Ad_Network{
|
|
264 |
if( 0 === strpos( $options['adsense-id'], 'ca-' ) ){
|
265 |
$options['adsense-id'] = str_replace( 'ca-', '', $options['adsense-id'] );
|
266 |
}
|
267 |
-
|
268 |
// trim publisher id
|
269 |
$options['adsense-id'] = trim($options['adsense-id']);
|
270 |
}
|
@@ -328,12 +328,14 @@ class Advanced_Ads_Network_Adsense extends Advanced_Ads_Ad_Network{
|
|
328 |
$ad_unit->code = $ad_codes[$id];
|
329 |
}
|
330 |
if (isset ($raw['contentAdsSettings'])){
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
|
|
|
|
337 |
}
|
338 |
$units[] = $ad_unit;
|
339 |
}
|
@@ -346,11 +348,15 @@ class Advanced_Ads_Network_Adsense extends Advanced_Ads_Ad_Network{
|
|
346 |
Advanced_Ads_AdSense_Admin::get_mapi_ad_selector($hide_idle_ads);
|
347 |
}
|
348 |
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
|
|
|
|
|
|
|
|
354 |
|
355 |
public function update_external_ad_units()
|
356 |
{
|
@@ -367,13 +373,23 @@ class Advanced_Ads_Network_Adsense extends Advanced_Ads_Ad_Network{
|
|
367 |
return GADSENSE_BASE_URL . 'admin/assets/js/adsense.js';
|
368 |
}
|
369 |
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
377 |
|
378 |
public function supports_manual_ad_setup()
|
379 |
{
|
264 |
if( 0 === strpos( $options['adsense-id'], 'ca-' ) ){
|
265 |
$options['adsense-id'] = str_replace( 'ca-', '', $options['adsense-id'] );
|
266 |
}
|
267 |
+
|
268 |
// trim publisher id
|
269 |
$options['adsense-id'] = trim($options['adsense-id']);
|
270 |
}
|
328 |
$ad_unit->code = $ad_codes[$id];
|
329 |
}
|
330 |
if (isset ($raw['contentAdsSettings'])){
|
331 |
+
if ( isset( $raw['contentAdsSettings']['type'] ) ) {
|
332 |
+
$ad_unit->display_type = $raw['contentAdsSettings']['type'];
|
333 |
+
$ad_unit->display_type = Advanced_Ads_AdSense_MAPI::format_ad_data( $ad_unit, 'type' );
|
334 |
+
}
|
335 |
+
if ( isset( $raw['contentAdsSettings']['size'] ) ) {
|
336 |
+
$ad_unit->display_size = $raw['contentAdsSettings']['size'];
|
337 |
+
$ad_unit->display_size = Advanced_Ads_AdSense_MAPI::format_ad_data( $ad_unit, 'size' );
|
338 |
+
}
|
339 |
}
|
340 |
$units[] = $ad_unit;
|
341 |
}
|
348 |
Advanced_Ads_AdSense_Admin::get_mapi_ad_selector($hide_idle_ads);
|
349 |
}
|
350 |
|
351 |
+
public function is_supported( $ad_unit ) {
|
352 |
+
$mapi_options = Advanced_Ads_AdSense_MAPI::get_option();
|
353 |
+
$supported = ! array_key_exists( $ad_unit->id, $mapi_options['unsupported_units'] );
|
354 |
+
if ( ! $supported ) {
|
355 |
+
$supported = array_key_exists( $ad_unit->id, $mapi_options['ad_codes'] );
|
356 |
+
}
|
357 |
+
|
358 |
+
return $supported;
|
359 |
+
}
|
360 |
|
361 |
public function update_external_ad_units()
|
362 |
{
|
373 |
return GADSENSE_BASE_URL . 'admin/assets/js/adsense.js';
|
374 |
}
|
375 |
|
376 |
+
/**
|
377 |
+
* @inheritDoc
|
378 |
+
*/
|
379 |
+
public function append_javascript_data( &$data ) {
|
380 |
+
$pub_id = Advanced_Ads_AdSense_Data::get_instance()->get_adsense_id();
|
381 |
+
$data['pubId'] = $pub_id;
|
382 |
+
$data['connected'] = $this->is_account_connected();
|
383 |
+
$data['ad_types'] = array(
|
384 |
+
'matched_content' => _x( 'Matched Content', 'AdSense ad type', 'advanced-ads' ),
|
385 |
+
'in_article' => _x( 'In-article', 'AdSense ad type', 'advanced-ads' ),
|
386 |
+
'in_feed' => _x( 'In-feed', 'AdSense ad type', 'advanced-ads' ),
|
387 |
+
'display' => _x( 'Display', 'AdSense ad type', 'advanced-ads' ),
|
388 |
+
'link' => _x( 'Link', 'AdSense ad type', 'advanced-ads' ),
|
389 |
+
);
|
390 |
+
|
391 |
+
return $data;
|
392 |
+
}
|
393 |
|
394 |
public function supports_manual_ad_setup()
|
395 |
{
|
modules/gadsense/public/public.php
CHANGED
@@ -36,10 +36,6 @@ class Advanced_Ads_AdSense_Public {
|
|
36 |
return;
|
37 |
}
|
38 |
|
39 |
-
if ( Advanced_Ads_Utils::is_iframe() ) {
|
40 |
-
return;
|
41 |
-
}
|
42 |
-
|
43 |
$privacy_options = Advanced_Ads_Privacy::get_instance()->options();
|
44 |
$privacy_enabled = ! empty( $privacy_options['enabled'] ) && 'not_needed' !== Advanced_Ads_Privacy::get_instance()->get_state();
|
45 |
$npa_enabled = ! empty( $privacy_options['show-non-personalized-adsense'] );
|
36 |
return;
|
37 |
}
|
38 |
|
|
|
|
|
|
|
|
|
39 |
$privacy_options = Advanced_Ads_Privacy::get_instance()->options();
|
40 |
$privacy_enabled = ! empty( $privacy_options['enabled'] ) && 'not_needed' !== Advanced_Ads_Privacy::get_instance()->get_state();
|
41 |
$npa_enabled = ! empty( $privacy_options['show-non-personalized-adsense'] );
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Tags: ads, ad manager, ad rotation, adsense, banner
|
|
4 |
Requires at least: 4.6
|
5 |
Tested up to: 5.3
|
6 |
Requires PHP: 5.6
|
7 |
-
Stable tag: 1.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -304,6 +304,15 @@ Yes. Advanced Ads is based on WordPress standards and therefore easily customiza
|
|
304 |
|
305 |
== Changelog ==
|
306 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
307 |
= 1.16.1 =
|
308 |
|
309 |
* fixed JavaScript that broke privacy module check in the frontend
|
@@ -322,6 +331,7 @@ Yes. Advanced Ads is based on WordPress standards and therefore easily customiza
|
|
322 |
* fixed missing index issue on 404 pages for logged-in admins
|
323 |
* fixed AJAX/PHP error 403 on Settings page
|
324 |
* fixed layout issue that happened when "If>So Dynamic Content" plugin was active
|
|
|
325 |
|
326 |
= 1.15 =
|
327 |
|
4 |
Requires at least: 4.6
|
5 |
Tested up to: 5.3
|
6 |
Requires PHP: 5.6
|
7 |
+
Stable tag: 1.17
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
304 |
|
305 |
== Changelog ==
|
306 |
|
307 |
+
= 1.17 =
|
308 |
+
|
309 |
+
* improved AdSense ad unit list coming from the AdSense API
|
310 |
+
* improved "highlight ads" option in Ad Health
|
311 |
+
* show notice if AJAX calls are broken
|
312 |
+
* added `com.pl` as exception for placing ads.txt files in subdomains
|
313 |
+
* removed placeholder for AdSense ads in the Customizer and Elementor editor
|
314 |
+
* fix for WP Smush lazy load preventing image ads from showing at all
|
315 |
+
|
316 |
= 1.16.1 =
|
317 |
|
318 |
* fixed JavaScript that broke privacy module check in the frontend
|
331 |
* fixed missing index issue on 404 pages for logged-in admins
|
332 |
* fixed AJAX/PHP error 403 on Settings page
|
333 |
* fixed layout issue that happened when "If>So Dynamic Content" plugin was active
|
334 |
+
* prevented Ad label from taking height of fixed sized AdSense ads
|
335 |
|
336 |
= 1.15 =
|
337 |
|
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 ComposerAutoloaderInit06cbf810899a84e0ff891cfee1f1d2be::getLoader();
|
vendor/composer/autoload_classmap.php
CHANGED
@@ -37,10 +37,10 @@ return array(
|
|
37 |
'Advanced_Ads_Display_Conditions' => $baseDir . '/classes/display-conditions.php',
|
38 |
'Advanced_Ads_Filesystem' => $baseDir . '/classes/filesystem.php',
|
39 |
'Advanced_Ads_Frontend_Checks' => $baseDir . '/classes/frontend_checks.php',
|
|
|
40 |
'Advanced_Ads_Group' => $baseDir . '/classes/ad_group.php',
|
41 |
'Advanced_Ads_Groups_List' => $baseDir . '/admin/includes/class-ad-groups-list.php',
|
42 |
'Advanced_Ads_Model' => $baseDir . '/classes/ad-model.php',
|
43 |
-
'Advanced_Ads_Module' => $baseDir . '/admin/includes/class-module.php',
|
44 |
'Advanced_Ads_Overview_Widgets_Callbacks' => $baseDir . '/admin/includes/class-overview-widgets.php',
|
45 |
'Advanced_Ads_Placements' => $baseDir . '/classes/ad_placements.php',
|
46 |
'Advanced_Ads_Plugin' => $baseDir . '/classes/plugin.php',
|
@@ -50,6 +50,98 @@ return array(
|
|
50 |
'Advanced_Ads_Utils' => $baseDir . '/classes/utils.php',
|
51 |
'Advanced_Ads_Visitor_Conditions' => $baseDir . '/classes/visitor-conditions.php',
|
52 |
'Advanced_Ads_Widget' => $baseDir . '/classes/widget.php',
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
53 |
'Yoast_I18n_WordPressOrg_v3' => $vendorDir . '/yoast/i18n-module/src/i18n-module-wordpressorg.php',
|
54 |
'Yoast_I18n_v3' => $vendorDir . '/yoast/i18n-module/src/i18n-module.php',
|
|
|
|
|
55 |
);
|
37 |
'Advanced_Ads_Display_Conditions' => $baseDir . '/classes/display-conditions.php',
|
38 |
'Advanced_Ads_Filesystem' => $baseDir . '/classes/filesystem.php',
|
39 |
'Advanced_Ads_Frontend_Checks' => $baseDir . '/classes/frontend_checks.php',
|
40 |
+
'Advanced_Ads_Frontend_Notices' => $baseDir . '/classes/frontend-notices.php',
|
41 |
'Advanced_Ads_Group' => $baseDir . '/classes/ad_group.php',
|
42 |
'Advanced_Ads_Groups_List' => $baseDir . '/admin/includes/class-ad-groups-list.php',
|
43 |
'Advanced_Ads_Model' => $baseDir . '/classes/ad-model.php',
|
|
|
44 |
'Advanced_Ads_Overview_Widgets_Callbacks' => $baseDir . '/admin/includes/class-overview-widgets.php',
|
45 |
'Advanced_Ads_Placements' => $baseDir . '/classes/ad_placements.php',
|
46 |
'Advanced_Ads_Plugin' => $baseDir . '/classes/plugin.php',
|
50 |
'Advanced_Ads_Utils' => $baseDir . '/classes/utils.php',
|
51 |
'Advanced_Ads_Visitor_Conditions' => $baseDir . '/classes/visitor-conditions.php',
|
52 |
'Advanced_Ads_Widget' => $baseDir . '/classes/widget.php',
|
53 |
+
'Composer\\Installers\\AglInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AglInstaller.php',
|
54 |
+
'Composer\\Installers\\AimeosInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AimeosInstaller.php',
|
55 |
+
'Composer\\Installers\\AnnotateCmsInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AnnotateCmsInstaller.php',
|
56 |
+
'Composer\\Installers\\AsgardInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AsgardInstaller.php',
|
57 |
+
'Composer\\Installers\\AttogramInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AttogramInstaller.php',
|
58 |
+
'Composer\\Installers\\BaseInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/BaseInstaller.php',
|
59 |
+
'Composer\\Installers\\BitrixInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/BitrixInstaller.php',
|
60 |
+
'Composer\\Installers\\BonefishInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/BonefishInstaller.php',
|
61 |
+
'Composer\\Installers\\CakePHPInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/CakePHPInstaller.php',
|
62 |
+
'Composer\\Installers\\ChefInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ChefInstaller.php',
|
63 |
+
'Composer\\Installers\\CiviCrmInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/CiviCrmInstaller.php',
|
64 |
+
'Composer\\Installers\\ClanCatsFrameworkInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ClanCatsFrameworkInstaller.php',
|
65 |
+
'Composer\\Installers\\CockpitInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/CockpitInstaller.php',
|
66 |
+
'Composer\\Installers\\CodeIgniterInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/CodeIgniterInstaller.php',
|
67 |
+
'Composer\\Installers\\Concrete5Installer' => $vendorDir . '/composer/installers/src/Composer/Installers/Concrete5Installer.php',
|
68 |
+
'Composer\\Installers\\CraftInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/CraftInstaller.php',
|
69 |
+
'Composer\\Installers\\CroogoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/CroogoInstaller.php',
|
70 |
+
'Composer\\Installers\\DecibelInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/DecibelInstaller.php',
|
71 |
+
'Composer\\Installers\\DokuWikiInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/DokuWikiInstaller.php',
|
72 |
+
'Composer\\Installers\\DolibarrInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/DolibarrInstaller.php',
|
73 |
+
'Composer\\Installers\\DrupalInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/DrupalInstaller.php',
|
74 |
+
'Composer\\Installers\\ElggInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ElggInstaller.php',
|
75 |
+
'Composer\\Installers\\EliasisInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/EliasisInstaller.php',
|
76 |
+
'Composer\\Installers\\ExpressionEngineInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ExpressionEngineInstaller.php',
|
77 |
+
'Composer\\Installers\\EzPlatformInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/EzPlatformInstaller.php',
|
78 |
+
'Composer\\Installers\\FuelInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/FuelInstaller.php',
|
79 |
+
'Composer\\Installers\\FuelphpInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/FuelphpInstaller.php',
|
80 |
+
'Composer\\Installers\\GravInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/GravInstaller.php',
|
81 |
+
'Composer\\Installers\\HuradInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/HuradInstaller.php',
|
82 |
+
'Composer\\Installers\\ImageCMSInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ImageCMSInstaller.php',
|
83 |
+
'Composer\\Installers\\Installer' => $vendorDir . '/composer/installers/src/Composer/Installers/Installer.php',
|
84 |
+
'Composer\\Installers\\ItopInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ItopInstaller.php',
|
85 |
+
'Composer\\Installers\\JoomlaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/JoomlaInstaller.php',
|
86 |
+
'Composer\\Installers\\KanboardInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/KanboardInstaller.php',
|
87 |
+
'Composer\\Installers\\KirbyInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/KirbyInstaller.php',
|
88 |
+
'Composer\\Installers\\KodiCMSInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/KodiCMSInstaller.php',
|
89 |
+
'Composer\\Installers\\KohanaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/KohanaInstaller.php',
|
90 |
+
'Composer\\Installers\\LanManagementSystemInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/LanManagementSystemInstaller.php',
|
91 |
+
'Composer\\Installers\\LaravelInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/LaravelInstaller.php',
|
92 |
+
'Composer\\Installers\\LavaLiteInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/LavaLiteInstaller.php',
|
93 |
+
'Composer\\Installers\\LithiumInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/LithiumInstaller.php',
|
94 |
+
'Composer\\Installers\\MODULEWorkInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MODULEWorkInstaller.php',
|
95 |
+
'Composer\\Installers\\MODXEvoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MODXEvoInstaller.php',
|
96 |
+
'Composer\\Installers\\MagentoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MagentoInstaller.php',
|
97 |
+
'Composer\\Installers\\MajimaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MajimaInstaller.php',
|
98 |
+
'Composer\\Installers\\MakoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MakoInstaller.php',
|
99 |
+
'Composer\\Installers\\MauticInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MauticInstaller.php',
|
100 |
+
'Composer\\Installers\\MayaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MayaInstaller.php',
|
101 |
+
'Composer\\Installers\\MediaWikiInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MediaWikiInstaller.php',
|
102 |
+
'Composer\\Installers\\MicroweberInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MicroweberInstaller.php',
|
103 |
+
'Composer\\Installers\\ModxInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ModxInstaller.php',
|
104 |
+
'Composer\\Installers\\MoodleInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MoodleInstaller.php',
|
105 |
+
'Composer\\Installers\\OctoberInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/OctoberInstaller.php',
|
106 |
+
'Composer\\Installers\\OntoWikiInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/OntoWikiInstaller.php',
|
107 |
+
'Composer\\Installers\\OsclassInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/OsclassInstaller.php',
|
108 |
+
'Composer\\Installers\\OxidInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/OxidInstaller.php',
|
109 |
+
'Composer\\Installers\\PPIInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PPIInstaller.php',
|
110 |
+
'Composer\\Installers\\PhiftyInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PhiftyInstaller.php',
|
111 |
+
'Composer\\Installers\\PhpBBInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PhpBBInstaller.php',
|
112 |
+
'Composer\\Installers\\PimcoreInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PimcoreInstaller.php',
|
113 |
+
'Composer\\Installers\\PiwikInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PiwikInstaller.php',
|
114 |
+
'Composer\\Installers\\PlentymarketsInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PlentymarketsInstaller.php',
|
115 |
+
'Composer\\Installers\\Plugin' => $vendorDir . '/composer/installers/src/Composer/Installers/Plugin.php',
|
116 |
+
'Composer\\Installers\\PortoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PortoInstaller.php',
|
117 |
+
'Composer\\Installers\\PrestashopInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PrestashopInstaller.php',
|
118 |
+
'Composer\\Installers\\PuppetInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PuppetInstaller.php',
|
119 |
+
'Composer\\Installers\\PxcmsInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PxcmsInstaller.php',
|
120 |
+
'Composer\\Installers\\RadPHPInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/RadPHPInstaller.php',
|
121 |
+
'Composer\\Installers\\ReIndexInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ReIndexInstaller.php',
|
122 |
+
'Composer\\Installers\\RedaxoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/RedaxoInstaller.php',
|
123 |
+
'Composer\\Installers\\RoundcubeInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/RoundcubeInstaller.php',
|
124 |
+
'Composer\\Installers\\SMFInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/SMFInstaller.php',
|
125 |
+
'Composer\\Installers\\ShopwareInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ShopwareInstaller.php',
|
126 |
+
'Composer\\Installers\\SilverStripeInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/SilverStripeInstaller.php',
|
127 |
+
'Composer\\Installers\\SiteDirectInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/SiteDirectInstaller.php',
|
128 |
+
'Composer\\Installers\\SyDESInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/SyDESInstaller.php',
|
129 |
+
'Composer\\Installers\\Symfony1Installer' => $vendorDir . '/composer/installers/src/Composer/Installers/Symfony1Installer.php',
|
130 |
+
'Composer\\Installers\\TYPO3CmsInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TYPO3CmsInstaller.php',
|
131 |
+
'Composer\\Installers\\TYPO3FlowInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TYPO3FlowInstaller.php',
|
132 |
+
'Composer\\Installers\\TheliaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TheliaInstaller.php',
|
133 |
+
'Composer\\Installers\\TuskInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TuskInstaller.php',
|
134 |
+
'Composer\\Installers\\UserFrostingInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/UserFrostingInstaller.php',
|
135 |
+
'Composer\\Installers\\VanillaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/VanillaInstaller.php',
|
136 |
+
'Composer\\Installers\\VgmcpInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/VgmcpInstaller.php',
|
137 |
+
'Composer\\Installers\\WHMCSInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/WHMCSInstaller.php',
|
138 |
+
'Composer\\Installers\\WolfCMSInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/WolfCMSInstaller.php',
|
139 |
+
'Composer\\Installers\\WordPressInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/WordPressInstaller.php',
|
140 |
+
'Composer\\Installers\\YawikInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/YawikInstaller.php',
|
141 |
+
'Composer\\Installers\\ZendInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ZendInstaller.php',
|
142 |
+
'Composer\\Installers\\ZikulaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ZikulaInstaller.php',
|
143 |
'Yoast_I18n_WordPressOrg_v3' => $vendorDir . '/yoast/i18n-module/src/i18n-module-wordpressorg.php',
|
144 |
'Yoast_I18n_v3' => $vendorDir . '/yoast/i18n-module/src/i18n-module.php',
|
145 |
+
'xrstf\\Composer52\\AutoloadGenerator' => $vendorDir . '/xrstf/composer-php52/lib/xrstf/Composer52/AutoloadGenerator.php',
|
146 |
+
'xrstf\\Composer52\\Generator' => $vendorDir . '/xrstf/composer-php52/lib/xrstf/Composer52/Generator.php',
|
147 |
);
|
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 ComposerAutoloaderInit654978bf511f36f6eca47c8335223e8b {
|
|
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 ComposerAutoloaderInit06cbf810899a84e0ff891cfee1f1d2be {
|
6 |
private static $loader;
|
7 |
|
8 |
public static function loadClassLoader($class) {
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
+
spl_autoload_register(array('ComposerAutoloaderInit06cbf810899a84e0ff891cfee1f1d2be', 'loadClassLoader'), true /*, true */);
|
23 |
self::$loader = $loader = new xrstf_Composer52_ClassLoader();
|
24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInit06cbf810899a84e0ff891cfee1f1d2be', 'loadClassLoader'));
|
25 |
|
26 |
$vendorDir = dirname(dirname(__FILE__));
|
27 |
$baseDir = dirname($vendorDir);
|
vendor/composer/autoload_static.php
CHANGED
@@ -62,10 +62,10 @@ class ComposerStaticInitd24de3c06687d3cf4aad0b15c83747be
|
|
62 |
'Advanced_Ads_Display_Conditions' => __DIR__ . '/../..' . '/classes/display-conditions.php',
|
63 |
'Advanced_Ads_Filesystem' => __DIR__ . '/../..' . '/classes/filesystem.php',
|
64 |
'Advanced_Ads_Frontend_Checks' => __DIR__ . '/../..' . '/classes/frontend_checks.php',
|
|
|
65 |
'Advanced_Ads_Group' => __DIR__ . '/../..' . '/classes/ad_group.php',
|
66 |
'Advanced_Ads_Groups_List' => __DIR__ . '/../..' . '/admin/includes/class-ad-groups-list.php',
|
67 |
'Advanced_Ads_Model' => __DIR__ . '/../..' . '/classes/ad-model.php',
|
68 |
-
'Advanced_Ads_Module' => __DIR__ . '/../..' . '/admin/includes/class-module.php',
|
69 |
'Advanced_Ads_Overview_Widgets_Callbacks' => __DIR__ . '/../..' . '/admin/includes/class-overview-widgets.php',
|
70 |
'Advanced_Ads_Placements' => __DIR__ . '/../..' . '/classes/ad_placements.php',
|
71 |
'Advanced_Ads_Plugin' => __DIR__ . '/../..' . '/classes/plugin.php',
|
@@ -75,8 +75,100 @@ class ComposerStaticInitd24de3c06687d3cf4aad0b15c83747be
|
|
75 |
'Advanced_Ads_Utils' => __DIR__ . '/../..' . '/classes/utils.php',
|
76 |
'Advanced_Ads_Visitor_Conditions' => __DIR__ . '/../..' . '/classes/visitor-conditions.php',
|
77 |
'Advanced_Ads_Widget' => __DIR__ . '/../..' . '/classes/widget.php',
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
78 |
'Yoast_I18n_WordPressOrg_v3' => __DIR__ . '/..' . '/yoast/i18n-module/src/i18n-module-wordpressorg.php',
|
79 |
'Yoast_I18n_v3' => __DIR__ . '/..' . '/yoast/i18n-module/src/i18n-module.php',
|
|
|
|
|
80 |
);
|
81 |
|
82 |
public static function getInitializer(ClassLoader $loader)
|
62 |
'Advanced_Ads_Display_Conditions' => __DIR__ . '/../..' . '/classes/display-conditions.php',
|
63 |
'Advanced_Ads_Filesystem' => __DIR__ . '/../..' . '/classes/filesystem.php',
|
64 |
'Advanced_Ads_Frontend_Checks' => __DIR__ . '/../..' . '/classes/frontend_checks.php',
|
65 |
+
'Advanced_Ads_Frontend_Notices' => __DIR__ . '/../..' . '/classes/frontend-notices.php',
|
66 |
'Advanced_Ads_Group' => __DIR__ . '/../..' . '/classes/ad_group.php',
|
67 |
'Advanced_Ads_Groups_List' => __DIR__ . '/../..' . '/admin/includes/class-ad-groups-list.php',
|
68 |
'Advanced_Ads_Model' => __DIR__ . '/../..' . '/classes/ad-model.php',
|
|
|
69 |
'Advanced_Ads_Overview_Widgets_Callbacks' => __DIR__ . '/../..' . '/admin/includes/class-overview-widgets.php',
|
70 |
'Advanced_Ads_Placements' => __DIR__ . '/../..' . '/classes/ad_placements.php',
|
71 |
'Advanced_Ads_Plugin' => __DIR__ . '/../..' . '/classes/plugin.php',
|
75 |
'Advanced_Ads_Utils' => __DIR__ . '/../..' . '/classes/utils.php',
|
76 |
'Advanced_Ads_Visitor_Conditions' => __DIR__ . '/../..' . '/classes/visitor-conditions.php',
|
77 |
'Advanced_Ads_Widget' => __DIR__ . '/../..' . '/classes/widget.php',
|
78 |
+
'Composer\\Installers\\AglInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AglInstaller.php',
|
79 |
+
'Composer\\Installers\\AimeosInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AimeosInstaller.php',
|
80 |
+
'Composer\\Installers\\AnnotateCmsInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AnnotateCmsInstaller.php',
|
81 |
+
'Composer\\Installers\\AsgardInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AsgardInstaller.php',
|
82 |
+
'Composer\\Installers\\AttogramInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AttogramInstaller.php',
|
83 |
+
'Composer\\Installers\\BaseInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/BaseInstaller.php',
|
84 |
+
'Composer\\Installers\\BitrixInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/BitrixInstaller.php',
|
85 |
+
'Composer\\Installers\\BonefishInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/BonefishInstaller.php',
|
86 |
+
'Composer\\Installers\\CakePHPInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/CakePHPInstaller.php',
|
87 |
+
'Composer\\Installers\\ChefInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ChefInstaller.php',
|
88 |
+
'Composer\\Installers\\CiviCrmInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/CiviCrmInstaller.php',
|
89 |
+
'Composer\\Installers\\ClanCatsFrameworkInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ClanCatsFrameworkInstaller.php',
|
90 |
+
'Composer\\Installers\\CockpitInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/CockpitInstaller.php',
|
91 |
+
'Composer\\Installers\\CodeIgniterInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/CodeIgniterInstaller.php',
|
92 |
+
'Composer\\Installers\\Concrete5Installer' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/Concrete5Installer.php',
|
93 |
+
'Composer\\Installers\\CraftInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/CraftInstaller.php',
|
94 |
+
'Composer\\Installers\\CroogoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/CroogoInstaller.php',
|
95 |
+
'Composer\\Installers\\DecibelInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/DecibelInstaller.php',
|
96 |
+
'Composer\\Installers\\DokuWikiInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/DokuWikiInstaller.php',
|
97 |
+
'Composer\\Installers\\DolibarrInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/DolibarrInstaller.php',
|
98 |
+
'Composer\\Installers\\DrupalInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/DrupalInstaller.php',
|
99 |
+
'Composer\\Installers\\ElggInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ElggInstaller.php',
|
100 |
+
'Composer\\Installers\\EliasisInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/EliasisInstaller.php',
|
101 |
+
'Composer\\Installers\\ExpressionEngineInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ExpressionEngineInstaller.php',
|
102 |
+
'Composer\\Installers\\EzPlatformInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/EzPlatformInstaller.php',
|
103 |
+
'Composer\\Installers\\FuelInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/FuelInstaller.php',
|
104 |
+
'Composer\\Installers\\FuelphpInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/FuelphpInstaller.php',
|
105 |
+
'Composer\\Installers\\GravInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/GravInstaller.php',
|
106 |
+
'Composer\\Installers\\HuradInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/HuradInstaller.php',
|
107 |
+
'Composer\\Installers\\ImageCMSInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ImageCMSInstaller.php',
|
108 |
+
'Composer\\Installers\\Installer' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/Installer.php',
|
109 |
+
'Composer\\Installers\\ItopInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ItopInstaller.php',
|
110 |
+
'Composer\\Installers\\JoomlaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/JoomlaInstaller.php',
|
111 |
+
'Composer\\Installers\\KanboardInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/KanboardInstaller.php',
|
112 |
+
'Composer\\Installers\\KirbyInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/KirbyInstaller.php',
|
113 |
+
'Composer\\Installers\\KodiCMSInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/KodiCMSInstaller.php',
|
114 |
+
'Composer\\Installers\\KohanaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/KohanaInstaller.php',
|
115 |
+
'Composer\\Installers\\LanManagementSystemInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/LanManagementSystemInstaller.php',
|
116 |
+
'Composer\\Installers\\LaravelInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/LaravelInstaller.php',
|
117 |
+
'Composer\\Installers\\LavaLiteInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/LavaLiteInstaller.php',
|
118 |
+
'Composer\\Installers\\LithiumInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/LithiumInstaller.php',
|
119 |
+
'Composer\\Installers\\MODULEWorkInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MODULEWorkInstaller.php',
|
120 |
+
'Composer\\Installers\\MODXEvoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MODXEvoInstaller.php',
|
121 |
+
'Composer\\Installers\\MagentoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MagentoInstaller.php',
|
122 |
+
'Composer\\Installers\\MajimaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MajimaInstaller.php',
|
123 |
+
'Composer\\Installers\\MakoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MakoInstaller.php',
|
124 |
+
'Composer\\Installers\\MauticInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MauticInstaller.php',
|
125 |
+
'Composer\\Installers\\MayaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MayaInstaller.php',
|
126 |
+
'Composer\\Installers\\MediaWikiInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MediaWikiInstaller.php',
|
127 |
+
'Composer\\Installers\\MicroweberInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MicroweberInstaller.php',
|
128 |
+
'Composer\\Installers\\ModxInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ModxInstaller.php',
|
129 |
+
'Composer\\Installers\\MoodleInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MoodleInstaller.php',
|
130 |
+
'Composer\\Installers\\OctoberInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/OctoberInstaller.php',
|
131 |
+
'Composer\\Installers\\OntoWikiInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/OntoWikiInstaller.php',
|
132 |
+
'Composer\\Installers\\OsclassInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/OsclassInstaller.php',
|
133 |
+
'Composer\\Installers\\OxidInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/OxidInstaller.php',
|
134 |
+
'Composer\\Installers\\PPIInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PPIInstaller.php',
|
135 |
+
'Composer\\Installers\\PhiftyInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PhiftyInstaller.php',
|
136 |
+
'Composer\\Installers\\PhpBBInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PhpBBInstaller.php',
|
137 |
+
'Composer\\Installers\\PimcoreInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PimcoreInstaller.php',
|
138 |
+
'Composer\\Installers\\PiwikInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PiwikInstaller.php',
|
139 |
+
'Composer\\Installers\\PlentymarketsInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PlentymarketsInstaller.php',
|
140 |
+
'Composer\\Installers\\Plugin' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/Plugin.php',
|
141 |
+
'Composer\\Installers\\PortoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PortoInstaller.php',
|
142 |
+
'Composer\\Installers\\PrestashopInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PrestashopInstaller.php',
|
143 |
+
'Composer\\Installers\\PuppetInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PuppetInstaller.php',
|
144 |
+
'Composer\\Installers\\PxcmsInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PxcmsInstaller.php',
|
145 |
+
'Composer\\Installers\\RadPHPInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/RadPHPInstaller.php',
|
146 |
+
'Composer\\Installers\\ReIndexInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ReIndexInstaller.php',
|
147 |
+
'Composer\\Installers\\RedaxoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/RedaxoInstaller.php',
|
148 |
+
'Composer\\Installers\\RoundcubeInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/RoundcubeInstaller.php',
|
149 |
+
'Composer\\Installers\\SMFInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/SMFInstaller.php',
|
150 |
+
'Composer\\Installers\\ShopwareInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ShopwareInstaller.php',
|
151 |
+
'Composer\\Installers\\SilverStripeInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/SilverStripeInstaller.php',
|
152 |
+
'Composer\\Installers\\SiteDirectInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/SiteDirectInstaller.php',
|
153 |
+
'Composer\\Installers\\SyDESInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/SyDESInstaller.php',
|
154 |
+
'Composer\\Installers\\Symfony1Installer' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/Symfony1Installer.php',
|
155 |
+
'Composer\\Installers\\TYPO3CmsInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TYPO3CmsInstaller.php',
|
156 |
+
'Composer\\Installers\\TYPO3FlowInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TYPO3FlowInstaller.php',
|
157 |
+
'Composer\\Installers\\TheliaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TheliaInstaller.php',
|
158 |
+
'Composer\\Installers\\TuskInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TuskInstaller.php',
|
159 |
+
'Composer\\Installers\\UserFrostingInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/UserFrostingInstaller.php',
|
160 |
+
'Composer\\Installers\\VanillaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/VanillaInstaller.php',
|
161 |
+
'Composer\\Installers\\VgmcpInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/VgmcpInstaller.php',
|
162 |
+
'Composer\\Installers\\WHMCSInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/WHMCSInstaller.php',
|
163 |
+
'Composer\\Installers\\WolfCMSInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/WolfCMSInstaller.php',
|
164 |
+
'Composer\\Installers\\WordPressInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/WordPressInstaller.php',
|
165 |
+
'Composer\\Installers\\YawikInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/YawikInstaller.php',
|
166 |
+
'Composer\\Installers\\ZendInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ZendInstaller.php',
|
167 |
+
'Composer\\Installers\\ZikulaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ZikulaInstaller.php',
|
168 |
'Yoast_I18n_WordPressOrg_v3' => __DIR__ . '/..' . '/yoast/i18n-module/src/i18n-module-wordpressorg.php',
|
169 |
'Yoast_I18n_v3' => __DIR__ . '/..' . '/yoast/i18n-module/src/i18n-module.php',
|
170 |
+
'xrstf\\Composer52\\AutoloadGenerator' => __DIR__ . '/..' . '/xrstf/composer-php52/lib/xrstf/Composer52/AutoloadGenerator.php',
|
171 |
+
'xrstf\\Composer52\\Generator' => __DIR__ . '/..' . '/xrstf/composer-php52/lib/xrstf/Composer52/Generator.php',
|
172 |
);
|
173 |
|
174 |
public static function getInitializer(ClassLoader $loader)
|
vendor/composer/installed.json
CHANGED
@@ -1,77 +1,4 @@
|
|
1 |
[
|
2 |
-
{
|
3 |
-
"name": "xrstf/composer-php52",
|
4 |
-
"version": "v1.0.20",
|
5 |
-
"version_normalized": "1.0.20.0",
|
6 |
-
"source": {
|
7 |
-
"type": "git",
|
8 |
-
"url": "https://github.com/composer-php52/composer-php52.git",
|
9 |
-
"reference": "bd41459d5e27df8d33057842b32377c39e97a5a8"
|
10 |
-
},
|
11 |
-
"dist": {
|
12 |
-
"type": "zip",
|
13 |
-
"url": "https://api.github.com/repos/composer-php52/composer-php52/zipball/bd41459d5e27df8d33057842b32377c39e97a5a8",
|
14 |
-
"reference": "bd41459d5e27df8d33057842b32377c39e97a5a8",
|
15 |
-
"shasum": ""
|
16 |
-
},
|
17 |
-
"time": "2016-04-16 21:52:24",
|
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 |
-
},
|
35 |
-
{
|
36 |
-
"name": "yoast/i18n-module",
|
37 |
-
"version": "3.0.0",
|
38 |
-
"version_normalized": "3.0.0.0",
|
39 |
-
"source": {
|
40 |
-
"type": "git",
|
41 |
-
"url": "https://github.com/Yoast/i18n-module.git",
|
42 |
-
"reference": "76b1645aaf8cf9a07dc06ec0bbe2a6838feeed4c"
|
43 |
-
},
|
44 |
-
"dist": {
|
45 |
-
"type": "zip",
|
46 |
-
"url": "https://api.github.com/repos/Yoast/i18n-module/zipball/76b1645aaf8cf9a07dc06ec0bbe2a6838feeed4c",
|
47 |
-
"reference": "76b1645aaf8cf9a07dc06ec0bbe2a6838feeed4c",
|
48 |
-
"shasum": ""
|
49 |
-
},
|
50 |
-
"time": "2017-09-06 07:17:52",
|
51 |
-
"type": "library",
|
52 |
-
"installation-source": "dist",
|
53 |
-
"autoload": {
|
54 |
-
"classmap": [
|
55 |
-
"src/"
|
56 |
-
]
|
57 |
-
},
|
58 |
-
"notification-url": "https://packagist.org/downloads/",
|
59 |
-
"license": [
|
60 |
-
"GPL-2.0+"
|
61 |
-
],
|
62 |
-
"authors": [
|
63 |
-
{
|
64 |
-
"name": "Team Yoast",
|
65 |
-
"email": "support@yoast.com",
|
66 |
-
"homepage": "https://yoast.com"
|
67 |
-
}
|
68 |
-
],
|
69 |
-
"description": "Handle i18n for WordPress plugins.",
|
70 |
-
"homepage": "https://github.com/Yoast/i18n-module",
|
71 |
-
"keywords": [
|
72 |
-
"wordpress"
|
73 |
-
]
|
74 |
-
},
|
75 |
{
|
76 |
"name": "composer/installers",
|
77 |
"version": "v1.6.0",
|
@@ -98,7 +25,7 @@
|
|
98 |
"composer/composer": "1.0.*@dev",
|
99 |
"phpunit/phpunit": "^4.8.36"
|
100 |
},
|
101 |
-
"time": "2018-08-
|
102 |
"type": "composer-plugin",
|
103 |
"extra": {
|
104 |
"class": "Composer\\Installers\\Plugin",
|
@@ -193,5 +120,78 @@
|
|
193 |
"zend",
|
194 |
"zikula"
|
195 |
]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
196 |
}
|
197 |
]
|
1 |
[
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
{
|
3 |
"name": "composer/installers",
|
4 |
"version": "v1.6.0",
|
25 |
"composer/composer": "1.0.*@dev",
|
26 |
"phpunit/phpunit": "^4.8.36"
|
27 |
},
|
28 |
+
"time": "2018-08-27T06:10:37+00:00",
|
29 |
"type": "composer-plugin",
|
30 |
"extra": {
|
31 |
"class": "Composer\\Installers\\Plugin",
|
120 |
"zend",
|
121 |
"zikula"
|
122 |
]
|
123 |
+
},
|
124 |
+
{
|
125 |
+
"name": "xrstf/composer-php52",
|
126 |
+
"version": "v1.0.20",
|
127 |
+
"version_normalized": "1.0.20.0",
|
128 |
+
"source": {
|
129 |
+
"type": "git",
|
130 |
+
"url": "https://github.com/composer-php52/composer-php52.git",
|
131 |
+
"reference": "bd41459d5e27df8d33057842b32377c39e97a5a8"
|
132 |
+
},
|
133 |
+
"dist": {
|
134 |
+
"type": "zip",
|
135 |
+
"url": "https://api.github.com/repos/composer-php52/composer-php52/zipball/bd41459d5e27df8d33057842b32377c39e97a5a8",
|
136 |
+
"reference": "bd41459d5e27df8d33057842b32377c39e97a5a8",
|
137 |
+
"shasum": ""
|
138 |
+
},
|
139 |
+
"time": "2016-04-16T21:52:24+00:00",
|
140 |
+
"type": "library",
|
141 |
+
"extra": {
|
142 |
+
"branch-alias": {
|
143 |
+
"dev-default": "1.x-dev"
|
144 |
+
}
|
145 |
+
},
|
146 |
+
"installation-source": "dist",
|
147 |
+
"autoload": {
|
148 |
+
"psr-0": {
|
149 |
+
"xrstf\\Composer52": "lib/"
|
150 |
+
}
|
151 |
+
},
|
152 |
+
"notification-url": "https://packagist.org/downloads/",
|
153 |
+
"license": [
|
154 |
+
"MIT"
|
155 |
+
]
|
156 |
+
},
|
157 |
+
{
|
158 |
+
"name": "yoast/i18n-module",
|
159 |
+
"version": "3.0.0",
|
160 |
+
"version_normalized": "3.0.0.0",
|
161 |
+
"source": {
|
162 |
+
"type": "git",
|
163 |
+
"url": "https://github.com/Yoast/i18n-module.git",
|
164 |
+
"reference": "76b1645aaf8cf9a07dc06ec0bbe2a6838feeed4c"
|
165 |
+
},
|
166 |
+
"dist": {
|
167 |
+
"type": "zip",
|
168 |
+
"url": "https://api.github.com/repos/Yoast/i18n-module/zipball/76b1645aaf8cf9a07dc06ec0bbe2a6838feeed4c",
|
169 |
+
"reference": "76b1645aaf8cf9a07dc06ec0bbe2a6838feeed4c",
|
170 |
+
"shasum": ""
|
171 |
+
},
|
172 |
+
"time": "2017-09-06T07:17:52+00:00",
|
173 |
+
"type": "library",
|
174 |
+
"installation-source": "dist",
|
175 |
+
"autoload": {
|
176 |
+
"classmap": [
|
177 |
+
"src/"
|
178 |
+
]
|
179 |
+
},
|
180 |
+
"notification-url": "https://packagist.org/downloads/",
|
181 |
+
"license": [
|
182 |
+
"GPL-2.0+"
|
183 |
+
],
|
184 |
+
"authors": [
|
185 |
+
{
|
186 |
+
"name": "Team Yoast",
|
187 |
+
"email": "support@yoast.com",
|
188 |
+
"homepage": "https://yoast.com"
|
189 |
+
}
|
190 |
+
],
|
191 |
+
"description": "Handle i18n for WordPress plugins.",
|
192 |
+
"homepage": "https://github.com/Yoast/i18n-module",
|
193 |
+
"keywords": [
|
194 |
+
"wordpress"
|
195 |
+
]
|
196 |
}
|
197 |
]
|