Version Description
- Added ads.txt editor
- Added option to prevent disabling caching for logged in administrators
- Improved compatibility with PHP 7.2
- Few minor bug fixes, cosmetic changes and code improvements
Download this release
Release Info
Developer | spacetime |
Plugin | Ad Inserter – WordPress Ads Management with AdSense Header Integration |
Version | 2.4.12 |
Comparing to | |
See all releases |
Code changes from version 2.4.11 to 2.4.12
- ad-inserter.php +35 -13
- class.php +3 -1
- constants.php +5 -1
- css/ai-settings.css +45 -5
- css/images/icons.png +0 -0
- images/ga-logo.png +0 -0
- includes/phpQuery_52.php +0 -5712
- includes/preview.php +5 -5
- js/ad-inserter.js +81 -1
- languages/ad-inserter-sl_SI.mo +0 -0
- languages/ad-inserter-sl_SI.po +619 -544
- languages/ad-inserter.pot +616 -544
- readme.txt +17 -3
- settings.php +291 -40
ad-inserter.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
/*
|
4 |
Plugin Name: Ad Inserter
|
5 |
-
Version: 2.4.
|
6 |
Description: Ad management with many advanced advertising features to insert ads at optimal positions
|
7 |
Author: Igor Funa
|
8 |
Author URI: http://igorfuna.com/
|
@@ -15,6 +15,12 @@ Domain Path: /languages
|
|
15 |
|
16 |
Change Log
|
17 |
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
Ad Inserter 2.4.11 - 2019-02-23
|
19 |
- Fix for saving code with slashes
|
20 |
- Fix for rotation editor code import
|
@@ -762,7 +768,8 @@ function ai_buffering_end () {
|
|
762 |
ai_log ("BUFFER body matches: " . count ($matches));
|
763 |
}
|
764 |
|
765 |
-
|
|
|
766 |
if (($ai_wp_data [AI_WP_DEBUGGING] & AI_DEBUG_PROCESSING) != 0) {
|
767 |
ai_log ("BUFFER PROCESSING");
|
768 |
}
|
@@ -772,14 +779,15 @@ function ai_buffering_end () {
|
|
772 |
|
773 |
if (isset ($ai_db_options_extract [HTML_ELEMENT_HOOK_BLOCKS][$ai_wp_data [AI_WP_PAGE_TYPE]]) && class_exists ('DOMDocument')) {
|
774 |
|
775 |
-
$php_version = explode ('.', PHP_VERSION);
|
776 |
-
if ($php_version [0] > 5 || ($php_version [0] == 5 && $php_version [1] >= 3)) {
|
777 |
-
// phpQuery with anonymous functions
|
778 |
-
require_once ('includes/phpQuery.php');
|
779 |
-
} else {
|
780 |
-
// phpQuery with create_function
|
781 |
-
require_once ('includes/phpQuery_52.php');
|
782 |
-
}
|
|
|
783 |
|
784 |
$no_closing_tag = array ('img', 'hr', 'br');
|
785 |
$multibyte = $ai_wp_data [AI_MBSTRING_LOADED] && get_paragraph_counting_functions() == AI_MULTIBYTE_PARAGRAPH_COUNTING_FUNCTIONS;
|
@@ -1227,7 +1235,7 @@ function ai_wp_hook () {
|
|
1227 |
|
1228 |
ai_http_header ();
|
1229 |
|
1230 |
-
if (($ai_wp_data [AI_WP_USER] & AI_USER_ADMINISTRATOR) != 0) ai_disable_caching ();
|
1231 |
|
1232 |
if ($ai_wp_data [AI_WP_PAGE_TYPE] != AI_PT_ADMIN &&
|
1233 |
($ai_wp_data [AI_WP_USER] & AI_USER_ADMINISTRATOR) != 0 &&
|
@@ -2848,10 +2856,12 @@ function ai_amp_head_hook () {
|
|
2848 |
$processed_code = ltrim ($codes [1]);
|
2849 |
}
|
2850 |
|
|
|
2851 |
if (strpos ($processed_code, AD_AMP_SEPARATOR) !== false) {
|
2852 |
$codes = explode (AD_AMP_SEPARATOR, $processed_code);
|
2853 |
$processed_code = ltrim ($codes [1]);
|
2854 |
echo $processed_code;
|
|
|
2855 |
|
2856 |
if (($ai_wp_data [AI_WP_DEBUGGING] & AI_DEBUG_PROCESSING) != 0) {
|
2857 |
if (strlen ($processed_code) != 0)
|
@@ -3286,6 +3296,8 @@ function ai_write_debug_info ($write_processing_log = false) {
|
|
3286 |
echo 'MAIN CONTENT: ', get_main_content_element (), "\n";
|
3287 |
}
|
3288 |
echo 'PLUGIN PRIORITY: ', get_plugin_priority (), "\n";
|
|
|
|
|
3289 |
echo 'HEADER: ', $block_object [AI_HEADER_OPTION_NAME]->get_enable_manual () ? 'ENABLED' : 'DISABLED', "\n";
|
3290 |
echo 'FOOTER: ', $block_object [AI_FOOTER_OPTION_NAME]->get_enable_manual () ? 'ENABLED' : 'DISABLED', "\n";
|
3291 |
if (defined ('AI_ADBLOCKING_DETECTION') && AI_ADBLOCKING_DETECTION) {
|
@@ -3726,6 +3738,7 @@ function ai_check_plugin_options ($plugin_options = array ()) {
|
|
3726 |
if (!isset ($plugin_options ['DYNAMIC_BLOCKS'])) $plugin_options ['DYNAMIC_BLOCKS'] = DEFAULT_DYNAMIC_BLOCKS;
|
3727 |
if (!isset ($plugin_options ['PARAGRAPH_COUNTING_FUNCTIONS'])) $plugin_options ['PARAGRAPH_COUNTING_FUNCTIONS'] = DEFAULT_PARAGRAPH_COUNTING_FUNCTIONS;
|
3728 |
if (!isset ($plugin_options ['OUTPUT_BUFFERING'])) $plugin_options ['OUTPUT_BUFFERING'] = DEFAULT_OUTPUT_BUFFERING;
|
|
|
3729 |
if (!isset ($plugin_options ['NO_PARAGRAPH_COUNTING_INSIDE'])) $plugin_options ['NO_PARAGRAPH_COUNTING_INSIDE'] = DEFAULT_NO_PARAGRAPH_COUNTING_INSIDE;
|
3730 |
if (!isset ($plugin_options ['AD_LABEL'])) $plugin_options ['AD_LABEL'] = DEFAULT_AD_TITLE;
|
3731 |
if (!isset ($plugin_options ['MAIN_CONTENT_ELEMENT'])) $plugin_options ['MAIN_CONTENT_ELEMENT'] = DEFAULT_MAIN_CONTENT_ELEMENT;
|
@@ -3983,6 +3996,11 @@ function get_output_buffering(){
|
|
3983 |
return ($ai_db_options [AI_OPTION_GLOBAL]['OUTPUT_BUFFERING']);
|
3984 |
}
|
3985 |
|
|
|
|
|
|
|
|
|
|
|
3986 |
function get_no_paragraph_counting_inside () {
|
3987 |
global $ai_db_options;
|
3988 |
|
@@ -4724,6 +4742,9 @@ function ai_ajax_backend () {
|
|
4724 |
}
|
4725 |
}
|
4726 |
|
|
|
|
|
|
|
4727 |
elseif (isset ($_GET ["settings"])) {
|
4728 |
generate_settings_form ();
|
4729 |
}
|
@@ -5547,6 +5568,7 @@ function ai_settings () {
|
|
5547 |
if (isset ($_POST ['dynamic_blocks'])) $options ['DYNAMIC_BLOCKS'] = filter_option ('DYNAMIC_BLOCKS', $_POST ['dynamic_blocks']);
|
5548 |
if (isset ($_POST ['paragraph_counting_functions'])) $options ['PARAGRAPH_COUNTING_FUNCTIONS'] = filter_option ('PARAGRAPH_COUNTING_FUNCTIONS', $_POST ['paragraph_counting_functions']);
|
5549 |
if (isset ($_POST ['output-buffering'])) $options ['OUTPUT_BUFFERING'] = filter_option ('OUTPUT_BUFFERING', $_POST ['output-buffering']);
|
|
|
5550 |
if (isset ($_POST ['no-paragraph-counting-inside'])) $options ['NO_PARAGRAPH_COUNTING_INSIDE'] = filter_option ('NO_PARAGRAPH_COUNTING_INSIDE', $_POST ['no-paragraph-counting-inside']);
|
5551 |
if (isset ($_POST ['ad-label'])) $options ['AD_LABEL'] = filter_option ('AD_LABEL', $_POST ['ad-label']);
|
5552 |
if (isset ($_POST ['main-content-element'])) $options ['MAIN_CONTENT_ELEMENT'] = filter_option ('MAIN_CONTENT_ELEMENT', $_POST ['main-content-element']);
|
@@ -5660,7 +5682,7 @@ function ai_settings () {
|
|
5660 |
delete_option (AI_EXTRACT_NAME);
|
5661 |
|
5662 |
if (is_multisite () && is_main_site ()) {
|
5663 |
-
delete_site_option (AI_OPTION_NAME
|
5664 |
}
|
5665 |
|
5666 |
delete_option (AI_ADSENSE_CLIENT_IDS);
|
@@ -7493,7 +7515,7 @@ function get_paragraph_end_positions ($content, $multibyte, $paragraph_start_pos
|
|
7493 |
if ($paragraph_end_string == '') continue;
|
7494 |
|
7495 |
if (in_array ($paragraph_end_string, $no_closing_tag)) {
|
7496 |
-
if (preg_match_all ("/<$paragraph_end_string(
|
7497 |
foreach ($images [0] as $paragraph_end) {
|
7498 |
if ($multibyte) {
|
7499 |
$last_position = mb_stripos ($content, $paragraph_end, $last_position + 1) + mb_strlen ($paragraph_end) - 1;
|
2 |
|
3 |
/*
|
4 |
Plugin Name: Ad Inserter
|
5 |
+
Version: 2.4.12
|
6 |
Description: Ad management with many advanced advertising features to insert ads at optimal positions
|
7 |
Author: Igor Funa
|
8 |
Author URI: http://igorfuna.com/
|
15 |
|
16 |
Change Log
|
17 |
|
18 |
+
Ad Inserter 2.4.12 - 2019-03-21
|
19 |
+
- Added ads.txt editor
|
20 |
+
- Added option to prevent disabling caching for logged in administrators
|
21 |
+
- Improved compatibility with PHP 7.2
|
22 |
+
- Few minor bug fixes, cosmetic changes and code improvements
|
23 |
+
|
24 |
Ad Inserter 2.4.11 - 2019-02-23
|
25 |
- Fix for saving code with slashes
|
26 |
- Fix for rotation editor code import
|
768 |
ai_log ("BUFFER body matches: " . count ($matches));
|
769 |
}
|
770 |
|
771 |
+
$php_version = explode ('.', PHP_VERSION);
|
772 |
+
if (count ($matches) == 3 && ($php_version [0] > 5 || ($php_version [0] == 5 && $php_version [1] >= 3))) {
|
773 |
if (($ai_wp_data [AI_WP_DEBUGGING] & AI_DEBUG_PROCESSING) != 0) {
|
774 |
ai_log ("BUFFER PROCESSING");
|
775 |
}
|
779 |
|
780 |
if (isset ($ai_db_options_extract [HTML_ELEMENT_HOOK_BLOCKS][$ai_wp_data [AI_WP_PAGE_TYPE]]) && class_exists ('DOMDocument')) {
|
781 |
|
782 |
+
// $php_version = explode ('.', PHP_VERSION);
|
783 |
+
// if ($php_version [0] > 5 || ($php_version [0] == 5 && $php_version [1] >= 3)) {
|
784 |
+
// // phpQuery with anonymous functions
|
785 |
+
// require_once ('includes/phpQuery.php');
|
786 |
+
// } else {
|
787 |
+
// // phpQuery with create_function
|
788 |
+
// require_once ('includes/phpQuery_52.php');
|
789 |
+
// }
|
790 |
+
require_once ('includes/phpQuery.php');
|
791 |
|
792 |
$no_closing_tag = array ('img', 'hr', 'br');
|
793 |
$multibyte = $ai_wp_data [AI_MBSTRING_LOADED] && get_paragraph_counting_functions() == AI_MULTIBYTE_PARAGRAPH_COUNTING_FUNCTIONS;
|
1235 |
|
1236 |
ai_http_header ();
|
1237 |
|
1238 |
+
if (($ai_wp_data [AI_WP_USER] & AI_USER_ADMINISTRATOR) != 0 && get_disable_caching ()) ai_disable_caching ();
|
1239 |
|
1240 |
if ($ai_wp_data [AI_WP_PAGE_TYPE] != AI_PT_ADMIN &&
|
1241 |
($ai_wp_data [AI_WP_USER] & AI_USER_ADMINISTRATOR) != 0 &&
|
2856 |
$processed_code = ltrim ($codes [1]);
|
2857 |
}
|
2858 |
|
2859 |
+
// ai_log ("ai_amp_head_hook ");
|
2860 |
if (strpos ($processed_code, AD_AMP_SEPARATOR) !== false) {
|
2861 |
$codes = explode (AD_AMP_SEPARATOR, $processed_code);
|
2862 |
$processed_code = ltrim ($codes [1]);
|
2863 |
echo $processed_code;
|
2864 |
+
// ai_log ("ai_amp_head_hook " . $processed_code);
|
2865 |
|
2866 |
if (($ai_wp_data [AI_WP_DEBUGGING] & AI_DEBUG_PROCESSING) != 0) {
|
2867 |
if (strlen ($processed_code) != 0)
|
3296 |
echo 'MAIN CONTENT: ', get_main_content_element (), "\n";
|
3297 |
}
|
3298 |
echo 'PLUGIN PRIORITY: ', get_plugin_priority (), "\n";
|
3299 |
+
echo 'ADMIN DISABLE CACHING: ', get_disable_caching () ? 'ENABLED' : 'DISABLED', "\n";
|
3300 |
+
echo 'DO NOT CACHE CONSTANTS: ', defined ('DONOTCACHEPAGE') ? 'DONOTCACHEPAGE ' : '', defined ('DONOTCACHEOBJECT') ? 'DONOTCACHEOBJECT ' : '', defined ('DONOTCACHEDB') ? 'DONOTCACHEDB ' : '', "\n";
|
3301 |
echo 'HEADER: ', $block_object [AI_HEADER_OPTION_NAME]->get_enable_manual () ? 'ENABLED' : 'DISABLED', "\n";
|
3302 |
echo 'FOOTER: ', $block_object [AI_FOOTER_OPTION_NAME]->get_enable_manual () ? 'ENABLED' : 'DISABLED', "\n";
|
3303 |
if (defined ('AI_ADBLOCKING_DETECTION') && AI_ADBLOCKING_DETECTION) {
|
3738 |
if (!isset ($plugin_options ['DYNAMIC_BLOCKS'])) $plugin_options ['DYNAMIC_BLOCKS'] = DEFAULT_DYNAMIC_BLOCKS;
|
3739 |
if (!isset ($plugin_options ['PARAGRAPH_COUNTING_FUNCTIONS'])) $plugin_options ['PARAGRAPH_COUNTING_FUNCTIONS'] = DEFAULT_PARAGRAPH_COUNTING_FUNCTIONS;
|
3740 |
if (!isset ($plugin_options ['OUTPUT_BUFFERING'])) $plugin_options ['OUTPUT_BUFFERING'] = DEFAULT_OUTPUT_BUFFERING;
|
3741 |
+
if (!isset ($plugin_options ['DISABLE_CACHING'])) $plugin_options ['DISABLE_CACHING'] = DEFAULT_DISABLE_CACHING;
|
3742 |
if (!isset ($plugin_options ['NO_PARAGRAPH_COUNTING_INSIDE'])) $plugin_options ['NO_PARAGRAPH_COUNTING_INSIDE'] = DEFAULT_NO_PARAGRAPH_COUNTING_INSIDE;
|
3743 |
if (!isset ($plugin_options ['AD_LABEL'])) $plugin_options ['AD_LABEL'] = DEFAULT_AD_TITLE;
|
3744 |
if (!isset ($plugin_options ['MAIN_CONTENT_ELEMENT'])) $plugin_options ['MAIN_CONTENT_ELEMENT'] = DEFAULT_MAIN_CONTENT_ELEMENT;
|
3996 |
return ($ai_db_options [AI_OPTION_GLOBAL]['OUTPUT_BUFFERING']);
|
3997 |
}
|
3998 |
|
3999 |
+
function get_disable_caching (){
|
4000 |
+
global $ai_db_options;
|
4001 |
+
if (!isset ($ai_db_options [AI_OPTION_GLOBAL]['DISABLE_CACHING'])) $ai_db_options [AI_OPTION_GLOBAL]['DISABLE_CACHING'] = DEFAULT_DISABLE_CACHING;
|
4002 |
+
return ($ai_db_options [AI_OPTION_GLOBAL]['DISABLE_CACHING']);
|
4003 |
+
}
|
4004 |
function get_no_paragraph_counting_inside () {
|
4005 |
global $ai_db_options;
|
4006 |
|
4742 |
}
|
4743 |
}
|
4744 |
|
4745 |
+
elseif (isset ($_GET ["ads-txt"])) {
|
4746 |
+
ads_txt ($_GET ["ads-txt"]);
|
4747 |
+
}
|
4748 |
elseif (isset ($_GET ["settings"])) {
|
4749 |
generate_settings_form ();
|
4750 |
}
|
5568 |
if (isset ($_POST ['dynamic_blocks'])) $options ['DYNAMIC_BLOCKS'] = filter_option ('DYNAMIC_BLOCKS', $_POST ['dynamic_blocks']);
|
5569 |
if (isset ($_POST ['paragraph_counting_functions'])) $options ['PARAGRAPH_COUNTING_FUNCTIONS'] = filter_option ('PARAGRAPH_COUNTING_FUNCTIONS', $_POST ['paragraph_counting_functions']);
|
5570 |
if (isset ($_POST ['output-buffering'])) $options ['OUTPUT_BUFFERING'] = filter_option ('OUTPUT_BUFFERING', $_POST ['output-buffering']);
|
5571 |
+
if (isset ($_POST ['disable-caching-admin'])) $options ['DISABLE_CACHING'] = filter_option ('DISABLE_CACHING', $_POST ['disable-caching-admin']);
|
5572 |
if (isset ($_POST ['no-paragraph-counting-inside'])) $options ['NO_PARAGRAPH_COUNTING_INSIDE'] = filter_option ('NO_PARAGRAPH_COUNTING_INSIDE', $_POST ['no-paragraph-counting-inside']);
|
5573 |
if (isset ($_POST ['ad-label'])) $options ['AD_LABEL'] = filter_option ('AD_LABEL', $_POST ['ad-label']);
|
5574 |
if (isset ($_POST ['main-content-element'])) $options ['MAIN_CONTENT_ELEMENT'] = filter_option ('MAIN_CONTENT_ELEMENT', $_POST ['main-content-element']);
|
5682 |
delete_option (AI_EXTRACT_NAME);
|
5683 |
|
5684 |
if (is_multisite () && is_main_site ()) {
|
5685 |
+
delete_site_option (AI_OPTION_NAME);
|
5686 |
}
|
5687 |
|
5688 |
delete_option (AI_ADSENSE_CLIENT_IDS);
|
7515 |
if ($paragraph_end_string == '') continue;
|
7516 |
|
7517 |
if (in_array ($paragraph_end_string, $no_closing_tag)) {
|
7518 |
+
if (preg_match_all ("/<$paragraph_end_string([^>]*?)>/", $content, $images)) {
|
7519 |
foreach ($images [0] as $paragraph_end) {
|
7520 |
if ($multibyte) {
|
7521 |
$last_position = mb_stripos ($content, $paragraph_end, $last_position + 1) + mb_strlen ($paragraph_end) - 1;
|
class.php
CHANGED
@@ -2248,7 +2248,9 @@ abstract class ai_CodeBlock extends ai_BaseCodeBlock {
|
|
2248 |
if (!isset ($rotate_parameters)) {
|
2249 |
// using old separator |rotate|
|
2250 |
$rotate_parameters = array ();
|
2251 |
-
foreach ($ads as $ad) {
|
|
|
|
|
2252 |
$rotate_parameters []= array ();
|
2253 |
}
|
2254 |
}
|
2248 |
if (!isset ($rotate_parameters)) {
|
2249 |
// using old separator |rotate|
|
2250 |
$rotate_parameters = array ();
|
2251 |
+
foreach ($ads as $index => $ad) {
|
2252 |
+
// Skip parameters for first option (it will be added with array_unshift below)
|
2253 |
+
if ($index == 0) continue;
|
2254 |
$rotate_parameters []= array ();
|
2255 |
}
|
2256 |
}
|
constants.php
CHANGED
@@ -29,7 +29,7 @@ if (!defined( 'AD_INSERTER_NAME'))
|
|
29 |
define ('AD_INSERTER_NAME', 'Ad Inserter');
|
30 |
|
31 |
if (!defined( 'AD_INSERTER_VERSION'))
|
32 |
-
define ('AD_INSERTER_VERSION', '2.4.
|
33 |
|
34 |
if (!defined ('AD_INSERTER_PLUGIN_BASENAME'))
|
35 |
define ('AD_INSERTER_PLUGIN_BASENAME', plugin_basename (__FILE__));
|
@@ -611,6 +611,9 @@ define ('AI_ADB_DETECTION_ADVANCED', 1);
|
|
611 |
define ('AI_OUTPUT_BUFFERING_DISABLED', 0);
|
612 |
define ('AI_OUTPUT_BUFFERING_ENABLED', 1);
|
613 |
|
|
|
|
|
|
|
614 |
// Click detection
|
615 |
define ('AI_CLICK_DETECTION_STANDARD', 0);
|
616 |
define ('AI_CLICK_DETECTION_ADVANCED', 1);
|
@@ -739,6 +742,7 @@ define ('DEFAULT_ADB_BLOCK_ACTION', AI_ADB_BLOCK_ACTION_DO_NOTHING);
|
|
739 |
define ('DEFAULT_ADB_DETECTION', AI_ADB_DETECTION_ADVANCED);
|
740 |
define ('DEFAULT_CUSTOM_HOOK_PRIORITY', 10);
|
741 |
define ('DEFAULT_OUTPUT_BUFFERING', AI_OUTPUT_BUFFERING_DISABLED);
|
|
|
742 |
define ('DEFAULT_GEO_DB', AI_GEO_DB_WEBNET77);
|
743 |
define ('DEFAULT_GEO_DB_UPDATES', AI_DISABLED);
|
744 |
define ('DEFAULT_CLOSE_BUTTON', AI_CLOSE_NONE);
|
29 |
define ('AD_INSERTER_NAME', 'Ad Inserter');
|
30 |
|
31 |
if (!defined( 'AD_INSERTER_VERSION'))
|
32 |
+
define ('AD_INSERTER_VERSION', '2.4.12');
|
33 |
|
34 |
if (!defined ('AD_INSERTER_PLUGIN_BASENAME'))
|
35 |
define ('AD_INSERTER_PLUGIN_BASENAME', plugin_basename (__FILE__));
|
611 |
define ('AI_OUTPUT_BUFFERING_DISABLED', 0);
|
612 |
define ('AI_OUTPUT_BUFFERING_ENABLED', 1);
|
613 |
|
614 |
+
// Disable caching for administrators
|
615 |
+
define ('AI_DISABLE_CACHING_DISABLED', 0);
|
616 |
+
define ('AI_DISABLE_CACHING_ENABLED', 1);
|
617 |
// Click detection
|
618 |
define ('AI_CLICK_DETECTION_STANDARD', 0);
|
619 |
define ('AI_CLICK_DETECTION_ADVANCED', 1);
|
742 |
define ('DEFAULT_ADB_DETECTION', AI_ADB_DETECTION_ADVANCED);
|
743 |
define ('DEFAULT_CUSTOM_HOOK_PRIORITY', 10);
|
744 |
define ('DEFAULT_OUTPUT_BUFFERING', AI_OUTPUT_BUFFERING_DISABLED);
|
745 |
+
define ('DEFAULT_DISABLE_CACHING', AI_DISABLE_CACHING_ENABLED);
|
746 |
define ('DEFAULT_GEO_DB', AI_GEO_DB_WEBNET77);
|
747 |
define ('DEFAULT_GEO_DB_UPDATES', AI_DISABLED);
|
748 |
define ('DEFAULT_CLOSE_BUTTON', AI_CLOSE_NONE);
|
css/ai-settings.css
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
#ai-data {
|
2 |
-
font-family: "2.4.
|
3 |
}
|
4 |
|
5 |
#blocked-warning {
|
@@ -47,7 +47,7 @@ button.ai-top-button {
|
|
47 |
padding: .4em 0.5em;
|
48 |
}
|
49 |
|
50 |
-
.adsense-list .ui-button-text, .select-image .ui-button-text {
|
51 |
padding: 0.4em 0.5em;
|
52 |
}
|
53 |
|
@@ -441,6 +441,9 @@ div.automatic-insertion img {
|
|
441 |
color: #5f76ff;
|
442 |
}
|
443 |
|
|
|
|
|
|
|
444 |
.checkbox-button.light-blue.dashicons {
|
445 |
color: #b0d2fd;
|
446 |
}
|
@@ -528,6 +531,10 @@ span.checkbox-icon {
|
|
528 |
height: 20px;
|
529 |
}
|
530 |
|
|
|
|
|
|
|
|
|
531 |
.checkbox-icon.size-16 {
|
532 |
width: 16px;
|
533 |
height: 16px;
|
@@ -1015,6 +1022,9 @@ img.automatic-insertion.preview {
|
|
1015 |
background: url('images/icons.png') -180px -60px;
|
1016 |
}
|
1017 |
|
|
|
|
|
|
|
1018 |
|
1019 |
|
1020 |
.checkbox-icon.icon-enabled-all {
|
@@ -1098,6 +1108,9 @@ img.automatic-insertion.preview {
|
|
1098 |
background: url('images/icons.png') -80px -100px;
|
1099 |
}
|
1100 |
|
|
|
|
|
|
|
1101 |
|
1102 |
|
1103 |
.checkbox-icon.size-8.icon-stop {
|
@@ -1121,9 +1134,10 @@ img.automatic-insertion.preview {
|
|
1121 |
border-top: 8px solid #888;
|
1122 |
}
|
1123 |
|
1124 |
-
|
1125 |
-
|
1126 |
-
|
|
|
1127 |
}
|
1128 |
|
1129 |
.ai-button .ui-button-text.ai-button-active, .ai-button .ui-button-text.ai-button-updating {
|
@@ -1247,6 +1261,29 @@ table.check-pages a span.dashicons {
|
|
1247 |
height: 16px;
|
1248 |
}
|
1249 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1250 |
@media (max-width: 782px) {
|
1251 |
#ai-settings {
|
1252 |
margin-right: 4px;
|
@@ -1472,3 +1509,6 @@ table.ai-page-types td.ai-page-type.ai-unavailable label {
|
|
1472 |
color: #bbb;
|
1473 |
}
|
1474 |
|
|
|
|
|
|
1 |
#ai-data {
|
2 |
+
font-family: "2.4.12"; /* Used for version number of the file */
|
3 |
}
|
4 |
|
5 |
#blocked-warning {
|
47 |
padding: .4em 0.5em;
|
48 |
}
|
49 |
|
50 |
+
.adsense-list .ui-button-text, .select-image .ui-button-text, iab-ads-txt .ui-button-text{
|
51 |
padding: 0.4em 0.5em;
|
52 |
}
|
53 |
|
441 |
color: #5f76ff;
|
442 |
}
|
443 |
|
444 |
+
.checkbox-button.dashicons.on {
|
445 |
+
color: red;
|
446 |
+
}
|
447 |
.checkbox-button.light-blue.dashicons {
|
448 |
color: #b0d2fd;
|
449 |
}
|
531 |
height: 20px;
|
532 |
}
|
533 |
|
534 |
+
.checkbox-icon.image {
|
535 |
+
width: 22px;
|
536 |
+
height: 20px;
|
537 |
+
}
|
538 |
.checkbox-icon.size-16 {
|
539 |
width: 16px;
|
540 |
height: 16px;
|
1022 |
background: url('images/icons.png') -180px -60px;
|
1023 |
}
|
1024 |
|
1025 |
+
.checkbox-icon.icon-ads-txt {
|
1026 |
+
background: url('images/icons.png') -160px -60px;
|
1027 |
+
}
|
1028 |
|
1029 |
|
1030 |
.checkbox-icon.icon-enabled-all {
|
1108 |
background: url('images/icons.png') -80px -100px;
|
1109 |
}
|
1110 |
|
1111 |
+
.checkbox-icon.icon-adsense {
|
1112 |
+
background: url('images/icons.png') -100px -120px;
|
1113 |
+
}
|
1114 |
|
1115 |
|
1116 |
.checkbox-icon.size-8.icon-stop {
|
1134 |
border-top: 8px solid #888;
|
1135 |
}
|
1136 |
|
1137 |
+
|
1138 |
+
.checkbox-icon.size-img16.icon-adsense {
|
1139 |
+
background: url(images/icons.png) -80px -96px;
|
1140 |
+
background-size: 160px 112px;
|
1141 |
}
|
1142 |
|
1143 |
.ai-button .ui-button-text.ai-button-active, .ai-button .ui-button-text.ai-button-updating {
|
1261 |
height: 16px;
|
1262 |
}
|
1263 |
|
1264 |
+
#ai-sidebar-right {
|
1265 |
+
float: right;
|
1266 |
+
}
|
1267 |
+
.ai-image-left img, .ai-image-right img {
|
1268 |
+
margin-top: 10px;
|
1269 |
+
}
|
1270 |
+
@media (max-width: 762px) {
|
1271 |
+
#ai-sidebar-right {
|
1272 |
+
float: none;
|
1273 |
+
}
|
1274 |
+
.ai-image-left {
|
1275 |
+
float: left;
|
1276 |
+
width: 49%;
|
1277 |
+
}
|
1278 |
+
.ai-image-right {
|
1279 |
+
float: right;
|
1280 |
+
width: 49%;
|
1281 |
+
}
|
1282 |
+
.ai-image-left img, .ai-image-right img {
|
1283 |
+
width: 100%;
|
1284 |
+
height: auto;
|
1285 |
+
}
|
1286 |
+
}
|
1287 |
@media (max-width: 782px) {
|
1288 |
#ai-settings {
|
1289 |
margin-right: 4px;
|
1509 |
color: #bbb;
|
1510 |
}
|
1511 |
|
1512 |
+
#ads-txt-table td {
|
1513 |
+
font-family: monospace, Courier, 'Courier New';
|
1514 |
+
}
|
css/images/icons.png
CHANGED
Binary file
|
images/ga-logo.png
DELETED
Binary file
|
includes/phpQuery_52.php
DELETED
@@ -1,5712 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* phpQuery is a server-side, chainable, CSS3 selector driven
|
4 |
-
* Document Object Model (DOM) API based on jQuery JavaScript Library.
|
5 |
-
*
|
6 |
-
* @version 0.9.5
|
7 |
-
* @link http://code.google.com/p/phpquery/
|
8 |
-
* @link http://phpquery-library.blogspot.com/
|
9 |
-
* @link http://jquery.com/
|
10 |
-
* @author Tobiasz Cudnik <tobiasz.cudnik/gmail.com>
|
11 |
-
* @license http://www.opensource.org/licenses/mit-license.php MIT License
|
12 |
-
* @package phpQuery
|
13 |
-
*/
|
14 |
-
|
15 |
-
// class names for instanceof
|
16 |
-
// TODO move them as class constants into phpQuery
|
17 |
-
define('DOMDOCUMENT', 'DOMDocument');
|
18 |
-
define('DOMELEMENT', 'DOMElement');
|
19 |
-
define('DOMNODELIST', 'DOMNodeList');
|
20 |
-
define('DOMNODE', 'DOMNode');
|
21 |
-
|
22 |
-
/**
|
23 |
-
* DOMEvent class.
|
24 |
-
*
|
25 |
-
* Based on
|
26 |
-
* @link http://developer.mozilla.org/En/DOM:event
|
27 |
-
* @author Tobiasz Cudnik <tobiasz.cudnik/gmail.com>
|
28 |
-
* @package phpQuery
|
29 |
-
* @todo implement ArrayAccess ?
|
30 |
-
*/
|
31 |
-
class DOMEvent {
|
32 |
-
/**
|
33 |
-
* Returns a boolean indicating whether the event bubbles up through the DOM or not.
|
34 |
-
*
|
35 |
-
* @var unknown_type
|
36 |
-
*/
|
37 |
-
public $bubbles = true;
|
38 |
-
/**
|
39 |
-
* Returns a boolean indicating whether the event is cancelable.
|
40 |
-
*
|
41 |
-
* @var unknown_type
|
42 |
-
*/
|
43 |
-
public $cancelable = true;
|
44 |
-
/**
|
45 |
-
* Returns a reference to the currently registered target for the event.
|
46 |
-
*
|
47 |
-
* @var unknown_type
|
48 |
-
*/
|
49 |
-
public $currentTarget;
|
50 |
-
/**
|
51 |
-
* Returns detail about the event, depending on the type of event.
|
52 |
-
*
|
53 |
-
* @var unknown_type
|
54 |
-
* @link http://developer.mozilla.org/en/DOM/event.detail
|
55 |
-
*/
|
56 |
-
public $detail; // ???
|
57 |
-
/**
|
58 |
-
* Used to indicate which phase of the event flow is currently being evaluated.
|
59 |
-
*
|
60 |
-
* NOT IMPLEMENTED
|
61 |
-
*
|
62 |
-
* @var unknown_type
|
63 |
-
* @link http://developer.mozilla.org/en/DOM/event.eventPhase
|
64 |
-
*/
|
65 |
-
public $eventPhase; // ???
|
66 |
-
/**
|
67 |
-
* The explicit original target of the event (Mozilla-specific).
|
68 |
-
*
|
69 |
-
* NOT IMPLEMENTED
|
70 |
-
*
|
71 |
-
* @var unknown_type
|
72 |
-
*/
|
73 |
-
public $explicitOriginalTarget; // moz only
|
74 |
-
/**
|
75 |
-
* The original target of the event, before any retargetings (Mozilla-specific).
|
76 |
-
*
|
77 |
-
* NOT IMPLEMENTED
|
78 |
-
*
|
79 |
-
* @var unknown_type
|
80 |
-
*/
|
81 |
-
public $originalTarget; // moz only
|
82 |
-
/**
|
83 |
-
* Identifies a secondary target for the event.
|
84 |
-
*
|
85 |
-
* @var unknown_type
|
86 |
-
*/
|
87 |
-
public $relatedTarget;
|
88 |
-
/**
|
89 |
-
* Returns a reference to the target to which the event was originally dispatched.
|
90 |
-
*
|
91 |
-
* @var unknown_type
|
92 |
-
*/
|
93 |
-
public $target;
|
94 |
-
/**
|
95 |
-
* Returns the time that the event was created.
|
96 |
-
*
|
97 |
-
* @var unknown_type
|
98 |
-
*/
|
99 |
-
public $timeStamp;
|
100 |
-
/**
|
101 |
-
* Returns the name of the event (case-insensitive).
|
102 |
-
*/
|
103 |
-
public $type;
|
104 |
-
public $runDefault = true;
|
105 |
-
public $data = null;
|
106 |
-
public function __construct($data) {
|
107 |
-
foreach($data as $k => $v) {
|
108 |
-
$this->$k = $v;
|
109 |
-
}
|
110 |
-
if (! $this->timeStamp)
|
111 |
-
$this->timeStamp = time();
|
112 |
-
}
|
113 |
-
/**
|
114 |
-
* Cancels the event (if it is cancelable).
|
115 |
-
*
|
116 |
-
*/
|
117 |
-
public function preventDefault() {
|
118 |
-
$this->runDefault = false;
|
119 |
-
}
|
120 |
-
/**
|
121 |
-
* Stops the propagation of events further along in the DOM.
|
122 |
-
*
|
123 |
-
*/
|
124 |
-
public function stopPropagation() {
|
125 |
-
$this->bubbles = false;
|
126 |
-
}
|
127 |
-
}
|
128 |
-
|
129 |
-
|
130 |
-
/**
|
131 |
-
* DOMDocumentWrapper class simplifies work with DOMDocument.
|
132 |
-
*
|
133 |
-
* Know bug:
|
134 |
-
* - in XHTML fragments, <br /> changes to <br clear="none" />
|
135 |
-
*
|
136 |
-
* @todo check XML catalogs compatibility
|
137 |
-
* @author Tobiasz Cudnik <tobiasz.cudnik/gmail.com>
|
138 |
-
* @package phpQuery
|
139 |
-
*/
|
140 |
-
class DOMDocumentWrapper {
|
141 |
-
/**
|
142 |
-
* @var DOMDocument
|
143 |
-
*/
|
144 |
-
public $document;
|
145 |
-
public $id;
|
146 |
-
/**
|
147 |
-
* @todo Rewrite as method and quess if null.
|
148 |
-
* @var unknown_type
|
149 |
-
*/
|
150 |
-
public $contentType = '';
|
151 |
-
public $xpath;
|
152 |
-
public $uuid = 0;
|
153 |
-
public $data = array();
|
154 |
-
public $dataNodes = array();
|
155 |
-
public $events = array();
|
156 |
-
public $eventsNodes = array();
|
157 |
-
public $eventsGlobal = array();
|
158 |
-
/**
|
159 |
-
* @TODO iframes support http://code.google.com/p/phpquery/issues/detail?id=28
|
160 |
-
* @var unknown_type
|
161 |
-
*/
|
162 |
-
public $frames = array();
|
163 |
-
/**
|
164 |
-
* Document root, by default equals to document itself.
|
165 |
-
* Used by documentFragments.
|
166 |
-
*
|
167 |
-
* @var DOMNode
|
168 |
-
*/
|
169 |
-
public $root;
|
170 |
-
public $isDocumentFragment;
|
171 |
-
public $isXML = false;
|
172 |
-
public $isXHTML = false;
|
173 |
-
public $isHTML = false;
|
174 |
-
public $charset;
|
175 |
-
public function __construct($markup = null, $contentType = null, $newDocumentID = null) {
|
176 |
-
if (isset($markup))
|
177 |
-
$this->load($markup, $contentType, $newDocumentID);
|
178 |
-
$this->id = $newDocumentID
|
179 |
-
? $newDocumentID
|
180 |
-
: md5(microtime());
|
181 |
-
}
|
182 |
-
public function load($markup, $contentType = null, $newDocumentID = null) {
|
183 |
-
// phpQuery::$documents[$id] = $this;
|
184 |
-
$this->contentType = strtolower($contentType);
|
185 |
-
if ($markup instanceof DOMDOCUMENT) {
|
186 |
-
$this->document = $markup;
|
187 |
-
$this->root = $this->document;
|
188 |
-
$this->charset = $this->document->encoding;
|
189 |
-
// TODO isDocumentFragment
|
190 |
-
} else {
|
191 |
-
$loaded = $this->loadMarkup($markup);
|
192 |
-
}
|
193 |
-
if ($loaded) {
|
194 |
-
// $this->document->formatOutput = true;
|
195 |
-
$this->document->preserveWhiteSpace = true;
|
196 |
-
$this->xpath = new DOMXPath($this->document);
|
197 |
-
$this->afterMarkupLoad();
|
198 |
-
return true;
|
199 |
-
// remember last loaded document
|
200 |
-
// return phpQuery::selectDocument($id);
|
201 |
-
}
|
202 |
-
return false;
|
203 |
-
}
|
204 |
-
protected function afterMarkupLoad() {
|
205 |
-
if ($this->isXHTML) {
|
206 |
-
$this->xpath->registerNamespace("html", "http://www.w3.org/1999/xhtml");
|
207 |
-
}
|
208 |
-
}
|
209 |
-
protected function loadMarkup($markup) {
|
210 |
-
$loaded = false;
|
211 |
-
if ($this->contentType) {
|
212 |
-
self::debug("Load markup for content type {$this->contentType}");
|
213 |
-
// content determined by contentType
|
214 |
-
list($contentType, $charset) = $this->contentTypeToArray($this->contentType);
|
215 |
-
switch($contentType) {
|
216 |
-
case 'text/html':
|
217 |
-
phpQuery::debug("Loading HTML, content type '{$this->contentType}'");
|
218 |
-
$loaded = $this->loadMarkupHTML($markup, $charset);
|
219 |
-
break;
|
220 |
-
case 'text/xml':
|
221 |
-
case 'application/xhtml+xml':
|
222 |
-
phpQuery::debug("Loading XML, content type '{$this->contentType}'");
|
223 |
-
$loaded = $this->loadMarkupXML($markup, $charset);
|
224 |
-
break;
|
225 |
-
default:
|
226 |
-
// for feeds or anything that sometimes doesn't use text/xml
|
227 |
-
if (strpos('xml', $this->contentType) !== false) {
|
228 |
-
phpQuery::debug("Loading XML, content type '{$this->contentType}'");
|
229 |
-
$loaded = $this->loadMarkupXML($markup, $charset);
|
230 |
-
} else
|
231 |
-
phpQuery::debug("Could not determine document type from content type '{$this->contentType}'");
|
232 |
-
}
|
233 |
-
} else {
|
234 |
-
// content type autodetection
|
235 |
-
if ($this->isXML($markup)) {
|
236 |
-
phpQuery::debug("Loading XML, isXML() == true");
|
237 |
-
$loaded = $this->loadMarkupXML($markup);
|
238 |
-
if (! $loaded && $this->isXHTML) {
|
239 |
-
phpQuery::debug('Loading as XML failed, trying to load as HTML, isXHTML == true');
|
240 |
-
$loaded = $this->loadMarkupHTML($markup);
|
241 |
-
}
|
242 |
-
} else {
|
243 |
-
phpQuery::debug("Loading HTML, isXML() == false");
|
244 |
-
$loaded = $this->loadMarkupHTML($markup);
|
245 |
-
}
|
246 |
-
}
|
247 |
-
return $loaded;
|
248 |
-
}
|
249 |
-
protected function loadMarkupReset() {
|
250 |
-
$this->isXML = $this->isXHTML = $this->isHTML = false;
|
251 |
-
}
|
252 |
-
protected function documentCreate($charset, $version = '1.0') {
|
253 |
-
if (! $version)
|
254 |
-
$version = '1.0';
|
255 |
-
$this->document = new DOMDocument($version, $charset);
|
256 |
-
$this->charset = $this->document->encoding;
|
257 |
-
// $this->document->encoding = $charset;
|
258 |
-
$this->document->formatOutput = true;
|
259 |
-
$this->document->preserveWhiteSpace = true;
|
260 |
-
}
|
261 |
-
protected function loadMarkupHTML($markup, $requestedCharset = null) {
|
262 |
-
if (phpQuery::$debug)
|
263 |
-
phpQuery::debug('Full markup load (HTML): '.substr($markup, 0, 250));
|
264 |
-
$this->loadMarkupReset();
|
265 |
-
$this->isHTML = true;
|
266 |
-
if (!isset($this->isDocumentFragment))
|
267 |
-
$this->isDocumentFragment = self::isDocumentFragmentHTML($markup);
|
268 |
-
$charset = null;
|
269 |
-
$documentCharset = $this->charsetFromHTML($markup);
|
270 |
-
$addDocumentCharset = false;
|
271 |
-
if ($documentCharset) {
|
272 |
-
$charset = $documentCharset;
|
273 |
-
$markup = $this->charsetFixHTML($markup);
|
274 |
-
} else if ($requestedCharset) {
|
275 |
-
$charset = $requestedCharset;
|
276 |
-
}
|
277 |
-
if (! $charset)
|
278 |
-
$charset = phpQuery::$defaultCharset;
|
279 |
-
// HTTP 1.1 says that the default charset is ISO-8859-1
|
280 |
-
// @see http://www.w3.org/International/O-HTTP-charset
|
281 |
-
if (! $documentCharset) {
|
282 |
-
$documentCharset = 'ISO-8859-1';
|
283 |
-
$addDocumentCharset = true;
|
284 |
-
}
|
285 |
-
// Should be careful here, still need 'magic encoding detection' since lots of pages have other 'default encoding'
|
286 |
-
// Worse, some pages can have mixed encodings... we'll try not to worry about that
|
287 |
-
$requestedCharset = strtoupper($requestedCharset);
|
288 |
-
$documentCharset = strtoupper($documentCharset);
|
289 |
-
phpQuery::debug("DOC: $documentCharset REQ: $requestedCharset");
|
290 |
-
if ($requestedCharset && $documentCharset && $requestedCharset !== $documentCharset) {
|
291 |
-
phpQuery::debug("CHARSET CONVERT");
|
292 |
-
// Document Encoding Conversion
|
293 |
-
// http://code.google.com/p/phpquery/issues/detail?id=86
|
294 |
-
if (function_exists('mb_detect_encoding')) {
|
295 |
-
$possibleCharsets = array($documentCharset, $requestedCharset, 'AUTO');
|
296 |
-
$docEncoding = mb_detect_encoding($markup, implode(', ', $possibleCharsets));
|
297 |
-
if (! $docEncoding)
|
298 |
-
$docEncoding = $documentCharset; // ok trust the document
|
299 |
-
phpQuery::debug("DETECTED '$docEncoding'");
|
300 |
-
// Detected does not match what document says...
|
301 |
-
if ($docEncoding !== $documentCharset) {
|
302 |
-
// Tricky..
|
303 |
-
}
|
304 |
-
if ($docEncoding !== $requestedCharset) {
|
305 |
-
phpQuery::debug("CONVERT $docEncoding => $requestedCharset");
|
306 |
-
$markup = mb_convert_encoding($markup, $requestedCharset, $docEncoding);
|
307 |
-
$markup = $this->charsetAppendToHTML($markup, $requestedCharset);
|
308 |
-
$charset = $requestedCharset;
|
309 |
-
}
|
310 |
-
} else {
|
311 |
-
phpQuery::debug("TODO: charset conversion without mbstring...");
|
312 |
-
}
|
313 |
-
}
|
314 |
-
$return = false;
|
315 |
-
if ($this->isDocumentFragment) {
|
316 |
-
phpQuery::debug("Full markup load (HTML), DocumentFragment detected, using charset '$charset'");
|
317 |
-
$return = $this->documentFragmentLoadMarkup($this, $charset, $markup);
|
318 |
-
} else {
|
319 |
-
if ($addDocumentCharset) {
|
320 |
-
phpQuery::debug("Full markup load (HTML), appending charset: '$charset'");
|
321 |
-
$markup = $this->charsetAppendToHTML($markup, $charset);
|
322 |
-
}
|
323 |
-
phpQuery::debug("Full markup load (HTML), documentCreate('$charset')");
|
324 |
-
$this->documentCreate($charset);
|
325 |
-
$return = phpQuery::$debug === 2
|
326 |
-
? $this->document->loadHTML($markup)
|
327 |
-
: @$this->document->loadHTML($markup);
|
328 |
-
if ($return)
|
329 |
-
$this->root = $this->document;
|
330 |
-
}
|
331 |
-
if ($return && ! $this->contentType)
|
332 |
-
$this->contentType = 'text/html';
|
333 |
-
return $return;
|
334 |
-
}
|
335 |
-
protected function loadMarkupXML($markup, $requestedCharset = null) {
|
336 |
-
if (phpQuery::$debug)
|
337 |
-
phpQuery::debug('Full markup load (XML): '.substr($markup, 0, 250));
|
338 |
-
$this->loadMarkupReset();
|
339 |
-
$this->isXML = true;
|
340 |
-
// check agains XHTML in contentType or markup
|
341 |
-
$isContentTypeXHTML = $this->isXHTML();
|
342 |
-
$isMarkupXHTML = $this->isXHTML($markup);
|
343 |
-
if ($isContentTypeXHTML || $isMarkupXHTML) {
|
344 |
-
self::debug('Full markup load (XML), XHTML detected');
|
345 |
-
$this->isXHTML = true;
|
346 |
-
}
|
347 |
-
// determine document fragment
|
348 |
-
if (! isset($this->isDocumentFragment))
|
349 |
-
$this->isDocumentFragment = $this->isXHTML
|
350 |
-
? self::isDocumentFragmentXHTML($markup)
|
351 |
-
: self::isDocumentFragmentXML($markup);
|
352 |
-
// this charset will be used
|
353 |
-
$charset = null;
|
354 |
-
// charset from XML declaration @var string
|
355 |
-
$documentCharset = $this->charsetFromXML($markup);
|
356 |
-
if (! $documentCharset) {
|
357 |
-
if ($this->isXHTML) {
|
358 |
-
// this is XHTML, try to get charset from content-type meta header
|
359 |
-
$documentCharset = $this->charsetFromHTML($markup);
|
360 |
-
if ($documentCharset) {
|
361 |
-
phpQuery::debug("Full markup load (XML), appending XHTML charset '$documentCharset'");
|
362 |
-
$this->charsetAppendToXML($markup, $documentCharset);
|
363 |
-
$charset = $documentCharset;
|
364 |
-
}
|
365 |
-
}
|
366 |
-
if (! $documentCharset) {
|
367 |
-
// if still no document charset...
|
368 |
-
$charset = $requestedCharset;
|
369 |
-
}
|
370 |
-
} else if ($requestedCharset) {
|
371 |
-
$charset = $requestedCharset;
|
372 |
-
}
|
373 |
-
if (! $charset) {
|
374 |
-
$charset = phpQuery::$defaultCharset;
|
375 |
-
}
|
376 |
-
if ($requestedCharset && $documentCharset && $requestedCharset != $documentCharset) {
|
377 |
-
// TODO place for charset conversion
|
378 |
-
// $charset = $requestedCharset;
|
379 |
-
}
|
380 |
-
$return = false;
|
381 |
-
if ($this->isDocumentFragment) {
|
382 |
-
phpQuery::debug("Full markup load (XML), DocumentFragment detected, using charset '$charset'");
|
383 |
-
$return = $this->documentFragmentLoadMarkup($this, $charset, $markup);
|
384 |
-
} else {
|
385 |
-
// FIXME ???
|
386 |
-
if ($isContentTypeXHTML && ! $isMarkupXHTML)
|
387 |
-
if (! $documentCharset) {
|
388 |
-
phpQuery::debug("Full markup load (XML), appending charset '$charset'");
|
389 |
-
$markup = $this->charsetAppendToXML($markup, $charset);
|
390 |
-
}
|
391 |
-
// see http://pl2.php.net/manual/en/book.dom.php#78929
|
392 |
-
// LIBXML_DTDLOAD (>= PHP 5.1)
|
393 |
-
// does XML ctalogues works with LIBXML_NONET
|
394 |
-
// $this->document->resolveExternals = true;
|
395 |
-
// TODO test LIBXML_COMPACT for performance improvement
|
396 |
-
// create document
|
397 |
-
$this->documentCreate($charset);
|
398 |
-
if (phpversion() < 5.1) {
|
399 |
-
$this->document->resolveExternals = true;
|
400 |
-
$return = phpQuery::$debug === 2
|
401 |
-
? $this->document->loadXML($markup)
|
402 |
-
: @$this->document->loadXML($markup);
|
403 |
-
} else {
|
404 |
-
/** @link http://pl2.php.net/manual/en/libxml.constants.php */
|
405 |
-
$libxmlStatic = phpQuery::$debug === 2
|
406 |
-
? LIBXML_DTDLOAD|LIBXML_DTDATTR|LIBXML_NONET
|
407 |
-
: LIBXML_DTDLOAD|LIBXML_DTDATTR|LIBXML_NONET|LIBXML_NOWARNING|LIBXML_NOERROR;
|
408 |
-
$return = $this->document->loadXML($markup, $libxmlStatic);
|
409 |
-
// if (! $return)
|
410 |
-
// $return = $this->document->loadHTML($markup);
|
411 |
-
}
|
412 |
-
if ($return)
|
413 |
-
$this->root = $this->document;
|
414 |
-
}
|
415 |
-
if ($return) {
|
416 |
-
if (! $this->contentType) {
|
417 |
-
if ($this->isXHTML)
|
418 |
-
$this->contentType = 'application/xhtml+xml';
|
419 |
-
else
|
420 |
-
$this->contentType = 'text/xml';
|
421 |
-
}
|
422 |
-
return $return;
|
423 |
-
} else {
|
424 |
-
throw new Exception("Error loading XML markup");
|
425 |
-
}
|
426 |
-
}
|
427 |
-
protected function isXHTML($markup = null) {
|
428 |
-
if (! isset($markup)) {
|
429 |
-
return strpos($this->contentType, 'xhtml') !== false;
|
430 |
-
}
|
431 |
-
// XXX ok ?
|
432 |
-
return strpos($markup, "<!DOCTYPE html") !== false;
|
433 |
-
// return stripos($doctype, 'xhtml') !== false;
|
434 |
-
// $doctype = isset($dom->doctype) && is_object($dom->doctype)
|
435 |
-
// ? $dom->doctype->publicId
|
436 |
-
// : self::$defaultDoctype;
|
437 |
-
}
|
438 |
-
protected function isXML($markup) {
|
439 |
-
// return strpos($markup, '<?xml') !== false && stripos($markup, 'xhtml') === false;
|
440 |
-
return strpos(substr($markup, 0, 100), '<'.'?xml') !== false;
|
441 |
-
}
|
442 |
-
protected function contentTypeToArray($contentType) {
|
443 |
-
$matches = explode(';', trim(strtolower($contentType)));
|
444 |
-
if (isset($matches[1])) {
|
445 |
-
$matches[1] = explode('=', $matches[1]);
|
446 |
-
// strip 'charset='
|
447 |
-
$matches[1] = isset($matches[1][1]) && trim($matches[1][1])
|
448 |
-
? $matches[1][1]
|
449 |
-
: $matches[1][0];
|
450 |
-
} else
|
451 |
-
$matches[1] = null;
|
452 |
-
return $matches;
|
453 |
-
}
|
454 |
-
/**
|
455 |
-
*
|
456 |
-
* @param $markup
|
457 |
-
* @return array contentType, charset
|
458 |
-
*/
|
459 |
-
protected function contentTypeFromHTML($markup) {
|
460 |
-
$matches = array();
|
461 |
-
// find meta tag
|
462 |
-
preg_match('@<meta[^>]+http-equiv\\s*=\\s*(["|\'])Content-Type\\1([^>]+?)>@i',
|
463 |
-
$markup, $matches
|
464 |
-
);
|
465 |
-
if (! isset($matches[0]))
|
466 |
-
return array(null, null);
|
467 |
-
// get attr 'content'
|
468 |
-
preg_match('@content\\s*=\\s*(["|\'])(.+?)\\1@', $matches[0], $matches);
|
469 |
-
if (! isset($matches[0]))
|
470 |
-
return array(null, null);
|
471 |
-
return $this->contentTypeToArray($matches[2]);
|
472 |
-
}
|
473 |
-
protected function charsetFromHTML($markup) {
|
474 |
-
$contentType = $this->contentTypeFromHTML($markup);
|
475 |
-
return $contentType[1];
|
476 |
-
}
|
477 |
-
protected function charsetFromXML($markup) {
|
478 |
-
$matches;
|
479 |
-
// find declaration
|
480 |
-
preg_match('@<'.'?xml[^>]+encoding\\s*=\\s*(["|\'])(.*?)\\1@i',
|
481 |
-
$markup, $matches
|
482 |
-
);
|
483 |
-
return isset($matches[2])
|
484 |
-
? strtolower($matches[2])
|
485 |
-
: null;
|
486 |
-
}
|
487 |
-
/**
|
488 |
-
* Repositions meta[type=charset] at the start of head. Bypasses DOMDocument bug.
|
489 |
-
*
|
490 |
-
* @link http://code.google.com/p/phpquery/issues/detail?id=80
|
491 |
-
* @param $html
|
492 |
-
*/
|
493 |
-
protected function charsetFixHTML($markup) {
|
494 |
-
$matches = array();
|
495 |
-
// find meta tag
|
496 |
-
preg_match('@\s*<meta[^>]+http-equiv\\s*=\\s*(["|\'])Content-Type\\1([^>]+?)>@i',
|
497 |
-
$markup, $matches, PREG_OFFSET_CAPTURE
|
498 |
-
);
|
499 |
-
if (! isset($matches[0]))
|
500 |
-
return;
|
501 |
-
$metaContentType = $matches[0][0];
|
502 |
-
$markup = substr($markup, 0, $matches[0][1])
|
503 |
-
.substr($markup, $matches[0][1]+strlen($metaContentType));
|
504 |
-
$headStart = stripos($markup, '<head>');
|
505 |
-
$markup = substr($markup, 0, $headStart+6).$metaContentType
|
506 |
-
.substr($markup, $headStart+6);
|
507 |
-
return $markup;
|
508 |
-
}
|
509 |
-
protected function charsetAppendToHTML($html, $charset, $xhtml = false) {
|
510 |
-
// remove existing meta[type=content-type]
|
511 |
-
$html = preg_replace('@\s*<meta[^>]+http-equiv\\s*=\\s*(["|\'])Content-Type\\1([^>]+?)>@i', '', $html);
|
512 |
-
$meta = '<meta http-equiv="Content-Type" content="text/html;charset='
|
513 |
-
.$charset.'" '
|
514 |
-
.($xhtml ? '/' : '')
|
515 |
-
.'>';
|
516 |
-
if (strpos($html, '<head') === false) {
|
517 |
-
if (strpos($hltml, '<html') === false) {
|
518 |
-
return $meta.$html;
|
519 |
-
} else {
|
520 |
-
return preg_replace(
|
521 |
-
'@<html(.*?)(?(?<!\?)>)@s',
|
522 |
-
"<html\\1><head>{$meta}</head>",
|
523 |
-
$html
|
524 |
-
);
|
525 |
-
}
|
526 |
-
} else {
|
527 |
-
return preg_replace(
|
528 |
-
'@<head(.*?)(?(?<!\?)>)@s',
|
529 |
-
'<head\\1>'.$meta,
|
530 |
-
$html
|
531 |
-
);
|
532 |
-
}
|
533 |
-
}
|
534 |
-
protected function charsetAppendToXML($markup, $charset) {
|
535 |
-
$declaration = '<'.'?xml version="1.0" encoding="'.$charset.'"?'.'>';
|
536 |
-
return $declaration.$markup;
|
537 |
-
}
|
538 |
-
public static function isDocumentFragmentHTML($markup) {
|
539 |
-
return stripos($markup, '<html') === false && stripos($markup, '<!doctype') === false;
|
540 |
-
}
|
541 |
-
public static function isDocumentFragmentXML($markup) {
|
542 |
-
return stripos($markup, '<'.'?xml') === false;
|
543 |
-
}
|
544 |
-
public static function isDocumentFragmentXHTML($markup) {
|
545 |
-
return self::isDocumentFragmentHTML($markup);
|
546 |
-
}
|
547 |
-
public function importAttr($value) {
|
548 |
-
// TODO
|
549 |
-
}
|
550 |
-
/**
|
551 |
-
*
|
552 |
-
* @param $source
|
553 |
-
* @param $target
|
554 |
-
* @param $sourceCharset
|
555 |
-
* @return array Array of imported nodes.
|
556 |
-
*/
|
557 |
-
public function import($source, $sourceCharset = null) {
|
558 |
-
// TODO charset conversions
|
559 |
-
$return = array();
|
560 |
-
if ($source instanceof DOMNODE && !($source instanceof DOMNODELIST))
|
561 |
-
$source = array($source);
|
562 |
-
// if (is_array($source)) {
|
563 |
-
// foreach($source as $node) {
|
564 |
-
// if (is_string($node)) {
|
565 |
-
// // string markup
|
566 |
-
// $fake = $this->documentFragmentCreate($node, $sourceCharset);
|
567 |
-
// if ($fake === false)
|
568 |
-
// throw new Exception("Error loading documentFragment markup");
|
569 |
-
// else
|
570 |
-
// $return = array_merge($return,
|
571 |
-
// $this->import($fake->root->childNodes)
|
572 |
-
// );
|
573 |
-
// } else {
|
574 |
-
// $return[] = $this->document->importNode($node, true);
|
575 |
-
// }
|
576 |
-
// }
|
577 |
-
// return $return;
|
578 |
-
// } else {
|
579 |
-
// // string markup
|
580 |
-
// $fake = $this->documentFragmentCreate($source, $sourceCharset);
|
581 |
-
// if ($fake === false)
|
582 |
-
// throw new Exception("Error loading documentFragment markup");
|
583 |
-
// else
|
584 |
-
// return $this->import($fake->root->childNodes);
|
585 |
-
// }
|
586 |
-
if (is_array($source) || $source instanceof DOMNODELIST) {
|
587 |
-
// dom nodes
|
588 |
-
self::debug('Importing nodes to document');
|
589 |
-
foreach($source as $node)
|
590 |
-
$return[] = $this->document->importNode($node, true);
|
591 |
-
} else {
|
592 |
-
// string markup
|
593 |
-
$fake = $this->documentFragmentCreate($source, $sourceCharset);
|
594 |
-
if ($fake === false)
|
595 |
-
throw new Exception("Error loading documentFragment markup");
|
596 |
-
else
|
597 |
-
return $this->import($fake->root->childNodes);
|
598 |
-
}
|
599 |
-
return $return;
|
600 |
-
}
|
601 |
-
/**
|
602 |
-
* Creates new document fragment.
|
603 |
-
*
|
604 |
-
* @param $source
|
605 |
-
* @return DOMDocumentWrapper
|
606 |
-
*/
|
607 |
-
protected function documentFragmentCreate($source, $charset = null) {
|
608 |
-
$fake = new DOMDocumentWrapper();
|
609 |
-
$fake->contentType = $this->contentType;
|
610 |
-
$fake->isXML = $this->isXML;
|
611 |
-
$fake->isHTML = $this->isHTML;
|
612 |
-
$fake->isXHTML = $this->isXHTML;
|
613 |
-
$fake->root = $fake->document;
|
614 |
-
if (! $charset)
|
615 |
-
$charset = $this->charset;
|
616 |
-
// $fake->documentCreate($this->charset);
|
617 |
-
if ($source instanceof DOMNODE && !($source instanceof DOMNODELIST))
|
618 |
-
$source = array($source);
|
619 |
-
if (is_array($source) || $source instanceof DOMNODELIST) {
|
620 |
-
// dom nodes
|
621 |
-
// load fake document
|
622 |
-
if (! $this->documentFragmentLoadMarkup($fake, $charset))
|
623 |
-
return false;
|
624 |
-
$nodes = $fake->import($source);
|
625 |
-
foreach($nodes as $node)
|
626 |
-
$fake->root->appendChild($node);
|
627 |
-
} else {
|
628 |
-
// string markup
|
629 |
-
$this->documentFragmentLoadMarkup($fake, $charset, $source);
|
630 |
-
}
|
631 |
-
return $fake;
|
632 |
-
}
|
633 |
-
/**
|
634 |
-
*
|
635 |
-
* @param $document DOMDocumentWrapper
|
636 |
-
* @param $markup
|
637 |
-
* @return $document
|
638 |
-
*/
|
639 |
-
private function documentFragmentLoadMarkup($fragment, $charset, $markup = null) {
|
640 |
-
// TODO error handling
|
641 |
-
// TODO copy doctype
|
642 |
-
// tempolary turn off
|
643 |
-
$fragment->isDocumentFragment = false;
|
644 |
-
if ($fragment->isXML) {
|
645 |
-
if ($fragment->isXHTML) {
|
646 |
-
// add FAKE element to set default namespace
|
647 |
-
$fragment->loadMarkupXML('<?xml version="1.0" encoding="'.$charset.'"?>'
|
648 |
-
.'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" '
|
649 |
-
.'"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">'
|
650 |
-
.'<fake xmlns="http://www.w3.org/1999/xhtml">'.$markup.'</fake>');
|
651 |
-
$fragment->root = $fragment->document->firstChild->nextSibling;
|
652 |
-
} else {
|
653 |
-
$fragment->loadMarkupXML('<?xml version="1.0" encoding="'.$charset.'"?'.'><fake>'.$markup.'</fake>');
|
654 |
-
$fragment->root = $fragment->document->firstChild;
|
655 |
-
}
|
656 |
-
} else {
|
657 |
-
$markup2 = phpQuery::$defaultDoctype.'<html><head><meta http-equiv="Content-Type" content="text/html;charset='
|
658 |
-
.$charset.'"></head>';
|
659 |
-
$noBody = strpos($markup, '<body') === false;
|
660 |
-
if ($noBody)
|
661 |
-
$markup2 .= '<body>';
|
662 |
-
$markup2 .= $markup;
|
663 |
-
if ($noBody)
|
664 |
-
$markup2 .= '</body>';
|
665 |
-
$markup2 .= '</html>';
|
666 |
-
$fragment->loadMarkupHTML($markup2);
|
667 |
-
// TODO resolv body tag merging issue
|
668 |
-
$fragment->root = $noBody
|
669 |
-
? $fragment->document->firstChild->nextSibling->firstChild->nextSibling
|
670 |
-
: $fragment->document->firstChild->nextSibling->firstChild->nextSibling;
|
671 |
-
}
|
672 |
-
if (! $fragment->root)
|
673 |
-
return false;
|
674 |
-
$fragment->isDocumentFragment = true;
|
675 |
-
return true;
|
676 |
-
}
|
677 |
-
protected function documentFragmentToMarkup($fragment) {
|
678 |
-
phpQuery::debug('documentFragmentToMarkup');
|
679 |
-
$tmp = $fragment->isDocumentFragment;
|
680 |
-
$fragment->isDocumentFragment = false;
|
681 |
-
$markup = $fragment->markup();
|
682 |
-
if ($fragment->isXML) {
|
683 |
-
$markup = substr($markup, 0, strrpos($markup, '</fake>'));
|
684 |
-
if ($fragment->isXHTML) {
|
685 |
-
$markup = substr($markup, strpos($markup, '<fake')+43);
|
686 |
-
} else {
|
687 |
-
$markup = substr($markup, strpos($markup, '<fake>')+6);
|
688 |
-
}
|
689 |
-
} else {
|
690 |
-
$markup = substr($markup, strpos($markup, '<body>')+6);
|
691 |
-
$markup = substr($markup, 0, strrpos($markup, '</body>'));
|
692 |
-
}
|
693 |
-
$fragment->isDocumentFragment = $tmp;
|
694 |
-
if (phpQuery::$debug)
|
695 |
-
phpQuery::debug('documentFragmentToMarkup: '.substr($markup, 0, 150));
|
696 |
-
return $markup;
|
697 |
-
}
|
698 |
-
/**
|
699 |
-
* Return document markup, starting with optional $nodes as root.
|
700 |
-
*
|
701 |
-
* @param $nodes DOMNode|DOMNodeList
|
702 |
-
* @return string
|
703 |
-
*/
|
704 |
-
public function markup($nodes = null, $innerMarkup = false) {
|
705 |
-
if (isset($nodes) && count($nodes) == 1 && $nodes[0] instanceof DOMDOCUMENT)
|
706 |
-
$nodes = null;
|
707 |
-
if (isset($nodes)) {
|
708 |
-
$markup = '';
|
709 |
-
if (!is_array($nodes) && !($nodes instanceof DOMNODELIST) )
|
710 |
-
$nodes = array($nodes);
|
711 |
-
if ($this->isDocumentFragment && ! $innerMarkup)
|
712 |
-
foreach($nodes as $i => $node)
|
713 |
-
if ($node->isSameNode($this->root)) {
|
714 |
-
// var_dump($node);
|
715 |
-
$nodes = array_slice($nodes, 0, $i)
|
716 |
-
+ phpQuery::DOMNodeListToArray($node->childNodes)
|
717 |
-
+ array_slice($nodes, $i+1);
|
718 |
-
}
|
719 |
-
if ($this->isXML && ! $innerMarkup) {
|
720 |
-
self::debug("Getting outerXML with charset '{$this->charset}'");
|
721 |
-
// we need outerXML, so we can benefit from
|
722 |
-
// $node param support in saveXML()
|
723 |
-
foreach($nodes as $node)
|
724 |
-
$markup .= $this->document->saveXML($node);
|
725 |
-
} else {
|
726 |
-
$loop = array();
|
727 |
-
if ($innerMarkup)
|
728 |
-
foreach($nodes as $node) {
|
729 |
-
if ($node->childNodes)
|
730 |
-
foreach($node->childNodes as $child)
|
731 |
-
$loop[] = $child;
|
732 |
-
else
|
733 |
-
$loop[] = $node;
|
734 |
-
}
|
735 |
-
else
|
736 |
-
$loop = $nodes;
|
737 |
-
self::debug("Getting markup, moving selected nodes (".count($loop).") to new DocumentFragment");
|
738 |
-
$fake = $this->documentFragmentCreate($loop);
|
739 |
-
$markup = $this->documentFragmentToMarkup($fake);
|
740 |
-
}
|
741 |
-
if ($this->isXHTML) {
|
742 |
-
self::debug("Fixing XHTML");
|
743 |
-
$markup = self::markupFixXHTML($markup);
|
744 |
-
}
|
745 |
-
self::debug("Markup: ".substr($markup, 0, 250));
|
746 |
-
return $markup;
|
747 |
-
} else {
|
748 |
-
if ($this->isDocumentFragment) {
|
749 |
-
// documentFragment, html only...
|
750 |
-
self::debug("Getting markup, DocumentFragment detected");
|
751 |
-
// return $this->markup(
|
752 |
-
//// $this->document->getElementsByTagName('body')->item(0)
|
753 |
-
// $this->document->root, true
|
754 |
-
// );
|
755 |
-
$markup = $this->documentFragmentToMarkup($this);
|
756 |
-
// no need for markupFixXHTML, as it's done thought markup($nodes) method
|
757 |
-
return $markup;
|
758 |
-
} else {
|
759 |
-
self::debug("Getting markup (".($this->isXML?'XML':'HTML')."), final with charset '{$this->charset}'");
|
760 |
-
$markup = $this->isXML
|
761 |
-
? $this->document->saveXML()
|
762 |
-
: $this->document->saveHTML();
|
763 |
-
if ($this->isXHTML) {
|
764 |
-
self::debug("Fixing XHTML");
|
765 |
-
$markup = self::markupFixXHTML($markup);
|
766 |
-
}
|
767 |
-
self::debug("Markup: ".substr($markup, 0, 250));
|
768 |
-
return $markup;
|
769 |
-
}
|
770 |
-
}
|
771 |
-
}
|
772 |
-
protected static function markupFixXHTML($markup) {
|
773 |
-
$markup = self::expandEmptyTag('script', $markup);
|
774 |
-
$markup = self::expandEmptyTag('select', $markup);
|
775 |
-
$markup = self::expandEmptyTag('textarea', $markup);
|
776 |
-
return $markup;
|
777 |
-
}
|
778 |
-
public static function debug($text) {
|
779 |
-
phpQuery::debug($text);
|
780 |
-
}
|
781 |
-
/**
|
782 |
-
* expandEmptyTag
|
783 |
-
*
|
784 |
-
* @param $tag
|
785 |
-
* @param $xml
|
786 |
-
* @return unknown_type
|
787 |
-
* @author mjaque at ilkebenson dot com
|
788 |
-
* @link http://php.net/manual/en/domdocument.savehtml.php#81256
|
789 |
-
*/
|
790 |
-
public static function expandEmptyTag($tag, $xml){
|
791 |
-
$indice = 0;
|
792 |
-
while ($indice< strlen($xml)){
|
793 |
-
$pos = strpos($xml, "<$tag ", $indice);
|
794 |
-
if ($pos){
|
795 |
-
$posCierre = strpos($xml, ">", $pos);
|
796 |
-
if ($xml[$posCierre-1] == "/"){
|
797 |
-
$xml = substr_replace($xml, "></$tag>", $posCierre-1, 2);
|
798 |
-
}
|
799 |
-
$indice = $posCierre;
|
800 |
-
}
|
801 |
-
else break;
|
802 |
-
}
|
803 |
-
return $xml;
|
804 |
-
}
|
805 |
-
}
|
806 |
-
|
807 |
-
/**
|
808 |
-
* Event handling class.
|
809 |
-
*
|
810 |
-
* @author Tobiasz Cudnik
|
811 |
-
* @package phpQuery
|
812 |
-
* @static
|
813 |
-
*/
|
814 |
-
abstract class phpQueryEvents {
|
815 |
-
/**
|
816 |
-
* Trigger a type of event on every matched element.
|
817 |
-
*
|
818 |
-
* @param DOMNode|phpQueryObject|string $document
|
819 |
-
* @param unknown_type $type
|
820 |
-
* @param unknown_type $data
|
821 |
-
*
|
822 |
-
* @TODO exclusive events (with !)
|
823 |
-
* @TODO global events (test)
|
824 |
-
* @TODO support more than event in $type (space-separated)
|
825 |
-
*/
|
826 |
-
public static function trigger($document, $type, $data = array(), $node = null) {
|
827 |
-
// trigger: function(type, data, elem, donative, extra) {
|
828 |
-
$documentID = phpQuery::getDocumentID($document);
|
829 |
-
$namespace = null;
|
830 |
-
if (strpos($type, '.') !== false)
|
831 |
-
list($name, $namespace) = explode('.', $type);
|
832 |
-
else
|
833 |
-
$name = $type;
|
834 |
-
if (! $node) {
|
835 |
-
if (self::issetGlobal($documentID, $type)) {
|
836 |
-
$pq = phpQuery::getDocument($documentID);
|
837 |
-
// TODO check add($pq->document)
|
838 |
-
$pq->find('*')->add($pq->document)
|
839 |
-
->trigger($type, $data);
|
840 |
-
}
|
841 |
-
} else {
|
842 |
-
if (isset($data[0]) && $data[0] instanceof DOMEvent) {
|
843 |
-
$event = $data[0];
|
844 |
-
$event->relatedTarget = $event->target;
|
845 |
-
$event->target = $node;
|
846 |
-
$data = array_slice($data, 1);
|
847 |
-
} else {
|
848 |
-
$event = new DOMEvent(array(
|
849 |
-
'type' => $type,
|
850 |
-
'target' => $node,
|
851 |
-
'timeStamp' => time(),
|
852 |
-
));
|
853 |
-
}
|
854 |
-
$i = 0;
|
855 |
-
while($node) {
|
856 |
-
// TODO whois
|
857 |
-
phpQuery::debug("Triggering ".($i?"bubbled ":'')."event '{$type}' on "
|
858 |
-
."node \n");//.phpQueryObject::whois($node)."\n");
|
859 |
-
$event->currentTarget = $node;
|
860 |
-
$eventNode = self::getNode($documentID, $node);
|
861 |
-
if (isset($eventNode->eventHandlers)) {
|
862 |
-
foreach($eventNode->eventHandlers as $eventType => $handlers) {
|
863 |
-
$eventNamespace = null;
|
864 |
-
if (strpos($type, '.') !== false)
|
865 |
-
list($eventName, $eventNamespace) = explode('.', $eventType);
|
866 |
-
else
|
867 |
-
$eventName = $eventType;
|
868 |
-
if ($name != $eventName)
|
869 |
-
continue;
|
870 |
-
if ($namespace && $eventNamespace && $namespace != $eventNamespace)
|
871 |
-
continue;
|
872 |
-
foreach($handlers as $handler) {
|
873 |
-
phpQuery::debug("Calling event handler\n");
|
874 |
-
$event->data = $handler['data']
|
875 |
-
? $handler['data']
|
876 |
-
: null;
|
877 |
-
$params = array_merge(array($event), $data);
|
878 |
-
$return = phpQuery::callbackRun($handler['callback'], $params);
|
879 |
-
if ($return === false) {
|
880 |
-
$event->bubbles = false;
|
881 |
-
}
|
882 |
-
}
|
883 |
-
}
|
884 |
-
}
|
885 |
-
// to bubble or not to bubble...
|
886 |
-
if (! $event->bubbles)
|
887 |
-
break;
|
888 |
-
$node = $node->parentNode;
|
889 |
-
$i++;
|
890 |
-
}
|
891 |
-
}
|
892 |
-
}
|
893 |
-
/**
|
894 |
-
* Binds a handler to one or more events (like click) for each matched element.
|
895 |
-
* Can also bind custom events.
|
896 |
-
*
|
897 |
-
* @param DOMNode|phpQueryObject|string $document
|
898 |
-
* @param unknown_type $type
|
899 |
-
* @param unknown_type $data Optional
|
900 |
-
* @param unknown_type $callback
|
901 |
-
*
|
902 |
-
* @TODO support '!' (exclusive) events
|
903 |
-
* @TODO support more than event in $type (space-separated)
|
904 |
-
* @TODO support binding to global events
|
905 |
-
*/
|
906 |
-
public static function add($document, $node, $type, $data, $callback = null) {
|
907 |
-
phpQuery::debug("Binding '$type' event");
|
908 |
-
$documentID = phpQuery::getDocumentID($document);
|
909 |
-
// if (is_null($callback) && is_callable($data)) {
|
910 |
-
// $callback = $data;
|
911 |
-
// $data = null;
|
912 |
-
// }
|
913 |
-
$eventNode = self::getNode($documentID, $node);
|
914 |
-
if (! $eventNode)
|
915 |
-
$eventNode = self::setNode($documentID, $node);
|
916 |
-
if (!isset($eventNode->eventHandlers[$type]))
|
917 |
-
$eventNode->eventHandlers[$type] = array();
|
918 |
-
$eventNode->eventHandlers[$type][] = array(
|
919 |
-
'callback' => $callback,
|
920 |
-
'data' => $data,
|
921 |
-
);
|
922 |
-
}
|
923 |
-
/**
|
924 |
-
* Enter description here...
|
925 |
-
*
|
926 |
-
* @param DOMNode|phpQueryObject|string $document
|
927 |
-
* @param unknown_type $type
|
928 |
-
* @param unknown_type $callback
|
929 |
-
*
|
930 |
-
* @TODO namespace events
|
931 |
-
* @TODO support more than event in $type (space-separated)
|
932 |
-
*/
|
933 |
-
public static function remove($document, $node, $type = null, $callback = null) {
|
934 |
-
$documentID = phpQuery::getDocumentID($document);
|
935 |
-
$eventNode = self::getNode($documentID, $node);
|
936 |
-
if (is_object($eventNode) && isset($eventNode->eventHandlers[$type])) {
|
937 |
-
if ($callback) {
|
938 |
-
foreach($eventNode->eventHandlers[$type] as $k => $handler)
|
939 |
-
if ($handler['callback'] == $callback)
|
940 |
-
unset($eventNode->eventHandlers[$type][$k]);
|
941 |
-
} else {
|
942 |
-
unset($eventNode->eventHandlers[$type]);
|
943 |
-
}
|
944 |
-
}
|
945 |
-
}
|
946 |
-
protected static function getNode($documentID, $node) {
|
947 |
-
foreach(phpQuery::$documents[$documentID]->eventsNodes as $eventNode) {
|
948 |
-
if ($node->isSameNode($eventNode))
|
949 |
-
return $eventNode;
|
950 |
-
}
|
951 |
-
}
|
952 |
-
protected static function setNode($documentID, $node) {
|
953 |
-
phpQuery::$documents[$documentID]->eventsNodes[] = $node;
|
954 |
-
return phpQuery::$documents[$documentID]->eventsNodes[
|
955 |
-
count(phpQuery::$documents[$documentID]->eventsNodes)-1
|
956 |
-
];
|
957 |
-
}
|
958 |
-
protected static function issetGlobal($documentID, $type) {
|
959 |
-
return isset(phpQuery::$documents[$documentID])
|
960 |
-
? in_array($type, phpQuery::$documents[$documentID]->eventsGlobal)
|
961 |
-
: false;
|
962 |
-
}
|
963 |
-
}
|
964 |
-
|
965 |
-
|
966 |
-
interface ICallbackNamed {
|
967 |
-
function hasName();
|
968 |
-
function getName();
|
969 |
-
}
|
970 |
-
/**
|
971 |
-
* Callback class introduces currying-like pattern.
|
972 |
-
*
|
973 |
-
* Example:
|
974 |
-
* function foo($param1, $param2, $param3) {
|
975 |
-
* var_dump($param1, $param2, $param3);
|
976 |
-
* }
|
977 |
-
* $fooCurried = new Callback('foo',
|
978 |
-
* 'param1 is now statically set',
|
979 |
-
* new CallbackParam, new CallbackParam
|
980 |
-
* );
|
981 |
-
* phpQuery::callbackRun($fooCurried,
|
982 |
-
* array('param2 value', 'param3 value'
|
983 |
-
* );
|
984 |
-
*
|
985 |
-
* Callback class is supported in all phpQuery methods which accepts callbacks.
|
986 |
-
*
|
987 |
-
* @link http://code.google.com/p/phpquery/wiki/Callbacks#Param_Structures
|
988 |
-
* @author Tobiasz Cudnik <tobiasz.cudnik/gmail.com>
|
989 |
-
*
|
990 |
-
* @TODO??? return fake forwarding function created via create_function
|
991 |
-
* @TODO honor paramStructure
|
992 |
-
*/
|
993 |
-
class Callback
|
994 |
-
implements ICallbackNamed {
|
995 |
-
public $callback = null;
|
996 |
-
public $params = null;
|
997 |
-
protected $name;
|
998 |
-
public function __construct($callback, $param1 = null, $param2 = null,
|
999 |
-
$param3 = null) {
|
1000 |
-
$params = func_get_args();
|
1001 |
-
$params = array_slice($params, 1);
|
1002 |
-
if ($callback instanceof Callback) {
|
1003 |
-
// TODO implement recurention
|
1004 |
-
} else {
|
1005 |
-
$this->callback = $callback;
|
1006 |
-
$this->params = $params;
|
1007 |
-
}
|
1008 |
-
}
|
1009 |
-
public function getName() {
|
1010 |
-
return 'Callback: '.$this->name;
|
1011 |
-
}
|
1012 |
-
public function hasName() {
|
1013 |
-
return isset($this->name) && $this->name;
|
1014 |
-
}
|
1015 |
-
public function setName($name) {
|
1016 |
-
$this->name = $name;
|
1017 |
-
return $this;
|
1018 |
-
}
|
1019 |
-
// TODO test me
|
1020 |
-
// public function addParams() {
|
1021 |
-
// $params = func_get_args();
|
1022 |
-
// return new Callback($this->callback, $this->params+$params);
|
1023 |
-
// }
|
1024 |
-
}
|
1025 |
-
/**
|
1026 |
-
* Shorthand for new Callback(create_function(...), ...);
|
1027 |
-
*
|
1028 |
-
* @author Tobiasz Cudnik <tobiasz.cudnik/gmail.com>
|
1029 |
-
*/
|
1030 |
-
class CallbackBody extends Callback {
|
1031 |
-
public function __construct($paramList, $code, $param1 = null, $param2 = null,
|
1032 |
-
$param3 = null) {
|
1033 |
-
$params = func_get_args();
|
1034 |
-
$params = array_slice($params, 2);
|
1035 |
-
$this->callback = create_function($paramList, $code);
|
1036 |
-
$this->params = $params;
|
1037 |
-
}
|
1038 |
-
}
|
1039 |
-
/**
|
1040 |
-
* Callback type which on execution returns reference passed during creation.
|
1041 |
-
*
|
1042 |
-
* @author Tobiasz Cudnik <tobiasz.cudnik/gmail.com>
|
1043 |
-
*/
|
1044 |
-
class CallbackReturnReference extends Callback
|
1045 |
-
implements ICallbackNamed {
|
1046 |
-
protected $reference;
|
1047 |
-
public function __construct(&$reference, $name = null){
|
1048 |
-
$this->reference =& $reference;
|
1049 |
-
$this->callback = array($this, 'callback');
|
1050 |
-
}
|
1051 |
-
public function callback() {
|
1052 |
-
return $this->reference;
|
1053 |
-
}
|
1054 |
-
public function getName() {
|
1055 |
-
return 'Callback: '.$this->name;
|
1056 |
-
}
|
1057 |
-
public function hasName() {
|
1058 |
-
return isset($this->name) && $this->name;
|
1059 |
-
}
|
1060 |
-
}
|
1061 |
-
/**
|
1062 |
-
* Callback type which on execution returns value passed during creation.
|
1063 |
-
*
|
1064 |
-
* @author Tobiasz Cudnik <tobiasz.cudnik/gmail.com>
|
1065 |
-
*/
|
1066 |
-
class CallbackReturnValue extends Callback
|
1067 |
-
implements ICallbackNamed {
|
1068 |
-
protected $value;
|
1069 |
-
protected $name;
|
1070 |
-
public function __construct($value, $name = null){
|
1071 |
-
$this->value =& $value;
|
1072 |
-
$this->name = $name;
|
1073 |
-
$this->callback = array($this, 'callback');
|
1074 |
-
}
|
1075 |
-
public function callback() {
|
1076 |
-
return $this->value;
|
1077 |
-
}
|
1078 |
-
public function __toString() {
|
1079 |
-
return $this->getName();
|
1080 |
-
}
|
1081 |
-
public function getName() {
|
1082 |
-
return 'Callback: '.$this->name;
|
1083 |
-
}
|
1084 |
-
public function hasName() {
|
1085 |
-
return isset($this->name) && $this->name;
|
1086 |
-
}
|
1087 |
-
}
|
1088 |
-
/**
|
1089 |
-
* CallbackParameterToReference can be used when we don't really want a callback,
|
1090 |
-
* only parameter passed to it. CallbackParameterToReference takes first
|
1091 |
-
* parameter's value and passes it to reference.
|
1092 |
-
*
|
1093 |
-
* @author Tobiasz Cudnik <tobiasz.cudnik/gmail.com>
|
1094 |
-
*/
|
1095 |
-
class CallbackParameterToReference extends Callback {
|
1096 |
-
/**
|
1097 |
-
* @param $reference
|
1098 |
-
* @TODO implement $paramIndex;
|
1099 |
-
* param index choose which callback param will be passed to reference
|
1100 |
-
*/
|
1101 |
-
public function __construct(&$reference){
|
1102 |
-
$this->callback =& $reference;
|
1103 |
-
}
|
1104 |
-
}
|
1105 |
-
//class CallbackReference extends Callback {
|
1106 |
-
// /**
|
1107 |
-
// *
|
1108 |
-
// * @param $reference
|
1109 |
-
// * @param $paramIndex
|
1110 |
-
// * @todo implement $paramIndex; param index choose which callback param will be passed to reference
|
1111 |
-
// */
|
1112 |
-
// public function __construct(&$reference, $name = null){
|
1113 |
-
// $this->callback =& $reference;
|
1114 |
-
// }
|
1115 |
-
//}
|
1116 |
-
class CallbackParam {}
|
1117 |
-
|
1118 |
-
/**
|
1119 |
-
* Class representing phpQuery objects.
|
1120 |
-
*
|
1121 |
-
* @author Tobiasz Cudnik <tobiasz.cudnik/gmail.com>
|
1122 |
-
* @package phpQuery
|
1123 |
-
* @method phpQueryObject clone() clone()
|
1124 |
-
* @method phpQueryObject empty() empty()
|
1125 |
-
* @method phpQueryObject next() next($selector = null)
|
1126 |
-
* @method phpQueryObject prev() prev($selector = null)
|
1127 |
-
* @property Int $length
|
1128 |
-
*/
|
1129 |
-
class phpQueryObject
|
1130 |
-
implements Iterator, Countable, ArrayAccess {
|
1131 |
-
public $documentID = null;
|
1132 |
-
/**
|
1133 |
-
* DOMDocument class.
|
1134 |
-
*
|
1135 |
-
* @var DOMDocument
|
1136 |
-
*/
|
1137 |
-
public $document = null;
|
1138 |
-
public $charset = null;
|
1139 |
-
/**
|
1140 |
-
*
|
1141 |
-
* @var DOMDocumentWrapper
|
1142 |
-
*/
|
1143 |
-
public $documentWrapper = null;
|
1144 |
-
/**
|
1145 |
-
* XPath interface.
|
1146 |
-
*
|
1147 |
-
* @var DOMXPath
|
1148 |
-
*/
|
1149 |
-
public $xpath = null;
|
1150 |
-
/**
|
1151 |
-
* Stack of selected elements.
|
1152 |
-
* @TODO refactor to ->nodes
|
1153 |
-
* @var array
|
1154 |
-
*/
|
1155 |
-
public $elements = array();
|
1156 |
-
/**
|
1157 |
-
* @access private
|
1158 |
-
*/
|
1159 |
-
protected $elementsBackup = array();
|
1160 |
-
/**
|
1161 |
-
* @access private
|
1162 |
-
*/
|
1163 |
-
protected $previous = null;
|
1164 |
-
/**
|
1165 |
-
* @access private
|
1166 |
-
* @TODO deprecate
|
1167 |
-
*/
|
1168 |
-
protected $root = array();
|
1169 |
-
/**
|
1170 |
-
* Indicated if doument is just a fragment (no <html> tag).
|
1171 |
-
*
|
1172 |
-
* Every document is realy a full document, so even documentFragments can
|
1173 |
-
* be queried against <html>, but getDocument(id)->htmlOuter() will return
|
1174 |
-
* only contents of <body>.
|
1175 |
-
*
|
1176 |
-
* @var bool
|
1177 |
-
*/
|
1178 |
-
public $documentFragment = true;
|
1179 |
-
/**
|
1180 |
-
* Iterator interface helper
|
1181 |
-
* @access private
|
1182 |
-
*/
|
1183 |
-
protected $elementsInterator = array();
|
1184 |
-
/**
|
1185 |
-
* Iterator interface helper
|
1186 |
-
* @access private
|
1187 |
-
*/
|
1188 |
-
protected $valid = false;
|
1189 |
-
/**
|
1190 |
-
* Iterator interface helper
|
1191 |
-
* @access private
|
1192 |
-
*/
|
1193 |
-
protected $current = null;
|
1194 |
-
/**
|
1195 |
-
* Enter description here...
|
1196 |
-
*
|
1197 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
1198 |
-
*/
|
1199 |
-
public function __construct($documentID) {
|
1200 |
-
// if ($documentID instanceof self)
|
1201 |
-
// var_dump($documentID->getDocumentID());
|
1202 |
-
$id = $documentID instanceof self
|
1203 |
-
? $documentID->getDocumentID()
|
1204 |
-
: $documentID;
|
1205 |
-
// var_dump($id);
|
1206 |
-
if (! isset(phpQuery::$documents[$id] )) {
|
1207 |
-
// var_dump(phpQuery::$documents);
|
1208 |
-
throw new Exception("Document with ID '{$id}' isn't loaded. Use phpQuery::newDocument(\$html) or phpQuery::newDocumentFile(\$file) first.");
|
1209 |
-
}
|
1210 |
-
$this->documentID = $id;
|
1211 |
-
$this->documentWrapper =& phpQuery::$documents[$id];
|
1212 |
-
$this->document =& $this->documentWrapper->document;
|
1213 |
-
$this->xpath =& $this->documentWrapper->xpath;
|
1214 |
-
$this->charset =& $this->documentWrapper->charset;
|
1215 |
-
$this->documentFragment =& $this->documentWrapper->isDocumentFragment;
|
1216 |
-
// TODO check $this->DOM->documentElement;
|
1217 |
-
// $this->root = $this->document->documentElement;
|
1218 |
-
$this->root =& $this->documentWrapper->root;
|
1219 |
-
// $this->toRoot();
|
1220 |
-
$this->elements = array($this->root);
|
1221 |
-
}
|
1222 |
-
/**
|
1223 |
-
*
|
1224 |
-
* @access private
|
1225 |
-
* @param $attr
|
1226 |
-
* @return unknown_type
|
1227 |
-
*/
|
1228 |
-
public function __get($attr) {
|
1229 |
-
switch($attr) {
|
1230 |
-
// FIXME doesnt work at all ?
|
1231 |
-
case 'length':
|
1232 |
-
return $this->size();
|
1233 |
-
break;
|
1234 |
-
default:
|
1235 |
-
return $this->$attr;
|
1236 |
-
}
|
1237 |
-
}
|
1238 |
-
/**
|
1239 |
-
* Saves actual object to $var by reference.
|
1240 |
-
* Useful when need to break chain.
|
1241 |
-
* @param phpQueryObject $var
|
1242 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
1243 |
-
*/
|
1244 |
-
public function toReference(&$var) {
|
1245 |
-
return $var = $this;
|
1246 |
-
}
|
1247 |
-
public function documentFragment($state = null) {
|
1248 |
-
if ($state) {
|
1249 |
-
phpQuery::$documents[$this->getDocumentID()]['documentFragment'] = $state;
|
1250 |
-
return $this;
|
1251 |
-
}
|
1252 |
-
return $this->documentFragment;
|
1253 |
-
}
|
1254 |
-
/**
|
1255 |
-
* @access private
|
1256 |
-
* @TODO documentWrapper
|
1257 |
-
*/
|
1258 |
-
protected function isRoot( $node) {
|
1259 |
-
// return $node instanceof DOMDOCUMENT || $node->tagName == 'html';
|
1260 |
-
return $node instanceof DOMDOCUMENT
|
1261 |
-
|| ($node instanceof DOMELEMENT && $node->tagName == 'html')
|
1262 |
-
|| $this->root->isSameNode($node);
|
1263 |
-
}
|
1264 |
-
/**
|
1265 |
-
* @access private
|
1266 |
-
*/
|
1267 |
-
protected function stackIsRoot() {
|
1268 |
-
return $this->size() == 1 && $this->isRoot($this->elements[0]);
|
1269 |
-
}
|
1270 |
-
/**
|
1271 |
-
* Enter description here...
|
1272 |
-
* NON JQUERY METHOD
|
1273 |
-
*
|
1274 |
-
* Watch out, it doesn't creates new instance, can be reverted with end().
|
1275 |
-
*
|
1276 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
1277 |
-
*/
|
1278 |
-
public function toRoot() {
|
1279 |
-
$this->elements = array($this->root);
|
1280 |
-
return $this;
|
1281 |
-
// return $this->newInstance(array($this->root));
|
1282 |
-
}
|
1283 |
-
/**
|
1284 |
-
* Saves object's DocumentID to $var by reference.
|
1285 |
-
* <code>
|
1286 |
-
* $myDocumentId;
|
1287 |
-
* phpQuery::newDocument('<div/>')
|
1288 |
-
* ->getDocumentIDRef($myDocumentId)
|
1289 |
-
* ->find('div')->...
|
1290 |
-
* </code>
|
1291 |
-
*
|
1292 |
-
* @param unknown_type $domId
|
1293 |
-
* @see phpQuery::newDocument
|
1294 |
-
* @see phpQuery::newDocumentFile
|
1295 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
1296 |
-
*/
|
1297 |
-
public function getDocumentIDRef(&$documentID) {
|
1298 |
-
$documentID = $this->getDocumentID();
|
1299 |
-
return $this;
|
1300 |
-
}
|
1301 |
-
/**
|
1302 |
-
* Returns object with stack set to document root.
|
1303 |
-
*
|
1304 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
1305 |
-
*/
|
1306 |
-
public function getDocument() {
|
1307 |
-
return phpQuery::getDocument($this->getDocumentID());
|
1308 |
-
}
|
1309 |
-
/**
|
1310 |
-
*
|
1311 |
-
* @return DOMDocument
|
1312 |
-
*/
|
1313 |
-
public function getDOMDocument() {
|
1314 |
-
return $this->document;
|
1315 |
-
}
|
1316 |
-
/**
|
1317 |
-
* Get object's Document ID.
|
1318 |
-
*
|
1319 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
1320 |
-
*/
|
1321 |
-
public function getDocumentID() {
|
1322 |
-
return $this->documentID;
|
1323 |
-
}
|
1324 |
-
/**
|
1325 |
-
* Unloads whole document from memory.
|
1326 |
-
* CAUTION! None further operations will be possible on this document.
|
1327 |
-
* All objects refering to it will be useless.
|
1328 |
-
*
|
1329 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
1330 |
-
*/
|
1331 |
-
public function unloadDocument() {
|
1332 |
-
phpQuery::unloadDocuments($this->getDocumentID());
|
1333 |
-
}
|
1334 |
-
public function isHTML() {
|
1335 |
-
return $this->documentWrapper->isHTML;
|
1336 |
-
}
|
1337 |
-
public function isXHTML() {
|
1338 |
-
return $this->documentWrapper->isXHTML;
|
1339 |
-
}
|
1340 |
-
public function isXML() {
|
1341 |
-
return $this->documentWrapper->isXML;
|
1342 |
-
}
|
1343 |
-
/**
|
1344 |
-
* Enter description here...
|
1345 |
-
*
|
1346 |
-
* @link http://docs.jquery.com/Ajax/serialize
|
1347 |
-
* @return string
|
1348 |
-
*/
|
1349 |
-
public function serialize() {
|
1350 |
-
return phpQuery::param($this->serializeArray());
|
1351 |
-
}
|
1352 |
-
/**
|
1353 |
-
* Enter description here...
|
1354 |
-
*
|
1355 |
-
* @link http://docs.jquery.com/Ajax/serializeArray
|
1356 |
-
* @return array
|
1357 |
-
*/
|
1358 |
-
public function serializeArray($submit = null) {
|
1359 |
-
$source = $this->filter('form, input, select, textarea')
|
1360 |
-
->find('input, select, textarea')
|
1361 |
-
->andSelf()
|
1362 |
-
->not('form');
|
1363 |
-
$return = array();
|
1364 |
-
// $source->dumpDie();
|
1365 |
-
foreach($source as $input) {
|
1366 |
-
$input = phpQuery::pq($input);
|
1367 |
-
if ($input->is('[disabled]'))
|
1368 |
-
continue;
|
1369 |
-
if (!$input->is('[name]'))
|
1370 |
-
continue;
|
1371 |
-
if ($input->is('[type=checkbox]') && !$input->is('[checked]'))
|
1372 |
-
continue;
|
1373 |
-
// jquery diff
|
1374 |
-
if ($submit && $input->is('[type=submit]')) {
|
1375 |
-
if ($submit instanceof DOMELEMENT && ! $input->elements[0]->isSameNode($submit))
|
1376 |
-
continue;
|
1377 |
-
else if (is_string($submit) && $input->attr('name') != $submit)
|
1378 |
-
continue;
|
1379 |
-
}
|
1380 |
-
$return[] = array(
|
1381 |
-
'name' => $input->attr('name'),
|
1382 |
-
'value' => $input->val(),
|
1383 |
-
);
|
1384 |
-
}
|
1385 |
-
return $return;
|
1386 |
-
}
|
1387 |
-
/**
|
1388 |
-
* @access private
|
1389 |
-
*/
|
1390 |
-
protected function debug($in) {
|
1391 |
-
if (! phpQuery::$debug )
|
1392 |
-
return;
|
1393 |
-
print('<pre>');
|
1394 |
-
print_r($in);
|
1395 |
-
// file debug
|
1396 |
-
// file_put_contents(dirname(__FILE__).'/phpQuery.log', print_r($in, true)."\n", FILE_APPEND);
|
1397 |
-
// quite handy debug trace
|
1398 |
-
// if ( is_array($in))
|
1399 |
-
// print_r(array_slice(debug_backtrace(), 3));
|
1400 |
-
print("</pre>\n");
|
1401 |
-
}
|
1402 |
-
/**
|
1403 |
-
* @access private
|
1404 |
-
*/
|
1405 |
-
protected function isRegexp($pattern) {
|
1406 |
-
return in_array(
|
1407 |
-
$pattern[ mb_strlen($pattern)-1 ],
|
1408 |
-
array('^','*','$')
|
1409 |
-
);
|
1410 |
-
}
|
1411 |
-
/**
|
1412 |
-
* Determines if $char is really a char.
|
1413 |
-
*
|
1414 |
-
* @param string $char
|
1415 |
-
* @return bool
|
1416 |
-
* @todo rewrite me to charcode range ! ;)
|
1417 |
-
* @access private
|
1418 |
-
*/
|
1419 |
-
protected function isChar($char) {
|
1420 |
-
return extension_loaded('mbstring') && phpQuery::$mbstringSupport
|
1421 |
-
? mb_eregi('\w', $char)
|
1422 |
-
: preg_match('@\w@', $char);
|
1423 |
-
}
|
1424 |
-
/**
|
1425 |
-
* @access private
|
1426 |
-
*/
|
1427 |
-
protected function parseSelector($query) {
|
1428 |
-
// clean spaces
|
1429 |
-
// TODO include this inside parsing ?
|
1430 |
-
$query = trim(
|
1431 |
-
preg_replace('@\s+@', ' ',
|
1432 |
-
preg_replace('@\s*(>|\\+|~)\s*@', '\\1', $query)
|
1433 |
-
)
|
1434 |
-
);
|
1435 |
-
$queries = array(array());
|
1436 |
-
if (! $query)
|
1437 |
-
return $queries;
|
1438 |
-
$return =& $queries[0];
|
1439 |
-
$specialChars = array('>',' ');
|
1440 |
-
// $specialCharsMapping = array('/' => '>');
|
1441 |
-
$specialCharsMapping = array();
|
1442 |
-
$strlen = mb_strlen($query);
|
1443 |
-
$classChars = array('.', '-');
|
1444 |
-
$pseudoChars = array('-');
|
1445 |
-
$tagChars = array('*', '|', '-');
|
1446 |
-
// split multibyte string
|
1447 |
-
// http://code.google.com/p/phpquery/issues/detail?id=76
|
1448 |
-
$_query = array();
|
1449 |
-
for ($i=0; $i<$strlen; $i++)
|
1450 |
-
$_query[] = mb_substr($query, $i, 1);
|
1451 |
-
$query = $_query;
|
1452 |
-
// it works, but i dont like it...
|
1453 |
-
$i = 0;
|
1454 |
-
while( $i < $strlen) {
|
1455 |
-
$c = $query[$i];
|
1456 |
-
$tmp = '';
|
1457 |
-
// TAG
|
1458 |
-
if ($this->isChar($c) || in_array($c, $tagChars)) {
|
1459 |
-
while(isset($query[$i])
|
1460 |
-
&& ($this->isChar($query[$i]) || in_array($query[$i], $tagChars))) {
|
1461 |
-
$tmp .= $query[$i];
|
1462 |
-
$i++;
|
1463 |
-
}
|
1464 |
-
$return[] = $tmp;
|
1465 |
-
// IDs
|
1466 |
-
} else if ( $c == '#') {
|
1467 |
-
$i++;
|
1468 |
-
while( isset($query[$i]) && ($this->isChar($query[$i]) || $query[$i] == '-')) {
|
1469 |
-
$tmp .= $query[$i];
|
1470 |
-
$i++;
|
1471 |
-
}
|
1472 |
-
$return[] = '#'.$tmp;
|
1473 |
-
// SPECIAL CHARS
|
1474 |
-
} else if (in_array($c, $specialChars)) {
|
1475 |
-
$return[] = $c;
|
1476 |
-
$i++;
|
1477 |
-
// MAPPED SPECIAL MULTICHARS
|
1478 |
-
// } else if ( $c.$query[$i+1] == '//') {
|
1479 |
-
// $return[] = ' ';
|
1480 |
-
// $i = $i+2;
|
1481 |
-
// MAPPED SPECIAL CHARS
|
1482 |
-
} else if ( isset($specialCharsMapping[$c])) {
|
1483 |
-
$return[] = $specialCharsMapping[$c];
|
1484 |
-
$i++;
|
1485 |
-
// COMMA
|
1486 |
-
} else if ( $c == ',') {
|
1487 |
-
$queries[] = array();
|
1488 |
-
$return =& $queries[ count($queries)-1 ];
|
1489 |
-
$i++;
|
1490 |
-
while( isset($query[$i]) && $query[$i] == ' ')
|
1491 |
-
$i++;
|
1492 |
-
// CLASSES
|
1493 |
-
} else if ($c == '.') {
|
1494 |
-
while( isset($query[$i]) && ($this->isChar($query[$i]) || in_array($query[$i], $classChars))) {
|
1495 |
-
$tmp .= $query[$i];
|
1496 |
-
$i++;
|
1497 |
-
}
|
1498 |
-
$return[] = $tmp;
|
1499 |
-
// ~ General Sibling Selector
|
1500 |
-
} else if ($c == '~') {
|
1501 |
-
$spaceAllowed = true;
|
1502 |
-
$tmp .= $query[$i++];
|
1503 |
-
while( isset($query[$i])
|
1504 |
-
&& ($this->isChar($query[$i])
|
1505 |
-
|| in_array($query[$i], $classChars)
|
1506 |
-
|| $query[$i] == '*'
|
1507 |
-
|| ($query[$i] == ' ' && $spaceAllowed)
|
1508 |
-
)) {
|
1509 |
-
if ($query[$i] != ' ')
|
1510 |
-
$spaceAllowed = false;
|
1511 |
-
$tmp .= $query[$i];
|
1512 |
-
$i++;
|
1513 |
-
}
|
1514 |
-
$return[] = $tmp;
|
1515 |
-
// + Adjacent sibling selectors
|
1516 |
-
} else if ($c == '+') {
|
1517 |
-
$spaceAllowed = true;
|
1518 |
-
$tmp .= $query[$i++];
|
1519 |
-
while( isset($query[$i])
|
1520 |
-
&& ($this->isChar($query[$i])
|
1521 |
-
|| in_array($query[$i], $classChars)
|
1522 |
-
|| $query[$i] == '*'
|
1523 |
-
|| ($spaceAllowed && $query[$i] == ' ')
|
1524 |
-
)) {
|
1525 |
-
if ($query[$i] != ' ')
|
1526 |
-
$spaceAllowed = false;
|
1527 |
-
$tmp .= $query[$i];
|
1528 |
-
$i++;
|
1529 |
-
}
|
1530 |
-
$return[] = $tmp;
|
1531 |
-
// ATTRS
|
1532 |
-
} else if ($c == '[') {
|
1533 |
-
$stack = 1;
|
1534 |
-
$tmp .= $c;
|
1535 |
-
while( isset($query[++$i])) {
|
1536 |
-
$tmp .= $query[$i];
|
1537 |
-
if ( $query[$i] == '[') {
|
1538 |
-
$stack++;
|
1539 |
-
} else if ( $query[$i] == ']') {
|
1540 |
-
$stack--;
|
1541 |
-
if (! $stack )
|
1542 |
-
break;
|
1543 |
-
}
|
1544 |
-
}
|
1545 |
-
$return[] = $tmp;
|
1546 |
-
$i++;
|
1547 |
-
// PSEUDO CLASSES
|
1548 |
-
} else if ($c == ':') {
|
1549 |
-
$stack = 1;
|
1550 |
-
$tmp .= $query[$i++];
|
1551 |
-
while( isset($query[$i]) && ($this->isChar($query[$i]) || in_array($query[$i], $pseudoChars))) {
|
1552 |
-
$tmp .= $query[$i];
|
1553 |
-
$i++;
|
1554 |
-
}
|
1555 |
-
// with arguments ?
|
1556 |
-
if ( isset($query[$i]) && $query[$i] == '(') {
|
1557 |
-
$tmp .= $query[$i];
|
1558 |
-
$stack = 1;
|
1559 |
-
while( isset($query[++$i])) {
|
1560 |
-
$tmp .= $query[$i];
|
1561 |
-
if ( $query[$i] == '(') {
|
1562 |
-
$stack++;
|
1563 |
-
} else if ( $query[$i] == ')') {
|
1564 |
-
$stack--;
|
1565 |
-
if (! $stack )
|
1566 |
-
break;
|
1567 |
-
}
|
1568 |
-
}
|
1569 |
-
$return[] = $tmp;
|
1570 |
-
$i++;
|
1571 |
-
} else {
|
1572 |
-
$return[] = $tmp;
|
1573 |
-
}
|
1574 |
-
} else {
|
1575 |
-
$i++;
|
1576 |
-
}
|
1577 |
-
}
|
1578 |
-
foreach($queries as $k => $q) {
|
1579 |
-
if (isset($q[0])) {
|
1580 |
-
if (isset($q[0][0]) && $q[0][0] == ':')
|
1581 |
-
array_unshift($queries[$k], '*');
|
1582 |
-
if ($q[0] != '>')
|
1583 |
-
array_unshift($queries[$k], ' ');
|
1584 |
-
}
|
1585 |
-
}
|
1586 |
-
return $queries;
|
1587 |
-
}
|
1588 |
-
/**
|
1589 |
-
* Return matched DOM nodes.
|
1590 |
-
*
|
1591 |
-
* @param int $index
|
1592 |
-
* @return array|DOMElement Single DOMElement or array of DOMElement.
|
1593 |
-
*/
|
1594 |
-
public function get($index = null, $callback1 = null, $callback2 = null, $callback3 = null) {
|
1595 |
-
$return = isset($index)
|
1596 |
-
? (isset($this->elements[$index]) ? $this->elements[$index] : null)
|
1597 |
-
: $this->elements;
|
1598 |
-
// pass thou callbacks
|
1599 |
-
$args = func_get_args();
|
1600 |
-
$args = array_slice($args, 1);
|
1601 |
-
foreach($args as $callback) {
|
1602 |
-
if (is_array($return))
|
1603 |
-
foreach($return as $k => $v)
|
1604 |
-
$return[$k] = phpQuery::callbackRun($callback, array($v));
|
1605 |
-
else
|
1606 |
-
$return = phpQuery::callbackRun($callback, array($return));
|
1607 |
-
}
|
1608 |
-
return $return;
|
1609 |
-
}
|
1610 |
-
/**
|
1611 |
-
* Return matched DOM nodes.
|
1612 |
-
* jQuery difference.
|
1613 |
-
*
|
1614 |
-
* @param int $index
|
1615 |
-
* @return array|string Returns string if $index != null
|
1616 |
-
* @todo implement callbacks
|
1617 |
-
* @todo return only arrays ?
|
1618 |
-
* @todo maybe other name...
|
1619 |
-
*/
|
1620 |
-
public function getString($index = null, $callback1 = null, $callback2 = null, $callback3 = null) {
|
1621 |
-
if ($index)
|
1622 |
-
$return = $this->eq($index)->text();
|
1623 |
-
else {
|
1624 |
-
$return = array();
|
1625 |
-
for($i = 0; $i < $this->size(); $i++) {
|
1626 |
-
$return[] = $this->eq($i)->text();
|
1627 |
-
}
|
1628 |
-
}
|
1629 |
-
// pass thou callbacks
|
1630 |
-
$args = func_get_args();
|
1631 |
-
$args = array_slice($args, 1);
|
1632 |
-
foreach($args as $callback) {
|
1633 |
-
$return = phpQuery::callbackRun($callback, array($return));
|
1634 |
-
}
|
1635 |
-
return $return;
|
1636 |
-
}
|
1637 |
-
/**
|
1638 |
-
* Return matched DOM nodes.
|
1639 |
-
* jQuery difference.
|
1640 |
-
*
|
1641 |
-
* @param int $index
|
1642 |
-
* @return array|string Returns string if $index != null
|
1643 |
-
* @todo implement callbacks
|
1644 |
-
* @todo return only arrays ?
|
1645 |
-
* @todo maybe other name...
|
1646 |
-
*/
|
1647 |
-
public function getStrings($index = null, $callback1 = null, $callback2 = null, $callback3 = null) {
|
1648 |
-
if ($index)
|
1649 |
-
$return = $this->eq($index)->text();
|
1650 |
-
else {
|
1651 |
-
$return = array();
|
1652 |
-
for($i = 0; $i < $this->size(); $i++) {
|
1653 |
-
$return[] = $this->eq($i)->text();
|
1654 |
-
}
|
1655 |
-
// pass thou callbacks
|
1656 |
-
$args = func_get_args();
|
1657 |
-
$args = array_slice($args, 1);
|
1658 |
-
}
|
1659 |
-
foreach($args as $callback) {
|
1660 |
-
if (is_array($return))
|
1661 |
-
foreach($return as $k => $v)
|
1662 |
-
$return[$k] = phpQuery::callbackRun($callback, array($v));
|
1663 |
-
else
|
1664 |
-
$return = phpQuery::callbackRun($callback, array($return));
|
1665 |
-
}
|
1666 |
-
return $return;
|
1667 |
-
}
|
1668 |
-
/**
|
1669 |
-
* Returns new instance of actual class.
|
1670 |
-
*
|
1671 |
-
* @param array $newStack Optional. Will replace old stack with new and move old one to history.c
|
1672 |
-
*/
|
1673 |
-
public function newInstance($newStack = null) {
|
1674 |
-
$class = get_class($this);
|
1675 |
-
// support inheritance by passing old object to overloaded constructor
|
1676 |
-
$new = $class != 'phpQuery'
|
1677 |
-
? new $class($this, $this->getDocumentID())
|
1678 |
-
: new phpQueryObject($this->getDocumentID());
|
1679 |
-
$new->previous = $this;
|
1680 |
-
if (is_null($newStack)) {
|
1681 |
-
$new->elements = $this->elements;
|
1682 |
-
if ($this->elementsBackup)
|
1683 |
-
$this->elements = $this->elementsBackup;
|
1684 |
-
} else if (is_string($newStack)) {
|
1685 |
-
$new->elements = phpQuery::pq($newStack, $this->getDocumentID())->stack();
|
1686 |
-
} else {
|
1687 |
-
$new->elements = $newStack;
|
1688 |
-
}
|
1689 |
-
return $new;
|
1690 |
-
}
|
1691 |
-
/**
|
1692 |
-
* Enter description here...
|
1693 |
-
*
|
1694 |
-
* In the future, when PHP will support XLS 2.0, then we would do that this way:
|
1695 |
-
* contains(tokenize(@class, '\s'), "something")
|
1696 |
-
* @param unknown_type $class
|
1697 |
-
* @param unknown_type $node
|
1698 |
-
* @return boolean
|
1699 |
-
* @access private
|
1700 |
-
*/
|
1701 |
-
protected function matchClasses($class, $node) {
|
1702 |
-
// multi-class
|
1703 |
-
if ( mb_strpos($class, '.', 1)) {
|
1704 |
-
$classes = explode('.', substr($class, 1));
|
1705 |
-
$classesCount = count( $classes );
|
1706 |
-
$nodeClasses = explode(' ', $node->getAttribute('class') );
|
1707 |
-
$nodeClassesCount = count( $nodeClasses );
|
1708 |
-
if ( $classesCount > $nodeClassesCount )
|
1709 |
-
return false;
|
1710 |
-
$diff = count(
|
1711 |
-
array_diff(
|
1712 |
-
$classes,
|
1713 |
-
$nodeClasses
|
1714 |
-
)
|
1715 |
-
);
|
1716 |
-
if (! $diff )
|
1717 |
-
return true;
|
1718 |
-
// single-class
|
1719 |
-
} else {
|
1720 |
-
return in_array(
|
1721 |
-
// strip leading dot from class name
|
1722 |
-
substr($class, 1),
|
1723 |
-
// get classes for element as array
|
1724 |
-
explode(' ', $node->getAttribute('class') )
|
1725 |
-
);
|
1726 |
-
}
|
1727 |
-
}
|
1728 |
-
/**
|
1729 |
-
* @access private
|
1730 |
-
*/
|
1731 |
-
protected function runQuery($XQuery, $selector = null, $compare = null) {
|
1732 |
-
if ($compare && ! method_exists($this, $compare))
|
1733 |
-
return false;
|
1734 |
-
$stack = array();
|
1735 |
-
if (! $this->elements)
|
1736 |
-
$this->debug('Stack empty, skipping...');
|
1737 |
-
// var_dump($this->elements[0]->nodeType);
|
1738 |
-
// element, document
|
1739 |
-
foreach($this->stack(array(1, 9, 13)) as $k => $stackNode) {
|
1740 |
-
$detachAfter = false;
|
1741 |
-
// to work on detached nodes we need temporary place them somewhere
|
1742 |
-
// thats because context xpath queries sucks ;]
|
1743 |
-
$testNode = $stackNode;
|
1744 |
-
while ($testNode) {
|
1745 |
-
if (! $testNode->parentNode && ! $this->isRoot($testNode)) {
|
1746 |
-
$this->root->appendChild($testNode);
|
1747 |
-
$detachAfter = $testNode;
|
1748 |
-
break;
|
1749 |
-
}
|
1750 |
-
$testNode = isset($testNode->parentNode)
|
1751 |
-
? $testNode->parentNode
|
1752 |
-
: null;
|
1753 |
-
}
|
1754 |
-
// XXX tmp ?
|
1755 |
-
$xpath = $this->documentWrapper->isXHTML
|
1756 |
-
? $this->getNodeXpath($stackNode, 'html')
|
1757 |
-
: $this->getNodeXpath($stackNode);
|
1758 |
-
// FIXME pseudoclasses-only query, support XML
|
1759 |
-
$query = $XQuery == '//' && $xpath == '/html[1]'
|
1760 |
-
? '//*'
|
1761 |
-
: $xpath.$XQuery;
|
1762 |
-
$this->debug("XPATH: {$query}");
|
1763 |
-
// run query, get elements
|
1764 |
-
$nodes = $this->xpath->query($query);
|
1765 |
-
$this->debug("QUERY FETCHED");
|
1766 |
-
if (! $nodes->length )
|
1767 |
-
$this->debug('Nothing found');
|
1768 |
-
$debug = array();
|
1769 |
-
foreach($nodes as $node) {
|
1770 |
-
$matched = false;
|
1771 |
-
if ( $compare) {
|
1772 |
-
phpQuery::$debug ?
|
1773 |
-
$this->debug("Found: ".$this->whois( $node ).", comparing with {$compare}()")
|
1774 |
-
: null;
|
1775 |
-
$phpQueryDebug = phpQuery::$debug;
|
1776 |
-
phpQuery::$debug = false;
|
1777 |
-
// TODO ??? use phpQuery::callbackRun()
|
1778 |
-
if (call_user_func_array(array($this, $compare), array($selector, $node)))
|
1779 |
-
$matched = true;
|
1780 |
-
phpQuery::$debug = $phpQueryDebug;
|
1781 |
-
} else {
|
1782 |
-
$matched = true;
|
1783 |
-
}
|
1784 |
-
if ( $matched) {
|
1785 |
-
if (phpQuery::$debug)
|
1786 |
-
$debug[] = $this->whois( $node );
|
1787 |
-
$stack[] = $node;
|
1788 |
-
}
|
1789 |
-
}
|
1790 |
-
if (phpQuery::$debug) {
|
1791 |
-
$this->debug("Matched ".count($debug).": ".implode(', ', $debug));
|
1792 |
-
}
|
1793 |
-
if ($detachAfter)
|
1794 |
-
$this->root->removeChild($detachAfter);
|
1795 |
-
}
|
1796 |
-
$this->elements = $stack;
|
1797 |
-
}
|
1798 |
-
/**
|
1799 |
-
* Enter description here...
|
1800 |
-
*
|
1801 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
1802 |
-
*/
|
1803 |
-
public function find($selectors, $context = null, $noHistory = false) {
|
1804 |
-
if (!$noHistory)
|
1805 |
-
// backup last stack /for end()/
|
1806 |
-
$this->elementsBackup = $this->elements;
|
1807 |
-
// allow to define context
|
1808 |
-
// TODO combine code below with phpQuery::pq() context guessing code
|
1809 |
-
// as generic function
|
1810 |
-
if ($context) {
|
1811 |
-
if (! is_array($context) && $context instanceof DOMELEMENT)
|
1812 |
-
$this->elements = array($context);
|
1813 |
-
else if (is_array($context)) {
|
1814 |
-
$this->elements = array();
|
1815 |
-
foreach ($context as $c)
|
1816 |
-
if ($c instanceof DOMELEMENT)
|
1817 |
-
$this->elements[] = $c;
|
1818 |
-
} else if ( $context instanceof self )
|
1819 |
-
$this->elements = $context->elements;
|
1820 |
-
}
|
1821 |
-
$queries = $this->parseSelector($selectors);
|
1822 |
-
$this->debug(array('FIND', $selectors, $queries));
|
1823 |
-
$XQuery = '';
|
1824 |
-
// remember stack state because of multi-queries
|
1825 |
-
$oldStack = $this->elements;
|
1826 |
-
// here we will be keeping found elements
|
1827 |
-
$stack = array();
|
1828 |
-
foreach($queries as $selector) {
|
1829 |
-
$this->elements = $oldStack;
|
1830 |
-
$delimiterBefore = false;
|
1831 |
-
foreach($selector as $s) {
|
1832 |
-
// TAG
|
1833 |
-
$isTag = extension_loaded('mbstring') && phpQuery::$mbstringSupport
|
1834 |
-
? mb_ereg_match('^[\w|\||-]+$', $s) || $s == '*'
|
1835 |
-
: preg_match('@^[\w|\||-]+$@', $s) || $s == '*';
|
1836 |
-
if ($isTag) {
|
1837 |
-
if ($this->isXML()) {
|
1838 |
-
// namespace support
|
1839 |
-
if (mb_strpos($s, '|') !== false) {
|
1840 |
-
$ns = $tag = null;
|
1841 |
-
list($ns, $tag) = explode('|', $s);
|
1842 |
-
$XQuery .= "$ns:$tag";
|
1843 |
-
} else if ($s == '*') {
|
1844 |
-
$XQuery .= "*";
|
1845 |
-
} else {
|
1846 |
-
$XQuery .= "*[local-name()='$s']";
|
1847 |
-
}
|
1848 |
-
} else {
|
1849 |
-
$XQuery .= $s;
|
1850 |
-
}
|
1851 |
-
// ID
|
1852 |
-
} else if ($s[0] == '#') {
|
1853 |
-
if ($delimiterBefore)
|
1854 |
-
$XQuery .= '*';
|
1855 |
-
$XQuery .= "[@id='".substr($s, 1)."']";
|
1856 |
-
// ATTRIBUTES
|
1857 |
-
} else if ($s[0] == '[') {
|
1858 |
-
if ($delimiterBefore)
|
1859 |
-
$XQuery .= '*';
|
1860 |
-
// strip side brackets
|
1861 |
-
$attr = trim($s, '][');
|
1862 |
-
$execute = false;
|
1863 |
-
// attr with specifed value
|
1864 |
-
if (mb_strpos($s, '=')) {
|
1865 |
-
$value = null;
|
1866 |
-
list($attr, $value) = explode('=', $attr);
|
1867 |
-
$value = trim($value, "'\"");
|
1868 |
-
if ($this->isRegexp($attr)) {
|
1869 |
-
// cut regexp character
|
1870 |
-
$attr = substr($attr, 0, -1);
|
1871 |
-
$execute = true;
|
1872 |
-
$XQuery .= "[@{$attr}]";
|
1873 |
-
} else {
|
1874 |
-
$XQuery .= "[@{$attr}='{$value}']";
|
1875 |
-
}
|
1876 |
-
// attr without specified value
|
1877 |
-
} else {
|
1878 |
-
$XQuery .= "[@{$attr}]";
|
1879 |
-
}
|
1880 |
-
if ($execute) {
|
1881 |
-
$this->runQuery($XQuery, $s, 'is');
|
1882 |
-
$XQuery = '';
|
1883 |
-
if (! $this->length())
|
1884 |
-
break;
|
1885 |
-
}
|
1886 |
-
// CLASSES
|
1887 |
-
} else if ($s[0] == '.') {
|
1888 |
-
// TODO use return $this->find("./self::*[contains(concat(\" \",@class,\" \"), \" $class \")]");
|
1889 |
-
// thx wizDom ;)
|
1890 |
-
if ($delimiterBefore)
|
1891 |
-
$XQuery .= '*';
|
1892 |
-
$XQuery .= '[@class]';
|
1893 |
-
$this->runQuery($XQuery, $s, 'matchClasses');
|
1894 |
-
$XQuery = '';
|
1895 |
-
if (! $this->length() )
|
1896 |
-
break;
|
1897 |
-
// ~ General Sibling Selector
|
1898 |
-
} else if ($s[0] == '~') {
|
1899 |
-
$this->runQuery($XQuery);
|
1900 |
-
$XQuery = '';
|
1901 |
-
$this->elements = $this
|
1902 |
-
->siblings(
|
1903 |
-
substr($s, 1)
|
1904 |
-
)->elements;
|
1905 |
-
if (! $this->length() )
|
1906 |
-
break;
|
1907 |
-
// + Adjacent sibling selectors
|
1908 |
-
} else if ($s[0] == '+') {
|
1909 |
-
// TODO /following-sibling::
|
1910 |
-
$this->runQuery($XQuery);
|
1911 |
-
$XQuery = '';
|
1912 |
-
$subSelector = substr($s, 1);
|
1913 |
-
$subElements = $this->elements;
|
1914 |
-
$this->elements = array();
|
1915 |
-
foreach($subElements as $node) {
|
1916 |
-
// search first DOMElement sibling
|
1917 |
-
$test = $node->nextSibling;
|
1918 |
-
while($test && ! ($test instanceof DOMELEMENT))
|
1919 |
-
$test = $test->nextSibling;
|
1920 |
-
if ($test && $this->is($subSelector, $test))
|
1921 |
-
$this->elements[] = $test;
|
1922 |
-
}
|
1923 |
-
if (! $this->length() )
|
1924 |
-
break;
|
1925 |
-
// PSEUDO CLASSES
|
1926 |
-
} else if ($s[0] == ':') {
|
1927 |
-
// TODO optimization for :first :last
|
1928 |
-
if ($XQuery) {
|
1929 |
-
$this->runQuery($XQuery);
|
1930 |
-
$XQuery = '';
|
1931 |
-
}
|
1932 |
-
if (! $this->length())
|
1933 |
-
break;
|
1934 |
-
$this->pseudoClasses($s);
|
1935 |
-
if (! $this->length())
|
1936 |
-
break;
|
1937 |
-
// DIRECT DESCENDANDS
|
1938 |
-
} else if ($s == '>') {
|
1939 |
-
$XQuery .= '/';
|
1940 |
-
$delimiterBefore = 2;
|
1941 |
-
// ALL DESCENDANDS
|
1942 |
-
} else if ($s == ' ') {
|
1943 |
-
$XQuery .= '//';
|
1944 |
-
$delimiterBefore = 2;
|
1945 |
-
// ERRORS
|
1946 |
-
} else {
|
1947 |
-
phpQuery::debug("Unrecognized token '$s'");
|
1948 |
-
}
|
1949 |
-
$delimiterBefore = $delimiterBefore === 2;
|
1950 |
-
}
|
1951 |
-
// run query if any
|
1952 |
-
if ($XQuery && $XQuery != '//') {
|
1953 |
-
$this->runQuery($XQuery);
|
1954 |
-
$XQuery = '';
|
1955 |
-
}
|
1956 |
-
foreach($this->elements as $node)
|
1957 |
-
if (! $this->elementsContainsNode($node, $stack))
|
1958 |
-
$stack[] = $node;
|
1959 |
-
}
|
1960 |
-
$this->elements = $stack;
|
1961 |
-
return $this->newInstance();
|
1962 |
-
}
|
1963 |
-
/**
|
1964 |
-
* @todo create API for classes with pseudoselectors
|
1965 |
-
* @access private
|
1966 |
-
*/
|
1967 |
-
protected function pseudoClasses($class) {
|
1968 |
-
// TODO clean args parsing ?
|
1969 |
-
$class = ltrim($class, ':');
|
1970 |
-
$haveArgs = mb_strpos($class, '(');
|
1971 |
-
if ($haveArgs !== false) {
|
1972 |
-
$args = substr($class, $haveArgs+1, -1);
|
1973 |
-
$class = substr($class, 0, $haveArgs);
|
1974 |
-
}
|
1975 |
-
switch($class) {
|
1976 |
-
case 'even':
|
1977 |
-
case 'odd':
|
1978 |
-
$stack = array();
|
1979 |
-
foreach($this->elements as $i => $node) {
|
1980 |
-
if ($class == 'even' && ($i%2) == 0)
|
1981 |
-
$stack[] = $node;
|
1982 |
-
else if ( $class == 'odd' && $i % 2 )
|
1983 |
-
$stack[] = $node;
|
1984 |
-
}
|
1985 |
-
$this->elements = $stack;
|
1986 |
-
break;
|
1987 |
-
case 'eq':
|
1988 |
-
$k = intval($args);
|
1989 |
-
$this->elements = isset( $this->elements[$k] )
|
1990 |
-
? array( $this->elements[$k] )
|
1991 |
-
: array();
|
1992 |
-
break;
|
1993 |
-
case 'gt':
|
1994 |
-
$this->elements = array_slice($this->elements, $args+1);
|
1995 |
-
break;
|
1996 |
-
case 'lt':
|
1997 |
-
$this->elements = array_slice($this->elements, 0, $args+1);
|
1998 |
-
break;
|
1999 |
-
case 'first':
|
2000 |
-
if (isset($this->elements[0]))
|
2001 |
-
$this->elements = array($this->elements[0]);
|
2002 |
-
break;
|
2003 |
-
case 'last':
|
2004 |
-
if ($this->elements)
|
2005 |
-
$this->elements = array($this->elements[count($this->elements)-1]);
|
2006 |
-
break;
|
2007 |
-
/*case 'parent':
|
2008 |
-
$stack = array();
|
2009 |
-
foreach($this->elements as $node) {
|
2010 |
-
if ( $node->childNodes->length )
|
2011 |
-
$stack[] = $node;
|
2012 |
-
}
|
2013 |
-
$this->elements = $stack;
|
2014 |
-
break;*/
|
2015 |
-
case 'contains':
|
2016 |
-
$text = trim($args, "\"'");
|
2017 |
-
$stack = array();
|
2018 |
-
foreach($this->elements as $node) {
|
2019 |
-
if (mb_stripos($node->textContent, $text) === false)
|
2020 |
-
continue;
|
2021 |
-
$stack[] = $node;
|
2022 |
-
}
|
2023 |
-
$this->elements = $stack;
|
2024 |
-
break;
|
2025 |
-
case 'not':
|
2026 |
-
$selector = self::unQuote($args);
|
2027 |
-
$this->elements = $this->not($selector)->stack();
|
2028 |
-
break;
|
2029 |
-
case 'slice':
|
2030 |
-
// TODO jQuery difference ?
|
2031 |
-
$args = explode(',',
|
2032 |
-
str_replace(', ', ',', trim($args, "\"'"))
|
2033 |
-
);
|
2034 |
-
$start = $args[0];
|
2035 |
-
$end = isset($args[1])
|
2036 |
-
? $args[1]
|
2037 |
-
: null;
|
2038 |
-
if ($end > 0)
|
2039 |
-
$end = $end-$start;
|
2040 |
-
$this->elements = array_slice($this->elements, $start, $end);
|
2041 |
-
break;
|
2042 |
-
case 'has':
|
2043 |
-
$selector = trim($args, "\"'");
|
2044 |
-
$stack = array();
|
2045 |
-
foreach($this->stack(1) as $el) {
|
2046 |
-
if ($this->find($selector, $el, true)->length)
|
2047 |
-
$stack[] = $el;
|
2048 |
-
}
|
2049 |
-
$this->elements = $stack;
|
2050 |
-
break;
|
2051 |
-
case 'submit':
|
2052 |
-
case 'reset':
|
2053 |
-
$this->elements = phpQuery::merge(
|
2054 |
-
$this->map(array($this, 'is'),
|
2055 |
-
"input[type=$class]", new CallbackParam()
|
2056 |
-
),
|
2057 |
-
$this->map(array($this, 'is'),
|
2058 |
-
"button[type=$class]", new CallbackParam()
|
2059 |
-
)
|
2060 |
-
);
|
2061 |
-
break;
|
2062 |
-
// $stack = array();
|
2063 |
-
// foreach($this->elements as $node)
|
2064 |
-
// if ($node->is('input[type=submit]') || $node->is('button[type=submit]'))
|
2065 |
-
// $stack[] = $el;
|
2066 |
-
// $this->elements = $stack;
|
2067 |
-
case 'input':
|
2068 |
-
$this->elements = $this->map(
|
2069 |
-
array($this, 'is'),
|
2070 |
-
'input', new CallbackParam()
|
2071 |
-
)->elements;
|
2072 |
-
break;
|
2073 |
-
case 'password':
|
2074 |
-
case 'checkbox':
|
2075 |
-
case 'radio':
|
2076 |
-
case 'hidden':
|
2077 |
-
case 'image':
|
2078 |
-
case 'file':
|
2079 |
-
$this->elements = $this->map(
|
2080 |
-
array($this, 'is'),
|
2081 |
-
"input[type=$class]", new CallbackParam()
|
2082 |
-
)->elements;
|
2083 |
-
break;
|
2084 |
-
case 'parent':
|
2085 |
-
$this->elements = $this->map(
|
2086 |
-
create_function('$node', '
|
2087 |
-
return $node instanceof DOMELEMENT && $node->childNodes->length
|
2088 |
-
? $node : null;')
|
2089 |
-
)->elements;
|
2090 |
-
break;
|
2091 |
-
case 'empty':
|
2092 |
-
$this->elements = $this->map(
|
2093 |
-
create_function('$node', '
|
2094 |
-
return $node instanceof DOMELEMENT && $node->childNodes->length
|
2095 |
-
? null : $node;')
|
2096 |
-
)->elements;
|
2097 |
-
break;
|
2098 |
-
case 'disabled':
|
2099 |
-
case 'selected':
|
2100 |
-
case 'checked':
|
2101 |
-
$this->elements = $this->map(
|
2102 |
-
array($this, 'is'),
|
2103 |
-
"[$class]", new CallbackParam()
|
2104 |
-
)->elements;
|
2105 |
-
break;
|
2106 |
-
case 'enabled':
|
2107 |
-
$this->elements = $this->map(
|
2108 |
-
create_function('$node', '
|
2109 |
-
return pq($node)->not(":disabled") ? $node : null;')
|
2110 |
-
)->elements;
|
2111 |
-
break;
|
2112 |
-
case 'header':
|
2113 |
-
$this->elements = $this->map(
|
2114 |
-
create_function('$node',
|
2115 |
-
'$isHeader = isset($node->tagName) && in_array($node->tagName, array(
|
2116 |
-
"h1", "h2", "h3", "h4", "h5", "h6", "h7"
|
2117 |
-
));
|
2118 |
-
return $isHeader
|
2119 |
-
? $node
|
2120 |
-
: null;')
|
2121 |
-
)->elements;
|
2122 |
-
// $this->elements = $this->map(
|
2123 |
-
// create_function('$node', '$node = pq($node);
|
2124 |
-
// return $node->is("h1")
|
2125 |
-
// || $node->is("h2")
|
2126 |
-
// || $node->is("h3")
|
2127 |
-
// || $node->is("h4")
|
2128 |
-
// || $node->is("h5")
|
2129 |
-
// || $node->is("h6")
|
2130 |
-
// || $node->is("h7")
|
2131 |
-
// ? $node
|
2132 |
-
// : null;')
|
2133 |
-
// )->elements;
|
2134 |
-
break;
|
2135 |
-
case 'only-child':
|
2136 |
-
$this->elements = $this->map(
|
2137 |
-
create_function('$node',
|
2138 |
-
'return pq($node)->siblings()->size() == 0 ? $node : null;')
|
2139 |
-
)->elements;
|
2140 |
-
break;
|
2141 |
-
case 'first-child':
|
2142 |
-
$this->elements = $this->map(
|
2143 |
-
create_function('$node', 'return pq($node)->prevAll()->size() == 0 ? $node : null;')
|
2144 |
-
)->elements;
|
2145 |
-
break;
|
2146 |
-
case 'last-child':
|
2147 |
-
$this->elements = $this->map(
|
2148 |
-
create_function('$node', 'return pq($node)->nextAll()->size() == 0 ? $node : null;')
|
2149 |
-
)->elements;
|
2150 |
-
break;
|
2151 |
-
case 'nth-child':
|
2152 |
-
$param = trim($args, "\"'");
|
2153 |
-
if (! $param)
|
2154 |
-
break;
|
2155 |
-
// nth-child(n+b) to nth-child(1n+b)
|
2156 |
-
if ($param{0} == 'n')
|
2157 |
-
$param = '1'.$param;
|
2158 |
-
// :nth-child(index/even/odd/equation)
|
2159 |
-
if ($param == 'even' || $param == 'odd')
|
2160 |
-
$mapped = $this->map(
|
2161 |
-
create_function('$node, $param',
|
2162 |
-
'$index = pq($node)->prevAll()->size()+1;
|
2163 |
-
if ($param == "even" && ($index%2) == 0)
|
2164 |
-
return $node;
|
2165 |
-
else if ($param == "odd" && $index%2 == 1)
|
2166 |
-
return $node;
|
2167 |
-
else
|
2168 |
-
return null;'),
|
2169 |
-
new CallbackParam(), $param
|
2170 |
-
);
|
2171 |
-
else if (mb_strlen($param) > 1 && $param{1} == 'n')
|
2172 |
-
// an+b
|
2173 |
-
$mapped = $this->map(
|
2174 |
-
create_function('$node, $param',
|
2175 |
-
'$prevs = pq($node)->prevAll()->size();
|
2176 |
-
$index = 1+$prevs;
|
2177 |
-
$b = mb_strlen($param) > 3
|
2178 |
-
? $param{3}
|
2179 |
-
: 0;
|
2180 |
-
$a = $param{0};
|
2181 |
-
if ($b && $param{2} == "-")
|
2182 |
-
$b = -$b;
|
2183 |
-
if ($a > 0) {
|
2184 |
-
return ($index-$b)%$a == 0
|
2185 |
-
? $node
|
2186 |
-
: null;
|
2187 |
-
phpQuery::debug($a."*".floor($index/$a)."+$b-1 == ".($a*floor($index/$a)+$b-1)." ?= $prevs");
|
2188 |
-
return $a*floor($index/$a)+$b-1 == $prevs
|
2189 |
-
? $node
|
2190 |
-
: null;
|
2191 |
-
} else if ($a == 0)
|
2192 |
-
return $index == $b
|
2193 |
-
? $node
|
2194 |
-
: null;
|
2195 |
-
else
|
2196 |
-
// negative value
|
2197 |
-
return $index <= $b
|
2198 |
-
? $node
|
2199 |
-
: null;
|
2200 |
-
// if (! $b)
|
2201 |
-
// return $index%$a == 0
|
2202 |
-
// ? $node
|
2203 |
-
// : null;
|
2204 |
-
// else
|
2205 |
-
// return ($index-$b)%$a == 0
|
2206 |
-
// ? $node
|
2207 |
-
// : null;
|
2208 |
-
'),
|
2209 |
-
new CallbackParam(), $param
|
2210 |
-
);
|
2211 |
-
else
|
2212 |
-
// index
|
2213 |
-
$mapped = $this->map(
|
2214 |
-
create_function('$node, $index',
|
2215 |
-
'$prevs = pq($node)->prevAll()->size();
|
2216 |
-
if ($prevs && $prevs == $index-1)
|
2217 |
-
return $node;
|
2218 |
-
else if (! $prevs && $index == 1)
|
2219 |
-
return $node;
|
2220 |
-
else
|
2221 |
-
return null;'),
|
2222 |
-
new CallbackParam(), $param
|
2223 |
-
);
|
2224 |
-
$this->elements = $mapped->elements;
|
2225 |
-
break;
|
2226 |
-
default:
|
2227 |
-
$this->debug("Unknown pseudoclass '{$class}', skipping...");
|
2228 |
-
}
|
2229 |
-
}
|
2230 |
-
/**
|
2231 |
-
* @access private
|
2232 |
-
*/
|
2233 |
-
// protected function __pseudoClassParam($paramsString) {
|
2234 |
-
protected function ai_pseudoClassParam($paramsString) {
|
2235 |
-
// TODO;
|
2236 |
-
}
|
2237 |
-
/**
|
2238 |
-
* Enter description here...
|
2239 |
-
*
|
2240 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
2241 |
-
*/
|
2242 |
-
public function is($selector, $nodes = null) {
|
2243 |
-
phpQuery::debug(array("Is:", $selector));
|
2244 |
-
if (! $selector)
|
2245 |
-
return false;
|
2246 |
-
$oldStack = $this->elements;
|
2247 |
-
$returnArray = false;
|
2248 |
-
if ($nodes && is_array($nodes)) {
|
2249 |
-
$this->elements = $nodes;
|
2250 |
-
} else if ($nodes)
|
2251 |
-
$this->elements = array($nodes);
|
2252 |
-
$this->filter($selector, true);
|
2253 |
-
$stack = $this->elements;
|
2254 |
-
$this->elements = $oldStack;
|
2255 |
-
if ($nodes)
|
2256 |
-
return $stack ? $stack : null;
|
2257 |
-
return (bool)count($stack);
|
2258 |
-
}
|
2259 |
-
/**
|
2260 |
-
* Enter description here...
|
2261 |
-
* jQuery difference.
|
2262 |
-
*
|
2263 |
-
* Callback:
|
2264 |
-
* - $index int
|
2265 |
-
* - $node DOMNode
|
2266 |
-
*
|
2267 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
2268 |
-
* @link http://docs.jquery.com/Traversing/filter
|
2269 |
-
*/
|
2270 |
-
public function filterCallback($callback, $_skipHistory = false) {
|
2271 |
-
if (! $_skipHistory) {
|
2272 |
-
$this->elementsBackup = $this->elements;
|
2273 |
-
$this->debug("Filtering by callback");
|
2274 |
-
}
|
2275 |
-
$newStack = array();
|
2276 |
-
foreach($this->elements as $index => $node) {
|
2277 |
-
$result = phpQuery::callbackRun($callback, array($index, $node));
|
2278 |
-
if (is_null($result) || (! is_null($result) && $result))
|
2279 |
-
$newStack[] = $node;
|
2280 |
-
}
|
2281 |
-
$this->elements = $newStack;
|
2282 |
-
return $_skipHistory
|
2283 |
-
? $this
|
2284 |
-
: $this->newInstance();
|
2285 |
-
}
|
2286 |
-
/**
|
2287 |
-
* Enter description here...
|
2288 |
-
*
|
2289 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
2290 |
-
* @link http://docs.jquery.com/Traversing/filter
|
2291 |
-
*/
|
2292 |
-
public function filter($selectors, $_skipHistory = false) {
|
2293 |
-
if ($selectors instanceof Callback OR $selectors instanceof Closure)
|
2294 |
-
return $this->filterCallback($selectors, $_skipHistory);
|
2295 |
-
if (! $_skipHistory)
|
2296 |
-
$this->elementsBackup = $this->elements;
|
2297 |
-
$notSimpleSelector = array(' ', '>', '~', '+', '/');
|
2298 |
-
if (! is_array($selectors))
|
2299 |
-
$selectors = $this->parseSelector($selectors);
|
2300 |
-
if (! $_skipHistory)
|
2301 |
-
$this->debug(array("Filtering:", $selectors));
|
2302 |
-
$finalStack = array();
|
2303 |
-
foreach($selectors as $selector) {
|
2304 |
-
$stack = array();
|
2305 |
-
if (! $selector)
|
2306 |
-
break;
|
2307 |
-
// avoid first space or /
|
2308 |
-
if (in_array($selector[0], $notSimpleSelector))
|
2309 |
-
$selector = array_slice($selector, 1);
|
2310 |
-
// PER NODE selector chunks
|
2311 |
-
foreach($this->stack() as $node) {
|
2312 |
-
$break = false;
|
2313 |
-
foreach($selector as $s) {
|
2314 |
-
if (!($node instanceof DOMELEMENT)) {
|
2315 |
-
// all besides DOMElement
|
2316 |
-
if ( $s[0] == '[') {
|
2317 |
-
$attr = trim($s, '[]');
|
2318 |
-
if ( mb_strpos($attr, '=')) {
|
2319 |
-
list( $attr, $val ) = explode('=', $attr);
|
2320 |
-
if ($attr == 'nodeType' && $node->nodeType != $val)
|
2321 |
-
$break = true;
|
2322 |
-
}
|
2323 |
-
} else
|
2324 |
-
$break = true;
|
2325 |
-
} else {
|
2326 |
-
// DOMElement only
|
2327 |
-
// ID
|
2328 |
-
if ( $s[0] == '#') {
|
2329 |
-
if ( $node->getAttribute('id') != substr($s, 1) )
|
2330 |
-
$break = true;
|
2331 |
-
// CLASSES
|
2332 |
-
} else if ( $s[0] == '.') {
|
2333 |
-
if (! $this->matchClasses( $s, $node ) )
|
2334 |
-
$break = true;
|
2335 |
-
// ATTRS
|
2336 |
-
} else if ( $s[0] == '[') {
|
2337 |
-
// strip side brackets
|
2338 |
-
$attr = trim($s, '[]');
|
2339 |
-
if (mb_strpos($attr, '=')) {
|
2340 |
-
list($attr, $val) = explode('=', $attr);
|
2341 |
-
$val = self::unQuote($val);
|
2342 |
-
if ($attr == 'nodeType') {
|
2343 |
-
if ($val != $node->nodeType)
|
2344 |
-
$break = true;
|
2345 |
-
} else if ($this->isRegexp($attr)) {
|
2346 |
-
$val = extension_loaded('mbstring') && phpQuery::$mbstringSupport
|
2347 |
-
? quotemeta(trim($val, '"\''))
|
2348 |
-
: preg_quote(trim($val, '"\''), '@');
|
2349 |
-
// switch last character
|
2350 |
-
switch( substr($attr, -1)) {
|
2351 |
-
// quotemeta used insted of preg_quote
|
2352 |
-
// http://code.google.com/p/phpquery/issues/detail?id=76
|
2353 |
-
case '^':
|
2354 |
-
$pattern = '^'.$val;
|
2355 |
-
break;
|
2356 |
-
case '*':
|
2357 |
-
$pattern = '.*'.$val.'.*';
|
2358 |
-
break;
|
2359 |
-
case '$':
|
2360 |
-
$pattern = '.*'.$val.'$';
|
2361 |
-
break;
|
2362 |
-
}
|
2363 |
-
// cut last character
|
2364 |
-
$attr = substr($attr, 0, -1);
|
2365 |
-
$isMatch = extension_loaded('mbstring') && phpQuery::$mbstringSupport
|
2366 |
-
? mb_ereg_match($pattern, $node->getAttribute($attr))
|
2367 |
-
: preg_match("@{$pattern}@", $node->getAttribute($attr));
|
2368 |
-
if (! $isMatch)
|
2369 |
-
$break = true;
|
2370 |
-
} else if ($node->getAttribute($attr) != $val)
|
2371 |
-
$break = true;
|
2372 |
-
} else if (! $node->hasAttribute($attr))
|
2373 |
-
$break = true;
|
2374 |
-
// PSEUDO CLASSES
|
2375 |
-
} else if ( $s[0] == ':') {
|
2376 |
-
// skip
|
2377 |
-
// TAG
|
2378 |
-
} else if (trim($s)) {
|
2379 |
-
if ($s != '*') {
|
2380 |
-
// TODO namespaces
|
2381 |
-
if (isset($node->tagName)) {
|
2382 |
-
if ($node->tagName != $s)
|
2383 |
-
$break = true;
|
2384 |
-
} else if ($s == 'html' && ! $this->isRoot($node))
|
2385 |
-
$break = true;
|
2386 |
-
}
|
2387 |
-
// AVOID NON-SIMPLE SELECTORS
|
2388 |
-
} else if (in_array($s, $notSimpleSelector)) {
|
2389 |
-
$break = true;
|
2390 |
-
$this->debug(array('Skipping non simple selector', $selector));
|
2391 |
-
}
|
2392 |
-
}
|
2393 |
-
if ($break)
|
2394 |
-
break;
|
2395 |
-
}
|
2396 |
-
// if element passed all chunks of selector - add it to new stack
|
2397 |
-
if (! $break )
|
2398 |
-
$stack[] = $node;
|
2399 |
-
}
|
2400 |
-
$tmpStack = $this->elements;
|
2401 |
-
$this->elements = $stack;
|
2402 |
-
// PER ALL NODES selector chunks
|
2403 |
-
foreach($selector as $s)
|
2404 |
-
// PSEUDO CLASSES
|
2405 |
-
if ($s[0] == ':')
|
2406 |
-
$this->pseudoClasses($s);
|
2407 |
-
foreach($this->elements as $node)
|
2408 |
-
// XXX it should be merged without duplicates
|
2409 |
-
// but jQuery doesnt do that
|
2410 |
-
$finalStack[] = $node;
|
2411 |
-
$this->elements = $tmpStack;
|
2412 |
-
}
|
2413 |
-
$this->elements = $finalStack;
|
2414 |
-
if ($_skipHistory) {
|
2415 |
-
return $this;
|
2416 |
-
} else {
|
2417 |
-
$this->debug("Stack length after filter(): ".count($finalStack));
|
2418 |
-
return $this->newInstance();
|
2419 |
-
}
|
2420 |
-
}
|
2421 |
-
/**
|
2422 |
-
*
|
2423 |
-
* @param $value
|
2424 |
-
* @return unknown_type
|
2425 |
-
* @TODO implement in all methods using passed parameters
|
2426 |
-
*/
|
2427 |
-
protected static function unQuote($value) {
|
2428 |
-
return $value[0] == '\'' || $value[0] == '"'
|
2429 |
-
? substr($value, 1, -1)
|
2430 |
-
: $value;
|
2431 |
-
}
|
2432 |
-
/**
|
2433 |
-
* Enter description here...
|
2434 |
-
*
|
2435 |
-
* @link http://docs.jquery.com/Ajax/load
|
2436 |
-
* @return phpQuery|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
2437 |
-
* @todo Support $selector
|
2438 |
-
*/
|
2439 |
-
public function load($url, $data = null, $callback = null) {
|
2440 |
-
if ($data && ! is_array($data)) {
|
2441 |
-
$callback = $data;
|
2442 |
-
$data = null;
|
2443 |
-
}
|
2444 |
-
if (mb_strpos($url, ' ') !== false) {
|
2445 |
-
$matches = null;
|
2446 |
-
if (extension_loaded('mbstring') && phpQuery::$mbstringSupport)
|
2447 |
-
mb_ereg('^([^ ]+) (.*)$', $url, $matches);
|
2448 |
-
else
|
2449 |
-
preg_match('^([^ ]+) (.*)$', $url, $matches);
|
2450 |
-
$url = $matches[1];
|
2451 |
-
$selector = $matches[2];
|
2452 |
-
// FIXME this sucks, pass as callback param
|
2453 |
-
$this->_loadSelector = $selector;
|
2454 |
-
}
|
2455 |
-
$ajax = array(
|
2456 |
-
'url' => $url,
|
2457 |
-
'type' => $data ? 'POST' : 'GET',
|
2458 |
-
'data' => $data,
|
2459 |
-
'complete' => $callback,
|
2460 |
-
// 'success' => array($this, '__loadSuccess')
|
2461 |
-
'success' => array($this, 'ai_loadSuccess')
|
2462 |
-
);
|
2463 |
-
phpQuery::ajax($ajax);
|
2464 |
-
return $this;
|
2465 |
-
}
|
2466 |
-
/**
|
2467 |
-
* @access private
|
2468 |
-
* @param $html
|
2469 |
-
* @return unknown_type
|
2470 |
-
*/
|
2471 |
-
// public function __loadSuccess($html) {
|
2472 |
-
public function ai_loadSuccess($html) {
|
2473 |
-
if ($this->_loadSelector) {
|
2474 |
-
$html = phpQuery::newDocument($html)->find($this->_loadSelector);
|
2475 |
-
unset($this->_loadSelector);
|
2476 |
-
}
|
2477 |
-
foreach($this->stack(1) as $node) {
|
2478 |
-
phpQuery::pq($node, $this->getDocumentID())
|
2479 |
-
->markup($html);
|
2480 |
-
}
|
2481 |
-
}
|
2482 |
-
/**
|
2483 |
-
* Enter description here...
|
2484 |
-
*
|
2485 |
-
* @return phpQuery|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
2486 |
-
* @todo
|
2487 |
-
*/
|
2488 |
-
public function css() {
|
2489 |
-
// TODO
|
2490 |
-
return $this;
|
2491 |
-
}
|
2492 |
-
/**
|
2493 |
-
* @todo
|
2494 |
-
*
|
2495 |
-
*/
|
2496 |
-
public function show(){
|
2497 |
-
// TODO
|
2498 |
-
return $this;
|
2499 |
-
}
|
2500 |
-
/**
|
2501 |
-
* @todo
|
2502 |
-
*
|
2503 |
-
*/
|
2504 |
-
public function hide(){
|
2505 |
-
// TODO
|
2506 |
-
return $this;
|
2507 |
-
}
|
2508 |
-
/**
|
2509 |
-
* Trigger a type of event on every matched element.
|
2510 |
-
*
|
2511 |
-
* @param unknown_type $type
|
2512 |
-
* @param unknown_type $data
|
2513 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
2514 |
-
* @TODO support more than event in $type (space-separated)
|
2515 |
-
*/
|
2516 |
-
public function trigger($type, $data = array()) {
|
2517 |
-
foreach($this->elements as $node)
|
2518 |
-
phpQueryEvents::trigger($this->getDocumentID(), $type, $data, $node);
|
2519 |
-
return $this;
|
2520 |
-
}
|
2521 |
-
/**
|
2522 |
-
* This particular method triggers all bound event handlers on an element (for a specific event type) WITHOUT executing the browsers default actions.
|
2523 |
-
*
|
2524 |
-
* @param unknown_type $type
|
2525 |
-
* @param unknown_type $data
|
2526 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
2527 |
-
* @TODO
|
2528 |
-
*/
|
2529 |
-
public function triggerHandler($type, $data = array()) {
|
2530 |
-
// TODO;
|
2531 |
-
}
|
2532 |
-
/**
|
2533 |
-
* Binds a handler to one or more events (like click) for each matched element.
|
2534 |
-
* Can also bind custom events.
|
2535 |
-
*
|
2536 |
-
* @param unknown_type $type
|
2537 |
-
* @param unknown_type $data Optional
|
2538 |
-
* @param unknown_type $callback
|
2539 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
2540 |
-
* @TODO support '!' (exclusive) events
|
2541 |
-
* @TODO support more than event in $type (space-separated)
|
2542 |
-
*/
|
2543 |
-
public function bind($type, $data, $callback = null) {
|
2544 |
-
// TODO check if $data is callable, not using is_callable
|
2545 |
-
if (! isset($callback)) {
|
2546 |
-
$callback = $data;
|
2547 |
-
$data = null;
|
2548 |
-
}
|
2549 |
-
foreach($this->elements as $node)
|
2550 |
-
phpQueryEvents::add($this->getDocumentID(), $node, $type, $data, $callback);
|
2551 |
-
return $this;
|
2552 |
-
}
|
2553 |
-
/**
|
2554 |
-
* Enter description here...
|
2555 |
-
*
|
2556 |
-
* @param unknown_type $type
|
2557 |
-
* @param unknown_type $callback
|
2558 |
-
* @return unknown
|
2559 |
-
* @TODO namespace events
|
2560 |
-
* @TODO support more than event in $type (space-separated)
|
2561 |
-
*/
|
2562 |
-
public function unbind($type = null, $callback = null) {
|
2563 |
-
foreach($this->elements as $node)
|
2564 |
-
phpQueryEvents::remove($this->getDocumentID(), $node, $type, $callback);
|
2565 |
-
return $this;
|
2566 |
-
}
|
2567 |
-
/**
|
2568 |
-
* Enter description here...
|
2569 |
-
*
|
2570 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
2571 |
-
*/
|
2572 |
-
public function change($callback = null) {
|
2573 |
-
if ($callback)
|
2574 |
-
return $this->bind('change', $callback);
|
2575 |
-
return $this->trigger('change');
|
2576 |
-
}
|
2577 |
-
/**
|
2578 |
-
* Enter description here...
|
2579 |
-
*
|
2580 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
2581 |
-
*/
|
2582 |
-
public function submit($callback = null) {
|
2583 |
-
if ($callback)
|
2584 |
-
return $this->bind('submit', $callback);
|
2585 |
-
return $this->trigger('submit');
|
2586 |
-
}
|
2587 |
-
/**
|
2588 |
-
* Enter description here...
|
2589 |
-
*
|
2590 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
2591 |
-
*/
|
2592 |
-
public function click($callback = null) {
|
2593 |
-
if ($callback)
|
2594 |
-
return $this->bind('click', $callback);
|
2595 |
-
return $this->trigger('click');
|
2596 |
-
}
|
2597 |
-
/**
|
2598 |
-
* Enter description here...
|
2599 |
-
*
|
2600 |
-
* @param String|phpQuery
|
2601 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
2602 |
-
*/
|
2603 |
-
public function wrapAllOld($wrapper) {
|
2604 |
-
$wrapper = pq($wrapper)->_clone();
|
2605 |
-
if (! $wrapper->length() || ! $this->length() )
|
2606 |
-
return $this;
|
2607 |
-
$wrapper->insertBefore($this->elements[0]);
|
2608 |
-
$deepest = $wrapper->elements[0];
|
2609 |
-
while($deepest->firstChild && $deepest->firstChild instanceof DOMELEMENT)
|
2610 |
-
$deepest = $deepest->firstChild;
|
2611 |
-
pq($deepest)->append($this);
|
2612 |
-
return $this;
|
2613 |
-
}
|
2614 |
-
/**
|
2615 |
-
* Enter description here...
|
2616 |
-
*
|
2617 |
-
* TODO testme...
|
2618 |
-
* @param String|phpQuery
|
2619 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
2620 |
-
*/
|
2621 |
-
public function wrapAll($wrapper) {
|
2622 |
-
if (! $this->length())
|
2623 |
-
return $this;
|
2624 |
-
return phpQuery::pq($wrapper, $this->getDocumentID())
|
2625 |
-
->clone()
|
2626 |
-
->insertBefore($this->get(0))
|
2627 |
-
->map(array($this, '___wrapAllCallback'))
|
2628 |
-
->append($this);
|
2629 |
-
}
|
2630 |
-
/**
|
2631 |
-
*
|
2632 |
-
* @param $node
|
2633 |
-
* @return unknown_type
|
2634 |
-
* @access private
|
2635 |
-
*/
|
2636 |
-
public function ___wrapAllCallback($node) {
|
2637 |
-
$deepest = $node;
|
2638 |
-
while($deepest->firstChild && $deepest->firstChild instanceof DOMELEMENT)
|
2639 |
-
$deepest = $deepest->firstChild;
|
2640 |
-
return $deepest;
|
2641 |
-
}
|
2642 |
-
/**
|
2643 |
-
* Enter description here...
|
2644 |
-
* NON JQUERY METHOD
|
2645 |
-
*
|
2646 |
-
* @param String|phpQuery
|
2647 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
2648 |
-
*/
|
2649 |
-
public function wrapAllPHP($codeBefore, $codeAfter) {
|
2650 |
-
return $this
|
2651 |
-
->slice(0, 1)
|
2652 |
-
->beforePHP($codeBefore)
|
2653 |
-
->end()
|
2654 |
-
->slice(-1)
|
2655 |
-
->afterPHP($codeAfter)
|
2656 |
-
->end();
|
2657 |
-
}
|
2658 |
-
/**
|
2659 |
-
* Enter description here...
|
2660 |
-
*
|
2661 |
-
* @param String|phpQuery
|
2662 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
2663 |
-
*/
|
2664 |
-
public function wrap($wrapper) {
|
2665 |
-
foreach($this->stack() as $node)
|
2666 |
-
phpQuery::pq($node, $this->getDocumentID())->wrapAll($wrapper);
|
2667 |
-
return $this;
|
2668 |
-
}
|
2669 |
-
/**
|
2670 |
-
* Enter description here...
|
2671 |
-
*
|
2672 |
-
* @param String|phpQuery
|
2673 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
2674 |
-
*/
|
2675 |
-
public function wrapPHP($codeBefore, $codeAfter) {
|
2676 |
-
foreach($this->stack() as $node)
|
2677 |
-
phpQuery::pq($node, $this->getDocumentID())->wrapAllPHP($codeBefore, $codeAfter);
|
2678 |
-
return $this;
|
2679 |
-
}
|
2680 |
-
/**
|
2681 |
-
* Enter description here...
|
2682 |
-
*
|
2683 |
-
* @param String|phpQuery
|
2684 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
2685 |
-
*/
|
2686 |
-
public function wrapInner($wrapper) {
|
2687 |
-
foreach($this->stack() as $node)
|
2688 |
-
phpQuery::pq($node, $this->getDocumentID())->contents()->wrapAll($wrapper);
|
2689 |
-
return $this;
|
2690 |
-
}
|
2691 |
-
/**
|
2692 |
-
* Enter description here...
|
2693 |
-
*
|
2694 |
-
* @param String|phpQuery
|
2695 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
2696 |
-
*/
|
2697 |
-
public function wrapInnerPHP($codeBefore, $codeAfter) {
|
2698 |
-
foreach($this->stack(1) as $node)
|
2699 |
-
phpQuery::pq($node, $this->getDocumentID())->contents()
|
2700 |
-
->wrapAllPHP($codeBefore, $codeAfter);
|
2701 |
-
return $this;
|
2702 |
-
}
|
2703 |
-
/**
|
2704 |
-
* Enter description here...
|
2705 |
-
*
|
2706 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
2707 |
-
* @testme Support for text nodes
|
2708 |
-
*/
|
2709 |
-
public function contents() {
|
2710 |
-
$stack = array();
|
2711 |
-
foreach($this->stack(1) as $el) {
|
2712 |
-
// FIXME (fixed) http://code.google.com/p/phpquery/issues/detail?id=56
|
2713 |
-
// if (! isset($el->childNodes))
|
2714 |
-
// continue;
|
2715 |
-
foreach($el->childNodes as $node) {
|
2716 |
-
$stack[] = $node;
|
2717 |
-
}
|
2718 |
-
}
|
2719 |
-
return $this->newInstance($stack);
|
2720 |
-
}
|
2721 |
-
/**
|
2722 |
-
* Enter description here...
|
2723 |
-
*
|
2724 |
-
* jQuery difference.
|
2725 |
-
*
|
2726 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
2727 |
-
*/
|
2728 |
-
public function contentsUnwrap() {
|
2729 |
-
foreach($this->stack(1) as $node) {
|
2730 |
-
if (! $node->parentNode )
|
2731 |
-
continue;
|
2732 |
-
$childNodes = array();
|
2733 |
-
// any modification in DOM tree breaks childNodes iteration, so cache them first
|
2734 |
-
foreach($node->childNodes as $chNode )
|
2735 |
-
$childNodes[] = $chNode;
|
2736 |
-
foreach($childNodes as $chNode )
|
2737 |
-
// $node->parentNode->appendChild($chNode);
|
2738 |
-
$node->parentNode->insertBefore($chNode, $node);
|
2739 |
-
$node->parentNode->removeChild($node);
|
2740 |
-
}
|
2741 |
-
return $this;
|
2742 |
-
}
|
2743 |
-
/**
|
2744 |
-
* Enter description here...
|
2745 |
-
*
|
2746 |
-
* jQuery difference.
|
2747 |
-
*/
|
2748 |
-
public function switchWith($markup) {
|
2749 |
-
$markup = pq($markup, $this->getDocumentID());
|
2750 |
-
$content = null;
|
2751 |
-
foreach($this->stack(1) as $node) {
|
2752 |
-
pq($node)
|
2753 |
-
->contents()->toReference($content)->end()
|
2754 |
-
->replaceWith($markup->clone()->append($content));
|
2755 |
-
}
|
2756 |
-
return $this;
|
2757 |
-
}
|
2758 |
-
/**
|
2759 |
-
* Enter description here...
|
2760 |
-
*
|
2761 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
2762 |
-
*/
|
2763 |
-
public function eq($num) {
|
2764 |
-
$oldStack = $this->elements;
|
2765 |
-
$this->elementsBackup = $this->elements;
|
2766 |
-
$this->elements = array();
|
2767 |
-
if ( isset($oldStack[$num]) )
|
2768 |
-
$this->elements[] = $oldStack[$num];
|
2769 |
-
return $this->newInstance();
|
2770 |
-
}
|
2771 |
-
/**
|
2772 |
-
* Enter description here...
|
2773 |
-
*
|
2774 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
2775 |
-
*/
|
2776 |
-
public function size() {
|
2777 |
-
return count($this->elements);
|
2778 |
-
}
|
2779 |
-
/**
|
2780 |
-
* Enter description here...
|
2781 |
-
*
|
2782 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
2783 |
-
* @deprecated Use length as attribute
|
2784 |
-
*/
|
2785 |
-
public function length() {
|
2786 |
-
return $this->size();
|
2787 |
-
}
|
2788 |
-
public function count() {
|
2789 |
-
return $this->size();
|
2790 |
-
}
|
2791 |
-
/**
|
2792 |
-
* Enter description here...
|
2793 |
-
*
|
2794 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
2795 |
-
* @todo $level
|
2796 |
-
*/
|
2797 |
-
public function end($level = 1) {
|
2798 |
-
// $this->elements = array_pop( $this->history );
|
2799 |
-
// return $this;
|
2800 |
-
// $this->previous->DOM = $this->DOM;
|
2801 |
-
// $this->previous->XPath = $this->XPath;
|
2802 |
-
return $this->previous
|
2803 |
-
? $this->previous
|
2804 |
-
: $this;
|
2805 |
-
}
|
2806 |
-
/**
|
2807 |
-
* Enter description here...
|
2808 |
-
* Normal use ->clone() .
|
2809 |
-
*
|
2810 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
2811 |
-
* @access private
|
2812 |
-
*/
|
2813 |
-
public function _clone() {
|
2814 |
-
$newStack = array();
|
2815 |
-
//pr(array('copy... ', $this->whois()));
|
2816 |
-
//$this->dumpHistory('copy');
|
2817 |
-
$this->elementsBackup = $this->elements;
|
2818 |
-
foreach($this->elements as $node) {
|
2819 |
-
$newStack[] = $node->cloneNode(true);
|
2820 |
-
}
|
2821 |
-
$this->elements = $newStack;
|
2822 |
-
return $this->newInstance();
|
2823 |
-
}
|
2824 |
-
/**
|
2825 |
-
* Enter description here...
|
2826 |
-
*
|
2827 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
2828 |
-
*/
|
2829 |
-
public function replaceWithPHP($code) {
|
2830 |
-
return $this->replaceWith(phpQuery::php($code));
|
2831 |
-
}
|
2832 |
-
/**
|
2833 |
-
* Enter description here...
|
2834 |
-
*
|
2835 |
-
* @param String|phpQuery $content
|
2836 |
-
* @link http://docs.jquery.com/Manipulation/replaceWith#content
|
2837 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
2838 |
-
*/
|
2839 |
-
public function replaceWith($content) {
|
2840 |
-
return $this->after($content)->remove();
|
2841 |
-
}
|
2842 |
-
/**
|
2843 |
-
* Enter description here...
|
2844 |
-
*
|
2845 |
-
* @param String $selector
|
2846 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
2847 |
-
* @todo this works ?
|
2848 |
-
*/
|
2849 |
-
public function replaceAll($selector) {
|
2850 |
-
foreach(phpQuery::pq($selector, $this->getDocumentID()) as $node)
|
2851 |
-
phpQuery::pq($node, $this->getDocumentID())
|
2852 |
-
->after($this->_clone())
|
2853 |
-
->remove();
|
2854 |
-
return $this;
|
2855 |
-
}
|
2856 |
-
/**
|
2857 |
-
* Enter description here...
|
2858 |
-
*
|
2859 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
2860 |
-
*/
|
2861 |
-
public function remove($selector = null) {
|
2862 |
-
$loop = $selector
|
2863 |
-
? $this->filter($selector)->elements
|
2864 |
-
: $this->elements;
|
2865 |
-
foreach($loop as $node) {
|
2866 |
-
if (! $node->parentNode )
|
2867 |
-
continue;
|
2868 |
-
if (isset($node->tagName))
|
2869 |
-
$this->debug("Removing '{$node->tagName}'");
|
2870 |
-
$node->parentNode->removeChild($node);
|
2871 |
-
// Mutation event
|
2872 |
-
$event = new DOMEvent(array(
|
2873 |
-
'target' => $node,
|
2874 |
-
'type' => 'DOMNodeRemoved'
|
2875 |
-
));
|
2876 |
-
phpQueryEvents::trigger($this->getDocumentID(),
|
2877 |
-
$event->type, array($event), $node
|
2878 |
-
);
|
2879 |
-
}
|
2880 |
-
return $this;
|
2881 |
-
}
|
2882 |
-
protected function markupEvents($newMarkup, $oldMarkup, $node) {
|
2883 |
-
if ($node->tagName == 'textarea' && $newMarkup != $oldMarkup) {
|
2884 |
-
$event = new DOMEvent(array(
|
2885 |
-
'target' => $node,
|
2886 |
-
'type' => 'change'
|
2887 |
-
));
|
2888 |
-
phpQueryEvents::trigger($this->getDocumentID(),
|
2889 |
-
$event->type, array($event), $node
|
2890 |
-
);
|
2891 |
-
}
|
2892 |
-
}
|
2893 |
-
/**
|
2894 |
-
* jQuey difference
|
2895 |
-
*
|
2896 |
-
* @param $markup
|
2897 |
-
* @return unknown_type
|
2898 |
-
* @TODO trigger change event for textarea
|
2899 |
-
*/
|
2900 |
-
public function markup($markup = null, $callback1 = null, $callback2 = null, $callback3 = null) {
|
2901 |
-
$args = func_get_args();
|
2902 |
-
if ($this->documentWrapper->isXML)
|
2903 |
-
return call_user_func_array(array($this, 'xml'), $args);
|
2904 |
-
else
|
2905 |
-
return call_user_func_array(array($this, 'html'), $args);
|
2906 |
-
}
|
2907 |
-
/**
|
2908 |
-
* jQuey difference
|
2909 |
-
*
|
2910 |
-
* @param $markup
|
2911 |
-
* @return unknown_type
|
2912 |
-
*/
|
2913 |
-
public function markupOuter($callback1 = null, $callback2 = null, $callback3 = null) {
|
2914 |
-
$args = func_get_args();
|
2915 |
-
if ($this->documentWrapper->isXML)
|
2916 |
-
return call_user_func_array(array($this, 'xmlOuter'), $args);
|
2917 |
-
else
|
2918 |
-
return call_user_func_array(array($this, 'htmlOuter'), $args);
|
2919 |
-
}
|
2920 |
-
/**
|
2921 |
-
* Enter description here...
|
2922 |
-
*
|
2923 |
-
* @param unknown_type $html
|
2924 |
-
* @return string|phpQuery|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
2925 |
-
* @TODO force html result
|
2926 |
-
*/
|
2927 |
-
public function html($html = null, $callback1 = null, $callback2 = null, $callback3 = null) {
|
2928 |
-
if (isset($html)) {
|
2929 |
-
// INSERT
|
2930 |
-
$nodes = $this->documentWrapper->import($html);
|
2931 |
-
$this->empty();
|
2932 |
-
foreach($this->stack(1) as $alreadyAdded => $node) {
|
2933 |
-
// for now, limit events for textarea
|
2934 |
-
if (($this->isXHTML() || $this->isHTML()) && $node->tagName == 'textarea')
|
2935 |
-
$oldHtml = pq($node, $this->getDocumentID())->markup();
|
2936 |
-
foreach($nodes as $newNode) {
|
2937 |
-
$node->appendChild($alreadyAdded
|
2938 |
-
? $newNode->cloneNode(true)
|
2939 |
-
: $newNode
|
2940 |
-
);
|
2941 |
-
}
|
2942 |
-
// for now, limit events for textarea
|
2943 |
-
if (($this->isXHTML() || $this->isHTML()) && $node->tagName == 'textarea')
|
2944 |
-
$this->markupEvents($html, $oldHtml, $node);
|
2945 |
-
}
|
2946 |
-
return $this;
|
2947 |
-
} else {
|
2948 |
-
// FETCH
|
2949 |
-
$return = $this->documentWrapper->markup($this->elements, true);
|
2950 |
-
$args = func_get_args();
|
2951 |
-
foreach(array_slice($args, 1) as $callback) {
|
2952 |
-
$return = phpQuery::callbackRun($callback, array($return));
|
2953 |
-
}
|
2954 |
-
return $return;
|
2955 |
-
}
|
2956 |
-
}
|
2957 |
-
/**
|
2958 |
-
* @TODO force xml result
|
2959 |
-
*/
|
2960 |
-
public function xml($xml = null, $callback1 = null, $callback2 = null, $callback3 = null) {
|
2961 |
-
$args = func_get_args();
|
2962 |
-
return call_user_func_array(array($this, 'html'), $args);
|
2963 |
-
}
|
2964 |
-
/**
|
2965 |
-
* Enter description here...
|
2966 |
-
* @TODO force html result
|
2967 |
-
*
|
2968 |
-
* @return String
|
2969 |
-
*/
|
2970 |
-
public function htmlOuter($callback1 = null, $callback2 = null, $callback3 = null) {
|
2971 |
-
$markup = $this->documentWrapper->markup($this->elements);
|
2972 |
-
// pass thou callbacks
|
2973 |
-
$args = func_get_args();
|
2974 |
-
foreach($args as $callback) {
|
2975 |
-
$markup = phpQuery::callbackRun($callback, array($markup));
|
2976 |
-
}
|
2977 |
-
return $markup;
|
2978 |
-
}
|
2979 |
-
/**
|
2980 |
-
* @TODO force xml result
|
2981 |
-
*/
|
2982 |
-
public function xmlOuter($callback1 = null, $callback2 = null, $callback3 = null) {
|
2983 |
-
$args = func_get_args();
|
2984 |
-
return call_user_func_array(array($this, 'htmlOuter'), $args);
|
2985 |
-
}
|
2986 |
-
public function __toString() {
|
2987 |
-
return $this->markupOuter();
|
2988 |
-
}
|
2989 |
-
/**
|
2990 |
-
* Just like html(), but returns markup with VALID (dangerous) PHP tags.
|
2991 |
-
*
|
2992 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
2993 |
-
* @todo support returning markup with PHP tags when called without param
|
2994 |
-
*/
|
2995 |
-
public function php($code = null) {
|
2996 |
-
return $this->markupPHP($code);
|
2997 |
-
}
|
2998 |
-
/**
|
2999 |
-
* Enter description here...
|
3000 |
-
*
|
3001 |
-
* @param $code
|
3002 |
-
* @return unknown_type
|
3003 |
-
*/
|
3004 |
-
public function markupPHP($code = null) {
|
3005 |
-
return isset($code)
|
3006 |
-
? $this->markup(phpQuery::php($code))
|
3007 |
-
: phpQuery::markupToPHP($this->markup());
|
3008 |
-
}
|
3009 |
-
/**
|
3010 |
-
* Enter description here...
|
3011 |
-
*
|
3012 |
-
* @param $code
|
3013 |
-
* @return unknown_type
|
3014 |
-
*/
|
3015 |
-
public function markupOuterPHP() {
|
3016 |
-
return phpQuery::markupToPHP($this->markupOuter());
|
3017 |
-
}
|
3018 |
-
/**
|
3019 |
-
* Enter description here...
|
3020 |
-
*
|
3021 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
3022 |
-
*/
|
3023 |
-
public function children($selector = null) {
|
3024 |
-
$stack = array();
|
3025 |
-
foreach($this->stack(1) as $node) {
|
3026 |
-
// foreach($node->getElementsByTagName('*') as $newNode) {
|
3027 |
-
foreach($node->childNodes as $newNode) {
|
3028 |
-
if ($newNode->nodeType != 1)
|
3029 |
-
continue;
|
3030 |
-
if ($selector && ! $this->is($selector, $newNode))
|
3031 |
-
continue;
|
3032 |
-
if ($this->elementsContainsNode($newNode, $stack))
|
3033 |
-
continue;
|
3034 |
-
$stack[] = $newNode;
|
3035 |
-
}
|
3036 |
-
}
|
3037 |
-
$this->elementsBackup = $this->elements;
|
3038 |
-
$this->elements = $stack;
|
3039 |
-
return $this->newInstance();
|
3040 |
-
}
|
3041 |
-
/**
|
3042 |
-
* Enter description here...
|
3043 |
-
*
|
3044 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
3045 |
-
*/
|
3046 |
-
public function ancestors($selector = null) {
|
3047 |
-
return $this->children( $selector );
|
3048 |
-
}
|
3049 |
-
/**
|
3050 |
-
* Enter description here...
|
3051 |
-
*
|
3052 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
3053 |
-
*/
|
3054 |
-
public function append( $content) {
|
3055 |
-
return $this->insert($content, __FUNCTION__);
|
3056 |
-
}
|
3057 |
-
/**
|
3058 |
-
* Enter description here...
|
3059 |
-
*
|
3060 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
3061 |
-
*/
|
3062 |
-
public function appendPHP( $content) {
|
3063 |
-
return $this->insert("<php><!-- {$content} --></php>", 'append');
|
3064 |
-
}
|
3065 |
-
/**
|
3066 |
-
* Enter description here...
|
3067 |
-
*
|
3068 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
3069 |
-
*/
|
3070 |
-
public function appendTo( $seletor) {
|
3071 |
-
return $this->insert($seletor, __FUNCTION__);
|
3072 |
-
}
|
3073 |
-
/**
|
3074 |
-
* Enter description here...
|
3075 |
-
*
|
3076 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
3077 |
-
*/
|
3078 |
-
public function prepend( $content) {
|
3079 |
-
return $this->insert($content, __FUNCTION__);
|
3080 |
-
}
|
3081 |
-
/**
|
3082 |
-
* Enter description here...
|
3083 |
-
*
|
3084 |
-
* @todo accept many arguments, which are joined, arrays maybe also
|
3085 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
3086 |
-
*/
|
3087 |
-
public function prependPHP( $content) {
|
3088 |
-
return $this->insert("<php><!-- {$content} --></php>", 'prepend');
|
3089 |
-
}
|
3090 |
-
/**
|
3091 |
-
* Enter description here...
|
3092 |
-
*
|
3093 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
3094 |
-
*/
|
3095 |
-
public function prependTo( $seletor) {
|
3096 |
-
return $this->insert($seletor, __FUNCTION__);
|
3097 |
-
}
|
3098 |
-
/**
|
3099 |
-
* Enter description here...
|
3100 |
-
*
|
3101 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
3102 |
-
*/
|
3103 |
-
public function before($content) {
|
3104 |
-
return $this->insert($content, __FUNCTION__);
|
3105 |
-
}
|
3106 |
-
/**
|
3107 |
-
* Enter description here...
|
3108 |
-
*
|
3109 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
3110 |
-
*/
|
3111 |
-
public function beforePHP( $content) {
|
3112 |
-
return $this->insert("<php><!-- {$content} --></php>", 'before');
|
3113 |
-
}
|
3114 |
-
/**
|
3115 |
-
* Enter description here...
|
3116 |
-
*
|
3117 |
-
* @param String|phpQuery
|
3118 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
3119 |
-
*/
|
3120 |
-
public function insertBefore( $seletor) {
|
3121 |
-
return $this->insert($seletor, __FUNCTION__);
|
3122 |
-
}
|
3123 |
-
/**
|
3124 |
-
* Enter description here...
|
3125 |
-
*
|
3126 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
3127 |
-
*/
|
3128 |
-
public function after( $content) {
|
3129 |
-
return $this->insert($content, __FUNCTION__);
|
3130 |
-
}
|
3131 |
-
/**
|
3132 |
-
* Enter description here...
|
3133 |
-
*
|
3134 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
3135 |
-
*/
|
3136 |
-
public function afterPHP( $content) {
|
3137 |
-
return $this->insert("<php><!-- {$content} --></php>", 'after');
|
3138 |
-
}
|
3139 |
-
/**
|
3140 |
-
* Enter description here...
|
3141 |
-
*
|
3142 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
3143 |
-
*/
|
3144 |
-
public function insertAfter( $seletor) {
|
3145 |
-
return $this->insert($seletor, __FUNCTION__);
|
3146 |
-
}
|
3147 |
-
/**
|
3148 |
-
* Internal insert method. Don't use it.
|
3149 |
-
*
|
3150 |
-
* @param unknown_type $target
|
3151 |
-
* @param unknown_type $type
|
3152 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
3153 |
-
* @access private
|
3154 |
-
*/
|
3155 |
-
public function insert($target, $type) {
|
3156 |
-
$this->debug("Inserting data with '{$type}'");
|
3157 |
-
$to = false;
|
3158 |
-
switch( $type) {
|
3159 |
-
case 'appendTo':
|
3160 |
-
case 'prependTo':
|
3161 |
-
case 'insertBefore':
|
3162 |
-
case 'insertAfter':
|
3163 |
-
$to = true;
|
3164 |
-
}
|
3165 |
-
switch(gettype($target)) {
|
3166 |
-
case 'string':
|
3167 |
-
$insertFrom = $insertTo = array();
|
3168 |
-
if ($to) {
|
3169 |
-
// INSERT TO
|
3170 |
-
$insertFrom = $this->elements;
|
3171 |
-
if (phpQuery::isMarkup($target)) {
|
3172 |
-
// $target is new markup, import it
|
3173 |
-
$insertTo = $this->documentWrapper->import($target);
|
3174 |
-
// insert into selected element
|
3175 |
-
} else {
|
3176 |
-
// $tagret is a selector
|
3177 |
-
$thisStack = $this->elements;
|
3178 |
-
$this->toRoot();
|
3179 |
-
$insertTo = $this->find($target)->elements;
|
3180 |
-
$this->elements = $thisStack;
|
3181 |
-
}
|
3182 |
-
} else {
|
3183 |
-
// INSERT FROM
|
3184 |
-
$insertTo = $this->elements;
|
3185 |
-
$insertFrom = $this->documentWrapper->import($target);
|
3186 |
-
}
|
3187 |
-
break;
|
3188 |
-
case 'object':
|
3189 |
-
$insertFrom = $insertTo = array();
|
3190 |
-
// phpQuery
|
3191 |
-
if ($target instanceof self) {
|
3192 |
-
if ($to) {
|
3193 |
-
$insertTo = $target->elements;
|
3194 |
-
if ($this->documentFragment && $this->stackIsRoot())
|
3195 |
-
// get all body children
|
3196 |
-
// $loop = $this->find('body > *')->elements;
|
3197 |
-
// TODO test it, test it hard...
|
3198 |
-
// $loop = $this->newInstance($this->root)->find('> *')->elements;
|
3199 |
-
$loop = $this->root->childNodes;
|
3200 |
-
else
|
3201 |
-
$loop = $this->elements;
|
3202 |
-
// import nodes if needed
|
3203 |
-
$insertFrom = $this->getDocumentID() == $target->getDocumentID()
|
3204 |
-
? $loop
|
3205 |
-
: $target->documentWrapper->import($loop);
|
3206 |
-
} else {
|
3207 |
-
$insertTo = $this->elements;
|
3208 |
-
if ( $target->documentFragment && $target->stackIsRoot() )
|
3209 |
-
// get all body children
|
3210 |
-
// $loop = $target->find('body > *')->elements;
|
3211 |
-
$loop = $target->root->childNodes;
|
3212 |
-
else
|
3213 |
-
$loop = $target->elements;
|
3214 |
-
// import nodes if needed
|
3215 |
-
$insertFrom = $this->getDocumentID() == $target->getDocumentID()
|
3216 |
-
? $loop
|
3217 |
-
: $this->documentWrapper->import($loop);
|
3218 |
-
}
|
3219 |
-
// DOMNODE
|
3220 |
-
} elseif ($target instanceof DOMNODE) {
|
3221 |
-
// import node if needed
|
3222 |
-
// if ( $target->ownerDocument != $this->DOM )
|
3223 |
-
// $target = $this->DOM->importNode($target, true);
|
3224 |
-
if ( $to) {
|
3225 |
-
$insertTo = array($target);
|
3226 |
-
if ($this->documentFragment && $this->stackIsRoot())
|
3227 |
-
// get all body children
|
3228 |
-
$loop = $this->root->childNodes;
|
3229 |
-
// $loop = $this->find('body > *')->elements;
|
3230 |
-
else
|
3231 |
-
$loop = $this->elements;
|
3232 |
-
foreach($loop as $fromNode)
|
3233 |
-
// import nodes if needed
|
3234 |
-
$insertFrom[] = ! $fromNode->ownerDocument->isSameNode($target->ownerDocument)
|
3235 |
-
? $target->ownerDocument->importNode($fromNode, true)
|
3236 |
-
: $fromNode;
|
3237 |
-
} else {
|
3238 |
-
// import node if needed
|
3239 |
-
if (! $target->ownerDocument->isSameNode($this->document))
|
3240 |
-
$target = $this->document->importNode($target, true);
|
3241 |
-
$insertTo = $this->elements;
|
3242 |
-
$insertFrom[] = $target;
|
3243 |
-
}
|
3244 |
-
}
|
3245 |
-
break;
|
3246 |
-
}
|
3247 |
-
phpQuery::debug("From ".count($insertFrom)."; To ".count($insertTo)." nodes");
|
3248 |
-
foreach($insertTo as $insertNumber => $toNode) {
|
3249 |
-
// we need static relative elements in some cases
|
3250 |
-
switch( $type) {
|
3251 |
-
case 'prependTo':
|
3252 |
-
case 'prepend':
|
3253 |
-
$firstChild = $toNode->firstChild;
|
3254 |
-
break;
|
3255 |
-
case 'insertAfter':
|
3256 |
-
case 'after':
|
3257 |
-
$nextSibling = $toNode->nextSibling;
|
3258 |
-
break;
|
3259 |
-
}
|
3260 |
-
foreach($insertFrom as $fromNode) {
|
3261 |
-
// clone if inserted already before
|
3262 |
-
$insert = $insertNumber
|
3263 |
-
? $fromNode->cloneNode(true)
|
3264 |
-
: $fromNode;
|
3265 |
-
switch($type) {
|
3266 |
-
case 'appendTo':
|
3267 |
-
case 'append':
|
3268 |
-
// $toNode->insertBefore(
|
3269 |
-
// $fromNode,
|
3270 |
-
// $toNode->lastChild->nextSibling
|
3271 |
-
// );
|
3272 |
-
$toNode->appendChild($insert);
|
3273 |
-
$eventTarget = $insert;
|
3274 |
-
break;
|
3275 |
-
case 'prependTo':
|
3276 |
-
case 'prepend':
|
3277 |
-
$toNode->insertBefore(
|
3278 |
-
$insert,
|
3279 |
-
$firstChild
|
3280 |
-
);
|
3281 |
-
break;
|
3282 |
-
case 'insertBefore':
|
3283 |
-
case 'before':
|
3284 |
-
if (! $toNode->parentNode)
|
3285 |
-
throw new Exception("No parentNode, can't do {$type}()");
|
3286 |
-
else
|
3287 |
-
$toNode->parentNode->insertBefore(
|
3288 |
-
$insert,
|
3289 |
-
$toNode
|
3290 |
-
);
|
3291 |
-
break;
|
3292 |
-
case 'insertAfter':
|
3293 |
-
case 'after':
|
3294 |
-
if (! $toNode->parentNode)
|
3295 |
-
throw new Exception("No parentNode, can't do {$type}()");
|
3296 |
-
else
|
3297 |
-
$toNode->parentNode->insertBefore(
|
3298 |
-
$insert,
|
3299 |
-
$nextSibling
|
3300 |
-
);
|
3301 |
-
break;
|
3302 |
-
}
|
3303 |
-
// Mutation event
|
3304 |
-
$event = new DOMEvent(array(
|
3305 |
-
'target' => $insert,
|
3306 |
-
'type' => 'DOMNodeInserted'
|
3307 |
-
));
|
3308 |
-
phpQueryEvents::trigger($this->getDocumentID(),
|
3309 |
-
$event->type, array($event), $insert
|
3310 |
-
);
|
3311 |
-
}
|
3312 |
-
}
|
3313 |
-
return $this;
|
3314 |
-
}
|
3315 |
-
/**
|
3316 |
-
* Enter description here...
|
3317 |
-
*
|
3318 |
-
* @return Int
|
3319 |
-
*/
|
3320 |
-
public function index($subject) {
|
3321 |
-
$index = -1;
|
3322 |
-
$subject = $subject instanceof phpQueryObject
|
3323 |
-
? $subject->elements[0]
|
3324 |
-
: $subject;
|
3325 |
-
foreach($this->newInstance() as $k => $node) {
|
3326 |
-
if ($node->isSameNode($subject))
|
3327 |
-
$index = $k;
|
3328 |
-
}
|
3329 |
-
return $index;
|
3330 |
-
}
|
3331 |
-
/**
|
3332 |
-
* Enter description here...
|
3333 |
-
*
|
3334 |
-
* @param unknown_type $start
|
3335 |
-
* @param unknown_type $end
|
3336 |
-
*
|
3337 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
3338 |
-
* @testme
|
3339 |
-
*/
|
3340 |
-
public function slice($start, $end = null) {
|
3341 |
-
// $last = count($this->elements)-1;
|
3342 |
-
// $end = $end
|
3343 |
-
// ? min($end, $last)
|
3344 |
-
// : $last;
|
3345 |
-
// if ($start < 0)
|
3346 |
-
// $start = $last+$start;
|
3347 |
-
// if ($start > $last)
|
3348 |
-
// return array();
|
3349 |
-
if ($end > 0)
|
3350 |
-
$end = $end-$start;
|
3351 |
-
return $this->newInstance(
|
3352 |
-
array_slice($this->elements, $start, $end)
|
3353 |
-
);
|
3354 |
-
}
|
3355 |
-
/**
|
3356 |
-
* Enter description here...
|
3357 |
-
*
|
3358 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
3359 |
-
*/
|
3360 |
-
public function reverse() {
|
3361 |
-
$this->elementsBackup = $this->elements;
|
3362 |
-
$this->elements = array_reverse($this->elements);
|
3363 |
-
return $this->newInstance();
|
3364 |
-
}
|
3365 |
-
/**
|
3366 |
-
* Return joined text content.
|
3367 |
-
* @return String
|
3368 |
-
*/
|
3369 |
-
public function text($text = null, $callback1 = null, $callback2 = null, $callback3 = null) {
|
3370 |
-
if (isset($text))
|
3371 |
-
return $this->html(htmlspecialchars($text));
|
3372 |
-
$args = func_get_args();
|
3373 |
-
$args = array_slice($args, 1);
|
3374 |
-
$return = '';
|
3375 |
-
foreach($this->elements as $node) {
|
3376 |
-
$text = $node->textContent;
|
3377 |
-
if (count($this->elements) > 1 && $text)
|
3378 |
-
$text .= "\n";
|
3379 |
-
foreach($args as $callback) {
|
3380 |
-
$text = phpQuery::callbackRun($callback, array($text));
|
3381 |
-
}
|
3382 |
-
$return .= $text;
|
3383 |
-
}
|
3384 |
-
return $return;
|
3385 |
-
}
|
3386 |
-
/**
|
3387 |
-
* Enter description here...
|
3388 |
-
*
|
3389 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
3390 |
-
*/
|
3391 |
-
public function plugin($class, $file = null) {
|
3392 |
-
phpQuery::plugin($class, $file);
|
3393 |
-
return $this;
|
3394 |
-
}
|
3395 |
-
/**
|
3396 |
-
* Deprecated, use $pq->plugin() instead.
|
3397 |
-
*
|
3398 |
-
* @deprecated
|
3399 |
-
* @param $class
|
3400 |
-
* @param $file
|
3401 |
-
* @return unknown_type
|
3402 |
-
*/
|
3403 |
-
public static function extend($class, $file = null) {
|
3404 |
-
return $this->plugin($class, $file);
|
3405 |
-
}
|
3406 |
-
/**
|
3407 |
-
*
|
3408 |
-
* @access private
|
3409 |
-
* @param $method
|
3410 |
-
* @param $args
|
3411 |
-
* @return unknown_type
|
3412 |
-
*/
|
3413 |
-
public function __call($method, $args) {
|
3414 |
-
$aliasMethods = array('clone', 'empty');
|
3415 |
-
if (isset(phpQuery::$extendMethods[$method])) {
|
3416 |
-
array_unshift($args, $this);
|
3417 |
-
return phpQuery::callbackRun(
|
3418 |
-
phpQuery::$extendMethods[$method], $args
|
3419 |
-
);
|
3420 |
-
} else if (isset(phpQuery::$pluginsMethods[$method])) {
|
3421 |
-
array_unshift($args, $this);
|
3422 |
-
$class = phpQuery::$pluginsMethods[$method];
|
3423 |
-
$realClass = "phpQueryObjectPlugin_$class";
|
3424 |
-
$return = call_user_func_array(
|
3425 |
-
array($realClass, $method),
|
3426 |
-
$args
|
3427 |
-
);
|
3428 |
-
// XXX deprecate ?
|
3429 |
-
return is_null($return)
|
3430 |
-
? $this
|
3431 |
-
: $return;
|
3432 |
-
} else if (in_array($method, $aliasMethods)) {
|
3433 |
-
return call_user_func_array(array($this, '_'.$method), $args);
|
3434 |
-
} else
|
3435 |
-
throw new Exception("Method '{$method}' doesnt exist");
|
3436 |
-
}
|
3437 |
-
/**
|
3438 |
-
* Safe rename of next().
|
3439 |
-
*
|
3440 |
-
* Use it ONLY when need to call next() on an iterated object (in same time).
|
3441 |
-
* Normaly there is no need to do such thing ;)
|
3442 |
-
*
|
3443 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
3444 |
-
* @access private
|
3445 |
-
*/
|
3446 |
-
public function _next($selector = null) {
|
3447 |
-
return $this->newInstance(
|
3448 |
-
$this->getElementSiblings('nextSibling', $selector, true)
|
3449 |
-
);
|
3450 |
-
}
|
3451 |
-
/**
|
3452 |
-
* Use prev() and next().
|
3453 |
-
*
|
3454 |
-
* @deprecated
|
3455 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
3456 |
-
* @access private
|
3457 |
-
*/
|
3458 |
-
public function _prev($selector = null) {
|
3459 |
-
return $this->prev($selector);
|
3460 |
-
}
|
3461 |
-
/**
|
3462 |
-
* Enter description here...
|
3463 |
-
*
|
3464 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
3465 |
-
*/
|
3466 |
-
public function prev($selector = null) {
|
3467 |
-
return $this->newInstance(
|
3468 |
-
$this->getElementSiblings('previousSibling', $selector, true)
|
3469 |
-
);
|
3470 |
-
}
|
3471 |
-
/**
|
3472 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
3473 |
-
* @todo
|
3474 |
-
*/
|
3475 |
-
public function prevAll($selector = null) {
|
3476 |
-
return $this->newInstance(
|
3477 |
-
$this->getElementSiblings('previousSibling', $selector)
|
3478 |
-
);
|
3479 |
-
}
|
3480 |
-
/**
|
3481 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
3482 |
-
* @todo FIXME: returns source elements insted of next siblings
|
3483 |
-
*/
|
3484 |
-
public function nextAll($selector = null) {
|
3485 |
-
return $this->newInstance(
|
3486 |
-
$this->getElementSiblings('nextSibling', $selector)
|
3487 |
-
);
|
3488 |
-
}
|
3489 |
-
/**
|
3490 |
-
* @access private
|
3491 |
-
*/
|
3492 |
-
protected function getElementSiblings($direction, $selector = null, $limitToOne = false) {
|
3493 |
-
$stack = array();
|
3494 |
-
$count = 0;
|
3495 |
-
foreach($this->stack() as $node) {
|
3496 |
-
$test = $node;
|
3497 |
-
while( isset($test->{$direction}) && $test->{$direction}) {
|
3498 |
-
$test = $test->{$direction};
|
3499 |
-
if (! $test instanceof DOMELEMENT)
|
3500 |
-
continue;
|
3501 |
-
$stack[] = $test;
|
3502 |
-
if ($limitToOne)
|
3503 |
-
break;
|
3504 |
-
}
|
3505 |
-
}
|
3506 |
-
if ($selector) {
|
3507 |
-
$stackOld = $this->elements;
|
3508 |
-
$this->elements = $stack;
|
3509 |
-
$stack = $this->filter($selector, true)->stack();
|
3510 |
-
$this->elements = $stackOld;
|
3511 |
-
}
|
3512 |
-
return $stack;
|
3513 |
-
}
|
3514 |
-
/**
|
3515 |
-
* Enter description here...
|
3516 |
-
*
|
3517 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
3518 |
-
*/
|
3519 |
-
public function siblings($selector = null) {
|
3520 |
-
$stack = array();
|
3521 |
-
$siblings = array_merge(
|
3522 |
-
$this->getElementSiblings('previousSibling', $selector),
|
3523 |
-
$this->getElementSiblings('nextSibling', $selector)
|
3524 |
-
);
|
3525 |
-
foreach($siblings as $node) {
|
3526 |
-
if (! $this->elementsContainsNode($node, $stack))
|
3527 |
-
$stack[] = $node;
|
3528 |
-
}
|
3529 |
-
return $this->newInstance($stack);
|
3530 |
-
}
|
3531 |
-
/**
|
3532 |
-
* Enter description here...
|
3533 |
-
*
|
3534 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
3535 |
-
*/
|
3536 |
-
public function not($selector = null) {
|
3537 |
-
if (is_string($selector))
|
3538 |
-
phpQuery::debug(array('not', $selector));
|
3539 |
-
else
|
3540 |
-
phpQuery::debug('not');
|
3541 |
-
$stack = array();
|
3542 |
-
if ($selector instanceof self || $selector instanceof DOMNODE) {
|
3543 |
-
foreach($this->stack() as $node) {
|
3544 |
-
if ($selector instanceof self) {
|
3545 |
-
$matchFound = false;
|
3546 |
-
foreach($selector->stack() as $notNode) {
|
3547 |
-
if ($notNode->isSameNode($node))
|
3548 |
-
$matchFound = true;
|
3549 |
-
}
|
3550 |
-
if (! $matchFound)
|
3551 |
-
$stack[] = $node;
|
3552 |
-
} else if ($selector instanceof DOMNODE) {
|
3553 |
-
if (! $selector->isSameNode($node))
|
3554 |
-
$stack[] = $node;
|
3555 |
-
} else {
|
3556 |
-
if (! $this->is($selector))
|
3557 |
-
$stack[] = $node;
|
3558 |
-
}
|
3559 |
-
}
|
3560 |
-
} else {
|
3561 |
-
$orgStack = $this->stack();
|
3562 |
-
$matched = $this->filter($selector, true)->stack();
|
3563 |
-
// $matched = array();
|
3564 |
-
// // simulate OR in filter() instead of AND 5y
|
3565 |
-
// foreach($this->parseSelector($selector) as $s) {
|
3566 |
-
// $matched = array_merge($matched,
|
3567 |
-
// $this->filter(array($s))->stack()
|
3568 |
-
// );
|
3569 |
-
// }
|
3570 |
-
foreach($orgStack as $node)
|
3571 |
-
if (! $this->elementsContainsNode($node, $matched))
|
3572 |
-
$stack[] = $node;
|
3573 |
-
}
|
3574 |
-
return $this->newInstance($stack);
|
3575 |
-
}
|
3576 |
-
/**
|
3577 |
-
* Enter description here...
|
3578 |
-
*
|
3579 |
-
* @param string|phpQueryObject
|
3580 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
3581 |
-
*/
|
3582 |
-
public function add($selector = null) {
|
3583 |
-
if (! $selector)
|
3584 |
-
return $this;
|
3585 |
-
$stack = array();
|
3586 |
-
$this->elementsBackup = $this->elements;
|
3587 |
-
$found = phpQuery::pq($selector, $this->getDocumentID());
|
3588 |
-
$this->merge($found->elements);
|
3589 |
-
return $this->newInstance();
|
3590 |
-
}
|
3591 |
-
/**
|
3592 |
-
* @access private
|
3593 |
-
*/
|
3594 |
-
protected function merge() {
|
3595 |
-
foreach(func_get_args() as $nodes)
|
3596 |
-
foreach($nodes as $newNode )
|
3597 |
-
if (! $this->elementsContainsNode($newNode) )
|
3598 |
-
$this->elements[] = $newNode;
|
3599 |
-
}
|
3600 |
-
/**
|
3601 |
-
* @access private
|
3602 |
-
* TODO refactor to stackContainsNode
|
3603 |
-
*/
|
3604 |
-
protected function elementsContainsNode($nodeToCheck, $elementsStack = null) {
|
3605 |
-
$loop = ! is_null($elementsStack)
|
3606 |
-
? $elementsStack
|
3607 |
-
: $this->elements;
|
3608 |
-
foreach($loop as $node) {
|
3609 |
-
if ( $node->isSameNode( $nodeToCheck ) )
|
3610 |
-
return true;
|
3611 |
-
}
|
3612 |
-
return false;
|
3613 |
-
}
|
3614 |
-
/**
|
3615 |
-
* Enter description here...
|
3616 |
-
*
|
3617 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
3618 |
-
*/
|
3619 |
-
public function parent($selector = null) {
|
3620 |
-
$stack = array();
|
3621 |
-
foreach($this->elements as $node )
|
3622 |
-
if ( $node->parentNode && ! $this->elementsContainsNode($node->parentNode, $stack) )
|
3623 |
-
$stack[] = $node->parentNode;
|
3624 |
-
$this->elementsBackup = $this->elements;
|
3625 |
-
$this->elements = $stack;
|
3626 |
-
if ( $selector )
|
3627 |
-
$this->filter($selector, true);
|
3628 |
-
return $this->newInstance();
|
3629 |
-
}
|
3630 |
-
/**
|
3631 |
-
* Enter description here...
|
3632 |
-
*
|
3633 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
3634 |
-
*/
|
3635 |
-
public function parents($selector = null) {
|
3636 |
-
$stack = array();
|
3637 |
-
if (! $this->elements )
|
3638 |
-
$this->debug('parents() - stack empty');
|
3639 |
-
foreach($this->elements as $node) {
|
3640 |
-
$test = $node;
|
3641 |
-
while( $test->parentNode) {
|
3642 |
-
$test = $test->parentNode;
|
3643 |
-
if ($this->isRoot($test))
|
3644 |
-
break;
|
3645 |
-
if (! $this->elementsContainsNode($test, $stack)) {
|
3646 |
-
$stack[] = $test;
|
3647 |
-
continue;
|
3648 |
-
}
|
3649 |
-
}
|
3650 |
-
}
|
3651 |
-
$this->elementsBackup = $this->elements;
|
3652 |
-
$this->elements = $stack;
|
3653 |
-
if ( $selector )
|
3654 |
-
$this->filter($selector, true);
|
3655 |
-
return $this->newInstance();
|
3656 |
-
}
|
3657 |
-
/**
|
3658 |
-
* Internal stack iterator.
|
3659 |
-
*
|
3660 |
-
* @access private
|
3661 |
-
*/
|
3662 |
-
public function stack($nodeTypes = null) {
|
3663 |
-
if (!isset($nodeTypes))
|
3664 |
-
return $this->elements;
|
3665 |
-
if (!is_array($nodeTypes))
|
3666 |
-
$nodeTypes = array($nodeTypes);
|
3667 |
-
$return = array();
|
3668 |
-
foreach($this->elements as $node) {
|
3669 |
-
if (in_array($node->nodeType, $nodeTypes))
|
3670 |
-
$return[] = $node;
|
3671 |
-
}
|
3672 |
-
return $return;
|
3673 |
-
}
|
3674 |
-
// TODO phpdoc; $oldAttr is result of hasAttribute, before any changes
|
3675 |
-
protected function attrEvents($attr, $oldAttr, $oldValue, $node) {
|
3676 |
-
// skip events for XML documents
|
3677 |
-
if (! $this->isXHTML() && ! $this->isHTML())
|
3678 |
-
return;
|
3679 |
-
$event = null;
|
3680 |
-
// identify
|
3681 |
-
$isInputValue = $node->tagName == 'input'
|
3682 |
-
&& (
|
3683 |
-
in_array($node->getAttribute('type'),
|
3684 |
-
array('text', 'password', 'hidden'))
|
3685 |
-
|| !$node->getAttribute('type')
|
3686 |
-
);
|
3687 |
-
$isRadio = $node->tagName == 'input'
|
3688 |
-
&& $node->getAttribute('type') == 'radio';
|
3689 |
-
$isCheckbox = $node->tagName == 'input'
|
3690 |
-
&& $node->getAttribute('type') == 'checkbox';
|
3691 |
-
$isOption = $node->tagName == 'option';
|
3692 |
-
if ($isInputValue && $attr == 'value' && $oldValue != $node->getAttribute($attr)) {
|
3693 |
-
$event = new DOMEvent(array(
|
3694 |
-
'target' => $node,
|
3695 |
-
'type' => 'change'
|
3696 |
-
));
|
3697 |
-
} else if (($isRadio || $isCheckbox) && $attr == 'checked' && (
|
3698 |
-
// check
|
3699 |
-
(! $oldAttr && $node->hasAttribute($attr))
|
3700 |
-
// un-check
|
3701 |
-
|| (! $node->hasAttribute($attr) && $oldAttr)
|
3702 |
-
)) {
|
3703 |
-
$event = new DOMEvent(array(
|
3704 |
-
'target' => $node,
|
3705 |
-
'type' => 'change'
|
3706 |
-
));
|
3707 |
-
} else if ($isOption && $node->parentNode && $attr == 'selected' && (
|
3708 |
-
// select
|
3709 |
-
(! $oldAttr && $node->hasAttribute($attr))
|
3710 |
-
// un-select
|
3711 |
-
|| (! $node->hasAttribute($attr) && $oldAttr)
|
3712 |
-
)) {
|
3713 |
-
$event = new DOMEvent(array(
|
3714 |
-
'target' => $node->parentNode,
|
3715 |
-
'type' => 'change'
|
3716 |
-
));
|
3717 |
-
}
|
3718 |
-
if ($event) {
|
3719 |
-
phpQueryEvents::trigger($this->getDocumentID(),
|
3720 |
-
$event->type, array($event), $node
|
3721 |
-
);
|
3722 |
-
}
|
3723 |
-
}
|
3724 |
-
public function attr($attr = null, $value = null) {
|
3725 |
-
foreach($this->stack(1) as $node) {
|
3726 |
-
if (! is_null($value)) {
|
3727 |
-
$loop = $attr == '*'
|
3728 |
-
? $this->getNodeAttrs($node)
|
3729 |
-
: array($attr);
|
3730 |
-
foreach($loop as $a) {
|
3731 |
-
$oldValue = $node->getAttribute($a);
|
3732 |
-
$oldAttr = $node->hasAttribute($a);
|
3733 |
-
// TODO raises an error when charset other than UTF-8
|
3734 |
-
// while document's charset is also not UTF-8
|
3735 |
-
@$node->setAttribute($a, $value);
|
3736 |
-
$this->attrEvents($a, $oldAttr, $oldValue, $node);
|
3737 |
-
}
|
3738 |
-
} else if ($attr == '*') {
|
3739 |
-
// jQuery difference
|
3740 |
-
$return = array();
|
3741 |
-
foreach($node->attributes as $n => $v)
|
3742 |
-
$return[$n] = $v->value;
|
3743 |
-
return $return;
|
3744 |
-
} else
|
3745 |
-
return $node->hasAttribute($attr)
|
3746 |
-
? $node->getAttribute($attr)
|
3747 |
-
: null;
|
3748 |
-
}
|
3749 |
-
return is_null($value)
|
3750 |
-
? '' : $this;
|
3751 |
-
}
|
3752 |
-
/**
|
3753 |
-
* @access private
|
3754 |
-
*/
|
3755 |
-
protected function getNodeAttrs($node) {
|
3756 |
-
$return = array();
|
3757 |
-
foreach($node->attributes as $n => $o)
|
3758 |
-
$return[] = $n;
|
3759 |
-
return $return;
|
3760 |
-
}
|
3761 |
-
/**
|
3762 |
-
* Enter description here...
|
3763 |
-
*
|
3764 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
3765 |
-
* @todo check CDATA ???
|
3766 |
-
*/
|
3767 |
-
public function attrPHP($attr, $code) {
|
3768 |
-
if (! is_null($code)) {
|
3769 |
-
$value = '<'.'?php '.$code.' ?'.'>';
|
3770 |
-
// TODO tempolary solution
|
3771 |
-
// http://code.google.com/p/phpquery/issues/detail?id=17
|
3772 |
-
// if (function_exists('mb_detect_encoding') && mb_detect_encoding($value) == 'ASCII')
|
3773 |
-
// $value = mb_convert_encoding($value, 'UTF-8', 'HTML-ENTITIES');
|
3774 |
-
}
|
3775 |
-
foreach($this->stack(1) as $node) {
|
3776 |
-
if (! is_null($code)) {
|
3777 |
-
// $attrNode = $this->DOM->createAttribute($attr);
|
3778 |
-
$node->setAttribute($attr, $value);
|
3779 |
-
// $attrNode->value = $value;
|
3780 |
-
// $node->appendChild($attrNode);
|
3781 |
-
} else if ( $attr == '*') {
|
3782 |
-
// jQuery diff
|
3783 |
-
$return = array();
|
3784 |
-
foreach($node->attributes as $n => $v)
|
3785 |
-
$return[$n] = $v->value;
|
3786 |
-
return $return;
|
3787 |
-
} else
|
3788 |
-
return $node->getAttribute($attr);
|
3789 |
-
}
|
3790 |
-
return $this;
|
3791 |
-
}
|
3792 |
-
/**
|
3793 |
-
* Enter description here...
|
3794 |
-
*
|
3795 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
3796 |
-
*/
|
3797 |
-
public function removeAttr($attr) {
|
3798 |
-
foreach($this->stack(1) as $node) {
|
3799 |
-
$loop = $attr == '*'
|
3800 |
-
? $this->getNodeAttrs($node)
|
3801 |
-
: array($attr);
|
3802 |
-
foreach($loop as $a) {
|
3803 |
-
$oldValue = $node->getAttribute($a);
|
3804 |
-
$node->removeAttribute($a);
|
3805 |
-
$this->attrEvents($a, $oldValue, null, $node);
|
3806 |
-
}
|
3807 |
-
}
|
3808 |
-
return $this;
|
3809 |
-
}
|
3810 |
-
/**
|
3811 |
-
* Return form element value.
|
3812 |
-
*
|
3813 |
-
* @return String Fields value.
|
3814 |
-
*/
|
3815 |
-
public function val($val = null) {
|
3816 |
-
if (! isset($val)) {
|
3817 |
-
if ($this->eq(0)->is('select')) {
|
3818 |
-
$selected = $this->eq(0)->find('option[selected=selected]');
|
3819 |
-
if ($selected->is('[value]'))
|
3820 |
-
return $selected->attr('value');
|
3821 |
-
else
|
3822 |
-
return $selected->text();
|
3823 |
-
} else if ($this->eq(0)->is('textarea'))
|
3824 |
-
return $this->eq(0)->markup();
|
3825 |
-
else
|
3826 |
-
return $this->eq(0)->attr('value');
|
3827 |
-
} else {
|
3828 |
-
$_val = null;
|
3829 |
-
foreach($this->stack(1) as $node) {
|
3830 |
-
$node = pq($node, $this->getDocumentID());
|
3831 |
-
if (is_array($val) && in_array($node->attr('type'), array('checkbox', 'radio'))) {
|
3832 |
-
$isChecked = in_array($node->attr('value'), $val)
|
3833 |
-
|| in_array($node->attr('name'), $val);
|
3834 |
-
if ($isChecked)
|
3835 |
-
$node->attr('checked', 'checked');
|
3836 |
-
else
|
3837 |
-
$node->removeAttr('checked');
|
3838 |
-
} else if ($node->get(0)->tagName == 'select') {
|
3839 |
-
if (! isset($_val)) {
|
3840 |
-
$_val = array();
|
3841 |
-
if (! is_array($val))
|
3842 |
-
$_val = array((string)$val);
|
3843 |
-
else
|
3844 |
-
foreach($val as $v)
|
3845 |
-
$_val[] = $v;
|
3846 |
-
}
|
3847 |
-
foreach($node['option']->stack(1) as $option) {
|
3848 |
-
$option = pq($option, $this->getDocumentID());
|
3849 |
-
$selected = false;
|
3850 |
-
// XXX: workaround for string comparsion, see issue #96
|
3851 |
-
// http://code.google.com/p/phpquery/issues/detail?id=96
|
3852 |
-
$selected = is_null($option->attr('value'))
|
3853 |
-
? in_array($option->markup(), $_val)
|
3854 |
-
: in_array($option->attr('value'), $_val);
|
3855 |
-
// $optionValue = $option->attr('value');
|
3856 |
-
// $optionText = $option->text();
|
3857 |
-
// $optionTextLenght = mb_strlen($optionText);
|
3858 |
-
// foreach($_val as $v)
|
3859 |
-
// if ($optionValue == $v)
|
3860 |
-
// $selected = true;
|
3861 |
-
// else if ($optionText == $v && $optionTextLenght == mb_strlen($v))
|
3862 |
-
// $selected = true;
|
3863 |
-
if ($selected)
|
3864 |
-
$option->attr('selected', 'selected');
|
3865 |
-
else
|
3866 |
-
$option->removeAttr('selected');
|
3867 |
-
}
|
3868 |
-
} else if ($node->get(0)->tagName == 'textarea')
|
3869 |
-
$node->markup($val);
|
3870 |
-
else
|
3871 |
-
$node->attr('value', $val);
|
3872 |
-
}
|
3873 |
-
}
|
3874 |
-
return $this;
|
3875 |
-
}
|
3876 |
-
/**
|
3877 |
-
* Enter description here...
|
3878 |
-
*
|
3879 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
3880 |
-
*/
|
3881 |
-
public function andSelf() {
|
3882 |
-
if ( $this->previous )
|
3883 |
-
$this->elements = array_merge($this->elements, $this->previous->elements);
|
3884 |
-
return $this;
|
3885 |
-
}
|
3886 |
-
/**
|
3887 |
-
* Enter description here...
|
3888 |
-
*
|
3889 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
3890 |
-
*/
|
3891 |
-
public function addClass( $className) {
|
3892 |
-
if (! $className)
|
3893 |
-
return $this;
|
3894 |
-
foreach($this->stack(1) as $node) {
|
3895 |
-
if (! $this->is(".$className", $node))
|
3896 |
-
$node->setAttribute(
|
3897 |
-
'class',
|
3898 |
-
trim($node->getAttribute('class').' '.$className)
|
3899 |
-
);
|
3900 |
-
}
|
3901 |
-
return $this;
|
3902 |
-
}
|
3903 |
-
/**
|
3904 |
-
* Enter description here...
|
3905 |
-
*
|
3906 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
3907 |
-
*/
|
3908 |
-
public function addClassPHP( $className) {
|
3909 |
-
foreach($this->stack(1) as $node) {
|
3910 |
-
$classes = $node->getAttribute('class');
|
3911 |
-
$newValue = $classes
|
3912 |
-
? $classes.' <'.'?php '.$className.' ?'.'>'
|
3913 |
-
: '<'.'?php '.$className.' ?'.'>';
|
3914 |
-
$node->setAttribute('class', $newValue);
|
3915 |
-
}
|
3916 |
-
return $this;
|
3917 |
-
}
|
3918 |
-
/**
|
3919 |
-
* Enter description here...
|
3920 |
-
*
|
3921 |
-
* @param string $className
|
3922 |
-
* @return bool
|
3923 |
-
*/
|
3924 |
-
public function hasClass($className) {
|
3925 |
-
foreach($this->stack(1) as $node) {
|
3926 |
-
if ( $this->is(".$className", $node))
|
3927 |
-
return true;
|
3928 |
-
}
|
3929 |
-
return false;
|
3930 |
-
}
|
3931 |
-
/**
|
3932 |
-
* Enter description here...
|
3933 |
-
*
|
3934 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
3935 |
-
*/
|
3936 |
-
public function removeClass($className) {
|
3937 |
-
foreach($this->stack(1) as $node) {
|
3938 |
-
$classes = explode( ' ', $node->getAttribute('class'));
|
3939 |
-
if ( in_array($className, $classes)) {
|
3940 |
-
$classes = array_diff($classes, array($className));
|
3941 |
-
if ( $classes )
|
3942 |
-
$node->setAttribute('class', implode(' ', $classes));
|
3943 |
-
else
|
3944 |
-
$node->removeAttribute('class');
|
3945 |
-
}
|
3946 |
-
}
|
3947 |
-
return $this;
|
3948 |
-
}
|
3949 |
-
/**
|
3950 |
-
* Enter description here...
|
3951 |
-
*
|
3952 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
3953 |
-
*/
|
3954 |
-
public function toggleClass($className) {
|
3955 |
-
foreach($this->stack(1) as $node) {
|
3956 |
-
if ( $this->is( $node, '.'.$className ))
|
3957 |
-
$this->removeClass($className);
|
3958 |
-
else
|
3959 |
-
$this->addClass($className);
|
3960 |
-
}
|
3961 |
-
return $this;
|
3962 |
-
}
|
3963 |
-
/**
|
3964 |
-
* Proper name without underscore (just ->empty()) also works.
|
3965 |
-
*
|
3966 |
-
* Removes all child nodes from the set of matched elements.
|
3967 |
-
*
|
3968 |
-
* Example:
|
3969 |
-
* pq("p")._empty()
|
3970 |
-
*
|
3971 |
-
* HTML:
|
3972 |
-
* <p>Hello, <span>Person</span> <a href="#">and person</a></p>
|
3973 |
-
*
|
3974 |
-
* Result:
|
3975 |
-
* [ <p></p> ]
|
3976 |
-
*
|
3977 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
3978 |
-
* @access private
|
3979 |
-
*/
|
3980 |
-
public function _empty() {
|
3981 |
-
foreach($this->stack(1) as $node) {
|
3982 |
-
// thx to 'dave at dgx dot cz'
|
3983 |
-
$node->nodeValue = '';
|
3984 |
-
}
|
3985 |
-
return $this;
|
3986 |
-
}
|
3987 |
-
/**
|
3988 |
-
* Enter description here...
|
3989 |
-
*
|
3990 |
-
* @param array|string $callback Expects $node as first param, $index as second
|
3991 |
-
* @param array $scope External variables passed to callback. Use compact('varName1', 'varName2'...) and extract($scope)
|
3992 |
-
* @param array $arg1 Will ba passed as third and futher args to callback.
|
3993 |
-
* @param array $arg2 Will ba passed as fourth and futher args to callback, and so on...
|
3994 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
3995 |
-
*/
|
3996 |
-
public function each($callback, $param1 = null, $param2 = null, $param3 = null) {
|
3997 |
-
$paramStructure = null;
|
3998 |
-
if (func_num_args() > 1) {
|
3999 |
-
$paramStructure = func_get_args();
|
4000 |
-
$paramStructure = array_slice($paramStructure, 1);
|
4001 |
-
}
|
4002 |
-
foreach($this->elements as $v)
|
4003 |
-
phpQuery::callbackRun($callback, array($v), $paramStructure);
|
4004 |
-
return $this;
|
4005 |
-
}
|
4006 |
-
/**
|
4007 |
-
* Run callback on actual object.
|
4008 |
-
*
|
4009 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
4010 |
-
*/
|
4011 |
-
public function callback($callback, $param1 = null, $param2 = null, $param3 = null) {
|
4012 |
-
$params = func_get_args();
|
4013 |
-
$params[0] = $this;
|
4014 |
-
phpQuery::callbackRun($callback, $params);
|
4015 |
-
return $this;
|
4016 |
-
}
|
4017 |
-
/**
|
4018 |
-
* Enter description here...
|
4019 |
-
*
|
4020 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
4021 |
-
* @todo add $scope and $args as in each() ???
|
4022 |
-
*/
|
4023 |
-
public function map($callback, $param1 = null, $param2 = null, $param3 = null) {
|
4024 |
-
// $stack = array();
|
4025 |
-
//// foreach($this->newInstance() as $node) {
|
4026 |
-
// foreach($this->newInstance() as $node) {
|
4027 |
-
// $result = call_user_func($callback, $node);
|
4028 |
-
// if ($result)
|
4029 |
-
// $stack[] = $result;
|
4030 |
-
// }
|
4031 |
-
$params = func_get_args();
|
4032 |
-
array_unshift($params, $this->elements);
|
4033 |
-
return $this->newInstance(
|
4034 |
-
call_user_func_array(array('phpQuery', 'map'), $params)
|
4035 |
-
// phpQuery::map($this->elements, $callback)
|
4036 |
-
);
|
4037 |
-
}
|
4038 |
-
/**
|
4039 |
-
* Enter description here...
|
4040 |
-
*
|
4041 |
-
* @param <type> $key
|
4042 |
-
* @param <type> $value
|
4043 |
-
*/
|
4044 |
-
public function data($key, $value = null) {
|
4045 |
-
if (! isset($value)) {
|
4046 |
-
// TODO? implement specific jQuery behavior od returning parent values
|
4047 |
-
// is child which we look up doesn't exist
|
4048 |
-
return phpQuery::data($this->get(0), $key, $value, $this->getDocumentID());
|
4049 |
-
} else {
|
4050 |
-
foreach($this as $node)
|
4051 |
-
phpQuery::data($node, $key, $value, $this->getDocumentID());
|
4052 |
-
return $this;
|
4053 |
-
}
|
4054 |
-
}
|
4055 |
-
/**
|
4056 |
-
* Enter description here...
|
4057 |
-
*
|
4058 |
-
* @param <type> $key
|
4059 |
-
*/
|
4060 |
-
public function removeData($key) {
|
4061 |
-
foreach($this as $node)
|
4062 |
-
phpQuery::removeData($node, $key, $this->getDocumentID());
|
4063 |
-
return $this;
|
4064 |
-
}
|
4065 |
-
// INTERFACE IMPLEMENTATIONS
|
4066 |
-
|
4067 |
-
// ITERATOR INTERFACE
|
4068 |
-
/**
|
4069 |
-
* @access private
|
4070 |
-
*/
|
4071 |
-
public function rewind(){
|
4072 |
-
$this->debug('iterating foreach');
|
4073 |
-
// phpQuery::selectDocument($this->getDocumentID());
|
4074 |
-
$this->elementsBackup = $this->elements;
|
4075 |
-
$this->elementsInterator = $this->elements;
|
4076 |
-
$this->valid = isset( $this->elements[0] )
|
4077 |
-
? 1 : 0;
|
4078 |
-
// $this->elements = $this->valid
|
4079 |
-
// ? array($this->elements[0])
|
4080 |
-
// : array();
|
4081 |
-
$this->current = 0;
|
4082 |
-
}
|
4083 |
-
/**
|
4084 |
-
* @access private
|
4085 |
-
*/
|
4086 |
-
public function current(){
|
4087 |
-
return $this->elementsInterator[ $this->current ];
|
4088 |
-
}
|
4089 |
-
/**
|
4090 |
-
* @access private
|
4091 |
-
*/
|
4092 |
-
public function key(){
|
4093 |
-
return $this->current;
|
4094 |
-
}
|
4095 |
-
/**
|
4096 |
-
* Double-function method.
|
4097 |
-
*
|
4098 |
-
* First: main iterator interface method.
|
4099 |
-
* Second: Returning next sibling, alias for _next().
|
4100 |
-
*
|
4101 |
-
* Proper functionality is choosed automagicaly.
|
4102 |
-
*
|
4103 |
-
* @see phpQueryObject::_next()
|
4104 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
4105 |
-
*/
|
4106 |
-
public function next($cssSelector = null){
|
4107 |
-
// if ($cssSelector || $this->valid)
|
4108 |
-
// return $this->_next($cssSelector);
|
4109 |
-
$this->valid = isset( $this->elementsInterator[ $this->current+1 ] )
|
4110 |
-
? true
|
4111 |
-
: false;
|
4112 |
-
if (! $this->valid && $this->elementsInterator) {
|
4113 |
-
$this->elementsInterator = null;
|
4114 |
-
} else if ($this->valid) {
|
4115 |
-
$this->current++;
|
4116 |
-
} else {
|
4117 |
-
return $this->_next($cssSelector);
|
4118 |
-
}
|
4119 |
-
}
|
4120 |
-
/**
|
4121 |
-
* @access private
|
4122 |
-
*/
|
4123 |
-
public function valid(){
|
4124 |
-
return $this->valid;
|
4125 |
-
}
|
4126 |
-
// ITERATOR INTERFACE END
|
4127 |
-
// ARRAYACCESS INTERFACE
|
4128 |
-
/**
|
4129 |
-
* @access private
|
4130 |
-
*/
|
4131 |
-
public function offsetExists($offset) {
|
4132 |
-
return $this->find($offset)->size() > 0;
|
4133 |
-
}
|
4134 |
-
/**
|
4135 |
-
* @access private
|
4136 |
-
*/
|
4137 |
-
public function offsetGet($offset) {
|
4138 |
-
return $this->find($offset);
|
4139 |
-
}
|
4140 |
-
/**
|
4141 |
-
* @access private
|
4142 |
-
*/
|
4143 |
-
public function offsetSet($offset, $value) {
|
4144 |
-
// $this->find($offset)->replaceWith($value);
|
4145 |
-
$this->find($offset)->html($value);
|
4146 |
-
}
|
4147 |
-
/**
|
4148 |
-
* @access private
|
4149 |
-
*/
|
4150 |
-
public function offsetUnset($offset) {
|
4151 |
-
// empty
|
4152 |
-
throw new Exception("Can't do unset, use array interface only for calling queries and replacing HTML.");
|
4153 |
-
}
|
4154 |
-
// ARRAYACCESS INTERFACE END
|
4155 |
-
/**
|
4156 |
-
* Returns node's XPath.
|
4157 |
-
*
|
4158 |
-
* @param unknown_type $oneNode
|
4159 |
-
* @return string
|
4160 |
-
* @TODO use native getNodePath is avaible
|
4161 |
-
* @access private
|
4162 |
-
*/
|
4163 |
-
protected function getNodeXpath($oneNode = null, $namespace = null) {
|
4164 |
-
$return = array();
|
4165 |
-
$loop = $oneNode
|
4166 |
-
? array($oneNode)
|
4167 |
-
: $this->elements;
|
4168 |
-
// if ($namespace)
|
4169 |
-
// $namespace .= ':';
|
4170 |
-
foreach($loop as $node) {
|
4171 |
-
if ($node instanceof DOMDOCUMENT) {
|
4172 |
-
$return[] = '';
|
4173 |
-
continue;
|
4174 |
-
}
|
4175 |
-
$xpath = array();
|
4176 |
-
while(! ($node instanceof DOMDOCUMENT)) {
|
4177 |
-
$i = 1;
|
4178 |
-
$sibling = $node;
|
4179 |
-
while($sibling->previousSibling) {
|
4180 |
-
$sibling = $sibling->previousSibling;
|
4181 |
-
$isElement = $sibling instanceof DOMELEMENT;
|
4182 |
-
if ($isElement && $sibling->tagName == $node->tagName)
|
4183 |
-
$i++;
|
4184 |
-
}
|
4185 |
-
$xpath[] = $this->isXML()
|
4186 |
-
? "*[local-name()='{$node->tagName}'][{$i}]"
|
4187 |
-
: "{$node->tagName}[{$i}]";
|
4188 |
-
$node = $node->parentNode;
|
4189 |
-
}
|
4190 |
-
$xpath = join('/', array_reverse($xpath));
|
4191 |
-
$return[] = '/'.$xpath;
|
4192 |
-
}
|
4193 |
-
return $oneNode
|
4194 |
-
? $return[0]
|
4195 |
-
: $return;
|
4196 |
-
}
|
4197 |
-
// HELPERS
|
4198 |
-
public function whois($oneNode = null) {
|
4199 |
-
$return = array();
|
4200 |
-
$loop = $oneNode
|
4201 |
-
? array( $oneNode )
|
4202 |
-
: $this->elements;
|
4203 |
-
foreach($loop as $node) {
|
4204 |
-
if (isset($node->tagName)) {
|
4205 |
-
$tag = in_array($node->tagName, array('php', 'js'))
|
4206 |
-
? strtoupper($node->tagName)
|
4207 |
-
: $node->tagName;
|
4208 |
-
$return[] = $tag
|
4209 |
-
.($node->getAttribute('id')
|
4210 |
-
? '#'.$node->getAttribute('id'):'')
|
4211 |
-
.($node->getAttribute('class')
|
4212 |
-
// ? '.'.join('.', split(' ', $node->getAttribute('class'))):'')
|
4213 |
-
? '.'.join('.', preg_split('/ /', $node->getAttribute('class'))):'')
|
4214 |
-
.($node->getAttribute('name')
|
4215 |
-
? '[name="'.$node->getAttribute('name').'"]':'')
|
4216 |
-
.($node->getAttribute('value') && strpos($node->getAttribute('value'), '<'.'?php') === false
|
4217 |
-
? '[value="'.substr(str_replace("\n", '', $node->getAttribute('value')), 0, 15).'"]':'')
|
4218 |
-
.($node->getAttribute('value') && strpos($node->getAttribute('value'), '<'.'?php') !== false
|
4219 |
-
? '[value=PHP]':'')
|
4220 |
-
.($node->getAttribute('selected')
|
4221 |
-
? '[selected]':'')
|
4222 |
-
.($node->getAttribute('checked')
|
4223 |
-
? '[checked]':'')
|
4224 |
-
;
|
4225 |
-
} else if ($node instanceof DOMTEXT) {
|
4226 |
-
if (trim($node->textContent))
|
4227 |
-
$return[] = 'Text:'.substr(str_replace("\n", ' ', $node->textContent), 0, 15);
|
4228 |
-
} else {
|
4229 |
-
|
4230 |
-
}
|
4231 |
-
}
|
4232 |
-
return $oneNode && isset($return[0])
|
4233 |
-
? $return[0]
|
4234 |
-
: $return;
|
4235 |
-
}
|
4236 |
-
/**
|
4237 |
-
* Dump htmlOuter and preserve chain. Usefull for debugging.
|
4238 |
-
*
|
4239 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
4240 |
-
*
|
4241 |
-
*/
|
4242 |
-
public function dump() {
|
4243 |
-
print 'DUMP #'.(phpQuery::$dumpCount++).' ';
|
4244 |
-
$debug = phpQuery::$debug;
|
4245 |
-
phpQuery::$debug = false;
|
4246 |
-
// print __FILE__.':'.__LINE__."\n";
|
4247 |
-
var_dump($this->htmlOuter());
|
4248 |
-
return $this;
|
4249 |
-
}
|
4250 |
-
public function dumpWhois() {
|
4251 |
-
print 'DUMP #'.(phpQuery::$dumpCount++).' ';
|
4252 |
-
$debug = phpQuery::$debug;
|
4253 |
-
phpQuery::$debug = false;
|
4254 |
-
// print __FILE__.':'.__LINE__."\n";
|
4255 |
-
var_dump('whois', $this->whois());
|
4256 |
-
phpQuery::$debug = $debug;
|
4257 |
-
return $this;
|
4258 |
-
}
|
4259 |
-
public function dumpLength() {
|
4260 |
-
print 'DUMP #'.(phpQuery::$dumpCount++).' ';
|
4261 |
-
$debug = phpQuery::$debug;
|
4262 |
-
phpQuery::$debug = false;
|
4263 |
-
// print __FILE__.':'.__LINE__."\n";
|
4264 |
-
var_dump('length', $this->length());
|
4265 |
-
phpQuery::$debug = $debug;
|
4266 |
-
return $this;
|
4267 |
-
}
|
4268 |
-
public function dumpTree($html = true, $title = true) {
|
4269 |
-
$output = $title
|
4270 |
-
? 'DUMP #'.(phpQuery::$dumpCount++)." \n" : '';
|
4271 |
-
$debug = phpQuery::$debug;
|
4272 |
-
phpQuery::$debug = false;
|
4273 |
-
foreach($this->stack() as $node)
|
4274 |
-
// $output .= $this->__dumpTree($node);
|
4275 |
-
$output .= $this->ai_dumpTree($node);
|
4276 |
-
phpQuery::$debug = $debug;
|
4277 |
-
print $html
|
4278 |
-
? nl2br(str_replace(' ', ' ', $output))
|
4279 |
-
: $output;
|
4280 |
-
return $this;
|
4281 |
-
}
|
4282 |
-
// private function __dumpTree($node, $intend = 0) {
|
4283 |
-
private function ai_dumpTree($node, $intend = 0) {
|
4284 |
-
$whois = $this->whois($node);
|
4285 |
-
$return = '';
|
4286 |
-
if ($whois)
|
4287 |
-
$return .= str_repeat(' - ', $intend).$whois."\n";
|
4288 |
-
if (isset($node->childNodes))
|
4289 |
-
foreach($node->childNodes as $chNode)
|
4290 |
-
// $return .= $this->__dumpTree($chNode, $intend+1);
|
4291 |
-
$return .= $this->ai_dumpTree($chNode, $intend+1);
|
4292 |
-
return $return;
|
4293 |
-
}
|
4294 |
-
/**
|
4295 |
-
* Dump htmlOuter and stop script execution. Usefull for debugging.
|
4296 |
-
*
|
4297 |
-
*/
|
4298 |
-
public function dumpDie() {
|
4299 |
-
print __FILE__.':'.__LINE__;
|
4300 |
-
var_dump($this->htmlOuter());
|
4301 |
-
die();
|
4302 |
-
}
|
4303 |
-
}
|
4304 |
-
|
4305 |
-
|
4306 |
-
// -- Multibyte Compatibility functions ---------------------------------------
|
4307 |
-
// http://svn.iphonewebdev.com/lace/lib/mb_compat.php
|
4308 |
-
|
4309 |
-
/**
|
4310 |
-
* mb_internal_encoding()
|
4311 |
-
*
|
4312 |
-
* Included for mbstring pseudo-compatability.
|
4313 |
-
*/
|
4314 |
-
if (!function_exists('mb_internal_encoding'))
|
4315 |
-
{
|
4316 |
-
function mb_internal_encoding($enc) {return true; }
|
4317 |
-
}
|
4318 |
-
|
4319 |
-
/**
|
4320 |
-
* mb_regex_encoding()
|
4321 |
-
*
|
4322 |
-
* Included for mbstring pseudo-compatability.
|
4323 |
-
*/
|
4324 |
-
if (!function_exists('mb_regex_encoding'))
|
4325 |
-
{
|
4326 |
-
function mb_regex_encoding($enc) {return true; }
|
4327 |
-
}
|
4328 |
-
|
4329 |
-
/**
|
4330 |
-
* mb_strlen()
|
4331 |
-
*
|
4332 |
-
* Included for mbstring pseudo-compatability.
|
4333 |
-
*/
|
4334 |
-
if (!function_exists('mb_strlen'))
|
4335 |
-
{
|
4336 |
-
function mb_strlen($str)
|
4337 |
-
{
|
4338 |
-
return strlen($str);
|
4339 |
-
}
|
4340 |
-
}
|
4341 |
-
|
4342 |
-
/**
|
4343 |
-
* mb_strpos()
|
4344 |
-
*
|
4345 |
-
* Included for mbstring pseudo-compatability.
|
4346 |
-
*/
|
4347 |
-
if (!function_exists('mb_strpos'))
|
4348 |
-
{
|
4349 |
-
function mb_strpos($haystack, $needle, $offset=0)
|
4350 |
-
{
|
4351 |
-
return strpos($haystack, $needle, $offset);
|
4352 |
-
}
|
4353 |
-
}
|
4354 |
-
/**
|
4355 |
-
* mb_stripos()
|
4356 |
-
*
|
4357 |
-
* Included for mbstring pseudo-compatability.
|
4358 |
-
*/
|
4359 |
-
if (!function_exists('mb_stripos'))
|
4360 |
-
{
|
4361 |
-
function mb_stripos($haystack, $needle, $offset=0)
|
4362 |
-
{
|
4363 |
-
return stripos($haystack, $needle, $offset);
|
4364 |
-
}
|
4365 |
-
}
|
4366 |
-
|
4367 |
-
/**
|
4368 |
-
* mb_substr()
|
4369 |
-
*
|
4370 |
-
* Included for mbstring pseudo-compatability.
|
4371 |
-
*/
|
4372 |
-
if (!function_exists('mb_substr'))
|
4373 |
-
{
|
4374 |
-
function mb_substr($str, $start, $length=0)
|
4375 |
-
{
|
4376 |
-
return substr($str, $start, $length);
|
4377 |
-
}
|
4378 |
-
}
|
4379 |
-
|
4380 |
-
/**
|
4381 |
-
* mb_substr_count()
|
4382 |
-
*
|
4383 |
-
* Included for mbstring pseudo-compatability.
|
4384 |
-
*/
|
4385 |
-
if (!function_exists('mb_substr_count'))
|
4386 |
-
{
|
4387 |
-
function mb_substr_count($haystack, $needle)
|
4388 |
-
{
|
4389 |
-
return substr_count($haystack, $needle);
|
4390 |
-
}
|
4391 |
-
}
|
4392 |
-
|
4393 |
-
|
4394 |
-
/**
|
4395 |
-
* Static namespace for phpQuery functions.
|
4396 |
-
*
|
4397 |
-
* @author Tobiasz Cudnik <tobiasz.cudnik/gmail.com>
|
4398 |
-
* @package phpQuery
|
4399 |
-
*/
|
4400 |
-
abstract class phpQuery {
|
4401 |
-
/**
|
4402 |
-
* XXX: Workaround for mbstring problems
|
4403 |
-
*
|
4404 |
-
* @var bool
|
4405 |
-
*/
|
4406 |
-
public static $mbstringSupport = true;
|
4407 |
-
public static $debug = false;
|
4408 |
-
public static $documents = array();
|
4409 |
-
public static $defaultDocumentID = null;
|
4410 |
-
// public static $defaultDoctype = 'html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"';
|
4411 |
-
/**
|
4412 |
-
* Applies only to HTML.
|
4413 |
-
*
|
4414 |
-
* @var unknown_type
|
4415 |
-
*/
|
4416 |
-
public static $defaultDoctype = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
4417 |
-
"http://www.w3.org/TR/html4/loose.dtd">';
|
4418 |
-
public static $defaultCharset = 'UTF-8';
|
4419 |
-
/**
|
4420 |
-
* Static namespace for plugins.
|
4421 |
-
*
|
4422 |
-
* @var object
|
4423 |
-
*/
|
4424 |
-
public static $plugins = array();
|
4425 |
-
/**
|
4426 |
-
* List of loaded plugins.
|
4427 |
-
*
|
4428 |
-
* @var unknown_type
|
4429 |
-
*/
|
4430 |
-
public static $pluginsLoaded = array();
|
4431 |
-
public static $pluginsMethods = array();
|
4432 |
-
public static $pluginsStaticMethods = array();
|
4433 |
-
public static $extendMethods = array();
|
4434 |
-
/**
|
4435 |
-
* @TODO implement
|
4436 |
-
*/
|
4437 |
-
public static $extendStaticMethods = array();
|
4438 |
-
/**
|
4439 |
-
* Hosts allowed for AJAX connections.
|
4440 |
-
* Dot '.' means $_SERVER['HTTP_HOST'] (if any).
|
4441 |
-
*
|
4442 |
-
* @var array
|
4443 |
-
*/
|
4444 |
-
public static $ajaxAllowedHosts = array(
|
4445 |
-
'.'
|
4446 |
-
);
|
4447 |
-
/**
|
4448 |
-
* AJAX settings.
|
4449 |
-
*
|
4450 |
-
* @var array
|
4451 |
-
* XXX should it be static or not ?
|
4452 |
-
*/
|
4453 |
-
public static $ajaxSettings = array(
|
4454 |
-
'url' => '',//TODO
|
4455 |
-
'global' => true,
|
4456 |
-
'type' => "GET",
|
4457 |
-
'timeout' => null,
|
4458 |
-
'contentType' => "application/x-www-form-urlencoded",
|
4459 |
-
'processData' => true,
|
4460 |
-
// 'async' => true,
|
4461 |
-
'data' => null,
|
4462 |
-
'username' => null,
|
4463 |
-
'password' => null,
|
4464 |
-
'accepts' => array(
|
4465 |
-
'xml' => "application/xml, text/xml",
|
4466 |
-
'html' => "text/html",
|
4467 |
-
'script' => "text/javascript, application/javascript",
|
4468 |
-
'json' => "application/json, text/javascript",
|
4469 |
-
'text' => "text/plain",
|
4470 |
-
'_default' => "*/*"
|
4471 |
-
)
|
4472 |
-
);
|
4473 |
-
public static $lastModified = null;
|
4474 |
-
public static $active = 0;
|
4475 |
-
public static $dumpCount = 0;
|
4476 |
-
/**
|
4477 |
-
* Multi-purpose function.
|
4478 |
-
* Use pq() as shortcut.
|
4479 |
-
*
|
4480 |
-
* In below examples, $pq is any result of pq(); function.
|
4481 |
-
*
|
4482 |
-
* 1. Import markup into existing document (without any attaching):
|
4483 |
-
* - Import into selected document:
|
4484 |
-
* pq('<div/>') // DOESNT accept text nodes at beginning of input string !
|
4485 |
-
* - Import into document with ID from $pq->getDocumentID():
|
4486 |
-
* pq('<div/>', $pq->getDocumentID())
|
4487 |
-
* - Import into same document as DOMNode belongs to:
|
4488 |
-
* pq('<div/>', DOMNode)
|
4489 |
-
* - Import into document from phpQuery object:
|
4490 |
-
* pq('<div/>', $pq)
|
4491 |
-
*
|
4492 |
-
* 2. Run query:
|
4493 |
-
* - Run query on last selected document:
|
4494 |
-
* pq('div.myClass')
|
4495 |
-
* - Run query on document with ID from $pq->getDocumentID():
|
4496 |
-
* pq('div.myClass', $pq->getDocumentID())
|
4497 |
-
* - Run query on same document as DOMNode belongs to and use node(s)as root for query:
|
4498 |
-
* pq('div.myClass', DOMNode)
|
4499 |
-
* - Run query on document from phpQuery object
|
4500 |
-
* and use object's stack as root node(s) for query:
|
4501 |
-
* pq('div.myClass', $pq)
|
4502 |
-
*
|
4503 |
-
* @param string|DOMNode|DOMNodeList|array $arg1 HTML markup, CSS Selector, DOMNode or array of DOMNodes
|
4504 |
-
* @param string|phpQueryObject|DOMNode $context DOM ID from $pq->getDocumentID(), phpQuery object (determines also query root) or DOMNode (determines also query root)
|
4505 |
-
*
|
4506 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery|QueryTemplatesPhpQuery|false
|
4507 |
-
* phpQuery object or false in case of error.
|
4508 |
-
*/
|
4509 |
-
public static function pq($arg1, $context = null) {
|
4510 |
-
if ($arg1 instanceof DOMNODE && ! isset($context)) {
|
4511 |
-
foreach(phpQuery::$documents as $documentWrapper) {
|
4512 |
-
$compare = $arg1 instanceof DOMDocument
|
4513 |
-
? $arg1 : $arg1->ownerDocument;
|
4514 |
-
if ($documentWrapper->document->isSameNode($compare))
|
4515 |
-
$context = $documentWrapper->id;
|
4516 |
-
}
|
4517 |
-
}
|
4518 |
-
if (! $context) {
|
4519 |
-
$domId = self::$defaultDocumentID;
|
4520 |
-
if (! $domId)
|
4521 |
-
throw new Exception("Can't use last created DOM, because there isn't any. Use phpQuery::newDocument() first.");
|
4522 |
-
// } else if (is_object($context) && ($context instanceof PHPQUERY || is_subclass_of($context, 'phpQueryObject')))
|
4523 |
-
} else if (is_object($context) && $context instanceof phpQueryObject)
|
4524 |
-
$domId = $context->getDocumentID();
|
4525 |
-
else if ($context instanceof DOMDOCUMENT) {
|
4526 |
-
$domId = self::getDocumentID($context);
|
4527 |
-
if (! $domId) {
|
4528 |
-
//throw new Exception('Orphaned DOMDocument');
|
4529 |
-
$domId = self::newDocument($context)->getDocumentID();
|
4530 |
-
}
|
4531 |
-
} else if ($context instanceof DOMNODE) {
|
4532 |
-
$domId = self::getDocumentID($context);
|
4533 |
-
if (! $domId) {
|
4534 |
-
throw new Exception('Orphaned DOMNode');
|
4535 |
-
// $domId = self::newDocument($context->ownerDocument);
|
4536 |
-
}
|
4537 |
-
} else
|
4538 |
-
$domId = $context;
|
4539 |
-
if ($arg1 instanceof phpQueryObject) {
|
4540 |
-
// if (is_object($arg1) && (get_class($arg1) == 'phpQueryObject' || $arg1 instanceof PHPQUERY || is_subclass_of($arg1, 'phpQueryObject'))) {
|
4541 |
-
/**
|
4542 |
-
* Return $arg1 or import $arg1 stack if document differs:
|
4543 |
-
* pq(pq('<div/>'))
|
4544 |
-
*/
|
4545 |
-
if ($arg1->getDocumentID() == $domId)
|
4546 |
-
return $arg1;
|
4547 |
-
$class = get_class($arg1);
|
4548 |
-
// support inheritance by passing old object to overloaded constructor
|
4549 |
-
$phpQuery = $class != 'phpQuery'
|
4550 |
-
? new $class($arg1, $domId)
|
4551 |
-
: new phpQueryObject($domId);
|
4552 |
-
$phpQuery->elements = array();
|
4553 |
-
foreach($arg1->elements as $node)
|
4554 |
-
$phpQuery->elements[] = $phpQuery->document->importNode($node, true);
|
4555 |
-
return $phpQuery;
|
4556 |
-
} else if ($arg1 instanceof DOMNODE || (is_array($arg1) && isset($arg1[0]) && $arg1[0] instanceof DOMNODE)) {
|
4557 |
-
/*
|
4558 |
-
* Wrap DOM nodes with phpQuery object, import into document when needed:
|
4559 |
-
* pq(array($domNode1, $domNode2))
|
4560 |
-
*/
|
4561 |
-
$phpQuery = new phpQueryObject($domId);
|
4562 |
-
if (!($arg1 instanceof DOMNODELIST) && ! is_array($arg1))
|
4563 |
-
$arg1 = array($arg1);
|
4564 |
-
$phpQuery->elements = array();
|
4565 |
-
foreach($arg1 as $node) {
|
4566 |
-
$sameDocument = $node->ownerDocument instanceof DOMDOCUMENT
|
4567 |
-
&& ! $node->ownerDocument->isSameNode($phpQuery->document);
|
4568 |
-
$phpQuery->elements[] = $sameDocument
|
4569 |
-
? $phpQuery->document->importNode($node, true)
|
4570 |
-
: $node;
|
4571 |
-
}
|
4572 |
-
return $phpQuery;
|
4573 |
-
} else if (self::isMarkup($arg1)) {
|
4574 |
-
/**
|
4575 |
-
* Import HTML:
|
4576 |
-
* pq('<div/>')
|
4577 |
-
*/
|
4578 |
-
$phpQuery = new phpQueryObject($domId);
|
4579 |
-
return $phpQuery->newInstance(
|
4580 |
-
$phpQuery->documentWrapper->import($arg1)
|
4581 |
-
);
|
4582 |
-
} else {
|
4583 |
-
/**
|
4584 |
-
* Run CSS query:
|
4585 |
-
* pq('div.myClass')
|
4586 |
-
*/
|
4587 |
-
$phpQuery = new phpQueryObject($domId);
|
4588 |
-
// if ($context && ($context instanceof PHPQUERY || is_subclass_of($context, 'phpQueryObject')))
|
4589 |
-
if ($context && $context instanceof phpQueryObject)
|
4590 |
-
$phpQuery->elements = $context->elements;
|
4591 |
-
else if ($context && $context instanceof DOMNODELIST) {
|
4592 |
-
$phpQuery->elements = array();
|
4593 |
-
foreach($context as $node)
|
4594 |
-
$phpQuery->elements[] = $node;
|
4595 |
-
} else if ($context && $context instanceof DOMNODE)
|
4596 |
-
$phpQuery->elements = array($context);
|
4597 |
-
return $phpQuery->find($arg1);
|
4598 |
-
}
|
4599 |
-
}
|
4600 |
-
/**
|
4601 |
-
* Sets default document to $id. Document has to be loaded prior
|
4602 |
-
* to using this method.
|
4603 |
-
* $id can be retrived via getDocumentID() or getDocumentIDRef().
|
4604 |
-
*
|
4605 |
-
* @param unknown_type $id
|
4606 |
-
*/
|
4607 |
-
public static function selectDocument($id) {
|
4608 |
-
$id = self::getDocumentID($id);
|
4609 |
-
self::debug("Selecting document '$id' as default one");
|
4610 |
-
self::$defaultDocumentID = self::getDocumentID($id);
|
4611 |
-
}
|
4612 |
-
/**
|
4613 |
-
* Returns document with id $id or last used as phpQueryObject.
|
4614 |
-
* $id can be retrived via getDocumentID() or getDocumentIDRef().
|
4615 |
-
* Chainable.
|
4616 |
-
*
|
4617 |
-
* @see phpQuery::selectDocument()
|
4618 |
-
* @param unknown_type $id
|
4619 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
4620 |
-
*/
|
4621 |
-
public static function getDocument($id = null) {
|
4622 |
-
if ($id)
|
4623 |
-
phpQuery::selectDocument($id);
|
4624 |
-
else
|
4625 |
-
$id = phpQuery::$defaultDocumentID;
|
4626 |
-
return new phpQueryObject($id);
|
4627 |
-
}
|
4628 |
-
/**
|
4629 |
-
* Creates new document from markup.
|
4630 |
-
* Chainable.
|
4631 |
-
*
|
4632 |
-
* @param unknown_type $markup
|
4633 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
4634 |
-
*/
|
4635 |
-
public static function newDocument($markup = null, $contentType = null) {
|
4636 |
-
if (! $markup)
|
4637 |
-
$markup = '';
|
4638 |
-
$documentID = phpQuery::createDocumentWrapper($markup, $contentType);
|
4639 |
-
return new phpQueryObject($documentID);
|
4640 |
-
}
|
4641 |
-
/**
|
4642 |
-
* Creates new document from markup.
|
4643 |
-
* Chainable.
|
4644 |
-
*
|
4645 |
-
* @param unknown_type $markup
|
4646 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
4647 |
-
*/
|
4648 |
-
public static function newDocumentHTML($markup = null, $charset = null) {
|
4649 |
-
$contentType = $charset
|
4650 |
-
? ";charset=$charset"
|
4651 |
-
: '';
|
4652 |
-
return self::newDocument($markup, "text/html{$contentType}");
|
4653 |
-
}
|
4654 |
-
/**
|
4655 |
-
* Creates new document from markup.
|
4656 |
-
* Chainable.
|
4657 |
-
*
|
4658 |
-
* @param unknown_type $markup
|
4659 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
4660 |
-
*/
|
4661 |
-
public static function newDocumentXML($markup = null, $charset = null) {
|
4662 |
-
$contentType = $charset
|
4663 |
-
? ";charset=$charset"
|
4664 |
-
: '';
|
4665 |
-
return self::newDocument($markup, "text/xml{$contentType}");
|
4666 |
-
}
|
4667 |
-
/**
|
4668 |
-
* Creates new document from markup.
|
4669 |
-
* Chainable.
|
4670 |
-
*
|
4671 |
-
* @param unknown_type $markup
|
4672 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
4673 |
-
*/
|
4674 |
-
public static function newDocumentXHTML($markup = null, $charset = null) {
|
4675 |
-
$contentType = $charset
|
4676 |
-
? ";charset=$charset"
|
4677 |
-
: '';
|
4678 |
-
return self::newDocument($markup, "application/xhtml+xml{$contentType}");
|
4679 |
-
}
|
4680 |
-
/**
|
4681 |
-
* Creates new document from markup.
|
4682 |
-
* Chainable.
|
4683 |
-
*
|
4684 |
-
* @param unknown_type $markup
|
4685 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
4686 |
-
*/
|
4687 |
-
public static function newDocumentPHP($markup = null, $contentType = "text/html") {
|
4688 |
-
// TODO pass charset to phpToMarkup if possible (use DOMDocumentWrapper function)
|
4689 |
-
$markup = phpQuery::phpToMarkup($markup, self::$defaultCharset);
|
4690 |
-
return self::newDocument($markup, $contentType);
|
4691 |
-
}
|
4692 |
-
public static function phpToMarkup($php, $charset = 'utf-8') {
|
4693 |
-
$regexes = array(
|
4694 |
-
'@(<(?!\\?)(?:[^>]|\\?>)+\\w+\\s*=\\s*)(\')([^\']*)<'.'?php?(.*?)(?:\\?>)([^\']*)\'@s',
|
4695 |
-
'@(<(?!\\?)(?:[^>]|\\?>)+\\w+\\s*=\\s*)(")([^"]*)<'.'?php?(.*?)(?:\\?>)([^"]*)"@s',
|
4696 |
-
);
|
4697 |
-
foreach($regexes as $regex)
|
4698 |
-
while (preg_match($regex, $php, $matches)) {
|
4699 |
-
$php = preg_replace_callback(
|
4700 |
-
$regex,
|
4701 |
-
// create_function('$m, $charset = "'.$charset.'"',
|
4702 |
-
// 'return $m[1].$m[2]
|
4703 |
-
// .htmlspecialchars("<"."?php".$m[4]."?".">", ENT_QUOTES|ENT_NOQUOTES, $charset)
|
4704 |
-
// .$m[5].$m[2];'
|
4705 |
-
// ),
|
4706 |
-
array('phpQuery', '_phpToMarkupCallback'),
|
4707 |
-
$php
|
4708 |
-
);
|
4709 |
-
}
|
4710 |
-
$regex = '@(^|>[^<]*)+?(<\?php(.*?)(\?>))@s';
|
4711 |
-
//preg_match_all($regex, $php, $matches);
|
4712 |
-
//var_dump($matches);
|
4713 |
-
$php = preg_replace($regex, '\\1<php><!-- \\3 --></php>', $php);
|
4714 |
-
return $php;
|
4715 |
-
}
|
4716 |
-
public static function _phpToMarkupCallback($php, $charset = 'utf-8') {
|
4717 |
-
return $m[1].$m[2]
|
4718 |
-
.htmlspecialchars("<"."?php".$m[4]."?".">", ENT_QUOTES|ENT_NOQUOTES, $charset)
|
4719 |
-
.$m[5].$m[2];
|
4720 |
-
}
|
4721 |
-
public static function _markupToPHPCallback($m) {
|
4722 |
-
return "<"."?php ".htmlspecialchars_decode($m[1])." ?".">";
|
4723 |
-
}
|
4724 |
-
/**
|
4725 |
-
* Converts document markup containing PHP code generated by phpQuery::php()
|
4726 |
-
* into valid (executable) PHP code syntax.
|
4727 |
-
*
|
4728 |
-
* @param string|phpQueryObject $content
|
4729 |
-
* @return string PHP code.
|
4730 |
-
*/
|
4731 |
-
public static function markupToPHP($content) {
|
4732 |
-
if ($content instanceof phpQueryObject)
|
4733 |
-
$content = $content->markupOuter();
|
4734 |
-
/* <php>...</php> to <?php...? > */
|
4735 |
-
$content = preg_replace_callback(
|
4736 |
-
'@<php>\s*<!--(.*?)-->\s*</php>@s',
|
4737 |
-
// create_function('$m',
|
4738 |
-
// 'return "<'.'?php ".htmlspecialchars_decode($m[1])." ?'.'>";'
|
4739 |
-
// ),
|
4740 |
-
array('phpQuery', '_markupToPHPCallback'),
|
4741 |
-
$content
|
4742 |
-
);
|
4743 |
-
/* <node attr='< ?php ? >'> extra space added to save highlighters */
|
4744 |
-
$regexes = array(
|
4745 |
-
'@(<(?!\\?)(?:[^>]|\\?>)+\\w+\\s*=\\s*)(\')([^\']*)(?:<|%3C)\\?(?:php)?(.*?)(?:\\?(?:>|%3E))([^\']*)\'@s',
|
4746 |
-
'@(<(?!\\?)(?:[^>]|\\?>)+\\w+\\s*=\\s*)(")([^"]*)(?:<|%3C)\\?(?:php)?(.*?)(?:\\?(?:>|%3E))([^"]*)"@s',
|
4747 |
-
);
|
4748 |
-
foreach($regexes as $regex)
|
4749 |
-
while (preg_match($regex, $content))
|
4750 |
-
$content = preg_replace_callback(
|
4751 |
-
$regex,
|
4752 |
-
create_function('$m',
|
4753 |
-
'return $m[1].$m[2].$m[3]."<?php "
|
4754 |
-
.str_replace(
|
4755 |
-
array("%20", "%3E", "%09", " ", "	", "%7B", "%24", "%7D", "%22", "%5B", "%5D"),
|
4756 |
-
array(" ", ">", " ", "\n", " ", "{", "$", "}", \'"\', "[", "]"),
|
4757 |
-
htmlspecialchars_decode($m[4])
|
4758 |
-
)
|
4759 |
-
." ?".">".$m[5].$m[2];'
|
4760 |
-
),
|
4761 |
-
$content
|
4762 |
-
);
|
4763 |
-
return $content;
|
4764 |
-
}
|
4765 |
-
/**
|
4766 |
-
* Creates new document from file $file.
|
4767 |
-
* Chainable.
|
4768 |
-
*
|
4769 |
-
* @param string $file URLs allowed. See File wrapper page at php.net for more supported sources.
|
4770 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
4771 |
-
*/
|
4772 |
-
public static function newDocumentFile($file, $contentType = null) {
|
4773 |
-
$documentID = self::createDocumentWrapper(
|
4774 |
-
file_get_contents($file), $contentType
|
4775 |
-
);
|
4776 |
-
return new phpQueryObject($documentID);
|
4777 |
-
}
|
4778 |
-
/**
|
4779 |
-
* Creates new document from markup.
|
4780 |
-
* Chainable.
|
4781 |
-
*
|
4782 |
-
* @param unknown_type $markup
|
4783 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
4784 |
-
*/
|
4785 |
-
public static function newDocumentFileHTML($file, $charset = null) {
|
4786 |
-
$contentType = $charset
|
4787 |
-
? ";charset=$charset"
|
4788 |
-
: '';
|
4789 |
-
return self::newDocumentFile($file, "text/html{$contentType}");
|
4790 |
-
}
|
4791 |
-
/**
|
4792 |
-
* Creates new document from markup.
|
4793 |
-
* Chainable.
|
4794 |
-
*
|
4795 |
-
* @param unknown_type $markup
|
4796 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
4797 |
-
*/
|
4798 |
-
public static function newDocumentFileXML($file, $charset = null) {
|
4799 |
-
$contentType = $charset
|
4800 |
-
? ";charset=$charset"
|
4801 |
-
: '';
|
4802 |
-
return self::newDocumentFile($file, "text/xml{$contentType}");
|
4803 |
-
}
|
4804 |
-
/**
|
4805 |
-
* Creates new document from markup.
|
4806 |
-
* Chainable.
|
4807 |
-
*
|
4808 |
-
* @param unknown_type $markup
|
4809 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
4810 |
-
*/
|
4811 |
-
public static function newDocumentFileXHTML($file, $charset = null) {
|
4812 |
-
$contentType = $charset
|
4813 |
-
? ";charset=$charset"
|
4814 |
-
: '';
|
4815 |
-
return self::newDocumentFile($file, "application/xhtml+xml{$contentType}");
|
4816 |
-
}
|
4817 |
-
/**
|
4818 |
-
* Creates new document from markup.
|
4819 |
-
* Chainable.
|
4820 |
-
*
|
4821 |
-
* @param unknown_type $markup
|
4822 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
4823 |
-
*/
|
4824 |
-
public static function newDocumentFilePHP($file, $contentType = null) {
|
4825 |
-
return self::newDocumentPHP(file_get_contents($file), $contentType);
|
4826 |
-
}
|
4827 |
-
/**
|
4828 |
-
* Reuses existing DOMDocument object.
|
4829 |
-
* Chainable.
|
4830 |
-
*
|
4831 |
-
* @param $document DOMDocument
|
4832 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
4833 |
-
* @TODO support DOMDocument
|
4834 |
-
*/
|
4835 |
-
public static function loadDocument($document) {
|
4836 |
-
// TODO
|
4837 |
-
die('TODO loadDocument');
|
4838 |
-
}
|
4839 |
-
/**
|
4840 |
-
* Enter description here...
|
4841 |
-
*
|
4842 |
-
* @param unknown_type $html
|
4843 |
-
* @param unknown_type $domId
|
4844 |
-
* @return unknown New DOM ID
|
4845 |
-
* @todo support PHP tags in input
|
4846 |
-
* @todo support passing DOMDocument object from self::loadDocument
|
4847 |
-
*/
|
4848 |
-
protected static function createDocumentWrapper($html, $contentType = null, $documentID = null) {
|
4849 |
-
if (function_exists('domxml_open_mem'))
|
4850 |
-
throw new Exception("Old PHP4 DOM XML extension detected. phpQuery won't work until this extension is enabled.");
|
4851 |
-
// $id = $documentID
|
4852 |
-
// ? $documentID
|
4853 |
-
// : md5(microtime());
|
4854 |
-
$document = null;
|
4855 |
-
if ($html instanceof DOMDOCUMENT) {
|
4856 |
-
if (self::getDocumentID($html)) {
|
4857 |
-
// document already exists in phpQuery::$documents, make a copy
|
4858 |
-
$document = clone $html;
|
4859 |
-
} else {
|
4860 |
-
// new document, add it to phpQuery::$documents
|
4861 |
-
$wrapper = new DOMDocumentWrapper($html, $contentType, $documentID);
|
4862 |
-
}
|
4863 |
-
} else {
|
4864 |
-
$wrapper = new DOMDocumentWrapper($html, $contentType, $documentID);
|
4865 |
-
}
|
4866 |
-
// $wrapper->id = $id;
|
4867 |
-
// bind document
|
4868 |
-
phpQuery::$documents[$wrapper->id] = $wrapper;
|
4869 |
-
// remember last loaded document
|
4870 |
-
phpQuery::selectDocument($wrapper->id);
|
4871 |
-
return $wrapper->id;
|
4872 |
-
}
|
4873 |
-
/**
|
4874 |
-
* Extend class namespace.
|
4875 |
-
*
|
4876 |
-
* @param string|array $target
|
4877 |
-
* @param array $source
|
4878 |
-
* @TODO support string $source
|
4879 |
-
* @return unknown_type
|
4880 |
-
*/
|
4881 |
-
public static function extend($target, $source) {
|
4882 |
-
switch($target) {
|
4883 |
-
case 'phpQueryObject':
|
4884 |
-
$targetRef = &self::$extendMethods;
|
4885 |
-
$targetRef2 = &self::$pluginsMethods;
|
4886 |
-
break;
|
4887 |
-
case 'phpQuery':
|
4888 |
-
$targetRef = &self::$extendStaticMethods;
|
4889 |
-
$targetRef2 = &self::$pluginsStaticMethods;
|
4890 |
-
break;
|
4891 |
-
default:
|
4892 |
-
throw new Exception("Unsupported \$target type");
|
4893 |
-
}
|
4894 |
-
if (is_string($source))
|
4895 |
-
$source = array($source => $source);
|
4896 |
-
foreach($source as $method => $callback) {
|
4897 |
-
if (isset($targetRef[$method])) {
|
4898 |
-
// throw new Exception
|
4899 |
-
self::debug("Duplicate method '{$method}', can\'t extend '{$target}'");
|
4900 |
-
continue;
|
4901 |
-
}
|
4902 |
-
if (isset($targetRef2[$method])) {
|
4903 |
-
// throw new Exception
|
4904 |
-
self::debug("Duplicate method '{$method}' from plugin '{$targetRef2[$method]}',"
|
4905 |
-
." can\'t extend '{$target}'");
|
4906 |
-
continue;
|
4907 |
-
}
|
4908 |
-
$targetRef[$method] = $callback;
|
4909 |
-
}
|
4910 |
-
return true;
|
4911 |
-
}
|
4912 |
-
/**
|
4913 |
-
* Extend phpQuery with $class from $file.
|
4914 |
-
*
|
4915 |
-
* @param string $class Extending class name. Real class name can be prepended phpQuery_.
|
4916 |
-
* @param string $file Filename to include. Defaults to "{$class}.php".
|
4917 |
-
*/
|
4918 |
-
public static function plugin($class, $file = null) {
|
4919 |
-
// TODO $class checked agains phpQuery_$class
|
4920 |
-
// if (strpos($class, 'phpQuery') === 0)
|
4921 |
-
// $class = substr($class, 8);
|
4922 |
-
if (in_array($class, self::$pluginsLoaded))
|
4923 |
-
return true;
|
4924 |
-
if (! $file)
|
4925 |
-
$file = $class.'.php';
|
4926 |
-
$objectClassExists = class_exists('phpQueryObjectPlugin_'.$class);
|
4927 |
-
$staticClassExists = class_exists('phpQueryPlugin_'.$class);
|
4928 |
-
if (! $objectClassExists && ! $staticClassExists)
|
4929 |
-
require_once($file);
|
4930 |
-
self::$pluginsLoaded[] = $class;
|
4931 |
-
// static methods
|
4932 |
-
if (class_exists('phpQueryPlugin_'.$class)) {
|
4933 |
-
$realClass = 'phpQueryPlugin_'.$class;
|
4934 |
-
$vars = get_class_vars($realClass);
|
4935 |
-
$loop = isset($vars['phpQueryMethods'])
|
4936 |
-
&& ! is_null($vars['phpQueryMethods'])
|
4937 |
-
? $vars['phpQueryMethods']
|
4938 |
-
: get_class_methods($realClass);
|
4939 |
-
foreach($loop as $method) {
|
4940 |
-
if ($method == '__initialize')
|
4941 |
-
continue;
|
4942 |
-
if (! is_callable(array($realClass, $method)))
|
4943 |
-
continue;
|
4944 |
-
if (isset(self::$pluginsStaticMethods[$method])) {
|
4945 |
-
throw new Exception("Duplicate method '{$method}' from plugin '{$c}' conflicts with same method from plugin '".self::$pluginsStaticMethods[$method]."'");
|
4946 |
-
return;
|
4947 |
-
}
|
4948 |
-
self::$pluginsStaticMethods[$method] = $class;
|
4949 |
-
}
|
4950 |
-
if (method_exists($realClass, '__initialize'))
|
4951 |
-
call_user_func_array(array($realClass, '__initialize'), array());
|
4952 |
-
}
|
4953 |
-
// object methods
|
4954 |
-
if (class_exists('phpQueryObjectPlugin_'.$class)) {
|
4955 |
-
$realClass = 'phpQueryObjectPlugin_'.$class;
|
4956 |
-
$vars = get_class_vars($realClass);
|
4957 |
-
$loop = isset($vars['phpQueryMethods'])
|
4958 |
-
&& ! is_null($vars['phpQueryMethods'])
|
4959 |
-
? $vars['phpQueryMethods']
|
4960 |
-
: get_class_methods($realClass);
|
4961 |
-
foreach($loop as $method) {
|
4962 |
-
if (! is_callable(array($realClass, $method)))
|
4963 |
-
continue;
|
4964 |
-
if (isset(self::$pluginsMethods[$method])) {
|
4965 |
-
throw new Exception("Duplicate method '{$method}' from plugin '{$c}' conflicts with same method from plugin '".self::$pluginsMethods[$method]."'");
|
4966 |
-
continue;
|
4967 |
-
}
|
4968 |
-
self::$pluginsMethods[$method] = $class;
|
4969 |
-
}
|
4970 |
-
}
|
4971 |
-
return true;
|
4972 |
-
}
|
4973 |
-
/**
|
4974 |
-
* Unloades all or specified document from memory.
|
4975 |
-
*
|
4976 |
-
* @param mixed $documentID @see phpQuery::getDocumentID() for supported types.
|
4977 |
-
*/
|
4978 |
-
public static function unloadDocuments($id = null) {
|
4979 |
-
if (isset($id)) {
|
4980 |
-
if ($id = self::getDocumentID($id))
|
4981 |
-
unset(phpQuery::$documents[$id]);
|
4982 |
-
} else {
|
4983 |
-
foreach(phpQuery::$documents as $k => $v) {
|
4984 |
-
unset(phpQuery::$documents[$k]);
|
4985 |
-
}
|
4986 |
-
}
|
4987 |
-
}
|
4988 |
-
/**
|
4989 |
-
* Parses phpQuery object or HTML result against PHP tags and makes them active.
|
4990 |
-
*
|
4991 |
-
* @param phpQuery|string $content
|
4992 |
-
* @deprecated
|
4993 |
-
* @return string
|
4994 |
-
*/
|
4995 |
-
public static function unsafePHPTags($content) {
|
4996 |
-
return self::markupToPHP($content);
|
4997 |
-
}
|
4998 |
-
public static function DOMNodeListToArray($DOMNodeList) {
|
4999 |
-
$array = array();
|
5000 |
-
if (! $DOMNodeList)
|
5001 |
-
return $array;
|
5002 |
-
foreach($DOMNodeList as $node)
|
5003 |
-
$array[] = $node;
|
5004 |
-
return $array;
|
5005 |
-
}
|
5006 |
-
/**
|
5007 |
-
* Checks if $input is HTML string, which has to start with '<'.
|
5008 |
-
*
|
5009 |
-
* @deprecated
|
5010 |
-
* @param String $input
|
5011 |
-
* @return Bool
|
5012 |
-
* @todo still used ?
|
5013 |
-
*/
|
5014 |
-
public static function isMarkup($input) {
|
5015 |
-
return ! is_array($input) && substr(trim($input), 0, 1) == '<';
|
5016 |
-
}
|
5017 |
-
public static function debug($text) {
|
5018 |
-
if (self::$debug)
|
5019 |
-
print var_dump($text);
|
5020 |
-
}
|
5021 |
-
/**
|
5022 |
-
* Make an AJAX request.
|
5023 |
-
*
|
5024 |
-
* @param array See $options http://docs.jquery.com/Ajax/jQuery.ajax#toptions
|
5025 |
-
* Additional options are:
|
5026 |
-
* 'document' - document for global events, @see phpQuery::getDocumentID()
|
5027 |
-
* 'referer' - implemented
|
5028 |
-
* 'requested_with' - TODO; not implemented (X-Requested-With)
|
5029 |
-
* @return Zend_Http_Client
|
5030 |
-
* @link http://docs.jquery.com/Ajax/jQuery.ajax
|
5031 |
-
*
|
5032 |
-
* @TODO $options['cache']
|
5033 |
-
* @TODO $options['processData']
|
5034 |
-
* @TODO $options['xhr']
|
5035 |
-
* @TODO $options['data'] as string
|
5036 |
-
* @TODO XHR interface
|
5037 |
-
*/
|
5038 |
-
public static function ajax($options = array(), $xhr = null) {
|
5039 |
-
$options = array_merge(
|
5040 |
-
self::$ajaxSettings, $options
|
5041 |
-
);
|
5042 |
-
$documentID = isset($options['document'])
|
5043 |
-
? self::getDocumentID($options['document'])
|
5044 |
-
: null;
|
5045 |
-
if ($xhr) {
|
5046 |
-
// reuse existing XHR object, but clean it up
|
5047 |
-
$client = $xhr;
|
5048 |
-
// $client->setParameterPost(null);
|
5049 |
-
// $client->setParameterGet(null);
|
5050 |
-
$client->setAuth(false);
|
5051 |
-
$client->setHeaders("If-Modified-Since", null);
|
5052 |
-
$client->setHeaders("Referer", null);
|
5053 |
-
$client->resetParameters();
|
5054 |
-
} else {
|
5055 |
-
// create new XHR object
|
5056 |
-
require_once('Zend/Http/Client.php');
|
5057 |
-
$client = new Zend_Http_Client();
|
5058 |
-
$client->setCookieJar();
|
5059 |
-
}
|
5060 |
-
if (isset($options['timeout']))
|
5061 |
-
$client->setConfig(array(
|
5062 |
-
'timeout' => $options['timeout'],
|
5063 |
-
));
|
5064 |
-
// 'maxredirects' => 0,
|
5065 |
-
foreach(self::$ajaxAllowedHosts as $k => $host)
|
5066 |
-
if ($host == '.' && isset($_SERVER['HTTP_HOST']))
|
5067 |
-
self::$ajaxAllowedHosts[$k] = $_SERVER['HTTP_HOST'];
|
5068 |
-
$host = parse_url($options['url'], PHP_URL_HOST);
|
5069 |
-
if (! in_array($host, self::$ajaxAllowedHosts)) {
|
5070 |
-
throw new Exception("Request not permitted, host '$host' not present in "
|
5071 |
-
."phpQuery::\$ajaxAllowedHosts");
|
5072 |
-
}
|
5073 |
-
// JSONP
|
5074 |
-
$jsre = "/=\\?(&|$)/";
|
5075 |
-
if (isset($options['dataType']) && $options['dataType'] == 'jsonp') {
|
5076 |
-
$jsonpCallbackParam = $options['jsonp']
|
5077 |
-
? $options['jsonp'] : 'callback';
|
5078 |
-
if (strtolower($options['type']) == 'get') {
|
5079 |
-
if (! preg_match($jsre, $options['url'])) {
|
5080 |
-
$sep = strpos($options['url'], '?')
|
5081 |
-
? '&' : '?';
|
5082 |
-
$options['url'] .= "$sep$jsonpCallbackParam=?";
|
5083 |
-
}
|
5084 |
-
} else if ($options['data']) {
|
5085 |
-
$jsonp = false;
|
5086 |
-
foreach($options['data'] as $n => $v) {
|
5087 |
-
if ($v == '?')
|
5088 |
-
$jsonp = true;
|
5089 |
-
}
|
5090 |
-
if (! $jsonp) {
|
5091 |
-
$options['data'][$jsonpCallbackParam] = '?';
|
5092 |
-
}
|
5093 |
-
}
|
5094 |
-
$options['dataType'] = 'json';
|
5095 |
-
}
|
5096 |
-
if (isset($options['dataType']) && $options['dataType'] == 'json') {
|
5097 |
-
$jsonpCallback = 'json_'.md5(microtime());
|
5098 |
-
$jsonpData = $jsonpUrl = false;
|
5099 |
-
if ($options['data']) {
|
5100 |
-
foreach($options['data'] as $n => $v) {
|
5101 |
-
if ($v == '?')
|
5102 |
-
$jsonpData = $n;
|
5103 |
-
}
|
5104 |
-
}
|
5105 |
-
if (preg_match($jsre, $options['url']))
|
5106 |
-
$jsonpUrl = true;
|
5107 |
-
if ($jsonpData !== false || $jsonpUrl) {
|
5108 |
-
// remember callback name for httpData()
|
5109 |
-
$options['_jsonp'] = $jsonpCallback;
|
5110 |
-
if ($jsonpData !== false)
|
5111 |
-
$options['data'][$jsonpData] = $jsonpCallback;
|
5112 |
-
if ($jsonpUrl)
|
5113 |
-
$options['url'] = preg_replace($jsre, "=$jsonpCallback\\1", $options['url']);
|
5114 |
-
}
|
5115 |
-
}
|
5116 |
-
$client->setUri($options['url']);
|
5117 |
-
$client->setMethod(strtoupper($options['type']));
|
5118 |
-
if (isset($options['referer']) && $options['referer'])
|
5119 |
-
$client->setHeaders('Referer', $options['referer']);
|
5120 |
-
$client->setHeaders(array(
|
5121 |
-
// 'content-type' => $options['contentType'],
|
5122 |
-
'User-Agent' => 'Mozilla/5.0 (X11; U; Linux x86; en-US; rv:1.9.0.5) Gecko'
|
5123 |
-
.'/2008122010 Firefox/3.0.5',
|
5124 |
-
// TODO custom charset
|
5125 |
-
'Accept-Charset' => 'ISO-8859-1,utf-8;q=0.7,*;q=0.7',
|
5126 |
-
// 'Connection' => 'keep-alive',
|
5127 |
-
// 'Accept' => 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
|
5128 |
-
'Accept-Language' => 'en-us,en;q=0.5',
|
5129 |
-
));
|
5130 |
-
if ($options['username'])
|
5131 |
-
$client->setAuth($options['username'], $options['password']);
|
5132 |
-
if (isset($options['ifModified']) && $options['ifModified'])
|
5133 |
-
$client->setHeaders("If-Modified-Since",
|
5134 |
-
self::$lastModified
|
5135 |
-
? self::$lastModified
|
5136 |
-
: "Thu, 01 Jan 1970 00:00:00 GMT"
|
5137 |
-
);
|
5138 |
-
$client->setHeaders("Accept",
|
5139 |
-
isset($options['dataType'])
|
5140 |
-
&& isset(self::$ajaxSettings['accepts'][ $options['dataType'] ])
|
5141 |
-
? self::$ajaxSettings['accepts'][ $options['dataType'] ].", */*"
|
5142 |
-
: self::$ajaxSettings['accepts']['_default']
|
5143 |
-
);
|
5144 |
-
// TODO $options['processData']
|
5145 |
-
if ($options['data'] instanceof phpQueryObject) {
|
5146 |
-
$serialized = $options['data']->serializeArray($options['data']);
|
5147 |
-
$options['data'] = array();
|
5148 |
-
foreach($serialized as $r)
|
5149 |
-
$options['data'][ $r['name'] ] = $r['value'];
|
5150 |
-
}
|
5151 |
-
if (strtolower($options['type']) == 'get') {
|
5152 |
-
$client->setParameterGet($options['data']);
|
5153 |
-
} else if (strtolower($options['type']) == 'post') {
|
5154 |
-
$client->setEncType($options['contentType']);
|
5155 |
-
$client->setParameterPost($options['data']);
|
5156 |
-
}
|
5157 |
-
if (self::$active == 0 && $options['global'])
|
5158 |
-
phpQueryEvents::trigger($documentID, 'ajaxStart');
|
5159 |
-
self::$active++;
|
5160 |
-
// beforeSend callback
|
5161 |
-
if (isset($options['beforeSend']) && $options['beforeSend'])
|
5162 |
-
phpQuery::callbackRun($options['beforeSend'], array($client));
|
5163 |
-
// ajaxSend event
|
5164 |
-
if ($options['global'])
|
5165 |
-
phpQueryEvents::trigger($documentID, 'ajaxSend', array($client, $options));
|
5166 |
-
if (phpQuery::$debug) {
|
5167 |
-
self::debug("{$options['type']}: {$options['url']}\n");
|
5168 |
-
self::debug("Options: <pre>".var_export($options, true)."</pre>\n");
|
5169 |
-
// if ($client->getCookieJar())
|
5170 |
-
// self::debug("Cookies: <pre>".var_export($client->getCookieJar()->getMatchingCookies($options['url']), true)."</pre>\n");
|
5171 |
-
}
|
5172 |
-
// request
|
5173 |
-
$response = $client->request();
|
5174 |
-
if (phpQuery::$debug) {
|
5175 |
-
self::debug('Status: '.$response->getStatus().' / '.$response->getMessage());
|
5176 |
-
self::debug($client->getLastRequest());
|
5177 |
-
self::debug($response->getHeaders());
|
5178 |
-
}
|
5179 |
-
if ($response->isSuccessful()) {
|
5180 |
-
// XXX tempolary
|
5181 |
-
self::$lastModified = $response->getHeader('Last-Modified');
|
5182 |
-
$data = self::httpData($response->getBody(), $options['dataType'], $options);
|
5183 |
-
if (isset($options['success']) && $options['success'])
|
5184 |
-
phpQuery::callbackRun($options['success'], array($data, $response->getStatus(), $options));
|
5185 |
-
if ($options['global'])
|
5186 |
-
phpQueryEvents::trigger($documentID, 'ajaxSuccess', array($client, $options));
|
5187 |
-
} else {
|
5188 |
-
if (isset($options['error']) && $options['error'])
|
5189 |
-
phpQuery::callbackRun($options['error'], array($client, $response->getStatus(), $response->getMessage()));
|
5190 |
-
if ($options['global'])
|
5191 |
-
phpQueryEvents::trigger($documentID, 'ajaxError', array($client, /*$response->getStatus(),*/$response->getMessage(), $options));
|
5192 |
-
}
|
5193 |
-
if (isset($options['complete']) && $options['complete'])
|
5194 |
-
phpQuery::callbackRun($options['complete'], array($client, $response->getStatus()));
|
5195 |
-
if ($options['global'])
|
5196 |
-
phpQueryEvents::trigger($documentID, 'ajaxComplete', array($client, $options));
|
5197 |
-
if ($options['global'] && ! --self::$active)
|
5198 |
-
phpQueryEvents::trigger($documentID, 'ajaxStop');
|
5199 |
-
return $client;
|
5200 |
-
// if (is_null($domId))
|
5201 |
-
// $domId = self::$defaultDocumentID ? self::$defaultDocumentID : false;
|
5202 |
-
// return new phpQueryAjaxResponse($response, $domId);
|
5203 |
-
}
|
5204 |
-
protected static function httpData($data, $type, $options) {
|
5205 |
-
if (isset($options['dataFilter']) && $options['dataFilter'])
|
5206 |
-
$data = self::callbackRun($options['dataFilter'], array($data, $type));
|
5207 |
-
if (is_string($data)) {
|
5208 |
-
if ($type == "json") {
|
5209 |
-
if (isset($options['_jsonp']) && $options['_jsonp']) {
|
5210 |
-
$data = preg_replace('/^\s*\w+\((.*)\)\s*$/s', '$1', $data);
|
5211 |
-
}
|
5212 |
-
$data = self::parseJSON($data);
|
5213 |
-
}
|
5214 |
-
}
|
5215 |
-
return $data;
|
5216 |
-
}
|
5217 |
-
/**
|
5218 |
-
* Enter description here...
|
5219 |
-
*
|
5220 |
-
* @param array|phpQuery $data
|
5221 |
-
*
|
5222 |
-
*/
|
5223 |
-
public static function param($data) {
|
5224 |
-
return http_build_query($data, null, '&');
|
5225 |
-
}
|
5226 |
-
public static function get($url, $data = null, $callback = null, $type = null) {
|
5227 |
-
if (!is_array($data)) {
|
5228 |
-
$callback = $data;
|
5229 |
-
$data = null;
|
5230 |
-
}
|
5231 |
-
// TODO some array_values on this shit
|
5232 |
-
return phpQuery::ajax(array(
|
5233 |
-
'type' => 'GET',
|
5234 |
-
'url' => $url,
|
5235 |
-
'data' => $data,
|
5236 |
-
'success' => $callback,
|
5237 |
-
'dataType' => $type,
|
5238 |
-
));
|
5239 |
-
}
|
5240 |
-
public static function post($url, $data = null, $callback = null, $type = null) {
|
5241 |
-
if (!is_array($data)) {
|
5242 |
-
$callback = $data;
|
5243 |
-
$data = null;
|
5244 |
-
}
|
5245 |
-
return phpQuery::ajax(array(
|
5246 |
-
'type' => 'POST',
|
5247 |
-
'url' => $url,
|
5248 |
-
'data' => $data,
|
5249 |
-
'success' => $callback,
|
5250 |
-
'dataType' => $type,
|
5251 |
-
));
|
5252 |
-
}
|
5253 |
-
public static function getJSON($url, $data = null, $callback = null) {
|
5254 |
-
if (!is_array($data)) {
|
5255 |
-
$callback = $data;
|
5256 |
-
$data = null;
|
5257 |
-
}
|
5258 |
-
// TODO some array_values on this shit
|
5259 |
-
return phpQuery::ajax(array(
|
5260 |
-
'type' => 'GET',
|
5261 |
-
'url' => $url,
|
5262 |
-
'data' => $data,
|
5263 |
-
'success' => $callback,
|
5264 |
-
'dataType' => 'json',
|
5265 |
-
));
|
5266 |
-
}
|
5267 |
-
public static function ajaxSetup($options) {
|
5268 |
-
self::$ajaxSettings = array_merge(
|
5269 |
-
self::$ajaxSettings,
|
5270 |
-
$options
|
5271 |
-
);
|
5272 |
-
}
|
5273 |
-
public static function ajaxAllowHost($host1, $host2 = null, $host3 = null) {
|
5274 |
-
$loop = is_array($host1)
|
5275 |
-
? $host1
|
5276 |
-
: func_get_args();
|
5277 |
-
foreach($loop as $host) {
|
5278 |
-
if ($host && ! in_array($host, phpQuery::$ajaxAllowedHosts)) {
|
5279 |
-
phpQuery::$ajaxAllowedHosts[] = $host;
|
5280 |
-
}
|
5281 |
-
}
|
5282 |
-
}
|
5283 |
-
public static function ajaxAllowURL($url1, $url2 = null, $url3 = null) {
|
5284 |
-
$loop = is_array($url1)
|
5285 |
-
? $url1
|
5286 |
-
: func_get_args();
|
5287 |
-
foreach($loop as $url)
|
5288 |
-
phpQuery::ajaxAllowHost(parse_url($url, PHP_URL_HOST));
|
5289 |
-
}
|
5290 |
-
/**
|
5291 |
-
* Returns JSON representation of $data.
|
5292 |
-
*
|
5293 |
-
* @static
|
5294 |
-
* @param mixed $data
|
5295 |
-
* @return string
|
5296 |
-
*/
|
5297 |
-
public static function toJSON($data) {
|
5298 |
-
if (function_exists('json_encode'))
|
5299 |
-
return json_encode($data);
|
5300 |
-
require_once('Zend/Json/Encoder.php');
|
5301 |
-
return Zend_Json_Encoder::encode($data);
|
5302 |
-
}
|
5303 |
-
/**
|
5304 |
-
* Parses JSON into proper PHP type.
|
5305 |
-
*
|
5306 |
-
* @static
|
5307 |
-
* @param string $json
|
5308 |
-
* @return mixed
|
5309 |
-
*/
|
5310 |
-
public static function parseJSON($json) {
|
5311 |
-
if (function_exists('json_decode')) {
|
5312 |
-
$return = json_decode(trim($json), true);
|
5313 |
-
// json_decode and UTF8 issues
|
5314 |
-
if (isset($return))
|
5315 |
-
return $return;
|
5316 |
-
}
|
5317 |
-
require_once('Zend/Json/Decoder.php');
|
5318 |
-
return Zend_Json_Decoder::decode($json);
|
5319 |
-
}
|
5320 |
-
/**
|
5321 |
-
* Returns source's document ID.
|
5322 |
-
*
|
5323 |
-
* @param $source DOMNode|phpQueryObject
|
5324 |
-
* @return string
|
5325 |
-
*/
|
5326 |
-
public static function getDocumentID($source) {
|
5327 |
-
if ($source instanceof DOMDOCUMENT) {
|
5328 |
-
foreach(phpQuery::$documents as $id => $document) {
|
5329 |
-
if ($source->isSameNode($document->document))
|
5330 |
-
return $id;
|
5331 |
-
}
|
5332 |
-
} else if ($source instanceof DOMNODE) {
|
5333 |
-
foreach(phpQuery::$documents as $id => $document) {
|
5334 |
-
if ($source->ownerDocument->isSameNode($document->document))
|
5335 |
-
return $id;
|
5336 |
-
}
|
5337 |
-
} else if ($source instanceof phpQueryObject)
|
5338 |
-
return $source->getDocumentID();
|
5339 |
-
else if (is_string($source) && isset(phpQuery::$documents[$source]))
|
5340 |
-
return $source;
|
5341 |
-
}
|
5342 |
-
/**
|
5343 |
-
* Get DOMDocument object related to $source.
|
5344 |
-
* Returns null if such document doesn't exist.
|
5345 |
-
*
|
5346 |
-
* @param $source DOMNode|phpQueryObject|string
|
5347 |
-
* @return string
|
5348 |
-
*/
|
5349 |
-
public static function getDOMDocument($source) {
|
5350 |
-
if ($source instanceof DOMDOCUMENT)
|
5351 |
-
return $source;
|
5352 |
-
$source = self::getDocumentID($source);
|
5353 |
-
return $source
|
5354 |
-
? self::$documents[$id]['document']
|
5355 |
-
: null;
|
5356 |
-
}
|
5357 |
-
|
5358 |
-
// UTILITIES
|
5359 |
-
// http://docs.jquery.com/Utilities
|
5360 |
-
|
5361 |
-
/**
|
5362 |
-
*
|
5363 |
-
* @return unknown_type
|
5364 |
-
* @link http://docs.jquery.com/Utilities/jQuery.makeArray
|
5365 |
-
*/
|
5366 |
-
public static function makeArray($obj) {
|
5367 |
-
$array = array();
|
5368 |
-
if (is_object($object) && $object instanceof DOMNODELIST) {
|
5369 |
-
foreach($object as $value)
|
5370 |
-
$array[] = $value;
|
5371 |
-
} else if (is_object($object) && ! ($object instanceof Iterator)) {
|
5372 |
-
foreach(get_object_vars($object) as $name => $value)
|
5373 |
-
$array[0][$name] = $value;
|
5374 |
-
} else {
|
5375 |
-
foreach($object as $name => $value)
|
5376 |
-
$array[0][$name] = $value;
|
5377 |
-
}
|
5378 |
-
return $array;
|
5379 |
-
}
|
5380 |
-
public static function inArray($value, $array) {
|
5381 |
-
return in_array($value, $array);
|
5382 |
-
}
|
5383 |
-
/**
|
5384 |
-
*
|
5385 |
-
* @param $object
|
5386 |
-
* @param $callback
|
5387 |
-
* @return unknown_type
|
5388 |
-
* @link http://docs.jquery.com/Utilities/jQuery.each
|
5389 |
-
*/
|
5390 |
-
public static function each($object, $callback, $param1 = null, $param2 = null, $param3 = null) {
|
5391 |
-
$paramStructure = null;
|
5392 |
-
if (func_num_args() > 2) {
|
5393 |
-
$paramStructure = func_get_args();
|
5394 |
-
$paramStructure = array_slice($paramStructure, 2);
|
5395 |
-
}
|
5396 |
-
if (is_object($object) && ! ($object instanceof Iterator)) {
|
5397 |
-
foreach(get_object_vars($object) as $name => $value)
|
5398 |
-
phpQuery::callbackRun($callback, array($name, $value), $paramStructure);
|
5399 |
-
} else {
|
5400 |
-
foreach($object as $name => $value)
|
5401 |
-
phpQuery::callbackRun($callback, array($name, $value), $paramStructure);
|
5402 |
-
}
|
5403 |
-
}
|
5404 |
-
/**
|
5405 |
-
*
|
5406 |
-
* @link http://docs.jquery.com/Utilities/jQuery.map
|
5407 |
-
*/
|
5408 |
-
public static function map($array, $callback, $param1 = null, $param2 = null, $param3 = null) {
|
5409 |
-
$result = array();
|
5410 |
-
$paramStructure = null;
|
5411 |
-
if (func_num_args() > 2) {
|
5412 |
-
$paramStructure = func_get_args();
|
5413 |
-
$paramStructure = array_slice($paramStructure, 2);
|
5414 |
-
}
|
5415 |
-
foreach($array as $v) {
|
5416 |
-
$vv = phpQuery::callbackRun($callback, array($v), $paramStructure);
|
5417 |
-
// $callbackArgs = $args;
|
5418 |
-
// foreach($args as $i => $arg) {
|
5419 |
-
// $callbackArgs[$i] = $arg instanceof CallbackParam
|
5420 |
-
// ? $v
|
5421 |
-
// : $arg;
|
5422 |
-
// }
|
5423 |
-
// $vv = call_user_func_array($callback, $callbackArgs);
|
5424 |
-
if (is_array($vv)) {
|
5425 |
-
foreach($vv as $vvv)
|
5426 |
-
$result[] = $vvv;
|
5427 |
-
} else if ($vv !== null) {
|
5428 |
-
$result[] = $vv;
|
5429 |
-
}
|
5430 |
-
}
|
5431 |
-
return $result;
|
5432 |
-
}
|
5433 |
-
/**
|
5434 |
-
*
|
5435 |
-
* @param $callback Callback
|
5436 |
-
* @param $params
|
5437 |
-
* @param $paramStructure
|
5438 |
-
* @return unknown_type
|
5439 |
-
*/
|
5440 |
-
public static function callbackRun($callback, $params = array(), $paramStructure = null) {
|
5441 |
-
if (! $callback)
|
5442 |
-
return;
|
5443 |
-
if ($callback instanceof CallbackParameterToReference) {
|
5444 |
-
// TODO support ParamStructure to select which $param push to reference
|
5445 |
-
if (isset($params[0]))
|
5446 |
-
$callback->callback = $params[0];
|
5447 |
-
return true;
|
5448 |
-
}
|
5449 |
-
if ($callback instanceof Callback) {
|
5450 |
-
$paramStructure = $callback->params;
|
5451 |
-
$callback = $callback->callback;
|
5452 |
-
}
|
5453 |
-
if (! $paramStructure)
|
5454 |
-
return call_user_func_array($callback, $params);
|
5455 |
-
$p = 0;
|
5456 |
-
foreach($paramStructure as $i => $v) {
|
5457 |
-
$paramStructure[$i] = $v instanceof CallbackParam
|
5458 |
-
? $params[$p++]
|
5459 |
-
: $v;
|
5460 |
-
}
|
5461 |
-
return call_user_func_array($callback, $paramStructure);
|
5462 |
-
}
|
5463 |
-
/**
|
5464 |
-
* Merge 2 phpQuery objects.
|
5465 |
-
* @param array $one
|
5466 |
-
* @param array $two
|
5467 |
-
* @protected
|
5468 |
-
* @todo node lists, phpQueryObject
|
5469 |
-
*/
|
5470 |
-
public static function merge($one, $two) {
|
5471 |
-
$elements = $one->elements;
|
5472 |
-
foreach($two->elements as $node) {
|
5473 |
-
$exists = false;
|
5474 |
-
foreach($elements as $node2) {
|
5475 |
-
if ($node2->isSameNode($node))
|
5476 |
-
$exists = true;
|
5477 |
-
}
|
5478 |
-
if (! $exists)
|
5479 |
-
$elements[] = $node;
|
5480 |
-
}
|
5481 |
-
return $elements;
|
5482 |
-
// $one = $one->newInstance();
|
5483 |
-
// $one->elements = $elements;
|
5484 |
-
// return $one;
|
5485 |
-
}
|
5486 |
-
/**
|
5487 |
-
*
|
5488 |
-
* @param $array
|
5489 |
-
* @param $callback
|
5490 |
-
* @param $invert
|
5491 |
-
* @return unknown_type
|
5492 |
-
* @link http://docs.jquery.com/Utilities/jQuery.grep
|
5493 |
-
*/
|
5494 |
-
public static function grep($array, $callback, $invert = false) {
|
5495 |
-
$result = array();
|
5496 |
-
foreach($array as $k => $v) {
|
5497 |
-
$r = call_user_func_array($callback, array($v, $k));
|
5498 |
-
if ($r === !(bool)$invert)
|
5499 |
-
$result[] = $v;
|
5500 |
-
}
|
5501 |
-
return $result;
|
5502 |
-
}
|
5503 |
-
public static function unique($array) {
|
5504 |
-
return array_unique($array);
|
5505 |
-
}
|
5506 |
-
/**
|
5507 |
-
*
|
5508 |
-
* @param $function
|
5509 |
-
* @return unknown_type
|
5510 |
-
* @TODO there are problems with non-static methods, second parameter pass it
|
5511 |
-
* but doesnt verify is method is really callable
|
5512 |
-
*/
|
5513 |
-
public static function isFunction($function) {
|
5514 |
-
return is_callable($function);
|
5515 |
-
}
|
5516 |
-
public static function trim($str) {
|
5517 |
-
return trim($str);
|
5518 |
-
}
|
5519 |
-
/* PLUGINS NAMESPACE */
|
5520 |
-
/**
|
5521 |
-
*
|
5522 |
-
* @param $url
|
5523 |
-
* @param $callback
|
5524 |
-
* @param $param1
|
5525 |
-
* @param $param2
|
5526 |
-
* @param $param3
|
5527 |
-
* @return phpQueryObject
|
5528 |
-
*/
|
5529 |
-
public static function browserGet($url, $callback, $param1 = null, $param2 = null, $param3 = null) {
|
5530 |
-
if (self::plugin('WebBrowser')) {
|
5531 |
-
$params = func_get_args();
|
5532 |
-
return self::callbackRun(array(self::$plugins, 'browserGet'), $params);
|
5533 |
-
} else {
|
5534 |
-
self::debug('WebBrowser plugin not available...');
|
5535 |
-
}
|
5536 |
-
}
|
5537 |
-
/**
|
5538 |
-
*
|
5539 |
-
* @param $url
|
5540 |
-
* @param $data
|
5541 |
-
* @param $callback
|
5542 |
-
* @param $param1
|
5543 |
-
* @param $param2
|
5544 |
-
* @param $param3
|
5545 |
-
* @return phpQueryObject
|
5546 |
-
*/
|
5547 |
-
public static function browserPost($url, $data, $callback, $param1 = null, $param2 = null, $param3 = null) {
|
5548 |
-
if (self::plugin('WebBrowser')) {
|
5549 |
-
$params = func_get_args();
|
5550 |
-
return self::callbackRun(array(self::$plugins, 'browserPost'), $params);
|
5551 |
-
} else {
|
5552 |
-
self::debug('WebBrowser plugin not available...');
|
5553 |
-
}
|
5554 |
-
}
|
5555 |
-
/**
|
5556 |
-
*
|
5557 |
-
* @param $ajaxSettings
|
5558 |
-
* @param $callback
|
5559 |
-
* @param $param1
|
5560 |
-
* @param $param2
|
5561 |
-
* @param $param3
|
5562 |
-
* @return phpQueryObject
|
5563 |
-
*/
|
5564 |
-
public static function browser($ajaxSettings, $callback, $param1 = null, $param2 = null, $param3 = null) {
|
5565 |
-
if (self::plugin('WebBrowser')) {
|
5566 |
-
$params = func_get_args();
|
5567 |
-
return self::callbackRun(array(self::$plugins, 'browser'), $params);
|
5568 |
-
} else {
|
5569 |
-
self::debug('WebBrowser plugin not available...');
|
5570 |
-
}
|
5571 |
-
}
|
5572 |
-
/**
|
5573 |
-
*
|
5574 |
-
* @param $code
|
5575 |
-
* @return string
|
5576 |
-
*/
|
5577 |
-
public static function php($code) {
|
5578 |
-
return self::code('php', $code);
|
5579 |
-
}
|
5580 |
-
/**
|
5581 |
-
*
|
5582 |
-
* @param $type
|
5583 |
-
* @param $code
|
5584 |
-
* @return string
|
5585 |
-
*/
|
5586 |
-
public static function code($type, $code) {
|
5587 |
-
return "<$type><!-- ".trim($code)." --></$type>";
|
5588 |
-
}
|
5589 |
-
|
5590 |
-
public static function __callStatic($method, $params) {
|
5591 |
-
return call_user_func_array(
|
5592 |
-
array(phpQuery::$plugins, $method),
|
5593 |
-
$params
|
5594 |
-
);
|
5595 |
-
}
|
5596 |
-
protected static function dataSetupNode($node, $documentID) {
|
5597 |
-
// search are return if alredy exists
|
5598 |
-
foreach(phpQuery::$documents[$documentID]->dataNodes as $dataNode) {
|
5599 |
-
if ($node->isSameNode($dataNode))
|
5600 |
-
return $dataNode;
|
5601 |
-
}
|
5602 |
-
// if doesn't, add it
|
5603 |
-
phpQuery::$documents[$documentID]->dataNodes[] = $node;
|
5604 |
-
return $node;
|
5605 |
-
}
|
5606 |
-
protected static function dataRemoveNode($node, $documentID) {
|
5607 |
-
// search are return if alredy exists
|
5608 |
-
foreach(phpQuery::$documents[$documentID]->dataNodes as $k => $dataNode) {
|
5609 |
-
if ($node->isSameNode($dataNode)) {
|
5610 |
-
unset(self::$documents[$documentID]->dataNodes[$k]);
|
5611 |
-
unset(self::$documents[$documentID]->data[ $dataNode->dataID ]);
|
5612 |
-
}
|
5613 |
-
}
|
5614 |
-
}
|
5615 |
-
public static function data($node, $name, $data, $documentID = null) {
|
5616 |
-
if (! $documentID)
|
5617 |
-
// TODO check if this works
|
5618 |
-
$documentID = self::getDocumentID($node);
|
5619 |
-
$document = phpQuery::$documents[$documentID];
|
5620 |
-
$node = self::dataSetupNode($node, $documentID);
|
5621 |
-
if (! isset($node->dataID))
|
5622 |
-
$node->dataID = ++phpQuery::$documents[$documentID]->uuid;
|
5623 |
-
$id = $node->dataID;
|
5624 |
-
if (! isset($document->data[$id]))
|
5625 |
-
$document->data[$id] = array();
|
5626 |
-
if (! is_null($data))
|
5627 |
-
$document->data[$id][$name] = $data;
|
5628 |
-
if ($name) {
|
5629 |
-
if (isset($document->data[$id][$name]))
|
5630 |
-
return $document->data[$id][$name];
|
5631 |
-
} else
|
5632 |
-
return $id;
|
5633 |
-
}
|
5634 |
-
public static function removeData($node, $name, $documentID) {
|
5635 |
-
if (! $documentID)
|
5636 |
-
// TODO check if this works
|
5637 |
-
$documentID = self::getDocumentID($node);
|
5638 |
-
$document = phpQuery::$documents[$documentID];
|
5639 |
-
$node = self::dataSetupNode($node, $documentID);
|
5640 |
-
$id = $node->dataID;
|
5641 |
-
if ($name) {
|
5642 |
-
if (isset($document->data[$id][$name]))
|
5643 |
-
unset($document->data[$id][$name]);
|
5644 |
-
$name = null;
|
5645 |
-
// foreach($document->data[$id] as $name)
|
5646 |
-
// break;
|
5647 |
-
foreach($document->data[$id] as $name) {
|
5648 |
-
break;
|
5649 |
-
}
|
5650 |
-
if (! $name)
|
5651 |
-
self::removeData($node, $name, $documentID);
|
5652 |
-
} else {
|
5653 |
-
self::dataRemoveNode($node, $documentID);
|
5654 |
-
}
|
5655 |
-
}
|
5656 |
-
}
|
5657 |
-
/**
|
5658 |
-
* Plugins static namespace class.
|
5659 |
-
*
|
5660 |
-
* @author Tobiasz Cudnik <tobiasz.cudnik/gmail.com>
|
5661 |
-
* @package phpQuery
|
5662 |
-
* @todo move plugin methods here (as statics)
|
5663 |
-
*/
|
5664 |
-
class phpQueryPlugins {
|
5665 |
-
public function __call($method, $args) {
|
5666 |
-
if (isset(phpQuery::$extendStaticMethods[$method])) {
|
5667 |
-
$return = call_user_func_array(
|
5668 |
-
phpQuery::$extendStaticMethods[$method],
|
5669 |
-
$args
|
5670 |
-
);
|
5671 |
-
} else if (isset(phpQuery::$pluginsStaticMethods[$method])) {
|
5672 |
-
$class = phpQuery::$pluginsStaticMethods[$method];
|
5673 |
-
$realClass = "phpQueryPlugin_$class";
|
5674 |
-
$return = call_user_func_array(
|
5675 |
-
array($realClass, $method),
|
5676 |
-
$args
|
5677 |
-
);
|
5678 |
-
return isset($return)
|
5679 |
-
? $return
|
5680 |
-
: $this;
|
5681 |
-
} else
|
5682 |
-
throw new Exception("Method '{$method}' doesnt exist");
|
5683 |
-
}
|
5684 |
-
}
|
5685 |
-
/**
|
5686 |
-
* Shortcut to phpQuery::pq($arg1, $context)
|
5687 |
-
* Chainable.
|
5688 |
-
*
|
5689 |
-
* @see phpQuery::pq()
|
5690 |
-
* @return phpQueryObject|QueryTemplatesSource|QueryTemplatesParse|QueryTemplatesSourceQuery
|
5691 |
-
* @author Tobiasz Cudnik <tobiasz.cudnik/gmail.com>
|
5692 |
-
* @package phpQuery
|
5693 |
-
*/
|
5694 |
-
function pq($arg1, $context = null) {
|
5695 |
-
$args = func_get_args();
|
5696 |
-
return call_user_func_array(
|
5697 |
-
array('phpQuery', 'pq'),
|
5698 |
-
$args
|
5699 |
-
);
|
5700 |
-
}
|
5701 |
-
// add plugins dir and Zend framework to include path
|
5702 |
-
set_include_path(
|
5703 |
-
get_include_path()
|
5704 |
-
.PATH_SEPARATOR.dirname(__FILE__).'/phpQuery/'
|
5705 |
-
.PATH_SEPARATOR.dirname(__FILE__).'/phpQuery/plugins/'
|
5706 |
-
);
|
5707 |
-
// why ? no __call nor __get for statics in php...
|
5708 |
-
// XXX __callStatic will be available in PHP 5.3
|
5709 |
-
phpQuery::$plugins = new phpQueryPlugins();
|
5710 |
-
// include bootstrap file (personal library config)
|
5711 |
-
if (file_exists(dirname(__FILE__).'/phpQuery/bootstrap.php'))
|
5712 |
-
require_once dirname(__FILE__).'/phpQuery/bootstrap.php';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/preview.php
CHANGED
@@ -420,10 +420,10 @@ function generate_code_preview (
|
|
420 |
'animation': btoa (animation),
|
421 |
'alignment_css': btoa (alignment_css),
|
422 |
'custom_css': btoa (custom_css),
|
423 |
-
'php': <?php echo $process_php; ?>,
|
424 |
-
'label': <?php echo $show_label; ?>,
|
425 |
'close': close_button,
|
426 |
-
'iframe': <?php echo $iframe; ?>,
|
427 |
'check': check,
|
428 |
'count': count,
|
429 |
'rotate': rotate
|
@@ -2255,8 +2255,8 @@ select {
|
|
2255 |
<span id="css-label" style="vertical-align: middle; margin: 4px 0 0 0 0; width: 36px; font-size: 14px; font-weight: bold; display: none;">CSS</span>
|
2256 |
</td>
|
2257 |
<td style="width: 100%; height: 32px; padding:0;">
|
2258 |
-
<input id="custom-css" style="width: 100%; display: inline-block; padding: 5px 0 0 3px; border-radius: 4px; display: none; font-size: 12px; font-family: Courier, 'Courier New'
|
2259 |
-
<span style="width: 100%; display: inline-block; padding: 5px 0 0
|
2260 |
<span id="css-no-wrapping" style="vertical-align: middle; display: none;"></span>
|
2261 |
<span id="css-<?php echo AI_ALIGNMENT_DEFAULT; ?>" class="css-code" style="vertical-align: middle; display: none;" title="CSS code for wrapping div, click to edit"><?php echo $obj->alignment_style (AI_ALIGNMENT_DEFAULT); ?></span>
|
2262 |
<span id="css-<?php echo AI_ALIGNMENT_LEFT; ?>" class="css-code" style="vertical-align: middle;display: none;" title="CSS code for wrapping div, click to edit"><?php echo $obj->alignment_style (AI_ALIGNMENT_LEFT); ?></span>
|
420 |
'animation': btoa (animation),
|
421 |
'alignment_css': btoa (alignment_css),
|
422 |
'custom_css': btoa (custom_css),
|
423 |
+
'php': <?php echo $process_php ? '1' : '0'; ?>,
|
424 |
+
'label': <?php echo $show_label ? '1' : '0'; ?>,
|
425 |
'close': close_button,
|
426 |
+
'iframe': <?php echo $iframe ? '1' : '0'; ?>,
|
427 |
'check': check,
|
428 |
'count': count,
|
429 |
'rotate': rotate
|
2255 |
<span id="css-label" style="vertical-align: middle; margin: 4px 0 0 0 0; width: 36px; font-size: 14px; font-weight: bold; display: none;">CSS</span>
|
2256 |
</td>
|
2257 |
<td style="width: 100%; height: 32px; padding:0;">
|
2258 |
+
<input id="custom-css" style="width: 100%; display: inline-block; padding: 5px 0 0 3px; border-radius: 4px; display: none; font-size: 12px; font-family: monospace, Courier, 'Courier New'; font-weight: bold;" type="text" value="<?php echo $custom_css_code; ?>" size="70" maxlength="500" title="Custom CSS code for wrapping div" />
|
2259 |
+
<span style="width: 100%; display: inline-block; padding: 5px 0 0 5px; font-family: monospace, Courier, 'Courier New'; font-size: 12px; font-weight: bold; cursor: pointer; white-space: normal;">
|
2260 |
<span id="css-no-wrapping" style="vertical-align: middle; display: none;"></span>
|
2261 |
<span id="css-<?php echo AI_ALIGNMENT_DEFAULT; ?>" class="css-code" style="vertical-align: middle; display: none;" title="CSS code for wrapping div, click to edit"><?php echo $obj->alignment_style (AI_ALIGNMENT_DEFAULT); ?></span>
|
2262 |
<span id="css-<?php echo AI_ALIGNMENT_LEFT; ?>" class="css-code" style="vertical-align: middle;display: none;" title="CSS code for wrapping div, click to edit"><?php echo $obj->alignment_style (AI_ALIGNMENT_LEFT); ?></span>
|
js/ad-inserter.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
var javascript_version = "2.4.
|
2 |
var ignore_key = true;
|
3 |
var start = 1;
|
4 |
var end = 16;
|
@@ -232,6 +232,8 @@ var before_update_selection_from_list = null;
|
|
232 |
title = title.replace (/(\[ADINSERTER.+\])/g, '<span class="tooltip-code">$1</span>');
|
233 |
title = title.replace (/(\%N)/g, '<span class="tooltip-code">$1</span>');
|
234 |
title = title.replace (/(\[\*\])/g, '<span class="tooltip-icon"><span class="dashicons dashicons-admin-generic" style="width: 11px; height: 11px; font-size: 12px; line-height: unset;"></span></span>');
|
|
|
|
|
235 |
|
236 |
if (settings(this).bodyHandler) {
|
237 |
helper.title.hide();
|
@@ -1987,6 +1989,22 @@ jQuery(document).ready(function($) {
|
|
1987 |
frame.open();
|
1988 |
});
|
1989 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1990 |
}
|
1991 |
|
1992 |
function configure_tab (tab) {
|
@@ -4296,6 +4314,41 @@ jQuery(document).ready(function($) {
|
|
4296 |
});
|
4297 |
}
|
4298 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4299 |
function set_page_statuses (block) {
|
4300 |
var automatic_insertion = parseInt ($("select#insertion-type-"+block+" option:selected").attr('value'));
|
4301 |
var table = $('#page-types-' + block);
|
@@ -4825,6 +4878,33 @@ jQuery(document).ready(function($) {
|
|
4825 |
var current_time = new Date().getTime();
|
4826 |
console.log ("main time: " + ((current_time - current_time_ready) / 1000).toFixed (3));
|
4827 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4828 |
});
|
4829 |
|
4830 |
|
1 |
+
var javascript_version = "2.4.12";
|
2 |
var ignore_key = true;
|
3 |
var start = 1;
|
4 |
var end = 16;
|
232 |
title = title.replace (/(\[ADINSERTER.+\])/g, '<span class="tooltip-code">$1</span>');
|
233 |
title = title.replace (/(\%N)/g, '<span class="tooltip-code">$1</span>');
|
234 |
title = title.replace (/(\[\*\])/g, '<span class="tooltip-icon"><span class="dashicons dashicons-admin-generic" style="width: 11px; height: 11px; font-size: 12px; line-height: unset;"></span></span>');
|
235 |
+
title = title.replace (/(http[^ ]+)/g, '<span class="tooltip-code">$1</span>');
|
236 |
+
title = title.replace (/(pub-[0-9]+)/g, '<span class="tooltip-code">$1</span>');
|
237 |
|
238 |
if (settings(this).bodyHandler) {
|
239 |
helper.title.hide();
|
1989 |
frame.open();
|
1990 |
});
|
1991 |
|
1992 |
+
$("#tab-0 .adsense-list").click (function () {
|
1993 |
+
$(this).blur ();
|
1994 |
+
var container = $("#adsense-list-container");
|
1995 |
+
container.toggle ();
|
1996 |
+
if (container.is(':visible')) {
|
1997 |
+
reload_adsense_list (false);
|
1998 |
+
}
|
1999 |
+
});
|
2000 |
+
$("#tab-0 #ai-ads-txt").click (function () {
|
2001 |
+
$(this).blur ();
|
2002 |
+
var container = $("#ads-txt-container");
|
2003 |
+
container.toggle ();
|
2004 |
+
if (container.is(':visible')) {
|
2005 |
+
load_ads_txt ();
|
2006 |
+
}
|
2007 |
+
});
|
2008 |
}
|
2009 |
|
2010 |
function configure_tab (tab) {
|
4314 |
});
|
4315 |
}
|
4316 |
|
4317 |
+
function load_ads_txt () {
|
4318 |
+
ads_txt_reload = false;
|
4319 |
+
var view = $("#ads-txt-editor").hasClass ('on') ? 'text' : 'table';
|
4320 |
+
var search = encodeURIComponent ($("#ads-txt-search").val());
|
4321 |
+
var data_container = $("#ads-txt-data");
|
4322 |
+
$("#ads-txt-reload").addClass ('on');
|
4323 |
+
data_container.load (ajaxurl+"?action=ai_ajax_backend&ads-txt=" + view + "&search=" + search + "&ai_check=" + ai_nonce, function (response, status, xhr) {
|
4324 |
+
$("#ads-txt-reload").removeClass ('on');
|
4325 |
+
if (status == "error") {
|
4326 |
+
var message = "Error loading ads.txt file: " + xhr.status + " " + xhr.statusText;
|
4327 |
+
data_container.html (message);
|
4328 |
+
if (debug) console.log (message);
|
4329 |
+
} else {
|
4330 |
+
$('#ads-txt-controls').show ();
|
4331 |
+
// data_container.disableSelection();
|
4332 |
+
}
|
4333 |
+
});
|
4334 |
+
}
|
4335 |
+
function save_ads_txt (reload) {
|
4336 |
+
var data_container = $("#ads-txt-data");
|
4337 |
+
var ads_txt_data = {'text': b64e (data_container.find ('textarea#ads-txt-text').val ())};
|
4338 |
+
$('#ads-txt-error').text ('');
|
4339 |
+
$.post (ajaxurl+"?action=ai_ajax_backend&ads-txt=save&ai_check=" + ai_nonce, ads_txt_data
|
4340 |
+
).done (function (code_data) {
|
4341 |
+
}).fail (function (xhr, status, error) {
|
4342 |
+
var message = "Error saving ads.txt file: " + xhr.status + " " + xhr.statusText;
|
4343 |
+
$('#ads-txt-error').text (message);
|
4344 |
+
if (debug) console.log (message);
|
4345 |
+
}).always (function() {
|
4346 |
+
$("#ads-txt-save").removeClass ('on');
|
4347 |
+
if (reload) {
|
4348 |
+
setTimeout (function() {load_ads_txt ();}, 200);
|
4349 |
+
}
|
4350 |
+
});
|
4351 |
+
}
|
4352 |
function set_page_statuses (block) {
|
4353 |
var automatic_insertion = parseInt ($("select#insertion-type-"+block+" option:selected").attr('value'));
|
4354 |
var table = $('#page-types-' + block);
|
4878 |
var current_time = new Date().getTime();
|
4879 |
console.log ("main time: " + ((current_time - current_time_ready) / 1000).toFixed (3));
|
4880 |
}
|
4881 |
+
$("#ads-txt-reload").click (function () {
|
4882 |
+
setTimeout (function() {load_ads_txt ();}, 200);
|
4883 |
+
});
|
4884 |
+
$("#ads-txt-save").click (function () {
|
4885 |
+
$(this).addClass ('on');
|
4886 |
+
setTimeout (function() {save_ads_txt (true);}, 200);
|
4887 |
+
});
|
4888 |
+
$("#ads-txt-editor").click (function () {
|
4889 |
+
$(this).addClass ('on');
|
4890 |
+
$("#ads-txt-table").removeClass ('on');
|
4891 |
+
$('#ads-txt-search').hide ();
|
4892 |
+
$('#ads-txt-save').show ();
|
4893 |
+
$("#ads-txt-reload").click ();
|
4894 |
+
});
|
4895 |
+
$("#ads-txt-table").click (function () {
|
4896 |
+
$(this).addClass ('on');
|
4897 |
+
$("#ads-txt-editor").removeClass ('on');
|
4898 |
+
$('#ads-txt-search').show ();
|
4899 |
+
$('#ads-txt-save').hide ();
|
4900 |
+
$("#ads-txt-reload").click ();
|
4901 |
+
});
|
4902 |
+
$("#ads-txt-search").keyup (function (event) {
|
4903 |
+
if (!ads_txt_reload) {
|
4904 |
+
ads_txt_reload = true;
|
4905 |
+
setTimeout (function() {load_ads_txt ();}, 200);
|
4906 |
+
}
|
4907 |
+
});
|
4908 |
});
|
4909 |
|
4910 |
|
languages/ad-inserter-sl_SI.mo
CHANGED
Binary file
|
languages/ad-inserter-sl_SI.po
CHANGED
@@ -4,8 +4,8 @@ msgid ""
|
|
4 |
msgstr ""
|
5 |
"Project-Id-Version: Ad Inserter 2.4.2\n"
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/ad-inserter\n"
|
7 |
-
"POT-Creation-Date: 2019-
|
8 |
-
"PO-Revision-Date: 2019-
|
9 |
"Last-Translator: Igor Funa\n"
|
10 |
"Language-Team: \n"
|
11 |
"Language: sl_SI\n"
|
@@ -16,129 +16,129 @@ msgstr ""
|
|
16 |
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100>=3 && n"
|
17 |
"%100<=4 ? 2 : 3);\n"
|
18 |
|
19 |
-
#: ad-inserter.php:
|
20 |
msgctxt "Menu item"
|
21 |
msgid "Debugging DEMO"
|
22 |
msgstr "DEMO Razhroščevanje"
|
23 |
|
24 |
-
#: ad-inserter.php:
|
25 |
msgctxt "Menu item"
|
26 |
msgid "Label Blocks"
|
27 |
msgstr "Označi bloke"
|
28 |
|
29 |
-
#: ad-inserter.php:
|
30 |
msgctxt "Menu item"
|
31 |
msgid "Show Positions"
|
32 |
msgstr "Pokaži položaje"
|
33 |
|
34 |
-
#: ad-inserter.php:
|
35 |
msgctxt "Menu item"
|
36 |
msgid "Show HTML Tags"
|
37 |
msgstr "Pokaži HTML značke"
|
38 |
|
39 |
-
#: ad-inserter.php:
|
40 |
msgctxt "Menu item"
|
41 |
msgid "Disable Insertion"
|
42 |
msgstr "Onemogoči vstavljanje"
|
43 |
|
44 |
-
#: ad-inserter.php:
|
45 |
msgctxt "Menu item"
|
46 |
msgid "Ad Blocking Status"
|
47 |
msgstr "Status blokiranja oglasov"
|
48 |
|
49 |
-
#: ad-inserter.php:
|
50 |
msgctxt "Menu item"
|
51 |
msgid "Simulate Ad Blocking"
|
52 |
msgstr "Simuliraj blokiranje oglasov"
|
53 |
|
54 |
-
#: ad-inserter.php:
|
55 |
msgctxt "Menu item"
|
56 |
msgid "Log Processing"
|
57 |
msgstr "Beleži procesiranje"
|
58 |
|
59 |
#. translators: Debugging position name Before HTML element
|
60 |
-
#: ad-inserter.php:
|
61 |
msgid "Before"
|
62 |
msgstr "Pred"
|
63 |
|
64 |
#. translators: Debugging position name After HTML element
|
65 |
-
#: ad-inserter.php:
|
66 |
msgid "After"
|
67 |
msgstr "Za"
|
68 |
|
69 |
#. translators: Debugging position name Prepend content of HTML element (before
|
70 |
#. the content of the HTML element)
|
71 |
-
#: ad-inserter.php:
|
72 |
msgid "Prepend content"
|
73 |
msgstr "Dodaj pred vsebino"
|
74 |
|
75 |
#. translators: Debugging position name Append content of HTML element (after
|
76 |
#. the content of the HTML element)
|
77 |
-
#: ad-inserter.php:
|
78 |
msgid "Append content"
|
79 |
msgstr "Dodaj za vsebino"
|
80 |
|
81 |
#. translators: Debugging position name Replace content of HTML element
|
82 |
-
#: ad-inserter.php:
|
83 |
msgid "Replace content"
|
84 |
msgstr "Nadomesti vsebino"
|
85 |
|
86 |
#. translators: Debugging position name Replace HTML element
|
87 |
-
#: ad-inserter.php:
|
88 |
msgid "Replace"
|
89 |
msgstr "Nadomesti"
|
90 |
|
91 |
#. translators: Debugging message when output buffering is enabled
|
92 |
-
#: ad-inserter.php:
|
93 |
msgid "OUTPUT BUFFERING"
|
94 |
msgstr "PREDPOMNJENJE IZHODA"
|
95 |
|
96 |
#. translators: Debugging position
|
97 |
-
#: ad-inserter.php:
|
98 |
msgid "Above Header"
|
99 |
msgstr "Nad Glavo"
|
100 |
|
101 |
-
#: ad-inserter.php:
|
102 |
msgctxt "Menu item"
|
103 |
msgid "Log In"
|
104 |
msgstr "Prijava"
|
105 |
|
106 |
#. translators: %s: Ad Inserter
|
107 |
-
#: ad-inserter.php:
|
108 |
msgid "%s Settings"
|
109 |
msgstr "%s Nastavitve"
|
110 |
|
111 |
#. translators: AD BLOCKING DETECTED, PAGE VIEWS: n - NO ACTION
|
112 |
-
#: ad-inserter.php:
|
113 |
msgid "AD BLOCKING DETECTED, PAGE VIEWS"
|
114 |
msgstr "ZAZNANO BLOKIRANJE OGLASOV, OGLEDI STRANI"
|
115 |
|
116 |
-
#: ad-inserter.php:
|
117 |
msgid "NO ACTION"
|
118 |
msgstr "NI AKCIJE"
|
119 |
|
120 |
-
#: ad-inserter.php:
|
121 |
msgid "AD BLOCKING DETECTED, COOKIE DETECTED - NO ACTION"
|
122 |
msgstr "ZAZNANO BLOKIRANJE OGLASOV, ZAZNAN PIŠKOTEK, NI AKCIJE"
|
123 |
|
124 |
-
#: ad-inserter.php:
|
125 |
msgid "AD BLOCKING DETECTED - ACTION"
|
126 |
msgstr "ZAZNANO BLOKIRANJE OGLASOV - AKCIJA"
|
127 |
|
128 |
-
#: ad-inserter.php:
|
129 |
msgid "AD BLOCKING NOT DETECTED"
|
130 |
msgstr "BLOKIRANJE OGLASOV NI ZAZNANO"
|
131 |
|
132 |
-
#: ad-inserter.php:
|
133 |
msgid "AD BLOCKING DETECTION COOKIES DELETED"
|
134 |
msgstr "PIŠKOTKI ZA ZAZNAVANJE BLOKIRANJA OGLASOV POBRISANI"
|
135 |
|
136 |
-
#: ad-inserter.php:
|
137 |
msgid "AD BLOCKING DETECTED - NO ACTION"
|
138 |
msgstr "ZAZNANO BLOKIRANJE OGLASOV - NI AKCIJE"
|
139 |
|
140 |
#. Translators: 1: number of blocks, 2: Ad Inserter
|
141 |
-
#: ad-inserter.php:
|
142 |
msgid "Hey, you are now using %1$s %2$s block."
|
143 |
msgid_plural "Hey, you are now using %1$s %2$s blocks."
|
144 |
msgstr[0] "Hej, trenutno uporabljate %1$s %2$s blok."
|
@@ -146,21 +146,21 @@ msgstr[1] "Hej, trenutno uporabljate %1$s %2$s bloka."
|
|
146 |
msgstr[2] "Hej, trenutno uporabljate %1$s %2$s bloke."
|
147 |
msgstr[3] "Hej, trenutno uporabljate %1$s %2$s blokov."
|
148 |
|
149 |
-
#: ad-inserter.php:
|
150 |
msgid "No, thank you."
|
151 |
msgstr "Ne, hvala."
|
152 |
|
153 |
#. Translators: %s: Ad Inserter
|
154 |
-
#: ad-inserter.php:
|
155 |
msgid ""
|
156 |
"Hey, you've been using %s for a while now, and I hope you're happy with it."
|
157 |
msgstr "Hej, %s uporabljate že kar nekaj časa. Upam, da ste zadovoljni z njim."
|
158 |
|
159 |
-
#: ad-inserter.php:
|
160 |
msgid "Not now, maybe later."
|
161 |
msgstr "Ne zdaj, mogoče kasneje."
|
162 |
|
163 |
-
#: ad-inserter.php:
|
164 |
msgid ""
|
165 |
"I would really appreciate it if you could give the plugin a 5-star rating on "
|
166 |
"WordPres."
|
@@ -168,7 +168,7 @@ msgstr ""
|
|
168 |
"Res bi bili vesel, če bi lahko na WordPress-u vtičnik ocenili s 5-imi "
|
169 |
"zvezicami."
|
170 |
|
171 |
-
#: ad-inserter.php:
|
172 |
msgid ""
|
173 |
"Positive reviews are a great incentive to fix bugs and to add new features "
|
174 |
"for better monetization of your website. Thank you, Igor"
|
@@ -177,105 +177,105 @@ msgstr ""
|
|
177 |
"funkcij za boljšo monetizacijo vašega spletnega mesta. Hvala, Igor"
|
178 |
|
179 |
#. translators: %s: Ad Inserter
|
180 |
-
#: ad-inserter.php:
|
181 |
msgid "Rate %s"
|
182 |
msgstr "Ocenite %s"
|
183 |
|
184 |
-
#: ad-inserter.php:
|
185 |
msgid "I already did."
|
186 |
msgstr "Sem že."
|
187 |
|
188 |
-
#: ad-inserter.php:
|
189 |
msgctxt "Menu item"
|
190 |
msgid "Settings"
|
191 |
msgstr "Nastavitve"
|
192 |
|
193 |
#. translators: %s: Ad Inserter
|
194 |
-
#: ad-inserter.php:
|
195 |
msgctxt "Meta box name"
|
196 |
msgid "%s Individual Exceptions"
|
197 |
msgstr "Posamezne Izjeme za %s"
|
198 |
|
199 |
-
#: ad-inserter.php:
|
200 |
#: includes/preview.php:1966 includes/preview.php:2010
|
201 |
-
#: includes/preview.php:2047 settings.php:
|
202 |
msgid "Block"
|
203 |
msgstr "Blok"
|
204 |
|
205 |
-
#: ad-inserter.php:
|
206 |
msgid "Name"
|
207 |
msgstr "Ime"
|
208 |
|
209 |
-
#: ad-inserter.php:
|
210 |
msgid "Automatic insertion"
|
211 |
msgstr "Samodejno vstavljanje"
|
212 |
|
213 |
-
#: ad-inserter.php:
|
214 |
msgid "Default insertion for pages"
|
215 |
msgstr "Privzeto vstavljanje za strani"
|
216 |
|
217 |
-
#: ad-inserter.php:
|
218 |
msgid "Default insertion for posts"
|
219 |
msgstr "Privzeto vstavljanje za prispevke"
|
220 |
|
221 |
#. translators: For this post or page
|
222 |
-
#: ad-inserter.php:
|
223 |
msgctxt "Page"
|
224 |
msgid "For this"
|
225 |
msgstr "Za to"
|
226 |
|
227 |
-
#: ad-inserter.php:
|
228 |
msgctxt "Post"
|
229 |
msgid "For this"
|
230 |
msgstr "Za ta"
|
231 |
|
232 |
-
#: ad-inserter.php:
|
233 |
msgctxt "Enabled/disabled on all"
|
234 |
msgid "pages"
|
235 |
msgstr "straneh"
|
236 |
|
237 |
-
#: ad-inserter.php:
|
238 |
msgctxt "Default insertion for"
|
239 |
msgid "pages"
|
240 |
msgstr "strani"
|
241 |
|
242 |
-
#: ad-inserter.php:
|
243 |
msgctxt "Enabled/disabled on all"
|
244 |
msgid "posts"
|
245 |
msgstr "prispevkih"
|
246 |
|
247 |
-
#: ad-inserter.php:
|
248 |
msgctxt "Default insertion for"
|
249 |
msgid "posts"
|
250 |
msgstr "prispevke"
|
251 |
|
252 |
-
#: ad-inserter.php:
|
253 |
msgid "Enabled"
|
254 |
msgstr "Omogočeno"
|
255 |
|
256 |
#. translators: Menu items
|
257 |
-
#: ad-inserter.php:
|
258 |
#: strings.php:16
|
259 |
msgid "Disabled"
|
260 |
msgstr "Onemogočeno"
|
261 |
|
262 |
#. translators: Enabled on all pages or posts
|
263 |
-
#: ad-inserter.php:
|
264 |
msgid "Enabled on all"
|
265 |
msgstr "Omogočeno na vseh"
|
266 |
|
267 |
#. translators: Disabled on all pages or posts
|
268 |
-
#: ad-inserter.php:
|
269 |
msgid "Disabled on all"
|
270 |
msgstr "Onemogočeno na vseh"
|
271 |
|
272 |
#. translators: No individual exceptions enabled for pages or posts
|
273 |
-
#: ad-inserter.php:
|
274 |
msgid "No individual exceptions enabled for"
|
275 |
msgstr "Ni omogočenih posameznih izjem za"
|
276 |
|
277 |
#. translators: 1: pages or posts, 2: Ad Inserter Settings (page)
|
278 |
-
#: ad-inserter.php:
|
279 |
msgid ""
|
280 |
"Default insertion for %1$s can be configured for each block on %2$s page - "
|
281 |
"selection next to <strong>Posts</strong> / <strong>Static pages</strong> "
|
@@ -285,7 +285,7 @@ msgstr ""
|
|
285 |
"izbira poleg kljukice za vklop <strong>Prispevki</strong> / <strong>Statične "
|
286 |
"strani</strong>.<br />"
|
287 |
|
288 |
-
#: ad-inserter.php:
|
289 |
msgid ""
|
290 |
"Default value is <strong>blank</strong> and means no individual exceptions "
|
291 |
"(even if previously defined here).<br />"
|
@@ -293,7 +293,7 @@ msgstr ""
|
|
293 |
"Privzeta vrednost je <strong>prazno</strong> in pomeni brez posameznih izjem "
|
294 |
"(tudi, če so bile predhodno nsatavljene tukaj).<br />"
|
295 |
|
296 |
-
#: ad-inserter.php:
|
297 |
msgctxt "Pages"
|
298 |
msgid ""
|
299 |
"Set to <strong>Individually disabled</strong> or <strong>Individually "
|
@@ -302,7 +302,7 @@ msgstr ""
|
|
302 |
"Nastavite na <strong>Posamezno onemogočene</strong> ali <strong>Posamezno "
|
303 |
"omogočene</strong> za vklop nastavitev posameznih izjem na tej strani.<br />"
|
304 |
|
305 |
-
#: ad-inserter.php:
|
306 |
msgctxt "Posts"
|
307 |
msgid ""
|
308 |
"Set to <strong>Individually disabled</strong> or <strong>Individually "
|
@@ -311,61 +311,61 @@ msgstr ""
|
|
311 |
"Nastavite na <strong>Posamezno onemogočeni</strong> ali <strong>Posamezno "
|
312 |
"omogočeni</strong> za vklop nastavitev posameznih izjem na tej strani.<br />"
|
313 |
|
314 |
-
#: ad-inserter.php:
|
315 |
msgid "For more information check page %s"
|
316 |
msgstr "Za več informacij poglejte stran %s"
|
317 |
|
318 |
#. translators: Ad Inserter Exceptions documentation page
|
319 |
-
#: ad-inserter.php:
|
320 |
msgid "Individual Exceptions"
|
321 |
msgstr "Posamezne Izjeme"
|
322 |
|
323 |
-
#: ad-inserter.php:
|
324 |
msgid "STATIC PAGE"
|
325 |
msgstr "STATIČNA STRAN"
|
326 |
|
327 |
-
#: ad-inserter.php:
|
328 |
msgid "POST"
|
329 |
msgstr "PRISPEVEK"
|
330 |
|
331 |
-
#: ad-inserter.php:
|
332 |
msgid "HOMEPAGE"
|
333 |
msgstr "DOMAČA STRAN"
|
334 |
|
335 |
-
#: ad-inserter.php:
|
336 |
msgid "CATEGORY PAGE"
|
337 |
msgstr "STRAN KATEGORIJE"
|
338 |
|
339 |
-
#: ad-inserter.php:
|
340 |
msgid "SEARCH PAGE"
|
341 |
msgstr "STRAN ISKANJE"
|
342 |
|
343 |
-
#: ad-inserter.php:
|
344 |
msgid "ARCHIVE PAGE"
|
345 |
msgstr "STRAN ARHIVA"
|
346 |
|
347 |
-
#: ad-inserter.php:
|
348 |
msgid "ERROR 404 PAGE"
|
349 |
msgstr "STRAN NAPAKA 404"
|
350 |
|
351 |
-
#: ad-inserter.php:
|
352 |
msgid "AJAX CALL"
|
353 |
msgstr "AJAX KLIC"
|
354 |
|
355 |
-
#: ad-inserter.php:
|
356 |
msgid "UNKNOWN PAGE TYPE"
|
357 |
msgstr "NEZNAN TIP STRANI"
|
358 |
|
359 |
-
#: ad-inserter.php:
|
360 |
msgid "Click to delete ad blocking detection cokies"
|
361 |
msgstr "Klikni za brisanje piškotkov za zaznavanje blokiranja oglasov"
|
362 |
|
363 |
-
#: ad-inserter.php:
|
364 |
msgid "AD BLOCKING STATUS UNKNOWN"
|
365 |
msgstr "NEZNAN STATUS BLOKIRANJA OGLASOV"
|
366 |
|
367 |
#. translators: %s: AdSense Auto Ads
|
368 |
-
#: ad-inserter.php:
|
369 |
msgid ""
|
370 |
"Code for %s detected - Code will automatically insert AdSense ads at optimal "
|
371 |
"positions"
|
@@ -373,11 +373,11 @@ msgstr ""
|
|
373 |
"Zaznana koda za %s - Koda bo samodejno vstavila oglase AdSense na optimalne "
|
374 |
"položaje"
|
375 |
|
376 |
-
#: ad-inserter.php:
|
377 |
msgid "Code for insertion"
|
378 |
msgstr "Koda za vstavljanje"
|
379 |
|
380 |
-
#: ad-inserter.php:
|
381 |
msgid "character"
|
382 |
msgid_plural "characters"
|
383 |
msgstr[0] "znak"
|
@@ -385,16 +385,16 @@ msgstr[1] "znaka"
|
|
385 |
msgstr[2] "znaki"
|
386 |
msgstr[3] "znakov"
|
387 |
|
388 |
-
#: ad-inserter.php:
|
389 |
msgid "Header code"
|
390 |
msgstr "Koda v glavi"
|
391 |
|
392 |
-
#: ad-inserter.php:
|
393 |
msgctxt "Header code"
|
394 |
msgid "DISABLED"
|
395 |
msgstr "ONEMOGOČENA"
|
396 |
|
397 |
-
#: ad-inserter.php:
|
398 |
msgid "character inserted"
|
399 |
msgid_plural "characters inserted"
|
400 |
msgstr[0] "znak vstavljen"
|
@@ -402,43 +402,43 @@ msgstr[1] "znaka vstavljena"
|
|
402 |
msgstr[2] "znaki vstavljeni"
|
403 |
msgstr[3] "znakov vstavljenih"
|
404 |
|
405 |
-
#: ad-inserter.php:
|
406 |
msgid "Automatically placed by AdSense Auto ads code"
|
407 |
msgstr "Samodejno postavila koda za oglase AdSense Auto ads"
|
408 |
|
409 |
-
#: ad-inserter.php:
|
410 |
msgid "Footer code"
|
411 |
msgstr "Koda v nogi"
|
412 |
|
413 |
-
#: ad-inserter.php:
|
414 |
msgctxt "Footer code"
|
415 |
msgid "DISABLED"
|
416 |
msgstr "ONEMOGOČENA"
|
417 |
|
418 |
-
#: ad-inserter.php:
|
419 |
msgid "JAVASCRIPT NOT WORKING"
|
420 |
msgstr "JAVASCRIPT NE DELA"
|
421 |
|
422 |
-
#: ad-inserter.php:
|
423 |
msgid "NO JAVASCRIPT ERRORS"
|
424 |
msgstr "BREZ JAVASCRIPT NAPAK"
|
425 |
|
426 |
-
#: ad-inserter.php:
|
427 |
msgid "JAVASCRIPT ERRORS"
|
428 |
msgstr "JAVASCRIPT NAPAKE"
|
429 |
|
430 |
#. translators: block name (block with default settings)
|
431 |
-
#: ad-inserter.php:
|
432 |
msgctxt "Block name"
|
433 |
msgid "Default"
|
434 |
msgstr "Privzeti"
|
435 |
|
436 |
#. translators: %s: Ad Inserter
|
437 |
-
#: ad-inserter.php:
|
438 |
msgid "Error importing %s settings."
|
439 |
msgstr "Napaka pri uvozu %s nastavitev."
|
440 |
|
441 |
-
#: ad-inserter.php:
|
442 |
msgid "Error importing settings for block"
|
443 |
msgid_plural "Error importing settings for blocks:"
|
444 |
msgstr[0] "Napaka pri uvozu nastavitev za blok"
|
@@ -446,15 +446,15 @@ msgstr[1] "Napaka pri uvozu nastavitev za bloka:"
|
|
446 |
msgstr[2] "Napaka pri uvozu nastavitev za bloke:"
|
447 |
msgstr[3] "Napaka pri uvozu nastavitev za bloke:"
|
448 |
|
449 |
-
#: ad-inserter.php:
|
450 |
msgid "Settings saved."
|
451 |
msgstr "Nastavitve shranjene."
|
452 |
|
453 |
-
#: ad-inserter.php:
|
454 |
msgid "Settings cleared."
|
455 |
msgstr "Nastavitve ponastavljene."
|
456 |
|
457 |
-
#: ad-inserter.php:
|
458 |
msgid "word"
|
459 |
msgid_plural "words"
|
460 |
msgstr[0] "beseda"
|
@@ -462,38 +462,38 @@ msgstr[1] "besedi"
|
|
462 |
msgstr[2] "besede"
|
463 |
msgstr[3] "besed"
|
464 |
|
465 |
-
#: ad-inserter.php:
|
466 |
msgid "HTML TAGS REMOVED"
|
467 |
msgstr "HTML ZNAČKE ODSTRANJENE"
|
468 |
|
469 |
-
#: ad-inserter.php:
|
470 |
msgid "BEFORE COMMENTS"
|
471 |
msgstr "PRED KOMENTARJI"
|
472 |
|
473 |
-
#: ad-inserter.php:
|
474 |
msgid "AFTER COMMENTS"
|
475 |
msgstr "PO KOMETARJIH"
|
476 |
|
477 |
-
#: ad-inserter.php:
|
478 |
msgid "BETWEEN COMMENTS"
|
479 |
msgstr "MED KOMENTARJI"
|
480 |
|
481 |
-
#: ad-inserter.php:
|
482 |
msgid "requires WordPress 4.0 or newer"
|
483 |
msgstr "potrebuje WordPress 4.0 ali novejši"
|
484 |
|
485 |
-
#: ad-inserter.php:
|
486 |
msgid "Please update!"
|
487 |
msgstr "Prosimo, posodobite!"
|
488 |
|
489 |
#. translators: Opt-in message: Thank you for installing Ad Inserter (plugin
|
490 |
#. name with HTML tags will be added)
|
491 |
-
#: ad-inserter.php:
|
492 |
msgid "Thank you for installing"
|
493 |
msgstr "Hvala za namestitev vtičnika"
|
494 |
|
495 |
#. translators: Opt-in message: %s: HTML tags
|
496 |
-
#: ad-inserter.php:
|
497 |
msgid ""
|
498 |
"We would like to %s track its usage %s on your site. This is completely "
|
499 |
"optional and can be disabled at any time."
|
@@ -501,7 +501,7 @@ msgstr ""
|
|
501 |
"Radi bi %s sledili njegovi uporabi %s na vašem spletnem mestu. To je povsem "
|
502 |
"izbirno in se lahko izključi kadarkoli."
|
503 |
|
504 |
-
#: ad-inserter.php:
|
505 |
msgid ""
|
506 |
"We don't record any sensitive data, only information regarding the WordPress "
|
507 |
"environment and plugin usage, which will help us to make improvements to the "
|
@@ -511,7 +511,7 @@ msgstr ""
|
|
511 |
"uporabe vtičnika, kar nam bo omogočilo izdelavo izboljšav za vtičnik."
|
512 |
|
513 |
#. translators: Deactivation message: %s: HTML tags
|
514 |
-
#: ad-inserter.php:
|
515 |
msgid ""
|
516 |
"Looking for %s Documentation, %s %s Common Settings, %s %s Quick Start %s or "
|
517 |
"help for %s AdSense ads? %s The plugin doesn't work with your theme? %s Let "
|
@@ -522,49 +522,49 @@ msgstr ""
|
|
522 |
"nam %s in poskušali vam bomo pomagati."
|
523 |
|
524 |
#. translators: %s: Ad Inserter
|
525 |
-
#: ad-inserter.php:
|
526 |
msgid "%s block."
|
527 |
msgstr "%s blok."
|
528 |
|
529 |
#. translators: widget title
|
530 |
-
#: ad-inserter.php:
|
531 |
msgid "Processing log"
|
532 |
msgstr "Dnevnik procesiranja"
|
533 |
|
534 |
#. translators: widget title
|
535 |
-
#: ad-inserter.php:
|
536 |
msgid "Dummy widget"
|
537 |
msgstr "Prazen gradnik"
|
538 |
|
539 |
#. translators: widget title
|
540 |
-
#: ad-inserter.php:
|
541 |
msgid "Debugging tools"
|
542 |
msgstr "Orodja za razhroščevanje"
|
543 |
|
544 |
#. translators: block status (widget title)
|
545 |
-
#: ad-inserter.php:
|
546 |
msgctxt "block"
|
547 |
msgid "PAUSED"
|
548 |
msgstr "USTAVLJEN"
|
549 |
|
550 |
-
#: ad-inserter.php:
|
551 |
msgid "WIDGET DISABLED"
|
552 |
msgstr "GRADNIK ONEMOGOČEN"
|
553 |
|
554 |
-
#: ad-inserter.php:
|
555 |
msgid "Unknown block"
|
556 |
msgstr "Neznan blok"
|
557 |
|
558 |
-
#: ad-inserter.php:
|
559 |
msgid "Title"
|
560 |
msgstr "Naslov"
|
561 |
|
562 |
-
#: ad-inserter.php:
|
563 |
msgctxt "Widget"
|
564 |
msgid "Sticky"
|
565 |
msgstr "Lepljiv"
|
566 |
|
567 |
-
#: ad-inserter.php:
|
568 |
msgid ""
|
569 |
"Ad Inserter can't be used while Ad Inserter Pro is active! To activate Ad "
|
570 |
"Inserter you need to first deactivate Ad Inserter Pro."
|
@@ -573,7 +573,7 @@ msgstr ""
|
|
573 |
"aktiven! Za aktivacijo vtičnika Ad Inserter morate najprej onemogočiti Ad "
|
574 |
"Inserter Pro."
|
575 |
|
576 |
-
#: ad-inserter.php:
|
577 |
msgid ""
|
578 |
"<strong>WARNING</strong>: Please note that saving settings in Ad Inserter "
|
579 |
"will clear all settings that are available only in the Pro version "
|
@@ -608,11 +608,11 @@ msgstr "Pred prispevkom"
|
|
608 |
msgid "After post"
|
609 |
msgstr "Za prispevkom"
|
610 |
|
611 |
-
#: class.php:1957 settings.php:1624 settings.php:
|
612 |
msgid "Widget"
|
613 |
msgstr "Gradnik"
|
614 |
|
615 |
-
#: class.php:1962 settings.php:
|
616 |
msgid "PHP function call"
|
617 |
msgstr "Klic PHP funkcije"
|
618 |
|
@@ -649,69 +649,69 @@ msgctxt "block or widget"
|
|
649 |
msgid "INSERTED BUT NOT VISIBLE"
|
650 |
msgstr "VSTAVLJEN, VENDAR NI VIDEN"
|
651 |
|
652 |
-
#: class.php:
|
653 |
msgid "ACTIVE GROUPS"
|
654 |
msgstr "AKTIVNE SKUPINE"
|
655 |
|
656 |
#. translators: %s: list parameters and type
|
657 |
-
#: class.php:
|
658 |
msgid "parameters='%s' type='%s'"
|
659 |
msgstr "parametri='%s' tip='%s'"
|
660 |
|
661 |
#. translators: %s: list parameters and type
|
662 |
-
#: class.php:
|
663 |
msgid "referers='%s' type='%s'"
|
664 |
msgstr "napotitelji='%s' tip='%s'"
|
665 |
|
666 |
#. translators: %s: list parameters and type
|
667 |
-
#: class.php:
|
668 |
msgid "countries='%s' type='%s'"
|
669 |
msgstr "države='%s' tip='%s'"
|
670 |
|
671 |
#. translators: %s: list parameters and type
|
672 |
-
#: class.php:
|
673 |
msgid "ip addresses='%s' type='%s'"
|
674 |
msgstr "ip naslovi='%s' tip='%s'"
|
675 |
|
676 |
-
#: class.php:
|
677 |
msgid "BEFORE"
|
678 |
msgstr "PRED"
|
679 |
|
680 |
-
#: class.php:
|
681 |
msgid "PREPEND CONTENT"
|
682 |
msgstr "DODAJ PRED VSEBINO"
|
683 |
|
684 |
-
#: class.php:
|
685 |
msgid "APPEND CONTENT"
|
686 |
msgstr "DODAJ ZA VSEBINO"
|
687 |
|
688 |
-
#: class.php:
|
689 |
msgid "REPLACE CONTENT"
|
690 |
msgstr "NADOMESTI VSEBINO"
|
691 |
|
692 |
-
#: class.php:
|
693 |
msgid "REPLACE ELEMENT"
|
694 |
msgstr "NADOMESTI ELEMENT"
|
695 |
|
696 |
-
#: class.php:
|
697 |
msgid "AFTER"
|
698 |
msgstr "ZA"
|
699 |
|
700 |
-
#: class.php:
|
701 |
msgctxt "JavaScript"
|
702 |
msgid "script"
|
703 |
msgstr "skripta"
|
704 |
|
705 |
-
#: class.php:
|
706 |
msgid "for"
|
707 |
msgstr "za"
|
708 |
|
709 |
-
#: class.php:
|
710 |
msgctxt "category name"
|
711 |
msgid "Uncategorized"
|
712 |
msgstr "Nekategorizirano"
|
713 |
|
714 |
-
#: class.php:
|
715 |
msgid ""
|
716 |
"ERROR: class DOMDocument not found. Your webhost needs to install the DOM "
|
717 |
"extension for PHP."
|
@@ -821,7 +821,7 @@ msgstr ""
|
|
821 |
"Glavni element vsebine (#id ali .razred) za položaj 'Lepljiv na vsebino'. "
|
822 |
"Pustite prazno razen v primeru, ko položaj ni pravilno izračunan."
|
823 |
|
824 |
-
#: includes/functions.php:420 settings.php:1194 settings.php:
|
825 |
msgid "Open HTML element selector"
|
826 |
msgstr "Odpri izbirnik HTML elementa"
|
827 |
|
@@ -845,7 +845,7 @@ msgstr "Sledi prikazom in klikom za ta blok"
|
|
845 |
msgid " - global tracking disabled"
|
846 |
msgstr " - globalno sledenje onemogočeno"
|
847 |
|
848 |
-
#: includes/functions.php:461 includes/functions.php:
|
849 |
msgid "Generate report"
|
850 |
msgstr "Generiraj poročilo"
|
851 |
|
@@ -853,7 +853,7 @@ msgstr "Generiraj poročilo"
|
|
853 |
msgid "Toggle Ad Blocking Statistics"
|
854 |
msgstr "Preklopi Statistiko Blokiranja Oglasov"
|
855 |
|
856 |
-
#: includes/functions.php:479 includes/functions.php:
|
857 |
msgid "Toggle Statistics"
|
858 |
msgstr "Preklopi Statistiko"
|
859 |
|
@@ -948,8 +948,8 @@ msgstr "Sledenje je globalno onemogočeno"
|
|
948 |
msgid "Tracking for this block is disabled"
|
949 |
msgstr "Sledenje za ta blok je onemogočeno"
|
950 |
|
951 |
-
#: includes/functions.php:732 settings.php:
|
952 |
-
#: strings.php:209
|
953 |
msgid "Loading..."
|
954 |
msgstr "Nalagam..."
|
955 |
|
@@ -1047,29 +1047,29 @@ msgstr "Shranjene nastavitve za blok"
|
|
1047 |
msgid "Export / Import Ad Inserter Pro Settings"
|
1048 |
msgstr "Izvozi / Uvozi Ad Inserter Pro Nastavitve"
|
1049 |
|
1050 |
-
#: includes/functions.php:
|
1051 |
msgid "Are you sure you want to clear all statistics data for all blocks?"
|
1052 |
msgstr ""
|
1053 |
"Ali ste prepričani, da želite pobrisati vse podatke o statistiki za vse "
|
1054 |
"bloke?"
|
1055 |
|
1056 |
-
#: includes/functions.php:
|
1057 |
msgid "Clear All Statistics Data"
|
1058 |
msgstr "Pobriši Vse Podatke o Statistiki"
|
1059 |
|
1060 |
-
#: includes/functions.php:
|
1061 |
msgid "Toggle country/city editor"
|
1062 |
msgstr "Preklopi urejevalnik držav/mest"
|
1063 |
|
1064 |
-
#: includes/functions.php:
|
1065 |
msgid "IP Addresses"
|
1066 |
msgstr "IP Naslovi"
|
1067 |
|
1068 |
-
#: includes/functions.php:
|
1069 |
msgid "Toggle IP address editor"
|
1070 |
msgstr "Preklopi urejevalnik IP nslovov"
|
1071 |
|
1072 |
-
#: includes/functions.php:
|
1073 |
msgid ""
|
1074 |
"Comma separated IP addresses, you can also use partial IP addresses with * "
|
1075 |
"(ip-address-start*. *ip-address-pattern*, *ip-address-end)"
|
@@ -1077,48 +1077,48 @@ msgstr ""
|
|
1077 |
"Z vejico ločeni IP naslovi, uporabite lahko tudi delne IP naslove z * (ip-"
|
1078 |
"naslov-začetek*. *ip-naslov-vzorec*, *ip-naslov-konec)"
|
1079 |
|
1080 |
-
#: includes/functions.php:
|
1081 |
msgid "Blacklist IP addresses"
|
1082 |
msgstr "Črni seznam IP naslovov"
|
1083 |
|
1084 |
-
#: includes/functions.php:
|
1085 |
msgid "Whitelist IP addresses"
|
1086 |
msgstr "Beli seznam IP naslovov"
|
1087 |
|
1088 |
-
#: includes/functions.php:
|
1089 |
msgid "Countries"
|
1090 |
msgstr "Države"
|
1091 |
|
1092 |
-
#: includes/functions.php:
|
1093 |
msgid "Cities"
|
1094 |
msgstr "Mesta"
|
1095 |
|
1096 |
-
#: includes/functions.php:
|
1097 |
msgid "Toggle country editor"
|
1098 |
msgstr "Preklopi urejevalnik držav"
|
1099 |
|
1100 |
-
#: includes/functions.php:
|
1101 |
msgid "Toggle city editor"
|
1102 |
msgstr "Preklopi urejevalnik mest"
|
1103 |
|
1104 |
-
#: includes/functions.php:
|
1105 |
msgid "Comma separated country ISO Alpha-2 codes"
|
1106 |
msgstr "Z vejico ločene ISO Alpha-2 kode držav"
|
1107 |
|
1108 |
-
#: includes/functions.php:
|
1109 |
msgid "Blacklist countries"
|
1110 |
msgstr "Črni seznam držav"
|
1111 |
|
1112 |
-
#: includes/functions.php:
|
1113 |
msgid "Whitelist countries"
|
1114 |
msgstr "Beli seznam držav"
|
1115 |
|
1116 |
-
#: includes/functions.php:
|
1117 |
msgid "Enter license key"
|
1118 |
msgstr "Vnesite licenčni ključ"
|
1119 |
|
1120 |
#. translators: %s: Ad Inserter Pro
|
1121 |
-
#: includes/functions.php:
|
1122 |
msgid ""
|
1123 |
"%s license key is not set. Plugin functionality is limited and updates are "
|
1124 |
"disabled."
|
@@ -1126,36 +1126,36 @@ msgstr ""
|
|
1126 |
"%s licenčni ključ ni vnešen. Funkcionalnosti vtičnika so omejene in "
|
1127 |
"posodobitve onemogočene."
|
1128 |
|
1129 |
-
#: includes/functions.php:
|
1130 |
msgid "Check license key"
|
1131 |
msgstr "Preverite licenčni ključ"
|
1132 |
|
1133 |
#. translators: %s: Ad Inserter Pro
|
1134 |
-
#: includes/functions.php:
|
1135 |
msgid "Invalid %s license key."
|
1136 |
msgstr "Neveljaven %s licenčni ključ."
|
1137 |
|
1138 |
#. translators: %s: Ad Inserter Pro
|
1139 |
-
#: includes/functions.php:
|
1140 |
msgid "%s license expired. Plugin updates are disabled."
|
1141 |
msgstr "%s licenca je potekla. Posodobitve vtičnika so onemogočene."
|
1142 |
|
1143 |
-
#: includes/functions.php:
|
1144 |
msgid "Renew license"
|
1145 |
msgstr "Obnovite licenco"
|
1146 |
|
1147 |
#. translators: %s: Ad Inserter Pro
|
1148 |
-
#: includes/functions.php:
|
1149 |
msgid "%s license overused. Plugin updates are disabled."
|
1150 |
msgstr ""
|
1151 |
"%s licenca je prekomerno uporabljena. Posodobitve vtičnika so onemogočene."
|
1152 |
|
1153 |
-
#: includes/functions.php:
|
1154 |
msgid "Upgrade license"
|
1155 |
msgstr "Nadgradite licenco"
|
1156 |
|
1157 |
#. translators: 1, 2: HTML tags, 3: Ad Inserter Pro
|
1158 |
-
#: includes/functions.php:
|
1159 |
msgid ""
|
1160 |
"%1$s Warning: %2$s %3$s license key is not set. Plugin functionality is "
|
1161 |
"limited and updates are disabled."
|
@@ -1164,12 +1164,12 @@ msgstr ""
|
|
1164 |
"so omejene in posodobitve onemogočene."
|
1165 |
|
1166 |
#. translators: 1, 2,: HTML tags, 3: Ad Inserter Pro
|
1167 |
-
#: includes/functions.php:
|
1168 |
msgid "%1$s Warning: %2$s Invalid %3$s license key."
|
1169 |
msgstr "%1$s Opozorilo: %2$s Neveljaven %3$s licenčni ključ."
|
1170 |
|
1171 |
#. translators: 2, 3: HTML tags, 1: Ad Inserter Pro
|
1172 |
-
#: includes/functions.php:
|
1173 |
msgid ""
|
1174 |
"Hey, %1$s license has expired - plugin updates are now disabled. Please "
|
1175 |
"renew the license to enable updates. Check %2$s what you are missing. %3$s"
|
@@ -1179,7 +1179,7 @@ msgstr ""
|
|
1179 |
"pogrešate. %3$s"
|
1180 |
|
1181 |
#. translators: 1, 3: HTML tags, 2: percentage
|
1182 |
-
#: includes/functions.php:
|
1183 |
msgid ""
|
1184 |
"During the license period and 30 days after the license has expired we offer "
|
1185 |
"%1$s %2$s discount on all license renewals and license upgrades. %3$s"
|
@@ -1187,16 +1187,16 @@ msgstr ""
|
|
1187 |
"V obdobju licence in 30 dni po tem, ko licenca poteče, vam ponujamo %1$s "
|
1188 |
"%2$s popust na vse obnovitve in nadgradnje licenc. %3$s"
|
1189 |
|
1190 |
-
#: includes/functions.php:
|
1191 |
msgid "Renew the licence"
|
1192 |
msgstr "Obnovi licenco"
|
1193 |
|
1194 |
-
#: includes/functions.php:
|
1195 |
msgid "Update license status"
|
1196 |
msgstr "Posodobi status licence"
|
1197 |
|
1198 |
#. translators: 1, 2, 4, 5: HTML tags, 3: Ad Inserter Pro
|
1199 |
-
#: includes/functions.php:
|
1200 |
msgid ""
|
1201 |
"%1$s Warning: %2$s %3$s license overused. Plugin updates are disabled. %4$s "
|
1202 |
"Upgrade license %5$s"
|
@@ -1205,95 +1205,95 @@ msgstr ""
|
|
1205 |
"vtičnika so onemogočene. %4$s Nadgradite licenco %5$s"
|
1206 |
|
1207 |
#. Translators: %s: HTML tag
|
1208 |
-
#: includes/functions.php:
|
1209 |
msgid "Warning: %s MaxMind IP geolocation database not found."
|
1210 |
msgstr "Opozorilo: %s MaxMind IP geolocijska podatkovna baza ni najdena."
|
1211 |
|
1212 |
-
#: includes/functions.php:
|
1213 |
msgid "Geolocation"
|
1214 |
msgstr "Geolokacija"
|
1215 |
|
1216 |
-
#: includes/functions.php:
|
1217 |
msgid "Exceptions"
|
1218 |
msgstr "Izjeme"
|
1219 |
|
1220 |
-
#: includes/functions.php:
|
1221 |
msgid "Multisite"
|
1222 |
msgstr "Multisite"
|
1223 |
|
1224 |
-
#: includes/functions.php:
|
1225 |
msgid "Tracking"
|
1226 |
msgstr "Sledenje"
|
1227 |
|
1228 |
#. translators: %d: days, hours, minutes
|
1229 |
-
#: includes/functions.php:
|
1230 |
msgid "Scheduled in %d days %d hours %d minutes"
|
1231 |
msgstr "Planirano v %d dneh %d urah %d minutah"
|
1232 |
|
1233 |
#. translators: %s: HTML dash separator, %d: days, hours, minutes, — is
|
1234 |
#. HTML code for long dash separator
|
1235 |
-
#: includes/functions.php:
|
1236 |
msgid "Active %s expires in %d days %d hours %d minutes"
|
1237 |
msgstr "Aktivno %s poteče v %d dneh %d urah %d minutah"
|
1238 |
|
1239 |
-
#: includes/functions.php:
|
1240 |
msgid "Expired"
|
1241 |
msgstr "Poteklo"
|
1242 |
|
1243 |
-
#: includes/functions.php:
|
1244 |
#: settings.php:1879
|
1245 |
msgid "and"
|
1246 |
msgstr "in"
|
1247 |
|
1248 |
-
#: includes/functions.php:
|
1249 |
msgid "fallback"
|
1250 |
msgstr "rezerva"
|
1251 |
|
1252 |
-
#: includes/functions.php:
|
1253 |
msgid "Block to be used when scheduling expires"
|
1254 |
msgstr "Blok, ki se bo uporabil, ko urnik poteče"
|
1255 |
|
1256 |
-
#: includes/functions.php:
|
1257 |
msgid "Load in iframe"
|
1258 |
msgstr "Naloži v iframe-u"
|
1259 |
|
1260 |
-
#: includes/functions.php:
|
1261 |
msgid "Width"
|
1262 |
msgstr "Širina"
|
1263 |
|
1264 |
-
#: includes/functions.php:
|
1265 |
msgid "iframe width, empty means full width (100%)"
|
1266 |
msgstr "širina iframe-a, prazno pomeni polna širina (100%)"
|
1267 |
|
1268 |
-
#: includes/functions.php:
|
1269 |
msgid "Height"
|
1270 |
msgstr "Višina"
|
1271 |
|
1272 |
-
#: includes/functions.php:
|
1273 |
msgid "iframe height, empty means adjust it to iframe content height"
|
1274 |
msgstr ""
|
1275 |
"Višina iframe-a, prazno pomeni poravnavo glede na višino vsebine iframe-a"
|
1276 |
|
1277 |
-
#: includes/functions.php:
|
1278 |
msgid "Ad label in iframe"
|
1279 |
msgstr "Oznaka oglasa v iframe-u"
|
1280 |
|
1281 |
-
#: includes/functions.php:
|
1282 |
msgid "Preview iframe code"
|
1283 |
msgstr "Predpreglej kodo iframe"
|
1284 |
|
1285 |
-
#: includes/functions.php:
|
1286 |
-
#: settings.php:
|
1287 |
msgid "Preview"
|
1288 |
msgstr "Predogled"
|
1289 |
|
1290 |
-
#: includes/functions.php:
|
1291 |
-
#: includes/functions.php:
|
1292 |
msgid "Ad Blocking"
|
1293 |
msgstr "Blokiranje Oglasov"
|
1294 |
|
1295 |
#. translators: 1, 2 and 3, 4: HTML tags
|
1296 |
-
#: includes/functions.php:
|
1297 |
msgid ""
|
1298 |
"%1$s WARNING: %2$s %3$s No wrapping %4$s style has no wrapping code needed "
|
1299 |
"for tracking!"
|
@@ -1303,7 +1303,7 @@ msgstr ""
|
|
1303 |
|
1304 |
#. translators: 1, 2, 4, 5: HTML tags, 3: Scroll with the content, 6: Above
|
1305 |
#. header
|
1306 |
-
#: includes/functions.php:
|
1307 |
msgid ""
|
1308 |
"%1$s WARNING: %2$s vertical position %3$s needs %4$s Output buffering %5$s "
|
1309 |
"enabled and automatic insertion %6$s!"
|
@@ -1311,49 +1311,49 @@ msgstr ""
|
|
1311 |
"%1$s OPOZORILO: %2$s vertikalni položaj %3$s potrebuje %4$s Predpomnjenje "
|
1312 |
"izhoda %5$s omogočeno in samodejno vstavljanje %6$s!"
|
1313 |
|
1314 |
-
#: includes/functions.php:
|
1315 |
msgid "When ad blocking is detected"
|
1316 |
msgstr "Ko je blokiranje oglasov zaznano"
|
1317 |
|
1318 |
-
#: includes/functions.php:
|
1319 |
msgid "replacement"
|
1320 |
msgstr "nadomestek"
|
1321 |
|
1322 |
-
#: includes/functions.php:
|
1323 |
msgid "Block to be shown when ad blocking is detected"
|
1324 |
msgstr "Blok, ki naj bo prikazan, ko je zaznano blokiranje oglasov"
|
1325 |
|
1326 |
-
#: includes/functions.php:
|
1327 |
msgctxt "replacement"
|
1328 |
msgid "None"
|
1329 |
msgstr "Noben"
|
1330 |
|
1331 |
-
#: includes/functions.php:
|
1332 |
msgid "Close button"
|
1333 |
msgstr "Gumb Zapri"
|
1334 |
|
1335 |
-
#: includes/functions.php:
|
1336 |
msgid "Lazy loading"
|
1337 |
msgstr "Leno nalaganje"
|
1338 |
|
1339 |
#. Translators: %s MaxMind
|
1340 |
-
#: includes/functions.php:
|
1341 |
msgid "This product includes GeoLite2 data created by %s"
|
1342 |
msgstr "Ta izdelek vsebuje %s GeoLite2 podatke"
|
1343 |
|
1344 |
-
#: includes/functions.php:
|
1345 |
msgid "IP geolocation database"
|
1346 |
msgstr "Podatkovna baza za IP geolokacijo"
|
1347 |
|
1348 |
-
#: includes/functions.php:
|
1349 |
msgid "Select IP geolocation database."
|
1350 |
msgstr "Izberite podatkovno bazo za IP geolokacijo."
|
1351 |
|
1352 |
-
#: includes/functions.php:
|
1353 |
msgid "Automatic database updates"
|
1354 |
msgstr "Samodejna posodobitev podatkovne baze"
|
1355 |
|
1356 |
-
#: includes/functions.php:
|
1357 |
msgid ""
|
1358 |
"Automatically download and update free GeoLite2 IP geolocation database by "
|
1359 |
"MaxMind"
|
@@ -1361,11 +1361,11 @@ msgstr ""
|
|
1361 |
"Samodejno prenesi in posodobi prostodostopno GeoLite2 IP geolokacijsko "
|
1362 |
"podatkovno bazo MaxMind"
|
1363 |
|
1364 |
-
#: includes/functions.php:
|
1365 |
msgid "Database"
|
1366 |
msgstr "Podatkovna baza"
|
1367 |
|
1368 |
-
#: includes/functions.php:
|
1369 |
msgid ""
|
1370 |
"Aabsolute path starting with '/' or relative path to the MaxMind database "
|
1371 |
"file"
|
@@ -1374,35 +1374,35 @@ msgstr ""
|
|
1374 |
"podatkovne baze"
|
1375 |
|
1376 |
#. translators: %d: group number
|
1377 |
-
#: includes/functions.php:
|
1378 |
msgid "Group %d"
|
1379 |
msgstr "Skupina %d"
|
1380 |
|
1381 |
-
#: includes/functions.php:
|
1382 |
msgid "countries"
|
1383 |
msgstr "države"
|
1384 |
|
1385 |
-
#: includes/functions.php:
|
1386 |
msgid "Enable tracking"
|
1387 |
msgstr "Omogoči sledenje"
|
1388 |
|
1389 |
-
#: includes/functions.php:
|
1390 |
msgid "Impression and Click Tracking"
|
1391 |
msgstr "Sledenje Prikazov in Klikov"
|
1392 |
|
1393 |
-
#: includes/functions.php:
|
1394 |
msgid "Internal"
|
1395 |
msgstr "Notranje"
|
1396 |
|
1397 |
-
#: includes/functions.php:
|
1398 |
msgid "Track impressions and clicks with internal tracking and statistics"
|
1399 |
msgstr "Sledi prikazom in klikom z notranjim sledenjem in statistiko"
|
1400 |
|
1401 |
-
#: includes/functions.php:
|
1402 |
msgid "External"
|
1403 |
msgstr "Zunanje"
|
1404 |
|
1405 |
-
#: includes/functions.php:
|
1406 |
msgid ""
|
1407 |
"Track impressions and clicks with Google Analytics or Matomo (needs tracking "
|
1408 |
"code installed)"
|
@@ -1410,27 +1410,27 @@ msgstr ""
|
|
1410 |
"Sledi prikazom in klikom z Google Analytics ali Matomo (potrebuje nameščeno "
|
1411 |
"kodo za sledenje)"
|
1412 |
|
1413 |
-
#: includes/functions.php:
|
1414 |
msgid "Track Pageviews"
|
1415 |
msgstr "Sledi Ogledom Strani"
|
1416 |
|
1417 |
-
#: includes/functions.php:
|
1418 |
msgid "Track Pageviews by Device (as configured for viewports)"
|
1419 |
msgstr "Sledi Ogledom Strani po Napravah (kot so nastavljene za poglede)"
|
1420 |
|
1421 |
-
#: includes/functions.php:
|
1422 |
msgid "Track for Logged in Users"
|
1423 |
msgstr "Sledi za Prijavljene Upor."
|
1424 |
|
1425 |
-
#: includes/functions.php:
|
1426 |
msgid "Track impressions and clicks from logged in users"
|
1427 |
msgstr "Sledi prikazom in klikom neprijavljenih uporabnikov"
|
1428 |
|
1429 |
-
#: includes/functions.php:
|
1430 |
msgid "Click Detection"
|
1431 |
msgstr "Zaznavanje klikov"
|
1432 |
|
1433 |
-
#: includes/functions.php:
|
1434 |
msgid ""
|
1435 |
"Standard method detects clicks only on banners with links, Advanced method "
|
1436 |
"can detect clicks on any kind of ads, but it is slightly less accurate"
|
@@ -1438,11 +1438,11 @@ msgstr ""
|
|
1438 |
"Standardni način zazna klike samo na pasicah s povezavami, Napredni način "
|
1439 |
"lahko zazna klike na kateremkoli oglasu, ampak je rahlo manj zanesljiv"
|
1440 |
|
1441 |
-
#: includes/functions.php:
|
1442 |
msgid "Report header image"
|
1443 |
msgstr "Slika v glavi poročila"
|
1444 |
|
1445 |
-
#: includes/functions.php:
|
1446 |
msgid ""
|
1447 |
"Image or logo to be displayed in the header of the statistins report. "
|
1448 |
"Aabsolute path starting with '/' or relative path to the image file."
|
@@ -1450,128 +1450,128 @@ msgstr ""
|
|
1450 |
"Slika ali logo, ki bo prikazan v glavi poročila statistike. Absolutna pot, "
|
1451 |
"ki se začne z '/' ali relativna pot do datoteke slike."
|
1452 |
|
1453 |
-
#: includes/functions.php:
|
1454 |
msgid "Select or upload header image"
|
1455 |
msgstr "Izberi ali naloži sliko glave"
|
1456 |
|
1457 |
-
#: includes/functions.php:
|
1458 |
msgid "Report header title"
|
1459 |
msgstr "Naslov v glavi poročila"
|
1460 |
|
1461 |
-
#: includes/functions.php:
|
1462 |
msgid ""
|
1463 |
"Title to be displayed in the header of the statistins report. Text or HTML "
|
1464 |
"code."
|
1465 |
msgstr ""
|
1466 |
"Naslov, ki bo prikazan v glavi poročila statistike. Besedilo ali HTML koda."
|
1467 |
|
1468 |
-
#: includes/functions.php:
|
1469 |
msgid "Report header description"
|
1470 |
msgstr "Opis v glavi poročila"
|
1471 |
|
1472 |
-
#: includes/functions.php:
|
1473 |
msgid ""
|
1474 |
"Description to be displayed in the header of the statistins report. Text or "
|
1475 |
"HTML code."
|
1476 |
msgstr ""
|
1477 |
"Opis, ki bo prikazan v glavi poročila statistike. Besedilo ali HTML koda."
|
1478 |
|
1479 |
-
#: includes/functions.php:
|
1480 |
msgid "Are you sure you want to clear all exceptions for block"
|
1481 |
msgstr "Ali ste prepričani, da želite pobrisati vse izjeme za blok"
|
1482 |
|
1483 |
-
#: includes/functions.php:
|
1484 |
msgid "Clear all exceptions for block"
|
1485 |
msgstr "Pobriši vse izjeme za blok"
|
1486 |
|
1487 |
-
#: includes/functions.php:
|
1488 |
msgid "Are you sure you want to clear all exceptions?"
|
1489 |
msgstr "Ali ste prepričani, da želite pobrisati vse izjeme?"
|
1490 |
|
1491 |
-
#: includes/functions.php:
|
1492 |
msgid "Clear all exceptions for all blocks"
|
1493 |
msgstr "Pobriši vse izjeme za vse bloke"
|
1494 |
|
1495 |
-
#: includes/functions.php:
|
1496 |
msgid "Type"
|
1497 |
msgstr "Vrsta"
|
1498 |
|
1499 |
-
#: includes/functions.php:
|
1500 |
msgid "View"
|
1501 |
msgstr "Poglej"
|
1502 |
|
1503 |
-
#: includes/functions.php:
|
1504 |
#: includes/preview.php:2271 settings.php:1180
|
1505 |
msgid "Edit"
|
1506 |
msgstr "Uredi"
|
1507 |
|
1508 |
-
#: includes/functions.php:
|
1509 |
msgid "Are you sure you want to clear all exceptions for"
|
1510 |
msgstr "Ali ste prepričani, da želite pobrisati vse izjeme za"
|
1511 |
|
1512 |
-
#: includes/functions.php:
|
1513 |
msgid "Clear all exceptions for"
|
1514 |
msgstr "Pobriši vse izjeme za"
|
1515 |
|
1516 |
-
#: includes/functions.php:
|
1517 |
msgid "No exceptions"
|
1518 |
msgstr "Brez izjem"
|
1519 |
|
1520 |
#. translators: %s: Ad Inserter Pro
|
1521 |
-
#: includes/functions.php:
|
1522 |
msgid "%s options for network blogs"
|
1523 |
msgstr "%s izbire za omrežne bloge"
|
1524 |
|
1525 |
#. translators: %s: Ad Inserter Pro
|
1526 |
-
#: includes/functions.php:
|
1527 |
msgid "Enable %s widgets for sub-sites"
|
1528 |
msgstr "Omogoči %s gradnik za pod-spletišča"
|
1529 |
|
1530 |
-
#: includes/functions.php:
|
1531 |
msgid "Widgets"
|
1532 |
msgstr "Gradniki"
|
1533 |
|
1534 |
-
#: includes/functions.php:
|
1535 |
msgid "Enable PHP code processing for sub-sites"
|
1536 |
msgstr "Omogoči procesiranje PHP kode za pod-spletišča"
|
1537 |
|
1538 |
-
#: includes/functions.php:
|
1539 |
msgid "PHP Processing"
|
1540 |
msgstr "PHP Procesiranje"
|
1541 |
|
1542 |
#. translators: %s: Ad Inserter Pro
|
1543 |
-
#: includes/functions.php:
|
1544 |
msgid "Enable %s block exceptions in post/page editor for sub-sites"
|
1545 |
msgstr ""
|
1546 |
"Omogoči %s izjeme blokov v urejevalniku prispevkov/strani za pod-spletišča"
|
1547 |
|
1548 |
-
#: includes/functions.php:
|
1549 |
msgid "Post/Page exceptions"
|
1550 |
msgstr "Izjeme prispevkov/strani"
|
1551 |
|
1552 |
#. translators: %s: Ad Inserter Pro
|
1553 |
-
#: includes/functions.php:
|
1554 |
msgid "Enable %s settings page for sub-sites"
|
1555 |
msgstr "Omogoči nastavitveno stran %s za pod-spletišča"
|
1556 |
|
1557 |
-
#: includes/functions.php:
|
1558 |
msgid "Settings page"
|
1559 |
msgstr "Stran z nastavitvami"
|
1560 |
|
1561 |
#. translators: %s: Ad Inserter Pro
|
1562 |
-
#: includes/functions.php:
|
1563 |
msgid "Enable %s settings of main site to be used for all blogs"
|
1564 |
msgstr "Omogoči %s nastavitve glavnega spletišča za uporabo na vseh blogih"
|
1565 |
|
1566 |
-
#: includes/functions.php:
|
1567 |
msgid "Main site settings used for all blogs"
|
1568 |
msgstr "Nastavitve glavnega spletišča uporabljene na vseh blogih"
|
1569 |
|
1570 |
-
#: includes/functions.php:
|
1571 |
msgid "Ad Blocking Detection"
|
1572 |
msgstr "Zaznavanje Blokiranja Oglasov"
|
1573 |
|
1574 |
-
#: includes/functions.php:
|
1575 |
msgid ""
|
1576 |
"Standard method is reliable but should be used only if Advanced method does "
|
1577 |
"not work. Advanced method recreates files used for detection with random "
|
@@ -1583,71 +1583,71 @@ msgstr ""
|
|
1583 |
"imeni in mogoče ne bo deloval s skriptami v upload mapi, če ta ni javno "
|
1584 |
"dostopna"
|
1585 |
|
1586 |
-
#: includes/functions.php:
|
1587 |
-
#: includes/functions.php:
|
1588 |
msgid "AD BLOCKING"
|
1589 |
msgstr "BLOKIRANJE OGLASOV"
|
1590 |
|
1591 |
-
#: includes/functions.php:
|
1592 |
-
#: includes/functions.php:
|
1593 |
msgid "BLOCK INSERTED BUT NOT VISIBLE"
|
1594 |
msgstr "BLOK VSTAVLJEN, VENDAR NI VIDEN"
|
1595 |
|
1596 |
-
#: includes/functions.php:
|
1597 |
-
#: includes/functions.php:
|
1598 |
msgid "NO AD BLOCKING"
|
1599 |
msgstr "NI BLOKIRANJA OGLASOV"
|
1600 |
|
1601 |
-
#: includes/functions.php:
|
1602 |
msgid "AD BLOCKING REPLACEMENT"
|
1603 |
msgstr "NADOMESTEK V PRIMERU BLOKIRANJA OGLASOV"
|
1604 |
|
1605 |
-
#: includes/functions.php:
|
1606 |
msgid "Pageviews"
|
1607 |
msgstr "Ogledi strani"
|
1608 |
|
1609 |
-
#: includes/functions.php:
|
1610 |
msgctxt "Version"
|
1611 |
msgid "Unknown"
|
1612 |
msgstr "Neznana"
|
1613 |
|
1614 |
-
#: includes/functions.php:
|
1615 |
msgctxt "Times"
|
1616 |
msgid "DISPLAYED"
|
1617 |
msgstr "PRIKAZANO"
|
1618 |
|
1619 |
-
#: includes/functions.php:
|
1620 |
msgid "No version"
|
1621 |
msgstr "Brez različice"
|
1622 |
|
1623 |
-
#: includes/functions.php:
|
1624 |
msgctxt "Times"
|
1625 |
msgid "BLOCKED"
|
1626 |
msgstr "BLOKIRANO"
|
1627 |
|
1628 |
-
#: includes/functions.php:
|
1629 |
msgid "Impressions"
|
1630 |
msgstr "Prikazi"
|
1631 |
|
1632 |
-
#: includes/functions.php:
|
1633 |
-
#: includes/functions.php:
|
1634 |
msgid "Clicks"
|
1635 |
msgstr "Kliki"
|
1636 |
|
1637 |
-
#: includes/functions.php:
|
1638 |
msgid "events"
|
1639 |
msgstr "dogodki"
|
1640 |
|
1641 |
-
#: includes/functions.php:
|
1642 |
msgid "Ad Blocking Share"
|
1643 |
msgstr "Delež blokiranja oglasov"
|
1644 |
|
1645 |
#. translators: CTR as Click Through Rate
|
1646 |
-
#: includes/functions.php:
|
1647 |
msgid "CTR"
|
1648 |
msgstr "CTR"
|
1649 |
|
1650 |
-
#: includes/functions.php:
|
1651 |
msgid "pageviews"
|
1652 |
msgid_plural "pageviews"
|
1653 |
msgstr[0] "ogled strani"
|
@@ -1655,7 +1655,7 @@ msgstr[1] "ogleda strani"
|
|
1655 |
msgstr[2] "ogledi strani"
|
1656 |
msgstr[3] "ogledov strani"
|
1657 |
|
1658 |
-
#: includes/functions.php:
|
1659 |
msgid "impressions"
|
1660 |
msgid_plural "impressions"
|
1661 |
msgstr[0] "prikaz"
|
@@ -1663,7 +1663,7 @@ msgstr[1] "prikaza"
|
|
1663 |
msgstr[2] "prikazi"
|
1664 |
msgstr[3] "prikazov"
|
1665 |
|
1666 |
-
#: includes/functions.php:
|
1667 |
msgid "event"
|
1668 |
msgid_plural "events"
|
1669 |
msgstr[0] "dogodek"
|
@@ -1671,7 +1671,7 @@ msgstr[1] "dogodka"
|
|
1671 |
msgstr[2] "dogodki"
|
1672 |
msgstr[3] "dogodkov"
|
1673 |
|
1674 |
-
#: includes/functions.php:
|
1675 |
msgid "click"
|
1676 |
msgid_plural "clicks"
|
1677 |
msgstr[0] "klik"
|
@@ -1679,27 +1679,27 @@ msgstr[1] "klika"
|
|
1679 |
msgstr[2] "kliki"
|
1680 |
msgstr[3] "klikov"
|
1681 |
|
1682 |
-
#: includes/functions.php:
|
1683 |
msgctxt "Pageviews / Impressions"
|
1684 |
msgid "Average"
|
1685 |
msgstr "Povprečni"
|
1686 |
|
1687 |
-
#: includes/functions.php:
|
1688 |
msgctxt "Ad Blocking / Clicks"
|
1689 |
msgid "Average"
|
1690 |
msgstr "Povprečno"
|
1691 |
|
1692 |
-
#: includes/functions.php:
|
1693 |
msgctxt "Ad Blocking Share / CTR"
|
1694 |
msgid "Average"
|
1695 |
msgstr "Povprečni"
|
1696 |
|
1697 |
#. Translators: %s: Ad Inserter Pro
|
1698 |
-
#: includes/functions.php:
|
1699 |
msgid "%s Report"
|
1700 |
msgstr "%s Poročilo"
|
1701 |
|
1702 |
-
#: includes/functions.php:
|
1703 |
msgid "Advanced WordPress Ad Management Plugin"
|
1704 |
msgstr "Napredni WordPress Vtičnik za Upravljanje z Oglasi"
|
1705 |
|
@@ -1727,7 +1727,7 @@ msgstr "Zapri urejevalnik polnila"
|
|
1727 |
msgid "Placeholder"
|
1728 |
msgstr "Polnilo"
|
1729 |
|
1730 |
-
#: includes/placeholders.php:356 settings.php:808 settings.php:
|
1731 |
msgid "Size"
|
1732 |
msgstr "Velikost"
|
1733 |
|
@@ -1860,11 +1860,11 @@ msgstr "Prekliči"
|
|
1860 |
msgid "Ad Blocking Detected Message Preview"
|
1861 |
msgstr "Predogled Sporočila ko je Zaznano Blokiranje Oglasov"
|
1862 |
|
1863 |
-
#: includes/preview-adb.php:348 settings.php:
|
1864 |
msgid "Message CSS"
|
1865 |
msgstr "CSS sporočila"
|
1866 |
|
1867 |
-
#: includes/preview-adb.php:353 settings.php:
|
1868 |
msgid "Overlay CSS"
|
1869 |
msgstr "CSS prevleke"
|
1870 |
|
@@ -1905,7 +1905,7 @@ msgid "background"
|
|
1905 |
msgstr "ozadje"
|
1906 |
|
1907 |
#: includes/preview.php:2075 includes/preview.php:2226 settings.php:1141
|
1908 |
-
#: settings.php:
|
1909 |
msgid "Alignment"
|
1910 |
msgstr "Poravnava"
|
1911 |
|
@@ -2181,7 +2181,7 @@ msgstr ""
|
|
2181 |
msgid "General Settings"
|
2182 |
msgstr "Splošne Nastavitve"
|
2183 |
|
2184 |
-
#: settings.php:592 settings.php:
|
2185 |
msgid "Toggle Syntax Highlighting / Simple editor for mobile devices"
|
2186 |
msgstr ""
|
2187 |
"Preklopi Poudarjanje Sintakse / Preprost urejevalnik za mobilne naprave"
|
@@ -2210,7 +2210,7 @@ msgstr "Preklopi urejevalnik rotacije"
|
|
2210 |
msgid "Open visual HTML editor"
|
2211 |
msgstr "Odpri vizualni HTML urejevalnik"
|
2212 |
|
2213 |
-
#: settings.php:644
|
2214 |
msgid "Show AdSense ad units"
|
2215 |
msgstr "Pokaži oglasne enote AdSense"
|
2216 |
|
@@ -2218,7 +2218,7 @@ msgstr "Pokaži oglasne enote AdSense"
|
|
2218 |
msgid "Clear block"
|
2219 |
msgstr "Počisti blok"
|
2220 |
|
2221 |
-
#: settings.php:658 settings.php:
|
2222 |
msgid "Copy block"
|
2223 |
msgstr "Kopiraj blok"
|
2224 |
|
@@ -2391,7 +2391,7 @@ msgstr ""
|
|
2391 |
"Posamezne izjeme za prispevke (če so omogočene tukaj) se lahko nastavijo v "
|
2392 |
"urejevalniku prispevka. Pustite prazno za prispevke brez posameznih izjem."
|
2393 |
|
2394 |
-
#: settings.php:978 settings.php:
|
2395 |
msgid "Posts"
|
2396 |
msgstr "Prispevki"
|
2397 |
|
@@ -2405,7 +2405,7 @@ msgstr ""
|
|
2405 |
"podstraneh), statična stran ali domača stran teme (razpoložljivi položaji so "
|
2406 |
"lahko odvisni od ročic, ki jih tema uporablja)"
|
2407 |
|
2408 |
-
#: settings.php:983 settings.php:
|
2409 |
msgid "Homepage"
|
2410 |
msgstr "Domača stran"
|
2411 |
|
@@ -2413,7 +2413,7 @@ msgstr "Domača stran"
|
|
2413 |
msgid "Enable insertion on category blog pages (including sub-pages)"
|
2414 |
msgstr "Omogoči vstavljanje na straneh kategorij (vključno s podstranmi)"
|
2415 |
|
2416 |
-
#: settings.php:988 settings.php:
|
2417 |
msgid "Category pages"
|
2418 |
msgstr "Strani kategorij"
|
2419 |
|
@@ -2434,7 +2434,7 @@ msgstr ""
|
|
2434 |
"nastavijo v urejevalniku strani. Pustite prazno za strani brez posameznih "
|
2435 |
"izjem."
|
2436 |
|
2437 |
-
#: settings.php:1006 settings.php:
|
2438 |
msgid "Static pages"
|
2439 |
msgstr "Statične strani"
|
2440 |
|
@@ -2442,7 +2442,7 @@ msgstr "Statične strani"
|
|
2442 |
msgid "Enable insertion on search blog pages"
|
2443 |
msgstr "Omogoči vstavljanje na iskalnih straneh"
|
2444 |
|
2445 |
-
#: settings.php:1011 settings.php:
|
2446 |
msgid "Search pages"
|
2447 |
msgstr "Iskalne strani"
|
2448 |
|
@@ -2563,7 +2563,7 @@ msgstr "HTML element"
|
|
2563 |
msgid "HTML element selector or comma separated list of selectors"
|
2564 |
msgstr "Selektor HTML elementa ali z vejicami ločen seznam selektorjev"
|
2565 |
|
2566 |
-
#: settings.php:1209 settings.php:
|
2567 |
msgid "Action"
|
2568 |
msgstr "Akcija"
|
2569 |
|
@@ -2851,7 +2851,7 @@ msgid "Enable shortcode for manual insertion of this block in posts and pages"
|
|
2851 |
msgstr ""
|
2852 |
"Omogočite kratko kodo za ročno vstavljanje tega bloka v prispevke in strani"
|
2853 |
|
2854 |
-
#: settings.php:1636 settings.php:
|
2855 |
msgid "Shortcode"
|
2856 |
msgstr "Kratka koda"
|
2857 |
|
@@ -2915,7 +2915,7 @@ msgstr "Urnik"
|
|
2915 |
msgid "Display"
|
2916 |
msgstr "Prikaz"
|
2917 |
|
2918 |
-
#: settings.php:1760 settings.php:
|
2919 |
msgid "General"
|
2920 |
msgstr "Splošno"
|
2921 |
|
@@ -2983,7 +2983,7 @@ msgstr ""
|
|
2983 |
"Štej ta blok za omejitev Največ blokov na stran (določena na zavihku "
|
2984 |
"⚙ / zavihek Splošno)"
|
2985 |
|
2986 |
-
#: settings.php:1805 settings.php:
|
2987 |
msgid "Max blocks per page"
|
2988 |
msgstr "Največ blokov na stran"
|
2989 |
|
@@ -3068,7 +3068,7 @@ msgstr "dni po objavi"
|
|
3068 |
msgid "Not available"
|
3069 |
msgstr "Ni na razpolago"
|
3070 |
|
3071 |
-
#: settings.php:1908 settings.php:
|
3072 |
msgid "Ad label"
|
3073 |
msgstr "Oznaka oglasa"
|
3074 |
|
@@ -3097,78 +3097,94 @@ msgstr "Nastavitve"
|
|
3097 |
msgid "Settings timestamp"
|
3098 |
msgstr "Časovni žig nastavitev"
|
3099 |
|
3100 |
-
#: settings.php:
|
3101 |
msgid "Are you sure you want to reset all settings?"
|
3102 |
msgstr "Ali ste prepričani, da želite ponastaviti vse nastavitve?"
|
3103 |
|
3104 |
-
#: settings.php:
|
3105 |
msgid "Reset All Settings"
|
3106 |
msgstr "Ponastavi Vse Nastavitve"
|
3107 |
|
3108 |
-
#: settings.php:
|
|
|
|
|
|
|
|
|
3109 |
msgid "Viewports"
|
3110 |
msgstr "Pogledi"
|
3111 |
|
3112 |
-
#: settings.php:
|
3113 |
msgid "Hooks"
|
3114 |
msgstr "Ročice"
|
3115 |
|
3116 |
-
#: settings.php:
|
3117 |
msgid "Header"
|
3118 |
msgstr "Glava"
|
3119 |
|
3120 |
-
#: settings.php:
|
3121 |
msgid "Footer"
|
3122 |
msgstr "Noga"
|
3123 |
|
3124 |
-
#: settings.php:
|
3125 |
msgid "Debugging"
|
3126 |
msgstr "Razhroščevanje"
|
3127 |
|
3128 |
-
#: settings.php:
|
3129 |
msgid "Plugin priority"
|
3130 |
msgstr "Prednost vtičnika"
|
3131 |
|
3132 |
-
#: settings.php:
|
3133 |
msgid "Output buffering"
|
3134 |
msgstr "Predpomnjenje izhoda"
|
3135 |
|
3136 |
-
#: settings.php:
|
3137 |
msgid "Needed for position Above header but may not work with all themes"
|
3138 |
msgstr "Potrebno za položaj Nad glavo, ampak lahko, da ne dela z vsemi temami"
|
3139 |
|
3140 |
-
#: settings.php:
|
3141 |
msgid "Syntax highlighting theme"
|
3142 |
msgstr "Tema za poudarjanje sintakse"
|
3143 |
|
3144 |
-
#: settings.php:
|
3145 |
msgctxt "no syntax highlighting themes"
|
3146 |
msgid "None"
|
3147 |
msgstr "Brez"
|
3148 |
|
3149 |
-
#: settings.php:
|
3150 |
msgid "No Syntax Highlighting"
|
3151 |
msgstr "Brez Poudarjanja Sintakse"
|
3152 |
|
3153 |
-
#: settings.php:
|
3154 |
msgctxt "syntax highlighting themes"
|
3155 |
msgid "Light"
|
3156 |
msgstr "Svetle"
|
3157 |
|
3158 |
-
#: settings.php:
|
3159 |
msgctxt "syntax highlighting themes"
|
3160 |
msgid "Dark"
|
3161 |
msgstr "Temne"
|
3162 |
|
3163 |
-
#: settings.php:
|
3164 |
msgid "Min. user role for ind. exceptions editing"
|
3165 |
msgstr "Najm. uporabniška vloga za urejanje izjem"
|
3166 |
|
3167 |
-
#: settings.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3168 |
msgid "Sticky widget mode"
|
3169 |
msgstr "Način za lepljive gradnike"
|
3170 |
|
3171 |
-
#: settings.php:
|
3172 |
msgid ""
|
3173 |
"CSS mode is the best approach but may not work with all themes. JavaScript "
|
3174 |
"mode works with most themes but may reload ads on page load."
|
@@ -3177,19 +3193,19 @@ msgstr ""
|
|
3177 |
"Način JavaScript dela z večino tem, ampak lahko ponovno naloži oglase pri "
|
3178 |
"nalaganju strani."
|
3179 |
|
3180 |
-
#: settings.php:
|
3181 |
msgid "Sticky widget top margin"
|
3182 |
msgstr "Zgornji rob za lepljiv gradnik"
|
3183 |
|
3184 |
-
#: settings.php:
|
3185 |
msgid "Dynamic blocks"
|
3186 |
msgstr "Dinamični bloki"
|
3187 |
|
3188 |
-
#: settings.php:
|
3189 |
msgid "Functions for paragraph counting"
|
3190 |
msgstr "Funkcije za štetje odstavkov"
|
3191 |
|
3192 |
-
#: settings.php:
|
3193 |
msgid ""
|
3194 |
"Standard PHP functions are faster and work in most cases, use Multibyte "
|
3195 |
"functions if paragraphs are not counted properly on non-english pages."
|
@@ -3198,15 +3214,15 @@ msgstr ""
|
|
3198 |
"Večznakovne funkcije, če na ne-angleških straneh odstavki niso pravilno "
|
3199 |
"šteti."
|
3200 |
|
3201 |
-
#: settings.php:
|
3202 |
msgid "No paragraph counting inside"
|
3203 |
msgstr "Ni štetja odstavkov znotraj"
|
3204 |
|
3205 |
-
#: settings.php:
|
3206 |
msgid "Label text or HTML code"
|
3207 |
msgstr "Besedilo oznake ali HTML koda"
|
3208 |
|
3209 |
-
#: settings.php:
|
3210 |
msgid ""
|
3211 |
"Maximum number of inserted blocks per page. You need to enable Max page "
|
3212 |
"insertions (button Misc / tab Insertion) to count block for this limit."
|
@@ -3215,12 +3231,12 @@ msgstr ""
|
|
3215 |
"blokov na stran (gumb Razno / zavihek Vstavljanje), da bo blok štel za to "
|
3216 |
"omejitev."
|
3217 |
|
3218 |
-
#: settings.php:
|
3219 |
msgid "Plugin usage tracking"
|
3220 |
msgstr "Sledenje uporabe vtičnika"
|
3221 |
|
3222 |
#. translators: %s: Ad Inserter
|
3223 |
-
#: settings.php:
|
3224 |
msgid ""
|
3225 |
"Enable tracking of %s usage and help us to make improvements to the plugin. "
|
3226 |
"Only information regarding the WordPress environment and %s usage is "
|
@@ -3230,125 +3246,125 @@ msgstr ""
|
|
3230 |
"Beležijo se samo informacije glede okolja WordPress in uporabe %s-ja (enkrat "
|
3231 |
"mesečno in ob dogodkih kot so aktivacija/deaktivacija)."
|
3232 |
|
3233 |
-
#: settings.php:
|
3234 |
msgid "CSS class name for the wrapping div"
|
3235 |
msgstr "Ime CSS razreda za div za ovijanje"
|
3236 |
|
3237 |
-
#: settings.php:
|
3238 |
msgid "Block class name"
|
3239 |
msgstr "Ime razreda za blok"
|
3240 |
|
3241 |
-
#: settings.php:
|
3242 |
msgid "Include general plugin block class"
|
3243 |
msgstr "Vključi splošni razred vtičnika za blok"
|
3244 |
|
3245 |
-
#: settings.php:
|
3246 |
msgid "Block class"
|
3247 |
msgstr "Razred bloka"
|
3248 |
|
3249 |
-
#: settings.php:
|
3250 |
msgid "Include block number class"
|
3251 |
msgstr "Vključi razred številke bloka"
|
3252 |
|
3253 |
-
#: settings.php:
|
3254 |
msgid "Block number class"
|
3255 |
msgstr "Razred številke bloka"
|
3256 |
|
3257 |
-
#: settings.php:
|
3258 |
msgid ""
|
3259 |
"Instead of alignment classes generate inline alignment styles for blocks"
|
3260 |
msgstr ""
|
3261 |
"Namesto razredov za poravnavo ustvari medvrstične sloge za poravnavo blokov"
|
3262 |
|
3263 |
-
#: settings.php:
|
3264 |
msgid "Inline styles"
|
3265 |
msgstr "Medvrstični slogi"
|
3266 |
|
3267 |
-
#: settings.php:
|
3268 |
msgid "Preview of the block wrapping code"
|
3269 |
msgstr "Predogled kode za ovijanje blokov"
|
3270 |
|
3271 |
-
#: settings.php:
|
3272 |
msgid "Wrapping div"
|
3273 |
msgstr "div za ovijanje"
|
3274 |
|
3275 |
-
#: settings.php:
|
3276 |
msgid "BLOCK CODE"
|
3277 |
msgstr "KODA BLOKA"
|
3278 |
|
3279 |
-
#: settings.php:
|
3280 |
msgid "Viewport Settings used for client-side device detection"
|
3281 |
msgstr ""
|
3282 |
"Nastavitve Pogledov, uporabljene za zaznavanje naprav na strani klienta"
|
3283 |
|
3284 |
#. Translators: %d: viewport number
|
3285 |
-
#: settings.php:
|
3286 |
msgid "Viewport %d name"
|
3287 |
msgstr "Ime pogleda %d"
|
3288 |
|
3289 |
-
#: settings.php:
|
3290 |
msgid "min width"
|
3291 |
msgstr "najmanjša širina"
|
3292 |
|
3293 |
-
#: settings.php:
|
3294 |
msgid "Custom Hooks"
|
3295 |
msgstr "Ročice Po Meri"
|
3296 |
|
3297 |
-
#: settings.php:
|
3298 |
msgid "Enable hook"
|
3299 |
msgstr "Omogoči ročico"
|
3300 |
|
3301 |
#. translators: %d: hook number
|
3302 |
-
#: settings.php:
|
3303 |
msgid "Hook %d name"
|
3304 |
msgstr "Ime ročice %d"
|
3305 |
|
3306 |
-
#: settings.php:
|
3307 |
msgid "Hook name for automatic insertion selection"
|
3308 |
msgstr "Ime ročice za izbiro samodejnega vstavljanja"
|
3309 |
|
3310 |
-
#: settings.php:
|
3311 |
msgid "action"
|
3312 |
msgstr "akcija"
|
3313 |
|
3314 |
-
#: settings.php:
|
3315 |
msgid "Action name as used in the do_action () function"
|
3316 |
msgstr "Ime akcije kot je uporabljena v do_action () funkciji"
|
3317 |
|
3318 |
-
#: settings.php:
|
3319 |
msgid "priority"
|
3320 |
msgstr "prednost"
|
3321 |
|
3322 |
-
#: settings.php:
|
3323 |
msgid "Priority for the hook (default is 10)"
|
3324 |
msgstr "Prednost za ročico (privzeta je 10)"
|
3325 |
|
3326 |
-
#: settings.php:
|
3327 |
msgid "Enable insertion of this code into HTML page header"
|
3328 |
msgstr "Omogoči vstavljanje te kode v glavi HTML strani"
|
3329 |
|
3330 |
-
#: settings.php:
|
3331 |
msgid "Process PHP code"
|
3332 |
msgstr "Procesiraj PHP kodo"
|
3333 |
|
3334 |
-
#: settings.php:
|
3335 |
msgid "HTML Page Header Code"
|
3336 |
msgstr "Koda v Glavi HTML Strani"
|
3337 |
|
3338 |
-
#: settings.php:
|
3339 |
msgid "Code in the %s section of the HTML page"
|
3340 |
msgstr "Koda v %s delu HTML strani"
|
3341 |
|
3342 |
-
#: settings.php:
|
3343 |
msgctxt "code in header or footer"
|
3344 |
msgid "DISABLED"
|
3345 |
msgstr "ONEMOGOČENA"
|
3346 |
|
3347 |
-
#: settings.php:
|
3348 |
msgid "Use server-side detection to insert code only for"
|
3349 |
msgstr "Zaznavanje na strani strežnika za vstavljanje samo za"
|
3350 |
|
3351 |
-
#: settings.php:
|
3352 |
msgid ""
|
3353 |
"Enable insertion of this code into HTML page header on page for Error 404: "
|
3354 |
"Page not found"
|
@@ -3356,24 +3372,24 @@ msgstr ""
|
|
3356 |
"Omogoči vstavljanje te kode v HTML glavo na strani za napako 404: Stran ne "
|
3357 |
"obstaja"
|
3358 |
|
3359 |
-
#: settings.php:
|
3360 |
msgid "Insert on Error 404 page"
|
3361 |
msgstr "Vstavi na strani Napake 404"
|
3362 |
|
3363 |
-
#: settings.php:
|
3364 |
msgid "Enable insertion of this code into HTML page footer"
|
3365 |
msgstr "Omogoči vstavljanje te kode v HTML nogi"
|
3366 |
|
3367 |
-
#: settings.php:
|
3368 |
msgid "HTML Page Footer Code"
|
3369 |
msgstr "Koda v Nogi HTML Strani"
|
3370 |
|
3371 |
#. translators: %s: HTML tags
|
3372 |
-
#: settings.php:
|
3373 |
msgid "Code before the %s tag of the the HTML page"
|
3374 |
msgstr "Koda pred %s značko HTML strani"
|
3375 |
|
3376 |
-
#: settings.php:
|
3377 |
msgid ""
|
3378 |
"Enable insertion of this code into HTML page footer on page for Error 404: "
|
3379 |
"Page not found"
|
@@ -3381,19 +3397,19 @@ msgstr ""
|
|
3381 |
"Omogoči vstavljanje te kode v nogo HTML strani na strani za napako 404: "
|
3382 |
"Stran ne obstaja"
|
3383 |
|
3384 |
-
#: settings.php:
|
3385 |
msgid "Enable detection of ad blocking"
|
3386 |
msgstr "Omogoči zaznavanje blokiranja oglasov"
|
3387 |
|
3388 |
-
#: settings.php:
|
3389 |
msgid "Global action when ad blocking is detected"
|
3390 |
msgstr "Globalna akcija, ko je zaznano blokiranje oglasov"
|
3391 |
|
3392 |
-
#: settings.php:
|
3393 |
msgid "Delay Action"
|
3394 |
msgstr "Zakasni Akcijo"
|
3395 |
|
3396 |
-
#: settings.php:
|
3397 |
msgid ""
|
3398 |
"Number of page views to delay action when ad blocking is detected. Leave "
|
3399 |
"empty for no delay (action fires on first page view). Sets cookie."
|
@@ -3402,16 +3418,16 @@ msgstr ""
|
|
3402 |
"oglasov. Prazno pomeni brez zakasnitve (akcija se sproži pri prvem ogledu "
|
3403 |
"strani). Nastavi piškotek."
|
3404 |
|
3405 |
-
#: settings.php:
|
3406 |
msgctxt "Delay Action for x "
|
3407 |
msgid "page views"
|
3408 |
msgstr "ogledov strani"
|
3409 |
|
3410 |
-
#: settings.php:
|
3411 |
msgid "No Action Period"
|
3412 |
msgstr "Obdobje Brez Akcije"
|
3413 |
|
3414 |
-
#: settings.php:
|
3415 |
msgid ""
|
3416 |
"Number of days to supress action when ad blocking is detected. Leave empty "
|
3417 |
"for no no-action period (action fires always after defined page view delay). "
|
@@ -3421,16 +3437,16 @@ msgstr ""
|
|
3421 |
"pomeni brez zadržanja (akcija se sproži vedno po določeni zakasnitvi ogledov "
|
3422 |
"strani). Nastavi piškotek."
|
3423 |
|
3424 |
-
#: settings.php:
|
3425 |
msgctxt "no action period"
|
3426 |
msgid "days"
|
3427 |
msgstr "dni"
|
3428 |
|
3429 |
-
#: settings.php:
|
3430 |
msgid "Custom Selectors"
|
3431 |
msgstr "Selektorji Po Meri"
|
3432 |
|
3433 |
-
#: settings.php:
|
3434 |
msgid ""
|
3435 |
"Comma seprarated list of selectors (.class, #id) used for additional ad "
|
3436 |
"blocking detection. Invisible element or element with zero height means ad "
|
@@ -3440,15 +3456,15 @@ msgstr ""
|
|
3440 |
"zaznavanje blokiranja oglasov. Neviden element ali element z ničelno višino "
|
3441 |
"pomeni prisotnost blokiranja oglasov."
|
3442 |
|
3443 |
-
#: settings.php:
|
3444 |
msgid "Redirection Page"
|
3445 |
msgstr "Stran za Preusmeritev"
|
3446 |
|
3447 |
-
#: settings.php:
|
3448 |
msgid "Custom Url"
|
3449 |
msgstr "Url Po Meri"
|
3450 |
|
3451 |
-
#: settings.php:
|
3452 |
msgid ""
|
3453 |
"Static page for redirection when ad blocking is detected. For other pages "
|
3454 |
"select Custom url and set it below."
|
@@ -3456,27 +3472,27 @@ msgstr ""
|
|
3456 |
"Statična stran za preusmeritev, ko je zaznano blokiranje oglasov. Za druge "
|
3457 |
"strani izberite Url Po Meri in ga nastavite spodaj."
|
3458 |
|
3459 |
-
#: settings.php:
|
3460 |
msgid "Custom Redirection Url"
|
3461 |
msgstr "Url za Preusmeritev Po Meri"
|
3462 |
|
3463 |
-
#: settings.php:
|
3464 |
msgid "Message HTML code"
|
3465 |
msgstr "HTML koda sporočila"
|
3466 |
|
3467 |
-
#: settings.php:
|
3468 |
msgid "Preview message when ad blocking is detected"
|
3469 |
msgstr "Predogled sporočila, ko je zaznano blokiranje oglasov"
|
3470 |
|
3471 |
-
#: settings.php:
|
3472 |
msgid "Prevent visitors from closing the warning message"
|
3473 |
msgstr "Prepreči obiskovalcem, da zaprejo opozorilno sporočilo"
|
3474 |
|
3475 |
-
#: settings.php:
|
3476 |
msgid "Undismissible Message"
|
3477 |
msgstr "Neodstranljivo Sporočilo"
|
3478 |
|
3479 |
-
#: settings.php:
|
3480 |
msgid ""
|
3481 |
"Force showing admin toolbar for administrators when viewing site. Enable "
|
3482 |
"this option when you are logged in as admin and you don't see admin toolbar."
|
@@ -3485,84 +3501,84 @@ msgstr ""
|
|
3485 |
"možnost, če ste prijavljeni kot skrbnik, pa ne vidite orodne vrstice za "
|
3486 |
"skrbnike."
|
3487 |
|
3488 |
-
#: settings.php:
|
3489 |
msgid "Disable header code (Header tab)"
|
3490 |
msgstr "Onemogoči kodo v glavi (zavihek Glava)"
|
3491 |
|
3492 |
-
#: settings.php:
|
3493 |
msgid "Disable footer code (Footer tab)"
|
3494 |
msgstr "Onemogoči kodo v nogi (zavihek Noga)"
|
3495 |
|
3496 |
#. translators: %s: Ad Inserter
|
3497 |
-
#: settings.php:
|
3498 |
msgid "Disable %s JavaScript code"
|
3499 |
msgstr "Onemogoči %s JavaScript kodo"
|
3500 |
|
3501 |
#. translators: %s: Ad Inserter
|
3502 |
-
#: settings.php:
|
3503 |
msgid "Disable %s CSS code"
|
3504 |
msgstr "Onemogoči %s CSS kodo"
|
3505 |
|
3506 |
-
#: settings.php:
|
3507 |
msgid ""
|
3508 |
"Disable PHP code processing (in all blocks including header and footer code)"
|
3509 |
msgstr ""
|
3510 |
"Onemogoči procesiranje PHP kode (v vseh blokh vključno z glavo in nogo)"
|
3511 |
|
3512 |
-
#: settings.php:
|
3513 |
msgid "Disable insertion of all blocks"
|
3514 |
msgstr "Onemogoči vstavljanje vseh blokov"
|
3515 |
|
3516 |
-
#: settings.php:
|
3517 |
msgid "Disable insertions"
|
3518 |
msgstr "Onemogoči vstavljanja"
|
3519 |
|
3520 |
#. translators: %s: Ad Inserter
|
3521 |
-
#: settings.php:
|
3522 |
msgid "%s CSS CODE"
|
3523 |
msgstr "%s CSS KODA"
|
3524 |
|
3525 |
-
#: settings.php:
|
3526 |
msgid "HEADER CODE"
|
3527 |
msgstr "KODA GLAVE"
|
3528 |
|
3529 |
#. translators: %s: PHP tags
|
3530 |
-
#: settings.php:
|
3531 |
msgid "BLOCK PHP CODE"
|
3532 |
msgstr "PHP KODA BLOKA"
|
3533 |
|
3534 |
#. translators: %s: Ad Inserter
|
3535 |
-
#: settings.php:
|
3536 |
msgid "%s JS CODE"
|
3537 |
msgstr "%s JS KODA"
|
3538 |
|
3539 |
-
#: settings.php:
|
3540 |
msgid "FOOTER CODE"
|
3541 |
msgstr "KODA NOGE"
|
3542 |
|
3543 |
-
#: settings.php:
|
3544 |
msgid "Force showing admin toolbar when viewing site"
|
3545 |
msgstr "Vsili prikaz orodne vrstice za skrbnike pri ogledu strani"
|
3546 |
|
3547 |
-
#: settings.php:
|
3548 |
msgid "Enable debugging functions in admin toolbar"
|
3549 |
msgstr "Omogoči funkcije za razhroščevanje v orodni vrstici za skrbnike"
|
3550 |
|
3551 |
-
#: settings.php:
|
3552 |
msgid "Debugging functions in admin toolbar"
|
3553 |
msgstr "Funkcije za razhroščevanje v orodni vrstici za skrbnike"
|
3554 |
|
3555 |
-
#: settings.php:
|
3556 |
msgid "Enable debugging functions in admin toolbar on mobile screens"
|
3557 |
msgstr ""
|
3558 |
"Omogoči funkcije za razhroščevanje v orodni vrstici za skrbnike na mobilnih "
|
3559 |
"zaslonih"
|
3560 |
|
3561 |
-
#: settings.php:
|
3562 |
msgid "Debugging functions on mobile screens"
|
3563 |
msgstr "Funkcije za razhroščevanje na mobilnih zaslonih"
|
3564 |
|
3565 |
-
#: settings.php:
|
3566 |
msgid ""
|
3567 |
"Enable Debugger widget and code insertion debugging (blocks, positions, "
|
3568 |
"tags, processing) by url parameters for non-logged in users. Enable this "
|
@@ -3577,11 +3593,11 @@ msgstr ""
|
|
3577 |
"pomagali diagnosticirati težave. Za prijavljene skrbnike je razhroščevanje "
|
3578 |
"vedno omogočeno."
|
3579 |
|
3580 |
-
#: settings.php:
|
3581 |
msgid "Remote debugging"
|
3582 |
msgstr "Oddaljeno razhroščevanje"
|
3583 |
|
3584 |
-
#: settings.php:
|
3585 |
msgid ""
|
3586 |
"Disable translation to see original texts for the settings and messages in "
|
3587 |
"English"
|
@@ -3589,112 +3605,175 @@ msgstr ""
|
|
3589 |
"Onemogoči prevod za prikaz prvotnih besedil nastavitev in sporočil v "
|
3590 |
"angleščini"
|
3591 |
|
3592 |
-
#: settings.php:
|
3593 |
msgid "Disable translation"
|
3594 |
msgstr "Onemogoči prevod"
|
3595 |
|
3596 |
-
#: settings.php:
|
3597 |
msgid "Available positions for current theme"
|
3598 |
msgstr "Razpoložljivi položaji za trenutno temo"
|
3599 |
|
3600 |
-
#: settings.php:
|
3601 |
msgid "Error checking pages"
|
3602 |
msgstr "Napaka pri preverjanju strani"
|
3603 |
|
3604 |
-
#: settings.php:
|
3605 |
msgid "Toggle theme checker for available positions for automatic insertion"
|
3606 |
msgstr ""
|
3607 |
"Preklopi preverjanje teme za razpoložljive položaje za samodejno vstavljanje"
|
3608 |
|
3609 |
-
#: settings.php:
|
3610 |
msgctxt "Button"
|
3611 |
msgid "Check"
|
3612 |
msgstr "Preveri"
|
3613 |
|
3614 |
-
#: settings.php:
|
3615 |
msgid "Position"
|
3616 |
msgstr "Položaj"
|
3617 |
|
3618 |
-
#: settings.php:
|
3619 |
msgid "Archive pages"
|
3620 |
msgstr "Strani arhiva"
|
3621 |
|
3622 |
-
#: settings.php:
|
3623 |
msgid ""
|
3624 |
"Position not available because output buffering (tab [*]) is not enabled"
|
3625 |
msgstr ""
|
3626 |
"Položaj ni na razpolago ker predpomnjenje izhoda (zavihek [*]) ni omogočeno"
|
3627 |
|
3628 |
-
#: settings.php:
|
3629 |
msgid "Position not checked yet"
|
3630 |
msgstr "Položaj še ni bil preverjen"
|
3631 |
|
3632 |
-
#: settings.php:
|
3633 |
msgid "Toggle active/all blocks"
|
3634 |
msgstr "Preklopi aktive/vse bloke"
|
3635 |
|
3636 |
-
#: settings.php:
|
3637 |
msgid "Rearrange block order"
|
3638 |
msgstr "Preuredi vrstni red blokov"
|
3639 |
|
3640 |
-
#: settings.php:
|
3641 |
msgid "Save new block order"
|
3642 |
msgstr "Shrani vrstni red blokov"
|
3643 |
|
3644 |
-
#: settings.php:
|
3645 |
msgid "Save Changes"
|
3646 |
msgstr "Sharani Nastavitve"
|
3647 |
|
3648 |
-
#: settings.php:
|
3649 |
msgid "Toggle active/all ad units"
|
3650 |
msgstr "Preklopi aktivne/vse oglasne enote"
|
3651 |
|
3652 |
-
#: settings.php:
|
3653 |
msgid "Reload AdSense ad units"
|
3654 |
msgstr "Ponovno naloži oglasne enote AdSense"
|
3655 |
|
3656 |
-
#: settings.php:
|
3657 |
msgid "Clear authorization to access AdSense account"
|
3658 |
msgstr "Odstrani avtorizacijo za dostop do računa AdSense"
|
3659 |
|
3660 |
-
#: settings.php:
|
3661 |
msgid "Google AdSense Homepage"
|
3662 |
msgstr "Google AdSense Domača Stran"
|
3663 |
|
3664 |
-
#: settings.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3665 |
msgid "Preview block"
|
3666 |
msgstr "Predogled bloka"
|
3667 |
|
3668 |
-
#: settings.php:
|
3669 |
msgid "Insertion disabled"
|
3670 |
msgstr "Vstavljanje onemogočeno"
|
3671 |
|
3672 |
-
#: settings.php:
|
3673 |
msgid "Widget positions"
|
3674 |
msgstr "Položaji gradnikov"
|
3675 |
|
3676 |
-
#: settings.php:
|
3677 |
msgid "Ad unit"
|
3678 |
msgstr "Enota"
|
3679 |
|
3680 |
-
#: settings.php:
|
3681 |
msgid "Slot ID"
|
3682 |
msgstr "ID mesta"
|
3683 |
|
3684 |
-
#: settings.php:
|
3685 |
msgid "Copy AdSense code"
|
3686 |
msgstr "Kopiraj kodo AdSense"
|
3687 |
|
3688 |
-
#: settings.php:
|
3689 |
msgid "Preview AdSense ad"
|
3690 |
msgstr "Predogled oglasa AdSense"
|
3691 |
|
3692 |
-
#: settings.php:
|
3693 |
msgid "Get AdSense code"
|
3694 |
msgstr "Pridobi kodo AdSense"
|
3695 |
|
3696 |
#. translators: %s: HTML tags
|
3697 |
-
#: settings.php:
|
3698 |
msgid ""
|
3699 |
"Please %s clear authorization %s with the button %s above and once again "
|
3700 |
"authorize access to your AdSense account."
|
@@ -3702,16 +3781,16 @@ msgstr ""
|
|
3702 |
"Prosimo, %s odstranite avtorizacijo %s z gumbom %s zgoraj in še enkrat "
|
3703 |
"avtorizirajte dostop do vašega računa AdSense."
|
3704 |
|
3705 |
-
#: settings.php:
|
3706 |
msgid "AdSense Integration"
|
3707 |
msgstr "Integracija AdSense"
|
3708 |
|
3709 |
-
#: settings.php:
|
3710 |
msgid "AdSense Integration - Step 2"
|
3711 |
msgstr "Integracija AdSense - Korak 2"
|
3712 |
|
3713 |
#. translators: %s: HTML tags
|
3714 |
-
#: settings.php:
|
3715 |
msgid ""
|
3716 |
"Authorize %s to access your AdSense account. Click on the %s Get "
|
3717 |
"Authorization Code %s button to open a new window where you can allow "
|
@@ -3724,7 +3803,7 @@ msgstr ""
|
|
3724 |
"Avtoriziraj. %s"
|
3725 |
|
3726 |
#. translators: %s: HTML tags
|
3727 |
-
#: settings.php:
|
3728 |
msgid ""
|
3729 |
"If you get error, can't access ad units or would like to use own Google API "
|
3730 |
"IDs click on the button %s Use own API IDs %s to enter Client ID and Client "
|
@@ -3735,7 +3814,7 @@ msgstr ""
|
|
3735 |
"je %s za vnos podatkov ID Klienta in Skrivnost Klienta."
|
3736 |
|
3737 |
#. translators: %s: HTML tags
|
3738 |
-
#: settings.php:
|
3739 |
msgid ""
|
3740 |
"Now you can authorize %s to access your AdSense account. Click on the %s Get "
|
3741 |
"Authorization Code %s button to open a new window where you can allow "
|
@@ -3748,7 +3827,7 @@ msgstr ""
|
|
3748 |
"gumb %s Avtoriziraj. %s"
|
3749 |
|
3750 |
#. translators: %s: HTML tags
|
3751 |
-
#: settings.php:
|
3752 |
msgid ""
|
3753 |
"If you get error %s invalid client %s click on the button %s Clear and "
|
3754 |
"return to Step 1 %s to re-enter Client ID and Client Secret."
|
@@ -3756,32 +3835,32 @@ msgstr ""
|
|
3756 |
"Če se pojavi napaka %s neveljaven klient %s, kliknite na gumb %s Odstrani in "
|
3757 |
"se vrni na Korak 1 %s za ponoven vnos ID klienta in Skrivnost Klienta."
|
3758 |
|
3759 |
-
#: settings.php:
|
3760 |
msgid "Get Authorization Code"
|
3761 |
msgstr "Pridobi Avtoriazcijsko Kodo"
|
3762 |
|
3763 |
-
#: settings.php:
|
3764 |
msgid "Enter Authorization Code"
|
3765 |
msgstr "Vnesi Avorizacijsko Kodo"
|
3766 |
|
3767 |
-
#: settings.php:
|
3768 |
msgid "Use own API IDs"
|
3769 |
msgstr "Uporabi lastne API ID-je"
|
3770 |
|
3771 |
-
#: settings.php:
|
3772 |
msgid "Clear and return to Step 1"
|
3773 |
msgstr "Odstrani in se vrni na Korak 1"
|
3774 |
|
3775 |
-
#: settings.php:
|
3776 |
msgid "Authorize"
|
3777 |
msgstr "Avtoriziraj"
|
3778 |
|
3779 |
-
#: settings.php:
|
3780 |
msgid "AdSense Integration - Step 1"
|
3781 |
msgstr "Integracija AdSense - Korak 1"
|
3782 |
|
3783 |
#. translators: %s: Ad Inserter
|
3784 |
-
#: settings.php:
|
3785 |
msgid ""
|
3786 |
"Here can %s list configured AdSense ad units and get code for AdSense ads. "
|
3787 |
"To do this you need to authorize %s to access your AdSense account. The "
|
@@ -3794,12 +3873,12 @@ msgstr ""
|
|
3794 |
"Klienta in Skrivnost Klienta."
|
3795 |
|
3796 |
#. translators: %s: HTML tags
|
3797 |
-
#: settings.php:
|
3798 |
msgid "Go to %s Google APIs and Services console %s"
|
3799 |
msgstr "Pojdite na %s konzolo Google API-ji in Storitve %s"
|
3800 |
|
3801 |
#. translators: %1: Ad Inserter, 2, 3: HTML tags
|
3802 |
-
#: settings.php:
|
3803 |
msgid ""
|
3804 |
"Create %1$s project - if the project and IDs are already created click on "
|
3805 |
"the %2$s Credentials %3$s in the sidebar and go to step 16"
|
@@ -3808,7 +3887,7 @@ msgstr ""
|
|
3808 |
"%2$s Pooblastila %3$s v stranski vrstici in pojdite na korak 16"
|
3809 |
|
3810 |
#. translators: %s: HTML tags
|
3811 |
-
#: settings.php:
|
3812 |
msgid ""
|
3813 |
"Click on project selection and then click on the %s NEW PROJECT %s button to "
|
3814 |
"create a new project"
|
@@ -3817,12 +3896,12 @@ msgstr ""
|
|
3817 |
"ustvaritev novega projekta"
|
3818 |
|
3819 |
#. translators: 1: Ad Inserter, 2, 3: HTML tags
|
3820 |
-
#: settings.php:
|
3821 |
msgid "Enter %1$s for project name and click on the %2$s Create %3$s button"
|
3822 |
msgstr "Vnesite %1$s za ime projekta in kliknite na gumb %2$s Ustvari %3$s"
|
3823 |
|
3824 |
#. translators: %s: HTML tags
|
3825 |
-
#: settings.php:
|
3826 |
msgid ""
|
3827 |
"Click on project selection, wait for the project to be created and then and "
|
3828 |
"select %s as the current project"
|
@@ -3831,39 +3910,39 @@ msgstr ""
|
|
3831 |
"izberite %s kot trenutni projekt"
|
3832 |
|
3833 |
#. translators: %s: HTML tags
|
3834 |
-
#: settings.php:
|
3835 |
msgid "Click on %s ENABLE APIS AND SERVICES %s"
|
3836 |
msgstr "Klinkite na %s OMOGOČI API-je IN STORITVE %s"
|
3837 |
|
3838 |
#. translators: %s: HTML tags
|
3839 |
-
#: settings.php:
|
3840 |
msgid "Search for adsense and enable %s"
|
3841 |
msgstr "Poiščite adsense in omogočite %s"
|
3842 |
|
3843 |
#. translators: %s: HTML tags
|
3844 |
-
#: settings.php:
|
3845 |
msgid "Click on %s CREATE CREDENTIALS %s"
|
3846 |
msgstr "Klinkite na %s USTVARI POOBLASTILA %s"
|
3847 |
|
3848 |
#. translators: %s: HTML tags
|
3849 |
-
#: settings.php:
|
3850 |
msgid "For %s Where will you be calling the API from? %s select %s Other UI %s"
|
3851 |
msgstr "Za %s Od kod boste klicali API-je? %s izberite %s Drugi UI %s"
|
3852 |
|
3853 |
#. translators: %s: HTML tags
|
3854 |
-
#: settings.php:
|
3855 |
msgid "For %s What data will you be accessing? %s select %s User data %s"
|
3856 |
msgstr ""
|
3857 |
"Za %s Do katerih podatkov boste dostopali? %s izberite %s Uporabniški "
|
3858 |
"podatki %s"
|
3859 |
|
3860 |
#. translators: %s: HTML tags
|
3861 |
-
#: settings.php:
|
3862 |
msgid "Click on %s What credentials do I need? %s"
|
3863 |
msgstr "Kliknite na %s Kakšna pooblastila potrebujem? %s"
|
3864 |
|
3865 |
#. translators: %s: HTML tags
|
3866 |
-
#: settings.php:
|
3867 |
msgid ""
|
3868 |
"Create an OAuth 2.0 client ID: For %s OAuth 2.0 client ID %s name enter %s "
|
3869 |
"Ad Inserter client %s"
|
@@ -3872,7 +3951,7 @@ msgstr ""
|
|
3872 |
"%s Ad Inserter klient %s"
|
3873 |
|
3874 |
#. translators: %s: HTML tags
|
3875 |
-
#: settings.php:
|
3876 |
msgid ""
|
3877 |
"Set up the OAuth 2.0 consent screen: For %s Product name shown to users %s "
|
3878 |
"enter %s"
|
@@ -3881,17 +3960,17 @@ msgstr ""
|
|
3881 |
"uporabnikom %s vnesite %s"
|
3882 |
|
3883 |
#. translators: %s: HTML tags
|
3884 |
-
#: settings.php:
|
3885 |
msgid "Click on %s Continue %s"
|
3886 |
msgstr "Kliknite na %s Nadaljuj %s"
|
3887 |
|
3888 |
#. translators: %s: HTML tags
|
3889 |
-
#: settings.php:
|
3890 |
msgid "Click on %s Done %s"
|
3891 |
msgstr "Kliknite na %s Končaj %s"
|
3892 |
|
3893 |
#. translators: %s: HTML tags
|
3894 |
-
#: settings.php:
|
3895 |
msgid ""
|
3896 |
"Click on %s Ad Inserter client %s to get %s Client ID %s and %s Client "
|
3897 |
"secret %s"
|
@@ -3899,58 +3978,58 @@ msgstr ""
|
|
3899 |
"Kliknite na %s Ad Inserter klient, %s da bi dobili %s ID klienta %s in %s "
|
3900 |
"Skrivnost klienta %s"
|
3901 |
|
3902 |
-
#: settings.php:
|
3903 |
msgid "Copy them to the appropriate fields below"
|
3904 |
msgstr "Skopirajte ju na ustrezni polji spodaj"
|
3905 |
|
3906 |
-
#: settings.php:
|
3907 |
msgid "Client ID"
|
3908 |
msgstr "ID klienta"
|
3909 |
|
3910 |
-
#: settings.php:
|
3911 |
msgid "Enter Client ID"
|
3912 |
msgstr "Vnesite ID klienta"
|
3913 |
|
3914 |
-
#: settings.php:
|
3915 |
msgid "Client secret"
|
3916 |
msgstr "Skrivnost klienta"
|
3917 |
|
3918 |
-
#: settings.php:
|
3919 |
msgid "Enter Client secret"
|
3920 |
msgstr "Vnesite Skrivnost klienta"
|
3921 |
|
3922 |
-
#: settings.php:
|
3923 |
msgid "Use default API IDs"
|
3924 |
msgstr "Uporabi privzete API ID-je"
|
3925 |
|
3926 |
-
#: settings.php:
|
3927 |
msgid "Save"
|
3928 |
msgstr "Shrani"
|
3929 |
|
3930 |
-
#: settings.php:
|
3931 |
msgid "Blank ad blocks? Looking for AdSense alternative?"
|
3932 |
msgstr "Prazni oglasni bloki? Iščete alternativo za AdSense?"
|
3933 |
|
3934 |
-
#: settings.php:
|
3935 |
-
#: settings.php:
|
3936 |
-
#: settings.php:
|
3937 |
msgid "Looking for AdSense alternative?"
|
3938 |
msgstr "Iščete alternativo za AdSense?"
|
3939 |
|
3940 |
-
#: settings.php:
|
3941 |
msgid "Try Infolinks Ads with Adsense or Media.net ads"
|
3942 |
msgstr "Poskusite oglase Infolinks z oglasi AdSense ali Media.net"
|
3943 |
|
3944 |
-
#: settings.php:
|
3945 |
-
#: settings.php:
|
3946 |
msgid "Use Infolinks ads with Adsense to earn more"
|
3947 |
msgstr "Uporabite oglase Infolinks z AdSense za večji zaslužek"
|
3948 |
|
3949 |
-
#: settings.php:
|
3950 |
msgid "Support plugin development"
|
3951 |
msgstr "Podprite razvoj vtičnika"
|
3952 |
|
3953 |
-
#: settings.php:
|
3954 |
msgid ""
|
3955 |
"If you like Ad Inserter and have a moment, please help me spread the word by "
|
3956 |
"reviewing the plugin on WordPres"
|
@@ -3958,12 +4037,12 @@ msgstr ""
|
|
3958 |
"Če vam je Ad Inserter všeč in imate trenutek časa, mi prosim pomagajte "
|
3959 |
"razširiti novico z oceno vtičnika na WordPress-u"
|
3960 |
|
3961 |
-
#: settings.php:
|
3962 |
msgctxt "Review ad Inserter"
|
3963 |
msgid "Review"
|
3964 |
msgstr "Oceni"
|
3965 |
|
3966 |
-
#: settings.php:
|
3967 |
msgid ""
|
3968 |
"Support free Ad Inserter development. If you are making money with Ad "
|
3969 |
"Inserter consider donating some small amount. Even 1 dollar counts. Thank "
|
@@ -3972,16 +4051,16 @@ msgstr ""
|
|
3972 |
"Podprite razvoj brezplačnega Ad Inserter-ja. Če služite denar z Ad Inserter-"
|
3973 |
"jem razmislite o donaciji manjšega zneska. Tudi 1 evro šteje. Hvala!"
|
3974 |
|
3975 |
-
#: settings.php:
|
3976 |
msgid "Donate"
|
3977 |
msgstr "Donirajte"
|
3978 |
|
3979 |
-
#: settings.php:
|
3980 |
msgid "Average rating of the plugin - Thank you!"
|
3981 |
msgstr "Povprečna ocena vtičnika - Hvala!"
|
3982 |
|
3983 |
#. translators: %s: Ad Inserter, HTML tags
|
3984 |
-
#: settings.php:
|
3985 |
msgid ""
|
3986 |
"You've been using %s for a while now, and I hope you're happy with it. "
|
3987 |
"Positive %s reviews %s are a great way to show your appreciation for my "
|
@@ -3995,24 +4074,24 @@ msgstr ""
|
|
3995 |
"vzpodbuda za odpravo hroščev in dodajanje novih funkcij za boljšo "
|
3996 |
"monetizacijo vašega spletnega mesta. %s Hvala!"
|
3997 |
|
3998 |
-
#: settings.php:
|
3999 |
msgid "Review"
|
4000 |
msgstr "Ocena"
|
4001 |
|
4002 |
-
#: settings.php:
|
4003 |
msgid "Ad Inserter on Twitter"
|
4004 |
msgstr "Ad Inserter na Twitter-ju"
|
4005 |
|
4006 |
-
#: settings.php:
|
4007 |
msgid "Ad Inserter on Facebook"
|
4008 |
msgstr "Ad Inserter na Facebook-u"
|
4009 |
|
4010 |
-
#: settings.php:
|
4011 |
msgid "Follow Ad Inserter"
|
4012 |
msgstr "Sledi Ad Inserter-ju"
|
4013 |
|
4014 |
#. translators: %s: HTML tags
|
4015 |
-
#: settings.php:
|
4016 |
msgid ""
|
4017 |
"Need help with %s settings? %s Check %s Quick Start, %s %s Code Editing %s "
|
4018 |
"and %s Common Settings %s pages"
|
@@ -4021,7 +4100,7 @@ msgstr ""
|
|
4021 |
"Urejanje Kode, %s %s Pogoste Nastavitve %s"
|
4022 |
|
4023 |
#. translators: %s: HTML tags
|
4024 |
-
#: settings.php:
|
4025 |
msgid ""
|
4026 |
"%s New to %s AdSense? %s %s %s Connect your site %s - Advanced %s AdSense "
|
4027 |
"code: %s %s In-feed ads, %s %s Auto ads, %s %s AMP ads %s"
|
@@ -4031,7 +4110,7 @@ msgstr ""
|
|
4031 |
"%s"
|
4032 |
|
4033 |
#. translators: %s: HTML tags
|
4034 |
-
#: settings.php:
|
4035 |
msgid ""
|
4036 |
"Ads are not showing? Check %s troubleshooting guide %s to find out how to "
|
4037 |
"diagnose and fix the problem."
|
@@ -4040,7 +4119,7 @@ msgstr ""
|
|
4040 |
"navodili za diagnozo in rešitvami za težave."
|
4041 |
|
4042 |
#. translators: %s: HTML tags
|
4043 |
-
#: settings.php:
|
4044 |
msgid ""
|
4045 |
"If you need any kind of help or support, please do not hesitate to open a "
|
4046 |
"thread on the %s support forum. %s"
|
@@ -4048,44 +4127,44 @@ msgstr ""
|
|
4048 |
"Če potrebujete kakršno koli pomoč ali podporo ne oklevajte in odprite novo "
|
4049 |
"nit na %s podpornem forumu. %s"
|
4050 |
|
4051 |
-
#: settings.php:
|
4052 |
msgid "A/B testing - Track ad impressions and clicks"
|
4053 |
msgstr "A/B testiranje - Sledi prikazom in klikom"
|
4054 |
|
4055 |
-
#: settings.php:
|
4056 |
msgid "Code preview with visual CSS editor"
|
4057 |
msgstr "Predogled kode z vizualnim CSS urejevalnikom"
|
4058 |
|
4059 |
-
#: settings.php:
|
4060 |
msgid "Looking for Pro Ad Management plugin?"
|
4061 |
msgstr "Iščete Pro vtičnik za Upravljanje z Oglasi?"
|
4062 |
|
4063 |
-
#: settings.php:
|
4064 |
msgid "To Optimally Monetize your WordPress website?"
|
4065 |
msgstr "Za optimalno monetizacijo vašega WordPress spletnega mesta?"
|
4066 |
|
4067 |
#. translators: %s HTML tags
|
4068 |
-
#: settings.php:
|
4069 |
msgid "%s AdSense Integration %s"
|
4070 |
msgstr "%s Integracija AdSense %s"
|
4071 |
|
4072 |
#. translators: %s HTML tags
|
4073 |
-
#: settings.php:
|
4074 |
msgid "Syntax highlighting %s editor %s"
|
4075 |
msgstr "%s Urejevalnik %s s poudarjanjem sintakse"
|
4076 |
|
4077 |
#. translators: %s HTML tags
|
4078 |
-
#: settings.php:
|
4079 |
msgid "%s Code preview %s with visual CSS editor"
|
4080 |
msgstr "%s Predogled kode %s z vizualnim CSS urejevalnikom"
|
4081 |
|
4082 |
#. translators: %s HTML tags
|
4083 |
-
#: settings.php:
|
4084 |
msgid "Simple user interface - all settings on a single page"
|
4085 |
msgstr "Preprost uporabniški vmesnik - vse nastavitve na eni strani"
|
4086 |
|
4087 |
#. translators: %s HTML tags
|
4088 |
-
#: settings.php:
|
4089 |
msgid ""
|
4090 |
"%s Automatic insertion %s before or after post / content / %s paragraph %s / "
|
4091 |
"image / excerpt"
|
@@ -4094,27 +4173,27 @@ msgstr ""
|
|
4094 |
"%s / sliko / izvlečkom"
|
4095 |
|
4096 |
#. translators: %s HTML tags
|
4097 |
-
#: settings.php:
|
4098 |
msgid "%s Automatic insertion %s between posts on blog pages"
|
4099 |
msgstr "%s Samodejno vstavljanje %s med prispevki na straneh bloga"
|
4100 |
|
4101 |
#. translators: %s HTML tags
|
4102 |
-
#: settings.php:
|
4103 |
msgid "%s Automatic insertion %s before, between and after comments"
|
4104 |
msgstr "%s Samodejno vstavljanje %s pred, med in po kometarjih"
|
4105 |
|
4106 |
#. translators: %s HTML tags
|
4107 |
-
#: settings.php:
|
4108 |
msgid "%s Automatic insertion %s after %s or before %s tag"
|
4109 |
msgstr "%s Samodejno vstavljanje %s za %s ali pred %s začko"
|
4110 |
|
4111 |
#. translators: %s HTML tags
|
4112 |
-
#: settings.php:
|
4113 |
msgid "Automatic insertion at %s custom hook positions %s"
|
4114 |
msgstr "Samodejno vstavljanje na %s položajih ročic po meri %s"
|
4115 |
|
4116 |
#. translators: %s HTML tags
|
4117 |
-
#: settings.php:
|
4118 |
msgid ""
|
4119 |
"Insertion %s before or after any HTML element on the page %s (using CSS "
|
4120 |
"selectors)"
|
@@ -4123,17 +4202,17 @@ msgstr ""
|
|
4123 |
"selektorjev)"
|
4124 |
|
4125 |
#. translators: %s HTML tags
|
4126 |
-
#: settings.php:
|
4127 |
msgid "%s Insertion exceptions %s for individual posts and pages"
|
4128 |
msgstr "%s Izjeme vstavljanja %s za individualne prispevke in strani"
|
4129 |
|
4130 |
#. translators: %s HTML tags
|
4131 |
-
#: settings.php:
|
4132 |
msgid "%s Manual insertion: %s widgets, shortcodes, PHP function call"
|
4133 |
msgstr "%s Ročno vstavljanje: %s gradniki, kratke kode in klic PHP funkcije"
|
4134 |
|
4135 |
#. translators: %s HTML tags
|
4136 |
-
#: settings.php:
|
4137 |
msgid ""
|
4138 |
"%s Sticky ads %s with optional close button (ads stay fixed when the page "
|
4139 |
"scrolls)"
|
@@ -4142,19 +4221,19 @@ msgstr ""
|
|
4142 |
"se stran pomika)"
|
4143 |
|
4144 |
#. translators: %s HTML tags
|
4145 |
-
#: settings.php:
|
4146 |
msgid "%s Sticky sidebar ads %s (stick to the screen or to the content)"
|
4147 |
msgstr ""
|
4148 |
"%s Lepljivi oglasi v stranski vrstici %s (lepljivi na zaslon ali vsebino)"
|
4149 |
|
4150 |
#. translators: %s HTML tags
|
4151 |
-
#: settings.php:
|
4152 |
msgid "%s Sticky ad animations %s (fade, slide, turn, flip, zoom)"
|
4153 |
msgstr ""
|
4154 |
"%s Animacije lepljivih oglasov %s (uveni, drsaj, obrni, prekucni, približaj)"
|
4155 |
|
4156 |
#. translators: %s HTML tags
|
4157 |
-
#: settings.php:
|
4158 |
msgid ""
|
4159 |
"%s Sticky ad trigger %s (page scroll in %% or px, HTML element becomes "
|
4160 |
"visible)"
|
@@ -4163,7 +4242,7 @@ msgstr ""
|
|
4163 |
"postane viden)"
|
4164 |
|
4165 |
#. translators: %s HTML tags
|
4166 |
-
#: settings.php:
|
4167 |
msgid ""
|
4168 |
"%s Sticky (fixed) widgets %s (sidebar does not move when the page scrolls)"
|
4169 |
msgstr ""
|
@@ -4171,12 +4250,12 @@ msgstr ""
|
|
4171 |
"strani)"
|
4172 |
|
4173 |
#. translators: %s HTML tags
|
4174 |
-
#: settings.php:
|
4175 |
msgid "Block %s alignment and style %s customizations"
|
4176 |
msgstr "%s Poravnave in slogi %s bloka po meri"
|
4177 |
|
4178 |
#. translators: %s HTML tags
|
4179 |
-
#: settings.php:
|
4180 |
msgid ""
|
4181 |
"%s Clearance %s options to avoid insertion near images or headers (AdSense "
|
4182 |
"TOS)"
|
@@ -4184,7 +4263,7 @@ msgstr ""
|
|
4184 |
"%s Izogibanje %s vstavljanja oglasov zraven slik ali naslovov (AdSense TOS)"
|
4185 |
|
4186 |
#. translators: %s HTML tags
|
4187 |
-
#: settings.php:
|
4188 |
msgid ""
|
4189 |
"Options to %s disable insertion %s on Ajax calls, 404 error pages or in RSS "
|
4190 |
"feeds"
|
@@ -4193,12 +4272,12 @@ msgstr ""
|
|
4193 |
"virih"
|
4194 |
|
4195 |
#. translators: %s HTML tags
|
4196 |
-
#: settings.php:
|
4197 |
msgid "%s Ad rotation %s (works also with caching)"
|
4198 |
msgstr "%s Rotacija oglasov %s (deluje tudi s predpomnjenjem)"
|
4199 |
|
4200 |
#. translators: %s HTML tags
|
4201 |
-
#: settings.php:
|
4202 |
msgid ""
|
4203 |
"Ad impression and click %s tracking %s (works also with Javascript ads like "
|
4204 |
"AdSense)"
|
@@ -4207,66 +4286,66 @@ msgstr ""
|
|
4207 |
"AdSense)"
|
4208 |
|
4209 |
#. translators: %s HTML tags
|
4210 |
-
#: settings.php:
|
4211 |
msgid "Support for %s A/B testing %s"
|
4212 |
msgstr "Podpora za %s A/B testiranje %s"
|
4213 |
|
4214 |
#. translators: %s HTML tags
|
4215 |
-
#: settings.php:
|
4216 |
msgid "Support for %s lazy loading %s"
|
4217 |
msgstr "Podpora za %s leno nalaganje %s"
|
4218 |
|
4219 |
#. translators: %s HTML tags
|
4220 |
-
#: settings.php:
|
4221 |
msgid "Support for ads on %s AMP pages %s"
|
4222 |
msgstr "Podpora za oglase na %s AMP straneh %s"
|
4223 |
|
4224 |
#. translators: %s HTML tags
|
4225 |
-
#: settings.php:
|
4226 |
msgid "Support for contextual %s Amazon Native Shopping Ads %s (responsive)"
|
4227 |
msgstr "Podpora za kontekstualne %s Amazon Native Shopping Ads %s (odzivni)"
|
4228 |
|
4229 |
#. translators: %s HTML tags
|
4230 |
-
#: settings.php:
|
4231 |
msgid "Custom CSS class name for wrapping divs to avoid ad blockers"
|
4232 |
msgstr ""
|
4233 |
"Ime CSS razreda za div za ovijanje po meri za izogibanje blokiranju oglasov"
|
4234 |
|
4235 |
#. translators: %s HTML tags
|
4236 |
-
#: settings.php:
|
4237 |
msgid "PHP code processing"
|
4238 |
msgstr "Procesiranje PHP kode"
|
4239 |
|
4240 |
#. translators: %s HTML tags
|
4241 |
-
#: settings.php:
|
4242 |
msgid "%s Banner %s code generator"
|
4243 |
msgstr "Generator kode za %s pasice %s"
|
4244 |
|
4245 |
#. translators: %s HTML tags
|
4246 |
-
#: settings.php:
|
4247 |
msgid "Support for %s header and footer %s code"
|
4248 |
msgstr "Podpora za kodo v %s glavi in nogi %s"
|
4249 |
|
4250 |
#. translators: %s HTML tags
|
4251 |
-
#: settings.php:
|
4252 |
msgid "Support for Google Analytics, Matomo or any other web analytics code"
|
4253 |
msgstr ""
|
4254 |
"Podpora za Google Analytics, Matomo ali katerokoli drugo spletno analitiko"
|
4255 |
|
4256 |
#. translators: %s HTML tags
|
4257 |
-
#: settings.php:
|
4258 |
msgid "Desktop, tablet and phone server-side %s device detection %s"
|
4259 |
msgstr ""
|
4260 |
"%s Zaznava namizne, tablične in telefonske naprave %s na strani strani "
|
4261 |
"strežnika"
|
4262 |
|
4263 |
#. translators: %s HTML tags
|
4264 |
-
#: settings.php:
|
4265 |
msgid "Client-side %s mobile device detection %s (works with caching)"
|
4266 |
msgstr "%s Zaznava mobilne naprave %s (deluje s predpomnjenjem)"
|
4267 |
|
4268 |
#. translators: %s HTML tags
|
4269 |
-
#: settings.php:
|
4270 |
msgid ""
|
4271 |
"%s Ad blocking detection %s - popup message, ad replacement, content "
|
4272 |
"protection"
|
@@ -4275,12 +4354,12 @@ msgstr ""
|
|
4275 |
"vsebine"
|
4276 |
|
4277 |
#. translators: %s HTML tags
|
4278 |
-
#: settings.php:
|
4279 |
msgid "%s Ad blocking statistics %s"
|
4280 |
msgstr "%s Statistika blokiranja oglasov %s"
|
4281 |
|
4282 |
#. translators: %s HTML tags
|
4283 |
-
#: settings.php:
|
4284 |
msgid ""
|
4285 |
"%s Black/White-list %s categories, tags, taxonomies, users, post IDs, urls, "
|
4286 |
"referers"
|
@@ -4288,75 +4367,75 @@ msgstr ""
|
|
4288 |
"%s Črni/Beli seznam %s kategorij, oznak, taksonomij, uporabnikov, url-jev"
|
4289 |
|
4290 |
#. translators: %s HTML tags
|
4291 |
-
#: settings.php:
|
4292 |
msgid ""
|
4293 |
"%s Black/White-list %s IP addresses or countries (works also with caching)"
|
4294 |
msgstr ""
|
4295 |
"%s Črni/Beli seznam %s IP naslovov ali držav (deluje tudi s predpomnjenjem)"
|
4296 |
|
4297 |
#. translators: %s HTML tags
|
4298 |
-
#: settings.php:
|
4299 |
msgid "%s Multisite options %s to limit settings on the sites"
|
4300 |
msgstr "%s Multisite možnosti %s za omejitev nastavitev na spletiščih"
|
4301 |
|
4302 |
#. translators: %s HTML tags
|
4303 |
-
#: settings.php:
|
4304 |
msgid "%s Import/Export %s block or plugin settings"
|
4305 |
msgstr "%s Uvoz/Izvoz %s nastavitve bloka ali vtičnika"
|
4306 |
|
4307 |
#. translators: %s HTML tags
|
4308 |
-
#: settings.php:
|
4309 |
msgid "%s Insertion scheduling %s with fallback option"
|
4310 |
msgstr "%s Urnik vstavljanja %s z možnostjo rezerve"
|
4311 |
|
4312 |
#. translators: %s HTML tags
|
4313 |
-
#: settings.php:
|
4314 |
msgid "Country-level %s GEO targeting %s (works also with caching)"
|
4315 |
msgstr "%s GEO ciljanje na ravni države %s (deluje tudi s predpomnjenjem)"
|
4316 |
|
4317 |
#. translators: %s HTML tags
|
4318 |
-
#: settings.php:
|
4319 |
msgid "Simple troubleshooting with many %s debugging functions %s"
|
4320 |
msgstr ""
|
4321 |
"Preprosto odpravljanje napak z veliko %s funkcijami za razhroščevanje %s"
|
4322 |
|
4323 |
#. translators: %s HTML tags
|
4324 |
-
#: settings.php:
|
4325 |
msgid "%s Visualization %s of inserted blocks or ads for easier placement"
|
4326 |
msgstr ""
|
4327 |
"%s Vizualizacija %s vstavljenih blokov ali oglasov za enostavno umeščanje"
|
4328 |
|
4329 |
#. translators: %s HTML tags
|
4330 |
-
#: settings.php:
|
4331 |
msgid "%s Visualization %s of available positions for automatic ad insertion"
|
4332 |
msgstr ""
|
4333 |
"%s Vizualizacija %s razpoložljivih položajev za samodejno vstavljanje oglasov"
|
4334 |
|
4335 |
#. translators: %s HTML tags
|
4336 |
-
#: settings.php:
|
4337 |
msgid ""
|
4338 |
"%s Visualization %s of HTML tags for easier ad placement between paragraphs"
|
4339 |
msgstr ""
|
4340 |
"%s Vizualizacija %s HTML značk za enostavno vstavljanje oglasov med odstavki"
|
4341 |
|
4342 |
#. translators: %s HTML tags
|
4343 |
-
#: settings.php:
|
4344 |
msgid "%s Clipboard support %s to easily copy blocks or settings"
|
4345 |
msgstr ""
|
4346 |
"%s Podpora za odložišče %s za enostavno kopiranje blokov ali nastavitev"
|
4347 |
|
4348 |
#. translators: %s HTML tags
|
4349 |
-
#: settings.php:
|
4350 |
msgid "No ads on the settings page"
|
4351 |
msgstr "Stran z nastavitvami brez oglasov"
|
4352 |
|
4353 |
#. translators: %s HTML tags
|
4354 |
-
#: settings.php:
|
4355 |
msgid "Premium support via email"
|
4356 |
msgstr "Vrhunska podpora prek elektronske pošte"
|
4357 |
|
4358 |
#. translators: %s HTML tags
|
4359 |
-
#: settings.php:
|
4360 |
msgid ""
|
4361 |
"Ad Inserter Pro is a complete all-in-one ad management plugin for WordPress "
|
4362 |
"website with many advertising features to automatically insert adverts on "
|
@@ -4383,82 +4462,82 @@ msgstr ""
|
|
4383 |
"bodo ohranile)."
|
4384 |
|
4385 |
#. translators: %s HTML tags
|
4386 |
-
#: settings.php:
|
4387 |
msgid "Looking for %s Pro Ad Management plugin? %s"
|
4388 |
msgstr "Iščete Pro vtičnik za %s Upravljanje z Oglasi? %s"
|
4389 |
|
4390 |
#. translators: %s HTML tags
|
4391 |
-
#: settings.php:
|
4392 |
msgid "Ads between posts"
|
4393 |
msgstr "Oglasi med prispevki"
|
4394 |
|
4395 |
#. translators: %s HTML tags
|
4396 |
-
#: settings.php:
|
4397 |
msgid "Ads between comments"
|
4398 |
msgstr "Oglasi med komentarji"
|
4399 |
|
4400 |
#. translators: %s HTML tags
|
4401 |
-
#: settings.php:
|
4402 |
msgid "Support via email"
|
4403 |
msgstr "Podpora prek elektronske pošte"
|
4404 |
|
4405 |
#. translators: %s HTML tags
|
4406 |
-
#: settings.php:
|
4407 |
msgid "%s Sticky positions %s"
|
4408 |
msgstr "%s Lepljivi položaji %s"
|
4409 |
|
4410 |
#. translators: %s HTML tags
|
4411 |
-
#: settings.php:
|
4412 |
msgid "%s Limit insertions %s"
|
4413 |
msgstr "%s Omeji vstavljanja %s"
|
4414 |
|
4415 |
#. translators: %s HTML tags
|
4416 |
-
#: settings.php:
|
4417 |
msgid "%s Clearance %s options"
|
4418 |
msgstr "Možnosti %s izogibanja %s"
|
4419 |
|
4420 |
#. translators: %s HTML tags
|
4421 |
-
#: settings.php:
|
4422 |
msgid "Ad rotation"
|
4423 |
msgstr "Vrtenje oglasov"
|
4424 |
|
4425 |
#. translators: %s HTML tags
|
4426 |
-
#: settings.php:
|
4427 |
msgid "%s A/B testing %s"
|
4428 |
msgstr "%s A/B testiranje %s"
|
4429 |
|
4430 |
#. translators: %s HTML tags
|
4431 |
-
#: settings.php:
|
4432 |
msgid "%s Ad tracking %s"
|
4433 |
msgstr "%s Sledenje oglasom %s"
|
4434 |
|
4435 |
#. translators: %s HTML tags
|
4436 |
-
#: settings.php:
|
4437 |
msgid "Support for %s AMP pages %s"
|
4438 |
msgstr "Podpora za %s AMP strani %s"
|
4439 |
|
4440 |
#. translators: %s HTML tags
|
4441 |
-
#: settings.php:
|
4442 |
msgid "%s Ad blocking detection %s"
|
4443 |
msgstr "%s Zaznavanje blokiranja oglasov %s"
|
4444 |
|
4445 |
#. translators: %s HTML tags
|
4446 |
-
#: settings.php:
|
4447 |
msgid "%s Mobile device detection %s"
|
4448 |
msgstr "%s Zaznavanje mobilne naprave %s"
|
4449 |
|
4450 |
#. translators: %s HTML tags
|
4451 |
-
#: settings.php:
|
4452 |
msgid "64 code blocks"
|
4453 |
msgstr "64 kodnih blokov"
|
4454 |
|
4455 |
#. translators: %s HTML tags
|
4456 |
-
#: settings.php:
|
4457 |
msgid "%s GEO targeting %s"
|
4458 |
msgstr "%s GEO ciljanje %s"
|
4459 |
|
4460 |
#. translators: %s HTML tags
|
4461 |
-
#: settings.php:
|
4462 |
msgid "%s Scheduling %s"
|
4463 |
msgstr "%s Urnik %s"
|
4464 |
|
@@ -5112,10 +5191,6 @@ msgstr[1] "dni"
|
|
5112 |
msgstr[2] "dni"
|
5113 |
msgstr[3] "dni"
|
5114 |
|
5115 |
-
#: strings.php:197
|
5116 |
-
msgid "Warning"
|
5117 |
-
msgstr "Opozorilo"
|
5118 |
-
|
5119 |
#: strings.php:198
|
5120 |
msgid "Delete"
|
5121 |
msgstr "Pobriši"
|
4 |
msgstr ""
|
5 |
"Project-Id-Version: Ad Inserter 2.4.2\n"
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/ad-inserter\n"
|
7 |
+
"POT-Creation-Date: 2019-03-19 21:11:59+00:00\n"
|
8 |
+
"PO-Revision-Date: 2019-03-19 22:12+0100\n"
|
9 |
"Last-Translator: Igor Funa\n"
|
10 |
"Language-Team: \n"
|
11 |
"Language: sl_SI\n"
|
16 |
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100>=3 && n"
|
17 |
"%100<=4 ? 2 : 3);\n"
|
18 |
|
19 |
+
#: ad-inserter.php:324
|
20 |
msgctxt "Menu item"
|
21 |
msgid "Debugging DEMO"
|
22 |
msgstr "DEMO Razhroščevanje"
|
23 |
|
24 |
+
#: ad-inserter.php:340
|
25 |
msgctxt "Menu item"
|
26 |
msgid "Label Blocks"
|
27 |
msgstr "Označi bloke"
|
28 |
|
29 |
+
#: ad-inserter.php:347
|
30 |
msgctxt "Menu item"
|
31 |
msgid "Show Positions"
|
32 |
msgstr "Pokaži položaje"
|
33 |
|
34 |
+
#: ad-inserter.php:418
|
35 |
msgctxt "Menu item"
|
36 |
msgid "Show HTML Tags"
|
37 |
msgstr "Pokaži HTML značke"
|
38 |
|
39 |
+
#: ad-inserter.php:425
|
40 |
msgctxt "Menu item"
|
41 |
msgid "Disable Insertion"
|
42 |
msgstr "Onemogoči vstavljanje"
|
43 |
|
44 |
+
#: ad-inserter.php:434
|
45 |
msgctxt "Menu item"
|
46 |
msgid "Ad Blocking Status"
|
47 |
msgstr "Status blokiranja oglasov"
|
48 |
|
49 |
+
#: ad-inserter.php:441
|
50 |
msgctxt "Menu item"
|
51 |
msgid "Simulate Ad Blocking"
|
52 |
msgstr "Simuliraj blokiranje oglasov"
|
53 |
|
54 |
+
#: ad-inserter.php:451
|
55 |
msgctxt "Menu item"
|
56 |
msgid "Log Processing"
|
57 |
msgstr "Beleži procesiranje"
|
58 |
|
59 |
#. translators: Debugging position name Before HTML element
|
60 |
+
#: ad-inserter.php:1030
|
61 |
msgid "Before"
|
62 |
msgstr "Pred"
|
63 |
|
64 |
#. translators: Debugging position name After HTML element
|
65 |
+
#: ad-inserter.php:1035
|
66 |
msgid "After"
|
67 |
msgstr "Za"
|
68 |
|
69 |
#. translators: Debugging position name Prepend content of HTML element (before
|
70 |
#. the content of the HTML element)
|
71 |
+
#: ad-inserter.php:1040 strings.php:98
|
72 |
msgid "Prepend content"
|
73 |
msgstr "Dodaj pred vsebino"
|
74 |
|
75 |
#. translators: Debugging position name Append content of HTML element (after
|
76 |
#. the content of the HTML element)
|
77 |
+
#: ad-inserter.php:1045 strings.php:99
|
78 |
msgid "Append content"
|
79 |
msgstr "Dodaj za vsebino"
|
80 |
|
81 |
#. translators: Debugging position name Replace content of HTML element
|
82 |
+
#: ad-inserter.php:1050 strings.php:100
|
83 |
msgid "Replace content"
|
84 |
msgstr "Nadomesti vsebino"
|
85 |
|
86 |
#. translators: Debugging position name Replace HTML element
|
87 |
+
#: ad-inserter.php:1055 strings.php:150
|
88 |
msgid "Replace"
|
89 |
msgstr "Nadomesti"
|
90 |
|
91 |
#. translators: Debugging message when output buffering is enabled
|
92 |
+
#: ad-inserter.php:1102
|
93 |
msgid "OUTPUT BUFFERING"
|
94 |
msgstr "PREDPOMNJENJE IZHODA"
|
95 |
|
96 |
#. translators: Debugging position
|
97 |
+
#: ad-inserter.php:1106
|
98 |
msgid "Above Header"
|
99 |
msgstr "Nad Glavo"
|
100 |
|
101 |
+
#: ad-inserter.php:1315
|
102 |
msgctxt "Menu item"
|
103 |
msgid "Log In"
|
104 |
msgstr "Prijava"
|
105 |
|
106 |
#. translators: %s: Ad Inserter
|
107 |
+
#: ad-inserter.php:1590 ad-inserter.php:2453
|
108 |
msgid "%s Settings"
|
109 |
msgstr "%s Nastavitve"
|
110 |
|
111 |
#. translators: AD BLOCKING DETECTED, PAGE VIEWS: n - NO ACTION
|
112 |
+
#: ad-inserter.php:2024
|
113 |
msgid "AD BLOCKING DETECTED, PAGE VIEWS"
|
114 |
msgstr "ZAZNANO BLOKIRANJE OGLASOV, OGLEDI STRANI"
|
115 |
|
116 |
+
#: ad-inserter.php:2024
|
117 |
msgid "NO ACTION"
|
118 |
msgstr "NI AKCIJE"
|
119 |
|
120 |
+
#: ad-inserter.php:2025
|
121 |
msgid "AD BLOCKING DETECTED, COOKIE DETECTED - NO ACTION"
|
122 |
msgstr "ZAZNANO BLOKIRANJE OGLASOV, ZAZNAN PIŠKOTEK, NI AKCIJE"
|
123 |
|
124 |
+
#: ad-inserter.php:2026
|
125 |
msgid "AD BLOCKING DETECTED - ACTION"
|
126 |
msgstr "ZAZNANO BLOKIRANJE OGLASOV - AKCIJA"
|
127 |
|
128 |
+
#: ad-inserter.php:2027
|
129 |
msgid "AD BLOCKING NOT DETECTED"
|
130 |
msgstr "BLOKIRANJE OGLASOV NI ZAZNANO"
|
131 |
|
132 |
+
#: ad-inserter.php:2028
|
133 |
msgid "AD BLOCKING DETECTION COOKIES DELETED"
|
134 |
msgstr "PIŠKOTKI ZA ZAZNAVANJE BLOKIRANJA OGLASOV POBRISANI"
|
135 |
|
136 |
+
#: ad-inserter.php:2029
|
137 |
msgid "AD BLOCKING DETECTED - NO ACTION"
|
138 |
msgstr "ZAZNANO BLOKIRANJE OGLASOV - NI AKCIJE"
|
139 |
|
140 |
#. Translators: 1: number of blocks, 2: Ad Inserter
|
141 |
+
#: ad-inserter.php:2224
|
142 |
msgid "Hey, you are now using %1$s %2$s block."
|
143 |
msgid_plural "Hey, you are now using %1$s %2$s blocks."
|
144 |
msgstr[0] "Hej, trenutno uporabljate %1$s %2$s blok."
|
146 |
msgstr[2] "Hej, trenutno uporabljate %1$s %2$s bloke."
|
147 |
msgstr[3] "Hej, trenutno uporabljate %1$s %2$s blokov."
|
148 |
|
149 |
+
#: ad-inserter.php:2225 includes/functions.php:1494
|
150 |
msgid "No, thank you."
|
151 |
msgstr "Ne, hvala."
|
152 |
|
153 |
#. Translators: %s: Ad Inserter
|
154 |
+
#: ad-inserter.php:2228
|
155 |
msgid ""
|
156 |
"Hey, you've been using %s for a while now, and I hope you're happy with it."
|
157 |
msgstr "Hej, %s uporabljate že kar nekaj časa. Upam, da ste zadovoljni z njim."
|
158 |
|
159 |
+
#: ad-inserter.php:2229 includes/functions.php:1497
|
160 |
msgid "Not now, maybe later."
|
161 |
msgstr "Ne zdaj, mogoče kasneje."
|
162 |
|
163 |
+
#: ad-inserter.php:2239
|
164 |
msgid ""
|
165 |
"I would really appreciate it if you could give the plugin a 5-star rating on "
|
166 |
"WordPres."
|
168 |
"Res bi bili vesel, če bi lahko na WordPress-u vtičnik ocenili s 5-imi "
|
169 |
"zvezicami."
|
170 |
|
171 |
+
#: ad-inserter.php:2241
|
172 |
msgid ""
|
173 |
"Positive reviews are a great incentive to fix bugs and to add new features "
|
174 |
"for better monetization of your website. Thank you, Igor"
|
177 |
"funkcij za boljšo monetizacijo vašega spletnega mesta. Hvala, Igor"
|
178 |
|
179 |
#. translators: %s: Ad Inserter
|
180 |
+
#: ad-inserter.php:2247
|
181 |
msgid "Rate %s"
|
182 |
msgstr "Ocenite %s"
|
183 |
|
184 |
+
#: ad-inserter.php:2252
|
185 |
msgid "I already did."
|
186 |
msgstr "Sem že."
|
187 |
|
188 |
+
#: ad-inserter.php:2266
|
189 |
msgctxt "Menu item"
|
190 |
msgid "Settings"
|
191 |
msgstr "Nastavitve"
|
192 |
|
193 |
#. translators: %s: Ad Inserter
|
194 |
+
#: ad-inserter.php:2340
|
195 |
msgctxt "Meta box name"
|
196 |
msgid "%s Individual Exceptions"
|
197 |
msgstr "Posamezne Izjeme za %s"
|
198 |
|
199 |
+
#: ad-inserter.php:2369 ad-inserter.php:8000 class.php:1967
|
200 |
#: includes/preview.php:1966 includes/preview.php:2010
|
201 |
+
#: includes/preview.php:2047 settings.php:3639 strings.php:3
|
202 |
msgid "Block"
|
203 |
msgstr "Blok"
|
204 |
|
205 |
+
#: ad-inserter.php:2370 settings.php:3640 settings.php:3714
|
206 |
msgid "Name"
|
207 |
msgstr "Ime"
|
208 |
|
209 |
+
#: ad-inserter.php:2371 settings.php:3642
|
210 |
msgid "Automatic insertion"
|
211 |
msgstr "Samodejno vstavljanje"
|
212 |
|
213 |
+
#: ad-inserter.php:2374
|
214 |
msgid "Default insertion for pages"
|
215 |
msgstr "Privzeto vstavljanje za strani"
|
216 |
|
217 |
+
#: ad-inserter.php:2375
|
218 |
msgid "Default insertion for posts"
|
219 |
msgstr "Privzeto vstavljanje za prispevke"
|
220 |
|
221 |
#. translators: For this post or page
|
222 |
+
#: ad-inserter.php:2378
|
223 |
msgctxt "Page"
|
224 |
msgid "For this"
|
225 |
msgstr "Za to"
|
226 |
|
227 |
+
#: ad-inserter.php:2379
|
228 |
msgctxt "Post"
|
229 |
msgid "For this"
|
230 |
msgstr "Za ta"
|
231 |
|
232 |
+
#: ad-inserter.php:2387
|
233 |
msgctxt "Enabled/disabled on all"
|
234 |
msgid "pages"
|
235 |
msgstr "straneh"
|
236 |
|
237 |
+
#: ad-inserter.php:2388
|
238 |
msgctxt "Default insertion for"
|
239 |
msgid "pages"
|
240 |
msgstr "strani"
|
241 |
|
242 |
+
#: ad-inserter.php:2392
|
243 |
msgctxt "Enabled/disabled on all"
|
244 |
msgid "posts"
|
245 |
msgstr "prispevkih"
|
246 |
|
247 |
+
#: ad-inserter.php:2393
|
248 |
msgctxt "Default insertion for"
|
249 |
msgid "posts"
|
250 |
msgstr "prispevke"
|
251 |
|
252 |
+
#: ad-inserter.php:2412 ad-inserter.php:2425 strings.php:156
|
253 |
msgid "Enabled"
|
254 |
msgstr "Omogočeno"
|
255 |
|
256 |
#. translators: Menu items
|
257 |
+
#: ad-inserter.php:2412 ad-inserter.php:2425 includes/functions.php:2122
|
258 |
#: strings.php:16
|
259 |
msgid "Disabled"
|
260 |
msgstr "Onemogočeno"
|
261 |
|
262 |
#. translators: Enabled on all pages or posts
|
263 |
+
#: ad-inserter.php:2415
|
264 |
msgid "Enabled on all"
|
265 |
msgstr "Omogočeno na vseh"
|
266 |
|
267 |
#. translators: Disabled on all pages or posts
|
268 |
+
#: ad-inserter.php:2417
|
269 |
msgid "Disabled on all"
|
270 |
msgstr "Onemogočeno na vseh"
|
271 |
|
272 |
#. translators: No individual exceptions enabled for pages or posts
|
273 |
+
#: ad-inserter.php:2445
|
274 |
msgid "No individual exceptions enabled for"
|
275 |
msgstr "Ni omogočenih posameznih izjem za"
|
276 |
|
277 |
#. translators: 1: pages or posts, 2: Ad Inserter Settings (page)
|
278 |
+
#: ad-inserter.php:2450
|
279 |
msgid ""
|
280 |
"Default insertion for %1$s can be configured for each block on %2$s page - "
|
281 |
"selection next to <strong>Posts</strong> / <strong>Static pages</strong> "
|
285 |
"izbira poleg kljukice za vklop <strong>Prispevki</strong> / <strong>Statične "
|
286 |
"strani</strong>.<br />"
|
287 |
|
288 |
+
#: ad-inserter.php:2455
|
289 |
msgid ""
|
290 |
"Default value is <strong>blank</strong> and means no individual exceptions "
|
291 |
"(even if previously defined here).<br />"
|
293 |
"Privzeta vrednost je <strong>prazno</strong> in pomeni brez posameznih izjem "
|
294 |
"(tudi, če so bile predhodno nsatavljene tukaj).<br />"
|
295 |
|
296 |
+
#: ad-inserter.php:2458
|
297 |
msgctxt "Pages"
|
298 |
msgid ""
|
299 |
"Set to <strong>Individually disabled</strong> or <strong>Individually "
|
302 |
"Nastavite na <strong>Posamezno onemogočene</strong> ali <strong>Posamezno "
|
303 |
"omogočene</strong> za vklop nastavitev posameznih izjem na tej strani.<br />"
|
304 |
|
305 |
+
#: ad-inserter.php:2459
|
306 |
msgctxt "Posts"
|
307 |
msgid ""
|
308 |
"Set to <strong>Individually disabled</strong> or <strong>Individually "
|
311 |
"Nastavite na <strong>Posamezno onemogočeni</strong> ali <strong>Posamezno "
|
312 |
"omogočeni</strong> za vklop nastavitev posameznih izjem na tej strani.<br />"
|
313 |
|
314 |
+
#: ad-inserter.php:2461
|
315 |
msgid "For more information check page %s"
|
316 |
msgstr "Za več informacij poglejte stran %s"
|
317 |
|
318 |
#. translators: Ad Inserter Exceptions documentation page
|
319 |
+
#: ad-inserter.php:2463
|
320 |
msgid "Individual Exceptions"
|
321 |
msgstr "Posamezne Izjeme"
|
322 |
|
323 |
+
#: ad-inserter.php:2508
|
324 |
msgid "STATIC PAGE"
|
325 |
msgstr "STATIČNA STRAN"
|
326 |
|
327 |
+
#: ad-inserter.php:2511
|
328 |
msgid "POST"
|
329 |
msgstr "PRISPEVEK"
|
330 |
|
331 |
+
#: ad-inserter.php:2514
|
332 |
msgid "HOMEPAGE"
|
333 |
msgstr "DOMAČA STRAN"
|
334 |
|
335 |
+
#: ad-inserter.php:2517
|
336 |
msgid "CATEGORY PAGE"
|
337 |
msgstr "STRAN KATEGORIJE"
|
338 |
|
339 |
+
#: ad-inserter.php:2520
|
340 |
msgid "SEARCH PAGE"
|
341 |
msgstr "STRAN ISKANJE"
|
342 |
|
343 |
+
#: ad-inserter.php:2523
|
344 |
msgid "ARCHIVE PAGE"
|
345 |
msgstr "STRAN ARHIVA"
|
346 |
|
347 |
+
#: ad-inserter.php:2526
|
348 |
msgid "ERROR 404 PAGE"
|
349 |
msgstr "STRAN NAPAKA 404"
|
350 |
|
351 |
+
#: ad-inserter.php:2529
|
352 |
msgid "AJAX CALL"
|
353 |
msgstr "AJAX KLIC"
|
354 |
|
355 |
+
#: ad-inserter.php:2532
|
356 |
msgid "UNKNOWN PAGE TYPE"
|
357 |
msgstr "NEZNAN TIP STRANI"
|
358 |
|
359 |
+
#: ad-inserter.php:2549
|
360 |
msgid "Click to delete ad blocking detection cokies"
|
361 |
msgstr "Klikni za brisanje piškotkov za zaznavanje blokiranja oglasov"
|
362 |
|
363 |
+
#: ad-inserter.php:2550
|
364 |
msgid "AD BLOCKING STATUS UNKNOWN"
|
365 |
msgstr "NEZNAN STATUS BLOKIRANJA OGLASOV"
|
366 |
|
367 |
#. translators: %s: AdSense Auto Ads
|
368 |
+
#: ad-inserter.php:2574
|
369 |
msgid ""
|
370 |
"Code for %s detected - Code will automatically insert AdSense ads at optimal "
|
371 |
"positions"
|
373 |
"Zaznana koda za %s - Koda bo samodejno vstavila oglase AdSense na optimalne "
|
374 |
"položaje"
|
375 |
|
376 |
+
#: ad-inserter.php:2713
|
377 |
msgid "Code for insertion"
|
378 |
msgstr "Koda za vstavljanje"
|
379 |
|
380 |
+
#: ad-inserter.php:2713
|
381 |
msgid "character"
|
382 |
msgid_plural "characters"
|
383 |
msgstr[0] "znak"
|
385 |
msgstr[2] "znaki"
|
386 |
msgstr[3] "znakov"
|
387 |
|
388 |
+
#: ad-inserter.php:2756
|
389 |
msgid "Header code"
|
390 |
msgstr "Koda v glavi"
|
391 |
|
392 |
+
#: ad-inserter.php:2756
|
393 |
msgctxt "Header code"
|
394 |
msgid "DISABLED"
|
395 |
msgstr "ONEMOGOČENA"
|
396 |
|
397 |
+
#: ad-inserter.php:2756 ad-inserter.php:2978
|
398 |
msgid "character inserted"
|
399 |
msgid_plural "characters inserted"
|
400 |
msgstr[0] "znak vstavljen"
|
402 |
msgstr[2] "znaki vstavljeni"
|
403 |
msgstr[3] "znakov vstavljenih"
|
404 |
|
405 |
+
#: ad-inserter.php:2789
|
406 |
msgid "Automatically placed by AdSense Auto ads code"
|
407 |
msgstr "Samodejno postavila koda za oglase AdSense Auto ads"
|
408 |
|
409 |
+
#: ad-inserter.php:2978
|
410 |
msgid "Footer code"
|
411 |
msgstr "Koda v nogi"
|
412 |
|
413 |
+
#: ad-inserter.php:2978
|
414 |
msgctxt "Footer code"
|
415 |
msgid "DISABLED"
|
416 |
msgstr "ONEMOGOČENA"
|
417 |
|
418 |
+
#: ad-inserter.php:2984
|
419 |
msgid "JAVASCRIPT NOT WORKING"
|
420 |
msgstr "JAVASCRIPT NE DELA"
|
421 |
|
422 |
+
#: ad-inserter.php:2984
|
423 |
msgid "NO JAVASCRIPT ERRORS"
|
424 |
msgstr "BREZ JAVASCRIPT NAPAK"
|
425 |
|
426 |
+
#: ad-inserter.php:2984
|
427 |
msgid "JAVASCRIPT ERRORS"
|
428 |
msgstr "JAVASCRIPT NAPAKE"
|
429 |
|
430 |
#. translators: block name (block with default settings)
|
431 |
+
#: ad-inserter.php:5059
|
432 |
msgctxt "Block name"
|
433 |
msgid "Default"
|
434 |
msgstr "Privzeti"
|
435 |
|
436 |
#. translators: %s: Ad Inserter
|
437 |
+
#: ad-inserter.php:5624
|
438 |
msgid "Error importing %s settings."
|
439 |
msgstr "Napaka pri uvozu %s nastavitev."
|
440 |
|
441 |
+
#: ad-inserter.php:5625
|
442 |
msgid "Error importing settings for block"
|
443 |
msgid_plural "Error importing settings for blocks:"
|
444 |
msgstr[0] "Napaka pri uvozu nastavitev za blok"
|
446 |
msgstr[2] "Napaka pri uvozu nastavitev za bloke:"
|
447 |
msgstr[3] "Napaka pri uvozu nastavitev za bloke:"
|
448 |
|
449 |
+
#: ad-inserter.php:5674
|
450 |
msgid "Settings saved."
|
451 |
msgstr "Nastavitve shranjene."
|
452 |
|
453 |
+
#: ad-inserter.php:5759
|
454 |
msgid "Settings cleared."
|
455 |
msgstr "Nastavitve ponastavljene."
|
456 |
|
457 |
+
#: ad-inserter.php:6104 ad-inserter.php:6106 ad-inserter.php:6129
|
458 |
msgid "word"
|
459 |
msgid_plural "words"
|
460 |
msgstr[0] "beseda"
|
462 |
msgstr[2] "besede"
|
463 |
msgstr[3] "besed"
|
464 |
|
465 |
+
#: ad-inserter.php:6143 ad-inserter.php:6255
|
466 |
msgid "HTML TAGS REMOVED"
|
467 |
msgstr "HTML ZNAČKE ODSTRANJENE"
|
468 |
|
469 |
+
#: ad-inserter.php:6331
|
470 |
msgid "BEFORE COMMENTS"
|
471 |
msgstr "PRED KOMENTARJI"
|
472 |
|
473 |
+
#: ad-inserter.php:6439
|
474 |
msgid "AFTER COMMENTS"
|
475 |
msgstr "PO KOMETARJIH"
|
476 |
|
477 |
+
#: ad-inserter.php:6502
|
478 |
msgid "BETWEEN COMMENTS"
|
479 |
msgstr "MED KOMENTARJI"
|
480 |
|
481 |
+
#: ad-inserter.php:7647
|
482 |
msgid "requires WordPress 4.0 or newer"
|
483 |
msgstr "potrebuje WordPress 4.0 ali novejši"
|
484 |
|
485 |
+
#: ad-inserter.php:7647
|
486 |
msgid "Please update!"
|
487 |
msgstr "Prosimo, posodobite!"
|
488 |
|
489 |
#. translators: Opt-in message: Thank you for installing Ad Inserter (plugin
|
490 |
#. name with HTML tags will be added)
|
491 |
+
#: ad-inserter.php:7873
|
492 |
msgid "Thank you for installing"
|
493 |
msgstr "Hvala za namestitev vtičnika"
|
494 |
|
495 |
#. translators: Opt-in message: %s: HTML tags
|
496 |
+
#: ad-inserter.php:7875
|
497 |
msgid ""
|
498 |
"We would like to %s track its usage %s on your site. This is completely "
|
499 |
"optional and can be disabled at any time."
|
501 |
"Radi bi %s sledili njegovi uporabi %s na vašem spletnem mestu. To je povsem "
|
502 |
"izbirno in se lahko izključi kadarkoli."
|
503 |
|
504 |
+
#: ad-inserter.php:7877
|
505 |
msgid ""
|
506 |
"We don't record any sensitive data, only information regarding the WordPress "
|
507 |
"environment and plugin usage, which will help us to make improvements to the "
|
511 |
"uporabe vtičnika, kar nam bo omogočilo izdelavo izboljšav za vtičnik."
|
512 |
|
513 |
#. translators: Deactivation message: %s: HTML tags
|
514 |
+
#: ad-inserter.php:7914
|
515 |
msgid ""
|
516 |
"Looking for %s Documentation, %s %s Common Settings, %s %s Quick Start %s or "
|
517 |
"help for %s AdSense ads? %s The plugin doesn't work with your theme? %s Let "
|
522 |
"nam %s in poskušali vam bomo pomagati."
|
523 |
|
524 |
#. translators: %s: Ad Inserter
|
525 |
+
#: ad-inserter.php:7957
|
526 |
msgid "%s block."
|
527 |
msgstr "%s blok."
|
528 |
|
529 |
#. translators: widget title
|
530 |
+
#: ad-inserter.php:7973 ad-inserter.php:8009
|
531 |
msgid "Processing log"
|
532 |
msgstr "Dnevnik procesiranja"
|
533 |
|
534 |
#. translators: widget title
|
535 |
+
#: ad-inserter.php:7975 ad-inserter.php:8010
|
536 |
msgid "Dummy widget"
|
537 |
msgstr "Prazen gradnik"
|
538 |
|
539 |
#. translators: widget title
|
540 |
+
#: ad-inserter.php:7977 ad-inserter.php:8008
|
541 |
msgid "Debugging tools"
|
542 |
msgstr "Orodja za razhroščevanje"
|
543 |
|
544 |
#. translators: block status (widget title)
|
545 |
+
#: ad-inserter.php:7984
|
546 |
msgctxt "block"
|
547 |
msgid "PAUSED"
|
548 |
msgstr "USTAVLJEN"
|
549 |
|
550 |
+
#: ad-inserter.php:7985
|
551 |
msgid "WIDGET DISABLED"
|
552 |
msgstr "GRADNIK ONEMOGOČEN"
|
553 |
|
554 |
+
#: ad-inserter.php:7986
|
555 |
msgid "Unknown block"
|
556 |
msgstr "Neznan blok"
|
557 |
|
558 |
+
#: ad-inserter.php:7995 includes/functions.php:2635 settings.php:1038
|
559 |
msgid "Title"
|
560 |
msgstr "Naslov"
|
561 |
|
562 |
+
#: ad-inserter.php:8017
|
563 |
msgctxt "Widget"
|
564 |
msgid "Sticky"
|
565 |
msgstr "Lepljiv"
|
566 |
|
567 |
+
#: ad-inserter.php:8066
|
568 |
msgid ""
|
569 |
"Ad Inserter can't be used while Ad Inserter Pro is active! To activate Ad "
|
570 |
"Inserter you need to first deactivate Ad Inserter Pro."
|
573 |
"aktiven! Za aktivacijo vtičnika Ad Inserter morate najprej onemogočiti Ad "
|
574 |
"Inserter Pro."
|
575 |
|
576 |
+
#: ad-inserter.php:8067
|
577 |
msgid ""
|
578 |
"<strong>WARNING</strong>: Please note that saving settings in Ad Inserter "
|
579 |
"will clear all settings that are available only in the Pro version "
|
608 |
msgid "After post"
|
609 |
msgstr "Za prispevkom"
|
610 |
|
611 |
+
#: class.php:1957 settings.php:1624 settings.php:3646
|
612 |
msgid "Widget"
|
613 |
msgstr "Gradnik"
|
614 |
|
615 |
+
#: class.php:1962 settings.php:3644
|
616 |
msgid "PHP function call"
|
617 |
msgstr "Klic PHP funkcije"
|
618 |
|
649 |
msgid "INSERTED BUT NOT VISIBLE"
|
650 |
msgstr "VSTAVLJEN, VENDAR NI VIDEN"
|
651 |
|
652 |
+
#: class.php:2410 class.php:2469
|
653 |
msgid "ACTIVE GROUPS"
|
654 |
msgstr "AKTIVNE SKUPINE"
|
655 |
|
656 |
#. translators: %s: list parameters and type
|
657 |
+
#: class.php:2644
|
658 |
msgid "parameters='%s' type='%s'"
|
659 |
msgstr "parametri='%s' tip='%s'"
|
660 |
|
661 |
#. translators: %s: list parameters and type
|
662 |
+
#: class.php:2646
|
663 |
msgid "referers='%s' type='%s'"
|
664 |
msgstr "napotitelji='%s' tip='%s'"
|
665 |
|
666 |
#. translators: %s: list parameters and type
|
667 |
+
#: class.php:2707
|
668 |
msgid "countries='%s' type='%s'"
|
669 |
msgstr "države='%s' tip='%s'"
|
670 |
|
671 |
#. translators: %s: list parameters and type
|
672 |
+
#: class.php:2709
|
673 |
msgid "ip addresses='%s' type='%s'"
|
674 |
msgstr "ip naslovi='%s' tip='%s'"
|
675 |
|
676 |
+
#: class.php:2943 strings.php:228
|
677 |
msgid "BEFORE"
|
678 |
msgstr "PRED"
|
679 |
|
680 |
+
#: class.php:2951 strings.php:230
|
681 |
msgid "PREPEND CONTENT"
|
682 |
msgstr "DODAJ PRED VSEBINO"
|
683 |
|
684 |
+
#: class.php:2955 strings.php:231
|
685 |
msgid "APPEND CONTENT"
|
686 |
msgstr "DODAJ ZA VSEBINO"
|
687 |
|
688 |
+
#: class.php:2959 strings.php:232
|
689 |
msgid "REPLACE CONTENT"
|
690 |
msgstr "NADOMESTI VSEBINO"
|
691 |
|
692 |
+
#: class.php:2963 strings.php:233
|
693 |
msgid "REPLACE ELEMENT"
|
694 |
msgstr "NADOMESTI ELEMENT"
|
695 |
|
696 |
+
#: class.php:2974 strings.php:229
|
697 |
msgid "AFTER"
|
698 |
msgstr "ZA"
|
699 |
|
700 |
+
#: class.php:3041
|
701 |
msgctxt "JavaScript"
|
702 |
msgid "script"
|
703 |
msgstr "skripta"
|
704 |
|
705 |
+
#: class.php:3044 settings.php:1893
|
706 |
msgid "for"
|
707 |
msgstr "za"
|
708 |
|
709 |
+
#: class.php:5584 class.php:5636
|
710 |
msgctxt "category name"
|
711 |
msgid "Uncategorized"
|
712 |
msgstr "Nekategorizirano"
|
713 |
|
714 |
+
#: class.php:6127
|
715 |
msgid ""
|
716 |
"ERROR: class DOMDocument not found. Your webhost needs to install the DOM "
|
717 |
"extension for PHP."
|
821 |
"Glavni element vsebine (#id ali .razred) za položaj 'Lepljiv na vsebino'. "
|
822 |
"Pustite prazno razen v primeru, ko položaj ni pravilno izračunan."
|
823 |
|
824 |
+
#: includes/functions.php:420 settings.php:1194 settings.php:2478
|
825 |
msgid "Open HTML element selector"
|
826 |
msgstr "Odpri izbirnik HTML elementa"
|
827 |
|
845 |
msgid " - global tracking disabled"
|
846 |
msgstr " - globalno sledenje onemogočeno"
|
847 |
|
848 |
+
#: includes/functions.php:461 includes/functions.php:2464
|
849 |
msgid "Generate report"
|
850 |
msgstr "Generiraj poročilo"
|
851 |
|
853 |
msgid "Toggle Ad Blocking Statistics"
|
854 |
msgstr "Preklopi Statistiko Blokiranja Oglasov"
|
855 |
|
856 |
+
#: includes/functions.php:479 includes/functions.php:2449
|
857 |
msgid "Toggle Statistics"
|
858 |
msgstr "Preklopi Statistiko"
|
859 |
|
948 |
msgid "Tracking for this block is disabled"
|
949 |
msgstr "Sledenje za ta blok je onemogočeno"
|
950 |
|
951 |
+
#: includes/functions.php:732 settings.php:3150 settings.php:3186
|
952 |
+
#: settings.php:3229 strings.php:209
|
953 |
msgid "Loading..."
|
954 |
msgstr "Nalagam..."
|
955 |
|
1047 |
msgid "Export / Import Ad Inserter Pro Settings"
|
1048 |
msgstr "Izvozi / Uvozi Ad Inserter Pro Nastavitve"
|
1049 |
|
1050 |
+
#: includes/functions.php:833
|
1051 |
msgid "Are you sure you want to clear all statistics data for all blocks?"
|
1052 |
msgstr ""
|
1053 |
"Ali ste prepričani, da želite pobrisati vse podatke o statistiki za vse "
|
1054 |
"bloke?"
|
1055 |
|
1056 |
+
#: includes/functions.php:835
|
1057 |
msgid "Clear All Statistics Data"
|
1058 |
msgstr "Pobriši Vse Podatke o Statistiki"
|
1059 |
|
1060 |
+
#: includes/functions.php:862
|
1061 |
msgid "Toggle country/city editor"
|
1062 |
msgstr "Preklopi urejevalnik držav/mest"
|
1063 |
|
1064 |
+
#: includes/functions.php:868
|
1065 |
msgid "IP Addresses"
|
1066 |
msgstr "IP Naslovi"
|
1067 |
|
1068 |
+
#: includes/functions.php:871
|
1069 |
msgid "Toggle IP address editor"
|
1070 |
msgstr "Preklopi urejevalnik IP nslovov"
|
1071 |
|
1072 |
+
#: includes/functions.php:874
|
1073 |
msgid ""
|
1074 |
"Comma separated IP addresses, you can also use partial IP addresses with * "
|
1075 |
"(ip-address-start*. *ip-address-pattern*, *ip-address-end)"
|
1077 |
"Z vejico ločeni IP naslovi, uporabite lahko tudi delne IP naslove z * (ip-"
|
1078 |
"naslov-začetek*. *ip-naslov-vzorec*, *ip-naslov-konec)"
|
1079 |
|
1080 |
+
#: includes/functions.php:878
|
1081 |
msgid "Blacklist IP addresses"
|
1082 |
msgstr "Črni seznam IP naslovov"
|
1083 |
|
1084 |
+
#: includes/functions.php:882
|
1085 |
msgid "Whitelist IP addresses"
|
1086 |
msgstr "Beli seznam IP naslovov"
|
1087 |
|
1088 |
+
#: includes/functions.php:893
|
1089 |
msgid "Countries"
|
1090 |
msgstr "Države"
|
1091 |
|
1092 |
+
#: includes/functions.php:894
|
1093 |
msgid "Cities"
|
1094 |
msgstr "Mesta"
|
1095 |
|
1096 |
+
#: includes/functions.php:898 includes/functions.php:2414
|
1097 |
msgid "Toggle country editor"
|
1098 |
msgstr "Preklopi urejevalnik držav"
|
1099 |
|
1100 |
+
#: includes/functions.php:901
|
1101 |
msgid "Toggle city editor"
|
1102 |
msgstr "Preklopi urejevalnik mest"
|
1103 |
|
1104 |
+
#: includes/functions.php:905 includes/functions.php:2417
|
1105 |
msgid "Comma separated country ISO Alpha-2 codes"
|
1106 |
msgstr "Z vejico ločene ISO Alpha-2 kode držav"
|
1107 |
|
1108 |
+
#: includes/functions.php:909
|
1109 |
msgid "Blacklist countries"
|
1110 |
msgstr "Črni seznam držav"
|
1111 |
|
1112 |
+
#: includes/functions.php:913
|
1113 |
msgid "Whitelist countries"
|
1114 |
msgstr "Beli seznam držav"
|
1115 |
|
1116 |
+
#: includes/functions.php:1227 includes/functions.php:1450
|
1117 |
msgid "Enter license key"
|
1118 |
msgstr "Vnesite licenčni ključ"
|
1119 |
|
1120 |
#. translators: %s: Ad Inserter Pro
|
1121 |
+
#: includes/functions.php:1233
|
1122 |
msgid ""
|
1123 |
"%s license key is not set. Plugin functionality is limited and updates are "
|
1124 |
"disabled."
|
1126 |
"%s licenčni ključ ni vnešen. Funkcionalnosti vtičnika so omejene in "
|
1127 |
"posodobitve onemogočene."
|
1128 |
|
1129 |
+
#: includes/functions.php:1242 includes/functions.php:1459
|
1130 |
msgid "Check license key"
|
1131 |
msgstr "Preverite licenčni ključ"
|
1132 |
|
1133 |
#. translators: %s: Ad Inserter Pro
|
1134 |
+
#: includes/functions.php:1248
|
1135 |
msgid "Invalid %s license key."
|
1136 |
msgstr "Neveljaven %s licenčni ključ."
|
1137 |
|
1138 |
#. translators: %s: Ad Inserter Pro
|
1139 |
+
#: includes/functions.php:1257
|
1140 |
msgid "%s license expired. Plugin updates are disabled."
|
1141 |
msgstr "%s licenca je potekla. Posodobitve vtičnika so onemogočene."
|
1142 |
|
1143 |
+
#: includes/functions.php:1258
|
1144 |
msgid "Renew license"
|
1145 |
msgstr "Obnovite licenco"
|
1146 |
|
1147 |
#. translators: %s: Ad Inserter Pro
|
1148 |
+
#: includes/functions.php:1266
|
1149 |
msgid "%s license overused. Plugin updates are disabled."
|
1150 |
msgstr ""
|
1151 |
"%s licenca je prekomerno uporabljena. Posodobitve vtičnika so onemogočene."
|
1152 |
|
1153 |
+
#: includes/functions.php:1267
|
1154 |
msgid "Upgrade license"
|
1155 |
msgstr "Nadgradite licenco"
|
1156 |
|
1157 |
#. translators: 1, 2: HTML tags, 3: Ad Inserter Pro
|
1158 |
+
#: includes/functions.php:1452
|
1159 |
msgid ""
|
1160 |
"%1$s Warning: %2$s %3$s license key is not set. Plugin functionality is "
|
1161 |
"limited and updates are disabled."
|
1164 |
"so omejene in posodobitve onemogočene."
|
1165 |
|
1166 |
#. translators: 1, 2,: HTML tags, 3: Ad Inserter Pro
|
1167 |
+
#: includes/functions.php:1461
|
1168 |
msgid "%1$s Warning: %2$s Invalid %3$s license key."
|
1169 |
msgstr "%1$s Opozorilo: %2$s Neveljaven %3$s licenčni ključ."
|
1170 |
|
1171 |
#. translators: 2, 3: HTML tags, 1: Ad Inserter Pro
|
1172 |
+
#: includes/functions.php:1477
|
1173 |
msgid ""
|
1174 |
"Hey, %1$s license has expired - plugin updates are now disabled. Please "
|
1175 |
"renew the license to enable updates. Check %2$s what you are missing. %3$s"
|
1179 |
"pogrešate. %3$s"
|
1180 |
|
1181 |
#. translators: 1, 3: HTML tags, 2: percentage
|
1182 |
+
#: includes/functions.php:1484
|
1183 |
msgid ""
|
1184 |
"During the license period and 30 days after the license has expired we offer "
|
1185 |
"%1$s %2$s discount on all license renewals and license upgrades. %3$s"
|
1187 |
"V obdobju licence in 30 dni po tem, ko licenca poteče, vam ponujamo %1$s "
|
1188 |
"%2$s popust na vse obnovitve in nadgradnje licenc. %3$s"
|
1189 |
|
1190 |
+
#: includes/functions.php:1511
|
1191 |
msgid "Renew the licence"
|
1192 |
msgstr "Obnovi licenco"
|
1193 |
|
1194 |
+
#: includes/functions.php:1513
|
1195 |
msgid "Update license status"
|
1196 |
msgstr "Posodobi status licence"
|
1197 |
|
1198 |
#. translators: 1, 2, 4, 5: HTML tags, 3: Ad Inserter Pro
|
1199 |
+
#: includes/functions.php:1524
|
1200 |
msgid ""
|
1201 |
"%1$s Warning: %2$s %3$s license overused. Plugin updates are disabled. %4$s "
|
1202 |
"Upgrade license %5$s"
|
1205 |
"vtičnika so onemogočene. %4$s Nadgradite licenco %5$s"
|
1206 |
|
1207 |
#. Translators: %s: HTML tag
|
1208 |
+
#: includes/functions.php:1544
|
1209 |
msgid "Warning: %s MaxMind IP geolocation database not found."
|
1210 |
msgstr "Opozorilo: %s MaxMind IP geolocijska podatkovna baza ni najdena."
|
1211 |
|
1212 |
+
#: includes/functions.php:2051
|
1213 |
msgid "Geolocation"
|
1214 |
msgstr "Geolokacija"
|
1215 |
|
1216 |
+
#: includes/functions.php:2055
|
1217 |
msgid "Exceptions"
|
1218 |
msgstr "Izjeme"
|
1219 |
|
1220 |
+
#: includes/functions.php:2060
|
1221 |
msgid "Multisite"
|
1222 |
msgstr "Multisite"
|
1223 |
|
1224 |
+
#: includes/functions.php:2065
|
1225 |
msgid "Tracking"
|
1226 |
msgstr "Sledenje"
|
1227 |
|
1228 |
#. translators: %d: days, hours, minutes
|
1229 |
+
#: includes/functions.php:2096
|
1230 |
msgid "Scheduled in %d days %d hours %d minutes"
|
1231 |
msgstr "Planirano v %d dneh %d urah %d minutah"
|
1232 |
|
1233 |
#. translators: %s: HTML dash separator, %d: days, hours, minutes, — is
|
1234 |
#. HTML code for long dash separator
|
1235 |
+
#: includes/functions.php:2105
|
1236 |
msgid "Active %s expires in %d days %d hours %d minutes"
|
1237 |
msgstr "Aktivno %s poteče v %d dneh %d urah %d minutah"
|
1238 |
|
1239 |
+
#: includes/functions.php:2109
|
1240 |
msgid "Expired"
|
1241 |
msgstr "Poteklo"
|
1242 |
|
1243 |
+
#: includes/functions.php:2117 settings.php:1277 settings.php:1292
|
1244 |
#: settings.php:1879
|
1245 |
msgid "and"
|
1246 |
msgstr "in"
|
1247 |
|
1248 |
+
#: includes/functions.php:2120
|
1249 |
msgid "fallback"
|
1250 |
msgstr "rezerva"
|
1251 |
|
1252 |
+
#: includes/functions.php:2121
|
1253 |
msgid "Block to be used when scheduling expires"
|
1254 |
msgstr "Blok, ki se bo uporabil, ko urnik poteče"
|
1255 |
|
1256 |
+
#: includes/functions.php:2146
|
1257 |
msgid "Load in iframe"
|
1258 |
msgstr "Naloži v iframe-u"
|
1259 |
|
1260 |
+
#: includes/functions.php:2150 includes/placeholders.php:382
|
1261 |
msgid "Width"
|
1262 |
msgstr "Širina"
|
1263 |
|
1264 |
+
#: includes/functions.php:2151
|
1265 |
msgid "iframe width, empty means full width (100%)"
|
1266 |
msgstr "širina iframe-a, prazno pomeni polna širina (100%)"
|
1267 |
|
1268 |
+
#: includes/functions.php:2157 includes/placeholders.php:377
|
1269 |
msgid "Height"
|
1270 |
msgstr "Višina"
|
1271 |
|
1272 |
+
#: includes/functions.php:2158
|
1273 |
msgid "iframe height, empty means adjust it to iframe content height"
|
1274 |
msgstr ""
|
1275 |
"Višina iframe-a, prazno pomeni poravnavo glede na višino vsebine iframe-a"
|
1276 |
|
1277 |
+
#: includes/functions.php:2165
|
1278 |
msgid "Ad label in iframe"
|
1279 |
msgstr "Oznaka oglasa v iframe-u"
|
1280 |
|
1281 |
+
#: includes/functions.php:2170
|
1282 |
msgid "Preview iframe code"
|
1283 |
msgstr "Predpreglej kodo iframe"
|
1284 |
|
1285 |
+
#: includes/functions.php:2170 includes/preview.php:1964 settings.php:954
|
1286 |
+
#: settings.php:2540
|
1287 |
msgid "Preview"
|
1288 |
msgstr "Predogled"
|
1289 |
|
1290 |
+
#: includes/functions.php:2184 includes/functions.php:3826
|
1291 |
+
#: includes/functions.php:3889 settings.php:2014
|
1292 |
msgid "Ad Blocking"
|
1293 |
msgstr "Blokiranje Oglasov"
|
1294 |
|
1295 |
#. translators: 1, 2 and 3, 4: HTML tags
|
1296 |
+
#: includes/functions.php:2193
|
1297 |
msgid ""
|
1298 |
"%1$s WARNING: %2$s %3$s No wrapping %4$s style has no wrapping code needed "
|
1299 |
"for tracking!"
|
1303 |
|
1304 |
#. translators: 1, 2, 4, 5: HTML tags, 3: Scroll with the content, 6: Above
|
1305 |
#. header
|
1306 |
+
#: includes/functions.php:2202
|
1307 |
msgid ""
|
1308 |
"%1$s WARNING: %2$s vertical position %3$s needs %4$s Output buffering %5$s "
|
1309 |
"enabled and automatic insertion %6$s!"
|
1311 |
"%1$s OPOZORILO: %2$s vertikalni položaj %3$s potrebuje %4$s Predpomnjenje "
|
1312 |
"izhoda %5$s omogočeno in samodejno vstavljanje %6$s!"
|
1313 |
|
1314 |
+
#: includes/functions.php:2220
|
1315 |
msgid "When ad blocking is detected"
|
1316 |
msgstr "Ko je blokiranje oglasov zaznano"
|
1317 |
|
1318 |
+
#: includes/functions.php:2229
|
1319 |
msgid "replacement"
|
1320 |
msgstr "nadomestek"
|
1321 |
|
1322 |
+
#: includes/functions.php:2230
|
1323 |
msgid "Block to be shown when ad blocking is detected"
|
1324 |
msgstr "Blok, ki naj bo prikazan, ko je zaznano blokiranje oglasov"
|
1325 |
|
1326 |
+
#: includes/functions.php:2231
|
1327 |
msgctxt "replacement"
|
1328 |
msgid "None"
|
1329 |
msgstr "Noben"
|
1330 |
|
1331 |
+
#: includes/functions.php:2248
|
1332 |
msgid "Close button"
|
1333 |
msgstr "Gumb Zapri"
|
1334 |
|
1335 |
+
#: includes/functions.php:2295
|
1336 |
msgid "Lazy loading"
|
1337 |
msgstr "Leno nalaganje"
|
1338 |
|
1339 |
#. Translators: %s MaxMind
|
1340 |
+
#: includes/functions.php:2349
|
1341 |
msgid "This product includes GeoLite2 data created by %s"
|
1342 |
msgstr "Ta izdelek vsebuje %s GeoLite2 podatke"
|
1343 |
|
1344 |
+
#: includes/functions.php:2360
|
1345 |
msgid "IP geolocation database"
|
1346 |
msgstr "Podatkovna baza za IP geolokacijo"
|
1347 |
|
1348 |
+
#: includes/functions.php:2363
|
1349 |
msgid "Select IP geolocation database."
|
1350 |
msgstr "Izberite podatkovno bazo za IP geolokacijo."
|
1351 |
|
1352 |
+
#: includes/functions.php:2374
|
1353 |
msgid "Automatic database updates"
|
1354 |
msgstr "Samodejna posodobitev podatkovne baze"
|
1355 |
|
1356 |
+
#: includes/functions.php:2377
|
1357 |
msgid ""
|
1358 |
"Automatically download and update free GeoLite2 IP geolocation database by "
|
1359 |
"MaxMind"
|
1361 |
"Samodejno prenesi in posodobi prostodostopno GeoLite2 IP geolokacijsko "
|
1362 |
"podatkovno bazo MaxMind"
|
1363 |
|
1364 |
+
#: includes/functions.php:2385
|
1365 |
msgid "Database"
|
1366 |
msgstr "Podatkovna baza"
|
1367 |
|
1368 |
+
#: includes/functions.php:2388
|
1369 |
msgid ""
|
1370 |
"Aabsolute path starting with '/' or relative path to the MaxMind database "
|
1371 |
"file"
|
1374 |
"podatkovne baze"
|
1375 |
|
1376 |
#. translators: %d: group number
|
1377 |
+
#: includes/functions.php:2406
|
1378 |
msgid "Group %d"
|
1379 |
msgstr "Skupina %d"
|
1380 |
|
1381 |
+
#: includes/functions.php:2412
|
1382 |
msgid "countries"
|
1383 |
msgstr "države"
|
1384 |
|
1385 |
+
#: includes/functions.php:2457
|
1386 |
msgid "Enable tracking"
|
1387 |
msgstr "Omogoči sledenje"
|
1388 |
|
1389 |
+
#: includes/functions.php:2472
|
1390 |
msgid "Impression and Click Tracking"
|
1391 |
msgstr "Sledenje Prikazov in Klikov"
|
1392 |
|
1393 |
+
#: includes/functions.php:2488
|
1394 |
msgid "Internal"
|
1395 |
msgstr "Notranje"
|
1396 |
|
1397 |
+
#: includes/functions.php:2492
|
1398 |
msgid "Track impressions and clicks with internal tracking and statistics"
|
1399 |
msgstr "Sledi prikazom in klikom z notranjim sledenjem in statistiko"
|
1400 |
|
1401 |
+
#: includes/functions.php:2497
|
1402 |
msgid "External"
|
1403 |
msgstr "Zunanje"
|
1404 |
|
1405 |
+
#: includes/functions.php:2501
|
1406 |
msgid ""
|
1407 |
"Track impressions and clicks with Google Analytics or Matomo (needs tracking "
|
1408 |
"code installed)"
|
1410 |
"Sledi prikazom in klikom z Google Analytics ali Matomo (potrebuje nameščeno "
|
1411 |
"kodo za sledenje)"
|
1412 |
|
1413 |
+
#: includes/functions.php:2506
|
1414 |
msgid "Track Pageviews"
|
1415 |
msgstr "Sledi Ogledom Strani"
|
1416 |
|
1417 |
+
#: includes/functions.php:2512
|
1418 |
msgid "Track Pageviews by Device (as configured for viewports)"
|
1419 |
msgstr "Sledi Ogledom Strani po Napravah (kot so nastavljene za poglede)"
|
1420 |
|
1421 |
+
#: includes/functions.php:2522
|
1422 |
msgid "Track for Logged in Users"
|
1423 |
msgstr "Sledi za Prijavljene Upor."
|
1424 |
|
1425 |
+
#: includes/functions.php:2528
|
1426 |
msgid "Track impressions and clicks from logged in users"
|
1427 |
msgstr "Sledi prikazom in klikom neprijavljenih uporabnikov"
|
1428 |
|
1429 |
+
#: includes/functions.php:2538
|
1430 |
msgid "Click Detection"
|
1431 |
msgstr "Zaznavanje klikov"
|
1432 |
|
1433 |
+
#: includes/functions.php:2544
|
1434 |
msgid ""
|
1435 |
"Standard method detects clicks only on banners with links, Advanced method "
|
1436 |
"can detect clicks on any kind of ads, but it is slightly less accurate"
|
1438 |
"Standardni način zazna klike samo na pasicah s povezavami, Napredni način "
|
1439 |
"lahko zazna klike na kateremkoli oglasu, ampak je rahlo manj zanesljiv"
|
1440 |
|
1441 |
+
#: includes/functions.php:2570
|
1442 |
msgid "Report header image"
|
1443 |
msgstr "Slika v glavi poročila"
|
1444 |
|
1445 |
+
#: includes/functions.php:2573
|
1446 |
msgid ""
|
1447 |
"Image or logo to be displayed in the header of the statistins report. "
|
1448 |
"Aabsolute path starting with '/' or relative path to the image file."
|
1450 |
"Slika ali logo, ki bo prikazan v glavi poročila statistike. Absolutna pot, "
|
1451 |
"ki se začne z '/' ali relativna pot do datoteke slike."
|
1452 |
|
1453 |
+
#: includes/functions.php:2574 strings.php:221
|
1454 |
msgid "Select or upload header image"
|
1455 |
msgstr "Izberi ali naloži sliko glave"
|
1456 |
|
1457 |
+
#: includes/functions.php:2579
|
1458 |
msgid "Report header title"
|
1459 |
msgstr "Naslov v glavi poročila"
|
1460 |
|
1461 |
+
#: includes/functions.php:2582
|
1462 |
msgid ""
|
1463 |
"Title to be displayed in the header of the statistins report. Text or HTML "
|
1464 |
"code."
|
1465 |
msgstr ""
|
1466 |
"Naslov, ki bo prikazan v glavi poročila statistike. Besedilo ali HTML koda."
|
1467 |
|
1468 |
+
#: includes/functions.php:2587
|
1469 |
msgid "Report header description"
|
1470 |
msgstr "Opis v glavi poročila"
|
1471 |
|
1472 |
+
#: includes/functions.php:2590
|
1473 |
msgid ""
|
1474 |
"Description to be displayed in the header of the statistins report. Text or "
|
1475 |
"HTML code."
|
1476 |
msgstr ""
|
1477 |
"Opis, ki bo prikazan v glavi poročila statistike. Besedilo ali HTML koda."
|
1478 |
|
1479 |
+
#: includes/functions.php:2622
|
1480 |
msgid "Are you sure you want to clear all exceptions for block"
|
1481 |
msgstr "Ali ste prepričani, da želite pobrisati vse izjeme za blok"
|
1482 |
|
1483 |
+
#: includes/functions.php:2623 settings.php:1041
|
1484 |
msgid "Clear all exceptions for block"
|
1485 |
msgstr "Pobriši vse izjeme za blok"
|
1486 |
|
1487 |
+
#: includes/functions.php:2630
|
1488 |
msgid "Are you sure you want to clear all exceptions?"
|
1489 |
msgstr "Ali ste prepričani, da želite pobrisati vse izjeme?"
|
1490 |
|
1491 |
+
#: includes/functions.php:2630
|
1492 |
msgid "Clear all exceptions for all blocks"
|
1493 |
msgstr "Pobriši vse izjeme za vse bloke"
|
1494 |
|
1495 |
+
#: includes/functions.php:2635 settings.php:3378 settings.php:3716
|
1496 |
msgid "Type"
|
1497 |
msgstr "Vrsta"
|
1498 |
|
1499 |
+
#: includes/functions.php:2653
|
1500 |
msgid "View"
|
1501 |
msgstr "Poglej"
|
1502 |
|
1503 |
+
#: includes/functions.php:2654 includes/placeholders.php:346
|
1504 |
#: includes/preview.php:2271 settings.php:1180
|
1505 |
msgid "Edit"
|
1506 |
msgstr "Uredi"
|
1507 |
|
1508 |
+
#: includes/functions.php:2684
|
1509 |
msgid "Are you sure you want to clear all exceptions for"
|
1510 |
msgstr "Ali ste prepričani, da želite pobrisati vse izjeme za"
|
1511 |
|
1512 |
+
#: includes/functions.php:2685
|
1513 |
msgid "Clear all exceptions for"
|
1514 |
msgstr "Pobriši vse izjeme za"
|
1515 |
|
1516 |
+
#: includes/functions.php:2698
|
1517 |
msgid "No exceptions"
|
1518 |
msgstr "Brez izjem"
|
1519 |
|
1520 |
#. translators: %s: Ad Inserter Pro
|
1521 |
+
#: includes/functions.php:2709
|
1522 |
msgid "%s options for network blogs"
|
1523 |
msgstr "%s izbire za omrežne bloge"
|
1524 |
|
1525 |
#. translators: %s: Ad Inserter Pro
|
1526 |
+
#: includes/functions.php:2714
|
1527 |
msgid "Enable %s widgets for sub-sites"
|
1528 |
msgstr "Omogoči %s gradnik za pod-spletišča"
|
1529 |
|
1530 |
+
#: includes/functions.php:2714
|
1531 |
msgid "Widgets"
|
1532 |
msgstr "Gradniki"
|
1533 |
|
1534 |
+
#: includes/functions.php:2719
|
1535 |
msgid "Enable PHP code processing for sub-sites"
|
1536 |
msgstr "Omogoči procesiranje PHP kode za pod-spletišča"
|
1537 |
|
1538 |
+
#: includes/functions.php:2719
|
1539 |
msgid "PHP Processing"
|
1540 |
msgstr "PHP Procesiranje"
|
1541 |
|
1542 |
#. translators: %s: Ad Inserter Pro
|
1543 |
+
#: includes/functions.php:2724
|
1544 |
msgid "Enable %s block exceptions in post/page editor for sub-sites"
|
1545 |
msgstr ""
|
1546 |
"Omogoči %s izjeme blokov v urejevalniku prispevkov/strani za pod-spletišča"
|
1547 |
|
1548 |
+
#: includes/functions.php:2724
|
1549 |
msgid "Post/Page exceptions"
|
1550 |
msgstr "Izjeme prispevkov/strani"
|
1551 |
|
1552 |
#. translators: %s: Ad Inserter Pro
|
1553 |
+
#: includes/functions.php:2729
|
1554 |
msgid "Enable %s settings page for sub-sites"
|
1555 |
msgstr "Omogoči nastavitveno stran %s za pod-spletišča"
|
1556 |
|
1557 |
+
#: includes/functions.php:2729
|
1558 |
msgid "Settings page"
|
1559 |
msgstr "Stran z nastavitvami"
|
1560 |
|
1561 |
#. translators: %s: Ad Inserter Pro
|
1562 |
+
#: includes/functions.php:2734
|
1563 |
msgid "Enable %s settings of main site to be used for all blogs"
|
1564 |
msgstr "Omogoči %s nastavitve glavnega spletišča za uporabo na vseh blogih"
|
1565 |
|
1566 |
+
#: includes/functions.php:2734
|
1567 |
msgid "Main site settings used for all blogs"
|
1568 |
msgstr "Nastavitve glavnega spletišča uporabljene na vseh blogih"
|
1569 |
|
1570 |
+
#: includes/functions.php:2745 settings.php:2436
|
1571 |
msgid "Ad Blocking Detection"
|
1572 |
msgstr "Zaznavanje Blokiranja Oglasov"
|
1573 |
|
1574 |
+
#: includes/functions.php:2751
|
1575 |
msgid ""
|
1576 |
"Standard method is reliable but should be used only if Advanced method does "
|
1577 |
"not work. Advanced method recreates files used for detection with random "
|
1583 |
"imeni in mogoče ne bo deloval s skriptami v upload mapi, če ta ni javno "
|
1584 |
"dostopna"
|
1585 |
|
1586 |
+
#: includes/functions.php:3371 includes/functions.php:3461
|
1587 |
+
#: includes/functions.php:3481
|
1588 |
msgid "AD BLOCKING"
|
1589 |
msgstr "BLOKIRANJE OGLASOV"
|
1590 |
|
1591 |
+
#: includes/functions.php:3372 includes/functions.php:3412
|
1592 |
+
#: includes/functions.php:3455 includes/functions.php:3482
|
1593 |
msgid "BLOCK INSERTED BUT NOT VISIBLE"
|
1594 |
msgstr "BLOK VSTAVLJEN, VENDAR NI VIDEN"
|
1595 |
|
1596 |
+
#: includes/functions.php:3375 includes/functions.php:3454
|
1597 |
+
#: includes/functions.php:3488
|
1598 |
msgid "NO AD BLOCKING"
|
1599 |
msgstr "NI BLOKIRANJA OGLASOV"
|
1600 |
|
1601 |
+
#: includes/functions.php:3411 includes/functions.php:3418
|
1602 |
msgid "AD BLOCKING REPLACEMENT"
|
1603 |
msgstr "NADOMESTEK V PRIMERU BLOKIRANJA OGLASOV"
|
1604 |
|
1605 |
+
#: includes/functions.php:3679 includes/functions.php:3888
|
1606 |
msgid "Pageviews"
|
1607 |
msgstr "Ogledi strani"
|
1608 |
|
1609 |
+
#: includes/functions.php:3825
|
1610 |
msgctxt "Version"
|
1611 |
msgid "Unknown"
|
1612 |
msgstr "Neznana"
|
1613 |
|
1614 |
+
#: includes/functions.php:3825
|
1615 |
msgctxt "Times"
|
1616 |
msgid "DISPLAYED"
|
1617 |
msgstr "PRIKAZANO"
|
1618 |
|
1619 |
+
#: includes/functions.php:3825
|
1620 |
msgid "No version"
|
1621 |
msgstr "Brez različice"
|
1622 |
|
1623 |
+
#: includes/functions.php:3826
|
1624 |
msgctxt "Times"
|
1625 |
msgid "BLOCKED"
|
1626 |
msgstr "BLOKIRANO"
|
1627 |
|
1628 |
+
#: includes/functions.php:3888
|
1629 |
msgid "Impressions"
|
1630 |
msgstr "Prikazi"
|
1631 |
|
1632 |
+
#: includes/functions.php:3889 includes/functions.php:3890
|
1633 |
+
#: includes/functions.php:3920
|
1634 |
msgid "Clicks"
|
1635 |
msgstr "Kliki"
|
1636 |
|
1637 |
+
#: includes/functions.php:3890
|
1638 |
msgid "events"
|
1639 |
msgstr "dogodki"
|
1640 |
|
1641 |
+
#: includes/functions.php:3891
|
1642 |
msgid "Ad Blocking Share"
|
1643 |
msgstr "Delež blokiranja oglasov"
|
1644 |
|
1645 |
#. translators: CTR as Click Through Rate
|
1646 |
+
#: includes/functions.php:3891 includes/functions.php:3926
|
1647 |
msgid "CTR"
|
1648 |
msgstr "CTR"
|
1649 |
|
1650 |
+
#: includes/functions.php:4008
|
1651 |
msgid "pageviews"
|
1652 |
msgid_plural "pageviews"
|
1653 |
msgstr[0] "ogled strani"
|
1655 |
msgstr[2] "ogledi strani"
|
1656 |
msgstr[3] "ogledov strani"
|
1657 |
|
1658 |
+
#: includes/functions.php:4008
|
1659 |
msgid "impressions"
|
1660 |
msgid_plural "impressions"
|
1661 |
msgstr[0] "prikaz"
|
1663 |
msgstr[2] "prikazi"
|
1664 |
msgstr[3] "prikazov"
|
1665 |
|
1666 |
+
#: includes/functions.php:4012
|
1667 |
msgid "event"
|
1668 |
msgid_plural "events"
|
1669 |
msgstr[0] "dogodek"
|
1671 |
msgstr[2] "dogodki"
|
1672 |
msgstr[3] "dogodkov"
|
1673 |
|
1674 |
+
#: includes/functions.php:4012
|
1675 |
msgid "click"
|
1676 |
msgid_plural "clicks"
|
1677 |
msgstr[0] "klik"
|
1679 |
msgstr[2] "kliki"
|
1680 |
msgstr[3] "klikov"
|
1681 |
|
1682 |
+
#: includes/functions.php:4107
|
1683 |
msgctxt "Pageviews / Impressions"
|
1684 |
msgid "Average"
|
1685 |
msgstr "Povprečni"
|
1686 |
|
1687 |
+
#: includes/functions.php:4128
|
1688 |
msgctxt "Ad Blocking / Clicks"
|
1689 |
msgid "Average"
|
1690 |
msgstr "Povprečno"
|
1691 |
|
1692 |
+
#: includes/functions.php:4152
|
1693 |
msgctxt "Ad Blocking Share / CTR"
|
1694 |
msgid "Average"
|
1695 |
msgstr "Povprečni"
|
1696 |
|
1697 |
#. Translators: %s: Ad Inserter Pro
|
1698 |
+
#: includes/functions.php:4204
|
1699 |
msgid "%s Report"
|
1700 |
msgstr "%s Poročilo"
|
1701 |
|
1702 |
+
#: includes/functions.php:4282
|
1703 |
msgid "Advanced WordPress Ad Management Plugin"
|
1704 |
msgstr "Napredni WordPress Vtičnik za Upravljanje z Oglasi"
|
1705 |
|
1727 |
msgid "Placeholder"
|
1728 |
msgstr "Polnilo"
|
1729 |
|
1730 |
+
#: includes/placeholders.php:356 settings.php:808 settings.php:3717
|
1731 |
msgid "Size"
|
1732 |
msgstr "Velikost"
|
1733 |
|
1860 |
msgid "Ad Blocking Detected Message Preview"
|
1861 |
msgstr "Predogled Sporočila ko je Zaznano Blokiranje Oglasov"
|
1862 |
|
1863 |
+
#: includes/preview-adb.php:348 settings.php:2553
|
1864 |
msgid "Message CSS"
|
1865 |
msgstr "CSS sporočila"
|
1866 |
|
1867 |
+
#: includes/preview-adb.php:353 settings.php:2561
|
1868 |
msgid "Overlay CSS"
|
1869 |
msgstr "CSS prevleke"
|
1870 |
|
1905 |
msgstr "ozadje"
|
1906 |
|
1907 |
#: includes/preview.php:2075 includes/preview.php:2226 settings.php:1141
|
1908 |
+
#: settings.php:3643
|
1909 |
msgid "Alignment"
|
1910 |
msgstr "Poravnava"
|
1911 |
|
2181 |
msgid "General Settings"
|
2182 |
msgstr "Splošne Nastavitve"
|
2183 |
|
2184 |
+
#: settings.php:592 settings.php:2312 settings.php:2370 settings.php:2533
|
2185 |
msgid "Toggle Syntax Highlighting / Simple editor for mobile devices"
|
2186 |
msgstr ""
|
2187 |
"Preklopi Poudarjanje Sintakse / Preprost urejevalnik za mobilne naprave"
|
2210 |
msgid "Open visual HTML editor"
|
2211 |
msgstr "Odpri vizualni HTML urejevalnik"
|
2212 |
|
2213 |
+
#: settings.php:644 settings.php:1977
|
2214 |
msgid "Show AdSense ad units"
|
2215 |
msgstr "Pokaži oglasne enote AdSense"
|
2216 |
|
2218 |
msgid "Clear block"
|
2219 |
msgstr "Počisti blok"
|
2220 |
|
2221 |
+
#: settings.php:658 settings.php:3611
|
2222 |
msgid "Copy block"
|
2223 |
msgstr "Kopiraj blok"
|
2224 |
|
2391 |
"Posamezne izjeme za prispevke (če so omogočene tukaj) se lahko nastavijo v "
|
2392 |
"urejevalniku prispevka. Pustite prazno za prispevke brez posameznih izjem."
|
2393 |
|
2394 |
+
#: settings.php:978 settings.php:3037
|
2395 |
msgid "Posts"
|
2396 |
msgstr "Prispevki"
|
2397 |
|
2405 |
"podstraneh), statična stran ali domača stran teme (razpoložljivi položaji so "
|
2406 |
"lahko odvisni od ročic, ki jih tema uporablja)"
|
2407 |
|
2408 |
+
#: settings.php:983 settings.php:3039
|
2409 |
msgid "Homepage"
|
2410 |
msgstr "Domača stran"
|
2411 |
|
2413 |
msgid "Enable insertion on category blog pages (including sub-pages)"
|
2414 |
msgstr "Omogoči vstavljanje na straneh kategorij (vključno s podstranmi)"
|
2415 |
|
2416 |
+
#: settings.php:988 settings.php:3040
|
2417 |
msgid "Category pages"
|
2418 |
msgstr "Strani kategorij"
|
2419 |
|
2434 |
"nastavijo v urejevalniku strani. Pustite prazno za strani brez posameznih "
|
2435 |
"izjem."
|
2436 |
|
2437 |
+
#: settings.php:1006 settings.php:3038
|
2438 |
msgid "Static pages"
|
2439 |
msgstr "Statične strani"
|
2440 |
|
2442 |
msgid "Enable insertion on search blog pages"
|
2443 |
msgstr "Omogoči vstavljanje na iskalnih straneh"
|
2444 |
|
2445 |
+
#: settings.php:1011 settings.php:3042
|
2446 |
msgid "Search pages"
|
2447 |
msgstr "Iskalne strani"
|
2448 |
|
2563 |
msgid "HTML element selector or comma separated list of selectors"
|
2564 |
msgstr "Selektor HTML elementa ali z vejicami ločen seznam selektorjev"
|
2565 |
|
2566 |
+
#: settings.php:1209 settings.php:2446
|
2567 |
msgid "Action"
|
2568 |
msgstr "Akcija"
|
2569 |
|
2851 |
msgstr ""
|
2852 |
"Omogočite kratko kodo za ročno vstavljanje tega bloka v prispevke in strani"
|
2853 |
|
2854 |
+
#: settings.php:1636 settings.php:3645
|
2855 |
msgid "Shortcode"
|
2856 |
msgstr "Kratka koda"
|
2857 |
|
2915 |
msgid "Display"
|
2916 |
msgstr "Prikaz"
|
2917 |
|
2918 |
+
#: settings.php:1760 settings.php:2007
|
2919 |
msgid "General"
|
2920 |
msgstr "Splošno"
|
2921 |
|
2983 |
"Štej ta blok za omejitev Največ blokov na stran (določena na zavihku "
|
2984 |
"⚙ / zavihek Splošno)"
|
2985 |
|
2986 |
+
#: settings.php:1805 settings.php:2176
|
2987 |
msgid "Max blocks per page"
|
2988 |
msgstr "Največ blokov na stran"
|
2989 |
|
3068 |
msgid "Not available"
|
3069 |
msgstr "Ni na razpolago"
|
3070 |
|
3071 |
+
#: settings.php:1908 settings.php:2168
|
3072 |
msgid "Ad label"
|
3073 |
msgstr "Oznaka oglasa"
|
3074 |
|
3097 |
msgid "Settings timestamp"
|
3098 |
msgstr "Časovni žig nastavitev"
|
3099 |
|
3100 |
+
#: settings.php:1968
|
3101 |
msgid "Are you sure you want to reset all settings?"
|
3102 |
msgstr "Ali ste prepričani, da želite ponastaviti vse nastavitve?"
|
3103 |
|
3104 |
+
#: settings.php:1968
|
3105 |
msgid "Reset All Settings"
|
3106 |
msgstr "Ponastavi Vse Nastavitve"
|
3107 |
|
3108 |
+
#: settings.php:1984
|
3109 |
+
msgid "Edit ads.txt file"
|
3110 |
+
msgstr "Uredi datoteko ads.txt"
|
3111 |
+
|
3112 |
+
#: settings.php:2008
|
3113 |
msgid "Viewports"
|
3114 |
msgstr "Pogledi"
|
3115 |
|
3116 |
+
#: settings.php:2009
|
3117 |
msgid "Hooks"
|
3118 |
msgstr "Ročice"
|
3119 |
|
3120 |
+
#: settings.php:2010
|
3121 |
msgid "Header"
|
3122 |
msgstr "Glava"
|
3123 |
|
3124 |
+
#: settings.php:2011 strings.php:30
|
3125 |
msgid "Footer"
|
3126 |
msgstr "Noga"
|
3127 |
|
3128 |
+
#: settings.php:2016
|
3129 |
msgid "Debugging"
|
3130 |
msgstr "Razhroščevanje"
|
3131 |
|
3132 |
+
#: settings.php:2026
|
3133 |
msgid "Plugin priority"
|
3134 |
msgstr "Prednost vtičnika"
|
3135 |
|
3136 |
+
#: settings.php:2034
|
3137 |
msgid "Output buffering"
|
3138 |
msgstr "Predpomnjenje izhoda"
|
3139 |
|
3140 |
+
#: settings.php:2037
|
3141 |
msgid "Needed for position Above header but may not work with all themes"
|
3142 |
msgstr "Potrebno za položaj Nad glavo, ampak lahko, da ne dela z vsemi temami"
|
3143 |
|
3144 |
+
#: settings.php:2045
|
3145 |
msgid "Syntax highlighting theme"
|
3146 |
msgstr "Tema za poudarjanje sintakse"
|
3147 |
|
3148 |
+
#: settings.php:2052
|
3149 |
msgctxt "no syntax highlighting themes"
|
3150 |
msgid "None"
|
3151 |
msgstr "Brez"
|
3152 |
|
3153 |
+
#: settings.php:2053
|
3154 |
msgid "No Syntax Highlighting"
|
3155 |
msgstr "Brez Poudarjanja Sintakse"
|
3156 |
|
3157 |
+
#: settings.php:2055
|
3158 |
msgctxt "syntax highlighting themes"
|
3159 |
msgid "Light"
|
3160 |
msgstr "Svetle"
|
3161 |
|
3162 |
+
#: settings.php:2070
|
3163 |
msgctxt "syntax highlighting themes"
|
3164 |
msgid "Dark"
|
3165 |
msgstr "Temne"
|
3166 |
|
3167 |
+
#: settings.php:2096
|
3168 |
msgid "Min. user role for ind. exceptions editing"
|
3169 |
msgstr "Najm. uporabniška vloga za urejanje izjem"
|
3170 |
|
3171 |
+
#: settings.php:2106
|
3172 |
+
msgid "Disable caching for logged in administrators"
|
3173 |
+
msgstr "Onemogoči predpomnenje za prijavljene skrbnike"
|
3174 |
+
|
3175 |
+
#: settings.php:2109
|
3176 |
+
msgid ""
|
3177 |
+
"Enabled means that logged in administrators will see non-cached (live) pages "
|
3178 |
+
"(applies to WP Super Cache, W3 Total Cache and WP Rocket plugins)"
|
3179 |
+
msgstr ""
|
3180 |
+
"Omogočeno pomeni, da bodo prijavljeni skrbniki videli ne-predpomnjene (žive) "
|
3181 |
+
"strani (velja za vtičnike WP Super Cache, W3 Total Cache in WP Rocket)"
|
3182 |
+
|
3183 |
+
#: settings.php:2117
|
3184 |
msgid "Sticky widget mode"
|
3185 |
msgstr "Način za lepljive gradnike"
|
3186 |
|
3187 |
+
#: settings.php:2120
|
3188 |
msgid ""
|
3189 |
"CSS mode is the best approach but may not work with all themes. JavaScript "
|
3190 |
"mode works with most themes but may reload ads on page load."
|
3193 |
"Način JavaScript dela z večino tem, ampak lahko ponovno naloži oglase pri "
|
3194 |
"nalaganju strani."
|
3195 |
|
3196 |
+
#: settings.php:2128
|
3197 |
msgid "Sticky widget top margin"
|
3198 |
msgstr "Zgornji rob za lepljiv gradnik"
|
3199 |
|
3200 |
+
#: settings.php:2136
|
3201 |
msgid "Dynamic blocks"
|
3202 |
msgstr "Dinamični bloki"
|
3203 |
|
3204 |
+
#: settings.php:2149
|
3205 |
msgid "Functions for paragraph counting"
|
3206 |
msgstr "Funkcije za štetje odstavkov"
|
3207 |
|
3208 |
+
#: settings.php:2152
|
3209 |
msgid ""
|
3210 |
"Standard PHP functions are faster and work in most cases, use Multibyte "
|
3211 |
"functions if paragraphs are not counted properly on non-english pages."
|
3214 |
"Večznakovne funkcije, če na ne-angleških straneh odstavki niso pravilno "
|
3215 |
"šteti."
|
3216 |
|
3217 |
+
#: settings.php:2160
|
3218 |
msgid "No paragraph counting inside"
|
3219 |
msgstr "Ni štetja odstavkov znotraj"
|
3220 |
|
3221 |
+
#: settings.php:2171
|
3222 |
msgid "Label text or HTML code"
|
3223 |
msgstr "Besedilo oznake ali HTML koda"
|
3224 |
|
3225 |
+
#: settings.php:2179
|
3226 |
msgid ""
|
3227 |
"Maximum number of inserted blocks per page. You need to enable Max page "
|
3228 |
"insertions (button Misc / tab Insertion) to count block for this limit."
|
3231 |
"blokov na stran (gumb Razno / zavihek Vstavljanje), da bo blok štel za to "
|
3232 |
"omejitev."
|
3233 |
|
3234 |
+
#: settings.php:2193
|
3235 |
msgid "Plugin usage tracking"
|
3236 |
msgstr "Sledenje uporabe vtičnika"
|
3237 |
|
3238 |
#. translators: %s: Ad Inserter
|
3239 |
+
#: settings.php:2196
|
3240 |
msgid ""
|
3241 |
"Enable tracking of %s usage and help us to make improvements to the plugin. "
|
3242 |
"Only information regarding the WordPress environment and %s usage is "
|
3246 |
"Beležijo se samo informacije glede okolja WordPress in uporabe %s-ja (enkrat "
|
3247 |
"mesečno in ob dogodkih kot so aktivacija/deaktivacija)."
|
3248 |
|
3249 |
+
#: settings.php:2214
|
3250 |
msgid "CSS class name for the wrapping div"
|
3251 |
msgstr "Ime CSS razreda za div za ovijanje"
|
3252 |
|
3253 |
+
#: settings.php:2214
|
3254 |
msgid "Block class name"
|
3255 |
msgstr "Ime razreda za blok"
|
3256 |
|
3257 |
+
#: settings.php:2218
|
3258 |
msgid "Include general plugin block class"
|
3259 |
msgstr "Vključi splošni razred vtičnika za blok"
|
3260 |
|
3261 |
+
#: settings.php:2218
|
3262 |
msgid "Block class"
|
3263 |
msgstr "Razred bloka"
|
3264 |
|
3265 |
+
#: settings.php:2223
|
3266 |
msgid "Include block number class"
|
3267 |
msgstr "Vključi razred številke bloka"
|
3268 |
|
3269 |
+
#: settings.php:2223
|
3270 |
msgid "Block number class"
|
3271 |
msgstr "Razred številke bloka"
|
3272 |
|
3273 |
+
#: settings.php:2228
|
3274 |
msgid ""
|
3275 |
"Instead of alignment classes generate inline alignment styles for blocks"
|
3276 |
msgstr ""
|
3277 |
"Namesto razredov za poravnavo ustvari medvrstične sloge za poravnavo blokov"
|
3278 |
|
3279 |
+
#: settings.php:2228
|
3280 |
msgid "Inline styles"
|
3281 |
msgstr "Medvrstični slogi"
|
3282 |
|
3283 |
+
#: settings.php:2234
|
3284 |
msgid "Preview of the block wrapping code"
|
3285 |
msgstr "Predogled kode za ovijanje blokov"
|
3286 |
|
3287 |
+
#: settings.php:2235
|
3288 |
msgid "Wrapping div"
|
3289 |
msgstr "div za ovijanje"
|
3290 |
|
3291 |
+
#: settings.php:2236 settings.php:2636
|
3292 |
msgid "BLOCK CODE"
|
3293 |
msgstr "KODA BLOKA"
|
3294 |
|
3295 |
+
#: settings.php:2244
|
3296 |
msgid "Viewport Settings used for client-side device detection"
|
3297 |
msgstr ""
|
3298 |
"Nastavitve Pogledov, uporabljene za zaznavanje naprav na strani klienta"
|
3299 |
|
3300 |
#. Translators: %d: viewport number
|
3301 |
+
#: settings.php:2252
|
3302 |
msgid "Viewport %d name"
|
3303 |
msgstr "Ime pogleda %d"
|
3304 |
|
3305 |
+
#: settings.php:2255
|
3306 |
msgid "min width"
|
3307 |
msgstr "najmanjša širina"
|
3308 |
|
3309 |
+
#: settings.php:2266
|
3310 |
msgid "Custom Hooks"
|
3311 |
msgstr "Ročice Po Meri"
|
3312 |
|
3313 |
+
#: settings.php:2278 settings.php:2281
|
3314 |
msgid "Enable hook"
|
3315 |
msgstr "Omogoči ročico"
|
3316 |
|
3317 |
#. translators: %d: hook number
|
3318 |
+
#: settings.php:2281
|
3319 |
msgid "Hook %d name"
|
3320 |
msgstr "Ime ročice %d"
|
3321 |
|
3322 |
+
#: settings.php:2284
|
3323 |
msgid "Hook name for automatic insertion selection"
|
3324 |
msgstr "Ime ročice za izbiro samodejnega vstavljanja"
|
3325 |
|
3326 |
+
#: settings.php:2287
|
3327 |
msgid "action"
|
3328 |
msgstr "akcija"
|
3329 |
|
3330 |
+
#: settings.php:2290
|
3331 |
msgid "Action name as used in the do_action () function"
|
3332 |
msgstr "Ime akcije kot je uporabljena v do_action () funkciji"
|
3333 |
|
3334 |
+
#: settings.php:2293
|
3335 |
msgid "priority"
|
3336 |
msgstr "prednost"
|
3337 |
|
3338 |
+
#: settings.php:2296
|
3339 |
msgid "Priority for the hook (default is 10)"
|
3340 |
msgstr "Prednost za ročico (privzeta je 10)"
|
3341 |
|
3342 |
+
#: settings.php:2317
|
3343 |
msgid "Enable insertion of this code into HTML page header"
|
3344 |
msgstr "Omogoči vstavljanje te kode v glavi HTML strani"
|
3345 |
|
3346 |
+
#: settings.php:2321 settings.php:2379 settings.php:2538
|
3347 |
msgid "Process PHP code"
|
3348 |
msgstr "Procesiraj PHP kodo"
|
3349 |
|
3350 |
+
#: settings.php:2325
|
3351 |
msgid "HTML Page Header Code"
|
3352 |
msgstr "Koda v Glavi HTML Strani"
|
3353 |
|
3354 |
+
#: settings.php:2333
|
3355 |
msgid "Code in the %s section of the HTML page"
|
3356 |
msgstr "Koda v %s delu HTML strani"
|
3357 |
|
3358 |
+
#: settings.php:2334 settings.php:2392
|
3359 |
msgctxt "code in header or footer"
|
3360 |
msgid "DISABLED"
|
3361 |
msgstr "ONEMOGOČENA"
|
3362 |
|
3363 |
+
#: settings.php:2347 settings.php:2405
|
3364 |
msgid "Use server-side detection to insert code only for"
|
3365 |
msgstr "Zaznavanje na strani strežnika za vstavljanje samo za"
|
3366 |
|
3367 |
+
#: settings.php:2360
|
3368 |
msgid ""
|
3369 |
"Enable insertion of this code into HTML page header on page for Error 404: "
|
3370 |
"Page not found"
|
3372 |
"Omogoči vstavljanje te kode v HTML glavo na strani za napako 404: Stran ne "
|
3373 |
"obstaja"
|
3374 |
|
3375 |
+
#: settings.php:2360 settings.php:2418
|
3376 |
msgid "Insert on Error 404 page"
|
3377 |
msgstr "Vstavi na strani Napake 404"
|
3378 |
|
3379 |
+
#: settings.php:2375
|
3380 |
msgid "Enable insertion of this code into HTML page footer"
|
3381 |
msgstr "Omogoči vstavljanje te kode v HTML nogi"
|
3382 |
|
3383 |
+
#: settings.php:2383
|
3384 |
msgid "HTML Page Footer Code"
|
3385 |
msgstr "Koda v Nogi HTML Strani"
|
3386 |
|
3387 |
#. translators: %s: HTML tags
|
3388 |
+
#: settings.php:2391
|
3389 |
msgid "Code before the %s tag of the the HTML page"
|
3390 |
msgstr "Koda pred %s značko HTML strani"
|
3391 |
|
3392 |
+
#: settings.php:2418
|
3393 |
msgid ""
|
3394 |
"Enable insertion of this code into HTML page footer on page for Error 404: "
|
3395 |
"Page not found"
|
3397 |
"Omogoči vstavljanje te kode v nogo HTML strani na strani za napako 404: "
|
3398 |
"Stran ne obstaja"
|
3399 |
|
3400 |
+
#: settings.php:2432
|
3401 |
msgid "Enable detection of ad blocking"
|
3402 |
msgstr "Omogoči zaznavanje blokiranja oglasov"
|
3403 |
|
3404 |
+
#: settings.php:2449
|
3405 |
msgid "Global action when ad blocking is detected"
|
3406 |
msgstr "Globalna akcija, ko je zaznano blokiranje oglasov"
|
3407 |
|
3408 |
+
#: settings.php:2458
|
3409 |
msgid "Delay Action"
|
3410 |
msgstr "Zakasni Akcijo"
|
3411 |
|
3412 |
+
#: settings.php:2461
|
3413 |
msgid ""
|
3414 |
"Number of page views to delay action when ad blocking is detected. Leave "
|
3415 |
"empty for no delay (action fires on first page view). Sets cookie."
|
3418 |
"oglasov. Prazno pomeni brez zakasnitve (akcija se sproži pri prvem ogledu "
|
3419 |
"strani). Nastavi piškotek."
|
3420 |
|
3421 |
+
#: settings.php:2461
|
3422 |
msgctxt "Delay Action for x "
|
3423 |
msgid "page views"
|
3424 |
msgstr "ogledov strani"
|
3425 |
|
3426 |
+
#: settings.php:2466
|
3427 |
msgid "No Action Period"
|
3428 |
msgstr "Obdobje Brez Akcije"
|
3429 |
|
3430 |
+
#: settings.php:2469
|
3431 |
msgid ""
|
3432 |
"Number of days to supress action when ad blocking is detected. Leave empty "
|
3433 |
"for no no-action period (action fires always after defined page view delay). "
|
3437 |
"pomeni brez zadržanja (akcija se sproži vedno po določeni zakasnitvi ogledov "
|
3438 |
"strani). Nastavi piškotek."
|
3439 |
|
3440 |
+
#: settings.php:2469
|
3441 |
msgctxt "no action period"
|
3442 |
msgid "days"
|
3443 |
msgstr "dni"
|
3444 |
|
3445 |
+
#: settings.php:2474
|
3446 |
msgid "Custom Selectors"
|
3447 |
msgstr "Selektorji Po Meri"
|
3448 |
|
3449 |
+
#: settings.php:2477
|
3450 |
msgid ""
|
3451 |
"Comma seprarated list of selectors (.class, #id) used for additional ad "
|
3452 |
"blocking detection. Invisible element or element with zero height means ad "
|
3456 |
"zaznavanje blokiranja oglasov. Neviden element ali element z ničelno višino "
|
3457 |
"pomeni prisotnost blokiranja oglasov."
|
3458 |
|
3459 |
+
#: settings.php:2489
|
3460 |
msgid "Redirection Page"
|
3461 |
msgstr "Stran za Preusmeritev"
|
3462 |
|
3463 |
+
#: settings.php:2501
|
3464 |
msgid "Custom Url"
|
3465 |
msgstr "Url Po Meri"
|
3466 |
|
3467 |
+
#: settings.php:2506
|
3468 |
msgid ""
|
3469 |
"Static page for redirection when ad blocking is detected. For other pages "
|
3470 |
"select Custom url and set it below."
|
3472 |
"Statična stran za preusmeritev, ko je zaznano blokiranje oglasov. Za druge "
|
3473 |
"strani izberite Url Po Meri in ga nastavite spodaj."
|
3474 |
|
3475 |
+
#: settings.php:2515
|
3476 |
msgid "Custom Redirection Url"
|
3477 |
msgstr "Url za Preusmeritev Po Meri"
|
3478 |
|
3479 |
+
#: settings.php:2527
|
3480 |
msgid "Message HTML code"
|
3481 |
msgstr "HTML koda sporočila"
|
3482 |
|
3483 |
+
#: settings.php:2540
|
3484 |
msgid "Preview message when ad blocking is detected"
|
3485 |
msgstr "Predogled sporočila, ko je zaznano blokiranje oglasov"
|
3486 |
|
3487 |
+
#: settings.php:2569
|
3488 |
msgid "Prevent visitors from closing the warning message"
|
3489 |
msgstr "Prepreči obiskovalcem, da zaprejo opozorilno sporočilo"
|
3490 |
|
3491 |
+
#: settings.php:2569
|
3492 |
msgid "Undismissible Message"
|
3493 |
msgstr "Neodstranljivo Sporočilo"
|
3494 |
|
3495 |
+
#: settings.php:2582
|
3496 |
msgid ""
|
3497 |
"Force showing admin toolbar for administrators when viewing site. Enable "
|
3498 |
"this option when you are logged in as admin and you don't see admin toolbar."
|
3501 |
"možnost, če ste prijavljeni kot skrbnik, pa ne vidite orodne vrstice za "
|
3502 |
"skrbnike."
|
3503 |
|
3504 |
+
#: settings.php:2590
|
3505 |
msgid "Disable header code (Header tab)"
|
3506 |
msgstr "Onemogoči kodo v glavi (zavihek Glava)"
|
3507 |
|
3508 |
+
#: settings.php:2594
|
3509 |
msgid "Disable footer code (Footer tab)"
|
3510 |
msgstr "Onemogoči kodo v nogi (zavihek Noga)"
|
3511 |
|
3512 |
#. translators: %s: Ad Inserter
|
3513 |
+
#: settings.php:2598
|
3514 |
msgid "Disable %s JavaScript code"
|
3515 |
msgstr "Onemogoči %s JavaScript kodo"
|
3516 |
|
3517 |
#. translators: %s: Ad Inserter
|
3518 |
+
#: settings.php:2602
|
3519 |
msgid "Disable %s CSS code"
|
3520 |
msgstr "Onemogoči %s CSS kodo"
|
3521 |
|
3522 |
+
#: settings.php:2606
|
3523 |
msgid ""
|
3524 |
"Disable PHP code processing (in all blocks including header and footer code)"
|
3525 |
msgstr ""
|
3526 |
"Onemogoči procesiranje PHP kode (v vseh blokh vključno z glavo in nogo)"
|
3527 |
|
3528 |
+
#: settings.php:2610
|
3529 |
msgid "Disable insertion of all blocks"
|
3530 |
msgstr "Onemogoči vstavljanje vseh blokov"
|
3531 |
|
3532 |
+
#: settings.php:2614
|
3533 |
msgid "Disable insertions"
|
3534 |
msgstr "Onemogoči vstavljanja"
|
3535 |
|
3536 |
#. translators: %s: Ad Inserter
|
3537 |
+
#: settings.php:2626
|
3538 |
msgid "%s CSS CODE"
|
3539 |
msgstr "%s CSS KODA"
|
3540 |
|
3541 |
+
#: settings.php:2629
|
3542 |
msgid "HEADER CODE"
|
3543 |
msgstr "KODA GLAVE"
|
3544 |
|
3545 |
#. translators: %s: PHP tags
|
3546 |
+
#: settings.php:2635
|
3547 |
msgid "BLOCK PHP CODE"
|
3548 |
msgstr "PHP KODA BLOKA"
|
3549 |
|
3550 |
#. translators: %s: Ad Inserter
|
3551 |
+
#: settings.php:2641
|
3552 |
msgid "%s JS CODE"
|
3553 |
msgstr "%s JS KODA"
|
3554 |
|
3555 |
+
#: settings.php:2644
|
3556 |
msgid "FOOTER CODE"
|
3557 |
msgstr "KODA NOGE"
|
3558 |
|
3559 |
+
#: settings.php:2653
|
3560 |
msgid "Force showing admin toolbar when viewing site"
|
3561 |
msgstr "Vsili prikaz orodne vrstice za skrbnike pri ogledu strani"
|
3562 |
|
3563 |
+
#: settings.php:2660
|
3564 |
msgid "Enable debugging functions in admin toolbar"
|
3565 |
msgstr "Omogoči funkcije za razhroščevanje v orodni vrstici za skrbnike"
|
3566 |
|
3567 |
+
#: settings.php:2662
|
3568 |
msgid "Debugging functions in admin toolbar"
|
3569 |
msgstr "Funkcije za razhroščevanje v orodni vrstici za skrbnike"
|
3570 |
|
3571 |
+
#: settings.php:2669
|
3572 |
msgid "Enable debugging functions in admin toolbar on mobile screens"
|
3573 |
msgstr ""
|
3574 |
"Omogoči funkcije za razhroščevanje v orodni vrstici za skrbnike na mobilnih "
|
3575 |
"zaslonih"
|
3576 |
|
3577 |
+
#: settings.php:2671
|
3578 |
msgid "Debugging functions on mobile screens"
|
3579 |
msgstr "Funkcije za razhroščevanje na mobilnih zaslonih"
|
3580 |
|
3581 |
+
#: settings.php:2678
|
3582 |
msgid ""
|
3583 |
"Enable Debugger widget and code insertion debugging (blocks, positions, "
|
3584 |
"tags, processing) by url parameters for non-logged in users. Enable this "
|
3593 |
"pomagali diagnosticirati težave. Za prijavljene skrbnike je razhroščevanje "
|
3594 |
"vedno omogočeno."
|
3595 |
|
3596 |
+
#: settings.php:2680
|
3597 |
msgid "Remote debugging"
|
3598 |
msgstr "Oddaljeno razhroščevanje"
|
3599 |
|
3600 |
+
#: settings.php:2687
|
3601 |
msgid ""
|
3602 |
"Disable translation to see original texts for the settings and messages in "
|
3603 |
"English"
|
3605 |
"Onemogoči prevod za prikaz prvotnih besedil nastavitev in sporočil v "
|
3606 |
"angleščini"
|
3607 |
|
3608 |
+
#: settings.php:2689
|
3609 |
msgid "Disable translation"
|
3610 |
msgstr "Onemogoči prevod"
|
3611 |
|
3612 |
+
#: settings.php:3025
|
3613 |
msgid "Available positions for current theme"
|
3614 |
msgstr "Razpoložljivi položaji za trenutno temo"
|
3615 |
|
3616 |
+
#: settings.php:3026
|
3617 |
msgid "Error checking pages"
|
3618 |
msgstr "Napaka pri preverjanju strani"
|
3619 |
|
3620 |
+
#: settings.php:3029
|
3621 |
msgid "Toggle theme checker for available positions for automatic insertion"
|
3622 |
msgstr ""
|
3623 |
"Preklopi preverjanje teme za razpoložljive položaje za samodejno vstavljanje"
|
3624 |
|
3625 |
+
#: settings.php:3029
|
3626 |
msgctxt "Button"
|
3627 |
msgid "Check"
|
3628 |
msgstr "Preveri"
|
3629 |
|
3630 |
+
#: settings.php:3036
|
3631 |
msgid "Position"
|
3632 |
msgstr "Položaj"
|
3633 |
|
3634 |
+
#: settings.php:3041
|
3635 |
msgid "Archive pages"
|
3636 |
msgstr "Strani arhiva"
|
3637 |
|
3638 |
+
#: settings.php:3100
|
3639 |
msgid ""
|
3640 |
"Position not available because output buffering (tab [*]) is not enabled"
|
3641 |
msgstr ""
|
3642 |
"Položaj ni na razpolago ker predpomnjenje izhoda (zavihek [*]) ni omogočeno"
|
3643 |
|
3644 |
+
#: settings.php:3103 strings.php:217
|
3645 |
msgid "Position not checked yet"
|
3646 |
msgstr "Položaj še ni bil preverjen"
|
3647 |
|
3648 |
+
#: settings.php:3134
|
3649 |
msgid "Toggle active/all blocks"
|
3650 |
msgstr "Preklopi aktive/vse bloke"
|
3651 |
|
3652 |
+
#: settings.php:3138 strings.php:204
|
3653 |
msgid "Rearrange block order"
|
3654 |
msgstr "Preuredi vrstni red blokov"
|
3655 |
|
3656 |
+
#: settings.php:3143
|
3657 |
msgid "Save new block order"
|
3658 |
msgstr "Shrani vrstni red blokov"
|
3659 |
|
3660 |
+
#: settings.php:3143
|
3661 |
msgid "Save Changes"
|
3662 |
msgstr "Sharani Nastavitve"
|
3663 |
|
3664 |
+
#: settings.php:3168
|
3665 |
msgid "Toggle active/all ad units"
|
3666 |
msgstr "Preklopi aktivne/vse oglasne enote"
|
3667 |
|
3668 |
+
#: settings.php:3172
|
3669 |
msgid "Reload AdSense ad units"
|
3670 |
msgstr "Ponovno naloži oglasne enote AdSense"
|
3671 |
|
3672 |
+
#: settings.php:3176
|
3673 |
msgid "Clear authorization to access AdSense account"
|
3674 |
msgstr "Odstrani avtorizacijo za dostop do računa AdSense"
|
3675 |
|
3676 |
+
#: settings.php:3180 settings.php:3802 settings.php:3869 strings.php:212
|
3677 |
msgid "Google AdSense Homepage"
|
3678 |
msgstr "Google AdSense Domača Stran"
|
3679 |
|
3680 |
+
#: settings.php:3203
|
3681 |
+
msgid "Reload ads.txt file"
|
3682 |
+
msgstr "Ponovno naloži datoteko ads.txt"
|
3683 |
+
|
3684 |
+
#. translators: %s: ads.txt
|
3685 |
+
#: settings.php:3207
|
3686 |
+
msgid "Open %s"
|
3687 |
+
msgstr "Odpri %s"
|
3688 |
+
|
3689 |
+
#: settings.php:3211
|
3690 |
+
msgid "Switch to table view"
|
3691 |
+
msgstr "Preklopi na tabelarični pogled"
|
3692 |
+
|
3693 |
+
#: settings.php:3215
|
3694 |
+
msgid "Switch to editor"
|
3695 |
+
msgstr "Preklopi na urejevalnik"
|
3696 |
+
|
3697 |
+
#: settings.php:3219
|
3698 |
+
msgid "Save ads.txt file"
|
3699 |
+
msgstr "Shrani datoteko ads.txt"
|
3700 |
+
|
3701 |
+
#: settings.php:3350 strings.php:197
|
3702 |
+
msgid "Warning"
|
3703 |
+
msgstr "Opozorilo"
|
3704 |
+
|
3705 |
+
#: settings.php:3350
|
3706 |
+
msgid "ads.txt file must be placed on the root domain"
|
3707 |
+
msgstr "Datoteka ads.txt mora biti nameščena na korensko domeno"
|
3708 |
+
|
3709 |
+
#. translators: %s: file path
|
3710 |
+
#: settings.php:3351
|
3711 |
+
msgid "WordPress is installed in %s"
|
3712 |
+
msgstr "WordPress je nameščen v %s"
|
3713 |
+
|
3714 |
+
#: settings.php:3352
|
3715 |
+
msgid "Showing file"
|
3716 |
+
msgstr "Prikazana datoteka"
|
3717 |
+
|
3718 |
+
#: settings.php:3359
|
3719 |
+
msgid "Account IDs found in blocks but not present in the ads.txt file"
|
3720 |
+
msgstr ""
|
3721 |
+
"IDji računov najdeni v blokih, vendar pa niso prisotni v datoteki ads.txt"
|
3722 |
+
|
3723 |
+
#: settings.php:3376
|
3724 |
+
msgid "Advertising system"
|
3725 |
+
msgstr "Oglaševalski sistem"
|
3726 |
+
|
3727 |
+
#: settings.php:3377
|
3728 |
+
msgid "Account ID"
|
3729 |
+
msgstr "ID Računa"
|
3730 |
+
|
3731 |
+
#: settings.php:3379
|
3732 |
+
msgid "Certification authority ID"
|
3733 |
+
msgstr "ID organa za potrjevanje"
|
3734 |
+
|
3735 |
+
#: settings.php:3394
|
3736 |
+
msgid "Account ID found in block and present in ads.txt"
|
3737 |
+
msgstr "ID računa najden v bloku in prisoten v datoteki ads.txt"
|
3738 |
+
|
3739 |
+
#: settings.php:3398
|
3740 |
+
msgid "Account ID found in block but not present in ads.txt"
|
3741 |
+
msgstr "ID računa najden v bloku, vendar ni prisoten v datoteki ads.txt"
|
3742 |
+
|
3743 |
+
#: settings.php:3614
|
3744 |
msgid "Preview block"
|
3745 |
msgstr "Predogled bloka"
|
3746 |
|
3747 |
+
#: settings.php:3623
|
3748 |
msgid "Insertion disabled"
|
3749 |
msgstr "Vstavljanje onemogočeno"
|
3750 |
|
3751 |
+
#: settings.php:3647
|
3752 |
msgid "Widget positions"
|
3753 |
msgstr "Položaji gradnikov"
|
3754 |
|
3755 |
+
#: settings.php:3713
|
3756 |
msgid "Ad unit"
|
3757 |
msgstr "Enota"
|
3758 |
|
3759 |
+
#: settings.php:3715
|
3760 |
msgid "Slot ID"
|
3761 |
msgstr "ID mesta"
|
3762 |
|
3763 |
+
#: settings.php:3741
|
3764 |
msgid "Copy AdSense code"
|
3765 |
msgstr "Kopiraj kodo AdSense"
|
3766 |
|
3767 |
+
#: settings.php:3744
|
3768 |
msgid "Preview AdSense ad"
|
3769 |
msgstr "Predogled oglasa AdSense"
|
3770 |
|
3771 |
+
#: settings.php:3747
|
3772 |
msgid "Get AdSense code"
|
3773 |
msgstr "Pridobi kodo AdSense"
|
3774 |
|
3775 |
#. translators: %s: HTML tags
|
3776 |
+
#: settings.php:3779
|
3777 |
msgid ""
|
3778 |
"Please %s clear authorization %s with the button %s above and once again "
|
3779 |
"authorize access to your AdSense account."
|
3781 |
"Prosimo, %s odstranite avtorizacijo %s z gumbom %s zgoraj in še enkrat "
|
3782 |
"avtorizirajte dostop do vašega računa AdSense."
|
3783 |
|
3784 |
+
#: settings.php:3798
|
3785 |
msgid "AdSense Integration"
|
3786 |
msgstr "Integracija AdSense"
|
3787 |
|
3788 |
+
#: settings.php:3800
|
3789 |
msgid "AdSense Integration - Step 2"
|
3790 |
msgstr "Integracija AdSense - Korak 2"
|
3791 |
|
3792 |
#. translators: %s: HTML tags
|
3793 |
+
#: settings.php:3806
|
3794 |
msgid ""
|
3795 |
"Authorize %s to access your AdSense account. Click on the %s Get "
|
3796 |
"Authorization Code %s button to open a new window where you can allow "
|
3803 |
"Avtoriziraj. %s"
|
3804 |
|
3805 |
#. translators: %s: HTML tags
|
3806 |
+
#: settings.php:3813
|
3807 |
msgid ""
|
3808 |
"If you get error, can't access ad units or would like to use own Google API "
|
3809 |
"IDs click on the button %s Use own API IDs %s to enter Client ID and Client "
|
3814 |
"je %s za vnos podatkov ID Klienta in Skrivnost Klienta."
|
3815 |
|
3816 |
#. translators: %s: HTML tags
|
3817 |
+
#: settings.php:3815
|
3818 |
msgid ""
|
3819 |
"Now you can authorize %s to access your AdSense account. Click on the %s Get "
|
3820 |
"Authorization Code %s button to open a new window where you can allow "
|
3827 |
"gumb %s Avtoriziraj. %s"
|
3828 |
|
3829 |
#. translators: %s: HTML tags
|
3830 |
+
#: settings.php:3822
|
3831 |
msgid ""
|
3832 |
"If you get error %s invalid client %s click on the button %s Clear and "
|
3833 |
"return to Step 1 %s to re-enter Client ID and Client Secret."
|
3835 |
"Če se pojavi napaka %s neveljaven klient %s, kliknite na gumb %s Odstrani in "
|
3836 |
"se vrni na Korak 1 %s za ponoven vnos ID klienta in Skrivnost Klienta."
|
3837 |
|
3838 |
+
#: settings.php:3833
|
3839 |
msgid "Get Authorization Code"
|
3840 |
msgstr "Pridobi Avtoriazcijsko Kodo"
|
3841 |
|
3842 |
+
#: settings.php:3836
|
3843 |
msgid "Enter Authorization Code"
|
3844 |
msgstr "Vnesi Avorizacijsko Kodo"
|
3845 |
|
3846 |
+
#: settings.php:3846
|
3847 |
msgid "Use own API IDs"
|
3848 |
msgstr "Uporabi lastne API ID-je"
|
3849 |
|
3850 |
+
#: settings.php:3848
|
3851 |
msgid "Clear and return to Step 1"
|
3852 |
msgstr "Odstrani in se vrni na Korak 1"
|
3853 |
|
3854 |
+
#: settings.php:3852
|
3855 |
msgid "Authorize"
|
3856 |
msgstr "Avtoriziraj"
|
3857 |
|
3858 |
+
#: settings.php:3868
|
3859 |
msgid "AdSense Integration - Step 1"
|
3860 |
msgstr "Integracija AdSense - Korak 1"
|
3861 |
|
3862 |
#. translators: %s: Ad Inserter
|
3863 |
+
#: settings.php:3872
|
3864 |
msgid ""
|
3865 |
"Here can %s list configured AdSense ad units and get code for AdSense ads. "
|
3866 |
"To do this you need to authorize %s to access your AdSense account. The "
|
3873 |
"Klienta in Skrivnost Klienta."
|
3874 |
|
3875 |
#. translators: %s: HTML tags
|
3876 |
+
#: settings.php:3881
|
3877 |
msgid "Go to %s Google APIs and Services console %s"
|
3878 |
msgstr "Pojdite na %s konzolo Google API-ji in Storitve %s"
|
3879 |
|
3880 |
#. translators: %1: Ad Inserter, 2, 3: HTML tags
|
3881 |
+
#: settings.php:3882
|
3882 |
msgid ""
|
3883 |
"Create %1$s project - if the project and IDs are already created click on "
|
3884 |
"the %2$s Credentials %3$s in the sidebar and go to step 16"
|
3887 |
"%2$s Pooblastila %3$s v stranski vrstici in pojdite na korak 16"
|
3888 |
|
3889 |
#. translators: %s: HTML tags
|
3890 |
+
#: settings.php:3883
|
3891 |
msgid ""
|
3892 |
"Click on project selection and then click on the %s NEW PROJECT %s button to "
|
3893 |
"create a new project"
|
3896 |
"ustvaritev novega projekta"
|
3897 |
|
3898 |
#. translators: 1: Ad Inserter, 2, 3: HTML tags
|
3899 |
+
#: settings.php:3884
|
3900 |
msgid "Enter %1$s for project name and click on the %2$s Create %3$s button"
|
3901 |
msgstr "Vnesite %1$s za ime projekta in kliknite na gumb %2$s Ustvari %3$s"
|
3902 |
|
3903 |
#. translators: %s: HTML tags
|
3904 |
+
#: settings.php:3885
|
3905 |
msgid ""
|
3906 |
"Click on project selection, wait for the project to be created and then and "
|
3907 |
"select %s as the current project"
|
3910 |
"izberite %s kot trenutni projekt"
|
3911 |
|
3912 |
#. translators: %s: HTML tags
|
3913 |
+
#: settings.php:3886
|
3914 |
msgid "Click on %s ENABLE APIS AND SERVICES %s"
|
3915 |
msgstr "Klinkite na %s OMOGOČI API-je IN STORITVE %s"
|
3916 |
|
3917 |
#. translators: %s: HTML tags
|
3918 |
+
#: settings.php:3887
|
3919 |
msgid "Search for adsense and enable %s"
|
3920 |
msgstr "Poiščite adsense in omogočite %s"
|
3921 |
|
3922 |
#. translators: %s: HTML tags
|
3923 |
+
#: settings.php:3888
|
3924 |
msgid "Click on %s CREATE CREDENTIALS %s"
|
3925 |
msgstr "Klinkite na %s USTVARI POOBLASTILA %s"
|
3926 |
|
3927 |
#. translators: %s: HTML tags
|
3928 |
+
#: settings.php:3889
|
3929 |
msgid "For %s Where will you be calling the API from? %s select %s Other UI %s"
|
3930 |
msgstr "Za %s Od kod boste klicali API-je? %s izberite %s Drugi UI %s"
|
3931 |
|
3932 |
#. translators: %s: HTML tags
|
3933 |
+
#: settings.php:3890
|
3934 |
msgid "For %s What data will you be accessing? %s select %s User data %s"
|
3935 |
msgstr ""
|
3936 |
"Za %s Do katerih podatkov boste dostopali? %s izberite %s Uporabniški "
|
3937 |
"podatki %s"
|
3938 |
|
3939 |
#. translators: %s: HTML tags
|
3940 |
+
#: settings.php:3891
|
3941 |
msgid "Click on %s What credentials do I need? %s"
|
3942 |
msgstr "Kliknite na %s Kakšna pooblastila potrebujem? %s"
|
3943 |
|
3944 |
#. translators: %s: HTML tags
|
3945 |
+
#: settings.php:3892
|
3946 |
msgid ""
|
3947 |
"Create an OAuth 2.0 client ID: For %s OAuth 2.0 client ID %s name enter %s "
|
3948 |
"Ad Inserter client %s"
|
3951 |
"%s Ad Inserter klient %s"
|
3952 |
|
3953 |
#. translators: %s: HTML tags
|
3954 |
+
#: settings.php:3893
|
3955 |
msgid ""
|
3956 |
"Set up the OAuth 2.0 consent screen: For %s Product name shown to users %s "
|
3957 |
"enter %s"
|
3960 |
"uporabnikom %s vnesite %s"
|
3961 |
|
3962 |
#. translators: %s: HTML tags
|
3963 |
+
#: settings.php:3894
|
3964 |
msgid "Click on %s Continue %s"
|
3965 |
msgstr "Kliknite na %s Nadaljuj %s"
|
3966 |
|
3967 |
#. translators: %s: HTML tags
|
3968 |
+
#: settings.php:3895
|
3969 |
msgid "Click on %s Done %s"
|
3970 |
msgstr "Kliknite na %s Končaj %s"
|
3971 |
|
3972 |
#. translators: %s: HTML tags
|
3973 |
+
#: settings.php:3896
|
3974 |
msgid ""
|
3975 |
"Click on %s Ad Inserter client %s to get %s Client ID %s and %s Client "
|
3976 |
"secret %s"
|
3978 |
"Kliknite na %s Ad Inserter klient, %s da bi dobili %s ID klienta %s in %s "
|
3979 |
"Skrivnost klienta %s"
|
3980 |
|
3981 |
+
#: settings.php:3897
|
3982 |
msgid "Copy them to the appropriate fields below"
|
3983 |
msgstr "Skopirajte ju na ustrezni polji spodaj"
|
3984 |
|
3985 |
+
#: settings.php:3903
|
3986 |
msgid "Client ID"
|
3987 |
msgstr "ID klienta"
|
3988 |
|
3989 |
+
#: settings.php:3906
|
3990 |
msgid "Enter Client ID"
|
3991 |
msgstr "Vnesite ID klienta"
|
3992 |
|
3993 |
+
#: settings.php:3911
|
3994 |
msgid "Client secret"
|
3995 |
msgstr "Skrivnost klienta"
|
3996 |
|
3997 |
+
#: settings.php:3914
|
3998 |
msgid "Enter Client secret"
|
3999 |
msgstr "Vnesite Skrivnost klienta"
|
4000 |
|
4001 |
+
#: settings.php:3924
|
4002 |
msgid "Use default API IDs"
|
4003 |
msgstr "Uporabi privzete API ID-je"
|
4004 |
|
4005 |
+
#: settings.php:3929
|
4006 |
msgid "Save"
|
4007 |
msgstr "Shrani"
|
4008 |
|
4009 |
+
#: settings.php:4205 settings.php:4218 settings.php:4231 settings.php:4246
|
4010 |
msgid "Blank ad blocks? Looking for AdSense alternative?"
|
4011 |
msgstr "Prazni oglasni bloki? Iščete alternativo za AdSense?"
|
4012 |
|
4013 |
+
#: settings.php:4210 settings.php:4223 settings.php:4236 settings.php:4251
|
4014 |
+
#: settings.php:4420 settings.php:4424 settings.php:4426 settings.php:4442
|
4015 |
+
#: settings.php:4453 settings.php:4456 settings.php:4462 settings.php:4474
|
4016 |
msgid "Looking for AdSense alternative?"
|
4017 |
msgstr "Iščete alternativo za AdSense?"
|
4018 |
|
4019 |
+
#: settings.php:4262
|
4020 |
msgid "Try Infolinks Ads with Adsense or Media.net ads"
|
4021 |
msgstr "Poskusite oglase Infolinks z oglasi AdSense ali Media.net"
|
4022 |
|
4023 |
+
#: settings.php:4267 settings.php:4422 settings.php:4434 settings.php:4459
|
4024 |
+
#: settings.php:4482
|
4025 |
msgid "Use Infolinks ads with Adsense to earn more"
|
4026 |
msgstr "Uporabite oglase Infolinks z AdSense za večji zaslužek"
|
4027 |
|
4028 |
+
#: settings.php:4286 settings.php:4324
|
4029 |
msgid "Support plugin development"
|
4030 |
msgstr "Podprite razvoj vtičnika"
|
4031 |
|
4032 |
+
#: settings.php:4287 settings.php:4325
|
4033 |
msgid ""
|
4034 |
"If you like Ad Inserter and have a moment, please help me spread the word by "
|
4035 |
"reviewing the plugin on WordPres"
|
4037 |
"Če vam je Ad Inserter všeč in imate trenutek časa, mi prosim pomagajte "
|
4038 |
"razširiti novico z oceno vtičnika na WordPress-u"
|
4039 |
|
4040 |
+
#: settings.php:4287
|
4041 |
msgctxt "Review ad Inserter"
|
4042 |
msgid "Review"
|
4043 |
msgstr "Oceni"
|
4044 |
|
4045 |
+
#: settings.php:4288
|
4046 |
msgid ""
|
4047 |
"Support free Ad Inserter development. If you are making money with Ad "
|
4048 |
"Inserter consider donating some small amount. Even 1 dollar counts. Thank "
|
4051 |
"Podprite razvoj brezplačnega Ad Inserter-ja. Če služite denar z Ad Inserter-"
|
4052 |
"jem razmislite o donaciji manjšega zneska. Tudi 1 evro šteje. Hvala!"
|
4053 |
|
4054 |
+
#: settings.php:4288
|
4055 |
msgid "Donate"
|
4056 |
msgstr "Donirajte"
|
4057 |
|
4058 |
+
#: settings.php:4295 settings.php:4340
|
4059 |
msgid "Average rating of the plugin - Thank you!"
|
4060 |
msgstr "Povprečna ocena vtičnika - Hvala!"
|
4061 |
|
4062 |
#. translators: %s: Ad Inserter, HTML tags
|
4063 |
+
#: settings.php:4306
|
4064 |
msgid ""
|
4065 |
"You've been using %s for a while now, and I hope you're happy with it. "
|
4066 |
"Positive %s reviews %s are a great way to show your appreciation for my "
|
4074 |
"vzpodbuda za odpravo hroščev in dodajanje novih funkcij za boljšo "
|
4075 |
"monetizacijo vašega spletnega mesta. %s Hvala!"
|
4076 |
|
4077 |
+
#: settings.php:4325
|
4078 |
msgid "Review"
|
4079 |
msgstr "Ocena"
|
4080 |
|
4081 |
+
#: settings.php:4329
|
4082 |
msgid "Ad Inserter on Twitter"
|
4083 |
msgstr "Ad Inserter na Twitter-ju"
|
4084 |
|
4085 |
+
#: settings.php:4330
|
4086 |
msgid "Ad Inserter on Facebook"
|
4087 |
msgstr "Ad Inserter na Facebook-u"
|
4088 |
|
4089 |
+
#: settings.php:4333
|
4090 |
msgid "Follow Ad Inserter"
|
4091 |
msgstr "Sledi Ad Inserter-ju"
|
4092 |
|
4093 |
#. translators: %s: HTML tags
|
4094 |
+
#: settings.php:4360
|
4095 |
msgid ""
|
4096 |
"Need help with %s settings? %s Check %s Quick Start, %s %s Code Editing %s "
|
4097 |
"and %s Common Settings %s pages"
|
4100 |
"Urejanje Kode, %s %s Pogoste Nastavitve %s"
|
4101 |
|
4102 |
#. translators: %s: HTML tags
|
4103 |
+
#: settings.php:4372
|
4104 |
msgid ""
|
4105 |
"%s New to %s AdSense? %s %s %s Connect your site %s - Advanced %s AdSense "
|
4106 |
"code: %s %s In-feed ads, %s %s Auto ads, %s %s AMP ads %s"
|
4110 |
"%s"
|
4111 |
|
4112 |
#. translators: %s: HTML tags
|
4113 |
+
#: settings.php:4391
|
4114 |
msgid ""
|
4115 |
"Ads are not showing? Check %s troubleshooting guide %s to find out how to "
|
4116 |
"diagnose and fix the problem."
|
4119 |
"navodili za diagnozo in rešitvami za težave."
|
4120 |
|
4121 |
#. translators: %s: HTML tags
|
4122 |
+
#: settings.php:4395
|
4123 |
msgid ""
|
4124 |
"If you need any kind of help or support, please do not hesitate to open a "
|
4125 |
"thread on the %s support forum. %s"
|
4127 |
"Če potrebujete kakršno koli pomoč ali podporo ne oklevajte in odprite novo "
|
4128 |
"nit na %s podpornem forumu. %s"
|
4129 |
|
4130 |
+
#: settings.php:4438 settings.php:4478
|
4131 |
msgid "A/B testing - Track ad impressions and clicks"
|
4132 |
msgstr "A/B testiranje - Sledi prikazom in klikom"
|
4133 |
|
4134 |
+
#: settings.php:4446 settings.php:4470
|
4135 |
msgid "Code preview with visual CSS editor"
|
4136 |
msgstr "Predogled kode z vizualnim CSS urejevalnikom"
|
4137 |
|
4138 |
+
#: settings.php:4488
|
4139 |
msgid "Looking for Pro Ad Management plugin?"
|
4140 |
msgstr "Iščete Pro vtičnik za Upravljanje z Oglasi?"
|
4141 |
|
4142 |
+
#: settings.php:4489
|
4143 |
msgid "To Optimally Monetize your WordPress website?"
|
4144 |
msgstr "Za optimalno monetizacijo vašega WordPress spletnega mesta?"
|
4145 |
|
4146 |
#. translators: %s HTML tags
|
4147 |
+
#: settings.php:4492
|
4148 |
msgid "%s AdSense Integration %s"
|
4149 |
msgstr "%s Integracija AdSense %s"
|
4150 |
|
4151 |
#. translators: %s HTML tags
|
4152 |
+
#: settings.php:4493
|
4153 |
msgid "Syntax highlighting %s editor %s"
|
4154 |
msgstr "%s Urejevalnik %s s poudarjanjem sintakse"
|
4155 |
|
4156 |
#. translators: %s HTML tags
|
4157 |
+
#: settings.php:4494
|
4158 |
msgid "%s Code preview %s with visual CSS editor"
|
4159 |
msgstr "%s Predogled kode %s z vizualnim CSS urejevalnikom"
|
4160 |
|
4161 |
#. translators: %s HTML tags
|
4162 |
+
#: settings.php:4495
|
4163 |
msgid "Simple user interface - all settings on a single page"
|
4164 |
msgstr "Preprost uporabniški vmesnik - vse nastavitve na eni strani"
|
4165 |
|
4166 |
#. translators: %s HTML tags
|
4167 |
+
#: settings.php:4496
|
4168 |
msgid ""
|
4169 |
"%s Automatic insertion %s before or after post / content / %s paragraph %s / "
|
4170 |
"image / excerpt"
|
4173 |
"%s / sliko / izvlečkom"
|
4174 |
|
4175 |
#. translators: %s HTML tags
|
4176 |
+
#: settings.php:4497
|
4177 |
msgid "%s Automatic insertion %s between posts on blog pages"
|
4178 |
msgstr "%s Samodejno vstavljanje %s med prispevki na straneh bloga"
|
4179 |
|
4180 |
#. translators: %s HTML tags
|
4181 |
+
#: settings.php:4498
|
4182 |
msgid "%s Automatic insertion %s before, between and after comments"
|
4183 |
msgstr "%s Samodejno vstavljanje %s pred, med in po kometarjih"
|
4184 |
|
4185 |
#. translators: %s HTML tags
|
4186 |
+
#: settings.php:4499
|
4187 |
msgid "%s Automatic insertion %s after %s or before %s tag"
|
4188 |
msgstr "%s Samodejno vstavljanje %s za %s ali pred %s začko"
|
4189 |
|
4190 |
#. translators: %s HTML tags
|
4191 |
+
#: settings.php:4500
|
4192 |
msgid "Automatic insertion at %s custom hook positions %s"
|
4193 |
msgstr "Samodejno vstavljanje na %s položajih ročic po meri %s"
|
4194 |
|
4195 |
#. translators: %s HTML tags
|
4196 |
+
#: settings.php:4501
|
4197 |
msgid ""
|
4198 |
"Insertion %s before or after any HTML element on the page %s (using CSS "
|
4199 |
"selectors)"
|
4202 |
"selektorjev)"
|
4203 |
|
4204 |
#. translators: %s HTML tags
|
4205 |
+
#: settings.php:4502
|
4206 |
msgid "%s Insertion exceptions %s for individual posts and pages"
|
4207 |
msgstr "%s Izjeme vstavljanja %s za individualne prispevke in strani"
|
4208 |
|
4209 |
#. translators: %s HTML tags
|
4210 |
+
#: settings.php:4503
|
4211 |
msgid "%s Manual insertion: %s widgets, shortcodes, PHP function call"
|
4212 |
msgstr "%s Ročno vstavljanje: %s gradniki, kratke kode in klic PHP funkcije"
|
4213 |
|
4214 |
#. translators: %s HTML tags
|
4215 |
+
#: settings.php:4504
|
4216 |
msgid ""
|
4217 |
"%s Sticky ads %s with optional close button (ads stay fixed when the page "
|
4218 |
"scrolls)"
|
4221 |
"se stran pomika)"
|
4222 |
|
4223 |
#. translators: %s HTML tags
|
4224 |
+
#: settings.php:4505
|
4225 |
msgid "%s Sticky sidebar ads %s (stick to the screen or to the content)"
|
4226 |
msgstr ""
|
4227 |
"%s Lepljivi oglasi v stranski vrstici %s (lepljivi na zaslon ali vsebino)"
|
4228 |
|
4229 |
#. translators: %s HTML tags
|
4230 |
+
#: settings.php:4506
|
4231 |
msgid "%s Sticky ad animations %s (fade, slide, turn, flip, zoom)"
|
4232 |
msgstr ""
|
4233 |
"%s Animacije lepljivih oglasov %s (uveni, drsaj, obrni, prekucni, približaj)"
|
4234 |
|
4235 |
#. translators: %s HTML tags
|
4236 |
+
#: settings.php:4507
|
4237 |
msgid ""
|
4238 |
"%s Sticky ad trigger %s (page scroll in %% or px, HTML element becomes "
|
4239 |
"visible)"
|
4242 |
"postane viden)"
|
4243 |
|
4244 |
#. translators: %s HTML tags
|
4245 |
+
#: settings.php:4508
|
4246 |
msgid ""
|
4247 |
"%s Sticky (fixed) widgets %s (sidebar does not move when the page scrolls)"
|
4248 |
msgstr ""
|
4250 |
"strani)"
|
4251 |
|
4252 |
#. translators: %s HTML tags
|
4253 |
+
#: settings.php:4509
|
4254 |
msgid "Block %s alignment and style %s customizations"
|
4255 |
msgstr "%s Poravnave in slogi %s bloka po meri"
|
4256 |
|
4257 |
#. translators: %s HTML tags
|
4258 |
+
#: settings.php:4510
|
4259 |
msgid ""
|
4260 |
"%s Clearance %s options to avoid insertion near images or headers (AdSense "
|
4261 |
"TOS)"
|
4263 |
"%s Izogibanje %s vstavljanja oglasov zraven slik ali naslovov (AdSense TOS)"
|
4264 |
|
4265 |
#. translators: %s HTML tags
|
4266 |
+
#: settings.php:4511
|
4267 |
msgid ""
|
4268 |
"Options to %s disable insertion %s on Ajax calls, 404 error pages or in RSS "
|
4269 |
"feeds"
|
4272 |
"virih"
|
4273 |
|
4274 |
#. translators: %s HTML tags
|
4275 |
+
#: settings.php:4512
|
4276 |
msgid "%s Ad rotation %s (works also with caching)"
|
4277 |
msgstr "%s Rotacija oglasov %s (deluje tudi s predpomnjenjem)"
|
4278 |
|
4279 |
#. translators: %s HTML tags
|
4280 |
+
#: settings.php:4513
|
4281 |
msgid ""
|
4282 |
"Ad impression and click %s tracking %s (works also with Javascript ads like "
|
4283 |
"AdSense)"
|
4286 |
"AdSense)"
|
4287 |
|
4288 |
#. translators: %s HTML tags
|
4289 |
+
#: settings.php:4514
|
4290 |
msgid "Support for %s A/B testing %s"
|
4291 |
msgstr "Podpora za %s A/B testiranje %s"
|
4292 |
|
4293 |
#. translators: %s HTML tags
|
4294 |
+
#: settings.php:4515
|
4295 |
msgid "Support for %s lazy loading %s"
|
4296 |
msgstr "Podpora za %s leno nalaganje %s"
|
4297 |
|
4298 |
#. translators: %s HTML tags
|
4299 |
+
#: settings.php:4516
|
4300 |
msgid "Support for ads on %s AMP pages %s"
|
4301 |
msgstr "Podpora za oglase na %s AMP straneh %s"
|
4302 |
|
4303 |
#. translators: %s HTML tags
|
4304 |
+
#: settings.php:4517
|
4305 |
msgid "Support for contextual %s Amazon Native Shopping Ads %s (responsive)"
|
4306 |
msgstr "Podpora za kontekstualne %s Amazon Native Shopping Ads %s (odzivni)"
|
4307 |
|
4308 |
#. translators: %s HTML tags
|
4309 |
+
#: settings.php:4518
|
4310 |
msgid "Custom CSS class name for wrapping divs to avoid ad blockers"
|
4311 |
msgstr ""
|
4312 |
"Ime CSS razreda za div za ovijanje po meri za izogibanje blokiranju oglasov"
|
4313 |
|
4314 |
#. translators: %s HTML tags
|
4315 |
+
#: settings.php:4519
|
4316 |
msgid "PHP code processing"
|
4317 |
msgstr "Procesiranje PHP kode"
|
4318 |
|
4319 |
#. translators: %s HTML tags
|
4320 |
+
#: settings.php:4520
|
4321 |
msgid "%s Banner %s code generator"
|
4322 |
msgstr "Generator kode za %s pasice %s"
|
4323 |
|
4324 |
#. translators: %s HTML tags
|
4325 |
+
#: settings.php:4521
|
4326 |
msgid "Support for %s header and footer %s code"
|
4327 |
msgstr "Podpora za kodo v %s glavi in nogi %s"
|
4328 |
|
4329 |
#. translators: %s HTML tags
|
4330 |
+
#: settings.php:4522
|
4331 |
msgid "Support for Google Analytics, Matomo or any other web analytics code"
|
4332 |
msgstr ""
|
4333 |
"Podpora za Google Analytics, Matomo ali katerokoli drugo spletno analitiko"
|
4334 |
|
4335 |
#. translators: %s HTML tags
|
4336 |
+
#: settings.php:4523
|
4337 |
msgid "Desktop, tablet and phone server-side %s device detection %s"
|
4338 |
msgstr ""
|
4339 |
"%s Zaznava namizne, tablične in telefonske naprave %s na strani strani "
|
4340 |
"strežnika"
|
4341 |
|
4342 |
#. translators: %s HTML tags
|
4343 |
+
#: settings.php:4524
|
4344 |
msgid "Client-side %s mobile device detection %s (works with caching)"
|
4345 |
msgstr "%s Zaznava mobilne naprave %s (deluje s predpomnjenjem)"
|
4346 |
|
4347 |
#. translators: %s HTML tags
|
4348 |
+
#: settings.php:4525
|
4349 |
msgid ""
|
4350 |
"%s Ad blocking detection %s - popup message, ad replacement, content "
|
4351 |
"protection"
|
4354 |
"vsebine"
|
4355 |
|
4356 |
#. translators: %s HTML tags
|
4357 |
+
#: settings.php:4526
|
4358 |
msgid "%s Ad blocking statistics %s"
|
4359 |
msgstr "%s Statistika blokiranja oglasov %s"
|
4360 |
|
4361 |
#. translators: %s HTML tags
|
4362 |
+
#: settings.php:4527
|
4363 |
msgid ""
|
4364 |
"%s Black/White-list %s categories, tags, taxonomies, users, post IDs, urls, "
|
4365 |
"referers"
|
4367 |
"%s Črni/Beli seznam %s kategorij, oznak, taksonomij, uporabnikov, url-jev"
|
4368 |
|
4369 |
#. translators: %s HTML tags
|
4370 |
+
#: settings.php:4528
|
4371 |
msgid ""
|
4372 |
"%s Black/White-list %s IP addresses or countries (works also with caching)"
|
4373 |
msgstr ""
|
4374 |
"%s Črni/Beli seznam %s IP naslovov ali držav (deluje tudi s predpomnjenjem)"
|
4375 |
|
4376 |
#. translators: %s HTML tags
|
4377 |
+
#: settings.php:4529
|
4378 |
msgid "%s Multisite options %s to limit settings on the sites"
|
4379 |
msgstr "%s Multisite možnosti %s za omejitev nastavitev na spletiščih"
|
4380 |
|
4381 |
#. translators: %s HTML tags
|
4382 |
+
#: settings.php:4530
|
4383 |
msgid "%s Import/Export %s block or plugin settings"
|
4384 |
msgstr "%s Uvoz/Izvoz %s nastavitve bloka ali vtičnika"
|
4385 |
|
4386 |
#. translators: %s HTML tags
|
4387 |
+
#: settings.php:4531
|
4388 |
msgid "%s Insertion scheduling %s with fallback option"
|
4389 |
msgstr "%s Urnik vstavljanja %s z možnostjo rezerve"
|
4390 |
|
4391 |
#. translators: %s HTML tags
|
4392 |
+
#: settings.php:4532
|
4393 |
msgid "Country-level %s GEO targeting %s (works also with caching)"
|
4394 |
msgstr "%s GEO ciljanje na ravni države %s (deluje tudi s predpomnjenjem)"
|
4395 |
|
4396 |
#. translators: %s HTML tags
|
4397 |
+
#: settings.php:4533
|
4398 |
msgid "Simple troubleshooting with many %s debugging functions %s"
|
4399 |
msgstr ""
|
4400 |
"Preprosto odpravljanje napak z veliko %s funkcijami za razhroščevanje %s"
|
4401 |
|
4402 |
#. translators: %s HTML tags
|
4403 |
+
#: settings.php:4534
|
4404 |
msgid "%s Visualization %s of inserted blocks or ads for easier placement"
|
4405 |
msgstr ""
|
4406 |
"%s Vizualizacija %s vstavljenih blokov ali oglasov za enostavno umeščanje"
|
4407 |
|
4408 |
#. translators: %s HTML tags
|
4409 |
+
#: settings.php:4535
|
4410 |
msgid "%s Visualization %s of available positions for automatic ad insertion"
|
4411 |
msgstr ""
|
4412 |
"%s Vizualizacija %s razpoložljivih položajev za samodejno vstavljanje oglasov"
|
4413 |
|
4414 |
#. translators: %s HTML tags
|
4415 |
+
#: settings.php:4536
|
4416 |
msgid ""
|
4417 |
"%s Visualization %s of HTML tags for easier ad placement between paragraphs"
|
4418 |
msgstr ""
|
4419 |
"%s Vizualizacija %s HTML značk za enostavno vstavljanje oglasov med odstavki"
|
4420 |
|
4421 |
#. translators: %s HTML tags
|
4422 |
+
#: settings.php:4537
|
4423 |
msgid "%s Clipboard support %s to easily copy blocks or settings"
|
4424 |
msgstr ""
|
4425 |
"%s Podpora za odložišče %s za enostavno kopiranje blokov ali nastavitev"
|
4426 |
|
4427 |
#. translators: %s HTML tags
|
4428 |
+
#: settings.php:4538
|
4429 |
msgid "No ads on the settings page"
|
4430 |
msgstr "Stran z nastavitvami brez oglasov"
|
4431 |
|
4432 |
#. translators: %s HTML tags
|
4433 |
+
#: settings.php:4539
|
4434 |
msgid "Premium support via email"
|
4435 |
msgstr "Vrhunska podpora prek elektronske pošte"
|
4436 |
|
4437 |
#. translators: %s HTML tags
|
4438 |
+
#: settings.php:4542
|
4439 |
msgid ""
|
4440 |
"Ad Inserter Pro is a complete all-in-one ad management plugin for WordPress "
|
4441 |
"website with many advertising features to automatically insert adverts on "
|
4462 |
"bodo ohranile)."
|
4463 |
|
4464 |
#. translators: %s HTML tags
|
4465 |
+
#: settings.php:4555
|
4466 |
msgid "Looking for %s Pro Ad Management plugin? %s"
|
4467 |
msgstr "Iščete Pro vtičnik za %s Upravljanje z Oglasi? %s"
|
4468 |
|
4469 |
#. translators: %s HTML tags
|
4470 |
+
#: settings.php:4560
|
4471 |
msgid "Ads between posts"
|
4472 |
msgstr "Oglasi med prispevki"
|
4473 |
|
4474 |
#. translators: %s HTML tags
|
4475 |
+
#: settings.php:4561
|
4476 |
msgid "Ads between comments"
|
4477 |
msgstr "Oglasi med komentarji"
|
4478 |
|
4479 |
#. translators: %s HTML tags
|
4480 |
+
#: settings.php:4562
|
4481 |
msgid "Support via email"
|
4482 |
msgstr "Podpora prek elektronske pošte"
|
4483 |
|
4484 |
#. translators: %s HTML tags
|
4485 |
+
#: settings.php:4568
|
4486 |
msgid "%s Sticky positions %s"
|
4487 |
msgstr "%s Lepljivi položaji %s"
|
4488 |
|
4489 |
#. translators: %s HTML tags
|
4490 |
+
#: settings.php:4569
|
4491 |
msgid "%s Limit insertions %s"
|
4492 |
msgstr "%s Omeji vstavljanja %s"
|
4493 |
|
4494 |
#. translators: %s HTML tags
|
4495 |
+
#: settings.php:4570
|
4496 |
msgid "%s Clearance %s options"
|
4497 |
msgstr "Možnosti %s izogibanja %s"
|
4498 |
|
4499 |
#. translators: %s HTML tags
|
4500 |
+
#: settings.php:4576
|
4501 |
msgid "Ad rotation"
|
4502 |
msgstr "Vrtenje oglasov"
|
4503 |
|
4504 |
#. translators: %s HTML tags
|
4505 |
+
#: settings.php:4577
|
4506 |
msgid "%s A/B testing %s"
|
4507 |
msgstr "%s A/B testiranje %s"
|
4508 |
|
4509 |
#. translators: %s HTML tags
|
4510 |
+
#: settings.php:4578
|
4511 |
msgid "%s Ad tracking %s"
|
4512 |
msgstr "%s Sledenje oglasom %s"
|
4513 |
|
4514 |
#. translators: %s HTML tags
|
4515 |
+
#: settings.php:4584
|
4516 |
msgid "Support for %s AMP pages %s"
|
4517 |
msgstr "Podpora za %s AMP strani %s"
|
4518 |
|
4519 |
#. translators: %s HTML tags
|
4520 |
+
#: settings.php:4585
|
4521 |
msgid "%s Ad blocking detection %s"
|
4522 |
msgstr "%s Zaznavanje blokiranja oglasov %s"
|
4523 |
|
4524 |
#. translators: %s HTML tags
|
4525 |
+
#: settings.php:4586
|
4526 |
msgid "%s Mobile device detection %s"
|
4527 |
msgstr "%s Zaznavanje mobilne naprave %s"
|
4528 |
|
4529 |
#. translators: %s HTML tags
|
4530 |
+
#: settings.php:4593
|
4531 |
msgid "64 code blocks"
|
4532 |
msgstr "64 kodnih blokov"
|
4533 |
|
4534 |
#. translators: %s HTML tags
|
4535 |
+
#: settings.php:4594
|
4536 |
msgid "%s GEO targeting %s"
|
4537 |
msgstr "%s GEO ciljanje %s"
|
4538 |
|
4539 |
#. translators: %s HTML tags
|
4540 |
+
#: settings.php:4595
|
4541 |
msgid "%s Scheduling %s"
|
4542 |
msgstr "%s Urnik %s"
|
4543 |
|
5191 |
msgstr[2] "dni"
|
5192 |
msgstr[3] "dni"
|
5193 |
|
|
|
|
|
|
|
|
|
5194 |
#: strings.php:198
|
5195 |
msgid "Delete"
|
5196 |
msgstr "Pobriši"
|
languages/ad-inserter.pot
CHANGED
@@ -2,9 +2,9 @@
|
|
2 |
# This file is distributed under the same license as the Ad Inserter package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: Ad Inserter 2.4.
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/ad-inserter\n"
|
7 |
-
"POT-Creation-Date: 2019-
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -12,465 +12,465 @@ msgstr ""
|
|
12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
13 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
14 |
|
15 |
-
#: ad-inserter.php:
|
16 |
msgctxt "Menu item"
|
17 |
msgid "Debugging DEMO"
|
18 |
msgstr ""
|
19 |
|
20 |
-
#: ad-inserter.php:
|
21 |
msgctxt "Menu item"
|
22 |
msgid "Label Blocks"
|
23 |
msgstr ""
|
24 |
|
25 |
-
#: ad-inserter.php:
|
26 |
msgctxt "Menu item"
|
27 |
msgid "Show Positions"
|
28 |
msgstr ""
|
29 |
|
30 |
-
#: ad-inserter.php:
|
31 |
msgctxt "Menu item"
|
32 |
msgid "Show HTML Tags"
|
33 |
msgstr ""
|
34 |
|
35 |
-
#: ad-inserter.php:
|
36 |
msgctxt "Menu item"
|
37 |
msgid "Disable Insertion"
|
38 |
msgstr ""
|
39 |
|
40 |
-
#: ad-inserter.php:
|
41 |
msgctxt "Menu item"
|
42 |
msgid "Ad Blocking Status"
|
43 |
msgstr ""
|
44 |
|
45 |
-
#: ad-inserter.php:
|
46 |
msgctxt "Menu item"
|
47 |
msgid "Simulate Ad Blocking"
|
48 |
msgstr ""
|
49 |
|
50 |
-
#: ad-inserter.php:
|
51 |
msgctxt "Menu item"
|
52 |
msgid "Log Processing"
|
53 |
msgstr ""
|
54 |
|
55 |
#. translators: Debugging position name Before HTML element
|
56 |
-
#: ad-inserter.php:
|
57 |
msgid "Before"
|
58 |
msgstr ""
|
59 |
|
60 |
#. translators: Debugging position name After HTML element
|
61 |
-
#: ad-inserter.php:
|
62 |
msgid "After"
|
63 |
msgstr ""
|
64 |
|
65 |
#. translators: Debugging position name Prepend content of HTML element (before
|
66 |
#. the content of the HTML element)
|
67 |
-
#: ad-inserter.php:
|
68 |
msgid "Prepend content"
|
69 |
msgstr ""
|
70 |
|
71 |
#. translators: Debugging position name Append content of HTML element (after
|
72 |
#. the content of the HTML element)
|
73 |
-
#: ad-inserter.php:
|
74 |
msgid "Append content"
|
75 |
msgstr ""
|
76 |
|
77 |
#. translators: Debugging position name Replace content of HTML element
|
78 |
-
#: ad-inserter.php:
|
79 |
msgid "Replace content"
|
80 |
msgstr ""
|
81 |
|
82 |
#. translators: Debugging position name Replace HTML element
|
83 |
-
#: ad-inserter.php:
|
84 |
msgid "Replace"
|
85 |
msgstr ""
|
86 |
|
87 |
#. translators: Debugging message when output buffering is enabled
|
88 |
-
#: ad-inserter.php:
|
89 |
msgid "OUTPUT BUFFERING"
|
90 |
msgstr ""
|
91 |
|
92 |
#. translators: Debugging position
|
93 |
-
#: ad-inserter.php:
|
94 |
msgid "Above Header"
|
95 |
msgstr ""
|
96 |
|
97 |
-
#: ad-inserter.php:
|
98 |
msgctxt "Menu item"
|
99 |
msgid "Log In"
|
100 |
msgstr ""
|
101 |
|
102 |
#. translators: %s: Ad Inserter
|
103 |
-
#: ad-inserter.php:
|
104 |
msgid "%s Settings"
|
105 |
msgstr ""
|
106 |
|
107 |
#. translators: AD BLOCKING DETECTED, PAGE VIEWS: n - NO ACTION
|
108 |
-
#: ad-inserter.php:
|
109 |
msgid "AD BLOCKING DETECTED, PAGE VIEWS"
|
110 |
msgstr ""
|
111 |
|
112 |
-
#: ad-inserter.php:
|
113 |
msgid "NO ACTION"
|
114 |
msgstr ""
|
115 |
|
116 |
-
#: ad-inserter.php:
|
117 |
msgid "AD BLOCKING DETECTED, COOKIE DETECTED - NO ACTION"
|
118 |
msgstr ""
|
119 |
|
120 |
-
#: ad-inserter.php:
|
121 |
msgid "AD BLOCKING DETECTED - ACTION"
|
122 |
msgstr ""
|
123 |
|
124 |
-
#: ad-inserter.php:
|
125 |
msgid "AD BLOCKING NOT DETECTED"
|
126 |
msgstr ""
|
127 |
|
128 |
-
#: ad-inserter.php:
|
129 |
msgid "AD BLOCKING DETECTION COOKIES DELETED"
|
130 |
msgstr ""
|
131 |
|
132 |
-
#: ad-inserter.php:
|
133 |
msgid "AD BLOCKING DETECTED - NO ACTION"
|
134 |
msgstr ""
|
135 |
|
136 |
#. Translators: 1: number of blocks, 2: Ad Inserter
|
137 |
-
#: ad-inserter.php:
|
138 |
msgid "Hey, you are now using %1$s %2$s block."
|
139 |
msgid_plural "Hey, you are now using %1$s %2$s blocks."
|
140 |
msgstr[0] ""
|
141 |
msgstr[1] ""
|
142 |
|
143 |
-
#: ad-inserter.php:
|
144 |
msgid "No, thank you."
|
145 |
msgstr ""
|
146 |
|
147 |
#. Translators: %s: Ad Inserter
|
148 |
-
#: ad-inserter.php:
|
149 |
msgid ""
|
150 |
"Hey, you've been using %s for a while now, and I hope you're happy with it."
|
151 |
msgstr ""
|
152 |
|
153 |
-
#: ad-inserter.php:
|
154 |
msgid "Not now, maybe later."
|
155 |
msgstr ""
|
156 |
|
157 |
-
#: ad-inserter.php:
|
158 |
msgid ""
|
159 |
"I would really appreciate it if you could give the plugin a 5-star rating on "
|
160 |
"WordPres."
|
161 |
msgstr ""
|
162 |
|
163 |
-
#: ad-inserter.php:
|
164 |
msgid ""
|
165 |
"Positive reviews are a great incentive to fix bugs and to add new features "
|
166 |
"for better monetization of your website. Thank you, Igor"
|
167 |
msgstr ""
|
168 |
|
169 |
#. translators: %s: Ad Inserter
|
170 |
-
#: ad-inserter.php:
|
171 |
msgid "Rate %s"
|
172 |
msgstr ""
|
173 |
|
174 |
-
#: ad-inserter.php:
|
175 |
msgid "I already did."
|
176 |
msgstr ""
|
177 |
|
178 |
-
#: ad-inserter.php:
|
179 |
msgctxt "Menu item"
|
180 |
msgid "Settings"
|
181 |
msgstr ""
|
182 |
|
183 |
#. translators: %s: Ad Inserter
|
184 |
-
#: ad-inserter.php:
|
185 |
msgctxt "Meta box name"
|
186 |
msgid "%s Individual Exceptions"
|
187 |
msgstr ""
|
188 |
|
189 |
-
#: ad-inserter.php:
|
190 |
#: includes/preview.php:1966 includes/preview.php:2010
|
191 |
-
#: includes/preview.php:2047 settings.php:
|
192 |
msgid "Block"
|
193 |
msgstr ""
|
194 |
|
195 |
-
#: ad-inserter.php:
|
196 |
msgid "Name"
|
197 |
msgstr ""
|
198 |
|
199 |
-
#: ad-inserter.php:
|
200 |
msgid "Automatic insertion"
|
201 |
msgstr ""
|
202 |
|
203 |
-
#: ad-inserter.php:
|
204 |
msgid "Default insertion for pages"
|
205 |
msgstr ""
|
206 |
|
207 |
-
#: ad-inserter.php:
|
208 |
msgid "Default insertion for posts"
|
209 |
msgstr ""
|
210 |
|
211 |
#. translators: For this post or page
|
212 |
-
#: ad-inserter.php:
|
213 |
msgctxt "Page"
|
214 |
msgid "For this"
|
215 |
msgstr ""
|
216 |
|
217 |
-
#: ad-inserter.php:
|
218 |
msgctxt "Post"
|
219 |
msgid "For this"
|
220 |
msgstr ""
|
221 |
|
222 |
-
#: ad-inserter.php:
|
223 |
msgctxt "Enabled/disabled on all"
|
224 |
msgid "pages"
|
225 |
msgstr ""
|
226 |
|
227 |
-
#: ad-inserter.php:
|
228 |
msgctxt "Default insertion for"
|
229 |
msgid "pages"
|
230 |
msgstr ""
|
231 |
|
232 |
-
#: ad-inserter.php:
|
233 |
msgctxt "Enabled/disabled on all"
|
234 |
msgid "posts"
|
235 |
msgstr ""
|
236 |
|
237 |
-
#: ad-inserter.php:
|
238 |
msgctxt "Default insertion for"
|
239 |
msgid "posts"
|
240 |
msgstr ""
|
241 |
|
242 |
-
#: ad-inserter.php:
|
243 |
msgid "Enabled"
|
244 |
msgstr ""
|
245 |
|
246 |
#. translators: Menu items
|
247 |
-
#: ad-inserter.php:
|
248 |
#: strings.php:16
|
249 |
msgid "Disabled"
|
250 |
msgstr ""
|
251 |
|
252 |
#. translators: Enabled on all pages or posts
|
253 |
-
#: ad-inserter.php:
|
254 |
msgid "Enabled on all"
|
255 |
msgstr ""
|
256 |
|
257 |
#. translators: Disabled on all pages or posts
|
258 |
-
#: ad-inserter.php:
|
259 |
msgid "Disabled on all"
|
260 |
msgstr ""
|
261 |
|
262 |
#. translators: No individual exceptions enabled for pages or posts
|
263 |
-
#: ad-inserter.php:
|
264 |
msgid "No individual exceptions enabled for"
|
265 |
msgstr ""
|
266 |
|
267 |
#. translators: 1: pages or posts, 2: Ad Inserter Settings (page)
|
268 |
-
#: ad-inserter.php:
|
269 |
msgid ""
|
270 |
"Default insertion for %1$s can be configured for each block on %2$s page - "
|
271 |
"selection next to <strong>Posts</strong> / <strong>Static pages</strong> "
|
272 |
"checkbox.<br />"
|
273 |
msgstr ""
|
274 |
|
275 |
-
#: ad-inserter.php:
|
276 |
msgid ""
|
277 |
"Default value is <strong>blank</strong> and means no individual exceptions "
|
278 |
"(even if previously defined here).<br />"
|
279 |
msgstr ""
|
280 |
|
281 |
-
#: ad-inserter.php:
|
282 |
msgctxt "Pages"
|
283 |
msgid ""
|
284 |
"Set to <strong>Individually disabled</strong> or <strong>Individually "
|
285 |
"enabled</strong> to enable individual exception settings on this page.<br />"
|
286 |
msgstr ""
|
287 |
|
288 |
-
#: ad-inserter.php:
|
289 |
msgctxt "Posts"
|
290 |
msgid ""
|
291 |
"Set to <strong>Individually disabled</strong> or <strong>Individually "
|
292 |
"enabled</strong> to enable individual exception settings on this page.<br />"
|
293 |
msgstr ""
|
294 |
|
295 |
-
#: ad-inserter.php:
|
296 |
msgid "For more information check page %s"
|
297 |
msgstr ""
|
298 |
|
299 |
#. translators: Ad Inserter Exceptions documentation page
|
300 |
-
#: ad-inserter.php:
|
301 |
msgid "Individual Exceptions"
|
302 |
msgstr ""
|
303 |
|
304 |
-
#: ad-inserter.php:
|
305 |
msgid "STATIC PAGE"
|
306 |
msgstr ""
|
307 |
|
308 |
-
#: ad-inserter.php:
|
309 |
msgid "POST"
|
310 |
msgstr ""
|
311 |
|
312 |
-
#: ad-inserter.php:
|
313 |
msgid "HOMEPAGE"
|
314 |
msgstr ""
|
315 |
|
316 |
-
#: ad-inserter.php:
|
317 |
msgid "CATEGORY PAGE"
|
318 |
msgstr ""
|
319 |
|
320 |
-
#: ad-inserter.php:
|
321 |
msgid "SEARCH PAGE"
|
322 |
msgstr ""
|
323 |
|
324 |
-
#: ad-inserter.php:
|
325 |
msgid "ARCHIVE PAGE"
|
326 |
msgstr ""
|
327 |
|
328 |
-
#: ad-inserter.php:
|
329 |
msgid "ERROR 404 PAGE"
|
330 |
msgstr ""
|
331 |
|
332 |
-
#: ad-inserter.php:
|
333 |
msgid "AJAX CALL"
|
334 |
msgstr ""
|
335 |
|
336 |
-
#: ad-inserter.php:
|
337 |
msgid "UNKNOWN PAGE TYPE"
|
338 |
msgstr ""
|
339 |
|
340 |
-
#: ad-inserter.php:
|
341 |
msgid "Click to delete ad blocking detection cokies"
|
342 |
msgstr ""
|
343 |
|
344 |
-
#: ad-inserter.php:
|
345 |
msgid "AD BLOCKING STATUS UNKNOWN"
|
346 |
msgstr ""
|
347 |
|
348 |
#. translators: %s: AdSense Auto Ads
|
349 |
-
#: ad-inserter.php:
|
350 |
msgid ""
|
351 |
"Code for %s detected - Code will automatically insert AdSense ads at optimal "
|
352 |
"positions"
|
353 |
msgstr ""
|
354 |
|
355 |
-
#: ad-inserter.php:
|
356 |
msgid "Code for insertion"
|
357 |
msgstr ""
|
358 |
|
359 |
-
#: ad-inserter.php:
|
360 |
msgid "character"
|
361 |
msgid_plural "characters"
|
362 |
msgstr[0] ""
|
363 |
msgstr[1] ""
|
364 |
|
365 |
-
#: ad-inserter.php:
|
366 |
msgid "Header code"
|
367 |
msgstr ""
|
368 |
|
369 |
-
#: ad-inserter.php:
|
370 |
msgctxt "Header code"
|
371 |
msgid "DISABLED"
|
372 |
msgstr ""
|
373 |
|
374 |
-
#: ad-inserter.php:
|
375 |
msgid "character inserted"
|
376 |
msgid_plural "characters inserted"
|
377 |
msgstr[0] ""
|
378 |
msgstr[1] ""
|
379 |
|
380 |
-
#: ad-inserter.php:
|
381 |
msgid "Automatically placed by AdSense Auto ads code"
|
382 |
msgstr ""
|
383 |
|
384 |
-
#: ad-inserter.php:
|
385 |
msgid "Footer code"
|
386 |
msgstr ""
|
387 |
|
388 |
-
#: ad-inserter.php:
|
389 |
msgctxt "Footer code"
|
390 |
msgid "DISABLED"
|
391 |
msgstr ""
|
392 |
|
393 |
-
#: ad-inserter.php:
|
394 |
msgid "JAVASCRIPT NOT WORKING"
|
395 |
msgstr ""
|
396 |
|
397 |
-
#: ad-inserter.php:
|
398 |
msgid "NO JAVASCRIPT ERRORS"
|
399 |
msgstr ""
|
400 |
|
401 |
-
#: ad-inserter.php:
|
402 |
msgid "JAVASCRIPT ERRORS"
|
403 |
msgstr ""
|
404 |
|
405 |
#. translators: block name (block with default settings)
|
406 |
-
#: ad-inserter.php:
|
407 |
msgctxt "Block name"
|
408 |
msgid "Default"
|
409 |
msgstr ""
|
410 |
|
411 |
#. translators: %s: Ad Inserter
|
412 |
-
#: ad-inserter.php:
|
413 |
msgid "Error importing %s settings."
|
414 |
msgstr ""
|
415 |
|
416 |
-
#: ad-inserter.php:
|
417 |
msgid "Error importing settings for block"
|
418 |
msgid_plural "Error importing settings for blocks:"
|
419 |
msgstr[0] ""
|
420 |
msgstr[1] ""
|
421 |
|
422 |
-
#: ad-inserter.php:
|
423 |
msgid "Settings saved."
|
424 |
msgstr ""
|
425 |
|
426 |
-
#: ad-inserter.php:
|
427 |
msgid "Settings cleared."
|
428 |
msgstr ""
|
429 |
|
430 |
-
#: ad-inserter.php:
|
431 |
msgid "word"
|
432 |
msgid_plural "words"
|
433 |
msgstr[0] ""
|
434 |
msgstr[1] ""
|
435 |
|
436 |
-
#: ad-inserter.php:
|
437 |
msgid "HTML TAGS REMOVED"
|
438 |
msgstr ""
|
439 |
|
440 |
-
#: ad-inserter.php:
|
441 |
msgid "BEFORE COMMENTS"
|
442 |
msgstr ""
|
443 |
|
444 |
-
#: ad-inserter.php:
|
445 |
msgid "AFTER COMMENTS"
|
446 |
msgstr ""
|
447 |
|
448 |
-
#: ad-inserter.php:
|
449 |
msgid "BETWEEN COMMENTS"
|
450 |
msgstr ""
|
451 |
|
452 |
-
#: ad-inserter.php:
|
453 |
msgid "requires WordPress 4.0 or newer"
|
454 |
msgstr ""
|
455 |
|
456 |
-
#: ad-inserter.php:
|
457 |
msgid "Please update!"
|
458 |
msgstr ""
|
459 |
|
460 |
#. translators: Opt-in message: Thank you for installing Ad Inserter (plugin
|
461 |
#. name with HTML tags will be added)
|
462 |
-
#: ad-inserter.php:
|
463 |
msgid "Thank you for installing"
|
464 |
msgstr ""
|
465 |
|
466 |
#. translators: Opt-in message: %s: HTML tags
|
467 |
-
#: ad-inserter.php:
|
468 |
msgid ""
|
469 |
"We would like to %s track its usage %s on your site. This is completely "
|
470 |
"optional and can be disabled at any time."
|
471 |
msgstr ""
|
472 |
|
473 |
-
#: ad-inserter.php:
|
474 |
msgid ""
|
475 |
"We don't record any sensitive data, only information regarding the WordPress "
|
476 |
"environment and plugin usage, which will help us to make improvements to the "
|
@@ -478,7 +478,7 @@ msgid ""
|
|
478 |
msgstr ""
|
479 |
|
480 |
#. translators: Deactivation message: %s: HTML tags
|
481 |
-
#: ad-inserter.php:
|
482 |
msgid ""
|
483 |
"Looking for %s Documentation, %s %s Common Settings, %s %s Quick Start %s or "
|
484 |
"help for %s AdSense ads? %s The plugin doesn't work with your theme? %s Let "
|
@@ -486,55 +486,55 @@ msgid ""
|
|
486 |
msgstr ""
|
487 |
|
488 |
#. translators: %s: Ad Inserter
|
489 |
-
#: ad-inserter.php:
|
490 |
msgid "%s block."
|
491 |
msgstr ""
|
492 |
|
493 |
#. translators: widget title
|
494 |
-
#: ad-inserter.php:
|
495 |
msgid "Processing log"
|
496 |
msgstr ""
|
497 |
|
498 |
#. translators: widget title
|
499 |
-
#: ad-inserter.php:
|
500 |
msgid "Dummy widget"
|
501 |
msgstr ""
|
502 |
|
503 |
#. translators: widget title
|
504 |
-
#: ad-inserter.php:
|
505 |
msgid "Debugging tools"
|
506 |
msgstr ""
|
507 |
|
508 |
#. translators: block status (widget title)
|
509 |
-
#: ad-inserter.php:
|
510 |
msgctxt "block"
|
511 |
msgid "PAUSED"
|
512 |
msgstr ""
|
513 |
|
514 |
-
#: ad-inserter.php:
|
515 |
msgid "WIDGET DISABLED"
|
516 |
msgstr ""
|
517 |
|
518 |
-
#: ad-inserter.php:
|
519 |
msgid "Unknown block"
|
520 |
msgstr ""
|
521 |
|
522 |
-
#: ad-inserter.php:
|
523 |
msgid "Title"
|
524 |
msgstr ""
|
525 |
|
526 |
-
#: ad-inserter.php:
|
527 |
msgctxt "Widget"
|
528 |
msgid "Sticky"
|
529 |
msgstr ""
|
530 |
|
531 |
-
#: ad-inserter.php:
|
532 |
msgid ""
|
533 |
"Ad Inserter can't be used while Ad Inserter Pro is active! To activate Ad "
|
534 |
"Inserter you need to first deactivate Ad Inserter Pro."
|
535 |
msgstr ""
|
536 |
|
537 |
-
#: ad-inserter.php:
|
538 |
msgid ""
|
539 |
"<strong>WARNING</strong>: Please note that saving settings in Ad Inserter "
|
540 |
"will clear all settings that are available only in the Pro version "
|
@@ -566,11 +566,11 @@ msgstr ""
|
|
566 |
msgid "After post"
|
567 |
msgstr ""
|
568 |
|
569 |
-
#: class.php:1957 settings.php:1624 settings.php:
|
570 |
msgid "Widget"
|
571 |
msgstr ""
|
572 |
|
573 |
-
#: class.php:1962 settings.php:
|
574 |
msgid "PHP function call"
|
575 |
msgstr ""
|
576 |
|
@@ -607,69 +607,69 @@ msgctxt "block or widget"
|
|
607 |
msgid "INSERTED BUT NOT VISIBLE"
|
608 |
msgstr ""
|
609 |
|
610 |
-
#: class.php:
|
611 |
msgid "ACTIVE GROUPS"
|
612 |
msgstr ""
|
613 |
|
614 |
#. translators: %s: list parameters and type
|
615 |
-
#: class.php:
|
616 |
msgid "parameters='%s' type='%s'"
|
617 |
msgstr ""
|
618 |
|
619 |
#. translators: %s: list parameters and type
|
620 |
-
#: class.php:
|
621 |
msgid "referers='%s' type='%s'"
|
622 |
msgstr ""
|
623 |
|
624 |
#. translators: %s: list parameters and type
|
625 |
-
#: class.php:
|
626 |
msgid "countries='%s' type='%s'"
|
627 |
msgstr ""
|
628 |
|
629 |
#. translators: %s: list parameters and type
|
630 |
-
#: class.php:
|
631 |
msgid "ip addresses='%s' type='%s'"
|
632 |
msgstr ""
|
633 |
|
634 |
-
#: class.php:
|
635 |
msgid "BEFORE"
|
636 |
msgstr ""
|
637 |
|
638 |
-
#: class.php:
|
639 |
msgid "PREPEND CONTENT"
|
640 |
msgstr ""
|
641 |
|
642 |
-
#: class.php:
|
643 |
msgid "APPEND CONTENT"
|
644 |
msgstr ""
|
645 |
|
646 |
-
#: class.php:
|
647 |
msgid "REPLACE CONTENT"
|
648 |
msgstr ""
|
649 |
|
650 |
-
#: class.php:
|
651 |
msgid "REPLACE ELEMENT"
|
652 |
msgstr ""
|
653 |
|
654 |
-
#: class.php:
|
655 |
msgid "AFTER"
|
656 |
msgstr ""
|
657 |
|
658 |
-
#: class.php:
|
659 |
msgctxt "JavaScript"
|
660 |
msgid "script"
|
661 |
msgstr ""
|
662 |
|
663 |
-
#: class.php:
|
664 |
msgid "for"
|
665 |
msgstr ""
|
666 |
|
667 |
-
#: class.php:
|
668 |
msgctxt "category name"
|
669 |
msgid "Uncategorized"
|
670 |
msgstr ""
|
671 |
|
672 |
-
#: class.php:
|
673 |
msgid ""
|
674 |
"ERROR: class DOMDocument not found. Your webhost needs to install the DOM "
|
675 |
"extension for PHP."
|
@@ -771,7 +771,7 @@ msgid ""
|
|
771 |
"Leave empty unless position is not properly calculated."
|
772 |
msgstr ""
|
773 |
|
774 |
-
#: includes/functions.php:420 settings.php:1194 settings.php:
|
775 |
msgid "Open HTML element selector"
|
776 |
msgstr ""
|
777 |
|
@@ -795,7 +795,7 @@ msgstr ""
|
|
795 |
msgid " - global tracking disabled"
|
796 |
msgstr ""
|
797 |
|
798 |
-
#: includes/functions.php:461 includes/functions.php:
|
799 |
msgid "Generate report"
|
800 |
msgstr ""
|
801 |
|
@@ -803,7 +803,7 @@ msgstr ""
|
|
803 |
msgid "Toggle Ad Blocking Statistics"
|
804 |
msgstr ""
|
805 |
|
806 |
-
#: includes/functions.php:479 includes/functions.php:
|
807 |
msgid "Toggle Statistics"
|
808 |
msgstr ""
|
809 |
|
@@ -892,8 +892,8 @@ msgstr ""
|
|
892 |
msgid "Tracking for this block is disabled"
|
893 |
msgstr ""
|
894 |
|
895 |
-
#: includes/functions.php:732 settings.php:
|
896 |
-
#: strings.php:209
|
897 |
msgid "Loading..."
|
898 |
msgstr ""
|
899 |
|
@@ -984,236 +984,236 @@ msgstr ""
|
|
984 |
msgid "Export / Import Ad Inserter Pro Settings"
|
985 |
msgstr ""
|
986 |
|
987 |
-
#: includes/functions.php:
|
988 |
msgid "Are you sure you want to clear all statistics data for all blocks?"
|
989 |
msgstr ""
|
990 |
|
991 |
-
#: includes/functions.php:
|
992 |
msgid "Clear All Statistics Data"
|
993 |
msgstr ""
|
994 |
|
995 |
-
#: includes/functions.php:
|
996 |
msgid "Toggle country/city editor"
|
997 |
msgstr ""
|
998 |
|
999 |
-
#: includes/functions.php:
|
1000 |
msgid "IP Addresses"
|
1001 |
msgstr ""
|
1002 |
|
1003 |
-
#: includes/functions.php:
|
1004 |
msgid "Toggle IP address editor"
|
1005 |
msgstr ""
|
1006 |
|
1007 |
-
#: includes/functions.php:
|
1008 |
msgid ""
|
1009 |
"Comma separated IP addresses, you can also use partial IP addresses with * "
|
1010 |
"(ip-address-start*. *ip-address-pattern*, *ip-address-end)"
|
1011 |
msgstr ""
|
1012 |
|
1013 |
-
#: includes/functions.php:
|
1014 |
msgid "Blacklist IP addresses"
|
1015 |
msgstr ""
|
1016 |
|
1017 |
-
#: includes/functions.php:
|
1018 |
msgid "Whitelist IP addresses"
|
1019 |
msgstr ""
|
1020 |
|
1021 |
-
#: includes/functions.php:
|
1022 |
msgid "Countries"
|
1023 |
msgstr ""
|
1024 |
|
1025 |
-
#: includes/functions.php:
|
1026 |
msgid "Cities"
|
1027 |
msgstr ""
|
1028 |
|
1029 |
-
#: includes/functions.php:
|
1030 |
msgid "Toggle country editor"
|
1031 |
msgstr ""
|
1032 |
|
1033 |
-
#: includes/functions.php:
|
1034 |
msgid "Toggle city editor"
|
1035 |
msgstr ""
|
1036 |
|
1037 |
-
#: includes/functions.php:
|
1038 |
msgid "Comma separated country ISO Alpha-2 codes"
|
1039 |
msgstr ""
|
1040 |
|
1041 |
-
#: includes/functions.php:
|
1042 |
msgid "Blacklist countries"
|
1043 |
msgstr ""
|
1044 |
|
1045 |
-
#: includes/functions.php:
|
1046 |
msgid "Whitelist countries"
|
1047 |
msgstr ""
|
1048 |
|
1049 |
-
#: includes/functions.php:
|
1050 |
msgid "Enter license key"
|
1051 |
msgstr ""
|
1052 |
|
1053 |
#. translators: %s: Ad Inserter Pro
|
1054 |
-
#: includes/functions.php:
|
1055 |
msgid ""
|
1056 |
"%s license key is not set. Plugin functionality is limited and updates are "
|
1057 |
"disabled."
|
1058 |
msgstr ""
|
1059 |
|
1060 |
-
#: includes/functions.php:
|
1061 |
msgid "Check license key"
|
1062 |
msgstr ""
|
1063 |
|
1064 |
#. translators: %s: Ad Inserter Pro
|
1065 |
-
#: includes/functions.php:
|
1066 |
msgid "Invalid %s license key."
|
1067 |
msgstr ""
|
1068 |
|
1069 |
#. translators: %s: Ad Inserter Pro
|
1070 |
-
#: includes/functions.php:
|
1071 |
msgid "%s license expired. Plugin updates are disabled."
|
1072 |
msgstr ""
|
1073 |
|
1074 |
-
#: includes/functions.php:
|
1075 |
msgid "Renew license"
|
1076 |
msgstr ""
|
1077 |
|
1078 |
#. translators: %s: Ad Inserter Pro
|
1079 |
-
#: includes/functions.php:
|
1080 |
msgid "%s license overused. Plugin updates are disabled."
|
1081 |
msgstr ""
|
1082 |
|
1083 |
-
#: includes/functions.php:
|
1084 |
msgid "Upgrade license"
|
1085 |
msgstr ""
|
1086 |
|
1087 |
#. translators: 1, 2: HTML tags, 3: Ad Inserter Pro
|
1088 |
-
#: includes/functions.php:
|
1089 |
msgid ""
|
1090 |
"%1$s Warning: %2$s %3$s license key is not set. Plugin functionality is "
|
1091 |
"limited and updates are disabled."
|
1092 |
msgstr ""
|
1093 |
|
1094 |
#. translators: 1, 2,: HTML tags, 3: Ad Inserter Pro
|
1095 |
-
#: includes/functions.php:
|
1096 |
msgid "%1$s Warning: %2$s Invalid %3$s license key."
|
1097 |
msgstr ""
|
1098 |
|
1099 |
#. translators: 2, 3: HTML tags, 1: Ad Inserter Pro
|
1100 |
-
#: includes/functions.php:
|
1101 |
msgid ""
|
1102 |
"Hey, %1$s license has expired - plugin updates are now disabled. Please "
|
1103 |
"renew the license to enable updates. Check %2$s what you are missing. %3$s"
|
1104 |
msgstr ""
|
1105 |
|
1106 |
#. translators: 1, 3: HTML tags, 2: percentage
|
1107 |
-
#: includes/functions.php:
|
1108 |
msgid ""
|
1109 |
"During the license period and 30 days after the license has expired we offer "
|
1110 |
"%1$s %2$s discount on all license renewals and license upgrades. %3$s"
|
1111 |
msgstr ""
|
1112 |
|
1113 |
-
#: includes/functions.php:
|
1114 |
msgid "Renew the licence"
|
1115 |
msgstr ""
|
1116 |
|
1117 |
-
#: includes/functions.php:
|
1118 |
msgid "Update license status"
|
1119 |
msgstr ""
|
1120 |
|
1121 |
#. translators: 1, 2, 4, 5: HTML tags, 3: Ad Inserter Pro
|
1122 |
-
#: includes/functions.php:
|
1123 |
msgid ""
|
1124 |
"%1$s Warning: %2$s %3$s license overused. Plugin updates are disabled. %4$s "
|
1125 |
"Upgrade license %5$s"
|
1126 |
msgstr ""
|
1127 |
|
1128 |
#. Translators: %s: HTML tag
|
1129 |
-
#: includes/functions.php:
|
1130 |
msgid "Warning: %s MaxMind IP geolocation database not found."
|
1131 |
msgstr ""
|
1132 |
|
1133 |
-
#: includes/functions.php:
|
1134 |
msgid "Geolocation"
|
1135 |
msgstr ""
|
1136 |
|
1137 |
-
#: includes/functions.php:
|
1138 |
msgid "Exceptions"
|
1139 |
msgstr ""
|
1140 |
|
1141 |
-
#: includes/functions.php:
|
1142 |
msgid "Multisite"
|
1143 |
msgstr ""
|
1144 |
|
1145 |
-
#: includes/functions.php:
|
1146 |
msgid "Tracking"
|
1147 |
msgstr ""
|
1148 |
|
1149 |
#. translators: %d: days, hours, minutes
|
1150 |
-
#: includes/functions.php:
|
1151 |
msgid "Scheduled in %d days %d hours %d minutes"
|
1152 |
msgstr ""
|
1153 |
|
1154 |
#. translators: %s: HTML dash separator, %d: days, hours, minutes, — is
|
1155 |
#. HTML code for long dash separator
|
1156 |
-
#: includes/functions.php:
|
1157 |
msgid "Active %s expires in %d days %d hours %d minutes"
|
1158 |
msgstr ""
|
1159 |
|
1160 |
-
#: includes/functions.php:
|
1161 |
msgid "Expired"
|
1162 |
msgstr ""
|
1163 |
|
1164 |
-
#: includes/functions.php:
|
1165 |
#: settings.php:1879
|
1166 |
msgid "and"
|
1167 |
msgstr ""
|
1168 |
|
1169 |
-
#: includes/functions.php:
|
1170 |
msgid "fallback"
|
1171 |
msgstr ""
|
1172 |
|
1173 |
-
#: includes/functions.php:
|
1174 |
msgid "Block to be used when scheduling expires"
|
1175 |
msgstr ""
|
1176 |
|
1177 |
-
#: includes/functions.php:
|
1178 |
msgid "Load in iframe"
|
1179 |
msgstr ""
|
1180 |
|
1181 |
-
#: includes/functions.php:
|
1182 |
msgid "Width"
|
1183 |
msgstr ""
|
1184 |
|
1185 |
-
#: includes/functions.php:
|
1186 |
msgid "iframe width, empty means full width (100%)"
|
1187 |
msgstr ""
|
1188 |
|
1189 |
-
#: includes/functions.php:
|
1190 |
msgid "Height"
|
1191 |
msgstr ""
|
1192 |
|
1193 |
-
#: includes/functions.php:
|
1194 |
msgid "iframe height, empty means adjust it to iframe content height"
|
1195 |
msgstr ""
|
1196 |
|
1197 |
-
#: includes/functions.php:
|
1198 |
msgid "Ad label in iframe"
|
1199 |
msgstr ""
|
1200 |
|
1201 |
-
#: includes/functions.php:
|
1202 |
msgid "Preview iframe code"
|
1203 |
msgstr ""
|
1204 |
|
1205 |
-
#: includes/functions.php:
|
1206 |
-
#: settings.php:
|
1207 |
msgid "Preview"
|
1208 |
msgstr ""
|
1209 |
|
1210 |
-
#: includes/functions.php:
|
1211 |
-
#: includes/functions.php:
|
1212 |
msgid "Ad Blocking"
|
1213 |
msgstr ""
|
1214 |
|
1215 |
#. translators: 1, 2 and 3, 4: HTML tags
|
1216 |
-
#: includes/functions.php:
|
1217 |
msgid ""
|
1218 |
"%1$s WARNING: %2$s %3$s No wrapping %4$s style has no wrapping code needed "
|
1219 |
"for tracking!"
|
@@ -1221,260 +1221,260 @@ msgstr ""
|
|
1221 |
|
1222 |
#. translators: 1, 2, 4, 5: HTML tags, 3: Scroll with the content, 6: Above
|
1223 |
#. header
|
1224 |
-
#: includes/functions.php:
|
1225 |
msgid ""
|
1226 |
"%1$s WARNING: %2$s vertical position %3$s needs %4$s Output buffering %5$s "
|
1227 |
"enabled and automatic insertion %6$s!"
|
1228 |
msgstr ""
|
1229 |
|
1230 |
-
#: includes/functions.php:
|
1231 |
msgid "When ad blocking is detected"
|
1232 |
msgstr ""
|
1233 |
|
1234 |
-
#: includes/functions.php:
|
1235 |
msgid "replacement"
|
1236 |
msgstr ""
|
1237 |
|
1238 |
-
#: includes/functions.php:
|
1239 |
msgid "Block to be shown when ad blocking is detected"
|
1240 |
msgstr ""
|
1241 |
|
1242 |
-
#: includes/functions.php:
|
1243 |
msgctxt "replacement"
|
1244 |
msgid "None"
|
1245 |
msgstr ""
|
1246 |
|
1247 |
-
#: includes/functions.php:
|
1248 |
msgid "Close button"
|
1249 |
msgstr ""
|
1250 |
|
1251 |
-
#: includes/functions.php:
|
1252 |
msgid "Lazy loading"
|
1253 |
msgstr ""
|
1254 |
|
1255 |
#. Translators: %s MaxMind
|
1256 |
-
#: includes/functions.php:
|
1257 |
msgid "This product includes GeoLite2 data created by %s"
|
1258 |
msgstr ""
|
1259 |
|
1260 |
-
#: includes/functions.php:
|
1261 |
msgid "IP geolocation database"
|
1262 |
msgstr ""
|
1263 |
|
1264 |
-
#: includes/functions.php:
|
1265 |
msgid "Select IP geolocation database."
|
1266 |
msgstr ""
|
1267 |
|
1268 |
-
#: includes/functions.php:
|
1269 |
msgid "Automatic database updates"
|
1270 |
msgstr ""
|
1271 |
|
1272 |
-
#: includes/functions.php:
|
1273 |
msgid ""
|
1274 |
"Automatically download and update free GeoLite2 IP geolocation database by "
|
1275 |
"MaxMind"
|
1276 |
msgstr ""
|
1277 |
|
1278 |
-
#: includes/functions.php:
|
1279 |
msgid "Database"
|
1280 |
msgstr ""
|
1281 |
|
1282 |
-
#: includes/functions.php:
|
1283 |
msgid ""
|
1284 |
"Aabsolute path starting with '/' or relative path to the MaxMind database "
|
1285 |
"file"
|
1286 |
msgstr ""
|
1287 |
|
1288 |
#. translators: %d: group number
|
1289 |
-
#: includes/functions.php:
|
1290 |
msgid "Group %d"
|
1291 |
msgstr ""
|
1292 |
|
1293 |
-
#: includes/functions.php:
|
1294 |
msgid "countries"
|
1295 |
msgstr ""
|
1296 |
|
1297 |
-
#: includes/functions.php:
|
1298 |
msgid "Enable tracking"
|
1299 |
msgstr ""
|
1300 |
|
1301 |
-
#: includes/functions.php:
|
1302 |
msgid "Impression and Click Tracking"
|
1303 |
msgstr ""
|
1304 |
|
1305 |
-
#: includes/functions.php:
|
1306 |
msgid "Internal"
|
1307 |
msgstr ""
|
1308 |
|
1309 |
-
#: includes/functions.php:
|
1310 |
msgid "Track impressions and clicks with internal tracking and statistics"
|
1311 |
msgstr ""
|
1312 |
|
1313 |
-
#: includes/functions.php:
|
1314 |
msgid "External"
|
1315 |
msgstr ""
|
1316 |
|
1317 |
-
#: includes/functions.php:
|
1318 |
msgid ""
|
1319 |
"Track impressions and clicks with Google Analytics or Matomo (needs tracking "
|
1320 |
"code installed)"
|
1321 |
msgstr ""
|
1322 |
|
1323 |
-
#: includes/functions.php:
|
1324 |
msgid "Track Pageviews"
|
1325 |
msgstr ""
|
1326 |
|
1327 |
-
#: includes/functions.php:
|
1328 |
msgid "Track Pageviews by Device (as configured for viewports)"
|
1329 |
msgstr ""
|
1330 |
|
1331 |
-
#: includes/functions.php:
|
1332 |
msgid "Track for Logged in Users"
|
1333 |
msgstr ""
|
1334 |
|
1335 |
-
#: includes/functions.php:
|
1336 |
msgid "Track impressions and clicks from logged in users"
|
1337 |
msgstr ""
|
1338 |
|
1339 |
-
#: includes/functions.php:
|
1340 |
msgid "Click Detection"
|
1341 |
msgstr ""
|
1342 |
|
1343 |
-
#: includes/functions.php:
|
1344 |
msgid ""
|
1345 |
"Standard method detects clicks only on banners with links, Advanced method "
|
1346 |
"can detect clicks on any kind of ads, but it is slightly less accurate"
|
1347 |
msgstr ""
|
1348 |
|
1349 |
-
#: includes/functions.php:
|
1350 |
msgid "Report header image"
|
1351 |
msgstr ""
|
1352 |
|
1353 |
-
#: includes/functions.php:
|
1354 |
msgid ""
|
1355 |
"Image or logo to be displayed in the header of the statistins report. "
|
1356 |
"Aabsolute path starting with '/' or relative path to the image file."
|
1357 |
msgstr ""
|
1358 |
|
1359 |
-
#: includes/functions.php:
|
1360 |
msgid "Select or upload header image"
|
1361 |
msgstr ""
|
1362 |
|
1363 |
-
#: includes/functions.php:
|
1364 |
msgid "Report header title"
|
1365 |
msgstr ""
|
1366 |
|
1367 |
-
#: includes/functions.php:
|
1368 |
msgid ""
|
1369 |
"Title to be displayed in the header of the statistins report. Text or HTML "
|
1370 |
"code."
|
1371 |
msgstr ""
|
1372 |
|
1373 |
-
#: includes/functions.php:
|
1374 |
msgid "Report header description"
|
1375 |
msgstr ""
|
1376 |
|
1377 |
-
#: includes/functions.php:
|
1378 |
msgid ""
|
1379 |
"Description to be displayed in the header of the statistins report. Text or "
|
1380 |
"HTML code."
|
1381 |
msgstr ""
|
1382 |
|
1383 |
-
#: includes/functions.php:
|
1384 |
msgid "Are you sure you want to clear all exceptions for block"
|
1385 |
msgstr ""
|
1386 |
|
1387 |
-
#: includes/functions.php:
|
1388 |
msgid "Clear all exceptions for block"
|
1389 |
msgstr ""
|
1390 |
|
1391 |
-
#: includes/functions.php:
|
1392 |
msgid "Are you sure you want to clear all exceptions?"
|
1393 |
msgstr ""
|
1394 |
|
1395 |
-
#: includes/functions.php:
|
1396 |
msgid "Clear all exceptions for all blocks"
|
1397 |
msgstr ""
|
1398 |
|
1399 |
-
#: includes/functions.php:
|
1400 |
msgid "Type"
|
1401 |
msgstr ""
|
1402 |
|
1403 |
-
#: includes/functions.php:
|
1404 |
msgid "View"
|
1405 |
msgstr ""
|
1406 |
|
1407 |
-
#: includes/functions.php:
|
1408 |
#: includes/preview.php:2271 settings.php:1180
|
1409 |
msgid "Edit"
|
1410 |
msgstr ""
|
1411 |
|
1412 |
-
#: includes/functions.php:
|
1413 |
msgid "Are you sure you want to clear all exceptions for"
|
1414 |
msgstr ""
|
1415 |
|
1416 |
-
#: includes/functions.php:
|
1417 |
msgid "Clear all exceptions for"
|
1418 |
msgstr ""
|
1419 |
|
1420 |
-
#: includes/functions.php:
|
1421 |
msgid "No exceptions"
|
1422 |
msgstr ""
|
1423 |
|
1424 |
#. translators: %s: Ad Inserter Pro
|
1425 |
-
#: includes/functions.php:
|
1426 |
msgid "%s options for network blogs"
|
1427 |
msgstr ""
|
1428 |
|
1429 |
#. translators: %s: Ad Inserter Pro
|
1430 |
-
#: includes/functions.php:
|
1431 |
msgid "Enable %s widgets for sub-sites"
|
1432 |
msgstr ""
|
1433 |
|
1434 |
-
#: includes/functions.php:
|
1435 |
msgid "Widgets"
|
1436 |
msgstr ""
|
1437 |
|
1438 |
-
#: includes/functions.php:
|
1439 |
msgid "Enable PHP code processing for sub-sites"
|
1440 |
msgstr ""
|
1441 |
|
1442 |
-
#: includes/functions.php:
|
1443 |
msgid "PHP Processing"
|
1444 |
msgstr ""
|
1445 |
|
1446 |
#. translators: %s: Ad Inserter Pro
|
1447 |
-
#: includes/functions.php:
|
1448 |
msgid "Enable %s block exceptions in post/page editor for sub-sites"
|
1449 |
msgstr ""
|
1450 |
|
1451 |
-
#: includes/functions.php:
|
1452 |
msgid "Post/Page exceptions"
|
1453 |
msgstr ""
|
1454 |
|
1455 |
#. translators: %s: Ad Inserter Pro
|
1456 |
-
#: includes/functions.php:
|
1457 |
msgid "Enable %s settings page for sub-sites"
|
1458 |
msgstr ""
|
1459 |
|
1460 |
-
#: includes/functions.php:
|
1461 |
msgid "Settings page"
|
1462 |
msgstr ""
|
1463 |
|
1464 |
#. translators: %s: Ad Inserter Pro
|
1465 |
-
#: includes/functions.php:
|
1466 |
msgid "Enable %s settings of main site to be used for all blogs"
|
1467 |
msgstr ""
|
1468 |
|
1469 |
-
#: includes/functions.php:
|
1470 |
msgid "Main site settings used for all blogs"
|
1471 |
msgstr ""
|
1472 |
|
1473 |
-
#: includes/functions.php:
|
1474 |
msgid "Ad Blocking Detection"
|
1475 |
msgstr ""
|
1476 |
|
1477 |
-
#: includes/functions.php:
|
1478 |
msgid ""
|
1479 |
"Standard method is reliable but should be used only if Advanced method does "
|
1480 |
"not work. Advanced method recreates files used for detection with random "
|
@@ -1482,115 +1482,115 @@ msgid ""
|
|
1482 |
"publicly accessible"
|
1483 |
msgstr ""
|
1484 |
|
1485 |
-
#: includes/functions.php:
|
1486 |
-
#: includes/functions.php:
|
1487 |
msgid "AD BLOCKING"
|
1488 |
msgstr ""
|
1489 |
|
1490 |
-
#: includes/functions.php:
|
1491 |
-
#: includes/functions.php:
|
1492 |
msgid "BLOCK INSERTED BUT NOT VISIBLE"
|
1493 |
msgstr ""
|
1494 |
|
1495 |
-
#: includes/functions.php:
|
1496 |
-
#: includes/functions.php:
|
1497 |
msgid "NO AD BLOCKING"
|
1498 |
msgstr ""
|
1499 |
|
1500 |
-
#: includes/functions.php:
|
1501 |
msgid "AD BLOCKING REPLACEMENT"
|
1502 |
msgstr ""
|
1503 |
|
1504 |
-
#: includes/functions.php:
|
1505 |
msgid "Pageviews"
|
1506 |
msgstr ""
|
1507 |
|
1508 |
-
#: includes/functions.php:
|
1509 |
msgctxt "Version"
|
1510 |
msgid "Unknown"
|
1511 |
msgstr ""
|
1512 |
|
1513 |
-
#: includes/functions.php:
|
1514 |
msgctxt "Times"
|
1515 |
msgid "DISPLAYED"
|
1516 |
msgstr ""
|
1517 |
|
1518 |
-
#: includes/functions.php:
|
1519 |
msgid "No version"
|
1520 |
msgstr ""
|
1521 |
|
1522 |
-
#: includes/functions.php:
|
1523 |
msgctxt "Times"
|
1524 |
msgid "BLOCKED"
|
1525 |
msgstr ""
|
1526 |
|
1527 |
-
#: includes/functions.php:
|
1528 |
msgid "Impressions"
|
1529 |
msgstr ""
|
1530 |
|
1531 |
-
#: includes/functions.php:
|
1532 |
-
#: includes/functions.php:
|
1533 |
msgid "Clicks"
|
1534 |
msgstr ""
|
1535 |
|
1536 |
-
#: includes/functions.php:
|
1537 |
msgid "events"
|
1538 |
msgstr ""
|
1539 |
|
1540 |
-
#: includes/functions.php:
|
1541 |
msgid "Ad Blocking Share"
|
1542 |
msgstr ""
|
1543 |
|
1544 |
#. translators: CTR as Click Through Rate
|
1545 |
-
#: includes/functions.php:
|
1546 |
msgid "CTR"
|
1547 |
msgstr ""
|
1548 |
|
1549 |
-
#: includes/functions.php:
|
1550 |
msgid "pageviews"
|
1551 |
msgid_plural "pageviews"
|
1552 |
msgstr[0] ""
|
1553 |
msgstr[1] ""
|
1554 |
|
1555 |
-
#: includes/functions.php:
|
1556 |
msgid "impressions"
|
1557 |
msgid_plural "impressions"
|
1558 |
msgstr[0] ""
|
1559 |
msgstr[1] ""
|
1560 |
|
1561 |
-
#: includes/functions.php:
|
1562 |
msgid "event"
|
1563 |
msgid_plural "events"
|
1564 |
msgstr[0] ""
|
1565 |
msgstr[1] ""
|
1566 |
|
1567 |
-
#: includes/functions.php:
|
1568 |
msgid "click"
|
1569 |
msgid_plural "clicks"
|
1570 |
msgstr[0] ""
|
1571 |
msgstr[1] ""
|
1572 |
|
1573 |
-
#: includes/functions.php:
|
1574 |
msgctxt "Pageviews / Impressions"
|
1575 |
msgid "Average"
|
1576 |
msgstr ""
|
1577 |
|
1578 |
-
#: includes/functions.php:
|
1579 |
msgctxt "Ad Blocking / Clicks"
|
1580 |
msgid "Average"
|
1581 |
msgstr ""
|
1582 |
|
1583 |
-
#: includes/functions.php:
|
1584 |
msgctxt "Ad Blocking Share / CTR"
|
1585 |
msgid "Average"
|
1586 |
msgstr ""
|
1587 |
|
1588 |
#. Translators: %s: Ad Inserter Pro
|
1589 |
-
#: includes/functions.php:
|
1590 |
msgid "%s Report"
|
1591 |
msgstr ""
|
1592 |
|
1593 |
-
#: includes/functions.php:
|
1594 |
msgid "Advanced WordPress Ad Management Plugin"
|
1595 |
msgstr ""
|
1596 |
|
@@ -1618,7 +1618,7 @@ msgstr ""
|
|
1618 |
msgid "Placeholder"
|
1619 |
msgstr ""
|
1620 |
|
1621 |
-
#: includes/placeholders.php:356 settings.php:808 settings.php:
|
1622 |
msgid "Size"
|
1623 |
msgstr ""
|
1624 |
|
@@ -1726,11 +1726,11 @@ msgstr ""
|
|
1726 |
msgid "Ad Blocking Detected Message Preview"
|
1727 |
msgstr ""
|
1728 |
|
1729 |
-
#: includes/preview-adb.php:348 settings.php:
|
1730 |
msgid "Message CSS"
|
1731 |
msgstr ""
|
1732 |
|
1733 |
-
#: includes/preview-adb.php:353 settings.php:
|
1734 |
msgid "Overlay CSS"
|
1735 |
msgstr ""
|
1736 |
|
@@ -1771,7 +1771,7 @@ msgid "background"
|
|
1771 |
msgstr ""
|
1772 |
|
1773 |
#: includes/preview.php:2075 includes/preview.php:2226 settings.php:1141
|
1774 |
-
#: settings.php:
|
1775 |
msgid "Alignment"
|
1776 |
msgstr ""
|
1777 |
|
@@ -1977,7 +1977,7 @@ msgstr ""
|
|
1977 |
msgid "General Settings"
|
1978 |
msgstr ""
|
1979 |
|
1980 |
-
#: settings.php:592 settings.php:
|
1981 |
msgid "Toggle Syntax Highlighting / Simple editor for mobile devices"
|
1982 |
msgstr ""
|
1983 |
|
@@ -2005,7 +2005,7 @@ msgstr ""
|
|
2005 |
msgid "Open visual HTML editor"
|
2006 |
msgstr ""
|
2007 |
|
2008 |
-
#: settings.php:644
|
2009 |
msgid "Show AdSense ad units"
|
2010 |
msgstr ""
|
2011 |
|
@@ -2013,7 +2013,7 @@ msgstr ""
|
|
2013 |
msgid "Clear block"
|
2014 |
msgstr ""
|
2015 |
|
2016 |
-
#: settings.php:658 settings.php:
|
2017 |
msgid "Copy block"
|
2018 |
msgstr ""
|
2019 |
|
@@ -2177,7 +2177,7 @@ msgid ""
|
|
2177 |
"editor. Leave blank for no individual post exceptions."
|
2178 |
msgstr ""
|
2179 |
|
2180 |
-
#: settings.php:978 settings.php:
|
2181 |
msgid "Posts"
|
2182 |
msgstr ""
|
2183 |
|
@@ -2188,7 +2188,7 @@ msgid ""
|
|
2188 |
"theme)"
|
2189 |
msgstr ""
|
2190 |
|
2191 |
-
#: settings.php:983 settings.php:
|
2192 |
msgid "Homepage"
|
2193 |
msgstr ""
|
2194 |
|
@@ -2196,7 +2196,7 @@ msgstr ""
|
|
2196 |
msgid "Enable insertion on category blog pages (including sub-pages)"
|
2197 |
msgstr ""
|
2198 |
|
2199 |
-
#: settings.php:988 settings.php:
|
2200 |
msgid "Category pages"
|
2201 |
msgstr ""
|
2202 |
|
@@ -2214,7 +2214,7 @@ msgid ""
|
|
2214 |
"page editor. Leave blank for no individual page exceptions."
|
2215 |
msgstr ""
|
2216 |
|
2217 |
-
#: settings.php:1006 settings.php:
|
2218 |
msgid "Static pages"
|
2219 |
msgstr ""
|
2220 |
|
@@ -2222,7 +2222,7 @@ msgstr ""
|
|
2222 |
msgid "Enable insertion on search blog pages"
|
2223 |
msgstr ""
|
2224 |
|
2225 |
-
#: settings.php:1011 settings.php:
|
2226 |
msgid "Search pages"
|
2227 |
msgstr ""
|
2228 |
|
@@ -2323,7 +2323,7 @@ msgstr ""
|
|
2323 |
msgid "HTML element selector or comma separated list of selectors"
|
2324 |
msgstr ""
|
2325 |
|
2326 |
-
#: settings.php:1209 settings.php:
|
2327 |
msgid "Action"
|
2328 |
msgstr ""
|
2329 |
|
@@ -2590,7 +2590,7 @@ msgstr ""
|
|
2590 |
msgid "Enable shortcode for manual insertion of this block in posts and pages"
|
2591 |
msgstr ""
|
2592 |
|
2593 |
-
#: settings.php:1636 settings.php:
|
2594 |
msgid "Shortcode"
|
2595 |
msgstr ""
|
2596 |
|
@@ -2650,7 +2650,7 @@ msgstr ""
|
|
2650 |
msgid "Display"
|
2651 |
msgstr ""
|
2652 |
|
2653 |
-
#: settings.php:1760 settings.php:
|
2654 |
msgid "General"
|
2655 |
msgstr ""
|
2656 |
|
@@ -2711,7 +2711,7 @@ msgid ""
|
|
2711 |
"tab General)"
|
2712 |
msgstr ""
|
2713 |
|
2714 |
-
#: settings.php:1805 settings.php:
|
2715 |
msgid "Max blocks per page"
|
2716 |
msgstr ""
|
2717 |
|
@@ -2783,7 +2783,7 @@ msgstr ""
|
|
2783 |
msgid "Not available"
|
2784 |
msgstr ""
|
2785 |
|
2786 |
-
#: settings.php:1908 settings.php:
|
2787 |
msgid "Ad label"
|
2788 |
msgstr ""
|
2789 |
|
@@ -2810,437 +2810,451 @@ msgstr ""
|
|
2810 |
msgid "Settings timestamp"
|
2811 |
msgstr ""
|
2812 |
|
2813 |
-
#: settings.php:
|
2814 |
msgid "Are you sure you want to reset all settings?"
|
2815 |
msgstr ""
|
2816 |
|
2817 |
-
#: settings.php:
|
2818 |
msgid "Reset All Settings"
|
2819 |
msgstr ""
|
2820 |
|
2821 |
-
#: settings.php:
|
|
|
|
|
|
|
|
|
2822 |
msgid "Viewports"
|
2823 |
msgstr ""
|
2824 |
|
2825 |
-
#: settings.php:
|
2826 |
msgid "Hooks"
|
2827 |
msgstr ""
|
2828 |
|
2829 |
-
#: settings.php:
|
2830 |
msgid "Header"
|
2831 |
msgstr ""
|
2832 |
|
2833 |
-
#: settings.php:
|
2834 |
msgid "Footer"
|
2835 |
msgstr ""
|
2836 |
|
2837 |
-
#: settings.php:
|
2838 |
msgid "Debugging"
|
2839 |
msgstr ""
|
2840 |
|
2841 |
-
#: settings.php:
|
2842 |
msgid "Plugin priority"
|
2843 |
msgstr ""
|
2844 |
|
2845 |
-
#: settings.php:
|
2846 |
msgid "Output buffering"
|
2847 |
msgstr ""
|
2848 |
|
2849 |
-
#: settings.php:
|
2850 |
msgid "Needed for position Above header but may not work with all themes"
|
2851 |
msgstr ""
|
2852 |
|
2853 |
-
#: settings.php:
|
2854 |
msgid "Syntax highlighting theme"
|
2855 |
msgstr ""
|
2856 |
|
2857 |
-
#: settings.php:
|
2858 |
msgctxt "no syntax highlighting themes"
|
2859 |
msgid "None"
|
2860 |
msgstr ""
|
2861 |
|
2862 |
-
#: settings.php:
|
2863 |
msgid "No Syntax Highlighting"
|
2864 |
msgstr ""
|
2865 |
|
2866 |
-
#: settings.php:
|
2867 |
msgctxt "syntax highlighting themes"
|
2868 |
msgid "Light"
|
2869 |
msgstr ""
|
2870 |
|
2871 |
-
#: settings.php:
|
2872 |
msgctxt "syntax highlighting themes"
|
2873 |
msgid "Dark"
|
2874 |
msgstr ""
|
2875 |
|
2876 |
-
#: settings.php:
|
2877 |
msgid "Min. user role for ind. exceptions editing"
|
2878 |
msgstr ""
|
2879 |
|
2880 |
-
#: settings.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2881 |
msgid "Sticky widget mode"
|
2882 |
msgstr ""
|
2883 |
|
2884 |
-
#: settings.php:
|
2885 |
msgid ""
|
2886 |
"CSS mode is the best approach but may not work with all themes. JavaScript "
|
2887 |
"mode works with most themes but may reload ads on page load."
|
2888 |
msgstr ""
|
2889 |
|
2890 |
-
#: settings.php:
|
2891 |
msgid "Sticky widget top margin"
|
2892 |
msgstr ""
|
2893 |
|
2894 |
-
#: settings.php:
|
2895 |
msgid "Dynamic blocks"
|
2896 |
msgstr ""
|
2897 |
|
2898 |
-
#: settings.php:
|
2899 |
msgid "Functions for paragraph counting"
|
2900 |
msgstr ""
|
2901 |
|
2902 |
-
#: settings.php:
|
2903 |
msgid ""
|
2904 |
"Standard PHP functions are faster and work in most cases, use Multibyte "
|
2905 |
"functions if paragraphs are not counted properly on non-english pages."
|
2906 |
msgstr ""
|
2907 |
|
2908 |
-
#: settings.php:
|
2909 |
msgid "No paragraph counting inside"
|
2910 |
msgstr ""
|
2911 |
|
2912 |
-
#: settings.php:
|
2913 |
msgid "Label text or HTML code"
|
2914 |
msgstr ""
|
2915 |
|
2916 |
-
#: settings.php:
|
2917 |
msgid ""
|
2918 |
"Maximum number of inserted blocks per page. You need to enable Max page "
|
2919 |
"insertions (button Misc / tab Insertion) to count block for this limit."
|
2920 |
msgstr ""
|
2921 |
|
2922 |
-
#: settings.php:
|
2923 |
msgid "Plugin usage tracking"
|
2924 |
msgstr ""
|
2925 |
|
2926 |
#. translators: %s: Ad Inserter
|
2927 |
-
#: settings.php:
|
2928 |
msgid ""
|
2929 |
"Enable tracking of %s usage and help us to make improvements to the plugin. "
|
2930 |
"Only information regarding the WordPress environment and %s usage is "
|
2931 |
"recorded (once per month and on events like plugin activation/deactivation)."
|
2932 |
msgstr ""
|
2933 |
|
2934 |
-
#: settings.php:
|
2935 |
msgid "CSS class name for the wrapping div"
|
2936 |
msgstr ""
|
2937 |
|
2938 |
-
#: settings.php:
|
2939 |
msgid "Block class name"
|
2940 |
msgstr ""
|
2941 |
|
2942 |
-
#: settings.php:
|
2943 |
msgid "Include general plugin block class"
|
2944 |
msgstr ""
|
2945 |
|
2946 |
-
#: settings.php:
|
2947 |
msgid "Block class"
|
2948 |
msgstr ""
|
2949 |
|
2950 |
-
#: settings.php:
|
2951 |
msgid "Include block number class"
|
2952 |
msgstr ""
|
2953 |
|
2954 |
-
#: settings.php:
|
2955 |
msgid "Block number class"
|
2956 |
msgstr ""
|
2957 |
|
2958 |
-
#: settings.php:
|
2959 |
msgid ""
|
2960 |
"Instead of alignment classes generate inline alignment styles for blocks"
|
2961 |
msgstr ""
|
2962 |
|
2963 |
-
#: settings.php:
|
2964 |
msgid "Inline styles"
|
2965 |
msgstr ""
|
2966 |
|
2967 |
-
#: settings.php:
|
2968 |
msgid "Preview of the block wrapping code"
|
2969 |
msgstr ""
|
2970 |
|
2971 |
-
#: settings.php:
|
2972 |
msgid "Wrapping div"
|
2973 |
msgstr ""
|
2974 |
|
2975 |
-
#: settings.php:
|
2976 |
msgid "BLOCK CODE"
|
2977 |
msgstr ""
|
2978 |
|
2979 |
-
#: settings.php:
|
2980 |
msgid "Viewport Settings used for client-side device detection"
|
2981 |
msgstr ""
|
2982 |
|
2983 |
#. Translators: %d: viewport number
|
2984 |
-
#: settings.php:
|
2985 |
msgid "Viewport %d name"
|
2986 |
msgstr ""
|
2987 |
|
2988 |
-
#: settings.php:
|
2989 |
msgid "min width"
|
2990 |
msgstr ""
|
2991 |
|
2992 |
-
#: settings.php:
|
2993 |
msgid "Custom Hooks"
|
2994 |
msgstr ""
|
2995 |
|
2996 |
-
#: settings.php:
|
2997 |
msgid "Enable hook"
|
2998 |
msgstr ""
|
2999 |
|
3000 |
#. translators: %d: hook number
|
3001 |
-
#: settings.php:
|
3002 |
msgid "Hook %d name"
|
3003 |
msgstr ""
|
3004 |
|
3005 |
-
#: settings.php:
|
3006 |
msgid "Hook name for automatic insertion selection"
|
3007 |
msgstr ""
|
3008 |
|
3009 |
-
#: settings.php:
|
3010 |
msgid "action"
|
3011 |
msgstr ""
|
3012 |
|
3013 |
-
#: settings.php:
|
3014 |
msgid "Action name as used in the do_action () function"
|
3015 |
msgstr ""
|
3016 |
|
3017 |
-
#: settings.php:
|
3018 |
msgid "priority"
|
3019 |
msgstr ""
|
3020 |
|
3021 |
-
#: settings.php:
|
3022 |
msgid "Priority for the hook (default is 10)"
|
3023 |
msgstr ""
|
3024 |
|
3025 |
-
#: settings.php:
|
3026 |
msgid "Enable insertion of this code into HTML page header"
|
3027 |
msgstr ""
|
3028 |
|
3029 |
-
#: settings.php:
|
3030 |
msgid "Process PHP code"
|
3031 |
msgstr ""
|
3032 |
|
3033 |
-
#: settings.php:
|
3034 |
msgid "HTML Page Header Code"
|
3035 |
msgstr ""
|
3036 |
|
3037 |
-
#: settings.php:
|
3038 |
msgid "Code in the %s section of the HTML page"
|
3039 |
msgstr ""
|
3040 |
|
3041 |
-
#: settings.php:
|
3042 |
msgctxt "code in header or footer"
|
3043 |
msgid "DISABLED"
|
3044 |
msgstr ""
|
3045 |
|
3046 |
-
#: settings.php:
|
3047 |
msgid "Use server-side detection to insert code only for"
|
3048 |
msgstr ""
|
3049 |
|
3050 |
-
#: settings.php:
|
3051 |
msgid ""
|
3052 |
"Enable insertion of this code into HTML page header on page for Error 404: "
|
3053 |
"Page not found"
|
3054 |
msgstr ""
|
3055 |
|
3056 |
-
#: settings.php:
|
3057 |
msgid "Insert on Error 404 page"
|
3058 |
msgstr ""
|
3059 |
|
3060 |
-
#: settings.php:
|
3061 |
msgid "Enable insertion of this code into HTML page footer"
|
3062 |
msgstr ""
|
3063 |
|
3064 |
-
#: settings.php:
|
3065 |
msgid "HTML Page Footer Code"
|
3066 |
msgstr ""
|
3067 |
|
3068 |
#. translators: %s: HTML tags
|
3069 |
-
#: settings.php:
|
3070 |
msgid "Code before the %s tag of the the HTML page"
|
3071 |
msgstr ""
|
3072 |
|
3073 |
-
#: settings.php:
|
3074 |
msgid ""
|
3075 |
"Enable insertion of this code into HTML page footer on page for Error 404: "
|
3076 |
"Page not found"
|
3077 |
msgstr ""
|
3078 |
|
3079 |
-
#: settings.php:
|
3080 |
msgid "Enable detection of ad blocking"
|
3081 |
msgstr ""
|
3082 |
|
3083 |
-
#: settings.php:
|
3084 |
msgid "Global action when ad blocking is detected"
|
3085 |
msgstr ""
|
3086 |
|
3087 |
-
#: settings.php:
|
3088 |
msgid "Delay Action"
|
3089 |
msgstr ""
|
3090 |
|
3091 |
-
#: settings.php:
|
3092 |
msgid ""
|
3093 |
"Number of page views to delay action when ad blocking is detected. Leave "
|
3094 |
"empty for no delay (action fires on first page view). Sets cookie."
|
3095 |
msgstr ""
|
3096 |
|
3097 |
-
#: settings.php:
|
3098 |
msgctxt "Delay Action for x "
|
3099 |
msgid "page views"
|
3100 |
msgstr ""
|
3101 |
|
3102 |
-
#: settings.php:
|
3103 |
msgid "No Action Period"
|
3104 |
msgstr ""
|
3105 |
|
3106 |
-
#: settings.php:
|
3107 |
msgid ""
|
3108 |
"Number of days to supress action when ad blocking is detected. Leave empty "
|
3109 |
"for no no-action period (action fires always after defined page view delay). "
|
3110 |
"Sets cookie."
|
3111 |
msgstr ""
|
3112 |
|
3113 |
-
#: settings.php:
|
3114 |
msgctxt "no action period"
|
3115 |
msgid "days"
|
3116 |
msgstr ""
|
3117 |
|
3118 |
-
#: settings.php:
|
3119 |
msgid "Custom Selectors"
|
3120 |
msgstr ""
|
3121 |
|
3122 |
-
#: settings.php:
|
3123 |
msgid ""
|
3124 |
"Comma seprarated list of selectors (.class, #id) used for additional ad "
|
3125 |
"blocking detection. Invisible element or element with zero height means ad "
|
3126 |
"blocking is present."
|
3127 |
msgstr ""
|
3128 |
|
3129 |
-
#: settings.php:
|
3130 |
msgid "Redirection Page"
|
3131 |
msgstr ""
|
3132 |
|
3133 |
-
#: settings.php:
|
3134 |
msgid "Custom Url"
|
3135 |
msgstr ""
|
3136 |
|
3137 |
-
#: settings.php:
|
3138 |
msgid ""
|
3139 |
"Static page for redirection when ad blocking is detected. For other pages "
|
3140 |
"select Custom url and set it below."
|
3141 |
msgstr ""
|
3142 |
|
3143 |
-
#: settings.php:
|
3144 |
msgid "Custom Redirection Url"
|
3145 |
msgstr ""
|
3146 |
|
3147 |
-
#: settings.php:
|
3148 |
msgid "Message HTML code"
|
3149 |
msgstr ""
|
3150 |
|
3151 |
-
#: settings.php:
|
3152 |
msgid "Preview message when ad blocking is detected"
|
3153 |
msgstr ""
|
3154 |
|
3155 |
-
#: settings.php:
|
3156 |
msgid "Prevent visitors from closing the warning message"
|
3157 |
msgstr ""
|
3158 |
|
3159 |
-
#: settings.php:
|
3160 |
msgid "Undismissible Message"
|
3161 |
msgstr ""
|
3162 |
|
3163 |
-
#: settings.php:
|
3164 |
msgid ""
|
3165 |
"Force showing admin toolbar for administrators when viewing site. Enable "
|
3166 |
"this option when you are logged in as admin and you don't see admin toolbar."
|
3167 |
msgstr ""
|
3168 |
|
3169 |
-
#: settings.php:
|
3170 |
msgid "Disable header code (Header tab)"
|
3171 |
msgstr ""
|
3172 |
|
3173 |
-
#: settings.php:
|
3174 |
msgid "Disable footer code (Footer tab)"
|
3175 |
msgstr ""
|
3176 |
|
3177 |
#. translators: %s: Ad Inserter
|
3178 |
-
#: settings.php:
|
3179 |
msgid "Disable %s JavaScript code"
|
3180 |
msgstr ""
|
3181 |
|
3182 |
#. translators: %s: Ad Inserter
|
3183 |
-
#: settings.php:
|
3184 |
msgid "Disable %s CSS code"
|
3185 |
msgstr ""
|
3186 |
|
3187 |
-
#: settings.php:
|
3188 |
msgid ""
|
3189 |
"Disable PHP code processing (in all blocks including header and footer code)"
|
3190 |
msgstr ""
|
3191 |
|
3192 |
-
#: settings.php:
|
3193 |
msgid "Disable insertion of all blocks"
|
3194 |
msgstr ""
|
3195 |
|
3196 |
-
#: settings.php:
|
3197 |
msgid "Disable insertions"
|
3198 |
msgstr ""
|
3199 |
|
3200 |
#. translators: %s: Ad Inserter
|
3201 |
-
#: settings.php:
|
3202 |
msgid "%s CSS CODE"
|
3203 |
msgstr ""
|
3204 |
|
3205 |
-
#: settings.php:
|
3206 |
msgid "HEADER CODE"
|
3207 |
msgstr ""
|
3208 |
|
3209 |
#. translators: %s: PHP tags
|
3210 |
-
#: settings.php:
|
3211 |
msgid "BLOCK PHP CODE"
|
3212 |
msgstr ""
|
3213 |
|
3214 |
#. translators: %s: Ad Inserter
|
3215 |
-
#: settings.php:
|
3216 |
msgid "%s JS CODE"
|
3217 |
msgstr ""
|
3218 |
|
3219 |
-
#: settings.php:
|
3220 |
msgid "FOOTER CODE"
|
3221 |
msgstr ""
|
3222 |
|
3223 |
-
#: settings.php:
|
3224 |
msgid "Force showing admin toolbar when viewing site"
|
3225 |
msgstr ""
|
3226 |
|
3227 |
-
#: settings.php:
|
3228 |
msgid "Enable debugging functions in admin toolbar"
|
3229 |
msgstr ""
|
3230 |
|
3231 |
-
#: settings.php:
|
3232 |
msgid "Debugging functions in admin toolbar"
|
3233 |
msgstr ""
|
3234 |
|
3235 |
-
#: settings.php:
|
3236 |
msgid "Enable debugging functions in admin toolbar on mobile screens"
|
3237 |
msgstr ""
|
3238 |
|
3239 |
-
#: settings.php:
|
3240 |
msgid "Debugging functions on mobile screens"
|
3241 |
msgstr ""
|
3242 |
|
3243 |
-
#: settings.php:
|
3244 |
msgid ""
|
3245 |
"Enable Debugger widget and code insertion debugging (blocks, positions, "
|
3246 |
"tags, processing) by url parameters for non-logged in users. Enable this "
|
@@ -3249,135 +3263,197 @@ msgid ""
|
|
3249 |
"administrators debugging is always enabled."
|
3250 |
msgstr ""
|
3251 |
|
3252 |
-
#: settings.php:
|
3253 |
msgid "Remote debugging"
|
3254 |
msgstr ""
|
3255 |
|
3256 |
-
#: settings.php:
|
3257 |
msgid ""
|
3258 |
"Disable translation to see original texts for the settings and messages in "
|
3259 |
"English"
|
3260 |
msgstr ""
|
3261 |
|
3262 |
-
#: settings.php:
|
3263 |
msgid "Disable translation"
|
3264 |
msgstr ""
|
3265 |
|
3266 |
-
#: settings.php:
|
3267 |
msgid "Available positions for current theme"
|
3268 |
msgstr ""
|
3269 |
|
3270 |
-
#: settings.php:
|
3271 |
msgid "Error checking pages"
|
3272 |
msgstr ""
|
3273 |
|
3274 |
-
#: settings.php:
|
3275 |
msgid "Toggle theme checker for available positions for automatic insertion"
|
3276 |
msgstr ""
|
3277 |
|
3278 |
-
#: settings.php:
|
3279 |
msgctxt "Button"
|
3280 |
msgid "Check"
|
3281 |
msgstr ""
|
3282 |
|
3283 |
-
#: settings.php:
|
3284 |
msgid "Position"
|
3285 |
msgstr ""
|
3286 |
|
3287 |
-
#: settings.php:
|
3288 |
msgid "Archive pages"
|
3289 |
msgstr ""
|
3290 |
|
3291 |
-
#: settings.php:
|
3292 |
msgid ""
|
3293 |
"Position not available because output buffering (tab [*]) is not enabled"
|
3294 |
msgstr ""
|
3295 |
|
3296 |
-
#: settings.php:
|
3297 |
msgid "Position not checked yet"
|
3298 |
msgstr ""
|
3299 |
|
3300 |
-
#: settings.php:
|
3301 |
msgid "Toggle active/all blocks"
|
3302 |
msgstr ""
|
3303 |
|
3304 |
-
#: settings.php:
|
3305 |
msgid "Rearrange block order"
|
3306 |
msgstr ""
|
3307 |
|
3308 |
-
#: settings.php:
|
3309 |
msgid "Save new block order"
|
3310 |
msgstr ""
|
3311 |
|
3312 |
-
#: settings.php:
|
3313 |
msgid "Save Changes"
|
3314 |
msgstr ""
|
3315 |
|
3316 |
-
#: settings.php:
|
3317 |
msgid "Toggle active/all ad units"
|
3318 |
msgstr ""
|
3319 |
|
3320 |
-
#: settings.php:
|
3321 |
msgid "Reload AdSense ad units"
|
3322 |
msgstr ""
|
3323 |
|
3324 |
-
#: settings.php:
|
3325 |
msgid "Clear authorization to access AdSense account"
|
3326 |
msgstr ""
|
3327 |
|
3328 |
-
#: settings.php:
|
3329 |
msgid "Google AdSense Homepage"
|
3330 |
msgstr ""
|
3331 |
|
3332 |
-
#: settings.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3333 |
msgid "Preview block"
|
3334 |
msgstr ""
|
3335 |
|
3336 |
-
#: settings.php:
|
3337 |
msgid "Insertion disabled"
|
3338 |
msgstr ""
|
3339 |
|
3340 |
-
#: settings.php:
|
3341 |
msgid "Widget positions"
|
3342 |
msgstr ""
|
3343 |
|
3344 |
-
#: settings.php:
|
3345 |
msgid "Ad unit"
|
3346 |
msgstr ""
|
3347 |
|
3348 |
-
#: settings.php:
|
3349 |
msgid "Slot ID"
|
3350 |
msgstr ""
|
3351 |
|
3352 |
-
#: settings.php:
|
3353 |
msgid "Copy AdSense code"
|
3354 |
msgstr ""
|
3355 |
|
3356 |
-
#: settings.php:
|
3357 |
msgid "Preview AdSense ad"
|
3358 |
msgstr ""
|
3359 |
|
3360 |
-
#: settings.php:
|
3361 |
msgid "Get AdSense code"
|
3362 |
msgstr ""
|
3363 |
|
3364 |
#. translators: %s: HTML tags
|
3365 |
-
#: settings.php:
|
3366 |
msgid ""
|
3367 |
"Please %s clear authorization %s with the button %s above and once again "
|
3368 |
"authorize access to your AdSense account."
|
3369 |
msgstr ""
|
3370 |
|
3371 |
-
#: settings.php:
|
3372 |
msgid "AdSense Integration"
|
3373 |
msgstr ""
|
3374 |
|
3375 |
-
#: settings.php:
|
3376 |
msgid "AdSense Integration - Step 2"
|
3377 |
msgstr ""
|
3378 |
|
3379 |
#. translators: %s: HTML tags
|
3380 |
-
#: settings.php:
|
3381 |
msgid ""
|
3382 |
"Authorize %s to access your AdSense account. Click on the %s Get "
|
3383 |
"Authorization Code %s button to open a new window where you can allow "
|
@@ -3386,7 +3462,7 @@ msgid ""
|
|
3386 |
msgstr ""
|
3387 |
|
3388 |
#. translators: %s: HTML tags
|
3389 |
-
#: settings.php:
|
3390 |
msgid ""
|
3391 |
"If you get error, can't access ad units or would like to use own Google API "
|
3392 |
"IDs click on the button %s Use own API IDs %s to enter Client ID and Client "
|
@@ -3394,7 +3470,7 @@ msgid ""
|
|
3394 |
msgstr ""
|
3395 |
|
3396 |
#. translators: %s: HTML tags
|
3397 |
-
#: settings.php:
|
3398 |
msgid ""
|
3399 |
"Now you can authorize %s to access your AdSense account. Click on the %s Get "
|
3400 |
"Authorization Code %s button to open a new window where you can allow "
|
@@ -3403,38 +3479,38 @@ msgid ""
|
|
3403 |
msgstr ""
|
3404 |
|
3405 |
#. translators: %s: HTML tags
|
3406 |
-
#: settings.php:
|
3407 |
msgid ""
|
3408 |
"If you get error %s invalid client %s click on the button %s Clear and "
|
3409 |
"return to Step 1 %s to re-enter Client ID and Client Secret."
|
3410 |
msgstr ""
|
3411 |
|
3412 |
-
#: settings.php:
|
3413 |
msgid "Get Authorization Code"
|
3414 |
msgstr ""
|
3415 |
|
3416 |
-
#: settings.php:
|
3417 |
msgid "Enter Authorization Code"
|
3418 |
msgstr ""
|
3419 |
|
3420 |
-
#: settings.php:
|
3421 |
msgid "Use own API IDs"
|
3422 |
msgstr ""
|
3423 |
|
3424 |
-
#: settings.php:
|
3425 |
msgid "Clear and return to Step 1"
|
3426 |
msgstr ""
|
3427 |
|
3428 |
-
#: settings.php:
|
3429 |
msgid "Authorize"
|
3430 |
msgstr ""
|
3431 |
|
3432 |
-
#: settings.php:
|
3433 |
msgid "AdSense Integration - Step 1"
|
3434 |
msgstr ""
|
3435 |
|
3436 |
#. translators: %s: Ad Inserter
|
3437 |
-
#: settings.php:
|
3438 |
msgid ""
|
3439 |
"Here can %s list configured AdSense ad units and get code for AdSense ads. "
|
3440 |
"To do this you need to authorize %s to access your AdSense account. The "
|
@@ -3443,176 +3519,176 @@ msgid ""
|
|
3443 |
msgstr ""
|
3444 |
|
3445 |
#. translators: %s: HTML tags
|
3446 |
-
#: settings.php:
|
3447 |
msgid "Go to %s Google APIs and Services console %s"
|
3448 |
msgstr ""
|
3449 |
|
3450 |
#. translators: %1: Ad Inserter, 2, 3: HTML tags
|
3451 |
-
#: settings.php:
|
3452 |
msgid ""
|
3453 |
"Create %1$s project - if the project and IDs are already created click on "
|
3454 |
"the %2$s Credentials %3$s in the sidebar and go to step 16"
|
3455 |
msgstr ""
|
3456 |
|
3457 |
#. translators: %s: HTML tags
|
3458 |
-
#: settings.php:
|
3459 |
msgid ""
|
3460 |
"Click on project selection and then click on the %s NEW PROJECT %s button to "
|
3461 |
"create a new project"
|
3462 |
msgstr ""
|
3463 |
|
3464 |
#. translators: 1: Ad Inserter, 2, 3: HTML tags
|
3465 |
-
#: settings.php:
|
3466 |
msgid "Enter %1$s for project name and click on the %2$s Create %3$s button"
|
3467 |
msgstr ""
|
3468 |
|
3469 |
#. translators: %s: HTML tags
|
3470 |
-
#: settings.php:
|
3471 |
msgid ""
|
3472 |
"Click on project selection, wait for the project to be created and then and "
|
3473 |
"select %s as the current project"
|
3474 |
msgstr ""
|
3475 |
|
3476 |
#. translators: %s: HTML tags
|
3477 |
-
#: settings.php:
|
3478 |
msgid "Click on %s ENABLE APIS AND SERVICES %s"
|
3479 |
msgstr ""
|
3480 |
|
3481 |
#. translators: %s: HTML tags
|
3482 |
-
#: settings.php:
|
3483 |
msgid "Search for adsense and enable %s"
|
3484 |
msgstr ""
|
3485 |
|
3486 |
#. translators: %s: HTML tags
|
3487 |
-
#: settings.php:
|
3488 |
msgid "Click on %s CREATE CREDENTIALS %s"
|
3489 |
msgstr ""
|
3490 |
|
3491 |
#. translators: %s: HTML tags
|
3492 |
-
#: settings.php:
|
3493 |
msgid "For %s Where will you be calling the API from? %s select %s Other UI %s"
|
3494 |
msgstr ""
|
3495 |
|
3496 |
#. translators: %s: HTML tags
|
3497 |
-
#: settings.php:
|
3498 |
msgid "For %s What data will you be accessing? %s select %s User data %s"
|
3499 |
msgstr ""
|
3500 |
|
3501 |
#. translators: %s: HTML tags
|
3502 |
-
#: settings.php:
|
3503 |
msgid "Click on %s What credentials do I need? %s"
|
3504 |
msgstr ""
|
3505 |
|
3506 |
#. translators: %s: HTML tags
|
3507 |
-
#: settings.php:
|
3508 |
msgid ""
|
3509 |
"Create an OAuth 2.0 client ID: For %s OAuth 2.0 client ID %s name enter %s "
|
3510 |
"Ad Inserter client %s"
|
3511 |
msgstr ""
|
3512 |
|
3513 |
#. translators: %s: HTML tags
|
3514 |
-
#: settings.php:
|
3515 |
msgid ""
|
3516 |
"Set up the OAuth 2.0 consent screen: For %s Product name shown to users %s "
|
3517 |
"enter %s"
|
3518 |
msgstr ""
|
3519 |
|
3520 |
#. translators: %s: HTML tags
|
3521 |
-
#: settings.php:
|
3522 |
msgid "Click on %s Continue %s"
|
3523 |
msgstr ""
|
3524 |
|
3525 |
#. translators: %s: HTML tags
|
3526 |
-
#: settings.php:
|
3527 |
msgid "Click on %s Done %s"
|
3528 |
msgstr ""
|
3529 |
|
3530 |
#. translators: %s: HTML tags
|
3531 |
-
#: settings.php:
|
3532 |
msgid ""
|
3533 |
"Click on %s Ad Inserter client %s to get %s Client ID %s and %s Client "
|
3534 |
"secret %s"
|
3535 |
msgstr ""
|
3536 |
|
3537 |
-
#: settings.php:
|
3538 |
msgid "Copy them to the appropriate fields below"
|
3539 |
msgstr ""
|
3540 |
|
3541 |
-
#: settings.php:
|
3542 |
msgid "Client ID"
|
3543 |
msgstr ""
|
3544 |
|
3545 |
-
#: settings.php:
|
3546 |
msgid "Enter Client ID"
|
3547 |
msgstr ""
|
3548 |
|
3549 |
-
#: settings.php:
|
3550 |
msgid "Client secret"
|
3551 |
msgstr ""
|
3552 |
|
3553 |
-
#: settings.php:
|
3554 |
msgid "Enter Client secret"
|
3555 |
msgstr ""
|
3556 |
|
3557 |
-
#: settings.php:
|
3558 |
msgid "Use default API IDs"
|
3559 |
msgstr ""
|
3560 |
|
3561 |
-
#: settings.php:
|
3562 |
msgid "Save"
|
3563 |
msgstr ""
|
3564 |
|
3565 |
-
#: settings.php:
|
3566 |
msgid "Blank ad blocks? Looking for AdSense alternative?"
|
3567 |
msgstr ""
|
3568 |
|
3569 |
-
#: settings.php:
|
3570 |
-
#: settings.php:
|
3571 |
-
#: settings.php:
|
3572 |
msgid "Looking for AdSense alternative?"
|
3573 |
msgstr ""
|
3574 |
|
3575 |
-
#: settings.php:
|
3576 |
msgid "Try Infolinks Ads with Adsense or Media.net ads"
|
3577 |
msgstr ""
|
3578 |
|
3579 |
-
#: settings.php:
|
3580 |
-
#: settings.php:
|
3581 |
msgid "Use Infolinks ads with Adsense to earn more"
|
3582 |
msgstr ""
|
3583 |
|
3584 |
-
#: settings.php:
|
3585 |
msgid "Support plugin development"
|
3586 |
msgstr ""
|
3587 |
|
3588 |
-
#: settings.php:
|
3589 |
msgid ""
|
3590 |
"If you like Ad Inserter and have a moment, please help me spread the word by "
|
3591 |
"reviewing the plugin on WordPres"
|
3592 |
msgstr ""
|
3593 |
|
3594 |
-
#: settings.php:
|
3595 |
msgctxt "Review ad Inserter"
|
3596 |
msgid "Review"
|
3597 |
msgstr ""
|
3598 |
|
3599 |
-
#: settings.php:
|
3600 |
msgid ""
|
3601 |
"Support free Ad Inserter development. If you are making money with Ad "
|
3602 |
"Inserter consider donating some small amount. Even 1 dollar counts. Thank "
|
3603 |
"you!"
|
3604 |
msgstr ""
|
3605 |
|
3606 |
-
#: settings.php:
|
3607 |
msgid "Donate"
|
3608 |
msgstr ""
|
3609 |
|
3610 |
-
#: settings.php:
|
3611 |
msgid "Average rating of the plugin - Thank you!"
|
3612 |
msgstr ""
|
3613 |
|
3614 |
#. translators: %s: Ad Inserter, HTML tags
|
3615 |
-
#: settings.php:
|
3616 |
msgid ""
|
3617 |
"You've been using %s for a while now, and I hope you're happy with it. "
|
3618 |
"Positive %s reviews %s are a great way to show your appreciation for my "
|
@@ -3621,329 +3697,329 @@ msgid ""
|
|
3621 |
"your website. %s Thank you!"
|
3622 |
msgstr ""
|
3623 |
|
3624 |
-
#: settings.php:
|
3625 |
msgid "Review"
|
3626 |
msgstr ""
|
3627 |
|
3628 |
-
#: settings.php:
|
3629 |
msgid "Ad Inserter on Twitter"
|
3630 |
msgstr ""
|
3631 |
|
3632 |
-
#: settings.php:
|
3633 |
msgid "Ad Inserter on Facebook"
|
3634 |
msgstr ""
|
3635 |
|
3636 |
-
#: settings.php:
|
3637 |
msgid "Follow Ad Inserter"
|
3638 |
msgstr ""
|
3639 |
|
3640 |
#. translators: %s: HTML tags
|
3641 |
-
#: settings.php:
|
3642 |
msgid ""
|
3643 |
"Need help with %s settings? %s Check %s Quick Start, %s %s Code Editing %s "
|
3644 |
"and %s Common Settings %s pages"
|
3645 |
msgstr ""
|
3646 |
|
3647 |
#. translators: %s: HTML tags
|
3648 |
-
#: settings.php:
|
3649 |
msgid ""
|
3650 |
"%s New to %s AdSense? %s %s %s Connect your site %s - Advanced %s AdSense "
|
3651 |
"code: %s %s In-feed ads, %s %s Auto ads, %s %s AMP ads %s"
|
3652 |
msgstr ""
|
3653 |
|
3654 |
#. translators: %s: HTML tags
|
3655 |
-
#: settings.php:
|
3656 |
msgid ""
|
3657 |
"Ads are not showing? Check %s troubleshooting guide %s to find out how to "
|
3658 |
"diagnose and fix the problem."
|
3659 |
msgstr ""
|
3660 |
|
3661 |
#. translators: %s: HTML tags
|
3662 |
-
#: settings.php:
|
3663 |
msgid ""
|
3664 |
"If you need any kind of help or support, please do not hesitate to open a "
|
3665 |
"thread on the %s support forum. %s"
|
3666 |
msgstr ""
|
3667 |
|
3668 |
-
#: settings.php:
|
3669 |
msgid "A/B testing - Track ad impressions and clicks"
|
3670 |
msgstr ""
|
3671 |
|
3672 |
-
#: settings.php:
|
3673 |
msgid "Code preview with visual CSS editor"
|
3674 |
msgstr ""
|
3675 |
|
3676 |
-
#: settings.php:
|
3677 |
msgid "Looking for Pro Ad Management plugin?"
|
3678 |
msgstr ""
|
3679 |
|
3680 |
-
#: settings.php:
|
3681 |
msgid "To Optimally Monetize your WordPress website?"
|
3682 |
msgstr ""
|
3683 |
|
3684 |
#. translators: %s HTML tags
|
3685 |
-
#: settings.php:
|
3686 |
msgid "%s AdSense Integration %s"
|
3687 |
msgstr ""
|
3688 |
|
3689 |
#. translators: %s HTML tags
|
3690 |
-
#: settings.php:
|
3691 |
msgid "Syntax highlighting %s editor %s"
|
3692 |
msgstr ""
|
3693 |
|
3694 |
#. translators: %s HTML tags
|
3695 |
-
#: settings.php:
|
3696 |
msgid "%s Code preview %s with visual CSS editor"
|
3697 |
msgstr ""
|
3698 |
|
3699 |
#. translators: %s HTML tags
|
3700 |
-
#: settings.php:
|
3701 |
msgid "Simple user interface - all settings on a single page"
|
3702 |
msgstr ""
|
3703 |
|
3704 |
#. translators: %s HTML tags
|
3705 |
-
#: settings.php:
|
3706 |
msgid ""
|
3707 |
"%s Automatic insertion %s before or after post / content / %s paragraph %s / "
|
3708 |
"image / excerpt"
|
3709 |
msgstr ""
|
3710 |
|
3711 |
#. translators: %s HTML tags
|
3712 |
-
#: settings.php:
|
3713 |
msgid "%s Automatic insertion %s between posts on blog pages"
|
3714 |
msgstr ""
|
3715 |
|
3716 |
#. translators: %s HTML tags
|
3717 |
-
#: settings.php:
|
3718 |
msgid "%s Automatic insertion %s before, between and after comments"
|
3719 |
msgstr ""
|
3720 |
|
3721 |
#. translators: %s HTML tags
|
3722 |
-
#: settings.php:
|
3723 |
msgid "%s Automatic insertion %s after %s or before %s tag"
|
3724 |
msgstr ""
|
3725 |
|
3726 |
#. translators: %s HTML tags
|
3727 |
-
#: settings.php:
|
3728 |
msgid "Automatic insertion at %s custom hook positions %s"
|
3729 |
msgstr ""
|
3730 |
|
3731 |
#. translators: %s HTML tags
|
3732 |
-
#: settings.php:
|
3733 |
msgid ""
|
3734 |
"Insertion %s before or after any HTML element on the page %s (using CSS "
|
3735 |
"selectors)"
|
3736 |
msgstr ""
|
3737 |
|
3738 |
#. translators: %s HTML tags
|
3739 |
-
#: settings.php:
|
3740 |
msgid "%s Insertion exceptions %s for individual posts and pages"
|
3741 |
msgstr ""
|
3742 |
|
3743 |
#. translators: %s HTML tags
|
3744 |
-
#: settings.php:
|
3745 |
msgid "%s Manual insertion: %s widgets, shortcodes, PHP function call"
|
3746 |
msgstr ""
|
3747 |
|
3748 |
#. translators: %s HTML tags
|
3749 |
-
#: settings.php:
|
3750 |
msgid ""
|
3751 |
"%s Sticky ads %s with optional close button (ads stay fixed when the page "
|
3752 |
"scrolls)"
|
3753 |
msgstr ""
|
3754 |
|
3755 |
#. translators: %s HTML tags
|
3756 |
-
#: settings.php:
|
3757 |
msgid "%s Sticky sidebar ads %s (stick to the screen or to the content)"
|
3758 |
msgstr ""
|
3759 |
|
3760 |
#. translators: %s HTML tags
|
3761 |
-
#: settings.php:
|
3762 |
msgid "%s Sticky ad animations %s (fade, slide, turn, flip, zoom)"
|
3763 |
msgstr ""
|
3764 |
|
3765 |
#. translators: %s HTML tags
|
3766 |
-
#: settings.php:
|
3767 |
msgid ""
|
3768 |
"%s Sticky ad trigger %s (page scroll in %% or px, HTML element becomes "
|
3769 |
"visible)"
|
3770 |
msgstr ""
|
3771 |
|
3772 |
#. translators: %s HTML tags
|
3773 |
-
#: settings.php:
|
3774 |
msgid ""
|
3775 |
"%s Sticky (fixed) widgets %s (sidebar does not move when the page scrolls)"
|
3776 |
msgstr ""
|
3777 |
|
3778 |
#. translators: %s HTML tags
|
3779 |
-
#: settings.php:
|
3780 |
msgid "Block %s alignment and style %s customizations"
|
3781 |
msgstr ""
|
3782 |
|
3783 |
#. translators: %s HTML tags
|
3784 |
-
#: settings.php:
|
3785 |
msgid ""
|
3786 |
"%s Clearance %s options to avoid insertion near images or headers (AdSense "
|
3787 |
"TOS)"
|
3788 |
msgstr ""
|
3789 |
|
3790 |
#. translators: %s HTML tags
|
3791 |
-
#: settings.php:
|
3792 |
msgid ""
|
3793 |
"Options to %s disable insertion %s on Ajax calls, 404 error pages or in RSS "
|
3794 |
"feeds"
|
3795 |
msgstr ""
|
3796 |
|
3797 |
#. translators: %s HTML tags
|
3798 |
-
#: settings.php:
|
3799 |
msgid "%s Ad rotation %s (works also with caching)"
|
3800 |
msgstr ""
|
3801 |
|
3802 |
#. translators: %s HTML tags
|
3803 |
-
#: settings.php:
|
3804 |
msgid ""
|
3805 |
"Ad impression and click %s tracking %s (works also with Javascript ads like "
|
3806 |
"AdSense)"
|
3807 |
msgstr ""
|
3808 |
|
3809 |
#. translators: %s HTML tags
|
3810 |
-
#: settings.php:
|
3811 |
msgid "Support for %s A/B testing %s"
|
3812 |
msgstr ""
|
3813 |
|
3814 |
#. translators: %s HTML tags
|
3815 |
-
#: settings.php:
|
3816 |
msgid "Support for %s lazy loading %s"
|
3817 |
msgstr ""
|
3818 |
|
3819 |
#. translators: %s HTML tags
|
3820 |
-
#: settings.php:
|
3821 |
msgid "Support for ads on %s AMP pages %s"
|
3822 |
msgstr ""
|
3823 |
|
3824 |
#. translators: %s HTML tags
|
3825 |
-
#: settings.php:
|
3826 |
msgid "Support for contextual %s Amazon Native Shopping Ads %s (responsive)"
|
3827 |
msgstr ""
|
3828 |
|
3829 |
#. translators: %s HTML tags
|
3830 |
-
#: settings.php:
|
3831 |
msgid "Custom CSS class name for wrapping divs to avoid ad blockers"
|
3832 |
msgstr ""
|
3833 |
|
3834 |
#. translators: %s HTML tags
|
3835 |
-
#: settings.php:
|
3836 |
msgid "PHP code processing"
|
3837 |
msgstr ""
|
3838 |
|
3839 |
#. translators: %s HTML tags
|
3840 |
-
#: settings.php:
|
3841 |
msgid "%s Banner %s code generator"
|
3842 |
msgstr ""
|
3843 |
|
3844 |
#. translators: %s HTML tags
|
3845 |
-
#: settings.php:
|
3846 |
msgid "Support for %s header and footer %s code"
|
3847 |
msgstr ""
|
3848 |
|
3849 |
#. translators: %s HTML tags
|
3850 |
-
#: settings.php:
|
3851 |
msgid "Support for Google Analytics, Matomo or any other web analytics code"
|
3852 |
msgstr ""
|
3853 |
|
3854 |
#. translators: %s HTML tags
|
3855 |
-
#: settings.php:
|
3856 |
msgid "Desktop, tablet and phone server-side %s device detection %s"
|
3857 |
msgstr ""
|
3858 |
|
3859 |
#. translators: %s HTML tags
|
3860 |
-
#: settings.php:
|
3861 |
msgid "Client-side %s mobile device detection %s (works with caching)"
|
3862 |
msgstr ""
|
3863 |
|
3864 |
#. translators: %s HTML tags
|
3865 |
-
#: settings.php:
|
3866 |
msgid ""
|
3867 |
"%s Ad blocking detection %s - popup message, ad replacement, content "
|
3868 |
"protection"
|
3869 |
msgstr ""
|
3870 |
|
3871 |
#. translators: %s HTML tags
|
3872 |
-
#: settings.php:
|
3873 |
msgid "%s Ad blocking statistics %s"
|
3874 |
msgstr ""
|
3875 |
|
3876 |
#. translators: %s HTML tags
|
3877 |
-
#: settings.php:
|
3878 |
msgid ""
|
3879 |
"%s Black/White-list %s categories, tags, taxonomies, users, post IDs, urls, "
|
3880 |
"referers"
|
3881 |
msgstr ""
|
3882 |
|
3883 |
#. translators: %s HTML tags
|
3884 |
-
#: settings.php:
|
3885 |
msgid ""
|
3886 |
"%s Black/White-list %s IP addresses or countries (works also with caching)"
|
3887 |
msgstr ""
|
3888 |
|
3889 |
#. translators: %s HTML tags
|
3890 |
-
#: settings.php:
|
3891 |
msgid "%s Multisite options %s to limit settings on the sites"
|
3892 |
msgstr ""
|
3893 |
|
3894 |
#. translators: %s HTML tags
|
3895 |
-
#: settings.php:
|
3896 |
msgid "%s Import/Export %s block or plugin settings"
|
3897 |
msgstr ""
|
3898 |
|
3899 |
#. translators: %s HTML tags
|
3900 |
-
#: settings.php:
|
3901 |
msgid "%s Insertion scheduling %s with fallback option"
|
3902 |
msgstr ""
|
3903 |
|
3904 |
#. translators: %s HTML tags
|
3905 |
-
#: settings.php:
|
3906 |
msgid "Country-level %s GEO targeting %s (works also with caching)"
|
3907 |
msgstr ""
|
3908 |
|
3909 |
#. translators: %s HTML tags
|
3910 |
-
#: settings.php:
|
3911 |
msgid "Simple troubleshooting with many %s debugging functions %s"
|
3912 |
msgstr ""
|
3913 |
|
3914 |
#. translators: %s HTML tags
|
3915 |
-
#: settings.php:
|
3916 |
msgid "%s Visualization %s of inserted blocks or ads for easier placement"
|
3917 |
msgstr ""
|
3918 |
|
3919 |
#. translators: %s HTML tags
|
3920 |
-
#: settings.php:
|
3921 |
msgid "%s Visualization %s of available positions for automatic ad insertion"
|
3922 |
msgstr ""
|
3923 |
|
3924 |
#. translators: %s HTML tags
|
3925 |
-
#: settings.php:
|
3926 |
msgid ""
|
3927 |
"%s Visualization %s of HTML tags for easier ad placement between paragraphs"
|
3928 |
msgstr ""
|
3929 |
|
3930 |
#. translators: %s HTML tags
|
3931 |
-
#: settings.php:
|
3932 |
msgid "%s Clipboard support %s to easily copy blocks or settings"
|
3933 |
msgstr ""
|
3934 |
|
3935 |
#. translators: %s HTML tags
|
3936 |
-
#: settings.php:
|
3937 |
msgid "No ads on the settings page"
|
3938 |
msgstr ""
|
3939 |
|
3940 |
#. translators: %s HTML tags
|
3941 |
-
#: settings.php:
|
3942 |
msgid "Premium support via email"
|
3943 |
msgstr ""
|
3944 |
|
3945 |
#. translators: %s HTML tags
|
3946 |
-
#: settings.php:
|
3947 |
msgid ""
|
3948 |
"Ad Inserter Pro is a complete all-in-one ad management plugin for WordPress "
|
3949 |
"website with many advertising features to automatically insert adverts on "
|
@@ -3958,82 +4034,82 @@ msgid ""
|
|
3958 |
msgstr ""
|
3959 |
|
3960 |
#. translators: %s HTML tags
|
3961 |
-
#: settings.php:
|
3962 |
msgid "Looking for %s Pro Ad Management plugin? %s"
|
3963 |
msgstr ""
|
3964 |
|
3965 |
#. translators: %s HTML tags
|
3966 |
-
#: settings.php:
|
3967 |
msgid "Ads between posts"
|
3968 |
msgstr ""
|
3969 |
|
3970 |
#. translators: %s HTML tags
|
3971 |
-
#: settings.php:
|
3972 |
msgid "Ads between comments"
|
3973 |
msgstr ""
|
3974 |
|
3975 |
#. translators: %s HTML tags
|
3976 |
-
#: settings.php:
|
3977 |
msgid "Support via email"
|
3978 |
msgstr ""
|
3979 |
|
3980 |
#. translators: %s HTML tags
|
3981 |
-
#: settings.php:
|
3982 |
msgid "%s Sticky positions %s"
|
3983 |
msgstr ""
|
3984 |
|
3985 |
#. translators: %s HTML tags
|
3986 |
-
#: settings.php:
|
3987 |
msgid "%s Limit insertions %s"
|
3988 |
msgstr ""
|
3989 |
|
3990 |
#. translators: %s HTML tags
|
3991 |
-
#: settings.php:
|
3992 |
msgid "%s Clearance %s options"
|
3993 |
msgstr ""
|
3994 |
|
3995 |
#. translators: %s HTML tags
|
3996 |
-
#: settings.php:
|
3997 |
msgid "Ad rotation"
|
3998 |
msgstr ""
|
3999 |
|
4000 |
#. translators: %s HTML tags
|
4001 |
-
#: settings.php:
|
4002 |
msgid "%s A/B testing %s"
|
4003 |
msgstr ""
|
4004 |
|
4005 |
#. translators: %s HTML tags
|
4006 |
-
#: settings.php:
|
4007 |
msgid "%s Ad tracking %s"
|
4008 |
msgstr ""
|
4009 |
|
4010 |
#. translators: %s HTML tags
|
4011 |
-
#: settings.php:
|
4012 |
msgid "Support for %s AMP pages %s"
|
4013 |
msgstr ""
|
4014 |
|
4015 |
#. translators: %s HTML tags
|
4016 |
-
#: settings.php:
|
4017 |
msgid "%s Ad blocking detection %s"
|
4018 |
msgstr ""
|
4019 |
|
4020 |
#. translators: %s HTML tags
|
4021 |
-
#: settings.php:
|
4022 |
msgid "%s Mobile device detection %s"
|
4023 |
msgstr ""
|
4024 |
|
4025 |
#. translators: %s HTML tags
|
4026 |
-
#: settings.php:
|
4027 |
msgid "64 code blocks"
|
4028 |
msgstr ""
|
4029 |
|
4030 |
#. translators: %s HTML tags
|
4031 |
-
#: settings.php:
|
4032 |
msgid "%s GEO targeting %s"
|
4033 |
msgstr ""
|
4034 |
|
4035 |
#. translators: %s HTML tags
|
4036 |
-
#: settings.php:
|
4037 |
msgid "%s Scheduling %s"
|
4038 |
msgstr ""
|
4039 |
|
@@ -4680,10 +4756,6 @@ msgid_plural "days"
|
|
4680 |
msgstr[0] ""
|
4681 |
msgstr[1] ""
|
4682 |
|
4683 |
-
#: strings.php:197
|
4684 |
-
msgid "Warning"
|
4685 |
-
msgstr ""
|
4686 |
-
|
4687 |
#: strings.php:198
|
4688 |
msgid "Delete"
|
4689 |
msgstr ""
|
2 |
# This file is distributed under the same license as the Ad Inserter package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: Ad Inserter 2.4.11\n"
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/ad-inserter\n"
|
7 |
+
"POT-Creation-Date: 2019-03-19 21:11:59+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
13 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
14 |
|
15 |
+
#: ad-inserter.php:324
|
16 |
msgctxt "Menu item"
|
17 |
msgid "Debugging DEMO"
|
18 |
msgstr ""
|
19 |
|
20 |
+
#: ad-inserter.php:340
|
21 |
msgctxt "Menu item"
|
22 |
msgid "Label Blocks"
|
23 |
msgstr ""
|
24 |
|
25 |
+
#: ad-inserter.php:347
|
26 |
msgctxt "Menu item"
|
27 |
msgid "Show Positions"
|
28 |
msgstr ""
|
29 |
|
30 |
+
#: ad-inserter.php:418
|
31 |
msgctxt "Menu item"
|
32 |
msgid "Show HTML Tags"
|
33 |
msgstr ""
|
34 |
|
35 |
+
#: ad-inserter.php:425
|
36 |
msgctxt "Menu item"
|
37 |
msgid "Disable Insertion"
|
38 |
msgstr ""
|
39 |
|
40 |
+
#: ad-inserter.php:434
|
41 |
msgctxt "Menu item"
|
42 |
msgid "Ad Blocking Status"
|
43 |
msgstr ""
|
44 |
|
45 |
+
#: ad-inserter.php:441
|
46 |
msgctxt "Menu item"
|
47 |
msgid "Simulate Ad Blocking"
|
48 |
msgstr ""
|
49 |
|
50 |
+
#: ad-inserter.php:451
|
51 |
msgctxt "Menu item"
|
52 |
msgid "Log Processing"
|
53 |
msgstr ""
|
54 |
|
55 |
#. translators: Debugging position name Before HTML element
|
56 |
+
#: ad-inserter.php:1030
|
57 |
msgid "Before"
|
58 |
msgstr ""
|
59 |
|
60 |
#. translators: Debugging position name After HTML element
|
61 |
+
#: ad-inserter.php:1035
|
62 |
msgid "After"
|
63 |
msgstr ""
|
64 |
|
65 |
#. translators: Debugging position name Prepend content of HTML element (before
|
66 |
#. the content of the HTML element)
|
67 |
+
#: ad-inserter.php:1040 strings.php:98
|
68 |
msgid "Prepend content"
|
69 |
msgstr ""
|
70 |
|
71 |
#. translators: Debugging position name Append content of HTML element (after
|
72 |
#. the content of the HTML element)
|
73 |
+
#: ad-inserter.php:1045 strings.php:99
|
74 |
msgid "Append content"
|
75 |
msgstr ""
|
76 |
|
77 |
#. translators: Debugging position name Replace content of HTML element
|
78 |
+
#: ad-inserter.php:1050 strings.php:100
|
79 |
msgid "Replace content"
|
80 |
msgstr ""
|
81 |
|
82 |
#. translators: Debugging position name Replace HTML element
|
83 |
+
#: ad-inserter.php:1055 strings.php:150
|
84 |
msgid "Replace"
|
85 |
msgstr ""
|
86 |
|
87 |
#. translators: Debugging message when output buffering is enabled
|
88 |
+
#: ad-inserter.php:1102
|
89 |
msgid "OUTPUT BUFFERING"
|
90 |
msgstr ""
|
91 |
|
92 |
#. translators: Debugging position
|
93 |
+
#: ad-inserter.php:1106
|
94 |
msgid "Above Header"
|
95 |
msgstr ""
|
96 |
|
97 |
+
#: ad-inserter.php:1315
|
98 |
msgctxt "Menu item"
|
99 |
msgid "Log In"
|
100 |
msgstr ""
|
101 |
|
102 |
#. translators: %s: Ad Inserter
|
103 |
+
#: ad-inserter.php:1590 ad-inserter.php:2453
|
104 |
msgid "%s Settings"
|
105 |
msgstr ""
|
106 |
|
107 |
#. translators: AD BLOCKING DETECTED, PAGE VIEWS: n - NO ACTION
|
108 |
+
#: ad-inserter.php:2024
|
109 |
msgid "AD BLOCKING DETECTED, PAGE VIEWS"
|
110 |
msgstr ""
|
111 |
|
112 |
+
#: ad-inserter.php:2024
|
113 |
msgid "NO ACTION"
|
114 |
msgstr ""
|
115 |
|
116 |
+
#: ad-inserter.php:2025
|
117 |
msgid "AD BLOCKING DETECTED, COOKIE DETECTED - NO ACTION"
|
118 |
msgstr ""
|
119 |
|
120 |
+
#: ad-inserter.php:2026
|
121 |
msgid "AD BLOCKING DETECTED - ACTION"
|
122 |
msgstr ""
|
123 |
|
124 |
+
#: ad-inserter.php:2027
|
125 |
msgid "AD BLOCKING NOT DETECTED"
|
126 |
msgstr ""
|
127 |
|
128 |
+
#: ad-inserter.php:2028
|
129 |
msgid "AD BLOCKING DETECTION COOKIES DELETED"
|
130 |
msgstr ""
|
131 |
|
132 |
+
#: ad-inserter.php:2029
|
133 |
msgid "AD BLOCKING DETECTED - NO ACTION"
|
134 |
msgstr ""
|
135 |
|
136 |
#. Translators: 1: number of blocks, 2: Ad Inserter
|
137 |
+
#: ad-inserter.php:2224
|
138 |
msgid "Hey, you are now using %1$s %2$s block."
|
139 |
msgid_plural "Hey, you are now using %1$s %2$s blocks."
|
140 |
msgstr[0] ""
|
141 |
msgstr[1] ""
|
142 |
|
143 |
+
#: ad-inserter.php:2225 includes/functions.php:1494
|
144 |
msgid "No, thank you."
|
145 |
msgstr ""
|
146 |
|
147 |
#. Translators: %s: Ad Inserter
|
148 |
+
#: ad-inserter.php:2228
|
149 |
msgid ""
|
150 |
"Hey, you've been using %s for a while now, and I hope you're happy with it."
|
151 |
msgstr ""
|
152 |
|
153 |
+
#: ad-inserter.php:2229 includes/functions.php:1497
|
154 |
msgid "Not now, maybe later."
|
155 |
msgstr ""
|
156 |
|
157 |
+
#: ad-inserter.php:2239
|
158 |
msgid ""
|
159 |
"I would really appreciate it if you could give the plugin a 5-star rating on "
|
160 |
"WordPres."
|
161 |
msgstr ""
|
162 |
|
163 |
+
#: ad-inserter.php:2241
|
164 |
msgid ""
|
165 |
"Positive reviews are a great incentive to fix bugs and to add new features "
|
166 |
"for better monetization of your website. Thank you, Igor"
|
167 |
msgstr ""
|
168 |
|
169 |
#. translators: %s: Ad Inserter
|
170 |
+
#: ad-inserter.php:2247
|
171 |
msgid "Rate %s"
|
172 |
msgstr ""
|
173 |
|
174 |
+
#: ad-inserter.php:2252
|
175 |
msgid "I already did."
|
176 |
msgstr ""
|
177 |
|
178 |
+
#: ad-inserter.php:2266
|
179 |
msgctxt "Menu item"
|
180 |
msgid "Settings"
|
181 |
msgstr ""
|
182 |
|
183 |
#. translators: %s: Ad Inserter
|
184 |
+
#: ad-inserter.php:2340
|
185 |
msgctxt "Meta box name"
|
186 |
msgid "%s Individual Exceptions"
|
187 |
msgstr ""
|
188 |
|
189 |
+
#: ad-inserter.php:2369 ad-inserter.php:8000 class.php:1967
|
190 |
#: includes/preview.php:1966 includes/preview.php:2010
|
191 |
+
#: includes/preview.php:2047 settings.php:3639 strings.php:3
|
192 |
msgid "Block"
|
193 |
msgstr ""
|
194 |
|
195 |
+
#: ad-inserter.php:2370 settings.php:3640 settings.php:3714
|
196 |
msgid "Name"
|
197 |
msgstr ""
|
198 |
|
199 |
+
#: ad-inserter.php:2371 settings.php:3642
|
200 |
msgid "Automatic insertion"
|
201 |
msgstr ""
|
202 |
|
203 |
+
#: ad-inserter.php:2374
|
204 |
msgid "Default insertion for pages"
|
205 |
msgstr ""
|
206 |
|
207 |
+
#: ad-inserter.php:2375
|
208 |
msgid "Default insertion for posts"
|
209 |
msgstr ""
|
210 |
|
211 |
#. translators: For this post or page
|
212 |
+
#: ad-inserter.php:2378
|
213 |
msgctxt "Page"
|
214 |
msgid "For this"
|
215 |
msgstr ""
|
216 |
|
217 |
+
#: ad-inserter.php:2379
|
218 |
msgctxt "Post"
|
219 |
msgid "For this"
|
220 |
msgstr ""
|
221 |
|
222 |
+
#: ad-inserter.php:2387
|
223 |
msgctxt "Enabled/disabled on all"
|
224 |
msgid "pages"
|
225 |
msgstr ""
|
226 |
|
227 |
+
#: ad-inserter.php:2388
|
228 |
msgctxt "Default insertion for"
|
229 |
msgid "pages"
|
230 |
msgstr ""
|
231 |
|
232 |
+
#: ad-inserter.php:2392
|
233 |
msgctxt "Enabled/disabled on all"
|
234 |
msgid "posts"
|
235 |
msgstr ""
|
236 |
|
237 |
+
#: ad-inserter.php:2393
|
238 |
msgctxt "Default insertion for"
|
239 |
msgid "posts"
|
240 |
msgstr ""
|
241 |
|
242 |
+
#: ad-inserter.php:2412 ad-inserter.php:2425 strings.php:156
|
243 |
msgid "Enabled"
|
244 |
msgstr ""
|
245 |
|
246 |
#. translators: Menu items
|
247 |
+
#: ad-inserter.php:2412 ad-inserter.php:2425 includes/functions.php:2122
|
248 |
#: strings.php:16
|
249 |
msgid "Disabled"
|
250 |
msgstr ""
|
251 |
|
252 |
#. translators: Enabled on all pages or posts
|
253 |
+
#: ad-inserter.php:2415
|
254 |
msgid "Enabled on all"
|
255 |
msgstr ""
|
256 |
|
257 |
#. translators: Disabled on all pages or posts
|
258 |
+
#: ad-inserter.php:2417
|
259 |
msgid "Disabled on all"
|
260 |
msgstr ""
|
261 |
|
262 |
#. translators: No individual exceptions enabled for pages or posts
|
263 |
+
#: ad-inserter.php:2445
|
264 |
msgid "No individual exceptions enabled for"
|
265 |
msgstr ""
|
266 |
|
267 |
#. translators: 1: pages or posts, 2: Ad Inserter Settings (page)
|
268 |
+
#: ad-inserter.php:2450
|
269 |
msgid ""
|
270 |
"Default insertion for %1$s can be configured for each block on %2$s page - "
|
271 |
"selection next to <strong>Posts</strong> / <strong>Static pages</strong> "
|
272 |
"checkbox.<br />"
|
273 |
msgstr ""
|
274 |
|
275 |
+
#: ad-inserter.php:2455
|
276 |
msgid ""
|
277 |
"Default value is <strong>blank</strong> and means no individual exceptions "
|
278 |
"(even if previously defined here).<br />"
|
279 |
msgstr ""
|
280 |
|
281 |
+
#: ad-inserter.php:2458
|
282 |
msgctxt "Pages"
|
283 |
msgid ""
|
284 |
"Set to <strong>Individually disabled</strong> or <strong>Individually "
|
285 |
"enabled</strong> to enable individual exception settings on this page.<br />"
|
286 |
msgstr ""
|
287 |
|
288 |
+
#: ad-inserter.php:2459
|
289 |
msgctxt "Posts"
|
290 |
msgid ""
|
291 |
"Set to <strong>Individually disabled</strong> or <strong>Individually "
|
292 |
"enabled</strong> to enable individual exception settings on this page.<br />"
|
293 |
msgstr ""
|
294 |
|
295 |
+
#: ad-inserter.php:2461
|
296 |
msgid "For more information check page %s"
|
297 |
msgstr ""
|
298 |
|
299 |
#. translators: Ad Inserter Exceptions documentation page
|
300 |
+
#: ad-inserter.php:2463
|
301 |
msgid "Individual Exceptions"
|
302 |
msgstr ""
|
303 |
|
304 |
+
#: ad-inserter.php:2508
|
305 |
msgid "STATIC PAGE"
|
306 |
msgstr ""
|
307 |
|
308 |
+
#: ad-inserter.php:2511
|
309 |
msgid "POST"
|
310 |
msgstr ""
|
311 |
|
312 |
+
#: ad-inserter.php:2514
|
313 |
msgid "HOMEPAGE"
|
314 |
msgstr ""
|
315 |
|
316 |
+
#: ad-inserter.php:2517
|
317 |
msgid "CATEGORY PAGE"
|
318 |
msgstr ""
|
319 |
|
320 |
+
#: ad-inserter.php:2520
|
321 |
msgid "SEARCH PAGE"
|
322 |
msgstr ""
|
323 |
|
324 |
+
#: ad-inserter.php:2523
|
325 |
msgid "ARCHIVE PAGE"
|
326 |
msgstr ""
|
327 |
|
328 |
+
#: ad-inserter.php:2526
|
329 |
msgid "ERROR 404 PAGE"
|
330 |
msgstr ""
|
331 |
|
332 |
+
#: ad-inserter.php:2529
|
333 |
msgid "AJAX CALL"
|
334 |
msgstr ""
|
335 |
|
336 |
+
#: ad-inserter.php:2532
|
337 |
msgid "UNKNOWN PAGE TYPE"
|
338 |
msgstr ""
|
339 |
|
340 |
+
#: ad-inserter.php:2549
|
341 |
msgid "Click to delete ad blocking detection cokies"
|
342 |
msgstr ""
|
343 |
|
344 |
+
#: ad-inserter.php:2550
|
345 |
msgid "AD BLOCKING STATUS UNKNOWN"
|
346 |
msgstr ""
|
347 |
|
348 |
#. translators: %s: AdSense Auto Ads
|
349 |
+
#: ad-inserter.php:2574
|
350 |
msgid ""
|
351 |
"Code for %s detected - Code will automatically insert AdSense ads at optimal "
|
352 |
"positions"
|
353 |
msgstr ""
|
354 |
|
355 |
+
#: ad-inserter.php:2713
|
356 |
msgid "Code for insertion"
|
357 |
msgstr ""
|
358 |
|
359 |
+
#: ad-inserter.php:2713
|
360 |
msgid "character"
|
361 |
msgid_plural "characters"
|
362 |
msgstr[0] ""
|
363 |
msgstr[1] ""
|
364 |
|
365 |
+
#: ad-inserter.php:2756
|
366 |
msgid "Header code"
|
367 |
msgstr ""
|
368 |
|
369 |
+
#: ad-inserter.php:2756
|
370 |
msgctxt "Header code"
|
371 |
msgid "DISABLED"
|
372 |
msgstr ""
|
373 |
|
374 |
+
#: ad-inserter.php:2756 ad-inserter.php:2978
|
375 |
msgid "character inserted"
|
376 |
msgid_plural "characters inserted"
|
377 |
msgstr[0] ""
|
378 |
msgstr[1] ""
|
379 |
|
380 |
+
#: ad-inserter.php:2789
|
381 |
msgid "Automatically placed by AdSense Auto ads code"
|
382 |
msgstr ""
|
383 |
|
384 |
+
#: ad-inserter.php:2978
|
385 |
msgid "Footer code"
|
386 |
msgstr ""
|
387 |
|
388 |
+
#: ad-inserter.php:2978
|
389 |
msgctxt "Footer code"
|
390 |
msgid "DISABLED"
|
391 |
msgstr ""
|
392 |
|
393 |
+
#: ad-inserter.php:2984
|
394 |
msgid "JAVASCRIPT NOT WORKING"
|
395 |
msgstr ""
|
396 |
|
397 |
+
#: ad-inserter.php:2984
|
398 |
msgid "NO JAVASCRIPT ERRORS"
|
399 |
msgstr ""
|
400 |
|
401 |
+
#: ad-inserter.php:2984
|
402 |
msgid "JAVASCRIPT ERRORS"
|
403 |
msgstr ""
|
404 |
|
405 |
#. translators: block name (block with default settings)
|
406 |
+
#: ad-inserter.php:5059
|
407 |
msgctxt "Block name"
|
408 |
msgid "Default"
|
409 |
msgstr ""
|
410 |
|
411 |
#. translators: %s: Ad Inserter
|
412 |
+
#: ad-inserter.php:5624
|
413 |
msgid "Error importing %s settings."
|
414 |
msgstr ""
|
415 |
|
416 |
+
#: ad-inserter.php:5625
|
417 |
msgid "Error importing settings for block"
|
418 |
msgid_plural "Error importing settings for blocks:"
|
419 |
msgstr[0] ""
|
420 |
msgstr[1] ""
|
421 |
|
422 |
+
#: ad-inserter.php:5674
|
423 |
msgid "Settings saved."
|
424 |
msgstr ""
|
425 |
|
426 |
+
#: ad-inserter.php:5759
|
427 |
msgid "Settings cleared."
|
428 |
msgstr ""
|
429 |
|
430 |
+
#: ad-inserter.php:6104 ad-inserter.php:6106 ad-inserter.php:6129
|
431 |
msgid "word"
|
432 |
msgid_plural "words"
|
433 |
msgstr[0] ""
|
434 |
msgstr[1] ""
|
435 |
|
436 |
+
#: ad-inserter.php:6143 ad-inserter.php:6255
|
437 |
msgid "HTML TAGS REMOVED"
|
438 |
msgstr ""
|
439 |
|
440 |
+
#: ad-inserter.php:6331
|
441 |
msgid "BEFORE COMMENTS"
|
442 |
msgstr ""
|
443 |
|
444 |
+
#: ad-inserter.php:6439
|
445 |
msgid "AFTER COMMENTS"
|
446 |
msgstr ""
|
447 |
|
448 |
+
#: ad-inserter.php:6502
|
449 |
msgid "BETWEEN COMMENTS"
|
450 |
msgstr ""
|
451 |
|
452 |
+
#: ad-inserter.php:7647
|
453 |
msgid "requires WordPress 4.0 or newer"
|
454 |
msgstr ""
|
455 |
|
456 |
+
#: ad-inserter.php:7647
|
457 |
msgid "Please update!"
|
458 |
msgstr ""
|
459 |
|
460 |
#. translators: Opt-in message: Thank you for installing Ad Inserter (plugin
|
461 |
#. name with HTML tags will be added)
|
462 |
+
#: ad-inserter.php:7873
|
463 |
msgid "Thank you for installing"
|
464 |
msgstr ""
|
465 |
|
466 |
#. translators: Opt-in message: %s: HTML tags
|
467 |
+
#: ad-inserter.php:7875
|
468 |
msgid ""
|
469 |
"We would like to %s track its usage %s on your site. This is completely "
|
470 |
"optional and can be disabled at any time."
|
471 |
msgstr ""
|
472 |
|
473 |
+
#: ad-inserter.php:7877
|
474 |
msgid ""
|
475 |
"We don't record any sensitive data, only information regarding the WordPress "
|
476 |
"environment and plugin usage, which will help us to make improvements to the "
|
478 |
msgstr ""
|
479 |
|
480 |
#. translators: Deactivation message: %s: HTML tags
|
481 |
+
#: ad-inserter.php:7914
|
482 |
msgid ""
|
483 |
"Looking for %s Documentation, %s %s Common Settings, %s %s Quick Start %s or "
|
484 |
"help for %s AdSense ads? %s The plugin doesn't work with your theme? %s Let "
|
486 |
msgstr ""
|
487 |
|
488 |
#. translators: %s: Ad Inserter
|
489 |
+
#: ad-inserter.php:7957
|
490 |
msgid "%s block."
|
491 |
msgstr ""
|
492 |
|
493 |
#. translators: widget title
|
494 |
+
#: ad-inserter.php:7973 ad-inserter.php:8009
|
495 |
msgid "Processing log"
|
496 |
msgstr ""
|
497 |
|
498 |
#. translators: widget title
|
499 |
+
#: ad-inserter.php:7975 ad-inserter.php:8010
|
500 |
msgid "Dummy widget"
|
501 |
msgstr ""
|
502 |
|
503 |
#. translators: widget title
|
504 |
+
#: ad-inserter.php:7977 ad-inserter.php:8008
|
505 |
msgid "Debugging tools"
|
506 |
msgstr ""
|
507 |
|
508 |
#. translators: block status (widget title)
|
509 |
+
#: ad-inserter.php:7984
|
510 |
msgctxt "block"
|
511 |
msgid "PAUSED"
|
512 |
msgstr ""
|
513 |
|
514 |
+
#: ad-inserter.php:7985
|
515 |
msgid "WIDGET DISABLED"
|
516 |
msgstr ""
|
517 |
|
518 |
+
#: ad-inserter.php:7986
|
519 |
msgid "Unknown block"
|
520 |
msgstr ""
|
521 |
|
522 |
+
#: ad-inserter.php:7995 includes/functions.php:2635 settings.php:1038
|
523 |
msgid "Title"
|
524 |
msgstr ""
|
525 |
|
526 |
+
#: ad-inserter.php:8017
|
527 |
msgctxt "Widget"
|
528 |
msgid "Sticky"
|
529 |
msgstr ""
|
530 |
|
531 |
+
#: ad-inserter.php:8066
|
532 |
msgid ""
|
533 |
"Ad Inserter can't be used while Ad Inserter Pro is active! To activate Ad "
|
534 |
"Inserter you need to first deactivate Ad Inserter Pro."
|
535 |
msgstr ""
|
536 |
|
537 |
+
#: ad-inserter.php:8067
|
538 |
msgid ""
|
539 |
"<strong>WARNING</strong>: Please note that saving settings in Ad Inserter "
|
540 |
"will clear all settings that are available only in the Pro version "
|
566 |
msgid "After post"
|
567 |
msgstr ""
|
568 |
|
569 |
+
#: class.php:1957 settings.php:1624 settings.php:3646
|
570 |
msgid "Widget"
|
571 |
msgstr ""
|
572 |
|
573 |
+
#: class.php:1962 settings.php:3644
|
574 |
msgid "PHP function call"
|
575 |
msgstr ""
|
576 |
|
607 |
msgid "INSERTED BUT NOT VISIBLE"
|
608 |
msgstr ""
|
609 |
|
610 |
+
#: class.php:2410 class.php:2469
|
611 |
msgid "ACTIVE GROUPS"
|
612 |
msgstr ""
|
613 |
|
614 |
#. translators: %s: list parameters and type
|
615 |
+
#: class.php:2644
|
616 |
msgid "parameters='%s' type='%s'"
|
617 |
msgstr ""
|
618 |
|
619 |
#. translators: %s: list parameters and type
|
620 |
+
#: class.php:2646
|
621 |
msgid "referers='%s' type='%s'"
|
622 |
msgstr ""
|
623 |
|
624 |
#. translators: %s: list parameters and type
|
625 |
+
#: class.php:2707
|
626 |
msgid "countries='%s' type='%s'"
|
627 |
msgstr ""
|
628 |
|
629 |
#. translators: %s: list parameters and type
|
630 |
+
#: class.php:2709
|
631 |
msgid "ip addresses='%s' type='%s'"
|
632 |
msgstr ""
|
633 |
|
634 |
+
#: class.php:2943 strings.php:228
|
635 |
msgid "BEFORE"
|
636 |
msgstr ""
|
637 |
|
638 |
+
#: class.php:2951 strings.php:230
|
639 |
msgid "PREPEND CONTENT"
|
640 |
msgstr ""
|
641 |
|
642 |
+
#: class.php:2955 strings.php:231
|
643 |
msgid "APPEND CONTENT"
|
644 |
msgstr ""
|
645 |
|
646 |
+
#: class.php:2959 strings.php:232
|
647 |
msgid "REPLACE CONTENT"
|
648 |
msgstr ""
|
649 |
|
650 |
+
#: class.php:2963 strings.php:233
|
651 |
msgid "REPLACE ELEMENT"
|
652 |
msgstr ""
|
653 |
|
654 |
+
#: class.php:2974 strings.php:229
|
655 |
msgid "AFTER"
|
656 |
msgstr ""
|
657 |
|
658 |
+
#: class.php:3041
|
659 |
msgctxt "JavaScript"
|
660 |
msgid "script"
|
661 |
msgstr ""
|
662 |
|
663 |
+
#: class.php:3044 settings.php:1893
|
664 |
msgid "for"
|
665 |
msgstr ""
|
666 |
|
667 |
+
#: class.php:5584 class.php:5636
|
668 |
msgctxt "category name"
|
669 |
msgid "Uncategorized"
|
670 |
msgstr ""
|
671 |
|
672 |
+
#: class.php:6127
|
673 |
msgid ""
|
674 |
"ERROR: class DOMDocument not found. Your webhost needs to install the DOM "
|
675 |
"extension for PHP."
|
771 |
"Leave empty unless position is not properly calculated."
|
772 |
msgstr ""
|
773 |
|
774 |
+
#: includes/functions.php:420 settings.php:1194 settings.php:2478
|
775 |
msgid "Open HTML element selector"
|
776 |
msgstr ""
|
777 |
|
795 |
msgid " - global tracking disabled"
|
796 |
msgstr ""
|
797 |
|
798 |
+
#: includes/functions.php:461 includes/functions.php:2464
|
799 |
msgid "Generate report"
|
800 |
msgstr ""
|
801 |
|
803 |
msgid "Toggle Ad Blocking Statistics"
|
804 |
msgstr ""
|
805 |
|
806 |
+
#: includes/functions.php:479 includes/functions.php:2449
|
807 |
msgid "Toggle Statistics"
|
808 |
msgstr ""
|
809 |
|
892 |
msgid "Tracking for this block is disabled"
|
893 |
msgstr ""
|
894 |
|
895 |
+
#: includes/functions.php:732 settings.php:3150 settings.php:3186
|
896 |
+
#: settings.php:3229 strings.php:209
|
897 |
msgid "Loading..."
|
898 |
msgstr ""
|
899 |
|
984 |
msgid "Export / Import Ad Inserter Pro Settings"
|
985 |
msgstr ""
|
986 |
|
987 |
+
#: includes/functions.php:833
|
988 |
msgid "Are you sure you want to clear all statistics data for all blocks?"
|
989 |
msgstr ""
|
990 |
|
991 |
+
#: includes/functions.php:835
|
992 |
msgid "Clear All Statistics Data"
|
993 |
msgstr ""
|
994 |
|
995 |
+
#: includes/functions.php:862
|
996 |
msgid "Toggle country/city editor"
|
997 |
msgstr ""
|
998 |
|
999 |
+
#: includes/functions.php:868
|
1000 |
msgid "IP Addresses"
|
1001 |
msgstr ""
|
1002 |
|
1003 |
+
#: includes/functions.php:871
|
1004 |
msgid "Toggle IP address editor"
|
1005 |
msgstr ""
|
1006 |
|
1007 |
+
#: includes/functions.php:874
|
1008 |
msgid ""
|
1009 |
"Comma separated IP addresses, you can also use partial IP addresses with * "
|
1010 |
"(ip-address-start*. *ip-address-pattern*, *ip-address-end)"
|
1011 |
msgstr ""
|
1012 |
|
1013 |
+
#: includes/functions.php:878
|
1014 |
msgid "Blacklist IP addresses"
|
1015 |
msgstr ""
|
1016 |
|
1017 |
+
#: includes/functions.php:882
|
1018 |
msgid "Whitelist IP addresses"
|
1019 |
msgstr ""
|
1020 |
|
1021 |
+
#: includes/functions.php:893
|
1022 |
msgid "Countries"
|
1023 |
msgstr ""
|
1024 |
|
1025 |
+
#: includes/functions.php:894
|
1026 |
msgid "Cities"
|
1027 |
msgstr ""
|
1028 |
|
1029 |
+
#: includes/functions.php:898 includes/functions.php:2414
|
1030 |
msgid "Toggle country editor"
|
1031 |
msgstr ""
|
1032 |
|
1033 |
+
#: includes/functions.php:901
|
1034 |
msgid "Toggle city editor"
|
1035 |
msgstr ""
|
1036 |
|
1037 |
+
#: includes/functions.php:905 includes/functions.php:2417
|
1038 |
msgid "Comma separated country ISO Alpha-2 codes"
|
1039 |
msgstr ""
|
1040 |
|
1041 |
+
#: includes/functions.php:909
|
1042 |
msgid "Blacklist countries"
|
1043 |
msgstr ""
|
1044 |
|
1045 |
+
#: includes/functions.php:913
|
1046 |
msgid "Whitelist countries"
|
1047 |
msgstr ""
|
1048 |
|
1049 |
+
#: includes/functions.php:1227 includes/functions.php:1450
|
1050 |
msgid "Enter license key"
|
1051 |
msgstr ""
|
1052 |
|
1053 |
#. translators: %s: Ad Inserter Pro
|
1054 |
+
#: includes/functions.php:1233
|
1055 |
msgid ""
|
1056 |
"%s license key is not set. Plugin functionality is limited and updates are "
|
1057 |
"disabled."
|
1058 |
msgstr ""
|
1059 |
|
1060 |
+
#: includes/functions.php:1242 includes/functions.php:1459
|
1061 |
msgid "Check license key"
|
1062 |
msgstr ""
|
1063 |
|
1064 |
#. translators: %s: Ad Inserter Pro
|
1065 |
+
#: includes/functions.php:1248
|
1066 |
msgid "Invalid %s license key."
|
1067 |
msgstr ""
|
1068 |
|
1069 |
#. translators: %s: Ad Inserter Pro
|
1070 |
+
#: includes/functions.php:1257
|
1071 |
msgid "%s license expired. Plugin updates are disabled."
|
1072 |
msgstr ""
|
1073 |
|
1074 |
+
#: includes/functions.php:1258
|
1075 |
msgid "Renew license"
|
1076 |
msgstr ""
|
1077 |
|
1078 |
#. translators: %s: Ad Inserter Pro
|
1079 |
+
#: includes/functions.php:1266
|
1080 |
msgid "%s license overused. Plugin updates are disabled."
|
1081 |
msgstr ""
|
1082 |
|
1083 |
+
#: includes/functions.php:1267
|
1084 |
msgid "Upgrade license"
|
1085 |
msgstr ""
|
1086 |
|
1087 |
#. translators: 1, 2: HTML tags, 3: Ad Inserter Pro
|
1088 |
+
#: includes/functions.php:1452
|
1089 |
msgid ""
|
1090 |
"%1$s Warning: %2$s %3$s license key is not set. Plugin functionality is "
|
1091 |
"limited and updates are disabled."
|
1092 |
msgstr ""
|
1093 |
|
1094 |
#. translators: 1, 2,: HTML tags, 3: Ad Inserter Pro
|
1095 |
+
#: includes/functions.php:1461
|
1096 |
msgid "%1$s Warning: %2$s Invalid %3$s license key."
|
1097 |
msgstr ""
|
1098 |
|
1099 |
#. translators: 2, 3: HTML tags, 1: Ad Inserter Pro
|
1100 |
+
#: includes/functions.php:1477
|
1101 |
msgid ""
|
1102 |
"Hey, %1$s license has expired - plugin updates are now disabled. Please "
|
1103 |
"renew the license to enable updates. Check %2$s what you are missing. %3$s"
|
1104 |
msgstr ""
|
1105 |
|
1106 |
#. translators: 1, 3: HTML tags, 2: percentage
|
1107 |
+
#: includes/functions.php:1484
|
1108 |
msgid ""
|
1109 |
"During the license period and 30 days after the license has expired we offer "
|
1110 |
"%1$s %2$s discount on all license renewals and license upgrades. %3$s"
|
1111 |
msgstr ""
|
1112 |
|
1113 |
+
#: includes/functions.php:1511
|
1114 |
msgid "Renew the licence"
|
1115 |
msgstr ""
|
1116 |
|
1117 |
+
#: includes/functions.php:1513
|
1118 |
msgid "Update license status"
|
1119 |
msgstr ""
|
1120 |
|
1121 |
#. translators: 1, 2, 4, 5: HTML tags, 3: Ad Inserter Pro
|
1122 |
+
#: includes/functions.php:1524
|
1123 |
msgid ""
|
1124 |
"%1$s Warning: %2$s %3$s license overused. Plugin updates are disabled. %4$s "
|
1125 |
"Upgrade license %5$s"
|
1126 |
msgstr ""
|
1127 |
|
1128 |
#. Translators: %s: HTML tag
|
1129 |
+
#: includes/functions.php:1544
|
1130 |
msgid "Warning: %s MaxMind IP geolocation database not found."
|
1131 |
msgstr ""
|
1132 |
|
1133 |
+
#: includes/functions.php:2051
|
1134 |
msgid "Geolocation"
|
1135 |
msgstr ""
|
1136 |
|
1137 |
+
#: includes/functions.php:2055
|
1138 |
msgid "Exceptions"
|
1139 |
msgstr ""
|
1140 |
|
1141 |
+
#: includes/functions.php:2060
|
1142 |
msgid "Multisite"
|
1143 |
msgstr ""
|
1144 |
|
1145 |
+
#: includes/functions.php:2065
|
1146 |
msgid "Tracking"
|
1147 |
msgstr ""
|
1148 |
|
1149 |
#. translators: %d: days, hours, minutes
|
1150 |
+
#: includes/functions.php:2096
|
1151 |
msgid "Scheduled in %d days %d hours %d minutes"
|
1152 |
msgstr ""
|
1153 |
|
1154 |
#. translators: %s: HTML dash separator, %d: days, hours, minutes, — is
|
1155 |
#. HTML code for long dash separator
|
1156 |
+
#: includes/functions.php:2105
|
1157 |
msgid "Active %s expires in %d days %d hours %d minutes"
|
1158 |
msgstr ""
|
1159 |
|
1160 |
+
#: includes/functions.php:2109
|
1161 |
msgid "Expired"
|
1162 |
msgstr ""
|
1163 |
|
1164 |
+
#: includes/functions.php:2117 settings.php:1277 settings.php:1292
|
1165 |
#: settings.php:1879
|
1166 |
msgid "and"
|
1167 |
msgstr ""
|
1168 |
|
1169 |
+
#: includes/functions.php:2120
|
1170 |
msgid "fallback"
|
1171 |
msgstr ""
|
1172 |
|
1173 |
+
#: includes/functions.php:2121
|
1174 |
msgid "Block to be used when scheduling expires"
|
1175 |
msgstr ""
|
1176 |
|
1177 |
+
#: includes/functions.php:2146
|
1178 |
msgid "Load in iframe"
|
1179 |
msgstr ""
|
1180 |
|
1181 |
+
#: includes/functions.php:2150 includes/placeholders.php:382
|
1182 |
msgid "Width"
|
1183 |
msgstr ""
|
1184 |
|
1185 |
+
#: includes/functions.php:2151
|
1186 |
msgid "iframe width, empty means full width (100%)"
|
1187 |
msgstr ""
|
1188 |
|
1189 |
+
#: includes/functions.php:2157 includes/placeholders.php:377
|
1190 |
msgid "Height"
|
1191 |
msgstr ""
|
1192 |
|
1193 |
+
#: includes/functions.php:2158
|
1194 |
msgid "iframe height, empty means adjust it to iframe content height"
|
1195 |
msgstr ""
|
1196 |
|
1197 |
+
#: includes/functions.php:2165
|
1198 |
msgid "Ad label in iframe"
|
1199 |
msgstr ""
|
1200 |
|
1201 |
+
#: includes/functions.php:2170
|
1202 |
msgid "Preview iframe code"
|
1203 |
msgstr ""
|
1204 |
|
1205 |
+
#: includes/functions.php:2170 includes/preview.php:1964 settings.php:954
|
1206 |
+
#: settings.php:2540
|
1207 |
msgid "Preview"
|
1208 |
msgstr ""
|
1209 |
|
1210 |
+
#: includes/functions.php:2184 includes/functions.php:3826
|
1211 |
+
#: includes/functions.php:3889 settings.php:2014
|
1212 |
msgid "Ad Blocking"
|
1213 |
msgstr ""
|
1214 |
|
1215 |
#. translators: 1, 2 and 3, 4: HTML tags
|
1216 |
+
#: includes/functions.php:2193
|
1217 |
msgid ""
|
1218 |
"%1$s WARNING: %2$s %3$s No wrapping %4$s style has no wrapping code needed "
|
1219 |
"for tracking!"
|
1221 |
|
1222 |
#. translators: 1, 2, 4, 5: HTML tags, 3: Scroll with the content, 6: Above
|
1223 |
#. header
|
1224 |
+
#: includes/functions.php:2202
|
1225 |
msgid ""
|
1226 |
"%1$s WARNING: %2$s vertical position %3$s needs %4$s Output buffering %5$s "
|
1227 |
"enabled and automatic insertion %6$s!"
|
1228 |
msgstr ""
|
1229 |
|
1230 |
+
#: includes/functions.php:2220
|
1231 |
msgid "When ad blocking is detected"
|
1232 |
msgstr ""
|
1233 |
|
1234 |
+
#: includes/functions.php:2229
|
1235 |
msgid "replacement"
|
1236 |
msgstr ""
|
1237 |
|
1238 |
+
#: includes/functions.php:2230
|
1239 |
msgid "Block to be shown when ad blocking is detected"
|
1240 |
msgstr ""
|
1241 |
|
1242 |
+
#: includes/functions.php:2231
|
1243 |
msgctxt "replacement"
|
1244 |
msgid "None"
|
1245 |
msgstr ""
|
1246 |
|
1247 |
+
#: includes/functions.php:2248
|
1248 |
msgid "Close button"
|
1249 |
msgstr ""
|
1250 |
|
1251 |
+
#: includes/functions.php:2295
|
1252 |
msgid "Lazy loading"
|
1253 |
msgstr ""
|
1254 |
|
1255 |
#. Translators: %s MaxMind
|
1256 |
+
#: includes/functions.php:2349
|
1257 |
msgid "This product includes GeoLite2 data created by %s"
|
1258 |
msgstr ""
|
1259 |
|
1260 |
+
#: includes/functions.php:2360
|
1261 |
msgid "IP geolocation database"
|
1262 |
msgstr ""
|
1263 |
|
1264 |
+
#: includes/functions.php:2363
|
1265 |
msgid "Select IP geolocation database."
|
1266 |
msgstr ""
|
1267 |
|
1268 |
+
#: includes/functions.php:2374
|
1269 |
msgid "Automatic database updates"
|
1270 |
msgstr ""
|
1271 |
|
1272 |
+
#: includes/functions.php:2377
|
1273 |
msgid ""
|
1274 |
"Automatically download and update free GeoLite2 IP geolocation database by "
|
1275 |
"MaxMind"
|
1276 |
msgstr ""
|
1277 |
|
1278 |
+
#: includes/functions.php:2385
|
1279 |
msgid "Database"
|
1280 |
msgstr ""
|
1281 |
|
1282 |
+
#: includes/functions.php:2388
|
1283 |
msgid ""
|
1284 |
"Aabsolute path starting with '/' or relative path to the MaxMind database "
|
1285 |
"file"
|
1286 |
msgstr ""
|
1287 |
|
1288 |
#. translators: %d: group number
|
1289 |
+
#: includes/functions.php:2406
|
1290 |
msgid "Group %d"
|
1291 |
msgstr ""
|
1292 |
|
1293 |
+
#: includes/functions.php:2412
|
1294 |
msgid "countries"
|
1295 |
msgstr ""
|
1296 |
|
1297 |
+
#: includes/functions.php:2457
|
1298 |
msgid "Enable tracking"
|
1299 |
msgstr ""
|
1300 |
|
1301 |
+
#: includes/functions.php:2472
|
1302 |
msgid "Impression and Click Tracking"
|
1303 |
msgstr ""
|
1304 |
|
1305 |
+
#: includes/functions.php:2488
|
1306 |
msgid "Internal"
|
1307 |
msgstr ""
|
1308 |
|
1309 |
+
#: includes/functions.php:2492
|
1310 |
msgid "Track impressions and clicks with internal tracking and statistics"
|
1311 |
msgstr ""
|
1312 |
|
1313 |
+
#: includes/functions.php:2497
|
1314 |
msgid "External"
|
1315 |
msgstr ""
|
1316 |
|
1317 |
+
#: includes/functions.php:2501
|
1318 |
msgid ""
|
1319 |
"Track impressions and clicks with Google Analytics or Matomo (needs tracking "
|
1320 |
"code installed)"
|
1321 |
msgstr ""
|
1322 |
|
1323 |
+
#: includes/functions.php:2506
|
1324 |
msgid "Track Pageviews"
|
1325 |
msgstr ""
|
1326 |
|
1327 |
+
#: includes/functions.php:2512
|
1328 |
msgid "Track Pageviews by Device (as configured for viewports)"
|
1329 |
msgstr ""
|
1330 |
|
1331 |
+
#: includes/functions.php:2522
|
1332 |
msgid "Track for Logged in Users"
|
1333 |
msgstr ""
|
1334 |
|
1335 |
+
#: includes/functions.php:2528
|
1336 |
msgid "Track impressions and clicks from logged in users"
|
1337 |
msgstr ""
|
1338 |
|
1339 |
+
#: includes/functions.php:2538
|
1340 |
msgid "Click Detection"
|
1341 |
msgstr ""
|
1342 |
|
1343 |
+
#: includes/functions.php:2544
|
1344 |
msgid ""
|
1345 |
"Standard method detects clicks only on banners with links, Advanced method "
|
1346 |
"can detect clicks on any kind of ads, but it is slightly less accurate"
|
1347 |
msgstr ""
|
1348 |
|
1349 |
+
#: includes/functions.php:2570
|
1350 |
msgid "Report header image"
|
1351 |
msgstr ""
|
1352 |
|
1353 |
+
#: includes/functions.php:2573
|
1354 |
msgid ""
|
1355 |
"Image or logo to be displayed in the header of the statistins report. "
|
1356 |
"Aabsolute path starting with '/' or relative path to the image file."
|
1357 |
msgstr ""
|
1358 |
|
1359 |
+
#: includes/functions.php:2574 strings.php:221
|
1360 |
msgid "Select or upload header image"
|
1361 |
msgstr ""
|
1362 |
|
1363 |
+
#: includes/functions.php:2579
|
1364 |
msgid "Report header title"
|
1365 |
msgstr ""
|
1366 |
|
1367 |
+
#: includes/functions.php:2582
|
1368 |
msgid ""
|
1369 |
"Title to be displayed in the header of the statistins report. Text or HTML "
|
1370 |
"code."
|
1371 |
msgstr ""
|
1372 |
|
1373 |
+
#: includes/functions.php:2587
|
1374 |
msgid "Report header description"
|
1375 |
msgstr ""
|
1376 |
|
1377 |
+
#: includes/functions.php:2590
|
1378 |
msgid ""
|
1379 |
"Description to be displayed in the header of the statistins report. Text or "
|
1380 |
"HTML code."
|
1381 |
msgstr ""
|
1382 |
|
1383 |
+
#: includes/functions.php:2622
|
1384 |
msgid "Are you sure you want to clear all exceptions for block"
|
1385 |
msgstr ""
|
1386 |
|
1387 |
+
#: includes/functions.php:2623 settings.php:1041
|
1388 |
msgid "Clear all exceptions for block"
|
1389 |
msgstr ""
|
1390 |
|
1391 |
+
#: includes/functions.php:2630
|
1392 |
msgid "Are you sure you want to clear all exceptions?"
|
1393 |
msgstr ""
|
1394 |
|
1395 |
+
#: includes/functions.php:2630
|
1396 |
msgid "Clear all exceptions for all blocks"
|
1397 |
msgstr ""
|
1398 |
|
1399 |
+
#: includes/functions.php:2635 settings.php:3378 settings.php:3716
|
1400 |
msgid "Type"
|
1401 |
msgstr ""
|
1402 |
|
1403 |
+
#: includes/functions.php:2653
|
1404 |
msgid "View"
|
1405 |
msgstr ""
|
1406 |
|
1407 |
+
#: includes/functions.php:2654 includes/placeholders.php:346
|
1408 |
#: includes/preview.php:2271 settings.php:1180
|
1409 |
msgid "Edit"
|
1410 |
msgstr ""
|
1411 |
|
1412 |
+
#: includes/functions.php:2684
|
1413 |
msgid "Are you sure you want to clear all exceptions for"
|
1414 |
msgstr ""
|
1415 |
|
1416 |
+
#: includes/functions.php:2685
|
1417 |
msgid "Clear all exceptions for"
|
1418 |
msgstr ""
|
1419 |
|
1420 |
+
#: includes/functions.php:2698
|
1421 |
msgid "No exceptions"
|
1422 |
msgstr ""
|
1423 |
|
1424 |
#. translators: %s: Ad Inserter Pro
|
1425 |
+
#: includes/functions.php:2709
|
1426 |
msgid "%s options for network blogs"
|
1427 |
msgstr ""
|
1428 |
|
1429 |
#. translators: %s: Ad Inserter Pro
|
1430 |
+
#: includes/functions.php:2714
|
1431 |
msgid "Enable %s widgets for sub-sites"
|
1432 |
msgstr ""
|
1433 |
|
1434 |
+
#: includes/functions.php:2714
|
1435 |
msgid "Widgets"
|
1436 |
msgstr ""
|
1437 |
|
1438 |
+
#: includes/functions.php:2719
|
1439 |
msgid "Enable PHP code processing for sub-sites"
|
1440 |
msgstr ""
|
1441 |
|
1442 |
+
#: includes/functions.php:2719
|
1443 |
msgid "PHP Processing"
|
1444 |
msgstr ""
|
1445 |
|
1446 |
#. translators: %s: Ad Inserter Pro
|
1447 |
+
#: includes/functions.php:2724
|
1448 |
msgid "Enable %s block exceptions in post/page editor for sub-sites"
|
1449 |
msgstr ""
|
1450 |
|
1451 |
+
#: includes/functions.php:2724
|
1452 |
msgid "Post/Page exceptions"
|
1453 |
msgstr ""
|
1454 |
|
1455 |
#. translators: %s: Ad Inserter Pro
|
1456 |
+
#: includes/functions.php:2729
|
1457 |
msgid "Enable %s settings page for sub-sites"
|
1458 |
msgstr ""
|
1459 |
|
1460 |
+
#: includes/functions.php:2729
|
1461 |
msgid "Settings page"
|
1462 |
msgstr ""
|
1463 |
|
1464 |
#. translators: %s: Ad Inserter Pro
|
1465 |
+
#: includes/functions.php:2734
|
1466 |
msgid "Enable %s settings of main site to be used for all blogs"
|
1467 |
msgstr ""
|
1468 |
|
1469 |
+
#: includes/functions.php:2734
|
1470 |
msgid "Main site settings used for all blogs"
|
1471 |
msgstr ""
|
1472 |
|
1473 |
+
#: includes/functions.php:2745 settings.php:2436
|
1474 |
msgid "Ad Blocking Detection"
|
1475 |
msgstr ""
|
1476 |
|
1477 |
+
#: includes/functions.php:2751
|
1478 |
msgid ""
|
1479 |
"Standard method is reliable but should be used only if Advanced method does "
|
1480 |
"not work. Advanced method recreates files used for detection with random "
|
1482 |
"publicly accessible"
|
1483 |
msgstr ""
|
1484 |
|
1485 |
+
#: includes/functions.php:3371 includes/functions.php:3461
|
1486 |
+
#: includes/functions.php:3481
|
1487 |
msgid "AD BLOCKING"
|
1488 |
msgstr ""
|
1489 |
|
1490 |
+
#: includes/functions.php:3372 includes/functions.php:3412
|
1491 |
+
#: includes/functions.php:3455 includes/functions.php:3482
|
1492 |
msgid "BLOCK INSERTED BUT NOT VISIBLE"
|
1493 |
msgstr ""
|
1494 |
|
1495 |
+
#: includes/functions.php:3375 includes/functions.php:3454
|
1496 |
+
#: includes/functions.php:3488
|
1497 |
msgid "NO AD BLOCKING"
|
1498 |
msgstr ""
|
1499 |
|
1500 |
+
#: includes/functions.php:3411 includes/functions.php:3418
|
1501 |
msgid "AD BLOCKING REPLACEMENT"
|
1502 |
msgstr ""
|
1503 |
|
1504 |
+
#: includes/functions.php:3679 includes/functions.php:3888
|
1505 |
msgid "Pageviews"
|
1506 |
msgstr ""
|
1507 |
|
1508 |
+
#: includes/functions.php:3825
|
1509 |
msgctxt "Version"
|
1510 |
msgid "Unknown"
|
1511 |
msgstr ""
|
1512 |
|
1513 |
+
#: includes/functions.php:3825
|
1514 |
msgctxt "Times"
|
1515 |
msgid "DISPLAYED"
|
1516 |
msgstr ""
|
1517 |
|
1518 |
+
#: includes/functions.php:3825
|
1519 |
msgid "No version"
|
1520 |
msgstr ""
|
1521 |
|
1522 |
+
#: includes/functions.php:3826
|
1523 |
msgctxt "Times"
|
1524 |
msgid "BLOCKED"
|
1525 |
msgstr ""
|
1526 |
|
1527 |
+
#: includes/functions.php:3888
|
1528 |
msgid "Impressions"
|
1529 |
msgstr ""
|
1530 |
|
1531 |
+
#: includes/functions.php:3889 includes/functions.php:3890
|
1532 |
+
#: includes/functions.php:3920
|
1533 |
msgid "Clicks"
|
1534 |
msgstr ""
|
1535 |
|
1536 |
+
#: includes/functions.php:3890
|
1537 |
msgid "events"
|
1538 |
msgstr ""
|
1539 |
|
1540 |
+
#: includes/functions.php:3891
|
1541 |
msgid "Ad Blocking Share"
|
1542 |
msgstr ""
|
1543 |
|
1544 |
#. translators: CTR as Click Through Rate
|
1545 |
+
#: includes/functions.php:3891 includes/functions.php:3926
|
1546 |
msgid "CTR"
|
1547 |
msgstr ""
|
1548 |
|
1549 |
+
#: includes/functions.php:4008
|
1550 |
msgid "pageviews"
|
1551 |
msgid_plural "pageviews"
|
1552 |
msgstr[0] ""
|
1553 |
msgstr[1] ""
|
1554 |
|
1555 |
+
#: includes/functions.php:4008
|
1556 |
msgid "impressions"
|
1557 |
msgid_plural "impressions"
|
1558 |
msgstr[0] ""
|
1559 |
msgstr[1] ""
|
1560 |
|
1561 |
+
#: includes/functions.php:4012
|
1562 |
msgid "event"
|
1563 |
msgid_plural "events"
|
1564 |
msgstr[0] ""
|
1565 |
msgstr[1] ""
|
1566 |
|
1567 |
+
#: includes/functions.php:4012
|
1568 |
msgid "click"
|
1569 |
msgid_plural "clicks"
|
1570 |
msgstr[0] ""
|
1571 |
msgstr[1] ""
|
1572 |
|
1573 |
+
#: includes/functions.php:4107
|
1574 |
msgctxt "Pageviews / Impressions"
|
1575 |
msgid "Average"
|
1576 |
msgstr ""
|
1577 |
|
1578 |
+
#: includes/functions.php:4128
|
1579 |
msgctxt "Ad Blocking / Clicks"
|
1580 |
msgid "Average"
|
1581 |
msgstr ""
|
1582 |
|
1583 |
+
#: includes/functions.php:4152
|
1584 |
msgctxt "Ad Blocking Share / CTR"
|
1585 |
msgid "Average"
|
1586 |
msgstr ""
|
1587 |
|
1588 |
#. Translators: %s: Ad Inserter Pro
|
1589 |
+
#: includes/functions.php:4204
|
1590 |
msgid "%s Report"
|
1591 |
msgstr ""
|
1592 |
|
1593 |
+
#: includes/functions.php:4282
|
1594 |
msgid "Advanced WordPress Ad Management Plugin"
|
1595 |
msgstr ""
|
1596 |
|
1618 |
msgid "Placeholder"
|
1619 |
msgstr ""
|
1620 |
|
1621 |
+
#: includes/placeholders.php:356 settings.php:808 settings.php:3717
|
1622 |
msgid "Size"
|
1623 |
msgstr ""
|
1624 |
|
1726 |
msgid "Ad Blocking Detected Message Preview"
|
1727 |
msgstr ""
|
1728 |
|
1729 |
+
#: includes/preview-adb.php:348 settings.php:2553
|
1730 |
msgid "Message CSS"
|
1731 |
msgstr ""
|
1732 |
|
1733 |
+
#: includes/preview-adb.php:353 settings.php:2561
|
1734 |
msgid "Overlay CSS"
|
1735 |
msgstr ""
|
1736 |
|
1771 |
msgstr ""
|
1772 |
|
1773 |
#: includes/preview.php:2075 includes/preview.php:2226 settings.php:1141
|
1774 |
+
#: settings.php:3643
|
1775 |
msgid "Alignment"
|
1776 |
msgstr ""
|
1777 |
|
1977 |
msgid "General Settings"
|
1978 |
msgstr ""
|
1979 |
|
1980 |
+
#: settings.php:592 settings.php:2312 settings.php:2370 settings.php:2533
|
1981 |
msgid "Toggle Syntax Highlighting / Simple editor for mobile devices"
|
1982 |
msgstr ""
|
1983 |
|
2005 |
msgid "Open visual HTML editor"
|
2006 |
msgstr ""
|
2007 |
|
2008 |
+
#: settings.php:644 settings.php:1977
|
2009 |
msgid "Show AdSense ad units"
|
2010 |
msgstr ""
|
2011 |
|
2013 |
msgid "Clear block"
|
2014 |
msgstr ""
|
2015 |
|
2016 |
+
#: settings.php:658 settings.php:3611
|
2017 |
msgid "Copy block"
|
2018 |
msgstr ""
|
2019 |
|
2177 |
"editor. Leave blank for no individual post exceptions."
|
2178 |
msgstr ""
|
2179 |
|
2180 |
+
#: settings.php:978 settings.php:3037
|
2181 |
msgid "Posts"
|
2182 |
msgstr ""
|
2183 |
|
2188 |
"theme)"
|
2189 |
msgstr ""
|
2190 |
|
2191 |
+
#: settings.php:983 settings.php:3039
|
2192 |
msgid "Homepage"
|
2193 |
msgstr ""
|
2194 |
|
2196 |
msgid "Enable insertion on category blog pages (including sub-pages)"
|
2197 |
msgstr ""
|
2198 |
|
2199 |
+
#: settings.php:988 settings.php:3040
|
2200 |
msgid "Category pages"
|
2201 |
msgstr ""
|
2202 |
|
2214 |
"page editor. Leave blank for no individual page exceptions."
|
2215 |
msgstr ""
|
2216 |
|
2217 |
+
#: settings.php:1006 settings.php:3038
|
2218 |
msgid "Static pages"
|
2219 |
msgstr ""
|
2220 |
|
2222 |
msgid "Enable insertion on search blog pages"
|
2223 |
msgstr ""
|
2224 |
|
2225 |
+
#: settings.php:1011 settings.php:3042
|
2226 |
msgid "Search pages"
|
2227 |
msgstr ""
|
2228 |
|
2323 |
msgid "HTML element selector or comma separated list of selectors"
|
2324 |
msgstr ""
|
2325 |
|
2326 |
+
#: settings.php:1209 settings.php:2446
|
2327 |
msgid "Action"
|
2328 |
msgstr ""
|
2329 |
|
2590 |
msgid "Enable shortcode for manual insertion of this block in posts and pages"
|
2591 |
msgstr ""
|
2592 |
|
2593 |
+
#: settings.php:1636 settings.php:3645
|
2594 |
msgid "Shortcode"
|
2595 |
msgstr ""
|
2596 |
|
2650 |
msgid "Display"
|
2651 |
msgstr ""
|
2652 |
|
2653 |
+
#: settings.php:1760 settings.php:2007
|
2654 |
msgid "General"
|
2655 |
msgstr ""
|
2656 |
|
2711 |
"tab General)"
|
2712 |
msgstr ""
|
2713 |
|
2714 |
+
#: settings.php:1805 settings.php:2176
|
2715 |
msgid "Max blocks per page"
|
2716 |
msgstr ""
|
2717 |
|
2783 |
msgid "Not available"
|
2784 |
msgstr ""
|
2785 |
|
2786 |
+
#: settings.php:1908 settings.php:2168
|
2787 |
msgid "Ad label"
|
2788 |
msgstr ""
|
2789 |
|
2810 |
msgid "Settings timestamp"
|
2811 |
msgstr ""
|
2812 |
|
2813 |
+
#: settings.php:1968
|
2814 |
msgid "Are you sure you want to reset all settings?"
|
2815 |
msgstr ""
|
2816 |
|
2817 |
+
#: settings.php:1968
|
2818 |
msgid "Reset All Settings"
|
2819 |
msgstr ""
|
2820 |
|
2821 |
+
#: settings.php:1984
|
2822 |
+
msgid "Edit ads.txt file"
|
2823 |
+
msgstr ""
|
2824 |
+
|
2825 |
+
#: settings.php:2008
|
2826 |
msgid "Viewports"
|
2827 |
msgstr ""
|
2828 |
|
2829 |
+
#: settings.php:2009
|
2830 |
msgid "Hooks"
|
2831 |
msgstr ""
|
2832 |
|
2833 |
+
#: settings.php:2010
|
2834 |
msgid "Header"
|
2835 |
msgstr ""
|
2836 |
|
2837 |
+
#: settings.php:2011 strings.php:30
|
2838 |
msgid "Footer"
|
2839 |
msgstr ""
|
2840 |
|
2841 |
+
#: settings.php:2016
|
2842 |
msgid "Debugging"
|
2843 |
msgstr ""
|
2844 |
|
2845 |
+
#: settings.php:2026
|
2846 |
msgid "Plugin priority"
|
2847 |
msgstr ""
|
2848 |
|
2849 |
+
#: settings.php:2034
|
2850 |
msgid "Output buffering"
|
2851 |
msgstr ""
|
2852 |
|
2853 |
+
#: settings.php:2037
|
2854 |
msgid "Needed for position Above header but may not work with all themes"
|
2855 |
msgstr ""
|
2856 |
|
2857 |
+
#: settings.php:2045
|
2858 |
msgid "Syntax highlighting theme"
|
2859 |
msgstr ""
|
2860 |
|
2861 |
+
#: settings.php:2052
|
2862 |
msgctxt "no syntax highlighting themes"
|
2863 |
msgid "None"
|
2864 |
msgstr ""
|
2865 |
|
2866 |
+
#: settings.php:2053
|
2867 |
msgid "No Syntax Highlighting"
|
2868 |
msgstr ""
|
2869 |
|
2870 |
+
#: settings.php:2055
|
2871 |
msgctxt "syntax highlighting themes"
|
2872 |
msgid "Light"
|
2873 |
msgstr ""
|
2874 |
|
2875 |
+
#: settings.php:2070
|
2876 |
msgctxt "syntax highlighting themes"
|
2877 |
msgid "Dark"
|
2878 |
msgstr ""
|
2879 |
|
2880 |
+
#: settings.php:2096
|
2881 |
msgid "Min. user role for ind. exceptions editing"
|
2882 |
msgstr ""
|
2883 |
|
2884 |
+
#: settings.php:2106
|
2885 |
+
msgid "Disable caching for logged in administrators"
|
2886 |
+
msgstr ""
|
2887 |
+
|
2888 |
+
#: settings.php:2109
|
2889 |
+
msgid ""
|
2890 |
+
"Enabled means that logged in administrators will see non-cached (live) pages "
|
2891 |
+
"(applies to WP Super Cache, W3 Total Cache and WP Rocket plugins)"
|
2892 |
+
msgstr ""
|
2893 |
+
|
2894 |
+
#: settings.php:2117
|
2895 |
msgid "Sticky widget mode"
|
2896 |
msgstr ""
|
2897 |
|
2898 |
+
#: settings.php:2120
|
2899 |
msgid ""
|
2900 |
"CSS mode is the best approach but may not work with all themes. JavaScript "
|
2901 |
"mode works with most themes but may reload ads on page load."
|
2902 |
msgstr ""
|
2903 |
|
2904 |
+
#: settings.php:2128
|
2905 |
msgid "Sticky widget top margin"
|
2906 |
msgstr ""
|
2907 |
|
2908 |
+
#: settings.php:2136
|
2909 |
msgid "Dynamic blocks"
|
2910 |
msgstr ""
|
2911 |
|
2912 |
+
#: settings.php:2149
|
2913 |
msgid "Functions for paragraph counting"
|
2914 |
msgstr ""
|
2915 |
|
2916 |
+
#: settings.php:2152
|
2917 |
msgid ""
|
2918 |
"Standard PHP functions are faster and work in most cases, use Multibyte "
|
2919 |
"functions if paragraphs are not counted properly on non-english pages."
|
2920 |
msgstr ""
|
2921 |
|
2922 |
+
#: settings.php:2160
|
2923 |
msgid "No paragraph counting inside"
|
2924 |
msgstr ""
|
2925 |
|
2926 |
+
#: settings.php:2171
|
2927 |
msgid "Label text or HTML code"
|
2928 |
msgstr ""
|
2929 |
|
2930 |
+
#: settings.php:2179
|
2931 |
msgid ""
|
2932 |
"Maximum number of inserted blocks per page. You need to enable Max page "
|
2933 |
"insertions (button Misc / tab Insertion) to count block for this limit."
|
2934 |
msgstr ""
|
2935 |
|
2936 |
+
#: settings.php:2193
|
2937 |
msgid "Plugin usage tracking"
|
2938 |
msgstr ""
|
2939 |
|
2940 |
#. translators: %s: Ad Inserter
|
2941 |
+
#: settings.php:2196
|
2942 |
msgid ""
|
2943 |
"Enable tracking of %s usage and help us to make improvements to the plugin. "
|
2944 |
"Only information regarding the WordPress environment and %s usage is "
|
2945 |
"recorded (once per month and on events like plugin activation/deactivation)."
|
2946 |
msgstr ""
|
2947 |
|
2948 |
+
#: settings.php:2214
|
2949 |
msgid "CSS class name for the wrapping div"
|
2950 |
msgstr ""
|
2951 |
|
2952 |
+
#: settings.php:2214
|
2953 |
msgid "Block class name"
|
2954 |
msgstr ""
|
2955 |
|
2956 |
+
#: settings.php:2218
|
2957 |
msgid "Include general plugin block class"
|
2958 |
msgstr ""
|
2959 |
|
2960 |
+
#: settings.php:2218
|
2961 |
msgid "Block class"
|
2962 |
msgstr ""
|
2963 |
|
2964 |
+
#: settings.php:2223
|
2965 |
msgid "Include block number class"
|
2966 |
msgstr ""
|
2967 |
|
2968 |
+
#: settings.php:2223
|
2969 |
msgid "Block number class"
|
2970 |
msgstr ""
|
2971 |
|
2972 |
+
#: settings.php:2228
|
2973 |
msgid ""
|
2974 |
"Instead of alignment classes generate inline alignment styles for blocks"
|
2975 |
msgstr ""
|
2976 |
|
2977 |
+
#: settings.php:2228
|
2978 |
msgid "Inline styles"
|
2979 |
msgstr ""
|
2980 |
|
2981 |
+
#: settings.php:2234
|
2982 |
msgid "Preview of the block wrapping code"
|
2983 |
msgstr ""
|
2984 |
|
2985 |
+
#: settings.php:2235
|
2986 |
msgid "Wrapping div"
|
2987 |
msgstr ""
|
2988 |
|
2989 |
+
#: settings.php:2236 settings.php:2636
|
2990 |
msgid "BLOCK CODE"
|
2991 |
msgstr ""
|
2992 |
|
2993 |
+
#: settings.php:2244
|
2994 |
msgid "Viewport Settings used for client-side device detection"
|
2995 |
msgstr ""
|
2996 |
|
2997 |
#. Translators: %d: viewport number
|
2998 |
+
#: settings.php:2252
|
2999 |
msgid "Viewport %d name"
|
3000 |
msgstr ""
|
3001 |
|
3002 |
+
#: settings.php:2255
|
3003 |
msgid "min width"
|
3004 |
msgstr ""
|
3005 |
|
3006 |
+
#: settings.php:2266
|
3007 |
msgid "Custom Hooks"
|
3008 |
msgstr ""
|
3009 |
|
3010 |
+
#: settings.php:2278 settings.php:2281
|
3011 |
msgid "Enable hook"
|
3012 |
msgstr ""
|
3013 |
|
3014 |
#. translators: %d: hook number
|
3015 |
+
#: settings.php:2281
|
3016 |
msgid "Hook %d name"
|
3017 |
msgstr ""
|
3018 |
|
3019 |
+
#: settings.php:2284
|
3020 |
msgid "Hook name for automatic insertion selection"
|
3021 |
msgstr ""
|
3022 |
|
3023 |
+
#: settings.php:2287
|
3024 |
msgid "action"
|
3025 |
msgstr ""
|
3026 |
|
3027 |
+
#: settings.php:2290
|
3028 |
msgid "Action name as used in the do_action () function"
|
3029 |
msgstr ""
|
3030 |
|
3031 |
+
#: settings.php:2293
|
3032 |
msgid "priority"
|
3033 |
msgstr ""
|
3034 |
|
3035 |
+
#: settings.php:2296
|
3036 |
msgid "Priority for the hook (default is 10)"
|
3037 |
msgstr ""
|
3038 |
|
3039 |
+
#: settings.php:2317
|
3040 |
msgid "Enable insertion of this code into HTML page header"
|
3041 |
msgstr ""
|
3042 |
|
3043 |
+
#: settings.php:2321 settings.php:2379 settings.php:2538
|
3044 |
msgid "Process PHP code"
|
3045 |
msgstr ""
|
3046 |
|
3047 |
+
#: settings.php:2325
|
3048 |
msgid "HTML Page Header Code"
|
3049 |
msgstr ""
|
3050 |
|
3051 |
+
#: settings.php:2333
|
3052 |
msgid "Code in the %s section of the HTML page"
|
3053 |
msgstr ""
|
3054 |
|
3055 |
+
#: settings.php:2334 settings.php:2392
|
3056 |
msgctxt "code in header or footer"
|
3057 |
msgid "DISABLED"
|
3058 |
msgstr ""
|
3059 |
|
3060 |
+
#: settings.php:2347 settings.php:2405
|
3061 |
msgid "Use server-side detection to insert code only for"
|
3062 |
msgstr ""
|
3063 |
|
3064 |
+
#: settings.php:2360
|
3065 |
msgid ""
|
3066 |
"Enable insertion of this code into HTML page header on page for Error 404: "
|
3067 |
"Page not found"
|
3068 |
msgstr ""
|
3069 |
|
3070 |
+
#: settings.php:2360 settings.php:2418
|
3071 |
msgid "Insert on Error 404 page"
|
3072 |
msgstr ""
|
3073 |
|
3074 |
+
#: settings.php:2375
|
3075 |
msgid "Enable insertion of this code into HTML page footer"
|
3076 |
msgstr ""
|
3077 |
|
3078 |
+
#: settings.php:2383
|
3079 |
msgid "HTML Page Footer Code"
|
3080 |
msgstr ""
|
3081 |
|
3082 |
#. translators: %s: HTML tags
|
3083 |
+
#: settings.php:2391
|
3084 |
msgid "Code before the %s tag of the the HTML page"
|
3085 |
msgstr ""
|
3086 |
|
3087 |
+
#: settings.php:2418
|
3088 |
msgid ""
|
3089 |
"Enable insertion of this code into HTML page footer on page for Error 404: "
|
3090 |
"Page not found"
|
3091 |
msgstr ""
|
3092 |
|
3093 |
+
#: settings.php:2432
|
3094 |
msgid "Enable detection of ad blocking"
|
3095 |
msgstr ""
|
3096 |
|
3097 |
+
#: settings.php:2449
|
3098 |
msgid "Global action when ad blocking is detected"
|
3099 |
msgstr ""
|
3100 |
|
3101 |
+
#: settings.php:2458
|
3102 |
msgid "Delay Action"
|
3103 |
msgstr ""
|
3104 |
|
3105 |
+
#: settings.php:2461
|
3106 |
msgid ""
|
3107 |
"Number of page views to delay action when ad blocking is detected. Leave "
|
3108 |
"empty for no delay (action fires on first page view). Sets cookie."
|
3109 |
msgstr ""
|
3110 |
|
3111 |
+
#: settings.php:2461
|
3112 |
msgctxt "Delay Action for x "
|
3113 |
msgid "page views"
|
3114 |
msgstr ""
|
3115 |
|
3116 |
+
#: settings.php:2466
|
3117 |
msgid "No Action Period"
|
3118 |
msgstr ""
|
3119 |
|
3120 |
+
#: settings.php:2469
|
3121 |
msgid ""
|
3122 |
"Number of days to supress action when ad blocking is detected. Leave empty "
|
3123 |
"for no no-action period (action fires always after defined page view delay). "
|
3124 |
"Sets cookie."
|
3125 |
msgstr ""
|
3126 |
|
3127 |
+
#: settings.php:2469
|
3128 |
msgctxt "no action period"
|
3129 |
msgid "days"
|
3130 |
msgstr ""
|
3131 |
|
3132 |
+
#: settings.php:2474
|
3133 |
msgid "Custom Selectors"
|
3134 |
msgstr ""
|
3135 |
|
3136 |
+
#: settings.php:2477
|
3137 |
msgid ""
|
3138 |
"Comma seprarated list of selectors (.class, #id) used for additional ad "
|
3139 |
"blocking detection. Invisible element or element with zero height means ad "
|
3140 |
"blocking is present."
|
3141 |
msgstr ""
|
3142 |
|
3143 |
+
#: settings.php:2489
|
3144 |
msgid "Redirection Page"
|
3145 |
msgstr ""
|
3146 |
|
3147 |
+
#: settings.php:2501
|
3148 |
msgid "Custom Url"
|
3149 |
msgstr ""
|
3150 |
|
3151 |
+
#: settings.php:2506
|
3152 |
msgid ""
|
3153 |
"Static page for redirection when ad blocking is detected. For other pages "
|
3154 |
"select Custom url and set it below."
|
3155 |
msgstr ""
|
3156 |
|
3157 |
+
#: settings.php:2515
|
3158 |
msgid "Custom Redirection Url"
|
3159 |
msgstr ""
|
3160 |
|
3161 |
+
#: settings.php:2527
|
3162 |
msgid "Message HTML code"
|
3163 |
msgstr ""
|
3164 |
|
3165 |
+
#: settings.php:2540
|
3166 |
msgid "Preview message when ad blocking is detected"
|
3167 |
msgstr ""
|
3168 |
|
3169 |
+
#: settings.php:2569
|
3170 |
msgid "Prevent visitors from closing the warning message"
|
3171 |
msgstr ""
|
3172 |
|
3173 |
+
#: settings.php:2569
|
3174 |
msgid "Undismissible Message"
|
3175 |
msgstr ""
|
3176 |
|
3177 |
+
#: settings.php:2582
|
3178 |
msgid ""
|
3179 |
"Force showing admin toolbar for administrators when viewing site. Enable "
|
3180 |
"this option when you are logged in as admin and you don't see admin toolbar."
|
3181 |
msgstr ""
|
3182 |
|
3183 |
+
#: settings.php:2590
|
3184 |
msgid "Disable header code (Header tab)"
|
3185 |
msgstr ""
|
3186 |
|
3187 |
+
#: settings.php:2594
|
3188 |
msgid "Disable footer code (Footer tab)"
|
3189 |
msgstr ""
|
3190 |
|
3191 |
#. translators: %s: Ad Inserter
|
3192 |
+
#: settings.php:2598
|
3193 |
msgid "Disable %s JavaScript code"
|
3194 |
msgstr ""
|
3195 |
|
3196 |
#. translators: %s: Ad Inserter
|
3197 |
+
#: settings.php:2602
|
3198 |
msgid "Disable %s CSS code"
|
3199 |
msgstr ""
|
3200 |
|
3201 |
+
#: settings.php:2606
|
3202 |
msgid ""
|
3203 |
"Disable PHP code processing (in all blocks including header and footer code)"
|
3204 |
msgstr ""
|
3205 |
|
3206 |
+
#: settings.php:2610
|
3207 |
msgid "Disable insertion of all blocks"
|
3208 |
msgstr ""
|
3209 |
|
3210 |
+
#: settings.php:2614
|
3211 |
msgid "Disable insertions"
|
3212 |
msgstr ""
|
3213 |
|
3214 |
#. translators: %s: Ad Inserter
|
3215 |
+
#: settings.php:2626
|
3216 |
msgid "%s CSS CODE"
|
3217 |
msgstr ""
|
3218 |
|
3219 |
+
#: settings.php:2629
|
3220 |
msgid "HEADER CODE"
|
3221 |
msgstr ""
|
3222 |
|
3223 |
#. translators: %s: PHP tags
|
3224 |
+
#: settings.php:2635
|
3225 |
msgid "BLOCK PHP CODE"
|
3226 |
msgstr ""
|
3227 |
|
3228 |
#. translators: %s: Ad Inserter
|
3229 |
+
#: settings.php:2641
|
3230 |
msgid "%s JS CODE"
|
3231 |
msgstr ""
|
3232 |
|
3233 |
+
#: settings.php:2644
|
3234 |
msgid "FOOTER CODE"
|
3235 |
msgstr ""
|
3236 |
|
3237 |
+
#: settings.php:2653
|
3238 |
msgid "Force showing admin toolbar when viewing site"
|
3239 |
msgstr ""
|
3240 |
|
3241 |
+
#: settings.php:2660
|
3242 |
msgid "Enable debugging functions in admin toolbar"
|
3243 |
msgstr ""
|
3244 |
|
3245 |
+
#: settings.php:2662
|
3246 |
msgid "Debugging functions in admin toolbar"
|
3247 |
msgstr ""
|
3248 |
|
3249 |
+
#: settings.php:2669
|
3250 |
msgid "Enable debugging functions in admin toolbar on mobile screens"
|
3251 |
msgstr ""
|
3252 |
|
3253 |
+
#: settings.php:2671
|
3254 |
msgid "Debugging functions on mobile screens"
|
3255 |
msgstr ""
|
3256 |
|
3257 |
+
#: settings.php:2678
|
3258 |
msgid ""
|
3259 |
"Enable Debugger widget and code insertion debugging (blocks, positions, "
|
3260 |
"tags, processing) by url parameters for non-logged in users. Enable this "
|
3263 |
"administrators debugging is always enabled."
|
3264 |
msgstr ""
|
3265 |
|
3266 |
+
#: settings.php:2680
|
3267 |
msgid "Remote debugging"
|
3268 |
msgstr ""
|
3269 |
|
3270 |
+
#: settings.php:2687
|
3271 |
msgid ""
|
3272 |
"Disable translation to see original texts for the settings and messages in "
|
3273 |
"English"
|
3274 |
msgstr ""
|
3275 |
|
3276 |
+
#: settings.php:2689
|
3277 |
msgid "Disable translation"
|
3278 |
msgstr ""
|
3279 |
|
3280 |
+
#: settings.php:3025
|
3281 |
msgid "Available positions for current theme"
|
3282 |
msgstr ""
|
3283 |
|
3284 |
+
#: settings.php:3026
|
3285 |
msgid "Error checking pages"
|
3286 |
msgstr ""
|
3287 |
|
3288 |
+
#: settings.php:3029
|
3289 |
msgid "Toggle theme checker for available positions for automatic insertion"
|
3290 |
msgstr ""
|
3291 |
|
3292 |
+
#: settings.php:3029
|
3293 |
msgctxt "Button"
|
3294 |
msgid "Check"
|
3295 |
msgstr ""
|
3296 |
|
3297 |
+
#: settings.php:3036
|
3298 |
msgid "Position"
|
3299 |
msgstr ""
|
3300 |
|
3301 |
+
#: settings.php:3041
|
3302 |
msgid "Archive pages"
|
3303 |
msgstr ""
|
3304 |
|
3305 |
+
#: settings.php:3100
|
3306 |
msgid ""
|
3307 |
"Position not available because output buffering (tab [*]) is not enabled"
|
3308 |
msgstr ""
|
3309 |
|
3310 |
+
#: settings.php:3103 strings.php:217
|
3311 |
msgid "Position not checked yet"
|
3312 |
msgstr ""
|
3313 |
|
3314 |
+
#: settings.php:3134
|
3315 |
msgid "Toggle active/all blocks"
|
3316 |
msgstr ""
|
3317 |
|
3318 |
+
#: settings.php:3138 strings.php:204
|
3319 |
msgid "Rearrange block order"
|
3320 |
msgstr ""
|
3321 |
|
3322 |
+
#: settings.php:3143
|
3323 |
msgid "Save new block order"
|
3324 |
msgstr ""
|
3325 |
|
3326 |
+
#: settings.php:3143
|
3327 |
msgid "Save Changes"
|
3328 |
msgstr ""
|
3329 |
|
3330 |
+
#: settings.php:3168
|
3331 |
msgid "Toggle active/all ad units"
|
3332 |
msgstr ""
|
3333 |
|
3334 |
+
#: settings.php:3172
|
3335 |
msgid "Reload AdSense ad units"
|
3336 |
msgstr ""
|
3337 |
|
3338 |
+
#: settings.php:3176
|
3339 |
msgid "Clear authorization to access AdSense account"
|
3340 |
msgstr ""
|
3341 |
|
3342 |
+
#: settings.php:3180 settings.php:3802 settings.php:3869 strings.php:212
|
3343 |
msgid "Google AdSense Homepage"
|
3344 |
msgstr ""
|
3345 |
|
3346 |
+
#: settings.php:3203
|
3347 |
+
msgid "Reload ads.txt file"
|
3348 |
+
msgstr ""
|
3349 |
+
|
3350 |
+
#. translators: %s: ads.txt
|
3351 |
+
#: settings.php:3207
|
3352 |
+
msgid "Open %s"
|
3353 |
+
msgstr ""
|
3354 |
+
|
3355 |
+
#: settings.php:3211
|
3356 |
+
msgid "Switch to table view"
|
3357 |
+
msgstr ""
|
3358 |
+
|
3359 |
+
#: settings.php:3215
|
3360 |
+
msgid "Switch to editor"
|
3361 |
+
msgstr ""
|
3362 |
+
|
3363 |
+
#: settings.php:3219
|
3364 |
+
msgid "Save ads.txt file"
|
3365 |
+
msgstr ""
|
3366 |
+
|
3367 |
+
#: settings.php:3350 strings.php:197
|
3368 |
+
msgid "Warning"
|
3369 |
+
msgstr ""
|
3370 |
+
|
3371 |
+
#: settings.php:3350
|
3372 |
+
msgid "ads.txt file must be placed on the root domain"
|
3373 |
+
msgstr ""
|
3374 |
+
|
3375 |
+
#. translators: %s: file path
|
3376 |
+
#: settings.php:3351
|
3377 |
+
msgid "WordPress is installed in %s"
|
3378 |
+
msgstr ""
|
3379 |
+
|
3380 |
+
#: settings.php:3352
|
3381 |
+
msgid "Showing file"
|
3382 |
+
msgstr ""
|
3383 |
+
|
3384 |
+
#: settings.php:3359
|
3385 |
+
msgid "Account IDs found in blocks but not present in the ads.txt file"
|
3386 |
+
msgstr ""
|
3387 |
+
|
3388 |
+
#: settings.php:3376
|
3389 |
+
msgid "Advertising system"
|
3390 |
+
msgstr ""
|
3391 |
+
|
3392 |
+
#: settings.php:3377
|
3393 |
+
msgid "Account ID"
|
3394 |
+
msgstr ""
|
3395 |
+
|
3396 |
+
#: settings.php:3379
|
3397 |
+
msgid "Certification authority ID"
|
3398 |
+
msgstr ""
|
3399 |
+
|
3400 |
+
#: settings.php:3394
|
3401 |
+
msgid "Account ID found in block and present in ads.txt"
|
3402 |
+
msgstr ""
|
3403 |
+
|
3404 |
+
#: settings.php:3398
|
3405 |
+
msgid "Account ID found in block but not present in ads.txt"
|
3406 |
+
msgstr ""
|
3407 |
+
|
3408 |
+
#: settings.php:3614
|
3409 |
msgid "Preview block"
|
3410 |
msgstr ""
|
3411 |
|
3412 |
+
#: settings.php:3623
|
3413 |
msgid "Insertion disabled"
|
3414 |
msgstr ""
|
3415 |
|
3416 |
+
#: settings.php:3647
|
3417 |
msgid "Widget positions"
|
3418 |
msgstr ""
|
3419 |
|
3420 |
+
#: settings.php:3713
|
3421 |
msgid "Ad unit"
|
3422 |
msgstr ""
|
3423 |
|
3424 |
+
#: settings.php:3715
|
3425 |
msgid "Slot ID"
|
3426 |
msgstr ""
|
3427 |
|
3428 |
+
#: settings.php:3741
|
3429 |
msgid "Copy AdSense code"
|
3430 |
msgstr ""
|
3431 |
|
3432 |
+
#: settings.php:3744
|
3433 |
msgid "Preview AdSense ad"
|
3434 |
msgstr ""
|
3435 |
|
3436 |
+
#: settings.php:3747
|
3437 |
msgid "Get AdSense code"
|
3438 |
msgstr ""
|
3439 |
|
3440 |
#. translators: %s: HTML tags
|
3441 |
+
#: settings.php:3779
|
3442 |
msgid ""
|
3443 |
"Please %s clear authorization %s with the button %s above and once again "
|
3444 |
"authorize access to your AdSense account."
|
3445 |
msgstr ""
|
3446 |
|
3447 |
+
#: settings.php:3798
|
3448 |
msgid "AdSense Integration"
|
3449 |
msgstr ""
|
3450 |
|
3451 |
+
#: settings.php:3800
|
3452 |
msgid "AdSense Integration - Step 2"
|
3453 |
msgstr ""
|
3454 |
|
3455 |
#. translators: %s: HTML tags
|
3456 |
+
#: settings.php:3806
|
3457 |
msgid ""
|
3458 |
"Authorize %s to access your AdSense account. Click on the %s Get "
|
3459 |
"Authorization Code %s button to open a new window where you can allow "
|
3462 |
msgstr ""
|
3463 |
|
3464 |
#. translators: %s: HTML tags
|
3465 |
+
#: settings.php:3813
|
3466 |
msgid ""
|
3467 |
"If you get error, can't access ad units or would like to use own Google API "
|
3468 |
"IDs click on the button %s Use own API IDs %s to enter Client ID and Client "
|
3470 |
msgstr ""
|
3471 |
|
3472 |
#. translators: %s: HTML tags
|
3473 |
+
#: settings.php:3815
|
3474 |
msgid ""
|
3475 |
"Now you can authorize %s to access your AdSense account. Click on the %s Get "
|
3476 |
"Authorization Code %s button to open a new window where you can allow "
|
3479 |
msgstr ""
|
3480 |
|
3481 |
#. translators: %s: HTML tags
|
3482 |
+
#: settings.php:3822
|
3483 |
msgid ""
|
3484 |
"If you get error %s invalid client %s click on the button %s Clear and "
|
3485 |
"return to Step 1 %s to re-enter Client ID and Client Secret."
|
3486 |
msgstr ""
|
3487 |
|
3488 |
+
#: settings.php:3833
|
3489 |
msgid "Get Authorization Code"
|
3490 |
msgstr ""
|
3491 |
|
3492 |
+
#: settings.php:3836
|
3493 |
msgid "Enter Authorization Code"
|
3494 |
msgstr ""
|
3495 |
|
3496 |
+
#: settings.php:3846
|
3497 |
msgid "Use own API IDs"
|
3498 |
msgstr ""
|
3499 |
|
3500 |
+
#: settings.php:3848
|
3501 |
msgid "Clear and return to Step 1"
|
3502 |
msgstr ""
|
3503 |
|
3504 |
+
#: settings.php:3852
|
3505 |
msgid "Authorize"
|
3506 |
msgstr ""
|
3507 |
|
3508 |
+
#: settings.php:3868
|
3509 |
msgid "AdSense Integration - Step 1"
|
3510 |
msgstr ""
|
3511 |
|
3512 |
#. translators: %s: Ad Inserter
|
3513 |
+
#: settings.php:3872
|
3514 |
msgid ""
|
3515 |
"Here can %s list configured AdSense ad units and get code for AdSense ads. "
|
3516 |
"To do this you need to authorize %s to access your AdSense account. The "
|
3519 |
msgstr ""
|
3520 |
|
3521 |
#. translators: %s: HTML tags
|
3522 |
+
#: settings.php:3881
|
3523 |
msgid "Go to %s Google APIs and Services console %s"
|
3524 |
msgstr ""
|
3525 |
|
3526 |
#. translators: %1: Ad Inserter, 2, 3: HTML tags
|
3527 |
+
#: settings.php:3882
|
3528 |
msgid ""
|
3529 |
"Create %1$s project - if the project and IDs are already created click on "
|
3530 |
"the %2$s Credentials %3$s in the sidebar and go to step 16"
|
3531 |
msgstr ""
|
3532 |
|
3533 |
#. translators: %s: HTML tags
|
3534 |
+
#: settings.php:3883
|
3535 |
msgid ""
|
3536 |
"Click on project selection and then click on the %s NEW PROJECT %s button to "
|
3537 |
"create a new project"
|
3538 |
msgstr ""
|
3539 |
|
3540 |
#. translators: 1: Ad Inserter, 2, 3: HTML tags
|
3541 |
+
#: settings.php:3884
|
3542 |
msgid "Enter %1$s for project name and click on the %2$s Create %3$s button"
|
3543 |
msgstr ""
|
3544 |
|
3545 |
#. translators: %s: HTML tags
|
3546 |
+
#: settings.php:3885
|
3547 |
msgid ""
|
3548 |
"Click on project selection, wait for the project to be created and then and "
|
3549 |
"select %s as the current project"
|
3550 |
msgstr ""
|
3551 |
|
3552 |
#. translators: %s: HTML tags
|
3553 |
+
#: settings.php:3886
|
3554 |
msgid "Click on %s ENABLE APIS AND SERVICES %s"
|
3555 |
msgstr ""
|
3556 |
|
3557 |
#. translators: %s: HTML tags
|
3558 |
+
#: settings.php:3887
|
3559 |
msgid "Search for adsense and enable %s"
|
3560 |
msgstr ""
|
3561 |
|
3562 |
#. translators: %s: HTML tags
|
3563 |
+
#: settings.php:3888
|
3564 |
msgid "Click on %s CREATE CREDENTIALS %s"
|
3565 |
msgstr ""
|
3566 |
|
3567 |
#. translators: %s: HTML tags
|
3568 |
+
#: settings.php:3889
|
3569 |
msgid "For %s Where will you be calling the API from? %s select %s Other UI %s"
|
3570 |
msgstr ""
|
3571 |
|
3572 |
#. translators: %s: HTML tags
|
3573 |
+
#: settings.php:3890
|
3574 |
msgid "For %s What data will you be accessing? %s select %s User data %s"
|
3575 |
msgstr ""
|
3576 |
|
3577 |
#. translators: %s: HTML tags
|
3578 |
+
#: settings.php:3891
|
3579 |
msgid "Click on %s What credentials do I need? %s"
|
3580 |
msgstr ""
|
3581 |
|
3582 |
#. translators: %s: HTML tags
|
3583 |
+
#: settings.php:3892
|
3584 |
msgid ""
|
3585 |
"Create an OAuth 2.0 client ID: For %s OAuth 2.0 client ID %s name enter %s "
|
3586 |
"Ad Inserter client %s"
|
3587 |
msgstr ""
|
3588 |
|
3589 |
#. translators: %s: HTML tags
|
3590 |
+
#: settings.php:3893
|
3591 |
msgid ""
|
3592 |
"Set up the OAuth 2.0 consent screen: For %s Product name shown to users %s "
|
3593 |
"enter %s"
|
3594 |
msgstr ""
|
3595 |
|
3596 |
#. translators: %s: HTML tags
|
3597 |
+
#: settings.php:3894
|
3598 |
msgid "Click on %s Continue %s"
|
3599 |
msgstr ""
|
3600 |
|
3601 |
#. translators: %s: HTML tags
|
3602 |
+
#: settings.php:3895
|
3603 |
msgid "Click on %s Done %s"
|
3604 |
msgstr ""
|
3605 |
|
3606 |
#. translators: %s: HTML tags
|
3607 |
+
#: settings.php:3896
|
3608 |
msgid ""
|
3609 |
"Click on %s Ad Inserter client %s to get %s Client ID %s and %s Client "
|
3610 |
"secret %s"
|
3611 |
msgstr ""
|
3612 |
|
3613 |
+
#: settings.php:3897
|
3614 |
msgid "Copy them to the appropriate fields below"
|
3615 |
msgstr ""
|
3616 |
|
3617 |
+
#: settings.php:3903
|
3618 |
msgid "Client ID"
|
3619 |
msgstr ""
|
3620 |
|
3621 |
+
#: settings.php:3906
|
3622 |
msgid "Enter Client ID"
|
3623 |
msgstr ""
|
3624 |
|
3625 |
+
#: settings.php:3911
|
3626 |
msgid "Client secret"
|
3627 |
msgstr ""
|
3628 |
|
3629 |
+
#: settings.php:3914
|
3630 |
msgid "Enter Client secret"
|
3631 |
msgstr ""
|
3632 |
|
3633 |
+
#: settings.php:3924
|
3634 |
msgid "Use default API IDs"
|
3635 |
msgstr ""
|
3636 |
|
3637 |
+
#: settings.php:3929
|
3638 |
msgid "Save"
|
3639 |
msgstr ""
|
3640 |
|
3641 |
+
#: settings.php:4205 settings.php:4218 settings.php:4231 settings.php:4246
|
3642 |
msgid "Blank ad blocks? Looking for AdSense alternative?"
|
3643 |
msgstr ""
|
3644 |
|
3645 |
+
#: settings.php:4210 settings.php:4223 settings.php:4236 settings.php:4251
|
3646 |
+
#: settings.php:4420 settings.php:4424 settings.php:4426 settings.php:4442
|
3647 |
+
#: settings.php:4453 settings.php:4456 settings.php:4462 settings.php:4474
|
3648 |
msgid "Looking for AdSense alternative?"
|
3649 |
msgstr ""
|
3650 |
|
3651 |
+
#: settings.php:4262
|
3652 |
msgid "Try Infolinks Ads with Adsense or Media.net ads"
|
3653 |
msgstr ""
|
3654 |
|
3655 |
+
#: settings.php:4267 settings.php:4422 settings.php:4434 settings.php:4459
|
3656 |
+
#: settings.php:4482
|
3657 |
msgid "Use Infolinks ads with Adsense to earn more"
|
3658 |
msgstr ""
|
3659 |
|
3660 |
+
#: settings.php:4286 settings.php:4324
|
3661 |
msgid "Support plugin development"
|
3662 |
msgstr ""
|
3663 |
|
3664 |
+
#: settings.php:4287 settings.php:4325
|
3665 |
msgid ""
|
3666 |
"If you like Ad Inserter and have a moment, please help me spread the word by "
|
3667 |
"reviewing the plugin on WordPres"
|
3668 |
msgstr ""
|
3669 |
|
3670 |
+
#: settings.php:4287
|
3671 |
msgctxt "Review ad Inserter"
|
3672 |
msgid "Review"
|
3673 |
msgstr ""
|
3674 |
|
3675 |
+
#: settings.php:4288
|
3676 |
msgid ""
|
3677 |
"Support free Ad Inserter development. If you are making money with Ad "
|
3678 |
"Inserter consider donating some small amount. Even 1 dollar counts. Thank "
|
3679 |
"you!"
|
3680 |
msgstr ""
|
3681 |
|
3682 |
+
#: settings.php:4288
|
3683 |
msgid "Donate"
|
3684 |
msgstr ""
|
3685 |
|
3686 |
+
#: settings.php:4295 settings.php:4340
|
3687 |
msgid "Average rating of the plugin - Thank you!"
|
3688 |
msgstr ""
|
3689 |
|
3690 |
#. translators: %s: Ad Inserter, HTML tags
|
3691 |
+
#: settings.php:4306
|
3692 |
msgid ""
|
3693 |
"You've been using %s for a while now, and I hope you're happy with it. "
|
3694 |
"Positive %s reviews %s are a great way to show your appreciation for my "
|
3697 |
"your website. %s Thank you!"
|
3698 |
msgstr ""
|
3699 |
|
3700 |
+
#: settings.php:4325
|
3701 |
msgid "Review"
|
3702 |
msgstr ""
|
3703 |
|
3704 |
+
#: settings.php:4329
|
3705 |
msgid "Ad Inserter on Twitter"
|
3706 |
msgstr ""
|
3707 |
|
3708 |
+
#: settings.php:4330
|
3709 |
msgid "Ad Inserter on Facebook"
|
3710 |
msgstr ""
|
3711 |
|
3712 |
+
#: settings.php:4333
|
3713 |
msgid "Follow Ad Inserter"
|
3714 |
msgstr ""
|
3715 |
|
3716 |
#. translators: %s: HTML tags
|
3717 |
+
#: settings.php:4360
|
3718 |
msgid ""
|
3719 |
"Need help with %s settings? %s Check %s Quick Start, %s %s Code Editing %s "
|
3720 |
"and %s Common Settings %s pages"
|
3721 |
msgstr ""
|
3722 |
|
3723 |
#. translators: %s: HTML tags
|
3724 |
+
#: settings.php:4372
|
3725 |
msgid ""
|
3726 |
"%s New to %s AdSense? %s %s %s Connect your site %s - Advanced %s AdSense "
|
3727 |
"code: %s %s In-feed ads, %s %s Auto ads, %s %s AMP ads %s"
|
3728 |
msgstr ""
|
3729 |
|
3730 |
#. translators: %s: HTML tags
|
3731 |
+
#: settings.php:4391
|
3732 |
msgid ""
|
3733 |
"Ads are not showing? Check %s troubleshooting guide %s to find out how to "
|
3734 |
"diagnose and fix the problem."
|
3735 |
msgstr ""
|
3736 |
|
3737 |
#. translators: %s: HTML tags
|
3738 |
+
#: settings.php:4395
|
3739 |
msgid ""
|
3740 |
"If you need any kind of help or support, please do not hesitate to open a "
|
3741 |
"thread on the %s support forum. %s"
|
3742 |
msgstr ""
|
3743 |
|
3744 |
+
#: settings.php:4438 settings.php:4478
|
3745 |
msgid "A/B testing - Track ad impressions and clicks"
|
3746 |
msgstr ""
|
3747 |
|
3748 |
+
#: settings.php:4446 settings.php:4470
|
3749 |
msgid "Code preview with visual CSS editor"
|
3750 |
msgstr ""
|
3751 |
|
3752 |
+
#: settings.php:4488
|
3753 |
msgid "Looking for Pro Ad Management plugin?"
|
3754 |
msgstr ""
|
3755 |
|
3756 |
+
#: settings.php:4489
|
3757 |
msgid "To Optimally Monetize your WordPress website?"
|
3758 |
msgstr ""
|
3759 |
|
3760 |
#. translators: %s HTML tags
|
3761 |
+
#: settings.php:4492
|
3762 |
msgid "%s AdSense Integration %s"
|
3763 |
msgstr ""
|
3764 |
|
3765 |
#. translators: %s HTML tags
|
3766 |
+
#: settings.php:4493
|
3767 |
msgid "Syntax highlighting %s editor %s"
|
3768 |
msgstr ""
|
3769 |
|
3770 |
#. translators: %s HTML tags
|
3771 |
+
#: settings.php:4494
|
3772 |
msgid "%s Code preview %s with visual CSS editor"
|
3773 |
msgstr ""
|
3774 |
|
3775 |
#. translators: %s HTML tags
|
3776 |
+
#: settings.php:4495
|
3777 |
msgid "Simple user interface - all settings on a single page"
|
3778 |
msgstr ""
|
3779 |
|
3780 |
#. translators: %s HTML tags
|
3781 |
+
#: settings.php:4496
|
3782 |
msgid ""
|
3783 |
"%s Automatic insertion %s before or after post / content / %s paragraph %s / "
|
3784 |
"image / excerpt"
|
3785 |
msgstr ""
|
3786 |
|
3787 |
#. translators: %s HTML tags
|
3788 |
+
#: settings.php:4497
|
3789 |
msgid "%s Automatic insertion %s between posts on blog pages"
|
3790 |
msgstr ""
|
3791 |
|
3792 |
#. translators: %s HTML tags
|
3793 |
+
#: settings.php:4498
|
3794 |
msgid "%s Automatic insertion %s before, between and after comments"
|
3795 |
msgstr ""
|
3796 |
|
3797 |
#. translators: %s HTML tags
|
3798 |
+
#: settings.php:4499
|
3799 |
msgid "%s Automatic insertion %s after %s or before %s tag"
|
3800 |
msgstr ""
|
3801 |
|
3802 |
#. translators: %s HTML tags
|
3803 |
+
#: settings.php:4500
|
3804 |
msgid "Automatic insertion at %s custom hook positions %s"
|
3805 |
msgstr ""
|
3806 |
|
3807 |
#. translators: %s HTML tags
|
3808 |
+
#: settings.php:4501
|
3809 |
msgid ""
|
3810 |
"Insertion %s before or after any HTML element on the page %s (using CSS "
|
3811 |
"selectors)"
|
3812 |
msgstr ""
|
3813 |
|
3814 |
#. translators: %s HTML tags
|
3815 |
+
#: settings.php:4502
|
3816 |
msgid "%s Insertion exceptions %s for individual posts and pages"
|
3817 |
msgstr ""
|
3818 |
|
3819 |
#. translators: %s HTML tags
|
3820 |
+
#: settings.php:4503
|
3821 |
msgid "%s Manual insertion: %s widgets, shortcodes, PHP function call"
|
3822 |
msgstr ""
|
3823 |
|
3824 |
#. translators: %s HTML tags
|
3825 |
+
#: settings.php:4504
|
3826 |
msgid ""
|
3827 |
"%s Sticky ads %s with optional close button (ads stay fixed when the page "
|
3828 |
"scrolls)"
|
3829 |
msgstr ""
|
3830 |
|
3831 |
#. translators: %s HTML tags
|
3832 |
+
#: settings.php:4505
|
3833 |
msgid "%s Sticky sidebar ads %s (stick to the screen or to the content)"
|
3834 |
msgstr ""
|
3835 |
|
3836 |
#. translators: %s HTML tags
|
3837 |
+
#: settings.php:4506
|
3838 |
msgid "%s Sticky ad animations %s (fade, slide, turn, flip, zoom)"
|
3839 |
msgstr ""
|
3840 |
|
3841 |
#. translators: %s HTML tags
|
3842 |
+
#: settings.php:4507
|
3843 |
msgid ""
|
3844 |
"%s Sticky ad trigger %s (page scroll in %% or px, HTML element becomes "
|
3845 |
"visible)"
|
3846 |
msgstr ""
|
3847 |
|
3848 |
#. translators: %s HTML tags
|
3849 |
+
#: settings.php:4508
|
3850 |
msgid ""
|
3851 |
"%s Sticky (fixed) widgets %s (sidebar does not move when the page scrolls)"
|
3852 |
msgstr ""
|
3853 |
|
3854 |
#. translators: %s HTML tags
|
3855 |
+
#: settings.php:4509
|
3856 |
msgid "Block %s alignment and style %s customizations"
|
3857 |
msgstr ""
|
3858 |
|
3859 |
#. translators: %s HTML tags
|
3860 |
+
#: settings.php:4510
|
3861 |
msgid ""
|
3862 |
"%s Clearance %s options to avoid insertion near images or headers (AdSense "
|
3863 |
"TOS)"
|
3864 |
msgstr ""
|
3865 |
|
3866 |
#. translators: %s HTML tags
|
3867 |
+
#: settings.php:4511
|
3868 |
msgid ""
|
3869 |
"Options to %s disable insertion %s on Ajax calls, 404 error pages or in RSS "
|
3870 |
"feeds"
|
3871 |
msgstr ""
|
3872 |
|
3873 |
#. translators: %s HTML tags
|
3874 |
+
#: settings.php:4512
|
3875 |
msgid "%s Ad rotation %s (works also with caching)"
|
3876 |
msgstr ""
|
3877 |
|
3878 |
#. translators: %s HTML tags
|
3879 |
+
#: settings.php:4513
|
3880 |
msgid ""
|
3881 |
"Ad impression and click %s tracking %s (works also with Javascript ads like "
|
3882 |
"AdSense)"
|
3883 |
msgstr ""
|
3884 |
|
3885 |
#. translators: %s HTML tags
|
3886 |
+
#: settings.php:4514
|
3887 |
msgid "Support for %s A/B testing %s"
|
3888 |
msgstr ""
|
3889 |
|
3890 |
#. translators: %s HTML tags
|
3891 |
+
#: settings.php:4515
|
3892 |
msgid "Support for %s lazy loading %s"
|
3893 |
msgstr ""
|
3894 |
|
3895 |
#. translators: %s HTML tags
|
3896 |
+
#: settings.php:4516
|
3897 |
msgid "Support for ads on %s AMP pages %s"
|
3898 |
msgstr ""
|
3899 |
|
3900 |
#. translators: %s HTML tags
|
3901 |
+
#: settings.php:4517
|
3902 |
msgid "Support for contextual %s Amazon Native Shopping Ads %s (responsive)"
|
3903 |
msgstr ""
|
3904 |
|
3905 |
#. translators: %s HTML tags
|
3906 |
+
#: settings.php:4518
|
3907 |
msgid "Custom CSS class name for wrapping divs to avoid ad blockers"
|
3908 |
msgstr ""
|
3909 |
|
3910 |
#. translators: %s HTML tags
|
3911 |
+
#: settings.php:4519
|
3912 |
msgid "PHP code processing"
|
3913 |
msgstr ""
|
3914 |
|
3915 |
#. translators: %s HTML tags
|
3916 |
+
#: settings.php:4520
|
3917 |
msgid "%s Banner %s code generator"
|
3918 |
msgstr ""
|
3919 |
|
3920 |
#. translators: %s HTML tags
|
3921 |
+
#: settings.php:4521
|
3922 |
msgid "Support for %s header and footer %s code"
|
3923 |
msgstr ""
|
3924 |
|
3925 |
#. translators: %s HTML tags
|
3926 |
+
#: settings.php:4522
|
3927 |
msgid "Support for Google Analytics, Matomo or any other web analytics code"
|
3928 |
msgstr ""
|
3929 |
|
3930 |
#. translators: %s HTML tags
|
3931 |
+
#: settings.php:4523
|
3932 |
msgid "Desktop, tablet and phone server-side %s device detection %s"
|
3933 |
msgstr ""
|
3934 |
|
3935 |
#. translators: %s HTML tags
|
3936 |
+
#: settings.php:4524
|
3937 |
msgid "Client-side %s mobile device detection %s (works with caching)"
|
3938 |
msgstr ""
|
3939 |
|
3940 |
#. translators: %s HTML tags
|
3941 |
+
#: settings.php:4525
|
3942 |
msgid ""
|
3943 |
"%s Ad blocking detection %s - popup message, ad replacement, content "
|
3944 |
"protection"
|
3945 |
msgstr ""
|
3946 |
|
3947 |
#. translators: %s HTML tags
|
3948 |
+
#: settings.php:4526
|
3949 |
msgid "%s Ad blocking statistics %s"
|
3950 |
msgstr ""
|
3951 |
|
3952 |
#. translators: %s HTML tags
|
3953 |
+
#: settings.php:4527
|
3954 |
msgid ""
|
3955 |
"%s Black/White-list %s categories, tags, taxonomies, users, post IDs, urls, "
|
3956 |
"referers"
|
3957 |
msgstr ""
|
3958 |
|
3959 |
#. translators: %s HTML tags
|
3960 |
+
#: settings.php:4528
|
3961 |
msgid ""
|
3962 |
"%s Black/White-list %s IP addresses or countries (works also with caching)"
|
3963 |
msgstr ""
|
3964 |
|
3965 |
#. translators: %s HTML tags
|
3966 |
+
#: settings.php:4529
|
3967 |
msgid "%s Multisite options %s to limit settings on the sites"
|
3968 |
msgstr ""
|
3969 |
|
3970 |
#. translators: %s HTML tags
|
3971 |
+
#: settings.php:4530
|
3972 |
msgid "%s Import/Export %s block or plugin settings"
|
3973 |
msgstr ""
|
3974 |
|
3975 |
#. translators: %s HTML tags
|
3976 |
+
#: settings.php:4531
|
3977 |
msgid "%s Insertion scheduling %s with fallback option"
|
3978 |
msgstr ""
|
3979 |
|
3980 |
#. translators: %s HTML tags
|
3981 |
+
#: settings.php:4532
|
3982 |
msgid "Country-level %s GEO targeting %s (works also with caching)"
|
3983 |
msgstr ""
|
3984 |
|
3985 |
#. translators: %s HTML tags
|
3986 |
+
#: settings.php:4533
|
3987 |
msgid "Simple troubleshooting with many %s debugging functions %s"
|
3988 |
msgstr ""
|
3989 |
|
3990 |
#. translators: %s HTML tags
|
3991 |
+
#: settings.php:4534
|
3992 |
msgid "%s Visualization %s of inserted blocks or ads for easier placement"
|
3993 |
msgstr ""
|
3994 |
|
3995 |
#. translators: %s HTML tags
|
3996 |
+
#: settings.php:4535
|
3997 |
msgid "%s Visualization %s of available positions for automatic ad insertion"
|
3998 |
msgstr ""
|
3999 |
|
4000 |
#. translators: %s HTML tags
|
4001 |
+
#: settings.php:4536
|
4002 |
msgid ""
|
4003 |
"%s Visualization %s of HTML tags for easier ad placement between paragraphs"
|
4004 |
msgstr ""
|
4005 |
|
4006 |
#. translators: %s HTML tags
|
4007 |
+
#: settings.php:4537
|
4008 |
msgid "%s Clipboard support %s to easily copy blocks or settings"
|
4009 |
msgstr ""
|
4010 |
|
4011 |
#. translators: %s HTML tags
|
4012 |
+
#: settings.php:4538
|
4013 |
msgid "No ads on the settings page"
|
4014 |
msgstr ""
|
4015 |
|
4016 |
#. translators: %s HTML tags
|
4017 |
+
#: settings.php:4539
|
4018 |
msgid "Premium support via email"
|
4019 |
msgstr ""
|
4020 |
|
4021 |
#. translators: %s HTML tags
|
4022 |
+
#: settings.php:4542
|
4023 |
msgid ""
|
4024 |
"Ad Inserter Pro is a complete all-in-one ad management plugin for WordPress "
|
4025 |
"website with many advertising features to automatically insert adverts on "
|
4034 |
msgstr ""
|
4035 |
|
4036 |
#. translators: %s HTML tags
|
4037 |
+
#: settings.php:4555
|
4038 |
msgid "Looking for %s Pro Ad Management plugin? %s"
|
4039 |
msgstr ""
|
4040 |
|
4041 |
#. translators: %s HTML tags
|
4042 |
+
#: settings.php:4560
|
4043 |
msgid "Ads between posts"
|
4044 |
msgstr ""
|
4045 |
|
4046 |
#. translators: %s HTML tags
|
4047 |
+
#: settings.php:4561
|
4048 |
msgid "Ads between comments"
|
4049 |
msgstr ""
|
4050 |
|
4051 |
#. translators: %s HTML tags
|
4052 |
+
#: settings.php:4562
|
4053 |
msgid "Support via email"
|
4054 |
msgstr ""
|
4055 |
|
4056 |
#. translators: %s HTML tags
|
4057 |
+
#: settings.php:4568
|
4058 |
msgid "%s Sticky positions %s"
|
4059 |
msgstr ""
|
4060 |
|
4061 |
#. translators: %s HTML tags
|
4062 |
+
#: settings.php:4569
|
4063 |
msgid "%s Limit insertions %s"
|
4064 |
msgstr ""
|
4065 |
|
4066 |
#. translators: %s HTML tags
|
4067 |
+
#: settings.php:4570
|
4068 |
msgid "%s Clearance %s options"
|
4069 |
msgstr ""
|
4070 |
|
4071 |
#. translators: %s HTML tags
|
4072 |
+
#: settings.php:4576
|
4073 |
msgid "Ad rotation"
|
4074 |
msgstr ""
|
4075 |
|
4076 |
#. translators: %s HTML tags
|
4077 |
+
#: settings.php:4577
|
4078 |
msgid "%s A/B testing %s"
|
4079 |
msgstr ""
|
4080 |
|
4081 |
#. translators: %s HTML tags
|
4082 |
+
#: settings.php:4578
|
4083 |
msgid "%s Ad tracking %s"
|
4084 |
msgstr ""
|
4085 |
|
4086 |
#. translators: %s HTML tags
|
4087 |
+
#: settings.php:4584
|
4088 |
msgid "Support for %s AMP pages %s"
|
4089 |
msgstr ""
|
4090 |
|
4091 |
#. translators: %s HTML tags
|
4092 |
+
#: settings.php:4585
|
4093 |
msgid "%s Ad blocking detection %s"
|
4094 |
msgstr ""
|
4095 |
|
4096 |
#. translators: %s HTML tags
|
4097 |
+
#: settings.php:4586
|
4098 |
msgid "%s Mobile device detection %s"
|
4099 |
msgstr ""
|
4100 |
|
4101 |
#. translators: %s HTML tags
|
4102 |
+
#: settings.php:4593
|
4103 |
msgid "64 code blocks"
|
4104 |
msgstr ""
|
4105 |
|
4106 |
#. translators: %s HTML tags
|
4107 |
+
#: settings.php:4594
|
4108 |
msgid "%s GEO targeting %s"
|
4109 |
msgstr ""
|
4110 |
|
4111 |
#. translators: %s HTML tags
|
4112 |
+
#: settings.php:4595
|
4113 |
msgid "%s Scheduling %s"
|
4114 |
msgstr ""
|
4115 |
|
4756 |
msgstr[0] ""
|
4757 |
msgstr[1] ""
|
4758 |
|
|
|
|
|
|
|
|
|
4759 |
#: strings.php:198
|
4760 |
msgid "Delete"
|
4761 |
msgstr ""
|
readme.txt
CHANGED
@@ -6,7 +6,7 @@ Tags: ads, adsense, ad rotation, ad manager, amp, amazon, ad blocking detection,
|
|
6 |
Requires at least: 4.0
|
7 |
Tested up to: 5.1
|
8 |
Requires PHP: 5.6
|
9 |
-
Stable tag: 2.4.
|
10 |
License: GPLv3
|
11 |
|
12 |
Manage ads: Google AdSense ads, Amazon banners, ad rotation, sticky widget ads, AMP ads, DFP ads, PHP, tracking, AdSense header and footer code
|
@@ -91,6 +91,7 @@ Looking for AdSense plugin with simple setup for ads at best positions? A plugin
|
|
91 |
* Use post title, tags or category names to create contextual ads
|
92 |
* PHP code processing
|
93 |
* Ad labels - show customized label above ads
|
|
|
94 |
* Ad rotation (server-side and client-side - works with caching)
|
95 |
* Timed ad rotation - define times to rotate ads in a single ad block
|
96 |
* Create rich media ads with standard WordPress TinyMCE editor
|
@@ -157,7 +158,7 @@ If you need statistics for ads and metrics for impressions and clicks, A/B testi
|
|
157 |
* No ads on the settings page
|
158 |
* Support via email
|
159 |
|
160 |
-
Run a WordPress related blog? Have experience with AdSense ads? Interested in reviewing Ad Inserter Pro? [Introduce yourself](https://adinserter.pro/contact).
|
161 |
|
162 |
Have experience with WordPress theme or plugin translation? We are looking for translators! [Contact us](https://adinserter.pro/contact).
|
163 |
|
@@ -191,6 +192,7 @@ Ad Inserter is not just another plugin for WordPress ads. Do you enjoy finding t
|
|
191 |
* to insert AMP ads on AMP pages
|
192 |
* to insert different ads for mobile devices
|
193 |
* to insert ads at custom action hooks (e.g. using <a href="https://genesistutorials.com/visual-hook-guide/" target="_blank">Genesis Theme Framework Hook Guide</a>)
|
|
|
194 |
* to hide ads on specific pages
|
195 |
* for ad rotation - to rotate different ads in a single ad position
|
196 |
* for PHP code widgets and PHP ads
|
@@ -266,7 +268,7 @@ Ad Inserter is also a powerful AdSense plugin. However, AdSense ads require some
|
|
266 |
**Insert Any Code Anywhere on the Page - Automate Insertion of Ads**
|
267 |
|
268 |
* Automatic insertion of ads using standard (the_content, the_excerpt, loop_start, loop_end, the_post,...) or custom WP hooks
|
269 |
-
* Server-side or client-side (javascript) insertion before or
|
270 |
* Manual insertion of ads with shortcodes
|
271 |
* Insertion of ads with widgets or PHP function calls from child theme
|
272 |
|
@@ -486,6 +488,12 @@ Please note that responsive AdSense ads can not work with floating alignments (a
|
|
486 |
|
487 |
== Changelog ==
|
488 |
|
|
|
|
|
|
|
|
|
|
|
|
|
489 |
= 2.4.11 =
|
490 |
- Fix for saving code with slashes
|
491 |
- Fix for rotation editor code import
|
@@ -571,6 +579,12 @@ For the changelog of earlier versions, please refer to the separate changelog.tx
|
|
571 |
|
572 |
== Upgrade Notice ==
|
573 |
|
|
|
|
|
|
|
|
|
|
|
|
|
574 |
= 2.4.11 =
|
575 |
Fix for saving code with slashes;
|
576 |
Fix for rotation editor code import;
|
6 |
Requires at least: 4.0
|
7 |
Tested up to: 5.1
|
8 |
Requires PHP: 5.6
|
9 |
+
Stable tag: 2.4.12
|
10 |
License: GPLv3
|
11 |
|
12 |
Manage ads: Google AdSense ads, Amazon banners, ad rotation, sticky widget ads, AMP ads, DFP ads, PHP, tracking, AdSense header and footer code
|
91 |
* Use post title, tags or category names to create contextual ads
|
92 |
* PHP code processing
|
93 |
* Ad labels - show customized label above ads
|
94 |
+
* ads.txt editor
|
95 |
* Ad rotation (server-side and client-side - works with caching)
|
96 |
* Timed ad rotation - define times to rotate ads in a single ad block
|
97 |
* Create rich media ads with standard WordPress TinyMCE editor
|
158 |
* No ads on the settings page
|
159 |
* Support via email
|
160 |
|
161 |
+
Run a WordPress related blog? Have experience with AdSense ads? Interested in reviewing Ad Inserter Pro or would like to become Ad Inserter Pro affiliate? [Introduce yourself](https://adinserter.pro/contact).
|
162 |
|
163 |
Have experience with WordPress theme or plugin translation? We are looking for translators! [Contact us](https://adinserter.pro/contact).
|
164 |
|
192 |
* to insert AMP ads on AMP pages
|
193 |
* to insert different ads for mobile devices
|
194 |
* to insert ads at custom action hooks (e.g. using <a href="https://genesistutorials.com/visual-hook-guide/" target="_blank">Genesis Theme Framework Hook Guide</a>)
|
195 |
+
* to edit ads.txt file
|
196 |
* to hide ads on specific pages
|
197 |
* for ad rotation - to rotate different ads in a single ad position
|
198 |
* for PHP code widgets and PHP ads
|
268 |
**Insert Any Code Anywhere on the Page - Automate Insertion of Ads**
|
269 |
|
270 |
* Automatic insertion of ads using standard (the_content, the_excerpt, loop_start, loop_end, the_post,...) or custom WP hooks
|
271 |
+
* Server-side or client-side (javascript) insertion before, after or inside **any HTML element on page** (using CSS selectors #id, .class)
|
272 |
* Manual insertion of ads with shortcodes
|
273 |
* Insertion of ads with widgets or PHP function calls from child theme
|
274 |
|
488 |
|
489 |
== Changelog ==
|
490 |
|
491 |
+
= 2.4.12 =
|
492 |
+
- Added ads.txt editor
|
493 |
+
- Added option to prevent disabling caching for logged in administrators
|
494 |
+
- Improved compatibility with PHP 7.2
|
495 |
+
- Few minor bug fixes, cosmetic changes and code improvements
|
496 |
+
|
497 |
= 2.4.11 =
|
498 |
- Fix for saving code with slashes
|
499 |
- Fix for rotation editor code import
|
579 |
|
580 |
== Upgrade Notice ==
|
581 |
|
582 |
+
= 2.4.12 =
|
583 |
+
Added ads.txt editor;
|
584 |
+
Added Added option to prevent disabling caching for logged in administrators;
|
585 |
+
Improved compatibility with PHP 7.2;
|
586 |
+
Few minor bug fixes, cosmetic changes and code improvements
|
587 |
+
|
588 |
= 2.4.11 =
|
589 |
Fix for saving code with slashes;
|
590 |
Fix for rotation editor code import;
|
settings.php
CHANGED
@@ -641,7 +641,7 @@ function generate_settings_form (){
|
|
641 |
|
642 |
<span class="ai-toolbar-button ai-button-left">
|
643 |
<input type="checkbox" id="ga-<?php echo $block; ?>" style="display: none;" />
|
644 |
-
<label class="checkbox-button adsense-list" for="ga-<?php echo $block; ?>" title="<?php _e ('Show AdSense ad units', 'ad-inserter'); ?>" ><span class="checkbox-icon icon-adsense
|
645 |
</span>
|
646 |
<?php endif; ?>
|
647 |
<?php endif; ?>
|
@@ -942,7 +942,7 @@ function generate_settings_form (){
|
|
942 |
<?php endif; ?>
|
943 |
|
944 |
<div style="margin: 8px 0;">
|
945 |
-
<textarea id="block-<?php echo $block; ?>" class="simple-editor" style="background-color:#F9F9F9; font-family: Courier, 'Courier New'
|
946 |
</div>
|
947 |
|
948 |
<div style="padding: 0; min-height: 28px;">
|
@@ -1166,8 +1166,8 @@ function generate_settings_form (){
|
|
1166 |
|
1167 |
<div class="max-input">
|
1168 |
<span id="css-label-<?php echo $block; ?>" style="display: table-cell; width: 36px; padding: 0; height: 26px; vertical-align: middle; margin: 4px 0 0 0; font-size: 14px; font-weight: bold;">CSS</span>
|
1169 |
-
<input id="custom-css-<?php echo $block; ?>" style="width: 100%; display: none; font-family: Courier, 'Courier New'
|
1170 |
-
<span style="display: table-cell; vertical-align: middle; font-family: Courier, 'Courier New'
|
1171 |
<span id="css-no-wrapping-<?php echo $block; ?>" class='css-code' style="height: 26px; padding-left: 7px; display: none;"></span>
|
1172 |
<span id="css-none-<?php echo $block; ?>" class='css-code-<?php echo $block; ?>' style="height: 18px; padding-left: 7px; display: none;" title="<?php _e ('CSS code for the wrapping div, click to edit', 'ad-inserter'); ?>"><?php echo $obj->alignment_style (AI_ALIGNMENT_DEFAULT); ?></span>
|
1173 |
<span id="css-left-<?php echo $block; ?>" class='css-code-<?php echo $block; ?>' style="height: 18px; padding-left: 7px; display: none;" title="<?php _e ('CSS code for the wrapping div, click to edit', 'ad-inserter'); ?>"><?php echo $obj->alignment_style (AI_ALIGNMENT_LEFT); ?></span>
|
@@ -1554,7 +1554,7 @@ function generate_settings_form (){
|
|
1554 |
</tr>
|
1555 |
<tr>
|
1556 |
<td colspan="5">
|
1557 |
-
<textarea id="url-editor-<?php echo $block; ?>" style="width: 100%; height: 220px; font-family: Courier, 'Courier New'
|
1558 |
</td>
|
1559 |
</tr>
|
1560 |
|
@@ -1580,7 +1580,7 @@ function generate_settings_form (){
|
|
1580 |
</tr>
|
1581 |
<tr>
|
1582 |
<td colspan="5">
|
1583 |
-
<textarea id="url-parameter-editor-<?php echo $block; ?>" style="width: 100%; height: 220px; font-family: Courier, 'Courier New'
|
1584 |
</td>
|
1585 |
</tr>
|
1586 |
|
@@ -1605,7 +1605,7 @@ function generate_settings_form (){
|
|
1605 |
</tr>
|
1606 |
<tr>
|
1607 |
<td colspan="5">
|
1608 |
-
<textarea id="referer-editor-<?php echo $block; ?>" style="width: 100%; height: 220px; font-family: Courier, 'Courier New'
|
1609 |
</td>
|
1610 |
</tr>
|
1611 |
|
@@ -1959,13 +1959,29 @@ function generate_settings_form (){
|
|
1959 |
<div style="margin: 16px 0;">
|
1960 |
<div style="float: right;">
|
1961 |
<div title='<?php _e ('Rotation editor active - rotation code not generated! Make sure no rotation editor is active before saving settings.', 'ad-inserter'); ?>' class="ai-rotation-warning" style='float: left; font-size: 18px; font-weight: bold; margin: 5px 5px 0 0; display: none;'>⚠</div>
|
1962 |
-
|
1963 |
-
<input style="display: none; font-weight: bold;" name="<?php echo AI_FORM_SAVE; ?>" value="<?php _e ('Save Settings', 'ad-inserter'); ?>" type="submit" style="width:120px; font-weight: bold;" />
|
1964 |
</div>
|
1965 |
|
1966 |
<div style="float: left;">
|
|
|
1967 |
<input onclick="if (confirm('<?php _e ('Are you sure you want to reset all settings?', 'ad-inserter'); ?>')) return true; return false;" name="<?php echo AI_FORM_CLEAR; ?>" value="<?php _e ('Reset All Settings', 'ad-inserter'); ?>" type="submit" style="display: none; min-width:125px; font-weight: bold; color: #e44;" />
|
|
|
1968 |
<?php if (function_exists ('ai_settings_global_actions')) ai_settings_global_actions (); ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1969 |
</div>
|
1970 |
|
1971 |
<div style="clear: both;"></div>
|
@@ -2083,6 +2099,17 @@ function generate_settings_form (){
|
|
2083 |
</select>
|
2084 |
</td>
|
2085 |
</tr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2086 |
<tr>
|
2087 |
<td>
|
2088 |
<?php _e ('Sticky widget mode', 'ad-inserter'); ?>
|
@@ -2309,7 +2336,7 @@ function generate_settings_form (){
|
|
2309 |
</div>
|
2310 |
|
2311 |
<div style="margin: 8px 0;">
|
2312 |
-
<textarea id="block-h" name="<?php echo AI_OPTION_CODE, '_block_h'; ?>" class="simple-editor" style="background-color:#F9F9F9; font-family: Courier, 'Courier New'
|
2313 |
</div>
|
2314 |
|
2315 |
<div id="device-detection-settings-h" class="rounded">
|
@@ -2367,7 +2394,7 @@ function generate_settings_form (){
|
|
2367 |
</div>
|
2368 |
|
2369 |
<div style="margin: 8px 0;">
|
2370 |
-
<textarea id="block-f" name="<?php echo AI_OPTION_CODE, '_block_f'; ?>" class="simple-editor" style="background-color:#F9F9F9; font-family: Courier, 'Courier New'
|
2371 |
</div>
|
2372 |
|
2373 |
<div id="device-detection-settings-f" class="rounded">
|
@@ -2514,7 +2541,7 @@ function generate_settings_form (){
|
|
2514 |
</div>
|
2515 |
|
2516 |
<div style="margin: 8px 0;">
|
2517 |
-
<textarea id="block-a" name="<?php echo AI_OPTION_CODE, '_block_a'; ?>" class="simple-editor small" style="background-color:#F9F9F9; font-family: Courier, 'Courier New'
|
2518 |
</div>
|
2519 |
|
2520 |
<div class="rounded">
|
@@ -2812,6 +2839,7 @@ function generate_settings_form (){
|
|
2812 |
if (defined ('AI_ADSENSE_API')) {
|
2813 |
adsense_list_container ();
|
2814 |
}
|
|
|
2815 |
|
2816 |
if (function_exists ('ai_settings_side')) {
|
2817 |
ai_settings_side ();
|
@@ -3161,6 +3189,224 @@ function adsense_list_container () {
|
|
3161 |
|
3162 |
}
|
3163 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3164 |
|
3165 |
function code_block_list () {
|
3166 |
global $block_object, $wpdb, $ai_db_options_extract;
|
@@ -4069,7 +4315,7 @@ function sidebar_help () { ?>
|
|
4069 |
|
4070 |
<div class="ai-form header rounded ai-help">
|
4071 |
<div style="float: left;">
|
4072 |
-
<
|
4073 |
<?php /* translators: %s: HTML tags */ printf (__('Need help with %s settings? %s Check %s Quick Start, %s %s Code Editing %s and %s Common Settings %s pages', 'ad-inserter'),
|
4074 |
'<a href="https://adinserter.pro/documentation" style="text-decoration: none; box-shadow: 0 0 0;" target="_blank">',
|
4075 |
'</a>',
|
@@ -4080,7 +4326,7 @@ function sidebar_help () { ?>
|
|
4080 |
'<a href="https://adinserter.pro/documentation/common-settings" style="text-decoration: none; box-shadow: 0 0 0;" target="_blank">',
|
4081 |
'</a>'
|
4082 |
); ?>
|
4083 |
-
</
|
4084 |
<div>
|
4085 |
<?php /* translators: %s: HTML tags */ printf (__('%s New to %s AdSense? %s %s %s Connect your site %s - Advanced %s AdSense code: %s %s In-feed ads, %s %s Auto ads, %s %s AMP ads %s', 'ad-inserter'),
|
4086 |
'<strong>',
|
@@ -4125,83 +4371,88 @@ function sidebar_pro () {
|
|
4125 |
?>
|
4126 |
|
4127 |
<div class="ai-form rounded no-select feature-list" style="background: #fff;">
|
4128 |
-
|
4129 |
-
|
|
|
|
|
4130 |
<?php switch ($version) {
|
4131 |
case 0: ?>
|
4132 |
-
<!-- <a href="https://adinserter.pro/" class="clear-link" title="Automate ad placement on posts and pages" target="_blank"><img id="ai-pro-1" src="<?php echo AD_INSERTER_PLUGIN_IMAGES_URL; ?>icon-256x256.jpg"
|
4133 |
-
<a href="http://bit.ly/ezoic-ads" class="clear-link" title="<?php _e ('Looking for AdSense alternative?', 'ad-inserter'); ?>" target="_blank"><img id="ai-ez-2" src="<?php echo AD_INSERTER_PLUGIN_IMAGES_URL; ?>ez-2.jpg"
|
4134 |
<?php break; case 1: ?>
|
4135 |
-
<a href='http://bit.ly/info_links' class="clear-link" title="<?php _e ('Use Infolinks ads with Adsense to earn more', 'ad-inserter'); ?>" target="_blank"><img id="ai-info-3" src="<?php echo AD_INSERTER_PLUGIN_IMAGES_URL; ?>info-3.jpg"
|
4136 |
<?php break; case 2: ?>
|
4137 |
-
<a href='http://bit.ly/media_NET' class="clear-link" title="<?php _e ('Looking for AdSense alternative?', 'ad-inserter'); ?>" target="_blank"><img id="ai-media-2" src="<?php echo AD_INSERTER_PLUGIN_IMAGES_URL; ?>contextual-2.jpg"
|
4138 |
<?php break; case 3: ?>
|
4139 |
-
<a href='http://bit.ly/media_NET' class="clear-link" title="<?php _e ('Looking for AdSense alternative?', 'ad-inserter'); ?>" target="_blank"><img id="ai-media-3" src="<?php echo AD_INSERTER_PLUGIN_IMAGES_URL; ?>contextual-3.png"
|
4140 |
<?php break;
|
4141 |
} ?>
|
4142 |
</div>
|
4143 |
-
<div>
|
4144 |
<?php switch ($version) {
|
4145 |
case 0:
|
4146 |
?>
|
4147 |
-
<a href='http://bit.ly/info_links' class="clear-link" title="<?php _e ('Use Infolinks ads with Adsense to earn more', 'ad-inserter'); ?>" target="_blank"><img id="ai-info-3" src="<?php echo AD_INSERTER_PLUGIN_IMAGES_URL; ?>info-3.jpg"
|
4148 |
<?php break;
|
4149 |
case 1:
|
4150 |
?>
|
4151 |
-
<a href="https://adinserter.pro/documentation/ad-impression-and-click-tracking" class="clear-link" title="<?php _e ('A/B testing - Track ad impressions and clicks', 'ad-inserter'); ?>" target="_blank"><img id="ai-pro-2" src="<?php echo AD_INSERTER_PLUGIN_IMAGES_URL; ?>ai-charts-250.png"
|
4152 |
<?php break;
|
4153 |
case 2:
|
4154 |
?>
|
4155 |
-
<a href="http://bit.ly/ezoic-ads" class="clear-link" title="<?php _e ('Looking for AdSense alternative?', 'ad-inserter'); ?>" target="_blank"><img id="ai-ez-2" src="<?php echo AD_INSERTER_PLUGIN_IMAGES_URL; ?>ez-2.jpg"
|
4156 |
<?php break;
|
4157 |
case 3:
|
4158 |
?>
|
4159 |
-
<a href='https://adinserter.pro/documentation/code-preview' class="clear-link" title="<?php _e ('Code preview with visual CSS editor', 'ad-inserter'); ?>" target="_blank"><img id="ai-preview" src="<?php echo AD_INSERTER_PLUGIN_IMAGES_URL; ?>ai-preview-250.png"
|
4160 |
<?php break;
|
4161 |
} ?>
|
4162 |
</div>
|
4163 |
-
<div>
|
|
|
4164 |
<?php switch ($version) {
|
4165 |
case 0: ?>
|
4166 |
-
<a href='http://bit.ly/media_NET' class="clear-link" title="<?php _e ('Looking for AdSense alternative?', 'ad-inserter'); ?>" target="_blank"><img id="ai-media-3" src="<?php echo AD_INSERTER_PLUGIN_IMAGES_URL; ?>contextual-3.png"
|
4167 |
<?php break; case 1: ?>
|
4168 |
-
<!-- <a href="https://adinserter.pro/documentation/black-and-white-lists#geo-targeting" class="clear-link" title="Geotargeting - black/white-list countries" target="_blank"><img id="ai-pro-3" src="<?php echo AD_INSERTER_PLUGIN_IMAGES_URL; ?>ai-countries-250.png"
|
4169 |
-
<a href='http://bit.ly/media_NET' class="clear-link" title="<?php _e ('Looking for AdSense alternative?', 'ad-inserter'); ?>" target="_blank"><img id="ai-media-2" src="<?php echo AD_INSERTER_PLUGIN_IMAGES_URL; ?>contextual-2.jpg"
|
4170 |
<?php break; case 2: ?>
|
4171 |
-
<!-- <a href="https://adinserter.pro/documentation/black-and-white-lists#geo-targeting" class="clear-link" title="Geotargeting - black/white-list countries" target="_blank"><img id="ai-pro-3" src="<?php echo AD_INSERTER_PLUGIN_IMAGES_URL; ?>ai-countries-250.png"
|
4172 |
-
<a href='http://bit.ly/info_links' class="clear-link" title="<?php _e ('Use Infolinks ads with Adsense to earn more', 'ad-inserter'); ?>" target="_blank"><img id="ai-info-2" src="<?php echo AD_INSERTER_PLUGIN_IMAGES_URL; ?>info-2.jpg"
|
4173 |
<?php break; case 3: ?>
|
4174 |
-
<!-- <a href="https://adinserter.pro/documentation/black-and-white-lists#geo-targeting" class="clear-link" title="Geotargeting - black/white-list countries" target="_blank"><img id="ai-pro-3" src="<?php echo AD_INSERTER_PLUGIN_IMAGES_URL; ?>ai-countries-250.png"
|
4175 |
-
<a href="http://bit.ly/ezoic-ads" class="clear-link" title="<?php _e ('Looking for AdSense alternative?', 'ad-inserter'); ?>" target="_blank"><img id="ai-ez-2" src="<?php echo AD_INSERTER_PLUGIN_IMAGES_URL; ?>ez-2.jpg"
|
4176 |
<?php break;
|
4177 |
} ?>
|
4178 |
</div>
|
4179 |
-
<div>
|
4180 |
<?php switch ($version) {
|
4181 |
case 0:
|
4182 |
?>
|
4183 |
-
<a href='https://adinserter.pro/documentation/code-preview' class="clear-link" title="<?php _e ('Code preview with visual CSS editor', 'ad-inserter'); ?>" target="_blank"><img id="ai-preview" src="<?php echo AD_INSERTER_PLUGIN_IMAGES_URL; ?>ai-preview-250.png"
|
4184 |
<?php break;
|
4185 |
case 1:
|
4186 |
?>
|
4187 |
-
<a href="http://bit.ly/ezoic-ads" class="clear-link" title="<?php _e ('Looking for AdSense alternative?', 'ad-inserter'); ?>" target="_blank"><img id="ai-ez-2" src="<?php echo AD_INSERTER_PLUGIN_IMAGES_URL; ?>ez-2.jpg"
|
4188 |
<?php break;
|
4189 |
case 2:
|
4190 |
?>
|
4191 |
-
<a href="https://adinserter.pro/documentation/ad-impression-and-click-tracking" class="clear-link" title="<?php _e ('A/B testing - Track ad impressions and clicks', 'ad-inserter'); ?>" target="_blank"><img id="ai-pro-2" src="<?php echo AD_INSERTER_PLUGIN_IMAGES_URL; ?>ai-charts-250.png"
|
4192 |
<?php break;
|
4193 |
case 3:
|
4194 |
?>
|
4195 |
-
<a href='http://bit.ly/info_links' class="clear-link" title="<?php _e ('Use Infolinks ads with Adsense to earn more', 'ad-inserter'); ?>" target="_blank"><img id="ai-info-2" src="<?php echo AD_INSERTER_PLUGIN_IMAGES_URL; ?>info-2.jpg"
|
4196 |
<?php break;
|
4197 |
} ?>
|
4198 |
</div>
|
|
|
4199 |
</div>
|
|
|
4200 |
|
4201 |
<h3 style="text-align: justify;"><?php _e ('Looking for Pro Ad Management plugin?', 'ad-inserter'); ?></h3>
|
4202 |
<h4 style="text-align: justify;"><?php _e ('To Optimally Monetize your WordPress website?', 'ad-inserter'); ?></h4>
|
4203 |
|
4204 |
-
<ul>
|
4205 |
<li><?php /* translators: %s HTML tags */ printf (__('%s AdSense Integration %s', 'ad-inserter'), '<a href="https://adinserter.pro/documentation/adsense-ads#integration" class="simple-link" target="_blank">', '</a>'); ?></li>
|
4206 |
<li><?php /* translators: %s HTML tags */ printf (__('Syntax highlighting %s editor %s', 'ad-inserter'), '<a href="https://adinserter.pro/documentation/code-editing" class="simple-link" target="_blank">', '</a>'); ?></li>
|
4207 |
<li><?php /* translators: %s HTML tags */ printf (__('%s Code preview %s with visual CSS editor', 'ad-inserter'), '<a href="https://adinserter.pro/documentation/code-preview" class="simple-link" target="_blank">', '</a>'); ?></li>
|
641 |
|
642 |
<span class="ai-toolbar-button ai-button-left">
|
643 |
<input type="checkbox" id="ga-<?php echo $block; ?>" style="display: none;" />
|
644 |
+
<label class="checkbox-button adsense-list" for="ga-<?php echo $block; ?>" title="<?php _e ('Show AdSense ad units', 'ad-inserter'); ?>" ><span class="checkbox-icon icon-adsense"></span></label>
|
645 |
</span>
|
646 |
<?php endif; ?>
|
647 |
<?php endif; ?>
|
942 |
<?php endif; ?>
|
943 |
|
944 |
<div style="margin: 8px 0;">
|
945 |
+
<textarea id="block-<?php echo $block; ?>" class="simple-editor" style="background-color:#F9F9F9; font-family: monospace, Courier, 'Courier New'; font-weight: bold;" name="<?php echo AI_OPTION_CODE, WP_FORM_FIELD_POSTFIX, $block; ?>" default=""><?php echo esc_textarea ($obj->get_ad_data()); ?></textarea>
|
946 |
</div>
|
947 |
|
948 |
<div style="padding: 0; min-height: 28px;">
|
1166 |
|
1167 |
<div class="max-input">
|
1168 |
<span id="css-label-<?php echo $block; ?>" style="display: table-cell; width: 36px; padding: 0; height: 26px; vertical-align: middle; margin: 4px 0 0 0; font-size: 14px; font-weight: bold;">CSS</span>
|
1169 |
+
<input id="custom-css-<?php echo $block; ?>" style="width: 100%; display: none; font-family: monospace, Courier, 'Courier New'; font-weight: bold;" type="text" name="<?php echo AI_OPTION_CUSTOM_CSS, WP_FORM_FIELD_POSTFIX, $block; ?>" default="<?php echo $default->get_custom_css(); ?>" value="<?php echo $obj->get_custom_css(); ?>" maxlength="500" title="<?php _e ('Custom CSS code for the wrapping div', 'ad-inserter'); ?>" />
|
1170 |
+
<span style="display: table-cell; vertical-align: middle; font-family: monospace, Courier, 'Courier New'; font-size: 12px; font-weight: bold; cursor: pointer;">
|
1171 |
<span id="css-no-wrapping-<?php echo $block; ?>" class='css-code' style="height: 26px; padding-left: 7px; display: none;"></span>
|
1172 |
<span id="css-none-<?php echo $block; ?>" class='css-code-<?php echo $block; ?>' style="height: 18px; padding-left: 7px; display: none;" title="<?php _e ('CSS code for the wrapping div, click to edit', 'ad-inserter'); ?>"><?php echo $obj->alignment_style (AI_ALIGNMENT_DEFAULT); ?></span>
|
1173 |
<span id="css-left-<?php echo $block; ?>" class='css-code-<?php echo $block; ?>' style="height: 18px; padding-left: 7px; display: none;" title="<?php _e ('CSS code for the wrapping div, click to edit', 'ad-inserter'); ?>"><?php echo $obj->alignment_style (AI_ALIGNMENT_LEFT); ?></span>
|
1554 |
</tr>
|
1555 |
<tr>
|
1556 |
<td colspan="5">
|
1557 |
+
<textarea id="url-editor-<?php echo $block; ?>" style="width: 100%; height: 220px; font-family: monospace, Courier, 'Courier New'; font-weight: bold; display: none;"></textarea>
|
1558 |
</td>
|
1559 |
</tr>
|
1560 |
|
1580 |
</tr>
|
1581 |
<tr>
|
1582 |
<td colspan="5">
|
1583 |
+
<textarea id="url-parameter-editor-<?php echo $block; ?>" style="width: 100%; height: 220px; font-family: monospace, Courier, 'Courier New'; font-weight: bold; display: none;"></textarea>
|
1584 |
</td>
|
1585 |
</tr>
|
1586 |
|
1605 |
</tr>
|
1606 |
<tr>
|
1607 |
<td colspan="5">
|
1608 |
+
<textarea id="referer-editor-<?php echo $block; ?>" style="width: 100%; height: 220px; font-family: monospace, Courier, 'Courier New'; font-weight: bold; display: none;"></textarea>
|
1609 |
</td>
|
1610 |
</tr>
|
1611 |
|
1959 |
<div style="margin: 16px 0;">
|
1960 |
<div style="float: right;">
|
1961 |
<div title='<?php _e ('Rotation editor active - rotation code not generated! Make sure no rotation editor is active before saving settings.', 'ad-inserter'); ?>' class="ai-rotation-warning" style='float: left; font-size: 18px; font-weight: bold; margin: 5px 5px 0 0; display: none;'>⚠</div>
|
1962 |
+
|
1963 |
+
<input style="display: none; font-weight: bold; margin-left: 5px;" name="<?php echo AI_FORM_SAVE; ?>" value="<?php _e ('Save Settings', 'ad-inserter'); ?>" type="submit" style="width:120px; font-weight: bold;" />
|
1964 |
</div>
|
1965 |
|
1966 |
<div style="float: left;">
|
1967 |
+
<div style="min-width: 130px; display: inline-block;">
|
1968 |
<input onclick="if (confirm('<?php _e ('Are you sure you want to reset all settings?', 'ad-inserter'); ?>')) return true; return false;" name="<?php echo AI_FORM_CLEAR; ?>" value="<?php _e ('Reset All Settings', 'ad-inserter'); ?>" type="submit" style="display: none; min-width:125px; font-weight: bold; color: #e44;" />
|
1969 |
+
</div>
|
1970 |
<?php if (function_exists ('ai_settings_global_actions')) ai_settings_global_actions (); ?>
|
1971 |
+
|
1972 |
+
<?php if (function_exists ('ai_settings_global_buttons')) ai_settings_global_buttons (); ?>
|
1973 |
+
<?php if (defined ('AI_ADSENSE_API')) : ?>
|
1974 |
+
<?php if (defined ('AI_ADSENSE_AUTHORIZATION_CODE')) : ?>
|
1975 |
+
<span style="vertical-align: top; margin-left: 5px;">
|
1976 |
+
<label id="ga-0" class="checkbox-button adsense-list" title="<?php _e ('Show AdSense ad units', 'ad-inserter'); ?>" ><span class="checkbox-icon image icon-adsense"></span></label>
|
1977 |
+
</span>
|
1978 |
+
<?php endif; ?>
|
1979 |
+
<?php endif; ?>
|
1980 |
+
<?php if (!is_multisite() || is_main_site () ) : ?>
|
1981 |
+
<span style="vertical-align: top; margin-left: 5px;">
|
1982 |
+
<label id="ai-ads-txt" class="checkbox-button iab-ads-txt" title="<?php _e ('Edit ads.txt file', 'ad-inserter'); ?>" ><span class="checkbox-icon icon-ads-txt"></span></label>
|
1983 |
+
</span>
|
1984 |
+
<?php endif; ?>
|
1985 |
</div>
|
1986 |
|
1987 |
<div style="clear: both;"></div>
|
2099 |
</select>
|
2100 |
</td>
|
2101 |
</tr>
|
2102 |
+
<tr>
|
2103 |
+
<td>
|
2104 |
+
<?php _e ('Disable caching for logged in administrators', 'ad-inserter'); ?>
|
2105 |
+
</td>
|
2106 |
+
<td>
|
2107 |
+
<select id="disable-caching-admin" name="disable-caching-admin" default="<?php echo DEFAULT_DISABLE_CACHING; ?>" title="<?php _e ('Enabled means that logged in administrators will see non-cached (live) pages (applies to WP Super Cache, W3 Total Cache and WP Rocket plugins)', 'ad-inserter'); ?>">
|
2108 |
+
<option value="<?php echo AI_DISABLE_CACHING_DISABLED; ?>" <?php echo get_disable_caching () == AI_DISABLE_CACHING_DISABLED ? AD_SELECT_SELECTED : AD_EMPTY_VALUE; ?>><?php echo AI_TEXT_DISABLED; ?></option>
|
2109 |
+
<option value="<?php echo AI_DISABLE_CACHING_ENABLED; ?>" <?php echo get_disable_caching () == AI_DISABLE_CACHING_ENABLED ? AD_SELECT_SELECTED : AD_EMPTY_VALUE; ?>><?php echo AI_TEXT_ENABLED; ?></option>
|
2110 |
+
</select>
|
2111 |
+
</td>
|
2112 |
+
</tr>
|
2113 |
<tr>
|
2114 |
<td>
|
2115 |
<?php _e ('Sticky widget mode', 'ad-inserter'); ?>
|
2336 |
</div>
|
2337 |
|
2338 |
<div style="margin: 8px 0;">
|
2339 |
+
<textarea id="block-h" name="<?php echo AI_OPTION_CODE, '_block_h'; ?>" class="simple-editor" style="background-color:#F9F9F9; font-family: monospace, Courier, 'Courier New'; font-weight: bold;" default=""><?php echo esc_textarea ($adH->get_ad_data()); ?></textarea>
|
2340 |
</div>
|
2341 |
|
2342 |
<div id="device-detection-settings-h" class="rounded">
|
2394 |
</div>
|
2395 |
|
2396 |
<div style="margin: 8px 0;">
|
2397 |
+
<textarea id="block-f" name="<?php echo AI_OPTION_CODE, '_block_f'; ?>" class="simple-editor" style="background-color:#F9F9F9; font-family: monospace, Courier, 'Courier New'; font-weight: bold;" default=""><?php echo esc_textarea ($adF->get_ad_data()); ?></textarea>
|
2398 |
</div>
|
2399 |
|
2400 |
<div id="device-detection-settings-f" class="rounded">
|
2541 |
</div>
|
2542 |
|
2543 |
<div style="margin: 8px 0;">
|
2544 |
+
<textarea id="block-a" name="<?php echo AI_OPTION_CODE, '_block_a'; ?>" class="simple-editor small" style="background-color:#F9F9F9; font-family: monospace, Courier, 'Courier New'; font-weight: bold;" default="<?php echo esc_textarea (AI_DEFAULT_ADB_MESSAGE); ?>"><?php echo esc_textarea ($adA->get_ad_data()); ?></textarea>
|
2545 |
</div>
|
2546 |
|
2547 |
<div class="rounded">
|
2839 |
if (defined ('AI_ADSENSE_API')) {
|
2840 |
adsense_list_container ();
|
2841 |
}
|
2842 |
+
ads_txt_container ();
|
2843 |
|
2844 |
if (function_exists ('ai_settings_side')) {
|
2845 |
ai_settings_side ();
|
3189 |
|
3190 |
}
|
3191 |
|
3192 |
+
function ads_txt_container () {
|
3193 |
+
?>
|
3194 |
+
<div id="ads-txt-container" class="ai-form rounded" style="background: #fff; display: none;">
|
3195 |
+
<div id='ads-txt-controls' class='ui-widget' style='margin: 0 auto 8px; display: none;'>
|
3196 |
+
<span style="vertical-align: middle; float: left;">
|
3197 |
+
<input id="ads-txt-search" type="text" value="" size="40" maxlength="40" />
|
3198 |
+
</span>
|
3199 |
+
<span style="float: right;">
|
3200 |
+
<span id="ads-txt-reload" class="checkbox-button dashicons dashicons-download" title="<?php _e ('Reload ads.txt file', 'ad-inserter'); ?>"></span>
|
3201 |
+
</span>
|
3202 |
+
<span style="margin-right: 10px; float: right;">
|
3203 |
+
<label class="checkbox-button iab-ads-txt" title="<?php /* translators: %s: ads.txt */ echo sprintf (__('Open %s', 'ad-inserter'), home_url ('/') . 'ads.txt'); ?>" onclick="window.open('<?php echo home_url ('/'); ?>ads.txt')"><span class="checkbox-icon icon-ads-txt"></span></label>
|
3204 |
+
</span>
|
3205 |
+
<span style="margin-right: 10px; float: right;">
|
3206 |
+
<span id="ads-txt-table" class="checkbox-button dashicons dashicons-editor-justify on" title="<?php _e ('Switch to table view', 'ad-inserter'); ?>"></span>
|
3207 |
+
</span>
|
3208 |
+
<span style="margin-right: 10px; float: right;">
|
3209 |
+
<span id="ads-txt-editor" class="checkbox-button dashicons dashicons-edit" title="<?php _e ('Switch to editor', 'ad-inserter'); ?>"></span>
|
3210 |
+
</span>
|
3211 |
+
<span style="margin-right: 10px; float: right;">
|
3212 |
+
<span id="ads-txt-save" class="checkbox-button dashicons dashicons-external" style="display: none;" title="<?php _e ('Save ads.txt file', 'ad-inserter'); ?>"></span>
|
3213 |
+
</span>
|
3214 |
+
<div style="clear: both;"></div>
|
3215 |
+
</div>
|
3216 |
+
<div id="ads-txt-error" style="margin: 0 0 8px; color: red;"></div>
|
3217 |
+
<div id="ads-txt-data">
|
3218 |
+
<?php _e ('Loading...', 'ad-inserter'); ?>
|
3219 |
+
</div>
|
3220 |
+
</div>
|
3221 |
+
<?php
|
3222 |
+
}
|
3223 |
+
function ads_txt ($action) {
|
3224 |
+
global $block_object;
|
3225 |
+
$block_ads = array ();
|
3226 |
+
for ($block = 1; $block <= 96 + 3; $block ++) {
|
3227 |
+
switch ($block) {
|
3228 |
+
case 96 + 1:
|
3229 |
+
$obj = $block_object [AI_HEADER_OPTION_NAME];
|
3230 |
+
break;
|
3231 |
+
case 96 + 2:
|
3232 |
+
$obj = $block_object [AI_FOOTER_OPTION_NAME];
|
3233 |
+
break;
|
3234 |
+
case 96 + 3:
|
3235 |
+
$obj = $block_object [AI_ADB_MESSAGE_OPTION_NAME];
|
3236 |
+
break;
|
3237 |
+
default:
|
3238 |
+
$obj = $block_object [$block];
|
3239 |
+
break;
|
3240 |
+
}
|
3241 |
+
$block_code = $obj->get_ad_data ();
|
3242 |
+
// data-ad-client="ca-pub-3118622027477755"
|
3243 |
+
if (preg_match_all ('#data-ad-client\s*=\s*"(.+?)"#', $block_code, $adsense_matches)) {
|
3244 |
+
foreach ($adsense_matches [1] as $adsense_match) {
|
3245 |
+
if (preg_match ('#(pub-[0-9]+)#', $adsense_match, $adsense_pub_id)) {
|
3246 |
+
$found = false;
|
3247 |
+
foreach ($block_ads as $block_ad) {
|
3248 |
+
if ($block_ad ['ads_data'][1] == $adsense_pub_id [1]) {
|
3249 |
+
$found = true;
|
3250 |
+
break;
|
3251 |
+
}
|
3252 |
+
}
|
3253 |
+
if (!$found) {
|
3254 |
+
$block_ads [] = array ('ads_data' => array ('google.com', $adsense_pub_id [1], 'DIRECT', 'f08c47fec0942fa0'), 'found' => false);
|
3255 |
+
}
|
3256 |
+
}
|
3257 |
+
}
|
3258 |
+
}
|
3259 |
+
// google_ad_client = "ca-pub-3118622027477755";
|
3260 |
+
if (preg_match_all ('#google_ad_client\s*=\s*"(.+?)"#', $block_code, $adsense_matches)) {
|
3261 |
+
foreach ($adsense_matches [1] as $adsense_match) {
|
3262 |
+
if (preg_match ('#(pub-[0-9]+)#', $adsense_match, $adsense_pub_id)) {
|
3263 |
+
$found = false;
|
3264 |
+
foreach ($block_ads as $block_ad) {
|
3265 |
+
if ($block_ad ['ads_data'][1] == $adsense_pub_id [1]) {
|
3266 |
+
$found = true;
|
3267 |
+
break;
|
3268 |
+
}
|
3269 |
+
}
|
3270 |
+
if (!$found) {
|
3271 |
+
$block_ads [] = array ('ads_data' => array ('google.com', $adsense_pub_id [1], 'DIRECT', 'f08c47fec0942fa0'), 'found' => false);
|
3272 |
+
}
|
3273 |
+
}
|
3274 |
+
}
|
3275 |
+
}
|
3276 |
+
}
|
3277 |
+
$ads_txt_file = ABSPATH . 'ads.txt';
|
3278 |
+
if (file_exists ($ads_txt_file)) {
|
3279 |
+
$ads = file_get_contents ($ads_txt_file);
|
3280 |
+
} else $ads = '';
|
3281 |
+
$ads_lines = explode ("\n", $ads);
|
3282 |
+
$rows = array ();
|
3283 |
+
foreach ($ads_lines as $ads_line) {
|
3284 |
+
if (trim ($ads_line) == '') continue;
|
3285 |
+
$ads_data = explode ('#', str_replace (array ("\r", ' '), '', $ads_line));
|
3286 |
+
$ads_elements = explode (',', $ads_data [0]);
|
3287 |
+
if (count ($ads_elements) == 0) continue;
|
3288 |
+
$found = false;
|
3289 |
+
foreach ($block_ads as $index => $block_ad) {
|
3290 |
+
if (!isset ($ads_elements [1])) continue;
|
3291 |
+
if ($block_ad ['ads_data'][1] == $ads_elements [1]) {
|
3292 |
+
$found = true;
|
3293 |
+
$block_ads [$index]['found'] = true;
|
3294 |
+
break;
|
3295 |
+
}
|
3296 |
+
}
|
3297 |
+
$rows []= array ('ads_elements' => $ads_elements, 'status' => $found ? 'F' : '');
|
3298 |
+
}
|
3299 |
+
$missing_lines = array ();
|
3300 |
+
foreach ($block_ads as $block_ad) {
|
3301 |
+
if (!$block_ad ['found']) {
|
3302 |
+
array_unshift ($rows, array ('ads_elements' => $block_ad ['ads_data'], 'status' => 'M'));
|
3303 |
+
$missing_lines []= implode (', ', $block_ad ['ads_data']);
|
3304 |
+
}
|
3305 |
+
}
|
3306 |
+
$search_text = isset ($_GET ["search"]) ? trim ($_GET ["search"]) : '';
|
3307 |
+
if ($search_text != '') $search_array = explode (' ', $search_text); else $search_array = array ();
|
3308 |
+
foreach ($rows as $index => $row) {
|
3309 |
+
$ads_line = implode (' ', $row ['ads_elements']);
|
3310 |
+
foreach ($search_array as $search_item) {
|
3311 |
+
if (stripos ($ads_line, trim ($search_item)) === false) {
|
3312 |
+
unset ($rows [$index]);
|
3313 |
+
continue 2;
|
3314 |
+
}
|
3315 |
+
}
|
3316 |
+
}
|
3317 |
+
if (site_url ('', 'relative') != '') {
|
3318 |
+
$right_ads_txt_url = str_replace (site_url ('', 'relative'), '', home_url ('/')) . 'ads.txt';
|
3319 |
+
echo '<div class="rounded">';
|
3320 |
+
echo '<div><strong><span style="color: red;">', __('Warning', 'ad-inserter'), '</span>: ', __('ads.txt file must be placed on the root domain', 'ad-inserter'), ' <a href="', $right_ads_txt_url, '" target="_blank" class="simple-link">', $right_ads_txt_url, '</a></strong></div>';
|
3321 |
+
echo '<div>', /* translators: %s: file path */ sprintf (__('WordPress is installed in %s', 'ad-inserter'), '<strong>' . ABSPATH . '</strong>'), '</div>';
|
3322 |
+
echo '<div>', __('Showing file', 'ad-inserter'), ' ', $ads_txt_file, '</div>';
|
3323 |
+
echo '</div>';
|
3324 |
+
}
|
3325 |
+
switch ($action) {
|
3326 |
+
case 'text':
|
3327 |
+
if (count ($missing_lines)) {
|
3328 |
+
echo '<div>', __('Account IDs found in blocks but not present in the ads.txt file', 'ad-inserter'), '</div>';
|
3329 |
+
echo '<textarea disabled style="width: 100%; font-family: monospace, Courier, \'Courier New\'; font-size: 12px;" rows="', count ($missing_lines), '">';
|
3330 |
+
echo implode ("\n", $missing_lines);
|
3331 |
+
echo '</textarea>';
|
3332 |
+
echo '<div style="margin-top: 8px;">', $ads_txt_file, '</div>';
|
3333 |
+
}
|
3334 |
+
echo '<textarea id="ads-txt-text" style="width: 100%; height: 700px; font-family: monospace, Courier, \'Courier New\'; font-size: 12px;">';
|
3335 |
+
echo $ads;
|
3336 |
+
echo '</textarea>';
|
3337 |
+
break;
|
3338 |
+
case 'table':
|
3339 |
+
?>
|
3340 |
+
<table id="ads-txt-table" class="exceptions" cellspacing=0 cellpadding=0 style="width: 100%;">
|
3341 |
+
<thead>
|
3342 |
+
<tr>
|
3343 |
+
<th style="text-align: left;"><?php _e ('Advertising system', 'ad-inserter'); ?></th>
|
3344 |
+
<th style="text-align: left;"><?php _e ('Account ID', 'ad-inserter'); ?></th>
|
3345 |
+
<th style="text-align: left;"><?php _e ('Type', 'ad-inserter'); ?></th>
|
3346 |
+
<th style="text-align: left;"><?php _e ('Certification authority ID', 'ad-inserter'); ?></th>
|
3347 |
+
</tr>
|
3348 |
+
</thead>
|
3349 |
+
<tbody>
|
3350 |
+
<?php
|
3351 |
+
$row_counter = 0;
|
3352 |
+
foreach ($rows as $row) {
|
3353 |
+
$row_counter ++;
|
3354 |
+
$ads_elements = $row ['ads_elements'];
|
3355 |
+
switch ($row ['status']) {
|
3356 |
+
case 'F':
|
3357 |
+
$row_color = $row_counter % 2 == 0 ? '#D4FFD8' : '#CDF7D1';
|
3358 |
+
$title = __('Account ID found in block and present in ads.txt', 'ad-inserter');
|
3359 |
+
break;
|
3360 |
+
case 'M':
|
3361 |
+
$row_color = $row_counter % 2 == 0 ? '#FFC9C9' : '#F7C2C2';
|
3362 |
+
$title = __('Account ID found in block but not present in ads.txt', 'ad-inserter');
|
3363 |
+
break;
|
3364 |
+
default:
|
3365 |
+
$row_color = $row_counter % 2 == 0 ? '#eee' : '#fff';
|
3366 |
+
$title = '';
|
3367 |
+
break;
|
3368 |
+
}
|
3369 |
+
$variable = count ($ads_elements) == 1 && strpos ($ads_elements [0], '=') !== false;
|
3370 |
+
if (isset ($ads_elements [3])) {
|
3371 |
+
if (strlen ($ads_elements [3]) == 16) {
|
3372 |
+
$element3 = '<a href="https://tag-members-prod.herokuapp.com/registry/lookup?q='.$ads_elements [3].'" class="simple-link" style="color: #021b79;" target="_blank">'.$ads_elements [3] .'</a>';
|
3373 |
+
} else $element3 = $ads_elements [3];
|
3374 |
+
} else $element3 = '';
|
3375 |
+
?>
|
3376 |
+
<tr style="background: <?php echo $row_color; ?>" title="<?php echo $title; ?>">
|
3377 |
+
<td style="padding-right: 10px;<?php echo $variable ? ' color: #3959ff;' : ''; ?>" <?php echo $variable ? ' colspan="4"' : ''; ?>>
|
3378 |
+
<?php echo isset ($ads_elements [0]) ? $ads_elements [0] : ''; ?>
|
3379 |
+
</td>
|
3380 |
+
<?php
|
3381 |
+
if (!$variable):
|
3382 |
+
?>
|
3383 |
+
<td style="padding-right: 10px;">
|
3384 |
+
<?php echo isset ($ads_elements [1]) ? $ads_elements [1] : ''; ?>
|
3385 |
+
</td>
|
3386 |
+
<td style="padding-right: 10px;">
|
3387 |
+
<?php echo isset ($ads_elements [2]) ? $ads_elements [2] : ''; ?>
|
3388 |
+
</td>
|
3389 |
+
<td>
|
3390 |
+
<?php echo $element3; ?>
|
3391 |
+
</td>
|
3392 |
+
<?php
|
3393 |
+
endif;
|
3394 |
+
?>
|
3395 |
+
</tr>
|
3396 |
+
<?php
|
3397 |
+
}
|
3398 |
+
?>
|
3399 |
+
</tbody>
|
3400 |
+
</table>
|
3401 |
+
<?php
|
3402 |
+
break;
|
3403 |
+
case 'save':
|
3404 |
+
if (isset ($_POST ['text'])) {
|
3405 |
+
@file_put_contents ($ads_txt_file, @base64_decode ($_POST ['text']));
|
3406 |
+
}
|
3407 |
+
break;
|
3408 |
+
}
|
3409 |
+
}
|
3410 |
|
3411 |
function code_block_list () {
|
3412 |
global $block_object, $wpdb, $ai_db_options_extract;
|
4315 |
|
4316 |
<div class="ai-form header rounded ai-help">
|
4317 |
<div style="float: left;">
|
4318 |
+
<div>
|
4319 |
<?php /* translators: %s: HTML tags */ printf (__('Need help with %s settings? %s Check %s Quick Start, %s %s Code Editing %s and %s Common Settings %s pages', 'ad-inserter'),
|
4320 |
'<a href="https://adinserter.pro/documentation" style="text-decoration: none; box-shadow: 0 0 0;" target="_blank">',
|
4321 |
'</a>',
|
4326 |
'<a href="https://adinserter.pro/documentation/common-settings" style="text-decoration: none; box-shadow: 0 0 0;" target="_blank">',
|
4327 |
'</a>'
|
4328 |
); ?>
|
4329 |
+
</div>
|
4330 |
<div>
|
4331 |
<?php /* translators: %s: HTML tags */ printf (__('%s New to %s AdSense? %s %s %s Connect your site %s - Advanced %s AdSense code: %s %s In-feed ads, %s %s Auto ads, %s %s AMP ads %s', 'ad-inserter'),
|
4332 |
'<strong>',
|
4371 |
?>
|
4372 |
|
4373 |
<div class="ai-form rounded no-select feature-list" style="background: #fff;">
|
4374 |
+
|
4375 |
+
<?php if (!wp_is_mobile()): ?>
|
4376 |
+
<div id="ai-sidebar-right">
|
4377 |
+
<div class="ai-image-left">
|
4378 |
<?php switch ($version) {
|
4379 |
case 0: ?>
|
4380 |
+
<!-- <a href="https://adinserter.pro/" class="clear-link" title="Automate ad placement on posts and pages" target="_blank"><img id="ai-pro-1" src="<?php echo AD_INSERTER_PLUGIN_IMAGES_URL; ?>icon-256x256.jpg" /></a>-->
|
4381 |
+
<a href="http://bit.ly/ezoic-ads" class="clear-link" title="<?php _e ('Looking for AdSense alternative?', 'ad-inserter'); ?>" target="_blank"><img id="ai-ez-2" src="<?php echo AD_INSERTER_PLUGIN_IMAGES_URL; ?>ez-2.jpg" /></a>
|
4382 |
<?php break; case 1: ?>
|
4383 |
+
<a href='http://bit.ly/info_links' class="clear-link" title="<?php _e ('Use Infolinks ads with Adsense to earn more', 'ad-inserter'); ?>" target="_blank"><img id="ai-info-3" src="<?php echo AD_INSERTER_PLUGIN_IMAGES_URL; ?>info-3.jpg" /></a>
|
4384 |
<?php break; case 2: ?>
|
4385 |
+
<a href='http://bit.ly/media_NET' class="clear-link" title="<?php _e ('Looking for AdSense alternative?', 'ad-inserter'); ?>" target="_blank"><img id="ai-media-2" src="<?php echo AD_INSERTER_PLUGIN_IMAGES_URL; ?>contextual-2.jpg" /></a>
|
4386 |
<?php break; case 3: ?>
|
4387 |
+
<a href='http://bit.ly/media_NET' class="clear-link" title="<?php _e ('Looking for AdSense alternative?', 'ad-inserter'); ?>" target="_blank"><img id="ai-media-3" src="<?php echo AD_INSERTER_PLUGIN_IMAGES_URL; ?>contextual-3.png" /></a>
|
4388 |
<?php break;
|
4389 |
} ?>
|
4390 |
</div>
|
4391 |
+
<div class="ai-image-right">
|
4392 |
<?php switch ($version) {
|
4393 |
case 0:
|
4394 |
?>
|
4395 |
+
<a href='http://bit.ly/info_links' class="clear-link" title="<?php _e ('Use Infolinks ads with Adsense to earn more', 'ad-inserter'); ?>" target="_blank"><img id="ai-info-3" src="<?php echo AD_INSERTER_PLUGIN_IMAGES_URL; ?>info-3.jpg" /></a>
|
4396 |
<?php break;
|
4397 |
case 1:
|
4398 |
?>
|
4399 |
+
<a href="https://adinserter.pro/documentation/ad-impression-and-click-tracking" class="clear-link" title="<?php _e ('A/B testing - Track ad impressions and clicks', 'ad-inserter'); ?>" target="_blank"><img id="ai-pro-2" src="<?php echo AD_INSERTER_PLUGIN_IMAGES_URL; ?>ai-charts-250.png" /></a>
|
4400 |
<?php break;
|
4401 |
case 2:
|
4402 |
?>
|
4403 |
+
<a href="http://bit.ly/ezoic-ads" class="clear-link" title="<?php _e ('Looking for AdSense alternative?', 'ad-inserter'); ?>" target="_blank"><img id="ai-ez-2" src="<?php echo AD_INSERTER_PLUGIN_IMAGES_URL; ?>ez-2.jpg" /></a>
|
4404 |
<?php break;
|
4405 |
case 3:
|
4406 |
?>
|
4407 |
+
<a href='https://adinserter.pro/documentation/code-preview' class="clear-link" title="<?php _e ('Code preview with visual CSS editor', 'ad-inserter'); ?>" target="_blank"><img id="ai-preview" src="<?php echo AD_INSERTER_PLUGIN_IMAGES_URL; ?>ai-preview-250.png" /></a>
|
4408 |
<?php break;
|
4409 |
} ?>
|
4410 |
</div>
|
4411 |
+
<div style="clear: both;"></div>
|
4412 |
+
<div class="ai-image-left">
|
4413 |
<?php switch ($version) {
|
4414 |
case 0: ?>
|
4415 |
+
<a href='http://bit.ly/media_NET' class="clear-link" title="<?php _e ('Looking for AdSense alternative?', 'ad-inserter'); ?>" target="_blank"><img id="ai-media-3" src="<?php echo AD_INSERTER_PLUGIN_IMAGES_URL; ?>contextual-3.png" /></a>
|
4416 |
<?php break; case 1: ?>
|
4417 |
+
<!-- <a href="https://adinserter.pro/documentation/black-and-white-lists#geo-targeting" class="clear-link" title="Geotargeting - black/white-list countries" target="_blank"><img id="ai-pro-3" src="<?php echo AD_INSERTER_PLUGIN_IMAGES_URL; ?>ai-countries-250.png" /></a>-->
|
4418 |
+
<a href='http://bit.ly/media_NET' class="clear-link" title="<?php _e ('Looking for AdSense alternative?', 'ad-inserter'); ?>" target="_blank"><img id="ai-media-2" src="<?php echo AD_INSERTER_PLUGIN_IMAGES_URL; ?>contextual-2.jpg" /></a>
|
4419 |
<?php break; case 2: ?>
|
4420 |
+
<!-- <a href="https://adinserter.pro/documentation/black-and-white-lists#geo-targeting" class="clear-link" title="Geotargeting - black/white-list countries" target="_blank"><img id="ai-pro-3" src="<?php echo AD_INSERTER_PLUGIN_IMAGES_URL; ?>ai-countries-250.png" /></a>-->
|
4421 |
+
<a href='http://bit.ly/info_links' class="clear-link" title="<?php _e ('Use Infolinks ads with Adsense to earn more', 'ad-inserter'); ?>" target="_blank"><img id="ai-info-2" src="<?php echo AD_INSERTER_PLUGIN_IMAGES_URL; ?>info-2.jpg" /></a>
|
4422 |
<?php break; case 3: ?>
|
4423 |
+
<!-- <a href="https://adinserter.pro/documentation/black-and-white-lists#geo-targeting" class="clear-link" title="Geotargeting - black/white-list countries" target="_blank"><img id="ai-pro-3" src="<?php echo AD_INSERTER_PLUGIN_IMAGES_URL; ?>ai-countries-250.png" /></a>-->
|
4424 |
+
<a href="http://bit.ly/ezoic-ads" class="clear-link" title="<?php _e ('Looking for AdSense alternative?', 'ad-inserter'); ?>" target="_blank"><img id="ai-ez-2" src="<?php echo AD_INSERTER_PLUGIN_IMAGES_URL; ?>ez-2.jpg" /></a>
|
4425 |
<?php break;
|
4426 |
} ?>
|
4427 |
</div>
|
4428 |
+
<div class="ai-image-right">
|
4429 |
<?php switch ($version) {
|
4430 |
case 0:
|
4431 |
?>
|
4432 |
+
<a href='https://adinserter.pro/documentation/code-preview' class="clear-link" title="<?php _e ('Code preview with visual CSS editor', 'ad-inserter'); ?>" target="_blank"><img id="ai-preview" src="<?php echo AD_INSERTER_PLUGIN_IMAGES_URL; ?>ai-preview-250.png" /></a>
|
4433 |
<?php break;
|
4434 |
case 1:
|
4435 |
?>
|
4436 |
+
<a href="http://bit.ly/ezoic-ads" class="clear-link" title="<?php _e ('Looking for AdSense alternative?', 'ad-inserter'); ?>" target="_blank"><img id="ai-ez-2" src="<?php echo AD_INSERTER_PLUGIN_IMAGES_URL; ?>ez-2.jpg" /></a>
|
4437 |
<?php break;
|
4438 |
case 2:
|
4439 |
?>
|
4440 |
+
<a href="https://adinserter.pro/documentation/ad-impression-and-click-tracking" class="clear-link" title="<?php _e ('A/B testing - Track ad impressions and clicks', 'ad-inserter'); ?>" target="_blank"><img id="ai-pro-2" src="<?php echo AD_INSERTER_PLUGIN_IMAGES_URL; ?>ai-charts-250.png" /></a>
|
4441 |
<?php break;
|
4442 |
case 3:
|
4443 |
?>
|
4444 |
+
<a href='http://bit.ly/info_links' class="clear-link" title="<?php _e ('Use Infolinks ads with Adsense to earn more', 'ad-inserter'); ?>" target="_blank"><img id="ai-info-2" src="<?php echo AD_INSERTER_PLUGIN_IMAGES_URL; ?>info-2.jpg" /></a>
|
4445 |
<?php break;
|
4446 |
} ?>
|
4447 |
</div>
|
4448 |
+
<div style="clear: both;"></div>
|
4449 |
</div>
|
4450 |
+
<?php endif; ?>
|
4451 |
|
4452 |
<h3 style="text-align: justify;"><?php _e ('Looking for Pro Ad Management plugin?', 'ad-inserter'); ?></h3>
|
4453 |
<h4 style="text-align: justify;"><?php _e ('To Optimally Monetize your WordPress website?', 'ad-inserter'); ?></h4>
|
4454 |
|
4455 |
+
<ul class="ai-help">
|
4456 |
<li><?php /* translators: %s HTML tags */ printf (__('%s AdSense Integration %s', 'ad-inserter'), '<a href="https://adinserter.pro/documentation/adsense-ads#integration" class="simple-link" target="_blank">', '</a>'); ?></li>
|
4457 |
<li><?php /* translators: %s HTML tags */ printf (__('Syntax highlighting %s editor %s', 'ad-inserter'), '<a href="https://adinserter.pro/documentation/code-editing" class="simple-link" target="_blank">', '</a>'); ?></li>
|
4458 |
<li><?php /* translators: %s HTML tags */ printf (__('%s Code preview %s with visual CSS editor', 'ad-inserter'), '<a href="https://adinserter.pro/documentation/code-preview" class="simple-link" target="_blank">', '</a>'); ?></li>
|