Version Description
- Fixed: Bug when license activated [Call to undefined function mime_content_type].
- Fixed: Disable comments component: [Uncaught Error: Class 'WCTR_Plugin' not found].
- Fixed: Removed notifications that cannot be dismissed.
- Fixed: Update manager component: [Notice: Trying to get property of non-object].
- Fixed: Update manager component: [Warning: Invalid argument supplied].
Download this release
Release Info
Developer | webcraftic |
Plugin | Clearfy – WordPress optimization plugin and disable ultimate tweaker |
Version | 1.4.6 |
Comparing to | |
See all releases |
Code changes from version 1.3.184 to 1.4.6
- admin/activation.php +28 -24
- admin/ajax/check-license.php +87 -0
- admin/ajax/configurate.php +4 -20
- admin/ajax/import-settings.php +76 -26
- admin/ajax/install-addons.php +19 -6
- admin/ajax/update-package.php +40 -13
- admin/assets/css/base-statistic.css +405 -0
- admin/assets/css/base-statistic.less +494 -0
- admin/assets/css/components.css +30 -2
- admin/assets/css/components.less +42 -2
- admin/assets/css/general.css +33 -35
- admin/assets/css/install-addons.css +31 -31
- admin/assets/img/gac-icon-128x128.jpg +0 -0
- admin/assets/img/gnzp-icon-256x256.png +0 -0
- admin/assets/img/rio-icon-128x128.png +0 -0
- admin/assets/img/rio-icon-256x256.png +0 -0
- admin/assets/img/sfi-icon-256x256.png +0 -0
- admin/assets/img/upmp-icon-256x256.png +0 -0
- admin/assets/js/filters.js +0 -98
- admin/assets/js/general.js +71 -29
- admin/assets/js/install-addons.js +38 -106
- admin/assets/js/license-manager.js +78 -15
- admin/assets/js/update-package.js +32 -14
- admin/boot.php +260 -173
- admin/includes/classes/class.install-plugins-button.php +5 -8
- admin/includes/classes/class.option.php +5 -1
- admin/includes/classes/class.pages.php +0 -90
- admin/includes/classes/class.upgrader.php +123 -47
- admin/includes/compatibility.php +112 -0
- admin/includes/options.php +26 -16
- admin/pages/advanced.php +8 -21
- admin/pages/clearfy-settings.php +257 -0
- admin/pages/components.php +172 -65
- admin/pages/defence.php +14 -7
- admin/pages/hide-login-page.php +109 -0
- admin/pages/image-optimization.php +111 -0
- admin/pages/license.php +23 -158
- admin/pages/performance-google.php +8 -6
- admin/pages/performance.php +7 -4
- admin/pages/quick-start.php +36 -141
- admin/pages/seo-double-pages.php +7 -19
- admin/pages/seo.php +6 -3
- admin/pages/widgets.php +7 -4
- assets/css/admin-bar.css +39 -40
- assets/css/admin-bar.less +0 -1
- clearfy.php +46 -13
- components/assets-manager/admin/assets/css/general.css +0 -455
- components/assets-manager/admin/assets/js/general.js +0 -203
- components/assets-manager/admin/boot.php +118 -99
- components/assets-manager/admin/pages/assets-manager.php +22 -22
- components/assets-manager/admin/pages/more-features.php +5 -1
- components/assets-manager/assets/css/assets-manager.css +1324 -157
- components/assets-manager/assets/css/assets-manager.less +1248 -175
- components/assets-manager/assets/css/reset.css +251 -0
- components/assets-manager/assets/css/reset.less +252 -0
- components/assets-manager/assets/img/info.svg +1 -0
- components/assets-manager/assets/js/assets-manager.js +98 -13
- components/assets-manager/gonzales.php +67 -39
- components/assets-manager/includes/class.configurate-assets.php +1352 -292
- components/assets-manager/includes/class.plugin.php +20 -40
- components/assets-manager/languages/gonzales-nl_BE.po +193 -193
- components/assets-manager/languages/gonzales-pt_BR.po +193 -193
- components/assets-manager/languages/gonzales-ru_RU.mo +0 -0
- components/assets-manager/languages/gonzales-ru_RU.po +574 -216
- components/assets-manager/readme.txt +17 -1
- components/assets-manager/uninstall.php +33 -2
- components/assets-manager/updates/010100.php +1 -1
- components/comments-plus/admin/assets/css/general.css +0 -455
- components/comments-plus/admin/assets/js/general.js +0 -203
- components/comments-plus/admin/boot.php +65 -1
- components/comments-plus/admin/pages/comments.php +53 -43
- components/comments-plus/admin/pages/delete-comments.php +221 -94
- components/comments-plus/admin/pages/more-features.php +1 -1
- components/comments-plus/comments-plus.php +53 -40
- components/comments-plus/includes/boot.php +50 -0
- components/comments-plus/includes/class.plugin.php +20 -34
- components/comments-plus/includes/classes/class.configurate-comments.php +33 -80
- components/comments-plus/languages/comments-plus-nl_BE.po +358 -358
- components/comments-plus/languages/comments-plus-pt_BR.po +359 -359
- components/comments-plus/languages/comments-plus-ru_RU.mo +0 -0
- components/comments-plus/languages/comments-plus-ru_RU.po +427 -399
- components/cyrlitera/admin/activation.php +5 -5
- components/cyrlitera/admin/boot.php +23 -3
- components/cyrlitera/admin/options.php +3 -208
- components/cyrlitera/admin/pages/cyrlitera.php +196 -32
- components/cyrlitera/admin/pages/more-features.php +1 -1
- components/cyrlitera/cyrlitera.php +55 -41
- components/cyrlitera/includes/class.helpers.php +70 -11
- components/cyrlitera/includes/class.plugin.php +21 -35
- components/cyrlitera/includes/classes/class.configurate-cyrlitera.php +13 -14
- components/cyrlitera/languages/cyrlitera-nl_BE.po +207 -207
- components/cyrlitera/languages/cyrlitera-pt_BR.po +209 -209
- components/cyrlitera/languages/cyrlitera-ru_RU.mo +0 -0
- components/cyrlitera/languages/cyrlitera-ru_RU.po +618 -619
- components/cyrlitera/updates/010004.php +2 -2
- components/disable-admin-notices/admin/ajax/hide-notice.php +19 -25
- components/disable-admin-notices/admin/ajax/restore-notice.php +16 -20
- components/disable-admin-notices/admin/assets/css/notifications-panel.css +65 -65
- components/disable-admin-notices/admin/assets/js/notifications-panel.js +20 -6
- components/disable-admin-notices/admin/boot.php +1 -1
- components/disable-admin-notices/admin/options.php +58 -17
- components/disable-admin-notices/admin/pages/more-features.php +1 -1
- components/disable-admin-notices/admin/pages/notices.php +12 -26
- components/disable-admin-notices/disable-admin-notices.php +53 -39
- components/disable-admin-notices/includes/class.plugin.php +15 -31
- components/disable-admin-notices/includes/classes/class.configurate-notices.php +154 -75
- components/disable-admin-notices/languages/disable-admin-notices-nl_BE.po +172 -172
- components/disable-admin-notices/languages/disable-admin-notices-pt_BR.po +180 -180
- components/disable-admin-notices/uninstall.php +12 -1
- components/disable-admin-notices/updates/010007.php +23 -0
- components/ga-cache/admin/activation.php +5 -5
- components/ga-cache/admin/assets/css/notifications-panel.css +65 -65
- components/ga-cache/admin/boot.php +8 -8
- components/ga-cache/admin/options.php +1 -1
- components/ga-cache/admin/pages/ga_cache.php +11 -25
- components/ga-cache/admin/pages/more-features.php +1 -1
- components/ga-cache/cache/local-ga.js +58 -58
- components/ga-cache/includes/class.plugin.php +32 -28
- components/ga-cache/includes/classes/class.configurate-ga.php +11 -11
- components/ga-cache/languages/simple-google-analytics-nl_BE.po +242 -242
- components/ga-cache/languages/simple-google-analytics-pt_BR.po +246 -246
- components/ga-cache/simple_google_analytics.php +53 -53
- components/html-minify/admin/boot.php +49 -1
- components/html-minify/admin/pages/settings.php +11 -50
- components/html-minify/html-minify.php +67 -72
- components/html-minify/includes/class.plugin.php +37 -59
- components/html-minify/includes/classes/class.mac-main.php +4 -4
- components/html-minify/languages/html-minify-ru_RU.po +71 -417
admin/activation.php
CHANGED
@@ -1,10 +1,9 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
/**
|
4 |
* Activator for the clearfy
|
5 |
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
6 |
* @copyright (c) 09.09.2017, Webcraftic
|
7 |
-
* @see
|
8 |
* @version 1.0
|
9 |
*/
|
10 |
|
@@ -13,7 +12,7 @@
|
|
13 |
exit;
|
14 |
}
|
15 |
|
16 |
-
class WCL_Activation extends
|
17 |
|
18 |
/**
|
19 |
* Runs activation actions.
|
@@ -22,10 +21,11 @@
|
|
22 |
*/
|
23 |
public function activate()
|
24 |
{
|
|
|
|
|
|
|
25 |
// Deactivate components for code minification, if alternative plugins are installed
|
26 |
// -------------
|
27 |
-
|
28 |
-
require_once ABSPATH . '/wp-admin/includes/plugin.php';
|
29 |
$minify_js_plugins = array(
|
30 |
'autoptimize/autoptimize.php',
|
31 |
'fast-velocity-minify/fvm.php',
|
@@ -37,7 +37,7 @@
|
|
37 |
$is_activate_minify_js = true;
|
38 |
foreach($minify_js_plugins as $m_plugin) {
|
39 |
|
40 |
-
if(is_plugin_active($m_plugin) ) {
|
41 |
$is_activate_minify_js = false;
|
42 |
}
|
43 |
}
|
@@ -59,26 +59,22 @@
|
|
59 |
if( !in_array(get_locale(), array('ru_RU', 'bel', 'kk', 'uk', 'bg', 'bg_BG', 'ka_GE')) ) {
|
60 |
WCL_Plugin::app()->deactivateComponent('cyrlitera');
|
61 |
}
|
62 |
-
// -------------
|
63 |
-
// Caching google analytics on a schedule
|
64 |
-
// -------------
|
65 |
-
|
66 |
-
$ga_cache = WCL_Plugin::app()->getOption('ga_cache');
|
67 |
|
68 |
-
|
69 |
-
|
70 |
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
if( !$ga_caos_remove_wp_cron ) {
|
75 |
-
wp_schedule_event(time(), 'daily', 'wbcr_clearfy_update_local_ga');
|
76 |
-
}
|
77 |
-
}
|
78 |
}
|
79 |
// -------------
|
|
|
80 |
$package_plugin = WCL_Package::instance();
|
81 |
$package_plugin->active();
|
|
|
|
|
|
|
|
|
|
|
82 |
}
|
83 |
|
84 |
/**
|
@@ -88,21 +84,29 @@
|
|
88 |
*/
|
89 |
public function deactivate()
|
90 |
{
|
91 |
-
if( wp_next_scheduled('
|
92 |
-
wp_clear_scheduled_hook('
|
93 |
}
|
94 |
|
95 |
$dependent = 'clearfy_package/clearfy-package.php';
|
96 |
|
97 |
-
|
|
|
98 |
add_action('update_option_active_plugins', array($this, 'deactivateDependent'));
|
99 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
100 |
}
|
101 |
|
102 |
/**
|
103 |
* Deactivate clearfy package
|
104 |
*/
|
105 |
-
public function deactivateDependent()
|
|
|
106 |
$package_plugin = WCL_Package::instance();
|
107 |
$package_plugin->deactive();
|
108 |
}
|
1 |
<?php
|
|
|
2 |
/**
|
3 |
* Activator for the clearfy
|
4 |
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
5 |
* @copyright (c) 09.09.2017, Webcraftic
|
6 |
+
* @see Factory409_Activator
|
7 |
* @version 1.0
|
8 |
*/
|
9 |
|
12 |
exit;
|
13 |
}
|
14 |
|
15 |
+
class WCL_Activation extends Wbcr_Factory409_Activator {
|
16 |
|
17 |
/**
|
18 |
* Runs activation actions.
|
21 |
*/
|
22 |
public function activate()
|
23 |
{
|
24 |
+
if( !function_exists('is_plugin_active') ) {
|
25 |
+
require_once(ABSPATH . 'wp-admin/includes/plugin.php');
|
26 |
+
}
|
27 |
// Deactivate components for code minification, if alternative plugins are installed
|
28 |
// -------------
|
|
|
|
|
29 |
$minify_js_plugins = array(
|
30 |
'autoptimize/autoptimize.php',
|
31 |
'fast-velocity-minify/fvm.php',
|
37 |
$is_activate_minify_js = true;
|
38 |
foreach($minify_js_plugins as $m_plugin) {
|
39 |
|
40 |
+
if( is_plugin_active($m_plugin) ) {
|
41 |
$is_activate_minify_js = false;
|
42 |
}
|
43 |
}
|
59 |
if( !in_array(get_locale(), array('ru_RU', 'bel', 'kk', 'uk', 'bg', 'bg_BG', 'ka_GE')) ) {
|
60 |
WCL_Plugin::app()->deactivateComponent('cyrlitera');
|
61 |
}
|
|
|
|
|
|
|
|
|
|
|
62 |
|
63 |
+
// Добавляем крон событие для сихнронизации лицензионных данных
|
64 |
+
$licensing = WCL_Licensing::instance();
|
65 |
|
66 |
+
if( $licensing->isLicenseValid() && !wp_next_scheduled('wbcr_clearfy_license_autosync') ) {
|
67 |
+
wp_schedule_event(time(), 'twicedaily', 'wbcr_clearfy_license_autosync');
|
|
|
|
|
|
|
|
|
|
|
68 |
}
|
69 |
// -------------
|
70 |
+
|
71 |
$package_plugin = WCL_Package::instance();
|
72 |
$package_plugin->active();
|
73 |
+
|
74 |
+
/**
|
75 |
+
* @since 1.4.1
|
76 |
+
*/
|
77 |
+
do_action('wbcr/clearfy/activated');
|
78 |
}
|
79 |
|
80 |
/**
|
84 |
*/
|
85 |
public function deactivate()
|
86 |
{
|
87 |
+
if( wp_next_scheduled('wbcr_clearfy_license_autosync') ) {
|
88 |
+
wp_clear_scheduled_hook('wbcr_clearfy_license_autosync');
|
89 |
}
|
90 |
|
91 |
$dependent = 'clearfy_package/clearfy-package.php';
|
92 |
|
93 |
+
require_once ABSPATH . '/wp-admin/includes/plugin.php';
|
94 |
+
if( is_plugin_active($dependent) ) {
|
95 |
add_action('update_option_active_plugins', array($this, 'deactivateDependent'));
|
96 |
}
|
97 |
+
add_action('update_site_option_active_sitewide_plugins', array($this, 'deactivateDependent'));
|
98 |
+
|
99 |
+
/**
|
100 |
+
* @since 1.4.1
|
101 |
+
*/
|
102 |
+
do_action('wbcr/clearfy/deactivated');
|
103 |
}
|
104 |
|
105 |
/**
|
106 |
* Deactivate clearfy package
|
107 |
*/
|
108 |
+
public function deactivateDependent()
|
109 |
+
{
|
110 |
$package_plugin = WCL_Package::instance();
|
111 |
$package_plugin->deactive();
|
112 |
}
|
admin/ajax/check-license.php
ADDED
@@ -0,0 +1,87 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Ajax plugin check licensing
|
4 |
+
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
5 |
+
* @copyright (c) 2017 Webraftic Ltd
|
6 |
+
* @version 1.0
|
7 |
+
*/
|
8 |
+
|
9 |
+
// Exit if accessed directly
|
10 |
+
if( !defined('ABSPATH') ) {
|
11 |
+
exit;
|
12 |
+
}
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Обработчик ajax запросов для проверки, активации, деактивации лицензионного ключа
|
16 |
+
*
|
17 |
+
* @since 1.4.0
|
18 |
+
*/
|
19 |
+
function wbcr_clearfy_check_license()
|
20 |
+
{
|
21 |
+
check_admin_referer('license');
|
22 |
+
|
23 |
+
$action = WCL_Plugin::app()->request->post('license_action', false, true);
|
24 |
+
$license_key = WCL_Plugin::app()->request->post('licensekey', null);
|
25 |
+
|
26 |
+
if( empty($action) || !in_array($action, array('activate', 'deactivate', 'sync', 'unsubscribe')) ) {
|
27 |
+
wp_send_json_error(array('error_message' => __('Licensing action not passed or this action is prohibited!', 'clearfy')));
|
28 |
+
die();
|
29 |
+
}
|
30 |
+
|
31 |
+
$licensing = WCL_Licensing::instance();
|
32 |
+
|
33 |
+
$result = null;
|
34 |
+
$success_message = '';
|
35 |
+
|
36 |
+
switch( $action ) {
|
37 |
+
case 'activate':
|
38 |
+
if( empty($license_key) || strlen($license_key) > 32 ) {
|
39 |
+
wp_send_json_error(array('error_message' => __('License key is empty or license key too long (license key is 32 characters long)', 'clearfy')));
|
40 |
+
} else {
|
41 |
+
$result = $licensing->activate($license_key);
|
42 |
+
$success_message = __('Your license has been successfully activated', 'clearfy');
|
43 |
+
}
|
44 |
+
break;
|
45 |
+
case 'deactivate':
|
46 |
+
$result = $licensing->uninstall();
|
47 |
+
$success_message = __('The license is deactivated', 'clearfy');
|
48 |
+
break;
|
49 |
+
case 'sync':
|
50 |
+
$result = $licensing->sync();
|
51 |
+
$success_message = __('The license has been updated', 'clearfy');
|
52 |
+
break;
|
53 |
+
case 'unsubscribe':
|
54 |
+
$result = $licensing->unsubscribe();
|
55 |
+
$success_message = __('Subscription success cancelled', 'clearfy');
|
56 |
+
break;
|
57 |
+
}
|
58 |
+
|
59 |
+
if( is_wp_error($result) ) {
|
60 |
+
|
61 |
+
/**
|
62 |
+
* Экшен выполняет, когда проверка лицензии вернула ошибку
|
63 |
+
* @param string $action
|
64 |
+
* @param string $license_key
|
65 |
+
* @since 1.4.0
|
66 |
+
*/
|
67 |
+
add_action('wbcr/clearfy/check_license_error', $action, $license_key);
|
68 |
+
|
69 |
+
wp_send_json_error(array('error_message' => $result->get_error_message()));
|
70 |
+
die();
|
71 |
+
}
|
72 |
+
|
73 |
+
/**
|
74 |
+
* Экшен выполняет, когда проверка лицензии успешно завершена
|
75 |
+
* @param string $action
|
76 |
+
* @param string $license_key
|
77 |
+
* @since 1.4.0
|
78 |
+
*/
|
79 |
+
add_action('wbcr/clearfy/check_license_success', $action, $license_key);
|
80 |
+
|
81 |
+
wp_send_json_success(array('message' => $success_message));
|
82 |
+
|
83 |
+
die();
|
84 |
+
}
|
85 |
+
|
86 |
+
add_action('wp_ajax_wbcr-clearfy-check-license', 'wbcr_clearfy_check_license');
|
87 |
+
|
admin/ajax/configurate.php
CHANGED
@@ -15,7 +15,7 @@
|
|
15 |
{
|
16 |
check_ajax_referer('wbcr_clearfy_ajax_quick_start_nonce', 'security');
|
17 |
|
18 |
-
if( !
|
19 |
wp_send_json(array('error' => __('You don\'t have enough capability to edit this information.', 'clearfy')));
|
20 |
}
|
21 |
|
@@ -27,8 +27,6 @@
|
|
27 |
}
|
28 |
|
29 |
if( $mode_name != 'reset' ) {
|
30 |
-
|
31 |
-
$update_options = array();
|
32 |
$group = WCL_Group::getInstance($mode_name);
|
33 |
$mode_options = $group->getOptions();
|
34 |
|
@@ -46,34 +44,20 @@
|
|
46 |
$set_value = $option_value;
|
47 |
}
|
48 |
|
49 |
-
$
|
50 |
-
|
51 |
-
WCL_Plugin::app()->updateOptions($update_options);
|
52 |
}
|
53 |
} else {
|
54 |
-
$delete_options = array();
|
55 |
$all_options = WCL_Option::getAllOptions();
|
56 |
|
57 |
if( !empty($all_options) ) {
|
58 |
foreach($all_options as $option) {
|
59 |
-
$
|
60 |
}
|
61 |
-
|
62 |
-
WCL_Plugin::app()->deleteOptions($delete_options);
|
63 |
}
|
64 |
}
|
65 |
|
66 |
if( !$flush_redirect ) {
|
67 |
-
|
68 |
-
if( function_exists('w3tc_pgcache_flush') ) {
|
69 |
-
w3tc_pgcache_flush();
|
70 |
-
} elseif( function_exists('wp_cache_clear_cache') ) {
|
71 |
-
wp_cache_clear_cache();
|
72 |
-
} elseif( function_exists('rocket_clean_files') ) {
|
73 |
-
rocket_clean_files(esc_url($_SERVER['HTTP_REFERER']));
|
74 |
-
} else if( isset($GLOBALS['wp_fastest_cache']) && method_exists($GLOBALS['wp_fastest_cache'], 'deleteCache') ) {
|
75 |
-
$GLOBALS['wp_fastest_cache']->deleteCache();
|
76 |
-
}
|
77 |
}
|
78 |
|
79 |
do_action('wbcr_clearfy_configurated_quick_mode', $mode_name);
|
15 |
{
|
16 |
check_ajax_referer('wbcr_clearfy_ajax_quick_start_nonce', 'security');
|
17 |
|
18 |
+
if( !WCL_Plugin::app()->currentUserCan() ) {
|
19 |
wp_send_json(array('error' => __('You don\'t have enough capability to edit this information.', 'clearfy')));
|
20 |
}
|
21 |
|
27 |
}
|
28 |
|
29 |
if( $mode_name != 'reset' ) {
|
|
|
|
|
30 |
$group = WCL_Group::getInstance($mode_name);
|
31 |
$mode_options = $group->getOptions();
|
32 |
|
44 |
$set_value = $option_value;
|
45 |
}
|
46 |
|
47 |
+
WCL_Plugin::app()->updatePopulateOption($option_name, $set_value);
|
|
|
|
|
48 |
}
|
49 |
} else {
|
|
|
50 |
$all_options = WCL_Option::getAllOptions();
|
51 |
|
52 |
if( !empty($all_options) ) {
|
53 |
foreach($all_options as $option) {
|
54 |
+
WCL_Plugin::app()->deletePopulateOption($option->getName());
|
55 |
}
|
|
|
|
|
56 |
}
|
57 |
}
|
58 |
|
59 |
if( !$flush_redirect ) {
|
60 |
+
WbcrFactoryClearfy206_Helpers::flushPageCache();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
61 |
}
|
62 |
|
63 |
do_action('wbcr_clearfy_configurated_quick_mode', $mode_name);
|
admin/ajax/import-settings.php
CHANGED
@@ -11,32 +11,74 @@
|
|
11 |
exit;
|
12 |
}
|
13 |
|
|
|
|
|
|
|
14 |
function wbcr_clearfy_import_settings()
|
15 |
{
|
16 |
global $wpdb;
|
17 |
|
18 |
-
check_ajax_referer('
|
19 |
|
20 |
-
if( !
|
21 |
-
|
22 |
-
|
23 |
}
|
24 |
|
25 |
$settings = WCL_Helper::maybeGetPostJson('settings');
|
26 |
|
27 |
-
|
28 |
-
|
29 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
}
|
31 |
|
32 |
$values = array();
|
33 |
$place_holders = array();
|
34 |
-
|
|
|
|
|
|
|
|
|
|
|
35 |
|
36 |
foreach($settings as $option_name => $option_value) {
|
37 |
$option_name = sanitize_text_field($option_name);
|
38 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
39 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
40 |
if( WCL_Plugin::app()->getOptionName('robots_txt_text') == $option_name ) {
|
41 |
$site_url = get_home_url();
|
42 |
$dir_host_without_scheme = preg_replace("(^https?://)", "", $site_url);
|
@@ -65,38 +107,46 @@
|
|
65 |
}
|
66 |
}
|
67 |
}
|
68 |
-
|
69 |
-
if( WCL_Plugin::app()->getPrefix() . 'freemius_activated_addons' == $option_name ) {
|
70 |
-
$option_value = serialize( $option_value );
|
71 |
-
}
|
72 |
-
|
73 |
|
74 |
-
|
75 |
-
|
|
|
|
|
|
|
|
|
|
|
76 |
}
|
77 |
|
78 |
$query .= implode(', ', $place_holders);
|
79 |
|
80 |
-
//
|
81 |
-
$
|
82 |
-
|
|
|
|
|
|
|
|
|
|
|
83 |
|
84 |
// Сбрасываем кеш опций
|
85 |
WCL_Plugin::app()->flushOptionsCache();
|
86 |
-
wp_cache_flush(); // сброс объектного кеша WP
|
87 |
|
88 |
// Импортируем опции
|
89 |
$wpdb->query($wpdb->prepare("$query ", $values));
|
90 |
-
|
|
|
91 |
|
92 |
$package_plugin = WCL_Package::instance();
|
93 |
-
$send_data['
|
|
|
|
|
|
|
94 |
|
95 |
do_action('wbcr_clearfy_imported_settings');
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
}
|
100 |
|
101 |
-
add_action('
|
102 |
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
+
/**
|
15 |
+
* Ajax действите, выполняется для получения всех доступных опций для экспорта.
|
16 |
+
*/
|
17 |
function wbcr_clearfy_import_settings()
|
18 |
{
|
19 |
global $wpdb;
|
20 |
|
21 |
+
check_ajax_referer('wbcr_clearfy_import_options');
|
22 |
|
23 |
+
if( !WCL_Plugin::app()->currentUserCan() ) {
|
24 |
+
wp_send_json_error(array('error_message' => __('You don\'t have enough capability to edit this information.', 'clearfy')));
|
25 |
+
die();
|
26 |
}
|
27 |
|
28 |
$settings = WCL_Helper::maybeGetPostJson('settings');
|
29 |
|
30 |
+
/**
|
31 |
+
* Используется для фильтрации импортируемых настроек,
|
32 |
+
* обычно это может пригодиться для компонентов, которым нужно выполнить дополнительные дествия к опциям,
|
33 |
+
* прежде чем продолжить импорт
|
34 |
+
*
|
35 |
+
* wbcr/clearfy/filter_import_options
|
36 |
+
* @since 1.4.0
|
37 |
+
*/
|
38 |
+
$settings = apply_filters('wbcr/clearfy/filter_import_options', $settings);
|
39 |
+
|
40 |
+
$network_id = get_current_network_id();
|
41 |
+
|
42 |
+
if( empty($settings) || !is_array($settings) ) {
|
43 |
+
wp_send_json_error(array('error_message' => __('Settings are not defined or do not exist.', 'clearfy')));
|
44 |
+
die();
|
45 |
}
|
46 |
|
47 |
$values = array();
|
48 |
$place_holders = array();
|
49 |
+
|
50 |
+
if( WCL_Plugin::app()->isNetworkActive() ) {
|
51 |
+
$query = "INSERT INTO {$wpdb->sitemeta} (site_id, meta_key, meta_value) VALUES ";
|
52 |
+
} else {
|
53 |
+
$query = "INSERT INTO {$wpdb->options} (option_name, option_value) VALUES ";
|
54 |
+
}
|
55 |
|
56 |
foreach($settings as $option_name => $option_value) {
|
57 |
$option_name = sanitize_text_field($option_name);
|
58 |
+
$raw_option_value = $option_value;
|
59 |
+
|
60 |
+
if( is_serialized($option_value) ) {
|
61 |
+
$option_value = unserialize($option_value);
|
62 |
+
}
|
63 |
+
|
64 |
+
if( is_array($option_value) || is_object($option_value) ) {
|
65 |
+
$option_value = WbcrFactoryClearfy206_Helpers::recursiveSanitizeArray($option_value, 'wp_kses_post');
|
66 |
+
$option_value = maybe_serialize($option_value);
|
67 |
+
} else {
|
68 |
+
$option_value = wp_kses_post($option_value);
|
69 |
+
}
|
70 |
|
71 |
+
/**
|
72 |
+
* Используется для фильтрации импортируемых значений,
|
73 |
+
* обычно это может пригодиться для компонентов, которым нужно подменять домены, пути или какие-то правила
|
74 |
+
* при переносе с одного сайта на другой
|
75 |
+
*
|
76 |
+
* wbcr/clearfy/filter_import_values
|
77 |
+
* @since 1.4.0
|
78 |
+
*/
|
79 |
+
$option_value = apply_filters('wbcr/clearfy/filter_import_values', $option_value, $option_name, $raw_option_value);
|
80 |
+
|
81 |
+
// todo: Вынести в отдельный файл и привязать к хуку
|
82 |
if( WCL_Plugin::app()->getOptionName('robots_txt_text') == $option_name ) {
|
83 |
$site_url = get_home_url();
|
84 |
$dir_host_without_scheme = preg_replace("(^https?://)", "", $site_url);
|
107 |
}
|
108 |
}
|
109 |
}
|
|
|
|
|
|
|
|
|
|
|
110 |
|
111 |
+
if( WCL_Plugin::app()->isNetworkActive() ) {
|
112 |
+
array_push($values, $network_id, $option_name, $option_value);
|
113 |
+
$place_holders[] = "('%d', '%s', '%s')";/* In my case, i know they will always be integers */
|
114 |
+
} else {
|
115 |
+
array_push($values, $option_name, $option_value);
|
116 |
+
$place_holders[] = "('%s', '%s')";/* In my case, i know they will always be integers */
|
117 |
+
}
|
118 |
}
|
119 |
|
120 |
$query .= implode(', ', $place_holders);
|
121 |
|
122 |
+
// Удаляем все опции
|
123 |
+
$all_options = WCL_Option::getAllOptions();
|
124 |
+
|
125 |
+
if( !empty($all_options) ) {
|
126 |
+
foreach($all_options as $option) {
|
127 |
+
WCL_Plugin::app()->deletePopulateOption($option->getName());
|
128 |
+
}
|
129 |
+
}
|
130 |
|
131 |
// Сбрасываем кеш опций
|
132 |
WCL_Plugin::app()->flushOptionsCache();
|
|
|
133 |
|
134 |
// Импортируем опции
|
135 |
$wpdb->query($wpdb->prepare("$query ", $values));
|
136 |
+
|
137 |
+
$send_data = array('status' => 'success');
|
138 |
|
139 |
$package_plugin = WCL_Package::instance();
|
140 |
+
$send_data['update_notice'] = $package_plugin->getUpdateNotice();
|
141 |
+
|
142 |
+
// Сбрасываем кеш для кеширующих плагинов
|
143 |
+
WbcrFactoryClearfy206_Helpers::flushPageCache();
|
144 |
|
145 |
do_action('wbcr_clearfy_imported_settings');
|
146 |
+
|
147 |
+
wp_send_json_success($send_data);
|
148 |
+
die();
|
149 |
}
|
150 |
|
151 |
+
add_action('wp_ajax_wbcr-clearfy-import-settings', 'wbcr_clearfy_import_settings');
|
152 |
|
admin/ajax/install-addons.php
CHANGED
@@ -22,8 +22,8 @@
|
|
22 |
$action = WCL_Plugin::app()->request->post('plugin_action', null, true);
|
23 |
$storage = WCL_Plugin::app()->request->post('storage', null, true);
|
24 |
|
25 |
-
if( !
|
26 |
-
wp_die(__('You don\'t have enough capability to edit this information.', 'clearfy'), __(
|
27 |
}
|
28 |
|
29 |
if( empty($slug) || empty($action) ) {
|
@@ -59,7 +59,7 @@
|
|
59 |
} else {
|
60 |
$success = true;
|
61 |
$package_plugin = WCL_Package::instance();
|
62 |
-
$send_data['
|
63 |
}
|
64 |
} else if( $storage == 'internal' ) {
|
65 |
|
@@ -77,13 +77,16 @@
|
|
77 |
}
|
78 |
} else if( $storage == 'wordpress' ) {
|
79 |
if( !empty($slug) ) {
|
|
|
|
|
80 |
if( $action == 'activate' ) {
|
81 |
-
$result = activate_plugin($slug);
|
|
|
82 |
if( is_wp_error($result) ) {
|
83 |
wp_send_json_error(array('error_message' => $result->get_error_message()));
|
84 |
}
|
85 |
} elseif( $action == 'deactivate' ) {
|
86 |
-
deactivate_plugins($slug);
|
87 |
}
|
88 |
|
89 |
$success = true;
|
@@ -100,6 +103,16 @@
|
|
100 |
}
|
101 |
}
|
102 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
103 |
if( $success ) {
|
104 |
do_action('wbcr_clearfy_update_component', $slug, $action, $storage);
|
105 |
|
@@ -122,7 +135,7 @@
|
|
122 |
|
123 |
$component_name = WCL_Plugin::app()->request->post('plugin', null, true);
|
124 |
|
125 |
-
if( !
|
126 |
wp_send_json_error(array('error_message' => __('You don\'t have enough capability to edit this information.', 'clearfy')), 403);
|
127 |
}
|
128 |
|
22 |
$action = WCL_Plugin::app()->request->post('plugin_action', null, true);
|
23 |
$storage = WCL_Plugin::app()->request->post('storage', null, true);
|
24 |
|
25 |
+
if( !WCL_Plugin::app()->currentUserCan() ) {
|
26 |
+
wp_die(__('You don\'t have enough capability to edit this information.', 'clearfy'), __('Something went wrong.'), 403);
|
27 |
}
|
28 |
|
29 |
if( empty($slug) || empty($action) ) {
|
59 |
} else {
|
60 |
$success = true;
|
61 |
$package_plugin = WCL_Package::instance();
|
62 |
+
$send_data['update_notice'] = $package_plugin->getUpdateNotice();
|
63 |
}
|
64 |
} else if( $storage == 'internal' ) {
|
65 |
|
77 |
}
|
78 |
} else if( $storage == 'wordpress' ) {
|
79 |
if( !empty($slug) ) {
|
80 |
+
$network_wide = WCL_Plugin::app()->isNetworkActive();
|
81 |
+
|
82 |
if( $action == 'activate' ) {
|
83 |
+
$result = activate_plugin($slug, '', $network_wide);
|
84 |
+
|
85 |
if( is_wp_error($result) ) {
|
86 |
wp_send_json_error(array('error_message' => $result->get_error_message()));
|
87 |
}
|
88 |
} elseif( $action == 'deactivate' ) {
|
89 |
+
deactivate_plugins($slug, false, $network_wide);
|
90 |
}
|
91 |
|
92 |
$success = true;
|
103 |
}
|
104 |
}
|
105 |
|
106 |
+
// Если требуется обновить постоянные ссылки, даем сигнал, что пользователю, нужно показать
|
107 |
+
// всплывающее уведомление.
|
108 |
+
// todo: сделать более красивое решение с передачей текстовых сообщений
|
109 |
+
if( $action == 'deactivate' ) {
|
110 |
+
$is_need_rewrite_rules = WCL_Plugin::app()->getPopulateOption('need_rewrite_rules');
|
111 |
+
if( $is_need_rewrite_rules ) {
|
112 |
+
$send_data['need_rewrite_rules'] = sprintf('<span class="wbcr-clr-need-rewrite-rules-message">'.__('When you deactivate some components, permanent links may work incorrectly. If this happens, please, <a href="%s">update the permalinks</a>, so you could complete the deactivation.', 'clearfy'), admin_url('options-permalink.php') .'</span>');
|
113 |
+
}
|
114 |
+
}
|
115 |
+
|
116 |
if( $success ) {
|
117 |
do_action('wbcr_clearfy_update_component', $slug, $action, $storage);
|
118 |
|
135 |
|
136 |
$component_name = WCL_Plugin::app()->request->post('plugin', null, true);
|
137 |
|
138 |
+
if( !WCL_Plugin::app()->currentUserCan() ) {
|
139 |
wp_send_json_error(array('error_message' => __('You don\'t have enough capability to edit this information.', 'clearfy')), 403);
|
140 |
}
|
141 |
|
admin/ajax/update-package.php
CHANGED
@@ -23,36 +23,63 @@
|
|
23 |
$licensing->getAddons(true); // обновляем список аддонов
|
24 |
|
25 |
$package_plugin = WCL_Package::instance();
|
|
|
26 |
if( !$licensing->isLicenseValid() and $licensing->isActivePaidAddons() ) {
|
27 |
-
wp_send_json_error(array('
|
28 |
}
|
29 |
|
|
|
|
|
|
|
|
|
|
|
30 |
try {
|
31 |
$result = $package_plugin->update();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
} catch( Exception $e ) {
|
33 |
wp_send_json_error(array(
|
34 |
-
'
|
35 |
'code' => $e->getCode(),
|
36 |
));
|
37 |
}
|
38 |
|
39 |
-
if( is_wp_error($result) ) {
|
40 |
-
wp_send_json_error(array(
|
41 |
-
'msg' => __($result->get_error_message(), 'clearfy'),
|
42 |
-
'code' => __($result->get_error_code(), 'clearfy'),
|
43 |
-
));
|
44 |
-
}
|
45 |
-
$success = true;
|
46 |
-
$data = array();
|
47 |
-
$data['msg'] = __('Configuration updated.', 'clearfy');
|
48 |
-
$data['result'] = $result;
|
49 |
if( $success ) {
|
|
|
50 |
do_action('wbcr_clearfy_package_updated', $package_plugin->getSlugs());
|
51 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
wp_send_json_success($data);
|
53 |
}
|
54 |
|
55 |
-
wp_send_json_error(array('
|
56 |
}
|
57 |
|
58 |
add_action('wp_ajax_wbcr-clearfy-update-package', 'wbcr_clearfy_update_package');
|
23 |
$licensing->getAddons(true); // обновляем список аддонов
|
24 |
|
25 |
$package_plugin = WCL_Package::instance();
|
26 |
+
|
27 |
if( !$licensing->isLicenseValid() and $licensing->isActivePaidAddons() ) {
|
28 |
+
wp_send_json_error(array('error_message' => __('To use premium components, you need activate a license!', 'clearfy') . '<a href="admin.php?page=license-wbcr_clearfy" class="btn btn-gold">' . __('Activate license', 'clearfy') . '</a>'));
|
29 |
}
|
30 |
|
31 |
+
$old_components = $package_plugin->getActivedAddons();
|
32 |
+
|
33 |
+
$data = array();
|
34 |
+
$success = false;
|
35 |
+
|
36 |
try {
|
37 |
$result = $package_plugin->update();
|
38 |
+
|
39 |
+
if( is_wp_error($result) ) {
|
40 |
+
wp_send_json_error(array(
|
41 |
+
'error_message' => __($result->get_error_message(), 'clearfy'),
|
42 |
+
'code' => __($result->get_error_code(), 'clearfy'),
|
43 |
+
));
|
44 |
+
}
|
45 |
+
$success = true;
|
46 |
+
|
47 |
+
$data['message'] = __('Configuration updated.', 'clearfy');
|
48 |
+
$data['result'] = $result;
|
49 |
} catch( Exception $e ) {
|
50 |
wp_send_json_error(array(
|
51 |
+
'error_message' => $e->getMessage(),
|
52 |
'code' => $e->getCode(),
|
53 |
));
|
54 |
}
|
55 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
56 |
if( $success ) {
|
57 |
+
|
58 |
do_action('wbcr_clearfy_package_updated', $package_plugin->getSlugs());
|
59 |
|
60 |
+
$get_new_components = $package_plugin->getActivedAddons();
|
61 |
+
|
62 |
+
if( !empty($old_components) ) {
|
63 |
+
$net_components = array_diff_key($get_new_components, $old_components);
|
64 |
+
} else {
|
65 |
+
$net_components = $get_new_components;
|
66 |
+
}
|
67 |
+
|
68 |
+
if( !empty($net_components) ) {
|
69 |
+
foreach($net_components as $component_name => $value) {
|
70 |
+
/**
|
71 |
+
* После обновления пакета компонентов, мы принудительно вызываем классы активации для новых загруженных компонентов.
|
72 |
+
* Если компонент уже был загружен, для него не нужно вызывать хук активации, так как за это отвечает уже другой обработчик.
|
73 |
+
* @since 1.4.2
|
74 |
+
*/
|
75 |
+
do_action('wbcr/clearfy/activated_component', $component_name);
|
76 |
+
}
|
77 |
+
}
|
78 |
+
|
79 |
wp_send_json_success($data);
|
80 |
}
|
81 |
|
82 |
+
wp_send_json_error(array('error_message' => __('An unknown error occurred during the activation of the component.', 'clearfy')));
|
83 |
}
|
84 |
|
85 |
add_action('wp_ajax_wbcr-clearfy-update-package', 'wbcr_clearfy_update_package');
|
admin/assets/css/base-statistic.css
ADDED
@@ -0,0 +1,405 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* Styles for the Widget to be displayed in the Clearfy plugin
|
3 |
+
|
4 |
+
* @author Alex Kovalev <alex.kovalevv@gmail.com>
|
5 |
+
* @copyright Webcraftic 13.06.2018
|
6 |
+
*/
|
7 |
+
#WBCR {
|
8 |
+
/* Number display */
|
9 |
+
/* Number and bars */
|
10 |
+
/* Doughnut */
|
11 |
+
/* Widget */
|
12 |
+
}
|
13 |
+
#WBCR .wio-clear {
|
14 |
+
clear: both;
|
15 |
+
}
|
16 |
+
#WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers {
|
17 |
+
margin-top: 30px;
|
18 |
+
background: none;
|
19 |
+
padding: 0;
|
20 |
+
}
|
21 |
+
#WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers h4 {
|
22 |
+
font-size: 15px;
|
23 |
+
font-weight: 700;
|
24 |
+
}
|
25 |
+
#WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers button {
|
26 |
+
padding: 5px 10px;
|
27 |
+
border: 0;
|
28 |
+
font-size: 11px;
|
29 |
+
text-transform: uppercase !important;
|
30 |
+
font-weight: bold;
|
31 |
+
border-radius: 4px;
|
32 |
+
outline: none;
|
33 |
+
background: #f3f3f3;
|
34 |
+
color: #656565;
|
35 |
+
box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
|
36 |
+
}
|
37 |
+
#WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers button:active {
|
38 |
+
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.5);
|
39 |
+
}
|
40 |
+
#WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers button.wbcr-rio-loading {
|
41 |
+
width: 56px;
|
42 |
+
font-size: 0;
|
43 |
+
background: #f3f3f3 url("../img/quick-start-loader.gif") center no-repeat;
|
44 |
+
}
|
45 |
+
#WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers button.wbcr-rio-selected {
|
46 |
+
background: #f3efe2;
|
47 |
+
color: #d8d8d8;
|
48 |
+
}
|
49 |
+
#WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers button.wbcr-rio-selected:active {
|
50 |
+
box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
|
51 |
+
}
|
52 |
+
#WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers table {
|
53 |
+
width: 100%;
|
54 |
+
box-sizing: border-box;
|
55 |
+
border-spacing: 3px;
|
56 |
+
background: #fff;
|
57 |
+
}
|
58 |
+
#WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers table th,
|
59 |
+
#WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers table td {
|
60 |
+
padding: 16px 10px;
|
61 |
+
text-align: center;
|
62 |
+
}
|
63 |
+
#WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers table th {
|
64 |
+
background: #efefef;
|
65 |
+
color: #777777;
|
66 |
+
box-shadow: 0 1px 0 #d8d8d8;
|
67 |
+
}
|
68 |
+
#WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers table .wbcr-rio-server-check-proccess {
|
69 |
+
display: inline-block;
|
70 |
+
height: 10px;
|
71 |
+
width: 30px;
|
72 |
+
background: url("../img/quick-start-loader.gif") center no-repeat;
|
73 |
+
}
|
74 |
+
#WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers table .wbcr-rio-servers-list-item-selected {
|
75 |
+
background: #fffbed;
|
76 |
+
color: #cec5a8;
|
77 |
+
font-weight: 600;
|
78 |
+
}
|
79 |
+
#WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers table .wbcr-rio-server-success {
|
80 |
+
color: #8CC152;
|
81 |
+
}
|
82 |
+
#WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers table .wbcr-rio-server-error {
|
83 |
+
color: #fb5d49;
|
84 |
+
}
|
85 |
+
#WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers table .wbcr-rio-server-warning {
|
86 |
+
color: #ffb635;
|
87 |
+
}
|
88 |
+
#WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers .wbcr-rio-warning-message {
|
89 |
+
margin-top: 30px;
|
90 |
+
padding: 20px;
|
91 |
+
border: 1px dashed #bfbfbf;
|
92 |
+
background: #ffffff;
|
93 |
+
margin-bottom: 40px;
|
94 |
+
font-size: 15px;
|
95 |
+
color: #828282;
|
96 |
+
}
|
97 |
+
#WBCR .wio-columns {
|
98 |
+
overflow: hidden;
|
99 |
+
padding: 15px 0;
|
100 |
+
counter-reset: cols;
|
101 |
+
}
|
102 |
+
#WBCR .wio-columns [class^="col-"] {
|
103 |
+
float: left;
|
104 |
+
-webkit-box-sizing: border-box;
|
105 |
+
-moz-box-sizing: border-box;
|
106 |
+
box-sizing: border-box;
|
107 |
+
}
|
108 |
+
#WBCR .wio-columns .col-1-3 {
|
109 |
+
width: 33.333%;
|
110 |
+
padding-left: 28px;
|
111 |
+
}
|
112 |
+
#WBCR .wio-columns .col-2-3 {
|
113 |
+
width: 66.666%;
|
114 |
+
padding-left: 28px;
|
115 |
+
}
|
116 |
+
#WBCR .wio-columns .col-1-2 {
|
117 |
+
width: 50%;
|
118 |
+
padding: 0 20px;
|
119 |
+
}
|
120 |
+
#WBCR .wio-columns .col-statistics.col-statistics {
|
121 |
+
width: 60%;
|
122 |
+
}
|
123 |
+
#WBCR .wio-columns .col-chart.col-chart {
|
124 |
+
width: 40%;
|
125 |
+
position: relative;
|
126 |
+
padding: 20px;
|
127 |
+
font-size: 12px;
|
128 |
+
text-transform: uppercase;
|
129 |
+
background: #f1f1f1b3;
|
130 |
+
color: #abacaf;
|
131 |
+
font-weight: bold;
|
132 |
+
border-radius: 5px;
|
133 |
+
margin-top: 10px;
|
134 |
+
text-align: left;
|
135 |
+
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
|
136 |
+
}
|
137 |
+
#WBCR .wio-col {
|
138 |
+
float: left;
|
139 |
+
width: 50%;
|
140 |
+
box-sizing: border-box;
|
141 |
+
-webkit-flex-basis: 50%;
|
142 |
+
-ms-flex-preferred-size: 50%;
|
143 |
+
flex-basis: 50%;
|
144 |
+
}
|
145 |
+
#WBCR .wio-col {
|
146 |
+
padding-right: 20px;
|
147 |
+
}
|
148 |
+
#WBCR .wio-col + .wio-col {
|
149 |
+
padding-right: 0;
|
150 |
+
padding-left: 50px;
|
151 |
+
}
|
152 |
+
#WBCR .wio-col:target {
|
153 |
+
animation: wiohello 1s 3 linear backwards;
|
154 |
+
}
|
155 |
+
#WBCR .wio-number-you-optimized {
|
156 |
+
margin-bottom: 1.35em;
|
157 |
+
overflow: hidden;
|
158 |
+
}
|
159 |
+
#WBCR .wio-number-you-optimized #wio-total-optimized-attachments-pct {
|
160 |
+
color: #828282;
|
161 |
+
}
|
162 |
+
#WBCR .wio-number-you-optimized .wio-number {
|
163 |
+
display: table-cell;
|
164 |
+
padding-right: 15px;
|
165 |
+
font-size: 48px;
|
166 |
+
font-weight: bold;
|
167 |
+
line-height: 1;
|
168 |
+
vertical-align: middle;
|
169 |
+
white-space: nowrap;
|
170 |
+
color: #828282;
|
171 |
+
}
|
172 |
+
#WBCR .wio-number-you-optimized .wio-text {
|
173 |
+
display: table-cell;
|
174 |
+
vertical-align: middle;
|
175 |
+
overflow: hidden;
|
176 |
+
font-size: 12px;
|
177 |
+
color: #828282;
|
178 |
+
}
|
179 |
+
#WBCR .wio-number-you-optimized > p {
|
180 |
+
display: table;
|
181 |
+
}
|
182 |
+
#WBCR .wio-bars {
|
183 |
+
padding-right: 15px;
|
184 |
+
}
|
185 |
+
#WBCR .wio-bars p {
|
186 |
+
font-size: 12px;
|
187 |
+
margin-bottom: 5px;
|
188 |
+
}
|
189 |
+
#WBCR .wio-bars + .wio-number-you-optimized {
|
190 |
+
border-bottom: 0;
|
191 |
+
padding-top: 0.85em;
|
192 |
+
}
|
193 |
+
#WBCR .wio-bars + .wio-number-you-optimized p {
|
194 |
+
color: #72a53b;
|
195 |
+
}
|
196 |
+
#WBCR .wio-bar-negative .wio-progress {
|
197 |
+
background: #D2D3D6;
|
198 |
+
}
|
199 |
+
#WBCR .wio-bar-negative .wio-barnb {
|
200 |
+
color: #9d9fa5;
|
201 |
+
}
|
202 |
+
#WBCR .wio-progress {
|
203 |
+
height: 8px;
|
204 |
+
transition: width .3s;
|
205 |
+
/*.wio-bar-negative {
|
206 |
+
width: 92% !important;
|
207 |
+
}*/
|
208 |
+
}
|
209 |
+
#WBCR .wio-bar-positive .wio-progress {
|
210 |
+
background: #8CC152;
|
211 |
+
}
|
212 |
+
#WBCR .wio-bar-positive .wio-barnb {
|
213 |
+
color: #72a53b;
|
214 |
+
}
|
215 |
+
#WBCR .wio-bar-primary .wio-progress {
|
216 |
+
background: #8CC152;
|
217 |
+
}
|
218 |
+
#WBCR .wio-bar-primary .wio-barnb {
|
219 |
+
color: #72a53b;
|
220 |
+
}
|
221 |
+
#WBCR .wio-right-outside-number .wio-barnb {
|
222 |
+
display: block;
|
223 |
+
margin-right: -5.25em;
|
224 |
+
text-align: right;
|
225 |
+
font-weight: bold;
|
226 |
+
line-height: .8;
|
227 |
+
}
|
228 |
+
#WBCR .wio-chart {
|
229 |
+
position: relative;
|
230 |
+
top: 1px;
|
231 |
+
display: inline-block;
|
232 |
+
vertical-align: middle;
|
233 |
+
}
|
234 |
+
#WBCR .wio-chart-container {
|
235 |
+
position: relative;
|
236 |
+
display: inline-block;
|
237 |
+
margin-right: 5px;
|
238 |
+
border: 10px solid #d2d3d6;
|
239 |
+
border-radius: 100%;
|
240 |
+
}
|
241 |
+
#WBCR .wio-chart-container canvas {
|
242 |
+
display: block;
|
243 |
+
}
|
244 |
+
#WBCR .wio-overview-chart-container {
|
245 |
+
float: left;
|
246 |
+
margin-right: 20px;
|
247 |
+
}
|
248 |
+
#WBCR .wio-chart-percent {
|
249 |
+
position: absolute;
|
250 |
+
left: 0;
|
251 |
+
right: 0;
|
252 |
+
top: 50%;
|
253 |
+
margin-top: -0.5em;
|
254 |
+
line-height: 0.8;
|
255 |
+
text-align: center;
|
256 |
+
font-size: 54px;
|
257 |
+
font-weight: bold;
|
258 |
+
color: #afafaf;
|
259 |
+
}
|
260 |
+
#WBCR .wio-chart-percent span {
|
261 |
+
font-size: 20px;
|
262 |
+
vertical-align: super;
|
263 |
+
}
|
264 |
+
#WBCR #wio-overview-chart-legend {
|
265 |
+
overflow: hidden;
|
266 |
+
}
|
267 |
+
#WBCR .wio-doughnut-legend li {
|
268 |
+
display: inline-block;
|
269 |
+
position: relative;
|
270 |
+
margin-bottom: 15px;
|
271 |
+
border-radius: 5px;
|
272 |
+
padding: 3px 8px 2px 31px;
|
273 |
+
font-size: 12px;
|
274 |
+
cursor: default;
|
275 |
+
-webkit-transition: background-color 200ms ease-in-out;
|
276 |
+
-moz-transition: background-color 200ms ease-in-out;
|
277 |
+
-o-transition: background-color 200ms ease-in-out;
|
278 |
+
transition: background-color 200ms ease-in-out;
|
279 |
+
}
|
280 |
+
#WBCR .wio-doughnut-legend li span {
|
281 |
+
display: block;
|
282 |
+
position: absolute;
|
283 |
+
left: 0;
|
284 |
+
top: 0;
|
285 |
+
width: 25px;
|
286 |
+
height: 25px;
|
287 |
+
border-radius: 50%;
|
288 |
+
}
|
289 |
+
#WBCR .wio-optimize-button {
|
290 |
+
width: 180px;
|
291 |
+
padding: 12px 30px;
|
292 |
+
background: #c9deb2;
|
293 |
+
color: #586549;
|
294 |
+
border: 0;
|
295 |
+
box-shadow: none;
|
296 |
+
font-size: 14px;
|
297 |
+
text-transform: uppercase !important;
|
298 |
+
font-weight: bold;
|
299 |
+
border-radius: 4px;
|
300 |
+
outline: none;
|
301 |
+
text-decoration: none;
|
302 |
+
}
|
303 |
+
#WBCR .wio-optimize-button:active {
|
304 |
+
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.5);
|
305 |
+
}
|
306 |
+
#WBCR .wio-global-optim-phrase {
|
307 |
+
width: 180px;
|
308 |
+
padding-top: 20px;
|
309 |
+
font-size: 14px;
|
310 |
+
text-align: center;
|
311 |
+
}
|
312 |
+
#WBCR .wio-total-percent {
|
313 |
+
color: #587f2e;
|
314 |
+
}
|
315 |
+
#WBCR .wio-text-left {
|
316 |
+
text-align: left;
|
317 |
+
}
|
318 |
+
#WBCR span.wio-num {
|
319 |
+
display: inline !important;
|
320 |
+
position: inherit !important;
|
321 |
+
}
|
322 |
+
#WBCR .wio-image-optimize-board {
|
323 |
+
padding: 20px;
|
324 |
+
}
|
325 |
+
#WBCR .wio-page-statistic {
|
326 |
+
padding-left: 40px;
|
327 |
+
}
|
328 |
+
#WBCR .wio-page-statistic .wio-chart-percent {
|
329 |
+
margin-top: -1.1em;
|
330 |
+
}
|
331 |
+
#WBCR .wio-widget {
|
332 |
+
padding: 0 !important;
|
333 |
+
}
|
334 |
+
#WBCR .wio-widget .wio-chart-percent {
|
335 |
+
font-size: 44px;
|
336 |
+
line-height: 1;
|
337 |
+
}
|
338 |
+
#WBCR .wio-widget .wio-bars {
|
339 |
+
width: 80%;
|
340 |
+
margin-left: 155px;
|
341 |
+
box-sizing: border-box;
|
342 |
+
}
|
343 |
+
#WBCR .wio-widget .col-chart.col-chart {
|
344 |
+
width: 100%;
|
345 |
+
}
|
346 |
+
#WBCR .wio-widget .col-controls {
|
347 |
+
width: 45%;
|
348 |
+
padding-left: 5px;
|
349 |
+
padding-top: 110px;
|
350 |
+
}
|
351 |
+
#WBCR .wio-widget .wio-doughnut-legend {
|
352 |
+
margin-left: 20px;
|
353 |
+
text-align: left;
|
354 |
+
}
|
355 |
+
#WBCR .wio-widget .wio-widget-bottom {
|
356 |
+
display: table;
|
357 |
+
padding-top: 20px !important;
|
358 |
+
width: 100%;
|
359 |
+
text-align: right;
|
360 |
+
}
|
361 |
+
#WBCR .wio-widget .wio-widget-bottom li {
|
362 |
+
display: table-cell;
|
363 |
+
}
|
364 |
+
#WBCR .wio-widget .wio-widget-bottom li:first-child {
|
365 |
+
text-align: left;
|
366 |
+
}
|
367 |
+
@media (max-width: 830px) {
|
368 |
+
#WBCR .wio [class^="col-"] {
|
369 |
+
float: none;
|
370 |
+
margin-bottom: 1.5em;
|
371 |
+
}
|
372 |
+
#WBCR .wio .col-1-3,
|
373 |
+
#WBCR .wio .col-1-2 {
|
374 |
+
width: auto;
|
375 |
+
padding: 0 28px;
|
376 |
+
clear: both;
|
377 |
+
padding-top: 1em;
|
378 |
+
}
|
379 |
+
}
|
380 |
+
@keyframes wiohello {
|
381 |
+
0%,
|
382 |
+
100% {
|
383 |
+
background: #FFF;
|
384 |
+
}
|
385 |
+
50% {
|
386 |
+
background: #F4F7F9;
|
387 |
+
}
|
388 |
+
}
|
389 |
+
@media (max-width: 1520px) and (min-width: 1381px), (max-width: 1086px) {
|
390 |
+
#WBCR .wio-columns .col-statistics.col-statistics,
|
391 |
+
#WBCR .wio-columns .col-chart.col-chart {
|
392 |
+
width: 50%;
|
393 |
+
}
|
394 |
+
}
|
395 |
+
@media (max-width: 808px) {
|
396 |
+
#WBCR .wio-columns .col-statistics.col-statistics,
|
397 |
+
#WBCR .wio-columns .col-chart.col-chart {
|
398 |
+
width: auto;
|
399 |
+
float: none;
|
400 |
+
padding: 0;
|
401 |
+
}
|
402 |
+
#WBCR .wio-columns .col-chart.col-chart {
|
403 |
+
margin-top: 3em;
|
404 |
+
}
|
405 |
+
}
|
admin/assets/css/base-statistic.less
ADDED
@@ -0,0 +1,494 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* Styles for the Widget to be displayed in the Clearfy plugin
|
3 |
+
|
4 |
+
* @author Alex Kovalev <alex.kovalevv@gmail.com>
|
5 |
+
* @copyright Webcraftic 13.06.2018
|
6 |
+
*/
|
7 |
+
|
8 |
+
@positiveColor: #8CC152;
|
9 |
+
@negativeColor: #D2D3D6;
|
10 |
+
@neutralColor: #828282;
|
11 |
+
|
12 |
+
@errorColor: #fb5d49;
|
13 |
+
@waringColor: #ffb635;
|
14 |
+
|
15 |
+
@greyButtonBg: #f3f3f3;
|
16 |
+
@greyButtonColor: #656565;
|
17 |
+
|
18 |
+
@greenButtonBg: #c9deb2;
|
19 |
+
@greenButtonColor: #586549;
|
20 |
+
|
21 |
+
@orangeButtonBg: #fdd599;
|
22 |
+
@orangeButtonColor: #a57b3c;
|
23 |
+
|
24 |
+
#WBCR {
|
25 |
+
.wio-clear {
|
26 |
+
clear: both;
|
27 |
+
}
|
28 |
+
|
29 |
+
// Right sidebar
|
30 |
+
|
31 |
+
.wbcr-factory-sidebar-widget {
|
32 |
+
&.wbcr-rio-servers {
|
33 |
+
margin-top: 30px;
|
34 |
+
background: none;
|
35 |
+
padding: 0;
|
36 |
+
|
37 |
+
h4 {
|
38 |
+
font-size: 15px;
|
39 |
+
font-weight: 700;
|
40 |
+
}
|
41 |
+
|
42 |
+
button {
|
43 |
+
padding: 5px 10px;
|
44 |
+
border: 0;
|
45 |
+
font-size: 11px;
|
46 |
+
text-transform: uppercase !important;
|
47 |
+
font-weight: bold;
|
48 |
+
border-radius: 4px;
|
49 |
+
outline: none;
|
50 |
+
background: @greyButtonBg;
|
51 |
+
color: @greyButtonColor;
|
52 |
+
box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
|
53 |
+
|
54 |
+
&:active {
|
55 |
+
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.5);
|
56 |
+
}
|
57 |
+
|
58 |
+
&.wbcr-rio-loading {
|
59 |
+
width: 56px;
|
60 |
+
font-size: 0;
|
61 |
+
background: @greyButtonBg url("../img/quick-start-loader.gif") center no-repeat;
|
62 |
+
}
|
63 |
+
|
64 |
+
&.wbcr-rio-selected {
|
65 |
+
background: #f3efe2;
|
66 |
+
color: #d8d8d8;
|
67 |
+
&:active {
|
68 |
+
box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
|
69 |
+
}
|
70 |
+
}
|
71 |
+
}
|
72 |
+
|
73 |
+
table {
|
74 |
+
width: 100%;
|
75 |
+
box-sizing: border-box;
|
76 |
+
border-spacing: 3px;
|
77 |
+
background: #fff;
|
78 |
+
|
79 |
+
th, td {
|
80 |
+
padding: 16px 10px;
|
81 |
+
text-align: center;
|
82 |
+
}
|
83 |
+
th {
|
84 |
+
background: #efefef;
|
85 |
+
color: #777777;
|
86 |
+
box-shadow: 0 1px 0 rgb(216, 216, 216);
|
87 |
+
}
|
88 |
+
.wbcr-rio-server-check-proccess {
|
89 |
+
display: inline-block;
|
90 |
+
height: 10px;
|
91 |
+
width: 30px;
|
92 |
+
background: url("../img/quick-start-loader.gif") center no-repeat;
|
93 |
+
}
|
94 |
+
.wbcr-rio-servers-list-item-selected {
|
95 |
+
background: #fffbed;
|
96 |
+
color: #cec5a8;
|
97 |
+
font-weight: 600;
|
98 |
+
}
|
99 |
+
.wbcr-rio-server-success {
|
100 |
+
color: @positiveColor;
|
101 |
+
}
|
102 |
+
.wbcr-rio-server-error {
|
103 |
+
color: @errorColor;
|
104 |
+
}
|
105 |
+
.wbcr-rio-server-warning {
|
106 |
+
color: @waringColor;
|
107 |
+
}
|
108 |
+
}
|
109 |
+
|
110 |
+
.wbcr-rio-warning-message {
|
111 |
+
margin-top: 30px;
|
112 |
+
padding: 20px;
|
113 |
+
border: 1px dashed #bfbfbf;
|
114 |
+
background: #ffffff;
|
115 |
+
margin-bottom: 40px;
|
116 |
+
font-size: 15px;
|
117 |
+
color: #828282;
|
118 |
+
}
|
119 |
+
}
|
120 |
+
}
|
121 |
+
|
122 |
+
.wio-columns {
|
123 |
+
overflow: hidden;
|
124 |
+
padding: 15px 0;
|
125 |
+
counter-reset: cols;
|
126 |
+
|
127 |
+
[class^="col-"] {
|
128 |
+
float: left;
|
129 |
+
-webkit-box-sizing: border-box;
|
130 |
+
-moz-box-sizing: border-box;
|
131 |
+
box-sizing: border-box;
|
132 |
+
}
|
133 |
+
|
134 |
+
.col-1-3 {
|
135 |
+
width: 33.333%;
|
136 |
+
padding-left: 28px;
|
137 |
+
}
|
138 |
+
|
139 |
+
.col-2-3 {
|
140 |
+
width: 66.666%;
|
141 |
+
padding-left: 28px
|
142 |
+
}
|
143 |
+
|
144 |
+
.col-1-2 {
|
145 |
+
width: 50%;
|
146 |
+
padding: 0 20px;
|
147 |
+
}
|
148 |
+
|
149 |
+
.col-statistics.col-statistics {
|
150 |
+
width: 60%;
|
151 |
+
}
|
152 |
+
|
153 |
+
.col-chart.col-chart {
|
154 |
+
width: 40%;
|
155 |
+
position: relative;
|
156 |
+
padding: 20px;
|
157 |
+
font-size: 12px;
|
158 |
+
text-transform: uppercase;
|
159 |
+
background: #f1f1f1b3;
|
160 |
+
color: #abacaf;
|
161 |
+
font-weight: bold;
|
162 |
+
border-radius: 5px;
|
163 |
+
margin-top: 10px;
|
164 |
+
text-align: left;
|
165 |
+
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
|
166 |
+
}
|
167 |
+
}
|
168 |
+
|
169 |
+
.wio-col {
|
170 |
+
float: left;
|
171 |
+
width: 50%;
|
172 |
+
box-sizing: border-box;
|
173 |
+
-webkit-flex-basis: 50%;
|
174 |
+
-ms-flex-preferred-size: 50%;
|
175 |
+
flex-basis: 50%;
|
176 |
+
}
|
177 |
+
|
178 |
+
.wio-col {
|
179 |
+
padding-right: 20px;
|
180 |
+
}
|
181 |
+
|
182 |
+
.wio-col + .wio-col {
|
183 |
+
padding-right: 0;
|
184 |
+
padding-left: 50px;
|
185 |
+
}
|
186 |
+
|
187 |
+
.wio-col:target {
|
188 |
+
animation: wiohello 1s 3 linear backwards;
|
189 |
+
}
|
190 |
+
|
191 |
+
/* Number display */
|
192 |
+
.wio-number-you-optimized {
|
193 |
+
margin-bottom: 1.35em;
|
194 |
+
overflow: hidden;
|
195 |
+
|
196 |
+
#wio-total-optimized-attachments-pct {
|
197 |
+
color: @neutralColor;
|
198 |
+
}
|
199 |
+
|
200 |
+
.wio-number {
|
201 |
+
display: table-cell;
|
202 |
+
padding-right: 15px;
|
203 |
+
font-size: 48px;
|
204 |
+
font-weight: bold;
|
205 |
+
line-height: 1;
|
206 |
+
vertical-align: middle;
|
207 |
+
white-space: nowrap;
|
208 |
+
color: @neutralColor;
|
209 |
+
}
|
210 |
+
|
211 |
+
.wio-text {
|
212 |
+
display: table-cell;
|
213 |
+
vertical-align: middle;
|
214 |
+
overflow: hidden;
|
215 |
+
font-size: 12px;
|
216 |
+
color: @neutralColor;
|
217 |
+
}
|
218 |
+
|
219 |
+
& > p {
|
220 |
+
display: table;
|
221 |
+
}
|
222 |
+
}
|
223 |
+
|
224 |
+
/* Number and bars */
|
225 |
+
.wio-bars {
|
226 |
+
padding-right: 15px;
|
227 |
+
}
|
228 |
+
|
229 |
+
.wio-bars p {
|
230 |
+
font-size: 12px;
|
231 |
+
margin-bottom: 5px;
|
232 |
+
}
|
233 |
+
|
234 |
+
.wio-bars + .wio-number-you-optimized {
|
235 |
+
border-bottom: 0;
|
236 |
+
padding-top: 0.85em;
|
237 |
+
}
|
238 |
+
|
239 |
+
.wio-bars + .wio-number-you-optimized p {
|
240 |
+
color: darken(@positiveColor, 10);
|
241 |
+
}
|
242 |
+
|
243 |
+
.wio-bar-negative {
|
244 |
+
.wio-progress {
|
245 |
+
background: @negativeColor;
|
246 |
+
}
|
247 |
+
.wio-barnb {
|
248 |
+
color: darken(@negativeColor, 20);
|
249 |
+
}
|
250 |
+
}
|
251 |
+
|
252 |
+
.wio-progress {
|
253 |
+
height: 8px;
|
254 |
+
transition: width .3s;
|
255 |
+
|
256 |
+
/*.wio-bar-negative {
|
257 |
+
width: 92% !important;
|
258 |
+
}*/
|
259 |
+
}
|
260 |
+
|
261 |
+
.wio-bar-positive {
|
262 |
+
.wio-progress {
|
263 |
+
background: @positiveColor;
|
264 |
+
}
|
265 |
+
.wio-barnb {
|
266 |
+
color: darken(@positiveColor, 10);
|
267 |
+
}
|
268 |
+
}
|
269 |
+
|
270 |
+
.wio-bar-primary {
|
271 |
+
.wio-progress {
|
272 |
+
background: @positiveColor;
|
273 |
+
}
|
274 |
+
.wio-barnb {
|
275 |
+
color: darken(@positiveColor, 10);
|
276 |
+
}
|
277 |
+
}
|
278 |
+
|
279 |
+
.wio-right-outside-number .wio-barnb {
|
280 |
+
display: block;
|
281 |
+
margin-right: -5.25em;
|
282 |
+
text-align: right;
|
283 |
+
font-weight: bold;
|
284 |
+
line-height: .8;
|
285 |
+
}
|
286 |
+
|
287 |
+
/* Doughnut */
|
288 |
+
.wio-chart {
|
289 |
+
position: relative;
|
290 |
+
top: 1px;
|
291 |
+
display: inline-block;
|
292 |
+
vertical-align: middle;
|
293 |
+
}
|
294 |
+
|
295 |
+
.wio-chart-container {
|
296 |
+
position: relative;
|
297 |
+
display: inline-block;
|
298 |
+
margin-right: 5px;
|
299 |
+
border: 10px solid #d2d3d6;
|
300 |
+
border-radius: 100%;
|
301 |
+
}
|
302 |
+
|
303 |
+
.wio-chart-container canvas {
|
304 |
+
display: block;
|
305 |
+
}
|
306 |
+
|
307 |
+
.wio-overview-chart-container {
|
308 |
+
float: left;
|
309 |
+
margin-right: 20px;
|
310 |
+
}
|
311 |
+
|
312 |
+
.wio-chart-percent {
|
313 |
+
position: absolute;
|
314 |
+
left: 0;
|
315 |
+
right: 0;
|
316 |
+
top: 50%;
|
317 |
+
margin-top: -.5em;
|
318 |
+
line-height: 0.8;
|
319 |
+
text-align: center;
|
320 |
+
font-size: 54px;
|
321 |
+
font-weight: bold;
|
322 |
+
color: #afafaf;
|
323 |
+
}
|
324 |
+
|
325 |
+
.wio-chart-percent span {
|
326 |
+
font-size: 20px;
|
327 |
+
vertical-align: super;
|
328 |
+
}
|
329 |
+
|
330 |
+
#wio-overview-chart-legend {
|
331 |
+
overflow: hidden;
|
332 |
+
}
|
333 |
+
|
334 |
+
.wio-doughnut-legend li {
|
335 |
+
display: inline-block;
|
336 |
+
position: relative;
|
337 |
+
margin-bottom: 15px;
|
338 |
+
border-radius: 5px;
|
339 |
+
padding: 3px 8px 2px 31px;
|
340 |
+
font-size: 12px;
|
341 |
+
cursor: default;
|
342 |
+
-webkit-transition: background-color 200ms ease-in-out;
|
343 |
+
-moz-transition: background-color 200ms ease-in-out;
|
344 |
+
-o-transition: background-color 200ms ease-in-out;
|
345 |
+
transition: background-color 200ms ease-in-out;
|
346 |
+
}
|
347 |
+
|
348 |
+
.wio-doughnut-legend li span {
|
349 |
+
display: block;
|
350 |
+
position: absolute;
|
351 |
+
left: 0;
|
352 |
+
top: 0;
|
353 |
+
width: 25px;
|
354 |
+
height: 25px;
|
355 |
+
border-radius: 50%;
|
356 |
+
}
|
357 |
+
|
358 |
+
.wio-optimize-button {
|
359 |
+
width: 180px;
|
360 |
+
padding: 12px 30px;
|
361 |
+
background: @greenButtonBg;
|
362 |
+
color: @greenButtonColor;
|
363 |
+
border: 0;
|
364 |
+
box-shadow: none;
|
365 |
+
font-size: 14px;
|
366 |
+
text-transform: uppercase !important;
|
367 |
+
font-weight: bold;
|
368 |
+
border-radius: 4px;
|
369 |
+
outline: none;
|
370 |
+
text-decoration: none;
|
371 |
+
|
372 |
+
&:active {
|
373 |
+
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.5);
|
374 |
+
}
|
375 |
+
}
|
376 |
+
|
377 |
+
.wio-global-optim-phrase {
|
378 |
+
width: 180px;
|
379 |
+
padding-top: 20px;
|
380 |
+
font-size: 14px;
|
381 |
+
text-align: center;
|
382 |
+
}
|
383 |
+
|
384 |
+
.wio-total-percent {
|
385 |
+
color: darken(@positiveColor, 20);
|
386 |
+
}
|
387 |
+
|
388 |
+
.wio-text-left {
|
389 |
+
text-align: left;
|
390 |
+
}
|
391 |
+
|
392 |
+
span.wio-num {
|
393 |
+
display: inline !important;
|
394 |
+
position: inherit !important;
|
395 |
+
}
|
396 |
+
|
397 |
+
/* Widget */
|
398 |
+
.wio-image-optimize-board {
|
399 |
+
padding: 20px;
|
400 |
+
}
|
401 |
+
|
402 |
+
.wio-page-statistic {
|
403 |
+
padding-left: 40px;
|
404 |
+
|
405 |
+
.wio-chart-percent {
|
406 |
+
margin-top: -1.1em;
|
407 |
+
}
|
408 |
+
}
|
409 |
+
|
410 |
+
.wio-widget {
|
411 |
+
padding: 0 !important;
|
412 |
+
|
413 |
+
.wio-chart-percent {
|
414 |
+
font-size: 44px;
|
415 |
+
line-height: 1;
|
416 |
+
}
|
417 |
+
.wio-bars {
|
418 |
+
width: 80%;
|
419 |
+
margin-left: 155px;
|
420 |
+
box-sizing: border-box;
|
421 |
+
}
|
422 |
+
.col-chart.col-chart {
|
423 |
+
width: 100%;
|
424 |
+
}
|
425 |
+
.col-controls {
|
426 |
+
width: 45%;
|
427 |
+
padding-left: 5px;
|
428 |
+
padding-top: 110px
|
429 |
+
}
|
430 |
+
.wio-doughnut-legend {
|
431 |
+
margin-left: 20px;
|
432 |
+
text-align: left;
|
433 |
+
|
434 |
+
}
|
435 |
+
.wio-widget-bottom {
|
436 |
+
display: table;
|
437 |
+
padding-top: 20px !important;
|
438 |
+
width: 100%;
|
439 |
+
text-align: right;
|
440 |
+
}
|
441 |
+
.wio-widget-bottom li {
|
442 |
+
display: table-cell;
|
443 |
+
}
|
444 |
+
.wio-widget-bottom li:first-child {
|
445 |
+
text-align: left;
|
446 |
+
}
|
447 |
+
}
|
448 |
+
|
449 |
+
@media (max-width: 830px) {
|
450 |
+
.wio [class^="col-"] {
|
451 |
+
float: none;
|
452 |
+
margin-bottom: 1.5em;
|
453 |
+
}
|
454 |
+
|
455 |
+
.wio .col-1-3,
|
456 |
+
.wio .col-1-2 {
|
457 |
+
width: auto;
|
458 |
+
padding: 0 28px;
|
459 |
+
clear: both;
|
460 |
+
padding-top: 1em;
|
461 |
+
}
|
462 |
+
}
|
463 |
+
|
464 |
+
@keyframes wiohello {
|
465 |
+
0%, 100% {
|
466 |
+
background: #FFF;
|
467 |
+
}
|
468 |
+
50% {
|
469 |
+
background: #F4F7F9;
|
470 |
+
}
|
471 |
+
}
|
472 |
+
|
473 |
+
@media (max-width: 1520px) and (min-width: 1381px), (max-width: 1086px) {
|
474 |
+
.wio-columns {
|
475 |
+
.col-statistics.col-statistics, .col-chart.col-chart {
|
476 |
+
width: 50%;
|
477 |
+
}
|
478 |
+
}
|
479 |
+
|
480 |
+
}
|
481 |
+
|
482 |
+
@media (max-width: 808px) {
|
483 |
+
.wio-columns {
|
484 |
+
.col-statistics.col-statistics, .col-chart.col-chart {
|
485 |
+
width: auto;
|
486 |
+
float: none;
|
487 |
+
padding: 0;
|
488 |
+
}
|
489 |
+
.col-chart.col-chart {
|
490 |
+
margin-top: 3em;
|
491 |
+
}
|
492 |
+
}
|
493 |
+
}
|
494 |
+
}
|
admin/assets/css/components.css
CHANGED
@@ -4,10 +4,28 @@
|
|
4 |
* @copyright Alex Kovalev 30.09.2017
|
5 |
*/
|
6 |
#WBCR .wbcr-clearfy-components {
|
7 |
-
padding: 20px;
|
|
|
8 |
}
|
9 |
#WBCR .wbcr-clearfy-components .plugin-card {
|
10 |
position: relative;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
}
|
12 |
#WBCR .wbcr-clearfy-components .plugin-card .plugin-card-top {
|
13 |
min-height: 163px;
|
@@ -41,7 +59,7 @@
|
|
41 |
}
|
42 |
#WBCR .wbcr-clearfy-components .plugin-card .premium-ribbon {
|
43 |
position: absolute;
|
44 |
-
|
45 |
right: 0;
|
46 |
height: 30px;
|
47 |
width: 120px;
|
@@ -77,3 +95,13 @@
|
|
77 |
#WBCR .wbcr-clearfy-components .plugin-card.plugin-status-deactive.premium {
|
78 |
background-color: #f9f2f1;
|
79 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
* @copyright Alex Kovalev 30.09.2017
|
5 |
*/
|
6 |
#WBCR .wbcr-clearfy-components {
|
7 |
+
padding: 0 20px 20px;
|
8 |
+
text-align: center;
|
9 |
}
|
10 |
#WBCR .wbcr-clearfy-components .plugin-card {
|
11 |
position: relative;
|
12 |
+
display: inline-block;
|
13 |
+
width: 32.7%;
|
14 |
+
height: 250px;
|
15 |
+
margin-left: 0;
|
16 |
+
margin-right: 0;
|
17 |
+
text-align: left;
|
18 |
+
float: none;
|
19 |
+
vertical-align: top;
|
20 |
+
}
|
21 |
+
#WBCR .wbcr-clearfy-components .plugin-card:first-child {
|
22 |
+
margin-left: 0;
|
23 |
+
}
|
24 |
+
#WBCR .wbcr-clearfy-components .plugin-card .plugin-card-bottom {
|
25 |
+
position: absolute;
|
26 |
+
bottom: 0;
|
27 |
+
right: 0;
|
28 |
+
left: 0;
|
29 |
}
|
30 |
#WBCR .wbcr-clearfy-components .plugin-card .plugin-card-top {
|
31 |
min-height: 163px;
|
59 |
}
|
60 |
#WBCR .wbcr-clearfy-components .plugin-card .premium-ribbon {
|
61 |
position: absolute;
|
62 |
+
bottom: 60px;
|
63 |
right: 0;
|
64 |
height: 30px;
|
65 |
width: 120px;
|
95 |
#WBCR .wbcr-clearfy-components .plugin-card.plugin-status-deactive.premium {
|
96 |
background-color: #f9f2f1;
|
97 |
}
|
98 |
+
@media screen and (max-width: 1750px) {
|
99 |
+
#WBCR .wbcr-clearfy-components .plugin-card {
|
100 |
+
width: 49%;
|
101 |
+
}
|
102 |
+
}
|
103 |
+
@media screen and (max-width: 1350px) {
|
104 |
+
#WBCR .wbcr-clearfy-components .plugin-card {
|
105 |
+
width: 100%;
|
106 |
+
}
|
107 |
+
}
|
admin/assets/css/components.less
CHANGED
@@ -6,9 +6,29 @@
|
|
6 |
|
7 |
#WBCR {
|
8 |
.wbcr-clearfy-components {
|
9 |
-
padding: 20px;
|
|
|
10 |
.plugin-card {
|
11 |
position: relative;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
|
13 |
.plugin-card-top {
|
14 |
min-height: 163px;
|
@@ -46,7 +66,7 @@
|
|
46 |
// Premium
|
47 |
.premium-ribbon {
|
48 |
position: absolute;
|
49 |
-
|
50 |
right: 0;
|
51 |
height: 30px;
|
52 |
width: 120px;
|
@@ -90,4 +110,24 @@
|
|
90 |
}
|
91 |
}
|
92 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
93 |
}
|
6 |
|
7 |
#WBCR {
|
8 |
.wbcr-clearfy-components {
|
9 |
+
padding: 0 20px 20px;
|
10 |
+
text-align: center;
|
11 |
.plugin-card {
|
12 |
position: relative;
|
13 |
+
display: inline-block;
|
14 |
+
width: 32.7%;
|
15 |
+
height: 250px;
|
16 |
+
margin-left: 0;
|
17 |
+
margin-right: 0;
|
18 |
+
text-align: left;
|
19 |
+
float: none;
|
20 |
+
vertical-align: top;
|
21 |
+
|
22 |
+
&:first-child {
|
23 |
+
margin-left: 0;
|
24 |
+
}
|
25 |
+
|
26 |
+
.plugin-card-bottom {
|
27 |
+
position: absolute;
|
28 |
+
bottom: 0;
|
29 |
+
right: 0;
|
30 |
+
left: 0;
|
31 |
+
}
|
32 |
|
33 |
.plugin-card-top {
|
34 |
min-height: 163px;
|
66 |
// Premium
|
67 |
.premium-ribbon {
|
68 |
position: absolute;
|
69 |
+
bottom: 60px;
|
70 |
right: 0;
|
71 |
height: 30px;
|
72 |
width: 120px;
|
110 |
}
|
111 |
}
|
112 |
}
|
113 |
+
}
|
114 |
+
|
115 |
+
@media screen and (max-width: 1750px) {
|
116 |
+
#WBCR {
|
117 |
+
.wbcr-clearfy-components {
|
118 |
+
.plugin-card {
|
119 |
+
width: 49%;
|
120 |
+
}
|
121 |
+
}
|
122 |
+
}
|
123 |
+
}
|
124 |
+
|
125 |
+
@media screen and (max-width: 1350px) {
|
126 |
+
#WBCR {
|
127 |
+
.wbcr-clearfy-components {
|
128 |
+
.plugin-card {
|
129 |
+
width: 100%;
|
130 |
+
}
|
131 |
+
}
|
132 |
+
}
|
133 |
}
|
admin/assets/css/general.css
CHANGED
@@ -3,13 +3,35 @@
|
|
3 |
* @author Alex Kovalev <alex.kovalevv@gmail.com>
|
4 |
* @copyright Alex Kovalev 23.08.2017
|
5 |
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
#WBCR {
|
|
|
|
|
|
|
|
|
7 |
/**
|
8 |
* Widgets
|
9 |
*/
|
10 |
/**
|
11 |
* Navigation bar
|
12 |
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
}
|
14 |
#WBCR .wbcr-clr-logo-label {
|
15 |
position: relative;
|
@@ -42,11 +64,7 @@
|
|
42 |
vertical-align: top;
|
43 |
}
|
44 |
#WBCR .wbcr-content-section {
|
45 |
-
width:
|
46 |
-
}
|
47 |
-
#WBCR .wbcr-right-sidebar-section {
|
48 |
-
width: 49%;
|
49 |
-
padding-top: 20px;
|
50 |
}
|
51 |
#WBCR #wbcr-clr-go-to-premium-widget .wbcr-clr-purchase-premium {
|
52 |
position: relative;
|
@@ -93,13 +111,6 @@
|
|
93 |
color: #8c8888;
|
94 |
font-size: 12px;
|
95 |
}
|
96 |
-
#WBCR .wbcr-clearfy-board {
|
97 |
-
background: #f9f8f8;
|
98 |
-
box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.1);
|
99 |
-
padding: 20px;
|
100 |
-
margin-bottom: 20px;
|
101 |
-
min-width: 350px;
|
102 |
-
}
|
103 |
#WBCR #wbcr-clearfy-quick-mode-board h4 {
|
104 |
margin-top: 30px;
|
105 |
}
|
@@ -138,13 +149,6 @@
|
|
138 |
opacity: 1;
|
139 |
}
|
140 |
#WBCR .wbcr-clearfy-fake-image-optimizer-board .wbcr-clearfy-fake-widget:hover .wbcr-clearfy-widget-overlay img {
|
141 |
-
/* display: block;
|
142 |
-
position: absolute;
|
143 |
-
top: 0;
|
144 |
-
left: 0;
|
145 |
-
bottom: 0;
|
146 |
-
right: 0;
|
147 |
-
content: '';*/
|
148 |
opacity: 0.2;
|
149 |
}
|
150 |
#WBCR .wbcr-clearfy-fake-image-optimizer-board .wbcr-clearfy-fake-widget .wbcr-clearfy-widget-overlay img {
|
@@ -173,19 +177,23 @@
|
|
173 |
border-bottom: 3px solid #e2a19c;
|
174 |
color: #bd6963;
|
175 |
}
|
176 |
-
#WBCR .wbcr-clearfy-
|
|
|
|
|
|
|
|
|
177 |
text-align: right;
|
178 |
}
|
179 |
-
#WBCR .wbcr-clearfy-export-import
|
180 |
display: block;
|
181 |
width: 100%;
|
182 |
text-align: left;
|
183 |
padding: 7px 0;
|
184 |
}
|
185 |
-
#WBCR .wbcr-clearfy-export-import
|
186 |
width: 100%;
|
187 |
box-sizing: border-box;
|
188 |
-
height:
|
189 |
line-height: inherit;
|
190 |
margin: 0;
|
191 |
padding: 7px 14px;
|
@@ -198,7 +206,7 @@
|
|
198 |
transition: border-color 0.3s;
|
199 |
-webkit-appearance: none;
|
200 |
}
|
201 |
-
#WBCR .wbcr-clearfy-export-import
|
202 |
display: inline-block;
|
203 |
margin-top: 10px;
|
204 |
}
|
@@ -341,19 +349,9 @@
|
|
341 |
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch .wbcr-clearfy-switch-confirmation button:active {
|
342 |
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.5);
|
343 |
}
|
344 |
-
#WBCR .wbcr-clearfy-layer {
|
345 |
-
display: none;
|
346 |
-
position: absolute;
|
347 |
-
top: 0;
|
348 |
-
left: 0;
|
349 |
-
right: 0;
|
350 |
-
bottom: 0;
|
351 |
-
background: rgba(255, 235, 59, 0.18);
|
352 |
-
z-index: 9;
|
353 |
-
}
|
354 |
#WBCR .wbcr-clearfy-confirm-popup {
|
355 |
display: none;
|
356 |
-
position:
|
357 |
top: 50%;
|
358 |
left: 50%;
|
359 |
width: 500px;
|
3 |
* @author Alex Kovalev <alex.kovalevv@gmail.com>
|
4 |
* @copyright Alex Kovalev 23.08.2017
|
5 |
*/
|
6 |
+
.wbcr-clearfy-layer {
|
7 |
+
display: none;
|
8 |
+
position: absolute;
|
9 |
+
top: 0;
|
10 |
+
left: -20px;
|
11 |
+
right: 0;
|
12 |
+
bottom: 0;
|
13 |
+
background: rgba(255, 235, 59, 0.18);
|
14 |
+
z-index: 9;
|
15 |
+
}
|
16 |
#WBCR {
|
17 |
+
/*.wbcr-right-sidebar-section {
|
18 |
+
width: 49%;
|
19 |
+
padding-top: 20px;
|
20 |
+
}*/
|
21 |
/**
|
22 |
* Widgets
|
23 |
*/
|
24 |
/**
|
25 |
* Navigation bar
|
26 |
*/
|
27 |
+
/*.wbcr-clearfy-board {
|
28 |
+
background: #f9f8f8;
|
29 |
+
box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.1);
|
30 |
+
padding: 20px;
|
31 |
+
margin-bottom: 20px;
|
32 |
+
min-width: 350px;
|
33 |
+
//float: right;
|
34 |
+
}*/
|
35 |
}
|
36 |
#WBCR .wbcr-clr-logo-label {
|
37 |
position: relative;
|
64 |
vertical-align: top;
|
65 |
}
|
66 |
#WBCR .wbcr-content-section {
|
67 |
+
width: 100%;
|
|
|
|
|
|
|
|
|
68 |
}
|
69 |
#WBCR #wbcr-clr-go-to-premium-widget .wbcr-clr-purchase-premium {
|
70 |
position: relative;
|
111 |
color: #8c8888;
|
112 |
font-size: 12px;
|
113 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
114 |
#WBCR #wbcr-clearfy-quick-mode-board h4 {
|
115 |
margin-top: 30px;
|
116 |
}
|
149 |
opacity: 1;
|
150 |
}
|
151 |
#WBCR .wbcr-clearfy-fake-image-optimizer-board .wbcr-clearfy-fake-widget:hover .wbcr-clearfy-widget-overlay img {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
152 |
opacity: 0.2;
|
153 |
}
|
154 |
#WBCR .wbcr-clearfy-fake-image-optimizer-board .wbcr-clearfy-fake-widget .wbcr-clearfy-widget-overlay img {
|
177 |
border-bottom: 3px solid #e2a19c;
|
178 |
color: #bd6963;
|
179 |
}
|
180 |
+
#WBCR .wbcr-clearfy-troubleshooting {
|
181 |
+
padding: 0 50px 20px;
|
182 |
+
}
|
183 |
+
#WBCR .wbcr-clearfy-export-import {
|
184 |
+
padding: 0 50px;
|
185 |
text-align: right;
|
186 |
}
|
187 |
+
#WBCR .wbcr-clearfy-export-import label {
|
188 |
display: block;
|
189 |
width: 100%;
|
190 |
text-align: left;
|
191 |
padding: 7px 0;
|
192 |
}
|
193 |
+
#WBCR .wbcr-clearfy-export-import #wbcr-clearfy-import-export {
|
194 |
width: 100%;
|
195 |
box-sizing: border-box;
|
196 |
+
height: 200px;
|
197 |
line-height: inherit;
|
198 |
margin: 0;
|
199 |
padding: 7px 14px;
|
206 |
transition: border-color 0.3s;
|
207 |
-webkit-appearance: none;
|
208 |
}
|
209 |
+
#WBCR .wbcr-clearfy-export-import .wbcr-clearfy-import-options-button {
|
210 |
display: inline-block;
|
211 |
margin-top: 10px;
|
212 |
}
|
349 |
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch .wbcr-clearfy-switch-confirmation button:active {
|
350 |
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.5);
|
351 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
352 |
#WBCR .wbcr-clearfy-confirm-popup {
|
353 |
display: none;
|
354 |
+
position: fixed;
|
355 |
top: 50%;
|
356 |
left: 50%;
|
357 |
width: 500px;
|
admin/assets/css/install-addons.css
CHANGED
@@ -1,31 +1,31 @@
|
|
1 |
-
/**
|
2 |
-
* Install addons global styles
|
3 |
-
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
4 |
-
* @copyright Webcraftic 11.07.2018
|
5 |
-
*/
|
6 |
-
.wbcr-clr-new-component {
|
7 |
-
background: #f7f7f7;
|
8 |
-
border: 1px solid #eaeaea;
|
9 |
-
padding: 5px 20px;
|
10 |
-
margin-bottom: 10px;
|
11 |
-
}
|
12 |
-
.wbcr-clr-new-component h4 {
|
13 |
-
margin: 5px 0;
|
14 |
-
display: inline-block;
|
15 |
-
}
|
16 |
-
.wbcr-clr-new-component .wbcr-clr-proccess-button {
|
17 |
-
display: inline-block;
|
18 |
-
margin: 5px 0;
|
19 |
-
}
|
20 |
-
.wbcr-clr-new-component.wbcr-clr-premium {
|
21 |
-
background: #fff6db;
|
22 |
-
border: 1px solid #e4dea9;
|
23 |
-
}
|
24 |
-
.wbcr-clr-new-component.wbcr-clr-premium h4 {
|
25 |
-
color: #88690c;
|
26 |
-
}
|
27 |
-
.wbcr-clr-proccess-button.button-link,
|
28 |
-
.wbcr-clr-proccess-button.button-link:focus {
|
29 |
-
outline: none !important;
|
30 |
-
box-shadow: none !important;
|
31 |
-
}
|
1 |
+
/**
|
2 |
+
* Install addons global styles
|
3 |
+
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
4 |
+
* @copyright Webcraftic 11.07.2018
|
5 |
+
*/
|
6 |
+
.wbcr-clr-new-component {
|
7 |
+
background: #f7f7f7;
|
8 |
+
border: 1px solid #eaeaea;
|
9 |
+
padding: 5px 20px;
|
10 |
+
margin-bottom: 10px;
|
11 |
+
}
|
12 |
+
.wbcr-clr-new-component h4 {
|
13 |
+
margin: 5px 0;
|
14 |
+
display: inline-block;
|
15 |
+
}
|
16 |
+
.wbcr-clr-new-component .wbcr-clr-proccess-button {
|
17 |
+
display: inline-block;
|
18 |
+
margin: 5px 0;
|
19 |
+
}
|
20 |
+
.wbcr-clr-new-component.wbcr-clr-premium {
|
21 |
+
background: #fff6db;
|
22 |
+
border: 1px solid #e4dea9;
|
23 |
+
}
|
24 |
+
.wbcr-clr-new-component.wbcr-clr-premium h4 {
|
25 |
+
color: #88690c;
|
26 |
+
}
|
27 |
+
.wbcr-clr-proccess-button.button-link,
|
28 |
+
.wbcr-clr-proccess-button.button-link:focus {
|
29 |
+
outline: none !important;
|
30 |
+
box-shadow: none !important;
|
31 |
+
}
|
admin/assets/img/gac-icon-128x128.jpg
ADDED
Binary file
|
admin/assets/img/gnzp-icon-256x256.png
ADDED
Binary file
|
admin/assets/img/rio-icon-128x128.png
ADDED
Binary file
|
admin/assets/img/rio-icon-256x256.png
ADDED
Binary file
|
admin/assets/img/sfi-icon-256x256.png
ADDED
Binary file
|
admin/assets/img/upmp-icon-256x256.png
ADDED
Binary file
|
admin/assets/js/filters.js
DELETED
@@ -1,98 +0,0 @@
|
|
1 |
-
/*!
|
2 |
-
* Filers & Hooks API
|
3 |
-
* Copyright 2018, Webcraftic, http://webcraftic.com
|
4 |
-
*
|
5 |
-
* @since 1.0.0
|
6 |
-
* @pacakge core
|
7 |
-
*/
|
8 |
-
(function($) {
|
9 |
-
'use strict';
|
10 |
-
|
11 |
-
if( !$.wbcr_clearfy ) {
|
12 |
-
$.wbcr_clearfy = {};
|
13 |
-
}
|
14 |
-
$.wbcr_clearfy.filters = $.wbcr_clearfy.filters || {
|
15 |
-
|
16 |
-
/**
|
17 |
-
* A set of registered filters.
|
18 |
-
*/
|
19 |
-
_items: {},
|
20 |
-
|
21 |
-
/**
|
22 |
-
* A set of priorities of registered filters.
|
23 |
-
*/
|
24 |
-
_priorities: {},
|
25 |
-
|
26 |
-
/**
|
27 |
-
* Applies filters to a given input value.
|
28 |
-
*/
|
29 |
-
run: function(filterName, args) {
|
30 |
-
var input = args && args.length > 0 ? args[0] : null;
|
31 |
-
if( !this._items[filterName] ) {
|
32 |
-
return input;
|
33 |
-
}
|
34 |
-
|
35 |
-
for( var i in this._priorities[filterName] ) {
|
36 |
-
if( !this._priorities[filterName].hasOwnProperty(i) ) {
|
37 |
-
continue;
|
38 |
-
}
|
39 |
-
|
40 |
-
var priority = this._priorities[filterName][i];
|
41 |
-
|
42 |
-
for( var k = 0; k < this._items[filterName][priority].length; k++ ) {
|
43 |
-
var f = this._items[filterName][priority][k];
|
44 |
-
input = f.apply(f, args);
|
45 |
-
}
|
46 |
-
}
|
47 |
-
|
48 |
-
return input;
|
49 |
-
},
|
50 |
-
|
51 |
-
/**
|
52 |
-
* Registers a new filter.
|
53 |
-
*/
|
54 |
-
add: function(filterName, callback, priority) {
|
55 |
-
|
56 |
-
if( !priority ) {
|
57 |
-
priority = 10;
|
58 |
-
}
|
59 |
-
|
60 |
-
if( !this._items[filterName] ) {
|
61 |
-
this._items[filterName] = {};
|
62 |
-
}
|
63 |
-
if( !this._items[filterName][priority] ) {
|
64 |
-
this._items[filterName][priority] = [];
|
65 |
-
}
|
66 |
-
this._items[filterName][priority].push(callback);
|
67 |
-
|
68 |
-
if( !this._priorities[filterName] ) {
|
69 |
-
this._priorities[filterName] = [];
|
70 |
-
}
|
71 |
-
if( $.inArray(priority, this._priorities[filterName]) === -1 ) {
|
72 |
-
this._priorities[filterName].push(priority);
|
73 |
-
}
|
74 |
-
|
75 |
-
this._priorities[filterName].sort(function(a, b) {
|
76 |
-
return a - b;
|
77 |
-
});
|
78 |
-
}
|
79 |
-
};
|
80 |
-
|
81 |
-
$.wbcr_clearfy.hooks = $.wbcr_clearfy.hooks || {
|
82 |
-
|
83 |
-
/**
|
84 |
-
* Applies filters to a given input value.
|
85 |
-
*/
|
86 |
-
run: function(filterName, args) {
|
87 |
-
$.wbcr_clearfy.filters.run(filterName, args);
|
88 |
-
},
|
89 |
-
|
90 |
-
/**
|
91 |
-
* Registers a new filter.
|
92 |
-
*/
|
93 |
-
add: function(filterName, callback, priority) {
|
94 |
-
$.wbcr_clearfy.filters.add(filterName, callback, priority);
|
95 |
-
}
|
96 |
-
};
|
97 |
-
|
98 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/assets/js/general.js
CHANGED
@@ -68,7 +68,7 @@
|
|
68 |
var $this = $(this), modeName = $this.closest('.wbcr-clearfy-confirm-popup').data('mode'),
|
69 |
switcher = $('div[data-mode="' + modeName + '"]', '#wbcr-clearfy-quick-mode-board'),
|
70 |
modeArgs = switcher.data('mode-args'),
|
71 |
-
flushRedirect = modeArgs && modeArgs.flush_redirect
|
72 |
|
73 |
self.hideConfirmationPopup();
|
74 |
switcher.addClass('wbcr-clearfy-loading');
|
@@ -83,7 +83,20 @@
|
|
83 |
}
|
84 |
|
85 |
if( !data || data.error ) {
|
86 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
87 |
return;
|
88 |
}
|
89 |
|
@@ -92,7 +105,17 @@
|
|
92 |
}
|
93 |
},
|
94 |
function(data) {
|
95 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
96 |
|
97 |
if( modeName != 'reset' ) {
|
98 |
switcher.addClass('wbcr-clearfy-active');
|
@@ -109,7 +132,13 @@
|
|
109 |
showConfirmationPopup: function(modeName, options) {
|
110 |
var self = this;
|
111 |
|
112 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
113 |
|
114 |
var popupElem = $('.wbcr-clearfy-confirm-popup');
|
115 |
popupElem.data('mode', modeName);
|
@@ -154,27 +183,27 @@
|
|
154 |
$this = $(this);
|
155 |
|
156 |
if( !settings ) {
|
157 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
158 |
}
|
159 |
|
160 |
$(this).prop('disabled', true);
|
161 |
|
162 |
self.sendRequest({
|
163 |
-
action: '
|
|
|
164 |
settings: settings
|
165 |
-
}, function(
|
166 |
-
//console.log(data);
|
167 |
$this.prop('disabled', false);
|
168 |
-
|
|
|
169 |
if( !$('.wbcr-clr-update-package').length ) {
|
170 |
-
|
171 |
-
'<div class="alert alert-warning wbcr-factory-warning-notice">\
|
172 |
-
<p>\
|
173 |
-
<span class="dashicons dashicons-warning"></span>\
|
174 |
-
' + data.updateNotice + '\
|
175 |
-
</p>\
|
176 |
-
</div>\
|
177 |
-
');
|
178 |
}
|
179 |
} else {
|
180 |
if( $('.wbcr-clr-update-package').length ) {
|
@@ -187,17 +216,13 @@
|
|
187 |
});
|
188 |
},
|
189 |
sendRequest: function(request_data, beforeValidateCallback, successCallback) {
|
190 |
-
var self = this
|
191 |
-
errorContanier = $('.wbcr-clearfy-switch-error-message'),
|
192 |
-
defaultErrorMessage = errorContanier.text();
|
193 |
|
194 |
if( wbcr_clearfy_ajax === undefined ) {
|
195 |
console.log('Undefinded wbcr_clearfy_ajax object.');
|
196 |
return;
|
197 |
}
|
198 |
|
199 |
-
//var ajaxUrl = wbcr_clearfy_ajax ? wbcr_clearfy_ajax.ajaxurl : ajaxurl;
|
200 |
-
|
201 |
if( typeof request_data === 'object' ) {
|
202 |
request_data.security = wbcr_clearfy_ajax.ajax_nonce;
|
203 |
}
|
@@ -207,33 +232,50 @@
|
|
207 |
dataType: 'json',
|
208 |
data: request_data,
|
209 |
success: function(data, textStatus, jqXHR) {
|
|
|
210 |
|
211 |
beforeValidateCallback && beforeValidateCallback(data);
|
212 |
|
213 |
if( !data || data.error ) {
|
|
|
|
|
214 |
if( data ) {
|
215 |
-
|
216 |
-
|
217 |
-
|
|
|
218 |
}
|
219 |
}
|
220 |
|
221 |
-
|
222 |
-
|
223 |
-
}
|
224 |
return;
|
225 |
}
|
226 |
|
227 |
successCallback && successCallback(data);
|
228 |
|
229 |
if( !request_data.flush_redirect ) {
|
230 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
231 |
return;
|
232 |
}
|
233 |
|
234 |
window.location.href = wbcr_clearfy_ajax.flush_cache_url;
|
235 |
// открыть уведомление
|
236 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
237 |
}
|
238 |
});
|
239 |
}
|
68 |
var $this = $(this), modeName = $this.closest('.wbcr-clearfy-confirm-popup').data('mode'),
|
69 |
switcher = $('div[data-mode="' + modeName + '"]', '#wbcr-clearfy-quick-mode-board'),
|
70 |
modeArgs = switcher.data('mode-args'),
|
71 |
+
flushRedirect = modeArgs && modeArgs.flush_redirect;
|
72 |
|
73 |
self.hideConfirmationPopup();
|
74 |
switcher.addClass('wbcr-clearfy-loading');
|
83 |
}
|
84 |
|
85 |
if( !data || data.error ) {
|
86 |
+
/**
|
87 |
+
* Хук выполняет проивольную функцию, после того как получен ajax ответ о том, что в
|
88 |
+
* результате конфигурации произошла ошибка Реализация системы фильтров и хуков в файле
|
89 |
+
* libs/clearfy/admin/assests/js/global.js Пример регистрации хука
|
90 |
+
* $.wbcr_factory_clearfy_206.hooks.add('wbcr/factory_clearfy_206/updated',
|
91 |
+
* function(noticeId) {});
|
92 |
+
* @param {string} modeName - имя режима конфигурации
|
93 |
+
* @param {object} data
|
94 |
+
*/
|
95 |
+
|
96 |
+
$.wbcr_factory_clearfy_206.hooks.run('clearfy/quick_start/configurated_error', [
|
97 |
+
modeName,
|
98 |
+
data
|
99 |
+
]);
|
100 |
return;
|
101 |
}
|
102 |
|
105 |
}
|
106 |
},
|
107 |
function(data) {
|
108 |
+
|
109 |
+
/**
|
110 |
+
* Хук выполняет проивольную функцию, после того как получен ajax ответ об успешном выполнении
|
111 |
+
* конфигурации Реализация системы фильтров и хуков в файле
|
112 |
+
* libs/clearfy/admin/assests/js/global.js Пример регистрации хука
|
113 |
+
* $.wbcr_factory_clearfy_206.hooks.add('wbcr/factory_clearfy_206/updated', function(noticeId)
|
114 |
+
* {});
|
115 |
+
* @param {string} modeName - имя режима конфигурации
|
116 |
+
* @param {object} data
|
117 |
+
*/
|
118 |
+
$.wbcr_factory_clearfy_206.hooks.run('clearfy/quick_start/configurated', [modeName, data]);
|
119 |
|
120 |
if( modeName != 'reset' ) {
|
121 |
switcher.addClass('wbcr-clearfy-active');
|
132 |
showConfirmationPopup: function(modeName, options) {
|
133 |
var self = this;
|
134 |
|
135 |
+
if( !$('.wbcr-clearfy-layer').length ) {
|
136 |
+
var layer = $('<div></div>').addClass('wbcr-clearfy-layer');
|
137 |
+
layer.prependTo('#wpbody');
|
138 |
+
layer.fadeIn();
|
139 |
+
} else {
|
140 |
+
$('.wbcr-clearfy-layer').fadeIn();
|
141 |
+
}
|
142 |
|
143 |
var popupElem = $('.wbcr-clearfy-confirm-popup');
|
144 |
popupElem.data('mode', modeName);
|
183 |
$this = $(this);
|
184 |
|
185 |
if( !settings ) {
|
186 |
+
$.wbcr_factory_clearfy_206.app.showNotice('Import options is empty!', 'danger');
|
187 |
+
return false;
|
188 |
+
}
|
189 |
+
|
190 |
+
if( void 0 == wbcr_clearfy_ajax || !wbcr_clearfy_ajax.import_options_nonce ) {
|
191 |
+
$.wbcr_factory_clearfy_206.app.showNotice('Unknown Javascript error, most likely the wbcr_clearfy_ajax variable does not exist!', 'danger');
|
192 |
+
return false;
|
193 |
}
|
194 |
|
195 |
$(this).prop('disabled', true);
|
196 |
|
197 |
self.sendRequest({
|
198 |
+
action: 'wbcr-clearfy-import-settings',
|
199 |
+
_wpnonce: wbcr_clearfy_ajax.import_options_nonce,
|
200 |
settings: settings
|
201 |
+
}, function(response) {
|
|
|
202 |
$this.prop('disabled', false);
|
203 |
+
|
204 |
+
if( response.data.update_notice ) {
|
205 |
if( !$('.wbcr-clr-update-package').length ) {
|
206 |
+
$.wbcr_factory_clearfy_206.app.showNotice(response.data.update_notice);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
207 |
}
|
208 |
} else {
|
209 |
if( $('.wbcr-clr-update-package').length ) {
|
216 |
});
|
217 |
},
|
218 |
sendRequest: function(request_data, beforeValidateCallback, successCallback) {
|
219 |
+
var self = this;
|
|
|
|
|
220 |
|
221 |
if( wbcr_clearfy_ajax === undefined ) {
|
222 |
console.log('Undefinded wbcr_clearfy_ajax object.');
|
223 |
return;
|
224 |
}
|
225 |
|
|
|
|
|
226 |
if( typeof request_data === 'object' ) {
|
227 |
request_data.security = wbcr_clearfy_ajax.ajax_nonce;
|
228 |
}
|
232 |
dataType: 'json',
|
233 |
data: request_data,
|
234 |
success: function(data, textStatus, jqXHR) {
|
235 |
+
var noticeId;
|
236 |
|
237 |
beforeValidateCallback && beforeValidateCallback(data);
|
238 |
|
239 |
if( !data || data.error ) {
|
240 |
+
console.log(data);
|
241 |
+
|
242 |
if( data ) {
|
243 |
+
noticeId = $.wbcr_factory_clearfy_206.app.showNotice(data.error_message, 'danger');
|
244 |
+
} else {
|
245 |
+
if( void 0 != wbcr_clearfy_ajax ) {
|
246 |
+
noticeId = $.wbcr_factory_clearfy_206.app.showNotice(wbcr_clearfy_ajax.i18n.unknown_error, 'danger');
|
247 |
}
|
248 |
}
|
249 |
|
250 |
+
setTimeout(function() {
|
251 |
+
$.wbcr_factory_clearfy_206.app.hideNotice(noticeId);
|
252 |
+
}, 5000);
|
253 |
return;
|
254 |
}
|
255 |
|
256 |
successCallback && successCallback(data);
|
257 |
|
258 |
if( !request_data.flush_redirect ) {
|
259 |
+
if( void 0 != wbcr_clearfy_ajax ) {
|
260 |
+
noticeId = $.wbcr_factory_clearfy_206.app.showNotice(wbcr_clearfy_ajax.i18n.success_update_settings, 'success');
|
261 |
+
|
262 |
+
setTimeout(function() {
|
263 |
+
$.wbcr_factory_clearfy_206.app.hideNotice(noticeId);
|
264 |
+
}, 5000);
|
265 |
+
}
|
266 |
return;
|
267 |
}
|
268 |
|
269 |
window.location.href = wbcr_clearfy_ajax.flush_cache_url;
|
270 |
// открыть уведомление
|
271 |
|
272 |
+
},
|
273 |
+
error: function(xhr, ajaxOptions, thrownError) {
|
274 |
+
console.log(xhr.status);
|
275 |
+
console.log(xhr.responseText);
|
276 |
+
console.log(thrownError);
|
277 |
+
|
278 |
+
var noticeId = $.wbcr_factory_clearfy_206.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
|
279 |
}
|
280 |
});
|
281 |
}
|
admin/assets/js/install-addons.js
CHANGED
@@ -53,16 +53,16 @@
|
|
53 |
|
54 |
$this.addClass('disabled').text(button_i18n.loading);
|
55 |
|
56 |
-
$.
|
57 |
|
58 |
self.sendRequest(data, function(response) {
|
59 |
if( !response || !response.success ) {
|
60 |
|
61 |
if( response.data && response.data.error_message ) {
|
62 |
-
|
63 |
}
|
64 |
|
65 |
-
$.
|
66 |
$this,
|
67 |
data,
|
68 |
response.data.error_message,
|
@@ -76,9 +76,9 @@
|
|
76 |
$this.removeClass('disabled').removeClass('updating-message');
|
77 |
|
78 |
if( storage == 'freemius' ) {
|
79 |
-
if( response.data.
|
80 |
if( !$('.wbcr-clr-update-package').length ) {
|
81 |
-
|
82 |
}
|
83 |
} else {
|
84 |
if( $('.wbcr-clr-update-package').length ) {
|
@@ -97,7 +97,11 @@
|
|
97 |
$this.removeClass('button-default').addClass('button-primary');
|
98 |
}
|
99 |
|
100 |
-
$.
|
|
|
|
|
|
|
|
|
101 |
|
102 |
} else if( plugin_action == 'activate' ) {
|
103 |
|
@@ -109,6 +113,7 @@
|
|
109 |
$this.removeClass('button-primary').addClass('button-default');
|
110 |
}
|
111 |
|
|
|
112 |
// If the button is installed inside the notification,
|
113 |
// then delete the button container after activating the component
|
114 |
|
@@ -116,6 +121,7 @@
|
|
116 |
$this.closest('.wbcr-clr-new-component').remove();
|
117 |
}
|
118 |
|
|
|
119 |
// If the button is installed inside the notification (inside),
|
120 |
// then delete the button container after activating the component
|
121 |
|
@@ -123,6 +129,7 @@
|
|
123 |
$this.closest('.alert').remove();
|
124 |
}
|
125 |
|
|
|
126 |
// If the button is installed inside the notification (inside),
|
127 |
// then delete the button container after activating the component
|
128 |
|
@@ -131,6 +138,7 @@
|
|
131 |
window.location.reload();
|
132 |
}
|
133 |
|
|
|
134 |
// If the button is installed on the components page,
|
135 |
// the active and inactive components are highlighted
|
136 |
|
@@ -139,7 +147,11 @@
|
|
139 |
$this.closest('.plugin-card').find('.delete-now').remove();
|
140 |
}
|
141 |
|
142 |
-
$.
|
|
|
|
|
|
|
|
|
143 |
|
144 |
/**
|
145 |
* Send an additional request for activation of the component, during activation
|
@@ -163,6 +175,7 @@
|
|
163 |
$this.removeClass('button-default').addClass('button-primary');
|
164 |
}
|
165 |
|
|
|
166 |
// If the button is installed on the components page,
|
167 |
// the active and inactive components are highlighted
|
168 |
|
@@ -174,13 +187,18 @@
|
|
174 |
}
|
175 |
}
|
176 |
|
|
|
177 |
// If the button is installed on the components page,
|
178 |
// the active and inactive components are highlighted
|
179 |
if( $this.closest('.wbcr-hide-after-action').length ) {
|
180 |
$this.closest('.wbcr-hide-after-action').remove();
|
181 |
}
|
182 |
|
183 |
-
$.
|
|
|
|
|
|
|
|
|
184 |
|
185 |
} else if( plugin_action == 'delete' ) {
|
186 |
|
@@ -190,6 +208,7 @@
|
|
190 |
$this.closest('.plugin-card').find('.install-now').removeClass('button-primary').addClass('button-default');
|
191 |
$this.closest('.plugin-card').find('.install-now').text(button_i18n.install);
|
192 |
|
|
|
193 |
// If the button is installed on the components page,
|
194 |
// the active and inactive components are highlighted
|
195 |
|
@@ -198,7 +217,7 @@
|
|
198 |
$this.remove();
|
199 |
}
|
200 |
|
201 |
-
$.
|
202 |
}
|
203 |
} else {
|
204 |
if( plugin_action == 'install' ) {
|
@@ -208,7 +227,11 @@
|
|
208 |
|
209 |
$this.text(button_i18n[plugin_action]);
|
210 |
|
211 |
-
|
|
|
|
|
|
|
|
|
212 |
});
|
213 |
|
214 |
return false;
|
@@ -231,7 +254,7 @@
|
|
231 |
self.sendRequest(data, function(response) {
|
232 |
if( !response || !response.success ) {
|
233 |
if( response.data && response.data.error_message ) {
|
234 |
-
|
235 |
}
|
236 |
return;
|
237 |
}
|
@@ -248,81 +271,6 @@
|
|
248 |
});
|
249 |
},
|
250 |
|
251 |
-
/**
|
252 |
-
* Создает и показывает уведомление внутри интерфейса Clearfy
|
253 |
-
*
|
254 |
-
* @param {string} message - сообщение об ошибке или предупреждение
|
255 |
-
* @param {string} type - тип уведомления (error, warning, success)
|
256 |
-
*/
|
257 |
-
showNotice: function(message, type) {
|
258 |
-
var noticeContanier = $('<div></div>'),
|
259 |
-
noticeInnerWrap = $('<p></p>'),
|
260 |
-
dashicon = $('<span></span>'),
|
261 |
-
dashiconClass,
|
262 |
-
noticeId = this.makeid();
|
263 |
-
|
264 |
-
if(!type) {
|
265 |
-
type = 'warning';
|
266 |
-
}
|
267 |
-
|
268 |
-
noticeContanier.addClass('alert', 'wbcr-factory-warning-notice')
|
269 |
-
.addClass('alert-' + type).addClass('wbcr-factory-' + type + '-notice');
|
270 |
-
|
271 |
-
noticeContanier.append(noticeInnerWrap);
|
272 |
-
noticeContanier.attr('id', 'uq-' + noticeId);
|
273 |
-
|
274 |
-
if( type == 'success' ) {
|
275 |
-
dashiconClass = 'dashicons-plus';
|
276 |
-
} else if(type == 'error') {
|
277 |
-
dashiconClass = 'dashicons-no';
|
278 |
-
} else {
|
279 |
-
dashiconClass = 'dashicons-warning';
|
280 |
-
}
|
281 |
-
|
282 |
-
dashicon.addClass('dashicons').addClass(dashiconClass);
|
283 |
-
noticeInnerWrap.prepend(dashicon);
|
284 |
-
dashicon.after(message);
|
285 |
-
|
286 |
-
$('.wbcr-factory-content').prepend(noticeContanier);
|
287 |
-
|
288 |
-
/**
|
289 |
-
* Хук выполняет проивольную функцию, после того как уведомление отображено
|
290 |
-
* Реализация системы фильтров и хуков в файле /admin/assests/filters.js
|
291 |
-
* Пример регистрации хука $.wbcr_clearfy.hooks.add('clearfy/components/updated', function(noticeId) {});
|
292 |
-
* @param {string} noticeId - id уведомления
|
293 |
-
*/
|
294 |
-
$.wbcr_clearfy.hooks.run('clearfy/components/show_notice', [noticeId]);
|
295 |
-
|
296 |
-
return noticeId;
|
297 |
-
},
|
298 |
-
|
299 |
-
/**
|
300 |
-
* Удаляет уведомление из интерфейса Clearfy
|
301 |
-
*
|
302 |
-
* @param {string} noticeId - id уведомления
|
303 |
-
*/
|
304 |
-
hideNotice: function(noticeId) {
|
305 |
-
var el;
|
306 |
-
if( !noticeId ) {
|
307 |
-
el = $('.wbcr-factory-content').find('.alert');
|
308 |
-
} else {
|
309 |
-
el = $('#uq-' + noticeId);
|
310 |
-
}
|
311 |
-
|
312 |
-
el.fadeOut(500, function(e) {
|
313 |
-
$(e).remove();
|
314 |
-
|
315 |
-
/**
|
316 |
-
* Хук выполняет проивольную функцию, после того как уведомление скрыто
|
317 |
-
* Реализация системы фильтров и хуков в файле /admin/assests/filters.js
|
318 |
-
* Пример регистрации хука $.wbcr_clearfy.hooks.add('clearfy/components/updated', function(noticeId)
|
319 |
-
* {});
|
320 |
-
* @param {string} noticeId - id уведомления
|
321 |
-
*/
|
322 |
-
$.wbcr_clearfy.hooks.run('clearfy/components/hide_notice', [noticeId]);
|
323 |
-
});
|
324 |
-
},
|
325 |
-
|
326 |
/**
|
327 |
* Устанавливает стиль компонента
|
328 |
*
|
@@ -369,17 +317,17 @@
|
|
369 |
self.setComponentDeactivate(componentButton);
|
370 |
|
371 |
if( response.data && response.data.error_message ) {
|
372 |
-
|
373 |
}
|
374 |
|
375 |
-
$.
|
376 |
return;
|
377 |
}
|
378 |
|
379 |
componentButton.removeClass('button-primary').text(button_i18n['deactivate']);
|
380 |
self.setComponentActivate(componentButton);
|
381 |
|
382 |
-
$.
|
383 |
});
|
384 |
},
|
385 |
|
@@ -398,26 +346,10 @@
|
|
398 |
console.log(xhr.responseText);
|
399 |
console.log(thrownError);
|
400 |
|
401 |
-
|
402 |
-
|
403 |
-
/*setTimeout(function() {
|
404 |
-
self.hideNotice(noticeId);
|
405 |
-
}, 5000);*/
|
406 |
}
|
407 |
});
|
408 |
-
},
|
409 |
-
|
410 |
-
makeid: function() {
|
411 |
-
var text = "";
|
412 |
-
var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
|
413 |
-
|
414 |
-
for( var i = 0; i < 32; i++ ) {
|
415 |
-
text += possible.charAt(Math.floor(Math.random() * possible.length));
|
416 |
-
}
|
417 |
-
|
418 |
-
return text;
|
419 |
}
|
420 |
-
|
421 |
};
|
422 |
|
423 |
$(document).ready(function() {
|
53 |
|
54 |
$this.addClass('disabled').text(button_i18n.loading);
|
55 |
|
56 |
+
$.wbcr_factory_clearfy_206.hooks.run('clearfy/components/pre_update', [$this, data]);
|
57 |
|
58 |
self.sendRequest(data, function(response) {
|
59 |
if( !response || !response.success ) {
|
60 |
|
61 |
if( response.data && response.data.error_message ) {
|
62 |
+
$.wbcr_factory_clearfy_206.app.showNotice(response.data.error_message, 'danger');
|
63 |
}
|
64 |
|
65 |
+
$.wbcr_factory_clearfy_206.hooks.run('clearfy/components/update_error', [
|
66 |
$this,
|
67 |
data,
|
68 |
response.data.error_message,
|
76 |
$this.removeClass('disabled').removeClass('updating-message');
|
77 |
|
78 |
if( storage == 'freemius' ) {
|
79 |
+
if( response.data.update_notice ) {
|
80 |
if( !$('.wbcr-clr-update-package').length ) {
|
81 |
+
$.wbcr_factory_clearfy_206.app.showNotice(response.data.update_notice);
|
82 |
}
|
83 |
} else {
|
84 |
if( $('.wbcr-clr-update-package').length ) {
|
97 |
$this.removeClass('button-default').addClass('button-primary');
|
98 |
}
|
99 |
|
100 |
+
$.wbcr_factory_clearfy_206.hooks.run('clearfy/components/installed', [
|
101 |
+
$this,
|
102 |
+
data,
|
103 |
+
response
|
104 |
+
]);
|
105 |
|
106 |
} else if( plugin_action == 'activate' ) {
|
107 |
|
113 |
$this.removeClass('button-primary').addClass('button-default');
|
114 |
}
|
115 |
|
116 |
+
// todo: вынести в отдельный файл
|
117 |
// If the button is installed inside the notification,
|
118 |
// then delete the button container after activating the component
|
119 |
|
121 |
$this.closest('.wbcr-clr-new-component').remove();
|
122 |
}
|
123 |
|
124 |
+
// todo: вынести в отдельный файл
|
125 |
// If the button is installed inside the notification (inside),
|
126 |
// then delete the button container after activating the component
|
127 |
|
129 |
$this.closest('.alert').remove();
|
130 |
}
|
131 |
|
132 |
+
// todo: вынести в отдельный файл
|
133 |
// If the button is installed inside the notification (inside),
|
134 |
// then delete the button container after activating the component
|
135 |
|
138 |
window.location.reload();
|
139 |
}
|
140 |
|
141 |
+
// todo: вынести в отдельный файл
|
142 |
// If the button is installed on the components page,
|
143 |
// the active and inactive components are highlighted
|
144 |
|
147 |
$this.closest('.plugin-card').find('.delete-now').remove();
|
148 |
}
|
149 |
|
150 |
+
$.wbcr_factory_clearfy_206.hooks.run('clearfy/components/pre_activate', [
|
151 |
+
$this,
|
152 |
+
data,
|
153 |
+
response
|
154 |
+
]);
|
155 |
|
156 |
/**
|
157 |
* Send an additional request for activation of the component, during activation
|
175 |
$this.removeClass('button-default').addClass('button-primary');
|
176 |
}
|
177 |
|
178 |
+
// todo: вынести в отдельный файл
|
179 |
// If the button is installed on the components page,
|
180 |
// the active and inactive components are highlighted
|
181 |
|
187 |
}
|
188 |
}
|
189 |
|
190 |
+
// todo: вынести в отдельный файл
|
191 |
// If the button is installed on the components page,
|
192 |
// the active and inactive components are highlighted
|
193 |
if( $this.closest('.wbcr-hide-after-action').length ) {
|
194 |
$this.closest('.wbcr-hide-after-action').remove();
|
195 |
}
|
196 |
|
197 |
+
$.wbcr_factory_clearfy_206.hooks.run('clearfy/components/deactivated', [
|
198 |
+
$this,
|
199 |
+
data,
|
200 |
+
response
|
201 |
+
]);
|
202 |
|
203 |
} else if( plugin_action == 'delete' ) {
|
204 |
|
208 |
$this.closest('.plugin-card').find('.install-now').removeClass('button-primary').addClass('button-default');
|
209 |
$this.closest('.plugin-card').find('.install-now').text(button_i18n.install);
|
210 |
|
211 |
+
// todo: вынести в отдельный файл
|
212 |
// If the button is installed on the components page,
|
213 |
// the active and inactive components are highlighted
|
214 |
|
217 |
$this.remove();
|
218 |
}
|
219 |
|
220 |
+
$.wbcr_factory_clearfy_206.hooks.run('clearfy/components/deleted', [$this, data, response]);
|
221 |
}
|
222 |
} else {
|
223 |
if( plugin_action == 'install' ) {
|
227 |
|
228 |
$this.text(button_i18n[plugin_action]);
|
229 |
|
230 |
+
if( response.data.need_rewrite_rules && !$('.wbcr-clr-need-rewrite-rules-message').length ) {
|
231 |
+
$.wbcr_factory_clearfy_206.app.showNotice(response.data.need_rewrite_rules, 'warning');
|
232 |
+
}
|
233 |
+
|
234 |
+
$.wbcr_factory_clearfy_206.hooks.run('clearfy/components/updated', [$this, data, response]);
|
235 |
});
|
236 |
|
237 |
return false;
|
254 |
self.sendRequest(data, function(response) {
|
255 |
if( !response || !response.success ) {
|
256 |
if( response.data && response.data.error_message ) {
|
257 |
+
$.wbcr_factory_clearfy_206.app.showNotice(response.data.error_message, 'danger');
|
258 |
}
|
259 |
return;
|
260 |
}
|
271 |
});
|
272 |
},
|
273 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
274 |
/**
|
275 |
* Устанавливает стиль компонента
|
276 |
*
|
317 |
self.setComponentDeactivate(componentButton);
|
318 |
|
319 |
if( response.data && response.data.error_message ) {
|
320 |
+
$.wbcr_factory_clearfy_206.app.showNotice(response.data.error_message, 'danger');
|
321 |
}
|
322 |
|
323 |
+
$.wbcr_factory_clearfy_206.hooks.run('clearfy/components/activated_error', [sendData.plugin]);
|
324 |
return;
|
325 |
}
|
326 |
|
327 |
componentButton.removeClass('button-primary').text(button_i18n['deactivate']);
|
328 |
self.setComponentActivate(componentButton);
|
329 |
|
330 |
+
$.wbcr_factory_clearfy_206.hooks.run('clearfy/components/activated', [sendData.plugin]);
|
331 |
});
|
332 |
},
|
333 |
|
346 |
console.log(xhr.responseText);
|
347 |
console.log(thrownError);
|
348 |
|
349 |
+
$.wbcr_factory_clearfy_206.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
|
|
|
|
|
|
|
|
|
350 |
}
|
351 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
352 |
}
|
|
|
353 |
};
|
354 |
|
355 |
$(document).ready(function() {
|
admin/assets/js/license-manager.js
CHANGED
@@ -1,31 +1,94 @@
|
|
1 |
/**
|
2 |
-
*
|
|
|
|
|
|
|
3 |
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
4 |
-
* @copyright (c) 10.
|
5 |
-
* @version 1.
|
|
|
6 |
*/
|
7 |
|
8 |
|
9 |
jQuery(function($) {
|
10 |
-
|
11 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
$('.wcl-control-btn').hide();
|
13 |
-
|
14 |
-
var
|
15 |
-
|
|
|
|
|
|
|
16 |
var data = {
|
17 |
-
action: '
|
18 |
_wpnonce: $('#_wpnonce').val(),
|
19 |
-
license_action: $(this).data(
|
20 |
-
licensekey: ''
|
21 |
};
|
22 |
-
|
|
|
23 |
data.licensekey = $('#license-key').val();
|
24 |
}
|
25 |
-
|
26 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
});
|
|
|
28 |
return false;
|
29 |
});
|
30 |
-
|
31 |
});
|
1 |
/**
|
2 |
+
* Этот файл содержит скрипт исполняелся во время процедур с формой лицензирования.
|
3 |
+
* Его основная роль отправка ajax запросов на проверку, активацию, деактивацию лицензии
|
4 |
+
* и вывод уведомлений об ошибка или успешно выполнении проверок.
|
5 |
+
*
|
6 |
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
7 |
+
* @copyright (c) 05.10.2018, Webcraftic
|
8 |
+
* @version 1.1
|
9 |
+
* @since 1.4.0
|
10 |
*/
|
11 |
|
12 |
|
13 |
jQuery(function($) {
|
14 |
+
|
15 |
+
var allNotices = [];
|
16 |
+
|
17 |
+
$(document).on('click', '.wcl-control-btn', function() {
|
18 |
+
|
19 |
+
// Скрываем все открытые этим событием уведомления
|
20 |
+
// Глобальные уведомления не трогаем
|
21 |
+
|
22 |
+
for( i = 0; i < allNotices.length; i++ ) {
|
23 |
+
$.wbcr_factory_clearfy_206.app.hideNotice(allNotices[i]);
|
24 |
+
}
|
25 |
+
|
26 |
$('.wcl-control-btn').hide();
|
27 |
+
|
28 |
+
var wrapper = $('#wcl-license-wrapper'),
|
29 |
+
loader = wrapper.data('loader');
|
30 |
+
|
31 |
+
$(this).after('<img class="wcl-loader" src="' + loader + '">');
|
32 |
+
|
33 |
var data = {
|
34 |
+
action: 'wbcr-clearfy-check-license',
|
35 |
_wpnonce: $('#_wpnonce').val(),
|
36 |
+
license_action: $(this).data('action'),
|
37 |
+
licensekey: ''
|
38 |
};
|
39 |
+
|
40 |
+
if( $(this).data('action') == 'activate' ) {
|
41 |
data.licensekey = $('#license-key').val();
|
42 |
}
|
43 |
+
|
44 |
+
$.ajax(ajaxurl, {
|
45 |
+
type: 'post',
|
46 |
+
dataType: 'json',
|
47 |
+
data: data,
|
48 |
+
success: function(response) {
|
49 |
+
var noticeId;
|
50 |
+
|
51 |
+
if( !response || !response.success ) {
|
52 |
+
|
53 |
+
$('.wcl-control-btn').show();
|
54 |
+
$('.wcl-loader').remove();
|
55 |
+
|
56 |
+
if( response.data ) {
|
57 |
+
console.log(response.data.error_message);
|
58 |
+
noticeId = $.wbcr_factory_clearfy_206.app.showNotice('Error: [' + response.data.error_message + ']', 'danger');
|
59 |
+
allNotices.push(noticeId);
|
60 |
+
} else {
|
61 |
+
console.log(response);
|
62 |
+
}
|
63 |
+
|
64 |
+
return;
|
65 |
+
}
|
66 |
+
|
67 |
+
if( response.data && response.data.message ) {
|
68 |
+
noticeId = $.wbcr_factory_clearfy_206.app.showNotice(response.data.message, 'success');
|
69 |
+
allNotices.push(noticeId);
|
70 |
+
|
71 |
+
// todo: доработать генерацию формы, вместо перезагрузки страницы
|
72 |
+
window.location.reload();
|
73 |
+
}
|
74 |
+
|
75 |
+
},
|
76 |
+
error: function(xhr, ajaxOptions, thrownError) {
|
77 |
+
|
78 |
+
$('.wcl-control-btn').show();
|
79 |
+
$('.wcl-loader').remove();
|
80 |
+
|
81 |
+
console.log(xhr.status);
|
82 |
+
console.log(xhr.responseText);
|
83 |
+
console.log(thrownError);
|
84 |
+
|
85 |
+
var noticeId = $.wbcr_factory_clearfy_206.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
|
86 |
+
|
87 |
+
allNotices.push(noticeId);
|
88 |
+
}
|
89 |
});
|
90 |
+
|
91 |
return false;
|
92 |
});
|
93 |
+
|
94 |
});
|
admin/assets/js/update-package.js
CHANGED
@@ -23,28 +23,40 @@
|
|
23 |
|
24 |
$(document).on('click', '.wbcr-clr-update-package', function() {
|
25 |
var $this = $(this),
|
26 |
-
loading = $(this).data(
|
27 |
wpnonce = $(this).data('wpnonce');
|
28 |
-
|
29 |
var data = {
|
30 |
action: 'wbcr-clearfy-update-package',
|
31 |
_wpnonce: wpnonce
|
32 |
};
|
33 |
|
34 |
$this.addClass('disabled').text(loading);
|
35 |
-
|
36 |
self.sendRequest(data, function(response) {
|
37 |
-
var
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
45 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
});
|
47 |
-
|
48 |
return false;
|
49 |
});
|
50 |
},
|
@@ -56,8 +68,14 @@
|
|
56 |
success: function(data, textStatus, jqXHR) {
|
57 |
callback && callback(data);
|
58 |
},
|
59 |
-
error: function(
|
60 |
-
console.log(
|
|
|
|
|
|
|
|
|
|
|
|
|
61 |
}
|
62 |
});
|
63 |
}
|
23 |
|
24 |
$(document).on('click', '.wbcr-clr-update-package', function() {
|
25 |
var $this = $(this),
|
26 |
+
loading = $(this).data('loading'),
|
27 |
wpnonce = $(this).data('wpnonce');
|
28 |
+
|
29 |
var data = {
|
30 |
action: 'wbcr-clearfy-update-package',
|
31 |
_wpnonce: wpnonce
|
32 |
};
|
33 |
|
34 |
$this.addClass('disabled').text(loading);
|
35 |
+
|
36 |
self.sendRequest(data, function(response) {
|
37 |
+
var noticeId;
|
38 |
+
|
39 |
+
$this.closest('.wbcr-factory-warning-notice').remove();
|
40 |
+
|
41 |
+
if( !response || !response.success ) {
|
42 |
+
|
43 |
+
if( response.data.error_message ) {
|
44 |
+
console.log(response.data.error_message);
|
45 |
+
noticeId = $.wbcr_factory_clearfy_206.app.showNotice('Error massage: [' + response.data.error_message + ']', 'danger');
|
46 |
+
} else {
|
47 |
+
console.log(response);
|
48 |
+
}
|
49 |
+
|
50 |
+
return;
|
51 |
}
|
52 |
+
|
53 |
+
noticeId = $.wbcr_factory_clearfy_206.app.showNotice(response.data.message, 'success');
|
54 |
+
|
55 |
+
setTimeout(function() {
|
56 |
+
$.wbcr_factory_clearfy_206.app.hideNotice(noticeId);
|
57 |
+
}, 5000);
|
58 |
});
|
59 |
+
|
60 |
return false;
|
61 |
});
|
62 |
},
|
68 |
success: function(data, textStatus, jqXHR) {
|
69 |
callback && callback(data);
|
70 |
},
|
71 |
+
error: function(xhr, ajaxOptions, thrownError) {
|
72 |
+
console.log(xhr.status);
|
73 |
+
console.log(xhr.responseText);
|
74 |
+
console.log(thrownError);
|
75 |
+
|
76 |
+
var noticeId = $.wbcr_factory_clearfy_206.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
|
77 |
+
|
78 |
+
allNotices.push(noticeId);
|
79 |
}
|
80 |
});
|
81 |
}
|
admin/boot.php
CHANGED
@@ -12,190 +12,218 @@
|
|
12 |
}
|
13 |
|
14 |
/**
|
15 |
-
* Выводит
|
16 |
-
* Уведомление будет показано на всех страницах Clearfy и его компонентах.
|
17 |
-
*
|
18 |
-
* @param WCL_Plugin $plugin
|
19 |
-
* @param Wbcr_FactoryPages407_ImpressiveThemplate $obj
|
20 |
-
* @return bool
|
21 |
*/
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
}
|
28 |
-
}
|
29 |
|
30 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
|
32 |
/**
|
33 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
34 |
*/
|
35 |
-
function
|
36 |
-
|
37 |
-
|
|
|
|
|
|
|
|
|
38 |
|
39 |
-
|
|
|
|
|
|
|
40 |
|
41 |
/**
|
42 |
-
*
|
|
|
43 |
*
|
44 |
-
* @
|
45 |
-
* @param
|
|
|
|
|
|
|
46 |
*/
|
47 |
-
function
|
48 |
-
|
49 |
-
|
50 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
}
|
52 |
-
|
53 |
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
}
|
59 |
}
|
60 |
|
61 |
-
add_action('
|
62 |
|
63 |
/**
|
64 |
-
*
|
65 |
*
|
66 |
-
* @param $
|
|
|
67 |
*/
|
68 |
-
function
|
69 |
{
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
->getPluginVersion());
|
74 |
-
|
75 |
-
// Filers & Hooks API
|
76 |
-
wp_enqueue_script('wbcr-clearfy-filters', WCL_PLUGIN_URL . '/admin/assets/js/filters.js', array('jquery'), WCL_Plugin::app()
|
77 |
-
->getPluginVersion());
|
78 |
}
|
79 |
|
80 |
-
add_action('
|
81 |
|
82 |
/**
|
83 |
-
*
|
84 |
-
*
|
85 |
-
* then this notice will be hidden.
|
86 |
*
|
87 |
-
* @param $
|
88 |
-
* @
|
|
|
|
|
89 |
*/
|
90 |
-
function
|
91 |
{
|
|
|
|
|
|
|
|
|
|
|
92 |
|
93 |
-
|
94 |
-
return $notices;
|
95 |
-
}
|
96 |
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
->getPluginTitle(), 'WP Disable', 'WP Disable') . '</p>'
|
109 |
-
);
|
110 |
-
}
|
111 |
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
),
|
127 |
-
array(
|
128 |
-
'name' => 'webcraftic-hide-my-wp',
|
129 |
-
'type' => 'freemius',
|
130 |
-
'title' => __('Hide my wp (Premium) – hides your WordPress from hackers and bots!', 'clearfy'),
|
131 |
-
'description' => '<br><span><b>' . __('Our new component! ', 'clearfy') . '</b>' . __('This premium component helps in hiding your WordPress from hackers and bots. Basically, it disables identification of your CMS by changing directories and files names, removing meta data and replacing HTML content which can provide all information about the platform you use.
|
132 |
-
Most websites can be hacked easily, as hackers and bots know all security flaws in plugins, themes and the WordPress core. You can secure the website from the attack by hiding the information the hackers will need.
|
133 |
-
', 'clearfy') . '</span><br>'
|
134 |
-
),
|
135 |
-
/*array(
|
136 |
-
'name' => 'minify_and_combine',
|
137 |
-
'type' => 'internal',
|
138 |
-
'title' => __('Minify and Combine (JS, CSS) – optimizes your scripts and styles!', 'clearfy'),
|
139 |
-
'description' => '<br><span><b>' . __('Our new component! ', 'clearfy') . '</b> ' . __('This component combines all your scripts and styles in one file, compresses & caches it. ', 'clearfy') . '
|
140 |
-
</span><br>'
|
141 |
-
),
|
142 |
-
array(
|
143 |
-
'name' => 'html_minify',
|
144 |
-
'type' => 'internal',
|
145 |
-
'title' => __('Html minify (Reloaded) – reduces the amount of code on your pages!', 'clearfy'),
|
146 |
-
'description' => '<br><span><b>' . __('Our new component! ', 'clearfy') . '</b> ' . __('We’ve completely redesigned HTML compression of the pages and added these features to another component. It’s more stable and reliable solution for HTML code optimization of your pages.', 'clearfy') . '</span><br>'
|
147 |
-
),*/
|
148 |
-
);
|
149 |
-
|
150 |
-
$need_show_new_components_notice = false;
|
151 |
-
|
152 |
-
$new_component_notice_text = '<div>';
|
153 |
-
$new_component_notice_text .= '<h3>' . __('Welcome to Clearfy!', 'clearfy') . '</h3>';
|
154 |
-
$new_component_notice_text .= '<p>' . __('We apologize for the delay in updates!', 'clearfy') . ' ';
|
155 |
-
$new_component_notice_text .= __('Our team has spent a lot of time designing new, useful, and the most important – free! – features of the Clearfy plugin! ', 'clearfy') . ' ';
|
156 |
-
$new_component_notice_text .= __('Now it is time to try it.', 'clearfy') . '</p>';
|
157 |
-
|
158 |
-
foreach($new_external_componetns as $new_component) {
|
159 |
-
$slug = $new_component['name'];
|
160 |
-
|
161 |
-
if( $new_component['type'] == 'wordpress' ) {
|
162 |
-
$slug = $new_component['base_path'];
|
163 |
-
}
|
164 |
-
$install_button = WCL_Plugin::app()->getInstallComponentsButton($new_component['type'], $slug);
|
165 |
|
166 |
-
|
167 |
-
continue;
|
168 |
-
}
|
169 |
|
170 |
-
|
171 |
-
|
172 |
-
|
|
|
|
|
|
|
|
|
173 |
|
174 |
-
|
175 |
-
$new_component_notice_text .= '<h4>' . $new_component['title'] . '</h4>';
|
176 |
-
$new_component_notice_text .= $new_component['description'];
|
177 |
-
$new_component_notice_text .= $install_button->getButton();
|
178 |
-
$new_component_notice_text .= '</div>';
|
179 |
|
180 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
181 |
}
|
|
|
182 |
|
183 |
-
$
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
'id' => 'clearfy_plugin_install_new_components_notice',
|
188 |
-
'type' => 'warning',
|
189 |
-
'dismissible' => true,
|
190 |
-
'dismiss_expires' => 0,
|
191 |
-
'text' => $new_component_notice_text
|
192 |
-
);
|
193 |
}
|
194 |
-
|
195 |
-
return apply_filters('wbcr_clearfy_admin_notices', $notices);
|
196 |
}
|
197 |
|
198 |
-
|
|
|
|
|
199 |
|
200 |
/**
|
201 |
* Fake stubs for the Clearfy plugin board
|
@@ -203,20 +231,69 @@ Most websites can be hacked easily, as hackers and bots know all security flaws
|
|
203 |
function wbcr_clearfy_fake_boards()
|
204 |
{
|
205 |
if( !defined('WIO_PLUGIN_ACTIVE') ) {
|
206 |
-
require_once WCL_PLUGIN_DIR . '/admin/includes/classes/class.install-plugins-button.php';
|
207 |
-
$install_button = new WCL_InstallPluginsButton('wordpress', 'robin-image-optimizer/robin-image-optimizer.php');
|
208 |
-
|
209 |
?>
|
210 |
-
<div class="col-sm-12">
|
211 |
-
<div class="wbcr-clearfy-fake-image-optimizer-board wbcr-clearfy-board">
|
212 |
-
<h4 class="wio-text-left"><?php _e('Images optimization', 'image-optimizer'); ?></h4>
|
213 |
|
214 |
-
|
215 |
-
|
216 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
217 |
</div>
|
218 |
-
<?php $install_button->renderButton(); ?>
|
219 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
220 |
</div>
|
221 |
</div>
|
222 |
<?php
|
@@ -230,7 +307,7 @@ Most websites can be hacked easily, as hackers and bots know all security flaws
|
|
230 |
*
|
231 |
* @param array $widgets
|
232 |
* @param string $position
|
233 |
-
* @param
|
234 |
*/
|
235 |
function wbcr_clearfy_donate_widget($widgets, $position, $plugin)
|
236 |
{
|
@@ -240,39 +317,49 @@ Most websites can be hacked easily, as hackers and bots know all security flaws
|
|
240 |
|
241 |
if( $licensing->isLicenseValid() ) {
|
242 |
unset($widgets['donate_widget']);
|
|
|
243 |
|
244 |
return $widgets;
|
|
|
|
|
|
|
|
|
245 |
}
|
246 |
|
247 |
-
$
|
|
|
|
|
248 |
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
|
256 |
-
|
257 |
-
|
258 |
|
259 |
-
|
260 |
-
|
261 |
<span class="btn btn-gold btn-inner-wrap">
|
262 |
-
<i class="fa fa-star"></i> <?php printf(__('Upgrade to Clearfy Business for $%s', 'clearfy'),
|
263 |
<i class="fa fa-star"></i>
|
264 |
</span>
|
265 |
-
|
|
|
266 |
</div>
|
267 |
-
|
268 |
-
<?php
|
269 |
|
270 |
-
|
271 |
-
|
|
|
|
|
272 |
}
|
273 |
|
274 |
return $widgets;
|
275 |
}
|
276 |
|
277 |
-
add_filter('
|
|
|
278 |
|
12 |
}
|
13 |
|
14 |
/**
|
15 |
+
* Выводит кнопку настроек Clearfy в шапке интерфейса плагина
|
|
|
|
|
|
|
|
|
|
|
16 |
*/
|
17 |
+
add_action('wbcr/factory/pages/impressive/header', function ($plugin_name) {
|
18 |
+
if( $plugin_name != WCL_Plugin::app()->getPluginName() ) {
|
19 |
+
return;
|
20 |
+
}
|
21 |
+
?>
|
22 |
+
<a href="<?= WCL_Plugin::app()->getPluginPageUrl('clearfy_settings') ?>" class="wbcr-factory-button wbcr-factory-type-settings">
|
23 |
+
<?= apply_filters('wbcr/clearfy/settings_button_title', __('Clearfy settings', 'clearfy')); ?>
|
24 |
+
</a>
|
25 |
+
<?php
|
26 |
+
});
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Этот код обманывает Wordpress, убеждая его, что плагин имеет новую версию,
|
30 |
+
* из-за чего Wordpress создает уведомление об обновлении плагина. Все это необходимо
|
31 |
+
* для обновления пакета компонентов
|
32 |
+
* @param mixed $transient - value of site transient.
|
33 |
+
*/
|
34 |
+
add_filter('site_transient_update_plugins', function ($transient) {
|
35 |
+
if( empty($transient->checked) ) {
|
36 |
+
return $transient;
|
37 |
}
|
|
|
38 |
|
39 |
+
$package_plugin = WCL_Package::instance();
|
40 |
+
|
41 |
+
if( !$package_plugin->isActive() ) {
|
42 |
+
return $transient;
|
43 |
+
}
|
44 |
+
|
45 |
+
$need_update_package = $package_plugin->isNeedUpdate();
|
46 |
+
$need_update_addons = $package_plugin->isNeedUpdateAddons();
|
47 |
+
$info = $package_plugin->info();
|
48 |
+
|
49 |
+
if( $need_update_package and $need_update_addons ) {
|
50 |
+
$update_data = new stdClass();
|
51 |
+
$update_data->slug = $info['plugin_slug'];
|
52 |
+
$update_data->plugin = $info['plugin_basename'];
|
53 |
+
$update_data->new_version = '1.1';
|
54 |
+
$update_data->package = $package_plugin->downloadUrl();
|
55 |
+
$transient->response[$update_data->plugin] = $update_data;
|
56 |
+
}
|
57 |
+
|
58 |
+
return $transient;
|
59 |
+
});
|
60 |
|
61 |
/**
|
62 |
+
* Выводит уведомление внутри интерфейса Clearfy, на всех страницах плагина.
|
63 |
+
* Это необходимо, чтоб напомнить пользователю обновить конфигурацию компонентов плагина,
|
64 |
+
* иначе вновь активированные компоненты не будет зайдествованы в работе плагина.
|
65 |
+
*
|
66 |
+
* @param Wbcr_Factory409_Plugin $plugin
|
67 |
+
* @param Wbcr_FactoryPages410_ImpressiveThemplate $obj
|
68 |
+
* @return bool
|
69 |
*/
|
70 |
+
add_action('wbcr/factory/pages/impressive/print_all_notices', function ($plugin, $obj) {
|
71 |
+
// выводим уведомление везде, кроме страницы компонентов. Там выводится отдельно.
|
72 |
+
if( (WCL_Plugin::app()->getPluginName() != $plugin->getPluginName()) || ($obj->id == 'components') ) {
|
73 |
+
return false;
|
74 |
+
}
|
75 |
+
$package_plugin = WCL_Package::instance();
|
76 |
+
$package_update_notice = $package_plugin->getUpdateNotice();
|
77 |
|
78 |
+
if( $package_update_notice ) {
|
79 |
+
$obj->printWarningNotice($package_update_notice);
|
80 |
+
}
|
81 |
+
}, 10, 2);
|
82 |
|
83 |
/**
|
84 |
+
* Выводит уведомление в строке плагина Clearfy (на странице плагинов),
|
85 |
+
* что нужно обновить пакет компонентов.
|
86 |
*
|
87 |
+
* @see WP_Plugins_List_Table
|
88 |
+
* @param string $plugin_file
|
89 |
+
* @param array $plugin_data
|
90 |
+
* @param string $status
|
91 |
+
* @return bool
|
92 |
*/
|
93 |
+
add_action('after_plugin_row_clearfy/clearfy.php', function ($plugin_file, $plugin_data, $status) {
|
94 |
+
$package_plugin = WCL_Package::instance();
|
95 |
+
$need_update_package = $package_plugin->isNeedUpdate();
|
96 |
+
|
97 |
+
if( $need_update_package ) {
|
98 |
+
if( $package_plugin->isNeedUpdateAddons() ) {
|
99 |
+
$update_link = ' <a href="#" data-wpnonce="' . wp_create_nonce('package') . '" data-loading="' . __('Update in progress...', 'clearfy') . '" data-ok="' . __('Components have been successfully updated!', 'clearfy') . '" class="wbcr-clr-plugin-update-link">' . __('update now', 'clearfy') . '</a>';
|
100 |
+
?>
|
101 |
+
<tr class="plugin-update-tr active update">
|
102 |
+
<td colspan="3" class="plugin-update colspanchange">
|
103 |
+
<div class="update-message notice inline notice-warning notice-alt" style="background-color:#f5e9f5;border-color: #dab9da;">
|
104 |
+
<p><?= __('Updates are available for one of the components.', 'clearfy') . $update_link; ?></p>
|
105 |
+
</div>
|
106 |
+
</td>
|
107 |
+
</tr>
|
108 |
+
<?php
|
109 |
+
}
|
110 |
}
|
111 |
+
}, 100, 3);
|
112 |
|
113 |
+
/**
|
114 |
+
* @param $form
|
115 |
+
* @param Wbcr_Factory409_Plugin $plugin
|
116 |
+
* @param Wbcr_FactoryPages410_ImpressiveThemplate $obj
|
117 |
+
*/
|
118 |
+
function wbcr_clearfy_multisite_before_save($form, $plugin, $obj)
|
119 |
+
{
|
120 |
+
|
121 |
+
if( $plugin->isNetworkActive() ) {
|
122 |
+
$licensing = WCL_Licensing::instance();
|
123 |
+
if( !$licensing->isLicenseValid() && WCL_Plugin::app()->isNetworkActive() && $plugin->getPluginName() == WCL_Plugin::app()->getPluginName() ) {
|
124 |
+
$obj->redirectToAction('multisite-pro');
|
125 |
+
}
|
126 |
}
|
127 |
}
|
128 |
|
129 |
+
add_action('wbcr_factory_409_imppage_before_form_save', 'wbcr_clearfy_multisite_before_save', 10, 3);
|
130 |
|
131 |
/**
|
132 |
+
* Устанавливает логотип Webcraftic и сборку плагина для Clearfy и всех его компонентов
|
133 |
*
|
134 |
+
* @param string $title
|
135 |
+
* @since 1.4.0
|
136 |
*/
|
137 |
+
function wbcr_clearfy_branding($title)
|
138 |
{
|
139 |
+
$licensing = WCL_Licensing::instance();
|
140 |
+
|
141 |
+
return 'Webcraftic Clearfy ' . ($licensing->isLicenseValid() ? '<span class="wbcr-clr-logo-label wbcr-clr-premium-label-logo">' . __('Business', 'clearfy') . '</span>' : '<span class="wbcr-clr-logo-label wbcr-clr-free-label-logo">Free</span>') . ' ver';
|
|
|
|
|
|
|
|
|
|
|
142 |
}
|
143 |
|
144 |
+
add_action('wbcr/factory/pages/impressive/plugin_title', 'wbcr_clearfy_branding');
|
145 |
|
146 |
/**
|
147 |
+
* Подключаем скрипты отвественные за обновления пакетов для Clearfy
|
148 |
+
* Скрипты подключа.тся на каждой странице Clearfy и его компонентов
|
|
|
149 |
*
|
150 |
+
* @param string $page_id
|
151 |
+
* @param Wbcr_Factory409_ScriptList $scripts
|
152 |
+
* @param Wbcr_Factory409_StyleList $styles
|
153 |
+
* @since 1.4.0
|
154 |
*/
|
155 |
+
function wbcr_clearfy_enqueue_global_scripts($page_id, $scripts, $styles)
|
156 |
{
|
157 |
+
$scripts->add(WCL_PLUGIN_URL . '/admin/assets/js/update-package.js', array(
|
158 |
+
'jquery',
|
159 |
+
'wbcr-factory-clearfy-206-global'
|
160 |
+
));
|
161 |
+
}
|
162 |
|
163 |
+
add_action('wbcr/clearfy/page_assets', 'wbcr_clearfy_enqueue_global_scripts', 10, 3);
|
|
|
|
|
164 |
|
165 |
+
/**
|
166 |
+
* Подключаем скрипты для установки компонентов Clearfy
|
167 |
+
* на все страницы админпанели
|
168 |
+
*/
|
169 |
+
add_action('admin_enqueue_scripts', function () {
|
170 |
+
wp_enqueue_style('wbcr-clearfy-install-components', WCL_PLUGIN_URL . '/admin/assets/css/install-addons.css', array(), WCL_Plugin::app()->getPluginVersion());
|
171 |
+
wp_enqueue_script('wbcr-clearfy-install-components', WCL_PLUGIN_URL . '/admin/assets/js/install-addons.js', array(
|
172 |
+
'jquery',
|
173 |
+
'wbcr-factory-clearfy-206-global'
|
174 |
+
), WCL_Plugin::app()->getPluginVersion());
|
175 |
+
});
|
|
|
|
|
|
|
176 |
|
177 |
+
/**
|
178 |
+
* Выводит уведомление, что нужно сбросить постоянные ссылки.
|
179 |
+
* Уведомление будет показано на всех страницах Clearfy и его компонентах.
|
180 |
+
*
|
181 |
+
* @param WCL_Plugin $plugin
|
182 |
+
* @param Wbcr_FactoryPages410_ImpressiveThemplate $obj
|
183 |
+
* @return bool
|
184 |
+
*/
|
185 |
+
function wbcr_clearfy_print_notice_rewrite_rules($plugin, $obj)
|
186 |
+
{
|
187 |
+
if( WCL_Plugin::app()->getPopulateOption('need_rewrite_rules') ) {
|
188 |
+
$obj->printWarningNotice(sprintf('<span class="wbcr-clr-need-rewrite-rules-message">' . __('When you deactivate some components, permanent links may work incorrectly. If this happens, please, <a href="%s">update the permalinks</a>, so you could complete the deactivation.', 'clearfy'), admin_url('options-permalink.php')) . '</span>');
|
189 |
+
}
|
190 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
191 |
|
192 |
+
add_action('wbcr/factory/pages/impressive/print_all_notices', 'wbcr_clearfy_print_notice_rewrite_rules', 10, 2);
|
|
|
|
|
193 |
|
194 |
+
/**
|
195 |
+
* Удалем уведомление Clearfy о том, что нужно перезаписать постоянные ссылоки.s
|
196 |
+
*/
|
197 |
+
function wbcr_clearfy_flush_rewrite_rules()
|
198 |
+
{
|
199 |
+
WCL_Plugin::app()->deletePopulateOption('need_rewrite_rules', 1);
|
200 |
+
}
|
201 |
|
202 |
+
add_action('flush_rewrite_rules_hard', 'wbcr_clearfy_flush_rewrite_rules');
|
|
|
|
|
|
|
|
|
203 |
|
204 |
+
/**
|
205 |
+
* Обновить постоынные ссылки, после выполнения быстрых настроек
|
206 |
+
*
|
207 |
+
* @param WHM_Plugin $plugin
|
208 |
+
* @param Wbcr_FactoryPages410_ImpressiveThemplate $obj
|
209 |
+
*/
|
210 |
+
function wbcr_clearfy_after_form_save($plugin, $obj)
|
211 |
+
{
|
212 |
+
if( !WCL_Plugin::app()->currentUserCan() ) {
|
213 |
+
return;
|
214 |
}
|
215 |
+
$is_clearfy = WCL_Plugin::app()->getPluginName() == $plugin->getPluginName();
|
216 |
|
217 |
+
if( $is_clearfy && $obj->id == 'quick_start' && isset($_GET['action']) && $_GET['action'] == 'flush-cache-and-rules' ) {
|
218 |
+
require_once ABSPATH . 'wp-admin/includes/file.php';
|
219 |
+
require_once ABSPATH . 'wp-admin/includes/misc.php';
|
220 |
+
flush_rewrite_rules(true);
|
|
|
|
|
|
|
|
|
|
|
|
|
221 |
}
|
|
|
|
|
222 |
}
|
223 |
|
224 |
+
add_action('wbcr_factory_409_imppage_after_form_save', 'wbcr_clearfy_after_form_save', 10, 2);
|
225 |
+
|
226 |
+
|
227 |
|
228 |
/**
|
229 |
* Fake stubs for the Clearfy plugin board
|
231 |
function wbcr_clearfy_fake_boards()
|
232 |
{
|
233 |
if( !defined('WIO_PLUGIN_ACTIVE') ) {
|
|
|
|
|
|
|
234 |
?>
|
|
|
|
|
|
|
235 |
|
236 |
+
<div class="wio-image-optimize-board wbcr-clearfy-board">
|
237 |
+
<h4 class="wio-text-left"><?php _e('Images optimization', 'clearfy'); ?></h4>
|
238 |
+
|
239 |
+
<div class="wio-columns wio-widget">
|
240 |
+
<div class="wio-col col-chart">
|
241 |
+
<div class="wio-chart-container wio-overview-chart-container">
|
242 |
+
<canvas id="wio-main-chart" width="110" height="110" data-unoptimized="1400" data-optimized="0" data-errors="0" style="display: block;"></canvas>
|
243 |
+
<div id="wio-overview-chart-percent" class="wio-chart-percent">0<span>%</span></div>
|
244 |
+
</div>
|
245 |
+
<div id="wio-overview-chart-legend">
|
246 |
+
<ul class="wio-doughnut-legend">
|
247 |
+
<li>
|
248 |
+
<span style="background-color:#d6d6d6"></span><?php _e('Unoptimized', 'clearfy'); ?>
|
249 |
+
-
|
250 |
+
<span class="wio-num" id="wio-unoptimized-num">1400</span>
|
251 |
+
</li>
|
252 |
+
<li>
|
253 |
+
<span style="background-color:#8bc34a"></span><?php _e('Optimized', 'clearfy'); ?>
|
254 |
+
-
|
255 |
+
<span class="wio-num" id="wio-optimized-num">0</span>
|
256 |
+
</li>
|
257 |
+
<li>
|
258 |
+
<span style="background-color:#f1b1b6"></span><?php _e('Error', 'clearfy'); ?>
|
259 |
+
-
|
260 |
+
<span class="wio-num" id="wio-error-num">0</span>
|
261 |
+
</li>
|
262 |
+
</ul>
|
263 |
+
</div>
|
264 |
+
<div class="wio-bars">
|
265 |
+
<p><?php _e('Original size', 'clearfy'); ?></p>
|
266 |
+
|
267 |
+
<div class="wio-bar-negative base-transparent wio-right-outside-number">
|
268 |
+
<div id="wio-original-bar" class="wio-progress" style="width: 100%">
|
269 |
+
<span class="wio-barnb" id="wio-original-size">75 MB</span>
|
270 |
+
</div>
|
271 |
+
</div>
|
272 |
+
<p><?php _e('Optimized size', 'clearfy'); ?></p>
|
273 |
+
|
274 |
+
<div class="wio-bar-primary base-transparent wio-right-outside-number">
|
275 |
+
<div id="wio-optimized-bar" class="wio-progress" style="width: 100%;">
|
276 |
+
<span class="wio-barnb" id="wio-optimized-size">75 MB</span>
|
277 |
+
</div>
|
278 |
+
</div>
|
279 |
</div>
|
|
|
280 |
</div>
|
281 |
+
<ul class="wio-widget-bottom">
|
282 |
+
<li>
|
283 |
+
<p>
|
284 |
+
<a type="button" id="wio-start-optimization" href="<?= WCL_Plugin::app()->getPluginPageUrl('clrf_image_optimization') ?>" class="wio-optimize-button"><?php echo __('Bulk optimize', 'clearfy'); ?></a>
|
285 |
+
</p>
|
286 |
+
</li>
|
287 |
+
<li>
|
288 |
+
<div class="factory-dropdown factory-from-control-dropdown factory-buttons-way" data-way="buttons">
|
289 |
+
<div id="wio-level-buttons" class="btn-group factory-buttons-group">
|
290 |
+
<button type="button" data-level="normal" class="btn btn-default btn-small active"><?php _e('Normal', 'clearfy'); ?></button>
|
291 |
+
<button type="button" data-level="aggresive" class="btn btn-default btn-small"><?php _e('Medium', 'clearfy'); ?></button>
|
292 |
+
<button type="button" data-level="ultra" class="btn btn-default btn-small"><?php _e('High', 'clearfy'); ?></button>
|
293 |
+
</div>
|
294 |
+
</div>
|
295 |
+
</li>
|
296 |
+
</ul>
|
297 |
</div>
|
298 |
</div>
|
299 |
<?php
|
307 |
*
|
308 |
* @param array $widgets
|
309 |
* @param string $position
|
310 |
+
* @param Wbcr_Factory409_Plugin $plugin
|
311 |
*/
|
312 |
function wbcr_clearfy_donate_widget($widgets, $position, $plugin)
|
313 |
{
|
317 |
|
318 |
if( $licensing->isLicenseValid() ) {
|
319 |
unset($widgets['donate_widget']);
|
320 |
+
unset($widgets['businnes_suggetion']);
|
321 |
|
322 |
return $widgets;
|
323 |
+
} else {
|
324 |
+
if( $position == 'right' ) {
|
325 |
+
unset($widgets['info_widget']);
|
326 |
+
}
|
327 |
}
|
328 |
|
329 |
+
if( $position == 'bottom' ) {
|
330 |
+
$buy_premium_url = WbcrFactoryClearfy206_Helpers::getWebcrafticSitePageUrl(WCL_Plugin::app()->getPluginName(), 'pricing', 'license_page');
|
331 |
+
$upgrade_price = WbcrFactoryClearfy206_Helpers::getClearfyBusinessPrice();
|
332 |
|
333 |
+
ob_start();
|
334 |
+
?>
|
335 |
+
<div id="wbcr-clr-go-to-premium-widget" class="wbcr-factory-sidebar-widget">
|
336 |
+
<p>
|
337 |
+
<strong><?php _e('Activation Clearfy Business', 'clearfy'); ?></strong>
|
338 |
+
</p>
|
339 |
|
340 |
+
<div class="wbcr-clr-go-to-premium-widget-body">
|
341 |
+
<p><?php _e('<b>Clearfy Business</b> is a paid package of components for the popular free WordPress plugin named Clearfy. You get access to all paid components at one price.', 'clearfy') ?></p>
|
342 |
|
343 |
+
<p><?php _e('Paid license guarantees that you can download and update existing and future paid components of the plugin.', 'clearfy') ?></p>
|
344 |
+
<a href="<?= $buy_premium_url ?>" class="wbcr-clr-purchase-premium" target="_blank" rel="noopener">
|
345 |
<span class="btn btn-gold btn-inner-wrap">
|
346 |
+
<i class="fa fa-star"></i> <?php printf(__('Upgrade to Clearfy Business for $%s', 'clearfy'), $upgrade_price) ?>
|
347 |
<i class="fa fa-star"></i>
|
348 |
</span>
|
349 |
+
</a>
|
350 |
+
</div>
|
351 |
</div>
|
352 |
+
<?php
|
|
|
353 |
|
354 |
+
$widgets['donate_widget'] = ob_get_contents();
|
355 |
+
|
356 |
+
ob_end_clean();
|
357 |
+
}
|
358 |
}
|
359 |
|
360 |
return $widgets;
|
361 |
}
|
362 |
|
363 |
+
add_filter('wbcr/factory/pages/impressive/widgets', 'wbcr_clearfy_donate_widget', 10, 3);
|
364 |
+
|
365 |
|
admin/includes/classes/class.install-plugins-button.php
CHANGED
@@ -40,8 +40,6 @@
|
|
40 |
$this->type = $type;
|
41 |
$this->plugin_slug = $plugin_slug;
|
42 |
|
43 |
-
// todo нужно строго делать проверку на базовый путь, так как можно запутаться при работе
|
44 |
-
// todo если пользователь передал просто slug и тип хранения wordpress, то выводим ошибку, что нужно ввести базовый путь
|
45 |
if( $this->type == 'wordpress' ) {
|
46 |
if( strpos(rtrim(trim($this->plugin_slug)), '/') !== false ) {
|
47 |
$this->base_path = $this->plugin_slug;
|
@@ -74,13 +72,14 @@
|
|
74 |
public function isPluginActivate()
|
75 |
{
|
76 |
if( $this->type == 'wordpress' && $this->isPluginInstall() ) {
|
|
|
77 |
return is_plugin_active($this->base_path);
|
78 |
} elseif( $this->type == 'internal' ) {
|
79 |
-
$preinsatall_components = WCL_Plugin::app()->
|
80 |
|
81 |
return !in_array($this->plugin_slug, $preinsatall_components);
|
82 |
} elseif( $this->type == 'freemius' ) {
|
83 |
-
$freemius_activated_addons = WCL_Plugin::app()->
|
84 |
return in_array( $this->plugin_slug, $freemius_activated_addons );
|
85 |
}
|
86 |
|
@@ -111,7 +110,7 @@
|
|
111 |
} else if( $this->type == 'internal' ) {
|
112 |
return true;
|
113 |
} else if( $this->type == 'freemius' ) {
|
114 |
-
$freemius_activated_addons = WCL_Plugin::app()->
|
115 |
return in_array( $this->plugin_slug, $freemius_activated_addons );
|
116 |
}
|
117 |
|
@@ -232,7 +231,7 @@
|
|
232 |
*/
|
233 |
public function renderLink()
|
234 |
{
|
235 |
-
echo $this->
|
236 |
}
|
237 |
|
238 |
/**
|
@@ -313,8 +312,6 @@
|
|
313 |
|
314 |
$this->action = 'activate';
|
315 |
|
316 |
-
require_once WCL_PLUGIN_DIR . '/includes/classes/class.licensing.php';
|
317 |
-
|
318 |
$licensing = WCL_Licensing::instance();
|
319 |
|
320 |
$component = $licensing->getAddonData( $this->plugin_slug );
|
40 |
$this->type = $type;
|
41 |
$this->plugin_slug = $plugin_slug;
|
42 |
|
|
|
|
|
43 |
if( $this->type == 'wordpress' ) {
|
44 |
if( strpos(rtrim(trim($this->plugin_slug)), '/') !== false ) {
|
45 |
$this->base_path = $this->plugin_slug;
|
72 |
public function isPluginActivate()
|
73 |
{
|
74 |
if( $this->type == 'wordpress' && $this->isPluginInstall() ) {
|
75 |
+
require_once ABSPATH . '/wp-admin/includes/plugin.php';
|
76 |
return is_plugin_active($this->base_path);
|
77 |
} elseif( $this->type == 'internal' ) {
|
78 |
+
$preinsatall_components = WCL_Plugin::app()->getPopulateOption('deactive_preinstall_components', array());
|
79 |
|
80 |
return !in_array($this->plugin_slug, $preinsatall_components);
|
81 |
} elseif( $this->type == 'freemius' ) {
|
82 |
+
$freemius_activated_addons = WCL_Plugin::app()->getPopulateOption( 'freemius_activated_addons', array() );
|
83 |
return in_array( $this->plugin_slug, $freemius_activated_addons );
|
84 |
}
|
85 |
|
110 |
} else if( $this->type == 'internal' ) {
|
111 |
return true;
|
112 |
} else if( $this->type == 'freemius' ) {
|
113 |
+
$freemius_activated_addons = WCL_Plugin::app()->getPopulateOption( 'freemius_activated_addons', array() );
|
114 |
return in_array( $this->plugin_slug, $freemius_activated_addons );
|
115 |
}
|
116 |
|
231 |
*/
|
232 |
public function renderLink()
|
233 |
{
|
234 |
+
echo $this->getLink();
|
235 |
}
|
236 |
|
237 |
/**
|
312 |
|
313 |
$this->action = 'activate';
|
314 |
|
|
|
|
|
315 |
$licensing = WCL_Licensing::instance();
|
316 |
|
317 |
$component = $licensing->getAddonData( $this->plugin_slug );
|
admin/includes/classes/class.option.php
CHANGED
@@ -56,7 +56,11 @@
|
|
56 |
*/
|
57 |
public function getValue($group_name = null)
|
58 |
{
|
59 |
-
if(
|
|
|
|
|
|
|
|
|
60 |
return $this->values[$group_name];
|
61 |
}
|
62 |
|
56 |
*/
|
57 |
public function getValue($group_name = null)
|
58 |
{
|
59 |
+
if(
|
60 |
+
!empty($group_name)
|
61 |
+
&& is_array($this->values)
|
62 |
+
&& isset($this->values[$group_name])
|
63 |
+
) {
|
64 |
return $this->values[$group_name];
|
65 |
}
|
66 |
|
admin/includes/classes/class.pages.php
DELETED
@@ -1,90 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
* Page template class
|
5 |
-
* Author: Webcraftic <wordpress.webraftic@gmail.com>
|
6 |
-
* Version: 1.0.0
|
7 |
-
*/
|
8 |
-
// Exit if accessed directly
|
9 |
-
if( !defined('ABSPATH') ) {
|
10 |
-
exit;
|
11 |
-
}
|
12 |
-
|
13 |
-
class WCL_Page extends Wbcr_FactoryPages407_ImpressiveThemplate {
|
14 |
-
|
15 |
-
/**
|
16 |
-
* @param WCL_Plugin $plugin
|
17 |
-
*/
|
18 |
-
public function __construct(WCL_Plugin $plugin)
|
19 |
-
{
|
20 |
-
parent::__construct($plugin);
|
21 |
-
}
|
22 |
-
|
23 |
-
/**
|
24 |
-
* Requests assets (js and css) for the page.
|
25 |
-
*
|
26 |
-
* @see Wbcr_FactoryPages407_AdminPage
|
27 |
-
*
|
28 |
-
* @param Wbcr_Factory406_ScriptList $scripts
|
29 |
-
* @param Wbcr_Factory406_StyleList $styles
|
30 |
-
* @return void
|
31 |
-
*/
|
32 |
-
public function assets($scripts, $styles)
|
33 |
-
{
|
34 |
-
parent::assets($scripts, $styles);
|
35 |
-
|
36 |
-
$this->styles->add(WCL_PLUGIN_URL . '/admin/assets/css/general.css');
|
37 |
-
|
38 |
-
/**
|
39 |
-
* Allows you to enqueue scripts to the internal pages of the plugin.
|
40 |
-
* $this->getResultId() - page id + plugin name = quick_start-wbcr_clearfy
|
41 |
-
* @since 1.3.0
|
42 |
-
*/
|
43 |
-
do_action('wbcr_clearfy_page_enqueue_scripts', $this->getResultId(), $scripts, $styles);
|
44 |
-
}
|
45 |
-
|
46 |
-
/**
|
47 |
-
* @return string
|
48 |
-
*/
|
49 |
-
public function getPluginTitle()
|
50 |
-
{
|
51 |
-
$licensing = WCL_Licensing::instance();
|
52 |
-
|
53 |
-
return 'Webcraftic Clearfy ' . ($licensing->isLicenseValid()
|
54 |
-
? '<span class="wbcr-clr-logo-label wbcr-clr-premium-label-logo">' . __('Business', 'clearfy') . '</span>'
|
55 |
-
: '<span class="wbcr-clr-logo-label wbcr-clr-free-label-logo">Free</span>') . ' ver';
|
56 |
-
}
|
57 |
-
|
58 |
-
//public function not
|
59 |
-
|
60 |
-
/**
|
61 |
-
* @param $option_name
|
62 |
-
* @param bool $default
|
63 |
-
* @return mixed|void
|
64 |
-
*/
|
65 |
-
public function getOption($option_name, $default = false)
|
66 |
-
{
|
67 |
-
return $this->plugin->getOption($option_name, $default);
|
68 |
-
}
|
69 |
-
|
70 |
-
/**
|
71 |
-
* @param $option_name
|
72 |
-
* @param $value
|
73 |
-
* @return bool
|
74 |
-
*/
|
75 |
-
public function updateOption($option_name, $value)
|
76 |
-
{
|
77 |
-
return $this->plugin->updateOption($option_name, $value);
|
78 |
-
}
|
79 |
-
|
80 |
-
/**
|
81 |
-
* @param $option_name
|
82 |
-
* @return bool
|
83 |
-
*/
|
84 |
-
public function deleteOption($option_name)
|
85 |
-
{
|
86 |
-
return $this->plugin->deleteOption($option_name);
|
87 |
-
}
|
88 |
-
}
|
89 |
-
|
90 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/includes/classes/class.upgrader.php
CHANGED
@@ -1,50 +1,126 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
class WCL_Plugin_Upgrader extends Plugin_Upgrader {
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
$
|
42 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
}
|
44 |
-
|
45 |
-
if ( is_wp_error($download_file) )
|
46 |
-
return new WP_Error('download_failed', $this->strings['download_failed'], $download_file->get_error_message());
|
47 |
-
|
48 |
-
return $download_file;
|
49 |
-
}
|
50 |
-
}
|
1 |
<?php
|
2 |
|
3 |
+
class WCL_Plugin_Upgrader extends Plugin_Upgrader {
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Download a package.
|
7 |
+
*
|
8 |
+
* @since 2.8.0
|
9 |
+
*
|
10 |
+
* @param string $package The URI of the package. If this is the full path to an
|
11 |
+
* existing local file, it will be returned untouched.
|
12 |
+
* @return string|WP_Error The full path to the downloaded package file, or a WP_Error object.
|
13 |
+
*/
|
14 |
+
public function download_package($package)
|
15 |
+
{
|
16 |
+
|
17 |
+
/**
|
18 |
+
* Filters whether to return the package.
|
19 |
+
*
|
20 |
+
* @since 3.7.0
|
21 |
+
*
|
22 |
+
* @param bool $reply Whether to bail without returning the package.
|
23 |
+
* Default false.
|
24 |
+
* @param string $package The package file name.
|
25 |
+
* @param WP_Upgrader $this The WP_Upgrader instance.
|
26 |
+
*/
|
27 |
+
$reply = apply_filters('upgrader_pre_download', false, $package, $this);
|
28 |
+
if( false !== $reply ) {
|
29 |
+
return $reply;
|
30 |
+
}
|
31 |
+
|
32 |
+
if( !preg_match('!^(http|https|ftp)://!i', $package) && file_exists($package) ) //Local file or remote?
|
33 |
+
{
|
34 |
+
return $package;
|
35 |
+
} //must be a local file..
|
36 |
+
|
37 |
+
if( empty($package) ) {
|
38 |
+
return new WP_Error('no_package', $this->strings['no_package']);
|
39 |
+
}
|
40 |
+
|
41 |
+
$download_file = download_url($package, 1000);
|
42 |
+
|
43 |
+
if( function_exists('mime_content_type') ) {
|
44 |
+
$mime_type = mime_content_type($download_file);
|
45 |
+
} else {
|
46 |
+
$mime_type = $this->mimeContentType($download_file);
|
47 |
+
}
|
48 |
+
|
49 |
+
if( WbcrFactoryClearfy206_Helpers::strContains($mime_type, 'text/plain') ) {
|
50 |
+
$this->result = new WP_Error('builder_error', __(file_get_contents($download_file), 'clearfy'));
|
51 |
+
|
52 |
+
return $this->result;
|
53 |
+
}
|
54 |
+
|
55 |
+
if( is_wp_error($download_file) ) {
|
56 |
+
return new WP_Error('download_failed', $this->strings['download_failed'], $download_file->get_error_message());
|
57 |
+
}
|
58 |
+
|
59 |
+
return $download_file;
|
60 |
+
}
|
61 |
+
|
62 |
+
public function mimeContentType($filename)
|
63 |
+
{
|
64 |
+
$mime_types = array(
|
65 |
+
'txt' => 'text/plain',
|
66 |
+
'htm' => 'text/html',
|
67 |
+
'html' => 'text/html',
|
68 |
+
'php' => 'text/html',
|
69 |
+
'css' => 'text/css',
|
70 |
+
'js' => 'application/javascript',
|
71 |
+
'json' => 'application/json',
|
72 |
+
'xml' => 'application/xml',
|
73 |
+
'swf' => 'application/x-shockwave-flash',
|
74 |
+
'flv' => 'video/x-flv',
|
75 |
+
// images
|
76 |
+
'png' => 'image/png',
|
77 |
+
'jpe' => 'image/jpeg',
|
78 |
+
'jpeg' => 'image/jpeg',
|
79 |
+
'jpg' => 'image/jpeg',
|
80 |
+
'gif' => 'image/gif',
|
81 |
+
'bmp' => 'image/bmp',
|
82 |
+
'ico' => 'image/vnd.microsoft.icon',
|
83 |
+
'tiff' => 'image/tiff',
|
84 |
+
'tif' => 'image/tiff',
|
85 |
+
'svg' => 'image/svg+xml',
|
86 |
+
'svgz' => 'image/svg+xml',
|
87 |
+
// archives
|
88 |
+
'zip' => 'application/zip',
|
89 |
+
'rar' => 'application/x-rar-compressed',
|
90 |
+
'exe' => 'application/x-msdownload',
|
91 |
+
'msi' => 'application/x-msdownload',
|
92 |
+
'cab' => 'application/vnd.ms-cab-compressed',
|
93 |
+
// audio/video
|
94 |
+
'mp3' => 'audio/mpeg',
|
95 |
+
'qt' => 'video/quicktime',
|
96 |
+
'mov' => 'video/quicktime',
|
97 |
+
// adobe
|
98 |
+
'pdf' => 'application/pdf',
|
99 |
+
'psd' => 'image/vnd.adobe.photoshop',
|
100 |
+
'ai' => 'application/postscript',
|
101 |
+
'eps' => 'application/postscript',
|
102 |
+
'ps' => 'application/postscript',
|
103 |
+
// ms office
|
104 |
+
'doc' => 'application/msword',
|
105 |
+
'rtf' => 'application/rtf',
|
106 |
+
'xls' => 'application/vnd.ms-excel',
|
107 |
+
'ppt' => 'application/vnd.ms-powerpoint',
|
108 |
+
// open office
|
109 |
+
'odt' => 'application/vnd.oasis.opendocument.text',
|
110 |
+
'ods' => 'application/vnd.oasis.opendocument.spreadsheet',
|
111 |
+
);
|
112 |
+
|
113 |
+
$ext = strtolower(array_pop(explode('.', $filename)));
|
114 |
+
if( array_key_exists($ext, $mime_types) ) {
|
115 |
+
return $mime_types[$ext];
|
116 |
+
} elseif( function_exists('finfo_open') ) {
|
117 |
+
$finfo = finfo_open(FILEINFO_MIME);
|
118 |
+
$mimetype = finfo_file($finfo, $filename);
|
119 |
+
finfo_close($finfo);
|
120 |
+
|
121 |
+
return $mimetype;
|
122 |
+
} else {
|
123 |
+
return 'application/octet-stream';
|
124 |
+
}
|
125 |
}
|
126 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
admin/includes/compatibility.php
ADDED
@@ -0,0 +1,112 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Compatibility with Clearfy old components
|
4 |
+
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
5 |
+
* @copyright (c) 22.10.2018, Webcraftic
|
6 |
+
* @version 1.0
|
7 |
+
*/
|
8 |
+
|
9 |
+
add_action('plugins_loaded', function () {
|
10 |
+
if( defined('WIO_PLUGIN_ACTIVE') ) {
|
11 |
+
if( !file_exists(WP_PLUGIN_DIR . '/robin-image-optimizer/robin-image-optimizer.php') ) {
|
12 |
+
return;
|
13 |
+
}
|
14 |
+
|
15 |
+
$plugin = get_plugin_data(WP_PLUGIN_DIR . '/robin-image-optimizer/robin-image-optimizer.php');
|
16 |
+
|
17 |
+
if( isset($plugin['Version']) && version_compare($plugin['Version'], '1.0.8', '<=') ) {
|
18 |
+
$notice = __('Please update the plugin Robin image Optimizer to the latest version, as it may not work correctly with the new version of Clearfy!', 'clearfy');
|
19 |
+
/**
|
20 |
+
* Выводит уведомление внутри интерфейса Clearfy, на всех страницах плагина.
|
21 |
+
* Это необходимо, чтоб напомнить пользователю обновить конфигурацию компонентов плагина,
|
22 |
+
* иначе вновь активированные компоненты не будет зайдествованы в работе плагина.
|
23 |
+
*
|
24 |
+
* @param Wbcr_Factory409_Plugin $plugin
|
25 |
+
* @param Wbcr_FactoryPages410_ImpressiveThemplate $obj
|
26 |
+
* @return bool
|
27 |
+
*/
|
28 |
+
add_action('wbcr/factory/pages/impressive/print_all_notices', function ($plugin, $obj) use ($notice) {
|
29 |
+
$obj->printErrorNotice($notice);
|
30 |
+
}, 10, 2);
|
31 |
+
|
32 |
+
// Специально для преидущей версии фреймворка (407)
|
33 |
+
add_action('wbcr_factory_pages_407_imppage_print_all_notices', function ($plugin, $obj) use ($notice) {
|
34 |
+
$obj->printErrorNotice($notice);
|
35 |
+
}, 10, 2);
|
36 |
+
}
|
37 |
+
}
|
38 |
+
|
39 |
+
if( defined('WHLP_PLUGIN_ACTIVE') ) {
|
40 |
+
if( !file_exists(WP_PLUGIN_DIR . '/hide-login-page/hide-login-page.php') ) {
|
41 |
+
return;
|
42 |
+
}
|
43 |
+
|
44 |
+
$plugin = get_plugin_data(WP_PLUGIN_DIR . '/hide-login-page/hide-login-page.php');
|
45 |
+
|
46 |
+
if( isset($plugin['Version']) && version_compare($plugin['Version'], '1.0.5', '<=') ) {
|
47 |
+
$notice = __('Please update the plugin Hide login page to the latest version, as it may not work correctly with the new version of Clearfy!', 'clearfy');
|
48 |
+
/**
|
49 |
+
* Выводит уведомление внутри интерфейса Clearfy, на всех страницах плагина.
|
50 |
+
* Это необходимо, чтоб напомнить пользователю обновить конфигурацию компонентов плагина,
|
51 |
+
* иначе вновь активированные компоненты не будет зайдествованы в работе плагина.
|
52 |
+
*
|
53 |
+
* @param Wbcr_Factory409_Plugin $plugin
|
54 |
+
* @param Wbcr_FactoryPages410_ImpressiveThemplate $obj
|
55 |
+
* @return bool
|
56 |
+
*/
|
57 |
+
add_action('wbcr/factory/pages/impressive/print_all_notices', function ($plugin, $obj) use ($notice) {
|
58 |
+
$obj->printErrorNotice($notice);
|
59 |
+
}, 10, 2);
|
60 |
+
|
61 |
+
// Специально для преидущей версии фреймворка (407)
|
62 |
+
add_action('wbcr_factory_pages_407_imppage_print_all_notices', function ($plugin, $obj) use ($notice) {
|
63 |
+
$obj->printErrorNotice($notice);
|
64 |
+
}, 10, 2);
|
65 |
+
}
|
66 |
+
}
|
67 |
+
});
|
68 |
+
|
69 |
+
/**
|
70 |
+
* Дополнительная подсказка, что форма импорта, экспорта перемещена
|
71 |
+
*/
|
72 |
+
add_action('admin_enqueue_scripts', function ($page_id) {
|
73 |
+
|
74 |
+
if( !WbcrFactoryClearfy206_Helpers::strContains($page_id, WCL_Plugin::app()->getPluginName()) ) {
|
75 |
+
return;
|
76 |
+
}
|
77 |
+
|
78 |
+
wp_enqueue_style('wp-pointer');
|
79 |
+
wp_enqueue_script('wp-pointer');
|
80 |
+
|
81 |
+
add_action('admin_print_footer_scripts', function () {
|
82 |
+
$dismissed_pointers = explode(',', get_user_meta(get_current_user_id(), 'dismissed_wp_pointers', true));
|
83 |
+
|
84 |
+
$pointer_setting_content = "<h3>" . sprintf(__('Welcome to Clearfy (%s)', 'clearfy'), '1.4.x') . "</h3>";
|
85 |
+
$pointer_setting_content .= "<p>" . __('We moved the form to import and export plugin settings to another page. Now all settings that relate only to the Clearfy plugin, we will post on this additional page.', 'clearfy') . "</p>";
|
86 |
+
|
87 |
+
?>
|
88 |
+
<script>
|
89 |
+
//<![CDATA[
|
90 |
+
jQuery(document).ready(function($) {
|
91 |
+
<?php if( !in_array('wbcr_clearfy_settings_pointer_1_4_2', $dismissed_pointers) ): ?>
|
92 |
+
$('.wbcr-factory-type-settings').pointer({
|
93 |
+
content: '<?php echo $pointer_setting_content; ?>',
|
94 |
+
position: {
|
95 |
+
edge: 'top', // arrow direction
|
96 |
+
align: 'center' // vertical alignment
|
97 |
+
},
|
98 |
+
pointerWidth: 350,
|
99 |
+
close: function() {
|
100 |
+
$.post(ajaxurl, {
|
101 |
+
pointer: 'wbcr_clearfy_settings_pointer_1_4_2', // pointer ID
|
102 |
+
action: 'dismiss-wp-pointer'
|
103 |
+
});
|
104 |
+
}
|
105 |
+
}).pointer('open');
|
106 |
+
<?php endif; ?>
|
107 |
+
});
|
108 |
+
//]]>
|
109 |
+
</script>
|
110 |
+
<?php
|
111 |
+
}, 20);
|
112 |
+
});
|
admin/includes/options.php
CHANGED
@@ -68,7 +68,7 @@
|
|
68 |
array(
|
69 |
'name' => 'disable_emoji',
|
70 |
'title' => __('Disable Emojis', 'clearfy'),
|
71 |
-
'tags' => array('clear_code','hide_my_wp')
|
72 |
),
|
73 |
/*array(
|
74 |
'name' => 'remove_dns_prefetch',
|
@@ -79,27 +79,27 @@
|
|
79 |
array(
|
80 |
'name' => 'remove_rsd_link',
|
81 |
'title' => __('Remove RSD Link', 'clearfy'),
|
82 |
-
'tags' => array('clear_code','hide_my_wp')
|
83 |
),
|
84 |
array(
|
85 |
'name' => 'remove_wlw_link',
|
86 |
'title' => __('Remove wlwmanifest Link', 'clearfy'),
|
87 |
-
'tags' => array('clear_code','hide_my_wp')
|
88 |
),
|
89 |
array(
|
90 |
'name' => 'remove_shortlink_link',
|
91 |
'title' => __('Remove Shortlink', 'clearfy'),
|
92 |
-
'tags' => array('clear_code','hide_my_wp')
|
93 |
),
|
94 |
array(
|
95 |
'name' => 'remove_adjacent_posts_link',
|
96 |
'title' => __('Remove links to previous, next post', 'clearfy'),
|
97 |
-
'tags' => array('clear_code','hide_my_wp')
|
98 |
),
|
99 |
array(
|
100 |
'name' => 'remove_recent_comments_style',
|
101 |
'title' => __('Remove .recentcomments styles', 'clearfy'),
|
102 |
-
'tags' => array('clear_code','hide_my_wp')
|
103 |
),
|
104 |
/** ------------------------ End Performance page ----------------------------- */
|
105 |
array(
|
@@ -125,9 +125,7 @@
|
|
125 |
array(
|
126 |
'name' => 'yoast_remove_image_from_xml_sitemap',
|
127 |
'title' => sprintf(__('Remove the tag %s from XML site map', 'clearfy'), 'image:image'),
|
128 |
-
'tags' => get_locale() == 'ru_RU'
|
129 |
-
? array('clear_code')
|
130 |
-
: array()
|
131 |
),
|
132 |
array(
|
133 |
'name' => 'yoast_remove_json_ld_search',
|
@@ -177,27 +175,27 @@
|
|
177 |
array(
|
178 |
'name' => 'remove_meta_generator',
|
179 |
'title' => __('Remove meta generator', 'clearfy'),
|
180 |
-
'tags' => array('clear_code', 'defence','hide_my_wp')
|
181 |
),
|
182 |
array(
|
183 |
'name' => 'protect_author_get',
|
184 |
'title' => __('Hide author login', 'clearfy'),
|
185 |
-
'tags' => array('defence','hide_my_wp')
|
186 |
),
|
187 |
array(
|
188 |
'name' => 'change_login_errors',
|
189 |
-
'title' => __('Hide errors when logging into the site', 'clearfy','hide_my_wp'),
|
190 |
-
'tags' => array('defence','hide_my_wp')
|
191 |
),
|
192 |
array(
|
193 |
'name' => 'remove_style_version',
|
194 |
-
'title' => __('Remove Version from Stylesheet', 'clearfy','hide_my_wp'),
|
195 |
-
'tags' => array('clear_code', 'defence','hide_my_wp')
|
196 |
),
|
197 |
array(
|
198 |
'name' => 'remove_js_version',
|
199 |
'title' => __('Remove Version from Script', 'clearfy'),
|
200 |
-
'tags' => array('clear_code', 'defence','hide_my_wp')
|
201 |
),
|
202 |
array(
|
203 |
'name' => 'remove_unneeded_widget_page',
|
@@ -385,4 +383,16 @@
|
|
385 |
'title' => __('Deactivate preinstall components', 'clearfy'),
|
386 |
'tags' => array()
|
387 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
388 |
));
|
68 |
array(
|
69 |
'name' => 'disable_emoji',
|
70 |
'title' => __('Disable Emojis', 'clearfy'),
|
71 |
+
'tags' => array('clear_code', 'hide_my_wp')
|
72 |
),
|
73 |
/*array(
|
74 |
'name' => 'remove_dns_prefetch',
|
79 |
array(
|
80 |
'name' => 'remove_rsd_link',
|
81 |
'title' => __('Remove RSD Link', 'clearfy'),
|
82 |
+
'tags' => array('clear_code', 'hide_my_wp')
|
83 |
),
|
84 |
array(
|
85 |
'name' => 'remove_wlw_link',
|
86 |
'title' => __('Remove wlwmanifest Link', 'clearfy'),
|
87 |
+
'tags' => array('clear_code', 'hide_my_wp')
|
88 |
),
|
89 |
array(
|
90 |
'name' => 'remove_shortlink_link',
|
91 |
'title' => __('Remove Shortlink', 'clearfy'),
|
92 |
+
'tags' => array('clear_code', 'hide_my_wp')
|
93 |
),
|
94 |
array(
|
95 |
'name' => 'remove_adjacent_posts_link',
|
96 |
'title' => __('Remove links to previous, next post', 'clearfy'),
|
97 |
+
'tags' => array('clear_code', 'hide_my_wp')
|
98 |
),
|
99 |
array(
|
100 |
'name' => 'remove_recent_comments_style',
|
101 |
'title' => __('Remove .recentcomments styles', 'clearfy'),
|
102 |
+
'tags' => array('clear_code', 'hide_my_wp')
|
103 |
),
|
104 |
/** ------------------------ End Performance page ----------------------------- */
|
105 |
array(
|
125 |
array(
|
126 |
'name' => 'yoast_remove_image_from_xml_sitemap',
|
127 |
'title' => sprintf(__('Remove the tag %s from XML site map', 'clearfy'), 'image:image'),
|
128 |
+
'tags' => get_locale() == 'ru_RU' ? array('clear_code') : array()
|
|
|
|
|
129 |
),
|
130 |
array(
|
131 |
'name' => 'yoast_remove_json_ld_search',
|
175 |
array(
|
176 |
'name' => 'remove_meta_generator',
|
177 |
'title' => __('Remove meta generator', 'clearfy'),
|
178 |
+
'tags' => array('clear_code', 'defence', 'hide_my_wp')
|
179 |
),
|
180 |
array(
|
181 |
'name' => 'protect_author_get',
|
182 |
'title' => __('Hide author login', 'clearfy'),
|
183 |
+
'tags' => array('defence', 'hide_my_wp')
|
184 |
),
|
185 |
array(
|
186 |
'name' => 'change_login_errors',
|
187 |
+
'title' => __('Hide errors when logging into the site', 'clearfy', 'hide_my_wp'),
|
188 |
+
'tags' => array('defence', 'hide_my_wp')
|
189 |
),
|
190 |
array(
|
191 |
'name' => 'remove_style_version',
|
192 |
+
'title' => __('Remove Version from Stylesheet', 'clearfy', 'hide_my_wp'),
|
193 |
+
'tags' => array('clear_code', 'defence', 'hide_my_wp')
|
194 |
),
|
195 |
array(
|
196 |
'name' => 'remove_js_version',
|
197 |
'title' => __('Remove Version from Script', 'clearfy'),
|
198 |
+
'tags' => array('clear_code', 'defence', 'hide_my_wp')
|
199 |
),
|
200 |
array(
|
201 |
'name' => 'remove_unneeded_widget_page',
|
383 |
'title' => __('Deactivate preinstall components', 'clearfy'),
|
384 |
'tags' => array()
|
385 |
),
|
386 |
+
array(
|
387 |
+
'name' => 'freemius_activated_addons',
|
388 |
+
'title' => __('Freemius activated addons', 'clearfy'),
|
389 |
+
'tags' => array()
|
390 |
+
),
|
391 |
+
/** ------------------------ Clearfy settings ----------------------------- */
|
392 |
+
array(
|
393 |
+
'name' => 'disable_clearfy_extra_menu',
|
394 |
+
'title' => __('Disable menu in adminbar', 'clearfy'),
|
395 |
+
'tags' => array()
|
396 |
+
)
|
397 |
+
|
398 |
));
|
admin/pages/advanced.php
CHANGED
@@ -11,13 +11,13 @@
|
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
-
class WCL_AdvancedPage extends
|
15 |
|
16 |
/**
|
17 |
* The id of the page in the admin menu.
|
18 |
*
|
19 |
* Mainly used to navigate between pages.
|
20 |
-
* @see
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
* @var string
|
@@ -27,6 +27,8 @@
|
|
27 |
public $page_menu_dashicon = 'dashicons-list-view';
|
28 |
|
29 |
public $page_menu_position = 1;
|
|
|
|
|
30 |
|
31 |
/**
|
32 |
* @param WCL_Plugin $plugin
|
@@ -34,6 +36,7 @@
|
|
34 |
public function __construct(WCL_Plugin $plugin)
|
35 |
{
|
36 |
$this->menu_title = __('Advanced', 'clearfy');
|
|
|
37 |
|
38 |
parent::__construct($plugin);
|
39 |
|
@@ -61,7 +64,7 @@
|
|
61 |
{
|
62 |
parent::warningNotice();
|
63 |
|
64 |
-
if( !$this->plugin->
|
65 |
$this->printWarningNotice(__('Warning! In the wp-config.php file, a constant WP_POST_REVISIONS is found, it determines the number of revisions. Delete it so you can change this value through the admin panel.', 'clearfy'));
|
66 |
}
|
67 |
}
|
@@ -72,27 +75,11 @@
|
|
72 |
* @since 1.0.0
|
73 |
* @return mixed[]
|
74 |
*/
|
75 |
-
public function
|
76 |
{
|
77 |
|
78 |
$options = array();
|
79 |
|
80 |
-
$options[] = array(
|
81 |
-
'type' => 'html',
|
82 |
-
'html' => '<div class="wbcr-clearfy-group-header">' . '<strong>' . __('Clearfy options', 'clearfy') . '</strong>' . '<p>' . __('This group of settings allows you to configure the work of the Clearfy plugin.', 'clearfy') . '</p>' . '</div>'
|
83 |
-
);
|
84 |
-
|
85 |
-
$options[] = array(
|
86 |
-
'type' => 'checkbox',
|
87 |
-
'way' => 'buttons',
|
88 |
-
'name' => 'disable_clearfy_extra_menu',
|
89 |
-
'title' => __('Disable Clearfy extra menu', 'clearfy'),
|
90 |
-
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
|
91 |
-
'hint' => __('This setting allows you to disable the additional menu of the Clearfy plugin, in the admin bar. This menu is required to work with the Minify and Combine and Assets Manager components.', 'clearfy'),
|
92 |
-
'default' => false
|
93 |
-
);
|
94 |
-
|
95 |
-
|
96 |
$options[] = array(
|
97 |
'type' => 'html',
|
98 |
'html' => '<div class="wbcr-clearfy-group-header">' . '<strong>' . __('Heartbeat', 'clearfy') . '</strong>' . '<p>' . __('The WordPress Heartbeat API uses /wp-admin/admin-ajax.php to run AJAX calls from the web-browser. While this is great and all it can also cause high CPU usage and crazy amounts of PHP calls. For example, if you leave your dashboard open it will keep sending POST requests to this file on a regular interval, every 15 seconds. Here is an example below of it happening.', 'clearfy') . '</p>' . '</div>'
|
@@ -304,4 +291,4 @@ So we recommend either disabling or limiting your revisions. ', 'clearfy'),
|
|
304 |
|
305 |
return apply_filters('wbcr_clr_additionally_form_options', $formOptions, $this);
|
306 |
}
|
307 |
-
}
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
+
class WCL_AdvancedPage extends Wbcr_FactoryClearfy206_PageBase {
|
15 |
|
16 |
/**
|
17 |
* The id of the page in the admin menu.
|
18 |
*
|
19 |
* Mainly used to navigate between pages.
|
20 |
+
* @see FactoryPages410_AdminPage
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
* @var string
|
27 |
public $page_menu_dashicon = 'dashicons-list-view';
|
28 |
|
29 |
public $page_menu_position = 1;
|
30 |
+
|
31 |
+
public $available_for_multisite = true;
|
32 |
|
33 |
/**
|
34 |
* @param WCL_Plugin $plugin
|
36 |
public function __construct(WCL_Plugin $plugin)
|
37 |
{
|
38 |
$this->menu_title = __('Advanced', 'clearfy');
|
39 |
+
$this->page_menu_short_description = __('Useful tweaks', 'clearfy');
|
40 |
|
41 |
parent::__construct($plugin);
|
42 |
|
64 |
{
|
65 |
parent::warningNotice();
|
66 |
|
67 |
+
if( !$this->plugin->getPopulateOption('revisions_disable') && $this->isPostRevisionConstant() ) {
|
68 |
$this->printWarningNotice(__('Warning! In the wp-config.php file, a constant WP_POST_REVISIONS is found, it determines the number of revisions. Delete it so you can change this value through the admin panel.', 'clearfy'));
|
69 |
}
|
70 |
}
|
75 |
* @since 1.0.0
|
76 |
* @return mixed[]
|
77 |
*/
|
78 |
+
public function getPageOptions()
|
79 |
{
|
80 |
|
81 |
$options = array();
|
82 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
83 |
$options[] = array(
|
84 |
'type' => 'html',
|
85 |
'html' => '<div class="wbcr-clearfy-group-header">' . '<strong>' . __('Heartbeat', 'clearfy') . '</strong>' . '<p>' . __('The WordPress Heartbeat API uses /wp-admin/admin-ajax.php to run AJAX calls from the web-browser. While this is great and all it can also cause high CPU usage and crazy amounts of PHP calls. For example, if you leave your dashboard open it will keep sending POST requests to this file on a regular interval, every 15 seconds. Here is an example below of it happening.', 'clearfy') . '</p>' . '</div>'
|
291 |
|
292 |
return apply_filters('wbcr_clr_additionally_form_options', $formOptions, $this);
|
293 |
}
|
294 |
+
}
|
admin/pages/clearfy-settings.php
ADDED
@@ -0,0 +1,257 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* The page Settings.
|
5 |
+
*
|
6 |
+
* @since 1.0.0
|
7 |
+
*/
|
8 |
+
|
9 |
+
// Exit if accessed directly
|
10 |
+
if( !defined('ABSPATH') ) {
|
11 |
+
exit;
|
12 |
+
}
|
13 |
+
|
14 |
+
class WCL_ClearfySettingsPage extends Wbcr_FactoryClearfy206_PageBase {
|
15 |
+
|
16 |
+
/**
|
17 |
+
* The id of the page in the admin menu.
|
18 |
+
*
|
19 |
+
* Mainly used to navigate between pages.
|
20 |
+
* @see FactoryPages410_AdminPage
|
21 |
+
*
|
22 |
+
* @since 1.0.0
|
23 |
+
* @var string
|
24 |
+
*/
|
25 |
+
public $id = "clearfy_settings";
|
26 |
+
|
27 |
+
/**
|
28 |
+
* @var string
|
29 |
+
*/
|
30 |
+
public $page_parent_page = 'none';
|
31 |
+
|
32 |
+
/**
|
33 |
+
* @var string
|
34 |
+
*/
|
35 |
+
public $page_menu_dashicon = 'dashicons-list-view';
|
36 |
+
|
37 |
+
/**
|
38 |
+
* @var bool
|
39 |
+
*/
|
40 |
+
public $available_for_multisite = true;
|
41 |
+
|
42 |
+
/**
|
43 |
+
* @param WCL_Plugin $plugin
|
44 |
+
*/
|
45 |
+
public function __construct(WCL_Plugin $plugin)
|
46 |
+
{
|
47 |
+
$this->menu_title = __('Clearfy Settings', 'clearfy');
|
48 |
+
$this->page_menu_short_description = __('Useful tweaks', 'clearfy');
|
49 |
+
|
50 |
+
parent::__construct($plugin);
|
51 |
+
|
52 |
+
$this->plugin = $plugin;
|
53 |
+
}
|
54 |
+
|
55 |
+
|
56 |
+
/**
|
57 |
+
* Requests assets (js and css) for the page.
|
58 |
+
*
|
59 |
+
* @see FactoryPages410_AdminPage
|
60 |
+
*
|
61 |
+
* @since 1.0.0
|
62 |
+
* @return void
|
63 |
+
*/
|
64 |
+
public function assets($scripts, $styles)
|
65 |
+
{
|
66 |
+
parent::assets($scripts, $styles);
|
67 |
+
|
68 |
+
$this->scripts->add(WCL_PLUGIN_URL . '/admin/assets/js/general.js');
|
69 |
+
|
70 |
+
$params = array(
|
71 |
+
'import_options_nonce' => wp_create_nonce('wbcr_clearfy_import_options'),
|
72 |
+
'i18n' => array(
|
73 |
+
'success_update_settings' => __('Settings successfully updated!', 'clearfy'),
|
74 |
+
'unknown_error' => __('During the setup, an unknown error occurred, please try again or contact the plugin support.', 'clearfy'),
|
75 |
+
)
|
76 |
+
);
|
77 |
+
|
78 |
+
wp_localize_script('jquery', 'wbcr_clearfy_ajax', $params);
|
79 |
+
}
|
80 |
+
|
81 |
+
/**
|
82 |
+
* Permalinks options.
|
83 |
+
*
|
84 |
+
* @since 1.0.0
|
85 |
+
* @return mixed[]
|
86 |
+
*/
|
87 |
+
public function getPageOptions()
|
88 |
+
{
|
89 |
+
|
90 |
+
$options = array();
|
91 |
+
|
92 |
+
$options[] = array(
|
93 |
+
'type' => 'html',
|
94 |
+
'html' => '<div class="wbcr-clearfy-group-header">' . '<strong>' . __('Advanced settings', 'clearfy') . '</strong>' . '<p>' . __('This group of settings allows you to configure the work of the Clearfy plugin.', 'clearfy') . '</p>' . '</div>'
|
95 |
+
);
|
96 |
+
|
97 |
+
$options[] = array(
|
98 |
+
'type' => 'checkbox',
|
99 |
+
'way' => 'buttons',
|
100 |
+
'name' => 'disable_clearfy_extra_menu',
|
101 |
+
'title' => __('Disable menu in adminbar', 'clearfy'),
|
102 |
+
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'red'),
|
103 |
+
'hint' => __('This setting allows you to disable the additional menu of the Clearfy plugin, in the admin bar. This menu is required to work with the Minify and Combine and Assets Manager components.', 'clearfy'),
|
104 |
+
'default' => false
|
105 |
+
);
|
106 |
+
|
107 |
+
$options[] = array(
|
108 |
+
'type' => 'checkbox',
|
109 |
+
'way' => 'buttons',
|
110 |
+
'name' => 'save_all_settings_after_uninstall',
|
111 |
+
'title' => __('Save all settings', 'clearfy'),
|
112 |
+
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'green'),
|
113 |
+
'hint' => __("If On, the plugin's settings will be stored in the database, even if you delete the plugin. This is useful if you have a problem with the plugins and you decide to return to the previous version. Disable this option if you want the plugins to clean all settings after removal.", 'clearfy'),
|
114 |
+
'default' => false
|
115 |
+
);
|
116 |
+
|
117 |
+
|
118 |
+
|
119 |
+
$options[] = array(
|
120 |
+
'type' => 'html',
|
121 |
+
'html' => '<div class="wbcr-clearfy-group-header">' . '<strong>' . __('Import/Export', 'clearfy') . '</strong>' . '<p>' . __('This group of settings allows you to configure the work of the Clearfy plugin.', 'clearfy') . '</p>' . '</div>'
|
122 |
+
);
|
123 |
+
|
124 |
+
$options[] = array(
|
125 |
+
'type' => 'html',
|
126 |
+
'html' => array($this, 'export')
|
127 |
+
);
|
128 |
+
|
129 |
+
$options[] = array(
|
130 |
+
'type' => 'html',
|
131 |
+
'html' => '<div class="wbcr-clearfy-group-header">' . '<strong>' . __('Support', 'clearfy') . '</strong>' . '<p>' . __('This group of settings allows you to configure the work of the Clearfy plugin.', 'clearfy') . '</p>' . '</div>'
|
132 |
+
);
|
133 |
+
|
134 |
+
$options[] = array(
|
135 |
+
'type' => 'html',
|
136 |
+
'html' => array($this, 'supports')
|
137 |
+
);
|
138 |
+
|
139 |
+
$formOptions = array();
|
140 |
+
|
141 |
+
$formOptions[] = array(
|
142 |
+
'type' => 'form-group',
|
143 |
+
'items' => $options,
|
144 |
+
//'cssClass' => 'postbox'
|
145 |
+
);
|
146 |
+
|
147 |
+
return apply_filters('wbcr/clearfy/settings_form_options', $formOptions, $this);
|
148 |
+
}
|
149 |
+
|
150 |
+
public function export()
|
151 |
+
{
|
152 |
+
?>
|
153 |
+
<div class="wbcr-clearfy-export-import">
|
154 |
+
<p>
|
155 |
+
<label for="wbcr-clearfy-import-export">
|
156 |
+
<strong><?php _e('Import/Export settings', 'clearfy') ?></strong>
|
157 |
+
</label>
|
158 |
+
<textarea id="wbcr-clearfy-import-export"><?= WCL_Helper::getExportOptions(); ?></textarea>
|
159 |
+
<button class="button wbcr-clearfy-import-options-button"><?php _e('Import options', 'clearfy') ?></button>
|
160 |
+
</p>
|
161 |
+
</div>
|
162 |
+
<?php
|
163 |
+
}
|
164 |
+
|
165 |
+
public function supports()
|
166 |
+
{
|
167 |
+
?>
|
168 |
+
<div class="wbcr-clearfy-troubleshooting">
|
169 |
+
<p><?php _e('If you faced with any issues, please follow the steps below to get quickly quality support:', 'clearfy') ?></p>
|
170 |
+
<ol>
|
171 |
+
<li>
|
172 |
+
<p><?php _e('Generate a debug report which will contains inforamtion about your configuratin and installed plugins', 'clearfy') ?></p>
|
173 |
+
|
174 |
+
<p>
|
175 |
+
<a href="<?= $this->getActionUrl('gererate_report'); ?>" class="button"><?php _e('Generate Debug Report', 'clearfy') ?></a>
|
176 |
+
</p>
|
177 |
+
</li>
|
178 |
+
<li>
|
179 |
+
<p><?php _e('Send a message to <b>wordpress.webraftic@gmail.com</b> include the debug report into the message body.', 'clearfy'); ?></p>
|
180 |
+
</li>
|
181 |
+
</ol>
|
182 |
+
<p style="margin-bottom: 0px;"><?php _e('We guarantee to respond you within 7 business day.', 'clearfy') ?></p>
|
183 |
+
</div>
|
184 |
+
<?php
|
185 |
+
}
|
186 |
+
|
187 |
+
/**
|
188 |
+
* Collects error and system error data
|
189 |
+
* @return string
|
190 |
+
*/
|
191 |
+
public function getDebugReport()
|
192 |
+
{
|
193 |
+
$run_time = number_format(microtime(true), 3);
|
194 |
+
$pps = number_format(1 / $run_time, 0);
|
195 |
+
$memory_avail = ini_get('memory_limit');
|
196 |
+
$memory_used = number_format(memory_get_usage(true) / (1024 * 1024), 2);
|
197 |
+
$memory_peak = number_format(memory_get_peak_usage(true) / (1024 * 1024), 2);
|
198 |
+
|
199 |
+
$debug = '';
|
200 |
+
if( PHP_SAPI == 'cli' ) {
|
201 |
+
// if run for command line, display some info
|
202 |
+
$debug = PHP_EOL . "======================================================================================" . PHP_EOL . " Config: php " . phpversion() . " " . php_sapi_name() . " / zend engine " . zend_version() . PHP_EOL . " Load: {$memory_avail} (avail) / {$memory_used}M (used) / {$memory_peak}M (peak)" . " | Time: {$run_time}s | {$pps} req/sec" . PHP_EOL . " | Server Timezone: " . date_default_timezone_get() . " | Agent: CLI" . PHP_EOL . "======================================================================================" . PHP_EOL;
|
203 |
+
} else {
|
204 |
+
// if not run from command line, only display if debug is enabled
|
205 |
+
$debug = "" //<hr />"
|
206 |
+
. "<div style=\"text-align: left;\">" . "<hr />" . " Config: " . "<br />" . " | php " . phpversion() . " " . php_sapi_name() . " / zend engine " . zend_version() . "<br />" . " | Server Timezone: " . date_default_timezone_get() . "<br />" . " Load: " . "<br />" . " | Memory: {$memory_avail} (avail) / {$memory_used}M (used) / {$memory_peak}M (peak)" . "<br />" . " | Time: {$run_time}s | {$pps} req/sec" . "<br />" . "Url: " . "<br />" . " |" . "<br />" . " | Agent: " . (@$_SERVER["HTTP_USER_AGENT"]) . "<br />" . "Version Control: " . "<br />" . " </div>" . "<br />";
|
207 |
+
}
|
208 |
+
|
209 |
+
$debug .= "Plugins<br>";
|
210 |
+
$debug .= "=====================<br>";
|
211 |
+
|
212 |
+
$plugins = get_plugins();
|
213 |
+
|
214 |
+
require_once ABSPATH . '/wp-admin/includes/plugin.php';
|
215 |
+
foreach($plugins as $path => $plugin) {
|
216 |
+
if( is_plugin_active($path) ) {
|
217 |
+
$debug .= $plugin['Name'] . '<br>';
|
218 |
+
}
|
219 |
+
}
|
220 |
+
|
221 |
+
return $debug;
|
222 |
+
}
|
223 |
+
|
224 |
+
/**
|
225 |
+
* Generates a report about the system and plug-in error
|
226 |
+
* @return string
|
227 |
+
*/
|
228 |
+
public function gererateReportAction()
|
229 |
+
{
|
230 |
+
require_once(WCL_PLUGIN_DIR . '/includes/classes/class.zip-archive.php');
|
231 |
+
|
232 |
+
$reposts_dir = WCL_PLUGIN_DIR . '/reports';
|
233 |
+
$reports_temp = $reposts_dir . '/temp';
|
234 |
+
|
235 |
+
if( !file_exists($reposts_dir) ) {
|
236 |
+
mkdir($reposts_dir, 0777, true);
|
237 |
+
}
|
238 |
+
|
239 |
+
if( !file_exists($reports_temp) ) {
|
240 |
+
mkdir($reports_temp, 0777, true);
|
241 |
+
}
|
242 |
+
|
243 |
+
$file = fopen($reports_temp . '/site-info.html', 'w+');
|
244 |
+
fputs($file, $this->getDebugReport());
|
245 |
+
fclose($file);
|
246 |
+
|
247 |
+
$download_file_name = 'webcraftic-clearfy-report-' . date('Y.m.d-H.i.s') . '.zip';
|
248 |
+
$download_file_path = WCL_PLUGIN_DIR . '/reports/' . $download_file_name;
|
249 |
+
|
250 |
+
Wbcr_ExtendedZip::zipTree(WCL_PLUGIN_DIR . '/reports/temp', $download_file_path, ZipArchive::CREATE);
|
251 |
+
|
252 |
+
array_map('unlink', glob(WCL_PLUGIN_DIR . "/reports/temp/*"));
|
253 |
+
|
254 |
+
wp_redirect(WCL_PLUGIN_URL . '/reports/' . $download_file_name);
|
255 |
+
exit;
|
256 |
+
}
|
257 |
+
}
|
admin/pages/components.php
CHANGED
@@ -13,13 +13,13 @@
|
|
13 |
exit;
|
14 |
}
|
15 |
|
16 |
-
class WCL_ComponentsPage extends
|
17 |
|
18 |
/**
|
19 |
* The id of the page in the admin menu.
|
20 |
*
|
21 |
* Mainly used to navigate between pages.
|
22 |
-
* @see
|
23 |
*
|
24 |
* @since 1.0.0
|
25 |
* @var string
|
@@ -32,12 +32,17 @@
|
|
32 |
|
33 |
public $type = 'page';
|
34 |
|
|
|
|
|
|
|
|
|
35 |
/**
|
36 |
* @param WCL_Plugin $plugin
|
37 |
*/
|
38 |
public function __construct(WCL_Plugin $plugin)
|
39 |
{
|
40 |
$this->menu_title = __('Components', 'clearfy');
|
|
|
41 |
|
42 |
parent::__construct($plugin);
|
43 |
|
@@ -47,7 +52,7 @@
|
|
47 |
/**
|
48 |
* Requests assets (js and css) for the page.
|
49 |
*
|
50 |
-
* @see
|
51 |
*
|
52 |
* @since 1.0.0
|
53 |
* @return void
|
@@ -57,22 +62,105 @@
|
|
57 |
parent::assets($scripts, $styles);
|
58 |
|
59 |
$this->styles->add(WCL_PLUGIN_URL . '/admin/assets/css/components.css');
|
60 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
61 |
}
|
62 |
-
|
63 |
-
|
|
|
|
|
|
|
|
|
64 |
$package_plugin = WCL_Package::instance();
|
65 |
$package_update_notice = $package_plugin->getUpdateNotice();
|
66 |
|
67 |
-
|
68 |
-
|
69 |
-
$this->printWarningNotice( $package_update_notice );
|
70 |
}
|
71 |
}
|
72 |
-
|
73 |
-
public function order( $components ) {
|
74 |
|
75 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
76 |
$ordered_components = array(
|
77 |
'premium_active' => array(),
|
78 |
'premium_deactive' => array(),
|
@@ -80,26 +168,26 @@
|
|
80 |
'free_deactive' => array(),
|
81 |
);
|
82 |
$order_key = 'free_deactive';
|
83 |
-
foreach
|
84 |
-
if
|
85 |
-
if
|
86 |
-
//
|
87 |
$order_key = 'free_deactive';
|
88 |
} else {
|
89 |
-
//
|
90 |
$order_key = 'free_active';
|
91 |
}
|
92 |
-
} elseif
|
93 |
-
if
|
94 |
-
//
|
95 |
-
if
|
96 |
$order_key = 'free_active';
|
97 |
} else {
|
98 |
$order_key = 'free_deactive';
|
99 |
}
|
100 |
} else {
|
101 |
-
//
|
102 |
-
if
|
103 |
$order_key = 'premium_active';
|
104 |
} else {
|
105 |
$order_key = 'premium_deactive';
|
@@ -109,28 +197,31 @@
|
|
109 |
$ordered_components[$order_key][] = $component;
|
110 |
}
|
111 |
|
112 |
-
return array_merge(
|
113 |
-
$ordered_components['premium_active'],
|
114 |
-
$ordered_components['premium_deactive'],
|
115 |
-
$ordered_components['free_active'],
|
116 |
-
$ordered_components['free_deactive']
|
117 |
-
);
|
118 |
}
|
119 |
|
|
|
|
|
|
|
|
|
|
|
120 |
public function showPageContent()
|
121 |
{
|
122 |
-
$freemius_activated_addons = WCL_Plugin::app()->
|
123 |
|
124 |
$default_image = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzNjAiIGhlaWdodD0iMzYwIiB2aWV3Ym94PSIwIDAgMzYwIDM2MCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0icmdiKDcwLCA4MSwgOTMpIiAvPjxwb2x5bGluZSBwb2ludHM9IjE5LjgsMCw0MC4yLDAsNjAsMTkuOCw2MCw0MC4yLDQwLjIsNjAsMTkuOCw2MCwwLDQwLjIsMCwxOS44LDE5LjgsMCIgZmlsbD0iIzIyMiIgZmlsbC1vcGFjaXR5PSIwLjE1IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLCAwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiNkZGQiIGZpbGwtb3BhY2l0eT0iMC4wNTQ2NjY2NjY2NjY2NjciIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYwLCAwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiMyMjIiIGZpbGwtb3BhY2l0eT0iMC4wNDYiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyMCwgMCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjZGRkIiBmaWxsLW9wYWNpdHk9IjAuMDIiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4MCwgMCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjZGRkIiBmaWxsLW9wYWNpdHk9IjAuMDU0NjY2NjY2NjY2NjY3IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNDAsIDApIiAvPjxwb2x5bGluZSBwb2ludHM9IjE5LjgsMCw0MC4yLDAsNjAsMTkuOCw2MCw0MC4yLDQwLjIsNjAsMTkuOCw2MCwwLDQwLjIsMCwxOS44LDE5LjgsMCIgZmlsbD0iIzIyMiIgZmlsbC1vcGFjaXR5PSIwLjAyODY2NjY2NjY2NjY2NyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzAwLCAwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiNkZGQiIGZpbGwtb3BhY2l0eT0iMC4xMDY2NjY2NjY2NjY2NyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwgNjApIiAvPjxwb2x5bGluZSBwb2ludHM9IjE5LjgsMCw0MC4yLDAsNjAsMTkuOCw2MCw0MC4yLDQwLjIsNjAsMTkuOCw2MCwwLDQwLjIsMCwxOS44LDE5LjgsMCIgZmlsbD0iIzIyMiIgZmlsbC1vcGFjaXR5PSIwLjA5OCIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjAsIDYwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiMyMjIiIGZpbGwtb3BhY2l0eT0iMC4xMTUzMzMzMzMzMzMzMyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTIwLCA2MCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjMjIyIiBmaWxsLW9wYWNpdHk9IjAuMDYzMzMzMzMzMzMzMzMzIiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxODAsIDYwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiNkZGQiIGZpbGwtb3BhY2l0eT0iMC4wMzczMzMzMzMzMzMzMzMiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI0MCwgNjApIiAvPjxwb2x5bGluZSBwb2ludHM9IjE5LjgsMCw0MC4yLDAsNjAsMTkuOCw2MCw0MC4yLDQwLjIsNjAsMTkuOCw2MCwwLDQwLjIsMCwxOS44LDE5LjgsMCIgZmlsbD0iI2RkZCIgZmlsbC1vcGFjaXR5PSIwLjE0MTMzMzMzMzMzMzMzIiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMDAsIDYwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiNkZGQiIGZpbGwtb3BhY2l0eT0iMC4wMzczMzMzMzMzMzMzMzMiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsIDEyMCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjZGRkIiBmaWxsLW9wYWNpdHk9IjAuMDg5MzMzMzMzMzMzMzMzIiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2MCwgMTIwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiNkZGQiIGZpbGwtb3BhY2l0eT0iMC4wODkzMzMzMzMzMzMzMzMiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyMCwgMTIwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiMyMjIiIGZpbGwtb3BhY2l0eT0iMC4wODA2NjY2NjY2NjY2NjciIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4MCwgMTIwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiMyMjIiIGZpbGwtb3BhY2l0eT0iMC4xMzI2NjY2NjY2NjY2NyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjQwLCAxMjApIiAvPjxwb2x5bGluZSBwb2ludHM9IjE5LjgsMCw0MC4yLDAsNjAsMTkuOCw2MCw0MC4yLDQwLjIsNjAsMTkuOCw2MCwwLDQwLjIsMCwxOS44LDE5LjgsMCIgZmlsbD0iIzIyMiIgZmlsbC1vcGFjaXR5PSIwLjE1IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMDAsIDEyMCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjMjIyIiBmaWxsLW9wYWNpdHk9IjAuMDk4IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLCAxODApIiAvPjxwb2x5bGluZSBwb2ludHM9IjE5LjgsMCw0MC4yLDAsNjAsMTkuOCw2MCw0MC4yLDQwLjIsNjAsMTkuOCw2MCwwLDQwLjIsMCwxOS44LDE5LjgsMCIgZmlsbD0iIzIyMiIgZmlsbC1vcGFjaXR5PSIwLjA2MzMzMzMzMzMzMzMzMyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjAsIDE4MCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjZGRkIiBmaWxsLW9wYWNpdHk9IjAuMDIiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyMCwgMTgwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiNkZGQiIGZpbGwtb3BhY2l0eT0iMC4wMzczMzMzMzMzMzMzMzMiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4MCwgMTgwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiMyMjIiIGZpbGwtb3BhY2l0eT0iMC4xMTUzMzMzMzMzMzMzMyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjQwLCAxODApIiAvPjxwb2x5bGluZSBwb2ludHM9IjE5LjgsMCw0MC4yLDAsNjAsMTkuOCw2MCw0MC4yLDQwLjIsNjAsMTkuOCw2MCwwLDQwLjIsMCwxOS44LDE5LjgsMCIgZmlsbD0iIzIyMiIgZmlsbC1vcGFjaXR5PSIwLjA2MzMzMzMzMzMzMzMzMyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzAwLCAxODApIiAvPjxwb2x5bGluZSBwb2ludHM9IjE5LjgsMCw0MC4yLDAsNjAsMTkuOCw2MCw0MC4yLDQwLjIsNjAsMTkuOCw2MCwwLDQwLjIsMCwxOS44LDE5LjgsMCIgZmlsbD0iI2RkZCIgZmlsbC1vcGFjaXR5PSIwLjA1NDY2NjY2NjY2NjY2NyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwgMjQwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiNkZGQiIGZpbGwtb3BhY2l0eT0iMC4xMDY2NjY2NjY2NjY2NyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjAsIDI0MCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjZGRkIiBmaWxsLW9wYWNpdHk9IjAuMDcyIiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMjAsIDI0MCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjMjIyIiBmaWxsLW9wYWNpdHk9IjAuMTE1MzMzMzMzMzMzMzMiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4MCwgMjQwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiMyMjIiIGZpbGwtb3BhY2l0eT0iMC4xMzI2NjY2NjY2NjY2NyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjQwLCAyNDApIiAvPjxwb2x5bGluZSBwb2ludHM9IjE5LjgsMCw0MC4yLDAsNjAsMTkuOCw2MCw0MC4yLDQwLjIsNjAsMTkuOCw2MCwwLDQwLjIsMCwxOS44LDE5LjgsMCIgZmlsbD0iIzIyMiIgZmlsbC1vcGFjaXR5PSIwLjA4MDY2NjY2NjY2NjY2NyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzAwLCAyNDApIiAvPjxwb2x5bGluZSBwb2ludHM9IjE5LjgsMCw0MC4yLDAsNjAsMTkuOCw2MCw0MC4yLDQwLjIsNjAsMTkuOCw2MCwwLDQwLjIsMCwxOS44LDE5LjgsMCIgZmlsbD0iIzIyMiIgZmlsbC1vcGFjaXR5PSIwLjEzMjY2NjY2NjY2NjY3IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLCAzMDApIiAvPjxwb2x5bGluZSBwb2ludHM9IjE5LjgsMCw0MC4yLDAsNjAsMTkuOCw2MCw0MC4yLDQwLjIsNjAsMTkuOCw2MCwwLDQwLjIsMCwxOS44LDE5LjgsMCIgZmlsbD0iI2RkZCIgZmlsbC1vcGFjaXR5PSIwLjAzNzMzMzMzMzMzMzMzMyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjAsIDMwMCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjZGRkIiBmaWxsLW9wYWNpdHk9IjAuMTI0IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMjAsIDMwMCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjMjIyIiBmaWxsLW9wYWNpdHk9IjAuMDI4NjY2NjY2NjY2NjY3IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxODAsIDMwMCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjZGRkIiBmaWxsLW9wYWNpdHk9IjAuMDcyIiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNDAsIDMwMCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjMjIyIiBmaWxsLW9wYWNpdHk9IjAuMDI4NjY2NjY2NjY2NjY3IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMDAsIDMwMCkiIC8+PC9zdmc+';
|
|
|
125 |
|
126 |
-
|
|
|
|
|
127 |
array(
|
128 |
'name' => 'robin_image_optimizer',
|
129 |
'title' => __('Robin image optimizer', 'clearfy'),
|
130 |
'url' => 'https://wordpress.org/plugins/robin-image-optimizer/',
|
131 |
'type' => 'wordpress',
|
132 |
'base_path' => 'robin-image-optimizer/robin-image-optimizer.php',
|
133 |
-
'icon' =>
|
134 |
'description' => __('Automatic image optimization without any quality loss. No limitations, no paid plans. The best Wordpress image optimization plugin allows optimizing any amount of images for free!', 'clearfy')
|
135 |
),
|
136 |
array(
|
@@ -163,7 +254,7 @@
|
|
163 |
'title' => __('Google Analytics Cache', 'clearfy'),
|
164 |
'url' => 'https://wordpress.org/plugins/simple-google-analytics/',
|
165 |
'type' => 'internal',
|
166 |
-
'icon' =>
|
167 |
'description' => __('To improve Google Page Speed indicators Analytics caching is needed. However, it can also slightly increase your website loading speed, because Analytics js files will load locally.', 'clearfy')
|
168 |
),
|
169 |
array(
|
@@ -191,7 +282,7 @@
|
|
191 |
'description' => __('Disable unused widgets such as tag cloud, links, calendar etc.', 'clearfy')
|
192 |
),
|
193 |
array(
|
194 |
-
'name' => '
|
195 |
'title' => __('Asset manager', 'clearfy'),
|
196 |
'url' => '#',
|
197 |
'type' => 'internal',
|
@@ -230,7 +321,7 @@
|
|
230 |
'icon' => $default_image,
|
231 |
'description' => __('Set of optimization functions for the popular Yoast SEO plugin.', 'clearfy')
|
232 |
)
|
233 |
-
);
|
234 |
|
235 |
$response[] = array(
|
236 |
'name' => 'cyrlitera',
|
@@ -244,31 +335,31 @@
|
|
244 |
$licensing = WCL_Licensing::instance();
|
245 |
$freemius_addons_data = $licensing->getAddons(); // получаем все аддоны
|
246 |
|
247 |
-
if
|
248 |
-
foreach(
|
249 |
$is_free_addon = false;
|
250 |
-
if
|
251 |
$is_free_addon = true;
|
252 |
}
|
253 |
-
$actual_version = isset(
|
254 |
-
if
|
255 |
-
$actual_version = $licensing->getAddonCurrentVersion(
|
256 |
}
|
257 |
$component = array(
|
258 |
-
'name'
|
259 |
-
'slug'
|
260 |
-
'title'
|
261 |
-
'type'
|
262 |
-
'installed'
|
263 |
-
'is_free'
|
264 |
-
'actived'
|
265 |
-
'version'
|
266 |
-
'url'
|
267 |
-
'icon'
|
268 |
-
'description' => isset(
|
269 |
);
|
270 |
|
271 |
-
if
|
272 |
$component['actived'] = true;
|
273 |
}
|
274 |
|
@@ -276,7 +367,14 @@
|
|
276 |
}
|
277 |
}
|
278 |
|
279 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
280 |
?>
|
281 |
<div class="wbcr-factory-page-group-header"><?php _e('<strong>Plugin Components</strong>.', 'clearfy') ?>
|
282 |
<p>
|
@@ -285,38 +383,37 @@
|
|
285 |
</div>
|
286 |
|
287 |
<div class="wbcr-clearfy-components">
|
288 |
-
<?php foreach($
|
289 |
<?php
|
290 |
|
291 |
$slug = $component['name'];
|
292 |
|
293 |
-
if($component['type'] == 'wordpress') {
|
294 |
$slug = $component['base_path'];
|
295 |
}
|
296 |
|
297 |
if( $component['type'] == 'freemius' ) {
|
298 |
$install_button = WCL_Plugin::app()->getInstallComponentsButton($component['type'], $slug);
|
299 |
|
300 |
-
if(
|
301 |
$status_class = ' plugin-status-deactive';
|
302 |
} else {
|
303 |
$status_class = ' plugin-status-active';
|
304 |
}
|
305 |
|
306 |
-
if(!$component['is_free']) {
|
307 |
$status_class .= ' premium';
|
308 |
}
|
309 |
-
|
310 |
} else {
|
311 |
$install_button = WCL_Plugin::app()->getInstallComponentsButton($component['type'], $slug);
|
312 |
|
313 |
$status_class = '';
|
314 |
-
if(!$install_button->isPluginActivate()) {
|
315 |
$status_class = ' plugin-status-deactive';
|
316 |
}
|
317 |
}
|
318 |
|
319 |
-
$install_button->addClass(
|
320 |
|
321 |
// Delete button
|
322 |
$delete_button = WCL_Plugin::app()->getDeleteComponentsButton($component['type'], $slug);
|
@@ -325,7 +422,7 @@
|
|
325 |
?>
|
326 |
|
327 |
<div class="plugin-card<?= $status_class ?>">
|
328 |
-
<?php if($component['type'] == 'freemius' && !$component['is_free']): ?>
|
329 |
<div class="premium-ribbon"><?php _e('Premium', 'clearfy') ?></div>
|
330 |
<?php endif; ?>
|
331 |
<div class="plugin-card-top">
|
@@ -339,8 +436,10 @@
|
|
339 |
</div>
|
340 |
<div class="desc column-description">
|
341 |
<p><?= $component['description']; ?></p>
|
342 |
-
<?php //
|
343 |
-
<?php if
|
|
|
|
|
344 |
</div>
|
345 |
</div>
|
346 |
<div class="plugin-card-bottom">
|
@@ -348,11 +447,19 @@
|
|
348 |
</div>
|
349 |
</div>
|
350 |
<?php endforeach; ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
351 |
<div class="clearfix"></div>
|
352 |
</div>
|
353 |
<?php
|
354 |
}
|
355 |
-
|
356 |
}
|
357 |
|
358 |
|
13 |
exit;
|
14 |
}
|
15 |
|
16 |
+
class WCL_ComponentsPage extends Wbcr_FactoryClearfy206_PageBase {
|
17 |
|
18 |
/**
|
19 |
* The id of the page in the admin menu.
|
20 |
*
|
21 |
* Mainly used to navigate between pages.
|
22 |
+
* @see FactoryPages410_AdminPage
|
23 |
*
|
24 |
* @since 1.0.0
|
25 |
* @var string
|
32 |
|
33 |
public $type = 'page';
|
34 |
|
35 |
+
public $show_right_sidebar_in_options = false;
|
36 |
+
|
37 |
+
public $available_for_multisite = true;
|
38 |
+
|
39 |
/**
|
40 |
* @param WCL_Plugin $plugin
|
41 |
*/
|
42 |
public function __construct(WCL_Plugin $plugin)
|
43 |
{
|
44 |
$this->menu_title = __('Components', 'clearfy');
|
45 |
+
$this->page_menu_short_description = __('More features for plugin', 'clearfy');
|
46 |
|
47 |
parent::__construct($plugin);
|
48 |
|
52 |
/**
|
53 |
* Requests assets (js and css) for the page.
|
54 |
*
|
55 |
+
* @see FactoryPages410_AdminPage
|
56 |
*
|
57 |
* @since 1.0.0
|
58 |
* @return void
|
62 |
parent::assets($scripts, $styles);
|
63 |
|
64 |
$this->styles->add(WCL_PLUGIN_URL . '/admin/assets/css/components.css');
|
65 |
+
|
66 |
+
/**
|
67 |
+
* @param Wbcr_Factory409_ScriptList $scripts
|
68 |
+
* @param Wbcr_Factory409_StyleList $styles
|
69 |
+
* @since 1.4.0
|
70 |
+
*/
|
71 |
+
do_action('wbcr/clearfy/components/page_assets', $scripts, $styles);
|
72 |
}
|
73 |
+
|
74 |
+
/**
|
75 |
+
* Shows notification inside Clearfy interface
|
76 |
+
*/
|
77 |
+
public function warningNotice()
|
78 |
+
{
|
79 |
$package_plugin = WCL_Package::instance();
|
80 |
$package_update_notice = $package_plugin->getUpdateNotice();
|
81 |
|
82 |
+
if( $package_update_notice ) {
|
83 |
+
$this->printWarningNotice($package_update_notice);
|
|
|
84 |
}
|
85 |
}
|
|
|
|
|
86 |
|
87 |
+
|
88 |
+
/**
|
89 |
+
* We register notifications for some actions
|
90 |
+
*
|
91 |
+
* @see libs\factory\pages\themplates\FactoryPages410_ImpressiveThemplate
|
92 |
+
* @param $notices
|
93 |
+
* @param Wbcr_Factory409_Plugin $plugin
|
94 |
+
* @return array
|
95 |
+
*/
|
96 |
+
public function getActionNotices($notices)
|
97 |
+
{
|
98 |
+
$notices[] = array(
|
99 |
+
'conditions' => array(
|
100 |
+
'wbcr-force-update-components-success' => 1
|
101 |
+
),
|
102 |
+
'type' => 'success',
|
103 |
+
'message' => __('Components have been successfully updated to the latest version.', 'clearfy')
|
104 |
+
);
|
105 |
+
|
106 |
+
$notices[] = array(
|
107 |
+
'conditions' => array(
|
108 |
+
'wbcr-force-update-components-error' => 'inactive_licence'
|
109 |
+
),
|
110 |
+
'type' => 'danger',
|
111 |
+
'message' => __('To use premium components, you need activate a license!', 'clearfy') . '<a href="admin.php?page=license-wbcr_clearfy" class="btn btn-gold">' . __('Activate license', 'clearfy') . '</a>'
|
112 |
+
);
|
113 |
+
|
114 |
+
$notices[] = array(
|
115 |
+
'conditions' => array(
|
116 |
+
'wbcr-force-update-components-error' => 'unknown_error'
|
117 |
+
),
|
118 |
+
'type' => 'danger',
|
119 |
+
'message' => __('An unknown error occurred while updating plugin components. Please contact the plugin support team to resolve this issue.', 'hide_my_wp')
|
120 |
+
);
|
121 |
+
|
122 |
+
return $notices;
|
123 |
+
}
|
124 |
+
|
125 |
+
public function forceUpdateComponentsAction()
|
126 |
+
{
|
127 |
+
check_admin_referer('force_update_componetns');
|
128 |
+
|
129 |
+
$licensing = WCL_Licensing::instance();
|
130 |
+
$licensing->getAddons(true); // обновляем список аддонов
|
131 |
+
|
132 |
+
if( !$licensing->isLicenseValid() and $licensing->isActivePaidAddons() ) {
|
133 |
+
$this->redirectToAction('index', array('wbcr-force-update-components-error' => 'inactive_licence'));
|
134 |
+
}
|
135 |
+
|
136 |
+
$package_plugin = WCL_Package::instance();
|
137 |
+
|
138 |
+
try {
|
139 |
+
$result = $package_plugin->update();
|
140 |
+
|
141 |
+
if( is_wp_error($result) ) {
|
142 |
+
$this->redirectToAction('index', array('wbcr-force-update-components-error' => 'unknown_error'));
|
143 |
+
}
|
144 |
+
|
145 |
+
$this->redirectToAction('index', array('wbcr-force-update-components-success' => 1));
|
146 |
+
} catch( Exception $e ) {
|
147 |
+
$this->redirectToAction('index', array('wbcr-force-update-components-error' => 'unknown_error'));
|
148 |
+
}
|
149 |
+
|
150 |
+
$this->redirectToAction('index');
|
151 |
+
}
|
152 |
+
|
153 |
+
/**
|
154 |
+
* This method simply sorts the list of components.
|
155 |
+
*
|
156 |
+
* @param $components
|
157 |
+
* @return array
|
158 |
+
*/
|
159 |
+
public function order($components)
|
160 |
+
{
|
161 |
+
|
162 |
+
$deactivate_components = WCL_Plugin::app()->getPopulateOption('deactive_preinstall_components', array());
|
163 |
+
|
164 |
$ordered_components = array(
|
165 |
'premium_active' => array(),
|
166 |
'premium_deactive' => array(),
|
168 |
'free_deactive' => array(),
|
169 |
);
|
170 |
$order_key = 'free_deactive';
|
171 |
+
foreach($components as $component) {
|
172 |
+
if( in_array($component['type'], array('wordpress', 'internal')) ) {
|
173 |
+
if( in_array($component['name'], $deactivate_components) ) {
|
174 |
+
// free component is deactivated
|
175 |
$order_key = 'free_deactive';
|
176 |
} else {
|
177 |
+
// free component activated
|
178 |
$order_key = 'free_active';
|
179 |
}
|
180 |
+
} elseif( $component['type'] == 'freemius' ) {
|
181 |
+
if( $component['is_free'] ) {
|
182 |
+
// freemius free
|
183 |
+
if( $component['actived'] ) {
|
184 |
$order_key = 'free_active';
|
185 |
} else {
|
186 |
$order_key = 'free_deactive';
|
187 |
}
|
188 |
} else {
|
189 |
+
// freemius premium
|
190 |
+
if( $component['actived'] ) {
|
191 |
$order_key = 'premium_active';
|
192 |
} else {
|
193 |
$order_key = 'premium_deactive';
|
197 |
$ordered_components[$order_key][] = $component;
|
198 |
}
|
199 |
|
200 |
+
return array_merge($ordered_components['premium_active'], $ordered_components['premium_deactive'], $ordered_components['free_active'], $ordered_components['free_deactive']);
|
|
|
|
|
|
|
|
|
|
|
201 |
}
|
202 |
|
203 |
+
/**
|
204 |
+
* This method simply show contents of the component page.
|
205 |
+
*
|
206 |
+
* @throws Exception
|
207 |
+
*/
|
208 |
public function showPageContent()
|
209 |
{
|
210 |
+
$freemius_activated_addons = WCL_Plugin::app()->getPopulateOption('freemius_activated_addons', array()); // это только для фримиус
|
211 |
|
212 |
$default_image = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzNjAiIGhlaWdodD0iMzYwIiB2aWV3Ym94PSIwIDAgMzYwIDM2MCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0icmdiKDcwLCA4MSwgOTMpIiAvPjxwb2x5bGluZSBwb2ludHM9IjE5LjgsMCw0MC4yLDAsNjAsMTkuOCw2MCw0MC4yLDQwLjIsNjAsMTkuOCw2MCwwLDQwLjIsMCwxOS44LDE5LjgsMCIgZmlsbD0iIzIyMiIgZmlsbC1vcGFjaXR5PSIwLjE1IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLCAwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiNkZGQiIGZpbGwtb3BhY2l0eT0iMC4wNTQ2NjY2NjY2NjY2NjciIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYwLCAwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiMyMjIiIGZpbGwtb3BhY2l0eT0iMC4wNDYiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyMCwgMCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjZGRkIiBmaWxsLW9wYWNpdHk9IjAuMDIiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4MCwgMCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjZGRkIiBmaWxsLW9wYWNpdHk9IjAuMDU0NjY2NjY2NjY2NjY3IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNDAsIDApIiAvPjxwb2x5bGluZSBwb2ludHM9IjE5LjgsMCw0MC4yLDAsNjAsMTkuOCw2MCw0MC4yLDQwLjIsNjAsMTkuOCw2MCwwLDQwLjIsMCwxOS44LDE5LjgsMCIgZmlsbD0iIzIyMiIgZmlsbC1vcGFjaXR5PSIwLjAyODY2NjY2NjY2NjY2NyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzAwLCAwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiNkZGQiIGZpbGwtb3BhY2l0eT0iMC4xMDY2NjY2NjY2NjY2NyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwgNjApIiAvPjxwb2x5bGluZSBwb2ludHM9IjE5LjgsMCw0MC4yLDAsNjAsMTkuOCw2MCw0MC4yLDQwLjIsNjAsMTkuOCw2MCwwLDQwLjIsMCwxOS44LDE5LjgsMCIgZmlsbD0iIzIyMiIgZmlsbC1vcGFjaXR5PSIwLjA5OCIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjAsIDYwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiMyMjIiIGZpbGwtb3BhY2l0eT0iMC4xMTUzMzMzMzMzMzMzMyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTIwLCA2MCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjMjIyIiBmaWxsLW9wYWNpdHk9IjAuMDYzMzMzMzMzMzMzMzMzIiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxODAsIDYwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiNkZGQiIGZpbGwtb3BhY2l0eT0iMC4wMzczMzMzMzMzMzMzMzMiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI0MCwgNjApIiAvPjxwb2x5bGluZSBwb2ludHM9IjE5LjgsMCw0MC4yLDAsNjAsMTkuOCw2MCw0MC4yLDQwLjIsNjAsMTkuOCw2MCwwLDQwLjIsMCwxOS44LDE5LjgsMCIgZmlsbD0iI2RkZCIgZmlsbC1vcGFjaXR5PSIwLjE0MTMzMzMzMzMzMzMzIiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMDAsIDYwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiNkZGQiIGZpbGwtb3BhY2l0eT0iMC4wMzczMzMzMzMzMzMzMzMiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsIDEyMCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjZGRkIiBmaWxsLW9wYWNpdHk9IjAuMDg5MzMzMzMzMzMzMzMzIiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2MCwgMTIwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiNkZGQiIGZpbGwtb3BhY2l0eT0iMC4wODkzMzMzMzMzMzMzMzMiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyMCwgMTIwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiMyMjIiIGZpbGwtb3BhY2l0eT0iMC4wODA2NjY2NjY2NjY2NjciIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4MCwgMTIwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiMyMjIiIGZpbGwtb3BhY2l0eT0iMC4xMzI2NjY2NjY2NjY2NyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjQwLCAxMjApIiAvPjxwb2x5bGluZSBwb2ludHM9IjE5LjgsMCw0MC4yLDAsNjAsMTkuOCw2MCw0MC4yLDQwLjIsNjAsMTkuOCw2MCwwLDQwLjIsMCwxOS44LDE5LjgsMCIgZmlsbD0iIzIyMiIgZmlsbC1vcGFjaXR5PSIwLjE1IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMDAsIDEyMCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjMjIyIiBmaWxsLW9wYWNpdHk9IjAuMDk4IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLCAxODApIiAvPjxwb2x5bGluZSBwb2ludHM9IjE5LjgsMCw0MC4yLDAsNjAsMTkuOCw2MCw0MC4yLDQwLjIsNjAsMTkuOCw2MCwwLDQwLjIsMCwxOS44LDE5LjgsMCIgZmlsbD0iIzIyMiIgZmlsbC1vcGFjaXR5PSIwLjA2MzMzMzMzMzMzMzMzMyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjAsIDE4MCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjZGRkIiBmaWxsLW9wYWNpdHk9IjAuMDIiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyMCwgMTgwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiNkZGQiIGZpbGwtb3BhY2l0eT0iMC4wMzczMzMzMzMzMzMzMzMiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4MCwgMTgwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiMyMjIiIGZpbGwtb3BhY2l0eT0iMC4xMTUzMzMzMzMzMzMzMyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjQwLCAxODApIiAvPjxwb2x5bGluZSBwb2ludHM9IjE5LjgsMCw0MC4yLDAsNjAsMTkuOCw2MCw0MC4yLDQwLjIsNjAsMTkuOCw2MCwwLDQwLjIsMCwxOS44LDE5LjgsMCIgZmlsbD0iIzIyMiIgZmlsbC1vcGFjaXR5PSIwLjA2MzMzMzMzMzMzMzMzMyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzAwLCAxODApIiAvPjxwb2x5bGluZSBwb2ludHM9IjE5LjgsMCw0MC4yLDAsNjAsMTkuOCw2MCw0MC4yLDQwLjIsNjAsMTkuOCw2MCwwLDQwLjIsMCwxOS44LDE5LjgsMCIgZmlsbD0iI2RkZCIgZmlsbC1vcGFjaXR5PSIwLjA1NDY2NjY2NjY2NjY2NyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwgMjQwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiNkZGQiIGZpbGwtb3BhY2l0eT0iMC4xMDY2NjY2NjY2NjY2NyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjAsIDI0MCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjZGRkIiBmaWxsLW9wYWNpdHk9IjAuMDcyIiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMjAsIDI0MCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjMjIyIiBmaWxsLW9wYWNpdHk9IjAuMTE1MzMzMzMzMzMzMzMiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4MCwgMjQwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiMyMjIiIGZpbGwtb3BhY2l0eT0iMC4xMzI2NjY2NjY2NjY2NyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjQwLCAyNDApIiAvPjxwb2x5bGluZSBwb2ludHM9IjE5LjgsMCw0MC4yLDAsNjAsMTkuOCw2MCw0MC4yLDQwLjIsNjAsMTkuOCw2MCwwLDQwLjIsMCwxOS44LDE5LjgsMCIgZmlsbD0iIzIyMiIgZmlsbC1vcGFjaXR5PSIwLjA4MDY2NjY2NjY2NjY2NyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzAwLCAyNDApIiAvPjxwb2x5bGluZSBwb2ludHM9IjE5LjgsMCw0MC4yLDAsNjAsMTkuOCw2MCw0MC4yLDQwLjIsNjAsMTkuOCw2MCwwLDQwLjIsMCwxOS44LDE5LjgsMCIgZmlsbD0iIzIyMiIgZmlsbC1vcGFjaXR5PSIwLjEzMjY2NjY2NjY2NjY3IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLCAzMDApIiAvPjxwb2x5bGluZSBwb2ludHM9IjE5LjgsMCw0MC4yLDAsNjAsMTkuOCw2MCw0MC4yLDQwLjIsNjAsMTkuOCw2MCwwLDQwLjIsMCwxOS44LDE5LjgsMCIgZmlsbD0iI2RkZCIgZmlsbC1vcGFjaXR5PSIwLjAzNzMzMzMzMzMzMzMzMyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjAsIDMwMCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjZGRkIiBmaWxsLW9wYWNpdHk9IjAuMTI0IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMjAsIDMwMCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjMjIyIiBmaWxsLW9wYWNpdHk9IjAuMDI4NjY2NjY2NjY2NjY3IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxODAsIDMwMCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjZGRkIiBmaWxsLW9wYWNpdHk9IjAuMDcyIiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNDAsIDMwMCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjMjIyIiBmaWxsLW9wYWNpdHk9IjAuMDI4NjY2NjY2NjY2NjY3IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMDAsIDMwMCkiIC8+PC9zdmc+';
|
213 |
+
$response = array();
|
214 |
|
215 |
+
// Удаляется при компиляции
|
216 |
+
|
217 |
+
$response = array_merge($response, array(
|
218 |
array(
|
219 |
'name' => 'robin_image_optimizer',
|
220 |
'title' => __('Robin image optimizer', 'clearfy'),
|
221 |
'url' => 'https://wordpress.org/plugins/robin-image-optimizer/',
|
222 |
'type' => 'wordpress',
|
223 |
'base_path' => 'robin-image-optimizer/robin-image-optimizer.php',
|
224 |
+
'icon' => WCL_PLUGIN_URL . '/admin/assets/img/rio-icon-128x128.png',
|
225 |
'description' => __('Automatic image optimization without any quality loss. No limitations, no paid plans. The best Wordpress image optimization plugin allows optimizing any amount of images for free!', 'clearfy')
|
226 |
),
|
227 |
array(
|
254 |
'title' => __('Google Analytics Cache', 'clearfy'),
|
255 |
'url' => 'https://wordpress.org/plugins/simple-google-analytics/',
|
256 |
'type' => 'internal',
|
257 |
+
'icon' => WCL_PLUGIN_URL . '/admin/assets/img/gac-icon-128x128.jpg',
|
258 |
'description' => __('To improve Google Page Speed indicators Analytics caching is needed. However, it can also slightly increase your website loading speed, because Analytics js files will load locally.', 'clearfy')
|
259 |
),
|
260 |
array(
|
282 |
'description' => __('Disable unused widgets such as tag cloud, links, calendar etc.', 'clearfy')
|
283 |
),
|
284 |
array(
|
285 |
+
'name' => 'assets_manager',
|
286 |
'title' => __('Asset manager', 'clearfy'),
|
287 |
'url' => '#',
|
288 |
'type' => 'internal',
|
321 |
'icon' => $default_image,
|
322 |
'description' => __('Set of optimization functions for the popular Yoast SEO plugin.', 'clearfy')
|
323 |
)
|
324 |
+
));
|
325 |
|
326 |
$response[] = array(
|
327 |
'name' => 'cyrlitera',
|
335 |
$licensing = WCL_Licensing::instance();
|
336 |
$freemius_addons_data = $licensing->getAddons(); // получаем все аддоны
|
337 |
|
338 |
+
if( isset($freemius_addons_data->plugins) ) {
|
339 |
+
foreach($freemius_addons_data->plugins as $freemius_addon) {
|
340 |
$is_free_addon = false;
|
341 |
+
if( $freemius_addon->free_releases_count ) {
|
342 |
$is_free_addon = true;
|
343 |
}
|
344 |
+
$actual_version = isset($freemius_addon->info) ? $freemius_addon->info->selling_point_0 : '';
|
345 |
+
if( !$actual_version ) {
|
346 |
+
$actual_version = $licensing->getAddonCurrentVersion($freemius_addon->slug);
|
347 |
}
|
348 |
$component = array(
|
349 |
+
'name' => $freemius_addon->slug,
|
350 |
+
'slug' => $freemius_addon->slug,
|
351 |
+
'title' => __($freemius_addon->title, 'clearfy'),
|
352 |
+
'type' => 'freemius',
|
353 |
+
'installed' => false,
|
354 |
+
'is_free' => $is_free_addon,
|
355 |
+
'actived' => false,
|
356 |
+
'version' => $actual_version,
|
357 |
+
'url' => isset($freemius_addon->info) ? $freemius_addon->info->url : '#',
|
358 |
+
'icon' => isset($freemius_addon->icon) ? $freemius_addon->icon : WCL_PLUGIN_URL . '/admin/assets/img/ctr-icon-128x128.png',
|
359 |
+
'description' => isset($freemius_addon->info) ? __($freemius_addon->info->short_description, 'clearfy') : '',
|
360 |
);
|
361 |
|
362 |
+
if( in_array($component['name'], $freemius_activated_addons) ) {
|
363 |
$component['actived'] = true;
|
364 |
}
|
365 |
|
367 |
}
|
368 |
}
|
369 |
|
370 |
+
$components = $this->order($response);
|
371 |
+
|
372 |
+
/**
|
373 |
+
* @param array $components
|
374 |
+
* @since 1.4.0
|
375 |
+
*/
|
376 |
+
$components = apply_filters('wbcr/clearfy/components/items_list', $components);
|
377 |
+
|
378 |
?>
|
379 |
<div class="wbcr-factory-page-group-header"><?php _e('<strong>Plugin Components</strong>.', 'clearfy') ?>
|
380 |
<p>
|
383 |
</div>
|
384 |
|
385 |
<div class="wbcr-clearfy-components">
|
386 |
+
<?php foreach($components as $component): ?>
|
387 |
<?php
|
388 |
|
389 |
$slug = $component['name'];
|
390 |
|
391 |
+
if( $component['type'] == 'wordpress' ) {
|
392 |
$slug = $component['base_path'];
|
393 |
}
|
394 |
|
395 |
if( $component['type'] == 'freemius' ) {
|
396 |
$install_button = WCL_Plugin::app()->getInstallComponentsButton($component['type'], $slug);
|
397 |
|
398 |
+
if( !$component['actived'] ) {
|
399 |
$status_class = ' plugin-status-deactive';
|
400 |
} else {
|
401 |
$status_class = ' plugin-status-active';
|
402 |
}
|
403 |
|
404 |
+
if( !$component['is_free'] ) {
|
405 |
$status_class .= ' premium';
|
406 |
}
|
|
|
407 |
} else {
|
408 |
$install_button = WCL_Plugin::app()->getInstallComponentsButton($component['type'], $slug);
|
409 |
|
410 |
$status_class = '';
|
411 |
+
if( !$install_button->isPluginActivate() ) {
|
412 |
$status_class = ' plugin-status-deactive';
|
413 |
}
|
414 |
}
|
415 |
|
416 |
+
$install_button->addClass('install-now');
|
417 |
|
418 |
// Delete button
|
419 |
$delete_button = WCL_Plugin::app()->getDeleteComponentsButton($component['type'], $slug);
|
422 |
?>
|
423 |
|
424 |
<div class="plugin-card<?= $status_class ?>">
|
425 |
+
<?php if( $component['type'] == 'freemius' && !$component['is_free'] ): ?>
|
426 |
<div class="premium-ribbon"><?php _e('Premium', 'clearfy') ?></div>
|
427 |
<?php endif; ?>
|
428 |
<div class="plugin-card-top">
|
436 |
</div>
|
437 |
<div class="desc column-description">
|
438 |
<p><?= $component['description']; ?></p>
|
439 |
+
<?php // For the test, we display the current version and the current one ?>
|
440 |
+
<?php if( isset($component['version']) ) : ?><p>
|
441 |
+
Freemius: <?php echo $component['version']; ?>,
|
442 |
+
current: <?php echo $licensing->getAddonCurrentVersion($slug); ?></p><?php endif; ?>
|
443 |
</div>
|
444 |
</div>
|
445 |
<div class="plugin-card-bottom">
|
447 |
</div>
|
448 |
</div>
|
449 |
<?php endforeach; ?>
|
450 |
+
|
451 |
+
|
452 |
+
<?php
|
453 |
+
/**
|
454 |
+
* @since 1.4.0
|
455 |
+
*/
|
456 |
+
do_action('wbcr/clearfy/components/custom_plugins_card', $components);
|
457 |
+
?>
|
458 |
+
|
459 |
<div class="clearfix"></div>
|
460 |
</div>
|
461 |
<?php
|
462 |
}
|
|
|
463 |
}
|
464 |
|
465 |
|
admin/pages/defence.php
CHANGED
@@ -11,13 +11,13 @@
|
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
-
class WCL_DefencePage extends
|
15 |
-
|
16 |
/**
|
17 |
* The id of the page in the admin menu.
|
18 |
*
|
19 |
* Mainly used to navigate between pages.
|
20 |
-
* @see
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
* @var string
|
@@ -26,13 +26,16 @@
|
|
26 |
|
27 |
public $page_menu_dashicon = 'dashicons-shield-alt';
|
28 |
|
|
|
|
|
29 |
/**
|
30 |
* @param WCL_Plugin $plugin
|
31 |
*/
|
32 |
public function __construct(WCL_Plugin $plugin)
|
33 |
{
|
34 |
$this->menu_title = __('Defence', 'clearfy');
|
35 |
-
|
|
|
36 |
parent::__construct($plugin);
|
37 |
|
38 |
$this->plugin = $plugin;
|
@@ -44,7 +47,7 @@
|
|
44 |
* @since 1.0.0
|
45 |
* @return mixed[]
|
46 |
*/
|
47 |
-
public function
|
48 |
{
|
49 |
$options = array();
|
50 |
|
@@ -83,6 +86,10 @@
|
|
83 |
'default' => false
|
84 |
);
|
85 |
|
|
|
|
|
|
|
|
|
86 |
$options[] = array(
|
87 |
'type' => 'html',
|
88 |
'html' => '<div class="wbcr-factory-page-group-header">' . __('<strong>Hide WordPress versions</strong>', 'clearfy') . '<p>' . __('WordPress itself and many plugins shows their version at the public areas of your site. An attacker received this information may be aware of the vulnerabilities found in the version of the WordPress core or plugins.', 'clearfy') . '</p></div>'
|
@@ -147,7 +154,7 @@
|
|
147 |
'name' => 'disable_remove_style_version_for_auth_users',
|
148 |
'title' => __('Disable remove versions for auth users', 'clearfy') . ' <span class="wbcr-clearfy-recomended-text">(' . __('Recommended', 'clearfy') . ')</span>',
|
149 |
'layout' => array('hint-type' => 'icon'),
|
150 |
-
'default' =>
|
151 |
);
|
152 |
|
153 |
$options[] = array(
|
@@ -167,7 +174,7 @@
|
|
167 |
//'cssClass' => 'postbox'
|
168 |
);
|
169 |
|
170 |
-
return
|
171 |
$form_options,
|
172 |
$this
|
173 |
), '1.3.1', 'wbcr_clearfy_defence_form_options');
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
+
class WCL_DefencePage extends Wbcr_FactoryClearfy206_PageBase {
|
15 |
+
|
16 |
/**
|
17 |
* The id of the page in the admin menu.
|
18 |
*
|
19 |
* Mainly used to navigate between pages.
|
20 |
+
* @see FactoryPages410_AdminPage
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
* @var string
|
26 |
|
27 |
public $page_menu_dashicon = 'dashicons-shield-alt';
|
28 |
|
29 |
+
public $available_for_multisite = true;
|
30 |
+
|
31 |
/**
|
32 |
* @param WCL_Plugin $plugin
|
33 |
*/
|
34 |
public function __construct(WCL_Plugin $plugin)
|
35 |
{
|
36 |
$this->menu_title = __('Defence', 'clearfy');
|
37 |
+
$this->page_menu_short_description = __('Protective hacks, privacy', 'clearfy');
|
38 |
+
|
39 |
parent::__construct($plugin);
|
40 |
|
41 |
$this->plugin = $plugin;
|
47 |
* @since 1.0.0
|
48 |
* @return mixed[]
|
49 |
*/
|
50 |
+
public function getPageOptions()
|
51 |
{
|
52 |
$options = array();
|
53 |
|
86 |
'default' => false
|
87 |
);
|
88 |
|
89 |
+
//block_xml_rpc
|
90 |
+
//disable_xml_rpc_auth
|
91 |
+
//remove_xml_rpc_tag
|
92 |
+
|
93 |
$options[] = array(
|
94 |
'type' => 'html',
|
95 |
'html' => '<div class="wbcr-factory-page-group-header">' . __('<strong>Hide WordPress versions</strong>', 'clearfy') . '<p>' . __('WordPress itself and many plugins shows their version at the public areas of your site. An attacker received this information may be aware of the vulnerabilities found in the version of the WordPress core or plugins.', 'clearfy') . '</p></div>'
|
154 |
'name' => 'disable_remove_style_version_for_auth_users',
|
155 |
'title' => __('Disable remove versions for auth users', 'clearfy') . ' <span class="wbcr-clearfy-recomended-text">(' . __('Recommended', 'clearfy') . ')</span>',
|
156 |
'layout' => array('hint-type' => 'icon'),
|
157 |
+
'default' => false
|
158 |
);
|
159 |
|
160 |
$options[] = array(
|
174 |
//'cssClass' => 'postbox'
|
175 |
);
|
176 |
|
177 |
+
return wbcr_factory_409_apply_filters_deprecated('wbcr_clr_defence_form_options', array(
|
178 |
$form_options,
|
179 |
$this
|
180 |
), '1.3.1', 'wbcr_clearfy_defence_form_options');
|
admin/pages/hide-login-page.php
ADDED
@@ -0,0 +1,109 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* The page Settings.
|
5 |
+
*
|
6 |
+
* @since 1.0.0
|
7 |
+
*/
|
8 |
+
|
9 |
+
// Exit if accessed directly
|
10 |
+
if( !defined('ABSPATH') ) {
|
11 |
+
exit;
|
12 |
+
}
|
13 |
+
|
14 |
+
class WCL_HideLoginPage extends Wbcr_FactoryClearfy206_PageBase {
|
15 |
+
|
16 |
+
/**
|
17 |
+
* The id of the page in the admin menu.
|
18 |
+
*
|
19 |
+
* Mainly used to navigate between pages.
|
20 |
+
* @see FactoryPages410_AdminPage
|
21 |
+
*
|
22 |
+
* @since 1.0.0
|
23 |
+
* @var string
|
24 |
+
*/
|
25 |
+
public $id = "clrf_hide_login";
|
26 |
+
|
27 |
+
/**
|
28 |
+
* @var string
|
29 |
+
*/
|
30 |
+
public $page_parent_page = 'defence';
|
31 |
+
|
32 |
+
/**
|
33 |
+
* Тип страницы
|
34 |
+
* options - предназначена для создании страниц с набором опций и настроек.
|
35 |
+
* page - произвольный контент, любой html код
|
36 |
+
*
|
37 |
+
* @var string
|
38 |
+
*/
|
39 |
+
public $type = 'page';
|
40 |
+
|
41 |
+
/**
|
42 |
+
* Позиция закладки в меню плагина.
|
43 |
+
* 0 - в самом конце, 100 - в самом начале
|
44 |
+
*
|
45 |
+
* @var int
|
46 |
+
*/
|
47 |
+
public $page_menu_position = 30;
|
48 |
+
|
49 |
+
/**
|
50 |
+
* @var string
|
51 |
+
*/
|
52 |
+
public $page_menu_dashicon = 'dashicons-images-alt2';
|
53 |
+
|
54 |
+
/**
|
55 |
+
* @var bool
|
56 |
+
*/
|
57 |
+
public $available_for_multisite = true;
|
58 |
+
|
59 |
+
/**
|
60 |
+
* @param WCL_Plugin $plugin
|
61 |
+
*/
|
62 |
+
public function __construct(WCL_Plugin $plugin)
|
63 |
+
{
|
64 |
+
$this->menu_title = __('Hide login page', 'clearfy');
|
65 |
+
parent::__construct($plugin);
|
66 |
+
|
67 |
+
$this->plugin = $plugin;
|
68 |
+
}
|
69 |
+
|
70 |
+
/**
|
71 |
+
* Содержание страницы
|
72 |
+
*/
|
73 |
+
public function showPageContent()
|
74 |
+
{
|
75 |
+
require_once WCL_PLUGIN_DIR . '/admin/includes/classes/class.install-plugins-button.php';
|
76 |
+
$install_button = new WCL_InstallPluginsButton('wordpress', 'hide-login-page/hide-login-page.php');
|
77 |
+
$install_button->addClass('wbcr-factory-purchase-premium');
|
78 |
+
?>
|
79 |
+
<script>
|
80 |
+
jQuery(document).ready(function($) {
|
81 |
+
$.wbcr_factory_clearfy_206.hooks.add('clearfy/components/updated', function(button, component_name) {
|
82 |
+
if( component_name.plugin_action == 'install' ) {
|
83 |
+
button.removeClass('wbcr-factory-purchase-premium');
|
84 |
+
button.addClass('wbcr-factory-activate-premium');
|
85 |
+
}
|
86 |
+
|
87 |
+
if( component_name.plugin_action == 'activate' ) {
|
88 |
+
button.remove();
|
89 |
+
window.location.href = '<?= $this->getBaseUrl('hlp_hide_login'); ?>';
|
90 |
+
}
|
91 |
+
});
|
92 |
+
});
|
93 |
+
</script>
|
94 |
+
<div class="wbcr-factory-clearfy-206-multisite-suggetion">
|
95 |
+
<div class="wbcr-factory-inner-contanier">
|
96 |
+
<h3><?php _e('Install Hide login page component', 'clearfy') ?></h3>
|
97 |
+
|
98 |
+
<p><?php _e('To start protect login page, you need to install the additional component Hide login page!', 'clearfy') ?></p>
|
99 |
+
|
100 |
+
<p><?php _e('Installing the component will not take you long, just click the install button, then activate.', 'clearfy') ?></p>
|
101 |
+
|
102 |
+
<p style="margin-top:20px">
|
103 |
+
<?php $install_button->renderLink(); ?>
|
104 |
+
</p>
|
105 |
+
</div>
|
106 |
+
</div>
|
107 |
+
<?php
|
108 |
+
}
|
109 |
+
}
|
admin/pages/image-optimization.php
ADDED
@@ -0,0 +1,111 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* The page Settings.
|
5 |
+
*
|
6 |
+
* @since 1.0.0
|
7 |
+
*/
|
8 |
+
|
9 |
+
// Exit if accessed directly
|
10 |
+
if( !defined('ABSPATH') ) {
|
11 |
+
exit;
|
12 |
+
}
|
13 |
+
|
14 |
+
class WCL_ImageOptimizationPage extends Wbcr_FactoryClearfy206_PageBase {
|
15 |
+
|
16 |
+
/**
|
17 |
+
* The id of the page in the admin menu.
|
18 |
+
*
|
19 |
+
* Mainly used to navigate between pages.
|
20 |
+
* @see FactoryPages410_AdminPage
|
21 |
+
*
|
22 |
+
* @since 1.0.0
|
23 |
+
* @var string
|
24 |
+
*/
|
25 |
+
public $id = "clrf_image_optimization";
|
26 |
+
|
27 |
+
/**
|
28 |
+
* @var string
|
29 |
+
*/
|
30 |
+
public $page_parent_page = 'performance';
|
31 |
+
|
32 |
+
/**
|
33 |
+
* Тип страницы
|
34 |
+
* options - предназначена для создании страниц с набором опций и настроек.
|
35 |
+
* page - произвольный контент, любой html код
|
36 |
+
*
|
37 |
+
* @var string
|
38 |
+
*/
|
39 |
+
public $type = 'page';
|
40 |
+
|
41 |
+
/**
|
42 |
+
* Позиция закладки в меню плагина.
|
43 |
+
* 0 - в самом конце, 100 - в самом начале
|
44 |
+
*
|
45 |
+
* @var int
|
46 |
+
*/
|
47 |
+
public $page_menu_position = 30;
|
48 |
+
|
49 |
+
/**
|
50 |
+
* @var string
|
51 |
+
*/
|
52 |
+
public $page_menu_dashicon = 'dashicons-images-alt2';
|
53 |
+
|
54 |
+
/**
|
55 |
+
* @var bool
|
56 |
+
*/
|
57 |
+
public $available_for_multisite = true;
|
58 |
+
|
59 |
+
/**
|
60 |
+
* @param WCL_Plugin $plugin
|
61 |
+
*/
|
62 |
+
public function __construct(WCL_Plugin $plugin)
|
63 |
+
{
|
64 |
+
$this->menu_title = __('Image optimization', 'clearfy');
|
65 |
+
$this->page_menu_short_description = __('Compress bulk of images', 'clearfy');
|
66 |
+
|
67 |
+
parent::__construct($plugin);
|
68 |
+
|
69 |
+
$this->plugin = $plugin;
|
70 |
+
}
|
71 |
+
|
72 |
+
/**
|
73 |
+
* Содержание страницы
|
74 |
+
*/
|
75 |
+
public function showPageContent()
|
76 |
+
{
|
77 |
+
require_once WCL_PLUGIN_DIR . '/admin/includes/classes/class.install-plugins-button.php';
|
78 |
+
$install_button = new WCL_InstallPluginsButton('wordpress', 'robin-image-optimizer/robin-image-optimizer.php');
|
79 |
+
$install_button->addClass('wbcr-factory-purchase-premium');
|
80 |
+
?>
|
81 |
+
<script>
|
82 |
+
jQuery(document).ready(function($) {
|
83 |
+
$.wbcr_factory_clearfy_206.hooks.add('clearfy/components/updated', function(button, component_name) {
|
84 |
+
if( component_name.plugin_action == 'install' ) {
|
85 |
+
button.removeClass('wbcr-factory-purchase-premium');
|
86 |
+
button.addClass('wbcr-factory-activate-premium');
|
87 |
+
}
|
88 |
+
|
89 |
+
if( component_name.plugin_action == 'activate' ) {
|
90 |
+
button.remove();
|
91 |
+
window.location.href = '<?= $this->getBaseUrl('io_general'); ?>';
|
92 |
+
}
|
93 |
+
});
|
94 |
+
});
|
95 |
+
</script>
|
96 |
+
<div class="wbcr-factory-clearfy-206-multisite-suggetion">
|
97 |
+
<div class="wbcr-factory-inner-contanier">
|
98 |
+
<h3><?php _e('Install Robin Image Optimizer component', 'clearfy') ?></h3>
|
99 |
+
|
100 |
+
<p><?php _e('To start optimizing images, you need to install the additional component Robin image optimizer!', 'clearfy') ?></p>
|
101 |
+
|
102 |
+
<p><?php _e('Installing the component will not take you long, just click the install button, then activate.', 'clearfy') ?></p>
|
103 |
+
|
104 |
+
<p style="margin-top:20px">
|
105 |
+
<?php $install_button->renderLink(); ?>
|
106 |
+
</p>
|
107 |
+
</div>
|
108 |
+
</div>
|
109 |
+
<?php
|
110 |
+
}
|
111 |
+
}
|
admin/pages/license.php
CHANGED
@@ -10,13 +10,13 @@
|
|
10 |
exit;
|
11 |
}
|
12 |
|
13 |
-
class WCL_LicensePage extends
|
14 |
|
15 |
/**
|
16 |
* The id of the page in the admin menu.
|
17 |
*
|
18 |
* Mainly used to navigate between pages.
|
19 |
-
* @see
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
* @var string
|
@@ -37,6 +37,14 @@
|
|
37 |
*/
|
38 |
public $page_menu_dashicon = 'dashicons-admin-network';
|
39 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
40 |
/**
|
41 |
* Позиция закладки в меню плагина.
|
42 |
* 0 - в самом конце, 100 - в самом начале
|
@@ -44,17 +52,19 @@
|
|
44 |
*/
|
45 |
public $page_menu_position = 0;
|
46 |
|
|
|
|
|
47 |
/**
|
48 |
* @param WCL_Plugin $plugin
|
49 |
*/
|
50 |
public function __construct(WCL_Plugin $plugin)
|
51 |
{
|
52 |
$this->menu_title = __('License', 'clearfy');
|
|
|
53 |
|
54 |
parent::__construct($plugin);
|
55 |
|
56 |
$this->plugin = $plugin;
|
57 |
-
$this->hooks();
|
58 |
}
|
59 |
|
60 |
/**
|
@@ -67,117 +77,6 @@
|
|
67 |
$this->styles->add(WCL_PLUGIN_URL . '/admin/assets/css/license-manager.css');
|
68 |
$this->scripts->add(WCL_PLUGIN_URL . '/admin/assets/js/license-manager.js');
|
69 |
}
|
70 |
-
|
71 |
-
public function hooks()
|
72 |
-
{
|
73 |
-
add_action('wp_ajax_wbcr_clr_licensing', array($this, 'ajax'));
|
74 |
-
add_action('wbcr_clr_license_autosync', array($this, 'autoSync'));
|
75 |
-
if( !wp_next_scheduled('wbcr_clr_license_autosync') ) {
|
76 |
-
wp_schedule_event(time(), 'twicedaily', 'wbcr_clr_license_autosync');
|
77 |
-
}
|
78 |
-
add_filter('site_transient_update_plugins', array($this, 'updateFreemiusAddons'));
|
79 |
-
add_action('wbcr_factory_pages_407_imppage_print_all_notices', array($this, 'printUpdateNotice'), 10, 2);
|
80 |
-
add_action('after_plugin_row_clearfy/clearfy.php', array($this, 'addonsUpdateMessage'), 100, 3);
|
81 |
-
}
|
82 |
-
|
83 |
-
/**
|
84 |
-
* @param WCL_Plugin $plugin
|
85 |
-
* @param Wbcr_FactoryPages407_ImpressiveThemplate $obj
|
86 |
-
* @return bool
|
87 |
-
*/
|
88 |
-
public function printUpdateNotice($plugin, $obj)
|
89 |
-
{
|
90 |
-
// выводим уведомление везде, кроме страницы компонентов. Там выводится отдельно.
|
91 |
-
if( ($this->plugin->getPluginName() != $plugin->getPluginName()) || ($obj->id == 'components') ) {
|
92 |
-
return false;
|
93 |
-
}
|
94 |
-
$package_plugin = WCL_Package::instance();
|
95 |
-
$package_update_notice = $package_plugin->getUpdateNotice();
|
96 |
-
|
97 |
-
if( $package_update_notice ) {
|
98 |
-
if( $obj->id != 'quick_start' ) {
|
99 |
-
$obj->scripts->add(WCL_PLUGIN_URL . '/admin/assets/js/update-package.js');
|
100 |
-
}
|
101 |
-
$obj->printWarningNotice($package_update_notice);
|
102 |
-
}
|
103 |
-
}
|
104 |
-
|
105 |
-
public function updateFreemiusAddons($transient)
|
106 |
-
{
|
107 |
-
if( empty($transient->checked) ) {
|
108 |
-
return $transient;
|
109 |
-
}
|
110 |
-
|
111 |
-
$package_plugin = WCL_Package::instance();
|
112 |
-
if( !$package_plugin->isActive() ) {
|
113 |
-
return $transient;
|
114 |
-
}
|
115 |
-
$need_update_package = $package_plugin->isNeedUpdate();
|
116 |
-
$need_update_addons = $package_plugin->isNeedUpdateAddons();
|
117 |
-
$info = $package_plugin->info();
|
118 |
-
if( $need_update_package and $need_update_addons ) {
|
119 |
-
$update_data = new stdClass();
|
120 |
-
$update_data->slug = $info['plugin_slug'];
|
121 |
-
$update_data->plugin = $info['plugin_basename'];
|
122 |
-
$update_data->new_version = '1.1';
|
123 |
-
$update_data->package = $package_plugin->downloadUrl();
|
124 |
-
//$res->compatibility = new stdClass();
|
125 |
-
$transient->response[$update_data->plugin] = $update_data;
|
126 |
-
}
|
127 |
-
|
128 |
-
return $transient;
|
129 |
-
}
|
130 |
-
|
131 |
-
public function addonsUpdateMessage($plugin_file, $plugin_data, $status)
|
132 |
-
{
|
133 |
-
$package_plugin = WCL_Package::instance();
|
134 |
-
$need_update_package = $package_plugin->isNeedUpdate();
|
135 |
-
|
136 |
-
if ( $need_update_package ) {
|
137 |
-
if ( $package_plugin->isNeedUpdateAddons() ) {
|
138 |
-
$package_plugin_info = $package_plugin->info();
|
139 |
-
$update_link = ' <a href="#" data-wpnonce="' . wp_create_nonce( 'package' ) . '" data-loading="'. __( 'Update in progress...', 'clearfy' ) .'" data-ok="'. __( 'Components have been successfully updated!', 'clearfy' ) .'" class="wbcr-clr-plugin-update-link">' . __( 'update now', 'clearfy' ) . '</a>';
|
140 |
-
printf(
|
141 |
-
'<tr class="plugin-update-tr active update">
|
142 |
-
|
143 |
-
|
144 |
-
<td colspan="3" class="plugin-update colspanchange">
|
145 |
-
<div class="update-message notice inline notice-warning notice-alt" style="background-color:#f5e9f5;border-color: #dab9da;">
|
146 |
-
<p>%s</p>
|
147 |
-
</div>
|
148 |
-
</td>
|
149 |
-
|
150 |
-
</tr>',
|
151 |
-
__( 'Updates are available for one of the components.', 'clearfy' ) . $update_link
|
152 |
-
);
|
153 |
-
}
|
154 |
-
}
|
155 |
-
}
|
156 |
-
|
157 |
-
public function ajax()
|
158 |
-
{
|
159 |
-
check_admin_referer('license');
|
160 |
-
$license_action = isset($_POST['license_action'])
|
161 |
-
? $_POST['license_action']
|
162 |
-
: false;
|
163 |
-
$actions = array(
|
164 |
-
'activate',
|
165 |
-
'deactivate',
|
166 |
-
'sync',
|
167 |
-
'unsubscribe'
|
168 |
-
);
|
169 |
-
if( in_array($license_action, $actions) ) {
|
170 |
-
$method_name = $license_action . 'AjaxHandler';
|
171 |
-
$this->{$method_name}();
|
172 |
-
}
|
173 |
-
die();
|
174 |
-
}
|
175 |
-
|
176 |
-
public function autoSync()
|
177 |
-
{
|
178 |
-
$licensing = WCL_Licensing::instance();
|
179 |
-
$notice = $licensing->sync();
|
180 |
-
}
|
181 |
|
182 |
/**
|
183 |
* Метод печатает html содержимое страницы
|
@@ -251,9 +150,8 @@
|
|
251 |
$license_type = 'trial';
|
252 |
}
|
253 |
|
254 |
-
|
255 |
?>
|
256 |
-
<div class="factory-bootstrap-
|
257 |
<div>
|
258 |
<h3><?php _e('Activation Clearfy Business', 'clearfy') ?></h3>
|
259 |
|
@@ -272,15 +170,15 @@
|
|
272 |
|
273 |
<div class="onp-container">
|
274 |
<div class="license-details">
|
275 |
-
<?php if($license_type == 'free'): ?>
|
276 |
-
|
277 |
<span class="btn btn-gold btn-inner-wrap">
|
278 |
-
<i class="fa fa-star"></i> <?php printf(__('Upgrade to Premium for $%s', 'clearfy'),
|
279 |
<i class="fa fa-star"></i>
|
280 |
</span>
|
281 |
-
|
282 |
|
283 |
-
|
284 |
<?php endif; ?>
|
285 |
|
286 |
<div class="license-details-block <?= $license_type ?>-details-block">
|
@@ -294,7 +192,8 @@
|
|
294 |
<h3>
|
295 |
<?= ucfirst($plan); ?>
|
296 |
<?php if( $premium and $subscribe ) { ?>
|
297 |
-
<span style="font-size: 15px;"><?php printf(__('(Automatic renewal, every %s',''), esc_attr($billing)); ?>
|
|
|
298 |
<?php } ?>
|
299 |
</h3>
|
300 |
|
@@ -379,11 +278,11 @@
|
|
379 |
|
380 |
<?php if( $premium ) { ?>
|
381 |
<p style="margin-top: 10px;">
|
382 |
-
<?php printf(__('<a href="%s" target="_blank" rel="noopener">Lean more</a> about the premium version and get the license key to activate it now!', 'clearfy'),
|
383 |
</p>
|
384 |
<?php } else { ?>
|
385 |
<p style="margin-top: 10px;">
|
386 |
-
<?php printf(__('Can’t find your key? Go to <a href="%s" target="_blank" rel="noopener">this page</a> and login using the e-mail address associated with your purchase.', 'clearfy'),
|
387 |
</p>
|
388 |
<?php } ?>
|
389 |
</form>
|
@@ -393,38 +292,4 @@
|
|
393 |
|
394 |
<?php
|
395 |
}
|
396 |
-
|
397 |
-
|
398 |
-
public function activateAjaxHandler()
|
399 |
-
{
|
400 |
-
$license_key = $_POST['licensekey'];
|
401 |
-
if( !$license_key ) {
|
402 |
-
$this->showLicenseForm();
|
403 |
-
} else {
|
404 |
-
$licensing = WCL_Licensing::instance();
|
405 |
-
$notice = $licensing->activate($license_key);
|
406 |
-
$this->showLicenseForm($notice);
|
407 |
-
}
|
408 |
-
}
|
409 |
-
|
410 |
-
public function deactivateAjaxHandler()
|
411 |
-
{
|
412 |
-
$licensing = WCL_Licensing::instance();
|
413 |
-
$notice = $licensing->uninstall();
|
414 |
-
$this->showLicenseForm($notice);
|
415 |
-
}
|
416 |
-
|
417 |
-
public function syncAjaxHandler()
|
418 |
-
{
|
419 |
-
$licensing = WCL_Licensing::instance();
|
420 |
-
$notice = $licensing->sync();
|
421 |
-
$this->showLicenseForm($notice);
|
422 |
-
}
|
423 |
-
|
424 |
-
public function unsubscribeAjaxHandler()
|
425 |
-
{
|
426 |
-
$licensing = WCL_Licensing::instance();
|
427 |
-
$notice = $licensing->unsubscribe();
|
428 |
-
$this->showLicenseForm($notice);
|
429 |
-
}
|
430 |
}
|
10 |
exit;
|
11 |
}
|
12 |
|
13 |
+
class WCL_LicensePage extends Wbcr_FactoryClearfy206_PageBase {
|
14 |
|
15 |
/**
|
16 |
* The id of the page in the admin menu.
|
17 |
*
|
18 |
* Mainly used to navigate between pages.
|
19 |
+
* @see Wbcr_FactoryPages410_AdminPage
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
* @var string
|
37 |
*/
|
38 |
public $page_menu_dashicon = 'dashicons-admin-network';
|
39 |
|
40 |
+
/**
|
41 |
+
* Показывать правый сайдбар?
|
42 |
+
* Сайдбар будет показан на внутренних страницах шаблона.
|
43 |
+
*
|
44 |
+
* @var bool
|
45 |
+
*/
|
46 |
+
public $show_right_sidebar_in_options = false;
|
47 |
+
|
48 |
/**
|
49 |
* Позиция закладки в меню плагина.
|
50 |
* 0 - в самом конце, 100 - в самом начале
|
52 |
*/
|
53 |
public $page_menu_position = 0;
|
54 |
|
55 |
+
public $available_for_multisite = true;
|
56 |
+
|
57 |
/**
|
58 |
* @param WCL_Plugin $plugin
|
59 |
*/
|
60 |
public function __construct(WCL_Plugin $plugin)
|
61 |
{
|
62 |
$this->menu_title = __('License', 'clearfy');
|
63 |
+
$this->page_menu_short_description = __('Product activation', 'clearfy');
|
64 |
|
65 |
parent::__construct($plugin);
|
66 |
|
67 |
$this->plugin = $plugin;
|
|
|
68 |
}
|
69 |
|
70 |
/**
|
77 |
$this->styles->add(WCL_PLUGIN_URL . '/admin/assets/css/license-manager.css');
|
78 |
$this->scripts->add(WCL_PLUGIN_URL . '/admin/assets/js/license-manager.js');
|
79 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
80 |
|
81 |
/**
|
82 |
* Метод печатает html содержимое страницы
|
150 |
$license_type = 'trial';
|
151 |
}
|
152 |
|
|
|
153 |
?>
|
154 |
+
<div class="factory-bootstrap-409 onp-page-wrap <?= $license_type ?>-license-manager-content" id="license-manager">
|
155 |
<div>
|
156 |
<h3><?php _e('Activation Clearfy Business', 'clearfy') ?></h3>
|
157 |
|
170 |
|
171 |
<div class="onp-container">
|
172 |
<div class="license-details">
|
173 |
+
<?php if( $license_type == 'free' ): ?>
|
174 |
+
<a href="<?= WbcrFactoryClearfy206_Helpers::getWebcrafticSitePageUrl(WCL_Plugin::app()->getPluginName(), 'pricing', 'license_page') ?>" class="purchase-premium" target="_blank" rel="noopener">
|
175 |
<span class="btn btn-gold btn-inner-wrap">
|
176 |
+
<i class="fa fa-star"></i> <?php printf(__('Upgrade to Premium for $%s', 'clearfy'), WbcrFactoryClearfy206_Helpers::getClearfyBusinessPrice()) ?>
|
177 |
<i class="fa fa-star"></i>
|
178 |
</span>
|
179 |
+
</a>
|
180 |
|
181 |
+
<p><?php printf(__('Your current license for %1$s:', 'clearfy'), $this->plugin->getPluginTitle()) ?></p>
|
182 |
<?php endif; ?>
|
183 |
|
184 |
<div class="license-details-block <?= $license_type ?>-details-block">
|
192 |
<h3>
|
193 |
<?= ucfirst($plan); ?>
|
194 |
<?php if( $premium and $subscribe ) { ?>
|
195 |
+
<span style="font-size: 15px;"><?php printf(__('(Automatic renewal, every %s', ''), esc_attr($billing)); ?>
|
196 |
+
)</span>
|
197 |
<?php } ?>
|
198 |
</h3>
|
199 |
|
278 |
|
279 |
<?php if( $premium ) { ?>
|
280 |
<p style="margin-top: 10px;">
|
281 |
+
<?php printf(__('<a href="%s" target="_blank" rel="noopener">Lean more</a> about the premium version and get the license key to activate it now!', 'clearfy'), WbcrFactoryClearfy206_Helpers::getWebcrafticSitePageUrl(WCL_Plugin::app()->getPluginName(), 'pricing', 'license_page')) ?>
|
282 |
</p>
|
283 |
<?php } else { ?>
|
284 |
<p style="margin-top: 10px;">
|
285 |
+
<?php printf(__('Can’t find your key? Go to <a href="%s" target="_blank" rel="noopener">this page</a> and login using the e-mail address associated with your purchase.', 'clearfy'), WbcrFactoryClearfy206_Helpers::getWebcrafticSitePageUrl(WCL_Plugin::app()->getPluginName(), 'contact-us', 'license_page')) ?>
|
286 |
</p>
|
287 |
<?php } ?>
|
288 |
</form>
|
292 |
|
293 |
<?php
|
294 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
295 |
}
|
admin/pages/performance-google.php
CHANGED
@@ -10,13 +10,13 @@
|
|
10 |
exit;
|
11 |
}
|
12 |
|
13 |
-
class WCL_PerformanceGooglePage extends
|
14 |
|
15 |
/**
|
16 |
* The id of the page in the admin menu.
|
17 |
*
|
18 |
* Mainly used to navigate between pages.
|
19 |
-
* @see
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
* @var string
|
@@ -37,6 +37,8 @@
|
|
37 |
* @var int
|
38 |
*/
|
39 |
public $page_menu_position = 20;
|
|
|
|
|
40 |
|
41 |
/**
|
42 |
* @param WCL_Plugin $plugin
|
@@ -52,8 +54,8 @@
|
|
52 |
|
53 |
public function afterFormSave()
|
54 |
{
|
55 |
-
$ga_cache = $this->
|
56 |
-
$ga_caos_remove_wp_cron = $this->
|
57 |
|
58 |
if( $ga_cache ) {
|
59 |
if( !$ga_caos_remove_wp_cron ) {
|
@@ -76,7 +78,7 @@
|
|
76 |
* @since 1.0.0
|
77 |
* @return mixed[]
|
78 |
*/
|
79 |
-
public function
|
80 |
{
|
81 |
$options = array();
|
82 |
|
@@ -151,4 +153,4 @@ Reasons for not using Google Maps might be privacy and security, local developme
|
|
151 |
|
152 |
return apply_filters('wbcr_clr_google_performance_form_options', $form_options, $this);
|
153 |
}
|
154 |
-
}
|
10 |
exit;
|
11 |
}
|
12 |
|
13 |
+
class WCL_PerformanceGooglePage extends Wbcr_FactoryClearfy206_PageBase {
|
14 |
|
15 |
/**
|
16 |
* The id of the page in the admin menu.
|
17 |
*
|
18 |
* Mainly used to navigate between pages.
|
19 |
+
* @see FactoryPages410_AdminPage
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
* @var string
|
37 |
* @var int
|
38 |
*/
|
39 |
public $page_menu_position = 20;
|
40 |
+
|
41 |
+
public $available_for_multisite = true;
|
42 |
|
43 |
/**
|
44 |
* @param WCL_Plugin $plugin
|
54 |
|
55 |
public function afterFormSave()
|
56 |
{
|
57 |
+
$ga_cache = $this->getPopulateOption('ga_cache');
|
58 |
+
$ga_caos_remove_wp_cron = $this->getPopulateOption('ga_caos_remove_wp_cron');
|
59 |
|
60 |
if( $ga_cache ) {
|
61 |
if( !$ga_caos_remove_wp_cron ) {
|
78 |
* @since 1.0.0
|
79 |
* @return mixed[]
|
80 |
*/
|
81 |
+
public function getPageOptions()
|
82 |
{
|
83 |
$options = array();
|
84 |
|
153 |
|
154 |
return apply_filters('wbcr_clr_google_performance_form_options', $form_options, $this);
|
155 |
}
|
156 |
+
}
|
admin/pages/performance.php
CHANGED
@@ -10,13 +10,13 @@
|
|
10 |
exit;
|
11 |
}
|
12 |
|
13 |
-
class WCL_PerformancePage extends
|
14 |
|
15 |
/**
|
16 |
* The id of the page in the admin menu.
|
17 |
*
|
18 |
* Mainly used to navigate between pages.
|
19 |
-
* @see
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
* @var string
|
@@ -32,6 +32,8 @@
|
|
32 |
* @var int
|
33 |
*/
|
34 |
public $page_menu_position = 20;
|
|
|
|
|
35 |
|
36 |
/**
|
37 |
* @param WCL_Plugin $plugin
|
@@ -39,6 +41,7 @@
|
|
39 |
public function __construct(WCL_Plugin $plugin)
|
40 |
{
|
41 |
$this->menu_title = __('Performance', 'clearfy');
|
|
|
42 |
|
43 |
parent::__construct($plugin);
|
44 |
|
@@ -47,7 +50,7 @@
|
|
47 |
|
48 |
public function afterFormSave()
|
49 |
{
|
50 |
-
if( $this->
|
51 |
update_option('show_avatars', false);
|
52 |
} else {
|
53 |
update_option('show_avatars', true);
|
@@ -60,7 +63,7 @@
|
|
60 |
* @since 1.0.0
|
61 |
* @return mixed[]
|
62 |
*/
|
63 |
-
public function
|
64 |
{
|
65 |
$options = array();
|
66 |
|
10 |
exit;
|
11 |
}
|
12 |
|
13 |
+
class WCL_PerformancePage extends Wbcr_FactoryClearfy206_PageBase {
|
14 |
|
15 |
/**
|
16 |
* The id of the page in the admin menu.
|
17 |
*
|
18 |
* Mainly used to navigate between pages.
|
19 |
+
* @see FactoryPages410_AdminPage
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
* @var string
|
32 |
* @var int
|
33 |
*/
|
34 |
public $page_menu_position = 20;
|
35 |
+
|
36 |
+
public $available_for_multisite = true;
|
37 |
|
38 |
/**
|
39 |
* @param WCL_Plugin $plugin
|
41 |
public function __construct(WCL_Plugin $plugin)
|
42 |
{
|
43 |
$this->menu_title = __('Performance', 'clearfy');
|
44 |
+
$this->page_menu_short_description = __('Optimization js, css, fonts', 'clearfy');
|
45 |
|
46 |
parent::__construct($plugin);
|
47 |
|
50 |
|
51 |
public function afterFormSave()
|
52 |
{
|
53 |
+
if( $this->getPopulateOption('disable_gravatars') ) {
|
54 |
update_option('show_avatars', false);
|
55 |
} else {
|
56 |
update_option('show_avatars', true);
|
63 |
* @since 1.0.0
|
64 |
* @return mixed[]
|
65 |
*/
|
66 |
+
public function getPageOptions()
|
67 |
{
|
68 |
$options = array();
|
69 |
|
admin/pages/quick-start.php
CHANGED
@@ -11,13 +11,13 @@
|
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
-
class WCL_QuickStartPage extends
|
15 |
|
16 |
/**
|
17 |
* The id of the page in the admin menu.
|
18 |
*
|
19 |
* Mainly used to navigate between pages.
|
20 |
-
* @see
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
* @var string
|
@@ -45,14 +45,18 @@
|
|
45 |
public $menu_target = 'options-general.php';
|
46 |
|
47 |
/**
|
48 |
-
* @var
|
49 |
*/
|
50 |
-
public $
|
51 |
|
52 |
/**
|
53 |
-
* @var
|
54 |
*/
|
55 |
-
public $
|
|
|
|
|
|
|
|
|
56 |
|
57 |
/**
|
58 |
* @param WCL_Plugin $plugin
|
@@ -60,13 +64,14 @@
|
|
60 |
public function __construct(WCL_Plugin $plugin)
|
61 |
{
|
62 |
$this->menu_title = __('Clearfy menu', 'clearfy');
|
|
|
63 |
|
64 |
parent::__construct($plugin);
|
65 |
|
66 |
$this->plugin = $plugin;
|
67 |
}
|
68 |
|
69 |
-
public function
|
70 |
{
|
71 |
return __('Quick start', 'clearfy');
|
72 |
}
|
@@ -74,7 +79,7 @@
|
|
74 |
/**
|
75 |
* Requests assets (js and css) for the page.
|
76 |
*
|
77 |
-
* @see
|
78 |
*
|
79 |
* @since 1.0.0
|
80 |
* @return void
|
@@ -84,13 +89,22 @@
|
|
84 |
parent::assets($scripts, $styles);
|
85 |
|
86 |
$this->scripts->add(WCL_PLUGIN_URL . '/admin/assets/js/general.js');
|
87 |
-
|
88 |
-
|
89 |
-
|
|
|
|
|
|
|
|
|
|
|
90 |
$params = array(
|
91 |
//'ajaxurl' => admin_url('admin-ajax.php'),
|
92 |
'flush_cache_url' => $this->getActionUrl('flush-cache-and-rules', array('_wpnonce' => wp_create_nonce('wbcr_factory_' . $this->getResultId() . '_flush_action'))),
|
93 |
'ajax_nonce' => wp_create_nonce('wbcr_clearfy_ajax_quick_start_nonce'),
|
|
|
|
|
|
|
|
|
94 |
);
|
95 |
|
96 |
wp_localize_script('jquery', 'wbcr_clearfy_ajax', $params);
|
@@ -110,76 +124,6 @@
|
|
110 |
</div>
|
111 |
<?php
|
112 |
}
|
113 |
-
|
114 |
-
/**
|
115 |
-
* Collects error and system error data
|
116 |
-
* @return string
|
117 |
-
*/
|
118 |
-
public function getDebugReport()
|
119 |
-
{
|
120 |
-
$run_time = number_format(microtime(true), 3);
|
121 |
-
$pps = number_format(1 / $run_time, 0);
|
122 |
-
$memory_avail = ini_get('memory_limit');
|
123 |
-
$memory_used = number_format(memory_get_usage(true) / (1024 * 1024), 2);
|
124 |
-
$memory_peak = number_format(memory_get_peak_usage(true) / (1024 * 1024), 2);
|
125 |
-
|
126 |
-
$debug = '';
|
127 |
-
if( PHP_SAPI == 'cli' ) {
|
128 |
-
// if run for command line, display some info
|
129 |
-
$debug = PHP_EOL . "======================================================================================" . PHP_EOL . " Config: php " . phpversion() . " " . php_sapi_name() . " / zend engine " . zend_version() . PHP_EOL . " Load: {$memory_avail} (avail) / {$memory_used}M (used) / {$memory_peak}M (peak)" . " | Time: {$run_time}s | {$pps} req/sec" . PHP_EOL . " | Server Timezone: " . date_default_timezone_get() . " | Agent: CLI" . PHP_EOL . "======================================================================================" . PHP_EOL;
|
130 |
-
} else {
|
131 |
-
// if not run from command line, only display if debug is enabled
|
132 |
-
$debug = "" //<hr />"
|
133 |
-
. "<div style=\"text-align: left;\">" . "<hr />" . " Config: " . "<br />" . " | php " . phpversion() . " " . php_sapi_name() . " / zend engine " . zend_version() . "<br />" . " | Server Timezone: " . date_default_timezone_get() . "<br />" . " Load: " . "<br />" . " | Memory: {$memory_avail} (avail) / {$memory_used}M (used) / {$memory_peak}M (peak)" . "<br />" . " | Time: {$run_time}s | {$pps} req/sec" . "<br />" . "Url: " . "<br />" . " |" . "<br />" . " | Agent: " . (@$_SERVER["HTTP_USER_AGENT"]) . "<br />" . "Version Control: " . "<br />" . " </div>" . "<br />";
|
134 |
-
}
|
135 |
-
|
136 |
-
$debug .= "Plugins<br>";
|
137 |
-
$debug .= "=====================<br>";
|
138 |
-
|
139 |
-
$plugins = get_plugins();
|
140 |
-
|
141 |
-
foreach($plugins as $path => $plugin) {
|
142 |
-
if( is_plugin_active($path) ) {
|
143 |
-
$debug .= $plugin['Name'] . '<br>';
|
144 |
-
}
|
145 |
-
}
|
146 |
-
|
147 |
-
return $debug;
|
148 |
-
}
|
149 |
-
|
150 |
-
/**
|
151 |
-
* Generates a report about the system and plug-in error
|
152 |
-
* @return string
|
153 |
-
*/
|
154 |
-
public function gererateReportAction()
|
155 |
-
{
|
156 |
-
require_once(WCL_PLUGIN_DIR . '/includes/classes/class.zip-archive.php');
|
157 |
-
|
158 |
-
$reposts_dir = WCL_PLUGIN_DIR . '/reports';
|
159 |
-
$reports_temp = $reposts_dir . '/temp';
|
160 |
-
|
161 |
-
if( !file_exists($reposts_dir) ) {
|
162 |
-
mkdir($reposts_dir, 0777, true);
|
163 |
-
}
|
164 |
-
|
165 |
-
if( !file_exists($reports_temp) ) {
|
166 |
-
mkdir($reports_temp, 0777, true);
|
167 |
-
}
|
168 |
-
|
169 |
-
$file = fopen($reports_temp . '/site-info.html', 'w+');
|
170 |
-
fputs($file, $this->getDebugReport());
|
171 |
-
fclose($file);
|
172 |
-
|
173 |
-
$download_file_name = 'webcraftic-clearfy-report-' . date('Y.m.d-H.i.s') . '.zip';
|
174 |
-
$download_file_path = WCL_PLUGIN_DIR . '/reports/' . $download_file_name;
|
175 |
-
|
176 |
-
Wbcr_ExtendedZip::zipTree(WCL_PLUGIN_DIR . '/reports/temp', $download_file_path, ZipArchive::CREATE);
|
177 |
-
|
178 |
-
array_map('unlink', glob(WCL_PLUGIN_DIR . "/reports/temp/*"));
|
179 |
-
|
180 |
-
wp_redirect(WCL_PLUGIN_URL . '/reports/' . $download_file_name);
|
181 |
-
exit;
|
182 |
-
}
|
183 |
|
184 |
public function showPageContent()
|
185 |
{
|
@@ -206,7 +150,6 @@
|
|
206 |
'args' => array('flush_redirect' => 1)
|
207 |
);
|
208 |
?>
|
209 |
-
<div class="wbcr-clearfy-layer"></div>
|
210 |
<div class="wbcr-clearfy-confirm-popup">
|
211 |
<h3><?php _e('Are you sure you want to enable the this options?', 'clearfy') ?></h3>
|
212 |
|
@@ -219,11 +162,16 @@
|
|
219 |
<button class="wbcr-clearfy-popup-button-cancel"><?php _e('Cancel', 'clearfy') ?></button>
|
220 |
</div>
|
221 |
</div>
|
222 |
-
|
223 |
<div class="wbcr-content-section">
|
224 |
-
<div
|
225 |
<p><?php _e('These are quick optimization options for your website. You can activate the groups of necessary settings in one click. With the fast optimization mode, we are enable the only safe settings that do not break your website. That is why we recommend you to look at each setting of the plugin individually. The settings with grey and red question mark will not be active, until you do it yourself.', 'clearfy') ?></p>
|
226 |
-
|
|
|
|
|
|
|
|
|
|
|
227 |
|
228 |
<p style="color:#9e9e9e"><?php _e('After selecting any optimization case, the plugin will automatically enable the necessary settings in safe mode and one click.', 'clearfy') ?></p>
|
229 |
|
@@ -235,15 +183,9 @@
|
|
235 |
$mode_args = '';
|
236 |
|
237 |
if( is_array($mode) ) {
|
238 |
-
$mode_title = isset($mode['title'])
|
239 |
-
|
240 |
-
|
241 |
-
$mode_icon = isset($mode['icon'])
|
242 |
-
? $mode['icon']
|
243 |
-
: '';
|
244 |
-
$mode_args = isset($mode['args']) && is_array($mode['args'])
|
245 |
-
? WCL_Helper::getEscapeJson($mode['args'])
|
246 |
-
: '';
|
247 |
}
|
248 |
?>
|
249 |
|
@@ -284,53 +226,6 @@
|
|
284 |
</div>
|
285 |
</div>
|
286 |
</div>
|
287 |
-
<div class="wbcr-right-sidebar-section">
|
288 |
-
<div class="row">
|
289 |
-
<div class="col-sm-12">
|
290 |
-
<div class="wbcr-clearfy-switch-success-message">
|
291 |
-
<?php _e('Settings successfully updated!', 'clearfy') ?>
|
292 |
-
</div>
|
293 |
-
<div class="wbcr-clearfy-switch-error-message">
|
294 |
-
<?php _e('During the setup, an unknown error occurred, please try again or contact the plug-in support.', 'clearfy') ?>
|
295 |
-
</div>
|
296 |
-
</div>
|
297 |
-
|
298 |
-
<?php do_action('wbcr_clearfy_quick_boards'); ?>
|
299 |
-
|
300 |
-
<div class="col-sm-12">
|
301 |
-
<div class="wbcr-clearfy-export-import-board wbcr-clearfy-board">
|
302 |
-
<p>
|
303 |
-
<label for="wbcr-clearfy-import-export">
|
304 |
-
<strong><?php _e('Import/Export settings', 'clearfy') ?></strong>
|
305 |
-
</label>
|
306 |
-
<textarea id="wbcr-clearfy-import-export"><?= WCL_Helper::getExportOptions(); ?></textarea>
|
307 |
-
<button class="button wbcr-clearfy-import-options-button"><?php _e('Import options', 'clearfy') ?></button>
|
308 |
-
</p>
|
309 |
-
</div>
|
310 |
-
</div>
|
311 |
-
<div class="col-sm-12">
|
312 |
-
<div class="wbcr-clearfy-troubleshooting-board wbcr-clearfy-board">
|
313 |
-
<h4><?php _e('Support', 'clearfy') ?></h4>
|
314 |
-
|
315 |
-
<p><?php _e('If you faced with any issues, please follow the steps below to get quickly quality support:', 'clearfy') ?></p>
|
316 |
-
<ol>
|
317 |
-
<li>
|
318 |
-
<p><?php _e('Generate a debug report which will contains inforamtion about your configuratin and installed plugins', 'clearfy') ?></p>
|
319 |
-
|
320 |
-
<p>
|
321 |
-
<a href="<?= admin_url('options-general.php?page=quick_start-' . $this->plugin->getPluginName() . '&action=gererate_report'); ?>" class="button"><?php _e('Generate Debug Report', 'clearfy') ?></a>
|
322 |
-
</p>
|
323 |
-
</li>
|
324 |
-
<li>
|
325 |
-
<p><?php _e('Send a message to <b>wordpress.webraftic@gmail.com</b> include the debug report into the message body.', 'clearfy'); ?></p>
|
326 |
-
</li>
|
327 |
-
</ol>
|
328 |
-
<p style="margin-bottom: 0px;"><?php _e('We guarantee to respond you within 7 business day.', 'clearfy') ?></p>
|
329 |
-
</div>
|
330 |
-
</div>
|
331 |
-
</div>
|
332 |
-
</div>
|
333 |
-
|
334 |
<?php
|
335 |
}
|
336 |
}
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
+
class WCL_QuickStartPage extends Wbcr_FactoryClearfy206_PageBase {
|
15 |
|
16 |
/**
|
17 |
* The id of the page in the admin menu.
|
18 |
*
|
19 |
* Mainly used to navigate between pages.
|
20 |
+
* @see FactoryPages410_AdminPage
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
* @var string
|
45 |
public $menu_target = 'options-general.php';
|
46 |
|
47 |
/**
|
48 |
+
* @var string
|
49 |
*/
|
50 |
+
public $type = 'page';
|
51 |
|
52 |
/**
|
53 |
+
* @var bool
|
54 |
*/
|
55 |
+
public $add_link_to_plugin_actions = true;
|
56 |
+
|
57 |
+
|
58 |
+
public $available_for_multisite = true;
|
59 |
+
|
60 |
|
61 |
/**
|
62 |
* @param WCL_Plugin $plugin
|
64 |
public function __construct(WCL_Plugin $plugin)
|
65 |
{
|
66 |
$this->menu_title = __('Clearfy menu', 'clearfy');
|
67 |
+
$this->page_menu_short_description = __('One-click settings', 'clearfy');
|
68 |
|
69 |
parent::__construct($plugin);
|
70 |
|
71 |
$this->plugin = $plugin;
|
72 |
}
|
73 |
|
74 |
+
public function getPageTitle()
|
75 |
{
|
76 |
return __('Quick start', 'clearfy');
|
77 |
}
|
79 |
/**
|
80 |
* Requests assets (js and css) for the page.
|
81 |
*
|
82 |
+
* @see FactoryPages410_AdminPage
|
83 |
*
|
84 |
* @since 1.0.0
|
85 |
* @return void
|
89 |
parent::assets($scripts, $styles);
|
90 |
|
91 |
$this->scripts->add(WCL_PLUGIN_URL . '/admin/assets/js/general.js');
|
92 |
+
|
93 |
+
/**
|
94 |
+
* Подгружаем стили для вижета оптимизации изображений, если не установли плагин оптимизации изображений
|
95 |
+
*/
|
96 |
+
if( !defined('WIO_PLUGIN_ACTIVE') ) {
|
97 |
+
$styles->add(WCL_PLUGIN_URL . '/admin/assets/css/base-statistic.css');
|
98 |
+
}
|
99 |
+
|
100 |
$params = array(
|
101 |
//'ajaxurl' => admin_url('admin-ajax.php'),
|
102 |
'flush_cache_url' => $this->getActionUrl('flush-cache-and-rules', array('_wpnonce' => wp_create_nonce('wbcr_factory_' . $this->getResultId() . '_flush_action'))),
|
103 |
'ajax_nonce' => wp_create_nonce('wbcr_clearfy_ajax_quick_start_nonce'),
|
104 |
+
'i18n' => array(
|
105 |
+
'success_update_settings' => __('Settings successfully updated!', 'clearfy'),
|
106 |
+
'unknown_error' => __('During the setup, an unknown error occurred, please try again or contact the plugin support.', 'clearfy')
|
107 |
+
)
|
108 |
);
|
109 |
|
110 |
wp_localize_script('jquery', 'wbcr_clearfy_ajax', $params);
|
124 |
</div>
|
125 |
<?php
|
126 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
127 |
|
128 |
public function showPageContent()
|
129 |
{
|
150 |
'args' => array('flush_redirect' => 1)
|
151 |
);
|
152 |
?>
|
|
|
153 |
<div class="wbcr-clearfy-confirm-popup">
|
154 |
<h3><?php _e('Are you sure you want to enable the this options?', 'clearfy') ?></h3>
|
155 |
|
162 |
<button class="wbcr-clearfy-popup-button-cancel"><?php _e('Cancel', 'clearfy') ?></button>
|
163 |
</div>
|
164 |
</div>
|
165 |
+
|
166 |
<div class="wbcr-content-section">
|
167 |
+
<div class="wbcr-factory-page-group-header" style="margin:0"><?php _e('<strong>Quick start</strong>.', 'clearfy') ?>
|
168 |
<p><?php _e('These are quick optimization options for your website. You can activate the groups of necessary settings in one click. With the fast optimization mode, we are enable the only safe settings that do not break your website. That is why we recommend you to look at each setting of the plugin individually. The settings with grey and red question mark will not be active, until you do it yourself.', 'clearfy') ?></p>
|
169 |
+
</div>
|
170 |
+
|
171 |
+
<?php do_action('wbcr_clearfy_quick_boards'); ?>
|
172 |
+
|
173 |
+
<div id="wbcr-clearfy-quick-mode-board">
|
174 |
+
<h4 style="margin-top:10px;"><?php _e('Select what you need to do', 'clearfy') ?></h4>
|
175 |
|
176 |
<p style="color:#9e9e9e"><?php _e('After selecting any optimization case, the plugin will automatically enable the necessary settings in safe mode and one click.', 'clearfy') ?></p>
|
177 |
|
183 |
$mode_args = '';
|
184 |
|
185 |
if( is_array($mode) ) {
|
186 |
+
$mode_title = isset($mode['title']) ? $mode['title'] : '';
|
187 |
+
$mode_icon = isset($mode['icon']) ? $mode['icon'] : '';
|
188 |
+
$mode_args = isset($mode['args']) && is_array($mode['args']) ? WCL_Helper::getEscapeJson($mode['args']) : '';
|
|
|
|
|
|
|
|
|
|
|
|
|
189 |
}
|
190 |
?>
|
191 |
|
226 |
</div>
|
227 |
</div>
|
228 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
229 |
<?php
|
230 |
}
|
231 |
}
|
admin/pages/seo-double-pages.php
CHANGED
@@ -10,13 +10,13 @@
|
|
10 |
exit;
|
11 |
}
|
12 |
|
13 |
-
class WCL_DoublePagesPage extends
|
14 |
|
15 |
/**
|
16 |
* The id of the page in the admin menu.
|
17 |
*
|
18 |
* Mainly used to navigate between pages.
|
19 |
-
* @see
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
* @var string
|
@@ -29,6 +29,8 @@
|
|
29 |
|
30 |
public $page_menu_position = 16;
|
31 |
|
|
|
|
|
32 |
/**
|
33 |
* @param WCL_Plugin $plugin
|
34 |
*/
|
@@ -40,21 +42,7 @@
|
|
40 |
|
41 |
$this->plugin = $plugin;
|
42 |
}
|
43 |
-
|
44 |
-
/**
|
45 |
-
* Shows the description above the options.
|
46 |
-
*
|
47 |
-
* @since 1.0.0
|
48 |
-
* @return void
|
49 |
-
*/
|
50 |
-
/*public function _showHeader()
|
51 |
-
{
|
52 |
-
?>
|
53 |
-
<div class="wbcr-clearfy-header">
|
54 |
-
<?php _e('This page contains settings for setting up duplicate pages.', 'clearfy') ?>
|
55 |
-
</div>
|
56 |
-
<?php
|
57 |
-
}*/
|
58 |
|
59 |
/**
|
60 |
* Permalinks options.
|
@@ -62,7 +50,7 @@
|
|
62 |
* @since 1.0.0
|
63 |
* @return mixed[]
|
64 |
*/
|
65 |
-
public function
|
66 |
{
|
67 |
$options = array();
|
68 |
|
@@ -166,4 +154,4 @@
|
|
166 |
|
167 |
return apply_filters('wbcr_clr_double_form_options', $form_options, $this);
|
168 |
}
|
169 |
-
}
|
10 |
exit;
|
11 |
}
|
12 |
|
13 |
+
class WCL_DoublePagesPage extends Wbcr_FactoryClearfy206_PageBase {
|
14 |
|
15 |
/**
|
16 |
* The id of the page in the admin menu.
|
17 |
*
|
18 |
* Mainly used to navigate between pages.
|
19 |
+
* @see FactoryPages410_AdminPage
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
* @var string
|
29 |
|
30 |
public $page_menu_position = 16;
|
31 |
|
32 |
+
public $available_for_multisite = true;
|
33 |
+
|
34 |
/**
|
35 |
* @param WCL_Plugin $plugin
|
36 |
*/
|
42 |
|
43 |
$this->plugin = $plugin;
|
44 |
}
|
45 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
|
47 |
/**
|
48 |
* Permalinks options.
|
50 |
* @since 1.0.0
|
51 |
* @return mixed[]
|
52 |
*/
|
53 |
+
public function getPageOptions()
|
54 |
{
|
55 |
$options = array();
|
56 |
|
154 |
|
155 |
return apply_filters('wbcr_clr_double_form_options', $form_options, $this);
|
156 |
}
|
157 |
+
}
|
admin/pages/seo.php
CHANGED
@@ -10,13 +10,13 @@
|
|
10 |
exit;
|
11 |
}
|
12 |
|
13 |
-
class WCL_SeoPage extends
|
14 |
|
15 |
/**
|
16 |
* The id of the page in the admin menu.
|
17 |
*
|
18 |
* Mainly used to navigate between pages.
|
19 |
-
* @see
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
* @var string
|
@@ -26,6 +26,8 @@
|
|
26 |
public $page_menu_dashicon = 'dashicons-star-filled';
|
27 |
|
28 |
public $page_menu_position = 16;
|
|
|
|
|
29 |
|
30 |
/**
|
31 |
* @param WCL_Plugin $plugin
|
@@ -33,6 +35,7 @@
|
|
33 |
public function __construct(WCL_Plugin $plugin)
|
34 |
{
|
35 |
$this->menu_title = __('SEO', 'clearfy');
|
|
|
36 |
|
37 |
parent::__construct($plugin);
|
38 |
|
@@ -60,7 +63,7 @@
|
|
60 |
* @since 1.0.0
|
61 |
* @return mixed[]
|
62 |
*/
|
63 |
-
public function
|
64 |
{
|
65 |
$options = array();
|
66 |
|
10 |
exit;
|
11 |
}
|
12 |
|
13 |
+
class WCL_SeoPage extends Wbcr_FactoryClearfy206_PageBase {
|
14 |
|
15 |
/**
|
16 |
* The id of the page in the admin menu.
|
17 |
*
|
18 |
* Mainly used to navigate between pages.
|
19 |
+
* @see FactoryPages410_AdminPage
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
* @var string
|
26 |
public $page_menu_dashicon = 'dashicons-star-filled';
|
27 |
|
28 |
public $page_menu_position = 16;
|
29 |
+
|
30 |
+
public $available_for_multisite = true;
|
31 |
|
32 |
/**
|
33 |
* @param WCL_Plugin $plugin
|
35 |
public function __construct(WCL_Plugin $plugin)
|
36 |
{
|
37 |
$this->menu_title = __('SEO', 'clearfy');
|
38 |
+
$this->page_menu_short_description = __('Additional small fixes SEO', 'clearfy');
|
39 |
|
40 |
parent::__construct($plugin);
|
41 |
|
63 |
* @since 1.0.0
|
64 |
* @return mixed[]
|
65 |
*/
|
66 |
+
public function getPageOptions()
|
67 |
{
|
68 |
$options = array();
|
69 |
|
admin/pages/widgets.php
CHANGED
@@ -10,13 +10,13 @@
|
|
10 |
exit;
|
11 |
}
|
12 |
|
13 |
-
class WCL_WidgetsPage extends
|
14 |
|
15 |
/**
|
16 |
* The id of the page in the admin menu.
|
17 |
*
|
18 |
* Mainly used to navigate between pages.
|
19 |
-
* @see
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
* @var string
|
@@ -24,6 +24,8 @@
|
|
24 |
public $id = "widgets";
|
25 |
|
26 |
public $page_menu_dashicon = 'dashicons-networking';
|
|
|
|
|
27 |
|
28 |
/**
|
29 |
* @param WCL_Plugin $plugin
|
@@ -31,6 +33,7 @@
|
|
31 |
public function __construct(WCL_Plugin $plugin)
|
32 |
{
|
33 |
$this->menu_title = __('Widgets', 'clearfy');
|
|
|
34 |
|
35 |
parent::__construct($plugin);
|
36 |
|
@@ -43,7 +46,7 @@
|
|
43 |
* @since 1.0.0
|
44 |
* @return mixed[]
|
45 |
*/
|
46 |
-
public function
|
47 |
{
|
48 |
$options = array();
|
49 |
|
@@ -188,4 +191,4 @@
|
|
188 |
|
189 |
return apply_filters('wbcr_clr_widgets_form_options', $form_options, $this);
|
190 |
}
|
191 |
-
}
|
10 |
exit;
|
11 |
}
|
12 |
|
13 |
+
class WCL_WidgetsPage extends Wbcr_FactoryClearfy206_PageBase {
|
14 |
|
15 |
/**
|
16 |
* The id of the page in the admin menu.
|
17 |
*
|
18 |
* Mainly used to navigate between pages.
|
19 |
+
* @see FactoryPages410_AdminPage
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
* @var string
|
24 |
public $id = "widgets";
|
25 |
|
26 |
public $page_menu_dashicon = 'dashicons-networking';
|
27 |
+
|
28 |
+
public $available_for_multisite = true;
|
29 |
|
30 |
/**
|
31 |
* @param WCL_Plugin $plugin
|
33 |
public function __construct(WCL_Plugin $plugin)
|
34 |
{
|
35 |
$this->menu_title = __('Widgets', 'clearfy');
|
36 |
+
$this->page_menu_short_description = __('Disable unused widgets', 'clearfy');
|
37 |
|
38 |
parent::__construct($plugin);
|
39 |
|
46 |
* @since 1.0.0
|
47 |
* @return mixed[]
|
48 |
*/
|
49 |
+
public function getPageOptions()
|
50 |
{
|
51 |
$options = array();
|
52 |
|
191 |
|
192 |
return apply_filters('wbcr_clr_widgets_form_options', $form_options, $this);
|
193 |
}
|
194 |
+
}
|
assets/css/admin-bar.css
CHANGED
@@ -1,40 +1,39 @@
|
|
1 |
-
/**
|
2 |
-
* Admin bar menu
|
3 |
-
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
4 |
-
* @copyright Webcraftic 01.07.2018
|
5 |
-
*/
|
6 |
-
#wp-admin-bar-clearfy-menu {
|
7 |
-
background: #443a54 !important;
|
8 |
-
}
|
9 |
-
#wp-admin-bar-clearfy-menu .dashicons {
|
10 |
-
font: 400 20px/1 dashicons;
|
11 |
-
}
|
12 |
-
#wp-admin-bar-clearfy-menu #wp-admin-bar-clearfy-menu-default {
|
13 |
-
background: #565656 !important;
|
14 |
-
}
|
15 |
-
#wp-admin-bar-clearfy-menu .wbcr-clearfy-admin-bar-menu-icon {
|
16 |
-
display: inline-block !important;
|
17 |
-
width: 20px;
|
18 |
-
height: 25px;
|
19 |
-
margin-right: 5px;
|
20 |
-
background: url(../img/webcraftic-plugin-icon.png) 0 0 no-repeat;
|
21 |
-
}
|
22 |
-
#wp-admin-bar-clearfy-menu .wbcr-clearfy-admin-bar-menu-title {
|
23 |
-
display: inline-block !important;
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
#
|
36 |
-
|
37 |
-
|
38 |
-
#
|
39 |
-
|
40 |
-
}
|
1 |
+
/**
|
2 |
+
* Admin bar menu
|
3 |
+
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
4 |
+
* @copyright Webcraftic 01.07.2018
|
5 |
+
*/
|
6 |
+
#wp-admin-bar-clearfy-menu {
|
7 |
+
background: #443a54 !important;
|
8 |
+
}
|
9 |
+
#wp-admin-bar-clearfy-menu .dashicons {
|
10 |
+
font: 400 20px/1 dashicons;
|
11 |
+
}
|
12 |
+
#wp-admin-bar-clearfy-menu #wp-admin-bar-clearfy-menu-default {
|
13 |
+
background: #565656 !important;
|
14 |
+
}
|
15 |
+
#wp-admin-bar-clearfy-menu .wbcr-clearfy-admin-bar-menu-icon {
|
16 |
+
display: inline-block !important;
|
17 |
+
width: 20px;
|
18 |
+
height: 25px;
|
19 |
+
margin-right: 5px;
|
20 |
+
background: url(../img/webcraftic-plugin-icon.png) 0 0 no-repeat;
|
21 |
+
}
|
22 |
+
#wp-admin-bar-clearfy-menu .wbcr-clearfy-admin-bar-menu-title {
|
23 |
+
display: inline-block !important;
|
24 |
+
overflow: hidden;
|
25 |
+
}
|
26 |
+
#wp-admin-bar-clearfy-menu .wbcr-clearfy-admin-bar-menu-title .dashicons {
|
27 |
+
font-size: 20px !important;
|
28 |
+
padding: 6px 0 !important;
|
29 |
+
}
|
30 |
+
#wp-admin-bar-clearfy-menu .ab-item .dashicons {
|
31 |
+
font-size: 14px;
|
32 |
+
padding: 6px 0;
|
33 |
+
}
|
34 |
+
#wp-admin-bar-clearfy-menu .ab-item .dashicons.dashicons-heart {
|
35 |
+
color: #fb7976;
|
36 |
+
}
|
37 |
+
#wp-admin-bar-clearfy-menu .ab-item .dashicons.dashicons-star-filled {
|
38 |
+
color: #ffbe00;
|
39 |
+
}
|
|
assets/css/admin-bar.less
CHANGED
@@ -23,7 +23,6 @@
|
|
23 |
}
|
24 |
.wbcr-clearfy-admin-bar-menu-title {
|
25 |
display: inline-block !important;
|
26 |
-
width: 65px !important;
|
27 |
overflow: hidden;
|
28 |
|
29 |
.dashicons {
|
23 |
}
|
24 |
.wbcr-clearfy-admin-bar-menu-title {
|
25 |
display: inline-block !important;
|
|
|
26 |
overflow: hidden;
|
27 |
|
28 |
.dashicons {
|
clearfy.php
CHANGED
@@ -4,10 +4,11 @@
|
|
4 |
* Plugin URI: https://wordpress.org/plugins/clearfy/
|
5 |
* Description: Disables unused Wordpress features, improves performance and increases SEO rankings, using Clearfy, which makes WordPress very easy.
|
6 |
* Author: Webcraftic <wordpress.webraftic@gmail.com>
|
7 |
-
* Version: 1.
|
8 |
* Text Domain: clearfy
|
9 |
* Domain Path: /languages/
|
10 |
* Author URI: http://clearfy.pro
|
|
|
11 |
*/
|
12 |
|
13 |
// Exit if accessed directly
|
@@ -18,33 +19,65 @@
|
|
18 |
if( defined('WBCR_CLEARFY_PLUGIN_ACTIVE') ) {
|
19 |
return;
|
20 |
}
|
|
|
|
|
|
|
21 |
define('WBCR_CLEARFY_PLUGIN_ACTIVE', true);
|
22 |
-
|
|
|
23 |
|
24 |
define('WCL_PLUGIN_DIR', dirname(__FILE__));
|
25 |
define('WCL_PLUGIN_BASE', plugin_basename(__FILE__));
|
26 |
define('WCL_PLUGIN_URL', plugins_url(null, __FILE__));
|
27 |
|
28 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
|
30 |
-
|
|
|
|
|
|
|
31 |
|
32 |
-
|
33 |
-
|
34 |
-
require_once(WCL_PLUGIN_DIR . '/includes/
|
|
|
35 |
|
36 |
-
|
37 |
'prefix' => 'wbcr_clearfy_',
|
38 |
'plugin_name' => 'wbcr_clearfy',
|
39 |
'plugin_title' => __('Clearfy', 'clearfy'),
|
40 |
-
'plugin_version' =>
|
41 |
-
'required_php_version' => '5.
|
42 |
'required_wp_version' => '4.2',
|
43 |
'freemius_plugin_id' => 2315,
|
44 |
'freemius_plugin_slug' => 'clearfy',
|
45 |
'freemius_public_key' => 'pk_70e226af07d37d2b9a69720e0952c',
|
46 |
'plugin_build' => 'free',
|
47 |
'updates' => WCL_PLUGIN_DIR . '/updates/',
|
48 |
-
'author_site_url' => 'https://clearfy.pro',
|
49 |
-
'author_ru_site_url' => 'https://ru.clearfy.pro'
|
50 |
-
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
* Plugin URI: https://wordpress.org/plugins/clearfy/
|
5 |
* Description: Disables unused Wordpress features, improves performance and increases SEO rankings, using Clearfy, which makes WordPress very easy.
|
6 |
* Author: Webcraftic <wordpress.webraftic@gmail.com>
|
7 |
+
* Version: 1.4.6
|
8 |
* Text Domain: clearfy
|
9 |
* Domain Path: /languages/
|
10 |
* Author URI: http://clearfy.pro
|
11 |
+
* Framework Version: FACTORY_409_VERSION
|
12 |
*/
|
13 |
|
14 |
// Exit if accessed directly
|
19 |
if( defined('WBCR_CLEARFY_PLUGIN_ACTIVE') ) {
|
20 |
return;
|
21 |
}
|
22 |
+
|
23 |
+
define('WBCR_CLEARFY_PLUGIN_VERSION', '1.4.6');
|
24 |
+
|
25 |
define('WBCR_CLEARFY_PLUGIN_ACTIVE', true);
|
26 |
+
|
27 |
+
define('WBCR_CLEARFY_FRAMEWORK_VER', 'FACTORY_409_VERSION');
|
28 |
|
29 |
define('WCL_PLUGIN_DIR', dirname(__FILE__));
|
30 |
define('WCL_PLUGIN_BASE', plugin_basename(__FILE__));
|
31 |
define('WCL_PLUGIN_URL', plugins_url(null, __FILE__));
|
32 |
|
33 |
+
// Fix for ithemes sync. When the ithemes sync plugin accepts the request, set the WP_ADMIN constant,
|
34 |
+
// after which the plugin Clearfy begins to create errors, and how the logic of its work is broken.
|
35 |
+
// Solution to simply terminate the plugin if there is a request from ithemes sync
|
36 |
+
// --------------------------------------
|
37 |
+
if( defined('DOING_AJAX') && DOING_AJAX && isset($_REQUEST['action']) && $_REQUEST['action'] == 'ithemes_sync_request' ) {
|
38 |
+
return;
|
39 |
+
}
|
40 |
|
41 |
+
if( isset($_GET['ithemes-sync-request']) && !empty($_GET['ithemes-sync-request']) ) {
|
42 |
+
return;
|
43 |
+
}
|
44 |
+
// ----------------------------------------
|
45 |
|
46 |
+
|
47 |
+
|
48 |
+
require_once(WCL_PLUGIN_DIR . '/libs/factory/core/includes/check-compatibility.php');
|
49 |
+
require_once(WCL_PLUGIN_DIR . '/libs/factory/clearfy/includes/check-clearfy-compatibility.php');
|
50 |
|
51 |
+
$plugin_info = array(
|
52 |
'prefix' => 'wbcr_clearfy_',
|
53 |
'plugin_name' => 'wbcr_clearfy',
|
54 |
'plugin_title' => __('Clearfy', 'clearfy'),
|
55 |
+
'plugin_version' => WBCR_CLEARFY_PLUGIN_VERSION,
|
56 |
+
'required_php_version' => '5.3',
|
57 |
'required_wp_version' => '4.2',
|
58 |
'freemius_plugin_id' => 2315,
|
59 |
'freemius_plugin_slug' => 'clearfy',
|
60 |
'freemius_public_key' => 'pk_70e226af07d37d2b9a69720e0952c',
|
61 |
'plugin_build' => 'free',
|
62 |
'updates' => WCL_PLUGIN_DIR . '/updates/',
|
63 |
+
//'author_site_url' => 'https://clearfy.pro',
|
64 |
+
//'author_ru_site_url' => 'https://ru.clearfy.pro'
|
65 |
+
);
|
66 |
+
|
67 |
+
/**
|
68 |
+
* Проверяет совместимость с Wordpress, php и другими плагинами.
|
69 |
+
*/
|
70 |
+
$compatibility = new Wbcr_FactoryClearfy_Compatibility($plugin_info);
|
71 |
+
|
72 |
+
if( !$compatibility->check() ) {
|
73 |
+
return;
|
74 |
+
}
|
75 |
+
|
76 |
+
require_once(WCL_PLUGIN_DIR . '/includes/helpers.php');
|
77 |
+
|
78 |
+
// creating a plugin via the factory
|
79 |
+
require_once(WCL_PLUGIN_DIR . '/libs/factory/core/boot.php');
|
80 |
+
require_once(WCL_PLUGIN_DIR . '/includes/class.plugin.php');
|
81 |
+
|
82 |
+
new WCL_Plugin(__FILE__, $plugin_info);
|
83 |
+
|
components/assets-manager/admin/assets/css/general.css
DELETED
@@ -1,455 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* General styles
|
3 |
-
* @author Alex Kovalev <alex.kovalevv@gmail.com>
|
4 |
-
* @copyright Alex Kovalev 23.08.2017
|
5 |
-
*/
|
6 |
-
#WBCR {
|
7 |
-
position: relative;
|
8 |
-
/**
|
9 |
-
Widget in the sidebar of the plugin
|
10 |
-
*/
|
11 |
-
/*#wbcr-clearfy_robots_txt_text {
|
12 |
-
min-height: 200px;
|
13 |
-
}*/
|
14 |
-
}
|
15 |
-
#WBCR .alert.alert-success {
|
16 |
-
margin: 0px;
|
17 |
-
margin-top: 10px;
|
18 |
-
margin-bottom: 10px;
|
19 |
-
font-weight: bold;
|
20 |
-
padding: 10px;
|
21 |
-
}
|
22 |
-
#WBCR .wbcr-factory-light-orange-color {
|
23 |
-
color: #ffeb3b;
|
24 |
-
}
|
25 |
-
#WBCR .wbcr-clearfy-header {
|
26 |
-
padding: 20px 20px 40px;
|
27 |
-
}
|
28 |
-
#WBCR .factory-bootstrap-406 label {
|
29 |
-
font-weight: normal;
|
30 |
-
}
|
31 |
-
#WBCR .factory-bootstrap-406 .form-horizontal .control-label {
|
32 |
-
max-width: 300px;
|
33 |
-
}
|
34 |
-
#WBCR .factory-control-buttons {
|
35 |
-
text-align: right;
|
36 |
-
padding-right: 20px;
|
37 |
-
}
|
38 |
-
#WBCR .factory-from-control-list label span {
|
39 |
-
display: inline-block;
|
40 |
-
vertical-align: bottom;
|
41 |
-
}
|
42 |
-
#WBCR .factory-from-control-list label span input[type="checkbox"],
|
43 |
-
#WBCR .factory-from-control-list label span input[type="checkbox"]:focus {
|
44 |
-
outline: none;
|
45 |
-
}
|
46 |
-
#WBCR .wbcr-clearfy-recomended-text {
|
47 |
-
display: block;
|
48 |
-
font-size: 11px;
|
49 |
-
font-weight: lighter;
|
50 |
-
color: #179347;
|
51 |
-
}
|
52 |
-
#WBCR .wbcr-clearfy-group-header {
|
53 |
-
background: #f9f9f9;
|
54 |
-
padding: 30px 0 10px 40px;
|
55 |
-
margin-bottom: 20px;
|
56 |
-
}
|
57 |
-
#WBCR .wbcr-clearfy-group-header strong {
|
58 |
-
font-size: 15px;
|
59 |
-
}
|
60 |
-
#WBCR .wbcr-clearfy-group-header p {
|
61 |
-
color: #8c8888;
|
62 |
-
font-size: 12px;
|
63 |
-
}
|
64 |
-
#WBCR .wbcr-clr-options,
|
65 |
-
#WBCR .wbcr-clr-page {
|
66 |
-
position: relative;
|
67 |
-
background: #fff;
|
68 |
-
padding-left: 230px;
|
69 |
-
}
|
70 |
-
#WBCR .wbcr-clr-options form.form-horizontal,
|
71 |
-
#WBCR .wbcr-clr-page form.form-horizontal {
|
72 |
-
min-height: 800px;
|
73 |
-
padding: 130px 20px 50px 20px;
|
74 |
-
}
|
75 |
-
#WBCR .wbcr-clr-page {
|
76 |
-
min-height: 800px;
|
77 |
-
padding: 80px 20px 50px 230px;
|
78 |
-
}
|
79 |
-
#WBCR .wbcr-clearfy-dashboard-header {
|
80 |
-
position: absolute;
|
81 |
-
z-index: 13;
|
82 |
-
top: 0;
|
83 |
-
left: 0;
|
84 |
-
right: 0;
|
85 |
-
overflow: hidden;
|
86 |
-
background-color: #32373c;
|
87 |
-
color: #fff;
|
88 |
-
border-radius: 5px 5px 0 0;
|
89 |
-
}
|
90 |
-
#WBCR .wbcr-clearfy-dashboard-header .wbcr-clearfy-header-logo {
|
91 |
-
float: left;
|
92 |
-
padding: 25px 0;
|
93 |
-
font-size: 20px;
|
94 |
-
line-height: 30px;
|
95 |
-
font-weight: 400;
|
96 |
-
text-align: center;
|
97 |
-
width: 170px;
|
98 |
-
background-color: #464b50;
|
99 |
-
color: #ccc;
|
100 |
-
padding-left: 25px;
|
101 |
-
background: none;
|
102 |
-
}
|
103 |
-
#WBCR .wbcr-clearfy-dashboard-header .wbcr-clearfy-header-title {
|
104 |
-
display: inline-block;
|
105 |
-
vertical-align: middle;
|
106 |
-
}
|
107 |
-
#WBCR .wbcr-clearfy-dashboard-header .wbcr-clearfy-header-title h2 {
|
108 |
-
font-size: 18px;
|
109 |
-
line-height: 30px;
|
110 |
-
font-weight: 300;
|
111 |
-
margin-top: 26px;
|
112 |
-
padding: 0 !important;
|
113 |
-
overflow: hidden;
|
114 |
-
white-space: nowrap;
|
115 |
-
text-overflow: ellipsis;
|
116 |
-
color: #fff;
|
117 |
-
}
|
118 |
-
#WBCR .wbcr-clearfy-dashboard-header .wbcr-clearfy-header-title .updated {
|
119 |
-
display: none !important;
|
120 |
-
}
|
121 |
-
#WBCR .wbcr-clearfy-dashboard-header .wbcr-clearfy-control {
|
122 |
-
position: relative;
|
123 |
-
float: right;
|
124 |
-
margin: 12px;
|
125 |
-
}
|
126 |
-
#WBCR .wbcr-clearfy-dashboard-header .wbcr-clearfy-control input[type="submit"] {
|
127 |
-
display: inline-block;
|
128 |
-
vertical-align: top;
|
129 |
-
font-size: 13px;
|
130 |
-
font-weight: 600;
|
131 |
-
line-height: 20px;
|
132 |
-
text-transform: uppercase;
|
133 |
-
margin: 10px 0 0;
|
134 |
-
padding: 8px 30px;
|
135 |
-
cursor: pointer;
|
136 |
-
position: relative;
|
137 |
-
overflow: hidden;
|
138 |
-
border: none;
|
139 |
-
border-radius: 50px;
|
140 |
-
box-shadow: 0 -1px 0 rgba(0, 0, 0, 0.08) inset;
|
141 |
-
background-color: #f1f1f1;
|
142 |
-
color: inherit;
|
143 |
-
transition: background-color 0.3s, border-color 0.3s, color 0.3s, opacity 0.3s;
|
144 |
-
text-align: center;
|
145 |
-
outline: none;
|
146 |
-
z-index: 3;
|
147 |
-
}
|
148 |
-
#WBCR .wbcr-clearfy-dashboard-header .wbcr-clearfy-control input[type="submit"].wbcr-clearfy-type-save {
|
149 |
-
box-shadow: none;
|
150 |
-
min-width: 200px;
|
151 |
-
background-color: #8bc34a;
|
152 |
-
color: #fff;
|
153 |
-
}
|
154 |
-
#WBCR .wbcr-clearfy-dashboard-header .wbcr-clearfy-control input[type="submit"].wbcr-clearfy-type-save:hover {
|
155 |
-
background: #9dbb7b;
|
156 |
-
color: #fff;
|
157 |
-
}
|
158 |
-
#WBCR .wbcr-clearfy-dashboard-header .wbcr-clearfy-control input[type="submit"].wbcr-clearfy-type-save:active {
|
159 |
-
box-shadow: inset -1px 1px 1px rgba(0, 0, 0, 0.3);
|
160 |
-
}
|
161 |
-
#WBCR .wbcr-clearfy-left-navigation-bar {
|
162 |
-
position: absolute;
|
163 |
-
left: 0;
|
164 |
-
top: 0;
|
165 |
-
bottom: 0;
|
166 |
-
width: 230px;
|
167 |
-
background: #e6e6e6;
|
168 |
-
}
|
169 |
-
#WBCR .wbcr-clearfy-left-navigation-bar ul {
|
170 |
-
margin-top: 80px;
|
171 |
-
}
|
172 |
-
#WBCR .wbcr-clearfy-left-navigation-bar ul .wbcr-clearfy-nav-tab {
|
173 |
-
display: block;
|
174 |
-
background: #efefef;
|
175 |
-
margin: 1px 0;
|
176 |
-
}
|
177 |
-
#WBCR .wbcr-clearfy-left-navigation-bar ul .wbcr-clearfy-nav-tab a {
|
178 |
-
display: block;
|
179 |
-
width: 100%;
|
180 |
-
padding: 20px 20px;
|
181 |
-
font-size: 12px;
|
182 |
-
color: #9a9a9a;
|
183 |
-
text-decoration: none;
|
184 |
-
text-transform: uppercase;
|
185 |
-
}
|
186 |
-
#WBCR .wbcr-clearfy-left-navigation-bar ul .wbcr-clearfy-nav-tab a:hover {
|
187 |
-
background: #f7f6f6;
|
188 |
-
}
|
189 |
-
#WBCR .wbcr-clearfy-left-navigation-bar ul .wbcr-clearfy-nav-tab a,
|
190 |
-
#WBCR .wbcr-clearfy-left-navigation-bar ul .wbcr-clearfy-nav-tab a:active,
|
191 |
-
#WBCR .wbcr-clearfy-left-navigation-bar ul .wbcr-clearfy-nav-tab a:hover,
|
192 |
-
#WBCR .wbcr-clearfy-left-navigation-bar ul .wbcr-clearfy-nav-tab a:active,
|
193 |
-
#WBCR .wbcr-clearfy-left-navigation-bar ul .wbcr-clearfy-nav-tab a:focus {
|
194 |
-
outline: 0 !important;
|
195 |
-
box-shadow: none !important;
|
196 |
-
}
|
197 |
-
#WBCR .wbcr-clearfy-left-navigation-bar ul .wbcr-clearfy-nav-tab.wbcr-clearfy-active-tab {
|
198 |
-
background: #fff;
|
199 |
-
}
|
200 |
-
#WBCR .wbcr-clearfy-left-navigation-bar ul .wbcr-clearfy-nav-tab.wbcr-clearfy-active-tab a {
|
201 |
-
color: #222;
|
202 |
-
}
|
203 |
-
#WBCR .wbcr-clearfy-sidebar-widget {
|
204 |
-
display: inline-block;
|
205 |
-
min-height: 230px;
|
206 |
-
width: 100%;
|
207 |
-
margin-top: 20px;
|
208 |
-
background-color: #fff;
|
209 |
-
padding: 20px 15px;
|
210 |
-
vertical-align: top;
|
211 |
-
}
|
212 |
-
#WBCR .wbcr-clearfy-sidebar-widget .wbcr-clearfy-hint-icon-simple {
|
213 |
-
display: inline-block;
|
214 |
-
width: 16px;
|
215 |
-
height: 16px;
|
216 |
-
line-height: 15px;
|
217 |
-
padding: 0;
|
218 |
-
font-size: 11px;
|
219 |
-
text-align: center;
|
220 |
-
color: #fff;
|
221 |
-
background: #E91E63;
|
222 |
-
border-radius: 3px;
|
223 |
-
}
|
224 |
-
#WBCR .wbcr-clearfy-sidebar-widget .wbcr-clearfy-simple-grey {
|
225 |
-
background: #E91E63;
|
226 |
-
}
|
227 |
-
#WBCR .wbcr-clearfy-sidebar-widget .wbcr-clearfy-simple-red {
|
228 |
-
background: #9e9e9e;
|
229 |
-
}
|
230 |
-
#WBCR .wbcr-clearfy-sidebar-widget .wbcr-clearfy-simple-green {
|
231 |
-
background: #8bc34a;
|
232 |
-
}
|
233 |
-
#WBCR .wbcr-clearfy-sidebar-widget .wbcr-clearfy-icon-5stars {
|
234 |
-
display: block;
|
235 |
-
width: 80px;
|
236 |
-
height: 17px;
|
237 |
-
background: url('../img/5-stars22.png') no-repeat;
|
238 |
-
vertical-align: middle;
|
239 |
-
margin-bottom: 5px;
|
240 |
-
}
|
241 |
-
#WBCR .wbcr-clearfy-board {
|
242 |
-
background: #f9f8f8;
|
243 |
-
box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.1);
|
244 |
-
padding: 20px;
|
245 |
-
margin-top: 20px;
|
246 |
-
}
|
247 |
-
#WBCR #wbcr-clearfy-quick-mode-board {
|
248 |
-
padding: 30px;
|
249 |
-
margin-top: 20px;
|
250 |
-
}
|
251 |
-
#WBCR #wbcr-clearfy-quick-mode-board h4 {
|
252 |
-
margin-top: 30px;
|
253 |
-
}
|
254 |
-
#WBCR .wbcr-clearfy-switch-success-message,
|
255 |
-
#WBCR .wbcr-clearfy-switch-error-message {
|
256 |
-
display: none;
|
257 |
-
padding: 15px 20px;
|
258 |
-
font-size: 13px;
|
259 |
-
font-weight: bold;
|
260 |
-
margin: 15px 0 0;
|
261 |
-
border-radius: 4px;
|
262 |
-
}
|
263 |
-
#WBCR .wbcr-clearfy-switch-success-message {
|
264 |
-
background: #e5f9ce;
|
265 |
-
border-bottom: 3px solid #d3eab9;
|
266 |
-
color: #56614a;
|
267 |
-
}
|
268 |
-
#WBCR .wbcr-clearfy-switch-error-message {
|
269 |
-
background: #fdc6c2;
|
270 |
-
border-bottom: 3px solid #e2a19c;
|
271 |
-
color: #bd6963;
|
272 |
-
}
|
273 |
-
#WBCR .wbcr-clearfy-export-import-board {
|
274 |
-
text-align: right;
|
275 |
-
}
|
276 |
-
#WBCR .wbcr-clearfy-export-import-board label {
|
277 |
-
display: block;
|
278 |
-
width: 100%;
|
279 |
-
text-align: left;
|
280 |
-
padding: 7px 0;
|
281 |
-
}
|
282 |
-
#WBCR .wbcr-clearfy-export-import-board #wbcr-clearfy-import-export {
|
283 |
-
width: 100%;
|
284 |
-
box-sizing: border-box;
|
285 |
-
height: 150px;
|
286 |
-
line-height: inherit;
|
287 |
-
margin: 0;
|
288 |
-
padding: 7px 14px;
|
289 |
-
box-shadow: none;
|
290 |
-
border-radius: 3px;
|
291 |
-
border: 1px solid #eee;
|
292 |
-
border-top-color: #dedede;
|
293 |
-
background-color: #f1f1f1;
|
294 |
-
color: #444;
|
295 |
-
transition: border-color 0.3s;
|
296 |
-
-webkit-appearance: none;
|
297 |
-
}
|
298 |
-
#WBCR .wbcr-clearfy-export-import-board .wbcr-clearfy-import-options-button {
|
299 |
-
display: inline-block;
|
300 |
-
margin-top: 10px;
|
301 |
-
}
|
302 |
-
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch {
|
303 |
-
position: relative;
|
304 |
-
padding: 20px;
|
305 |
-
font-size: 11px;
|
306 |
-
text-transform: uppercase;
|
307 |
-
background: #f1f1f1;
|
308 |
-
margin-top: 10px;
|
309 |
-
border: 2px solid #e0dfdf;
|
310 |
-
text-align: center;
|
311 |
-
-webkit-transition: all 0.2s ease-out;
|
312 |
-
-moz-transition: all 0.2s ease-out;
|
313 |
-
-o-transition: all 0.2s ease-out;
|
314 |
-
transition: all 0.2s ease-out;
|
315 |
-
}
|
316 |
-
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch:hover {
|
317 |
-
cursor: pointer;
|
318 |
-
background: #e9e9e9;
|
319 |
-
border: 2px solid #d8d7d7;
|
320 |
-
}
|
321 |
-
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-active {
|
322 |
-
background: #e5f9ce;
|
323 |
-
border: 2px solid #c9deb2;
|
324 |
-
color: #677d4d;
|
325 |
-
}
|
326 |
-
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-active .wbcr-clearfy-switch-confirmation {
|
327 |
-
display: block !important;
|
328 |
-
}
|
329 |
-
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-active:hover .wbcr-clearfy-switch-confirmation {
|
330 |
-
opacity: 1;
|
331 |
-
}
|
332 |
-
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-mode-reset:hover {
|
333 |
-
background: #f7ccc9;
|
334 |
-
color: #c55b5b;
|
335 |
-
border: 2px solid #d8adad;
|
336 |
-
}
|
337 |
-
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-loading {
|
338 |
-
border: 2px solid #efefef;
|
339 |
-
background: #f5f5f5;
|
340 |
-
color: #d6d6d6;
|
341 |
-
}
|
342 |
-
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-loading .wbcr-clearfy-switch-confirmation button {
|
343 |
-
display: none !important;
|
344 |
-
}
|
345 |
-
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch .wbcr-clearfy-switch-confirmation {
|
346 |
-
position: absolute;
|
347 |
-
display: none;
|
348 |
-
opacity: 0;
|
349 |
-
top: 0;
|
350 |
-
left: 0;
|
351 |
-
right: 0;
|
352 |
-
bottom: 0;
|
353 |
-
background: rgba(255, 255, 255, 0.85);
|
354 |
-
-webkit-transition: all 0.3s ease-out;
|
355 |
-
-moz-transition: all 0.3s ease-out;
|
356 |
-
-o-transition: all 0.3s ease-out;
|
357 |
-
transition: all 0.3s ease-out;
|
358 |
-
}
|
359 |
-
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch .wbcr-clearfy-switch-confirmation button {
|
360 |
-
margin-top: 15px;
|
361 |
-
border: 0;
|
362 |
-
box-shadow: none;
|
363 |
-
padding: 5px 10px;
|
364 |
-
font-weight: bold;
|
365 |
-
font-size: 13px;
|
366 |
-
border-radius: 3px;
|
367 |
-
outline: none;
|
368 |
-
}
|
369 |
-
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch .wbcr-clearfy-switch-confirmation button.wbcr-clearfy-confirm-button-accept {
|
370 |
-
background-color: #c9deb2;
|
371 |
-
color: #586549;
|
372 |
-
}
|
373 |
-
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch .wbcr-clearfy-switch-confirmation button.wbcr-clearfy-confirm-button-cancel {
|
374 |
-
background-color: #fdd599;
|
375 |
-
color: #a57b3c;
|
376 |
-
margin-left: 10px;
|
377 |
-
}
|
378 |
-
#WBCR .wbcr-clearfy-layer {
|
379 |
-
display: none;
|
380 |
-
position: absolute;
|
381 |
-
top: 0;
|
382 |
-
left: 0;
|
383 |
-
right: 0;
|
384 |
-
bottom: 0;
|
385 |
-
background: rgba(255, 235, 59, 0.18);
|
386 |
-
z-index: 9;
|
387 |
-
}
|
388 |
-
#WBCR .wbcr-clearfy-confirm-popup {
|
389 |
-
display: none;
|
390 |
-
position: absolute;
|
391 |
-
top: 50%;
|
392 |
-
left: 50%;
|
393 |
-
width: 500px;
|
394 |
-
height: 400px;
|
395 |
-
margin: -200px 0 0 -250px;
|
396 |
-
padding: 20px;
|
397 |
-
background: rgba(255, 255, 255, 0.82);
|
398 |
-
box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
|
399 |
-
border: 4px solid rgba(216, 210, 171, 0.44);
|
400 |
-
z-index: 99;
|
401 |
-
}
|
402 |
-
#WBCR .wbcr-clearfy-confirm-popup h3 {
|
403 |
-
font-size: 17px;
|
404 |
-
text-align: center;
|
405 |
-
font-weight: bold;
|
406 |
-
margin: 5px 0 0;
|
407 |
-
}
|
408 |
-
#WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-reset-warning-message {
|
409 |
-
display: none;
|
410 |
-
text-align: center;
|
411 |
-
}
|
412 |
-
#WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-list-options {
|
413 |
-
display: none;
|
414 |
-
height: 230px;
|
415 |
-
overflow-y: auto;
|
416 |
-
overflow-x: hidden;
|
417 |
-
padding-left: 40px;
|
418 |
-
list-style: decimal;
|
419 |
-
margin: 20px 0;
|
420 |
-
}
|
421 |
-
#WBCR .wbcr-clearfy-confirm-popup.wbcr-clearfy-default-warning-options .wbcr-clearfy-list-options {
|
422 |
-
display: block;
|
423 |
-
}
|
424 |
-
#WBCR .wbcr-clearfy-confirm-popup.wbcr-clearfy-reset-warning-options {
|
425 |
-
height: 200px;
|
426 |
-
margin: -100px 0 0 -250px;
|
427 |
-
}
|
428 |
-
#WBCR .wbcr-clearfy-confirm-popup.wbcr-clearfy-reset-warning-options .wbcr-clearfy-reset-warning-message {
|
429 |
-
display: block;
|
430 |
-
margin: 10px 0;
|
431 |
-
}
|
432 |
-
#WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-popup-buttons {
|
433 |
-
text-align: center;
|
434 |
-
padding: 10px;
|
435 |
-
}
|
436 |
-
#WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-popup-buttons button {
|
437 |
-
display: inline-block;
|
438 |
-
padding: 7px 25px;
|
439 |
-
box-shadow: none;
|
440 |
-
border: 0;
|
441 |
-
font-weight: bold;
|
442 |
-
}
|
443 |
-
#WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-popup-buttons button,
|
444 |
-
#WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-popup-buttons button:focus {
|
445 |
-
outline: 0 !important;
|
446 |
-
box-shadow: none !important;
|
447 |
-
}
|
448 |
-
#WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-popup-buttons button.wbcr-clearfy-popup-button-ok {
|
449 |
-
background: #FFEB3B;
|
450 |
-
color: #564f0d;
|
451 |
-
}
|
452 |
-
#WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-popup-buttons button.wbcr-clearfy-cancel-mode {
|
453 |
-
background: #d6d6d6;
|
454 |
-
color: #5f5d5d;
|
455 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
components/assets-manager/admin/assets/js/general.js
DELETED
@@ -1,203 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* General
|
3 |
-
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
4 |
-
* @copyright (c) 10.09.2017, Webcraftic
|
5 |
-
* @version 1.0
|
6 |
-
*/
|
7 |
-
|
8 |
-
|
9 |
-
(function($) {
|
10 |
-
'use strict';
|
11 |
-
|
12 |
-
var general = {
|
13 |
-
init: function() {
|
14 |
-
this.qickStartAssistent();
|
15 |
-
this.importOptions();
|
16 |
-
},
|
17 |
-
qickStartAssistent: function() {
|
18 |
-
var self = this;
|
19 |
-
|
20 |
-
$('.wbcr-clearfy-switch').click(function() {
|
21 |
-
|
22 |
-
var modeName = $(this).data('mode'),
|
23 |
-
modeOptions = $(this).data('mode-options');
|
24 |
-
|
25 |
-
self.showConfirmationPopup(modeName, modeOptions);
|
26 |
-
return false;
|
27 |
-
});
|
28 |
-
|
29 |
-
$('.wbcr-clearfy-popup-button-cancel').click(function() {
|
30 |
-
self.hideConfirmationPopup();
|
31 |
-
});
|
32 |
-
|
33 |
-
$('.wbcr-clearfy-cancel-mode').click(function() {
|
34 |
-
var $this = $(this), modeName = $(this).closest('.wbcr-clearfy-switch').data('mode'),
|
35 |
-
switcher = $(this).closest('.wbcr-clearfy-switch');
|
36 |
-
|
37 |
-
switcher.addClass('wbcr-clearfy-loading');
|
38 |
-
|
39 |
-
self.sendRequest({
|
40 |
-
action: 'wbcr_clearfy_configurate',
|
41 |
-
mode: modeName,
|
42 |
-
cancel_mode: true
|
43 |
-
}, function(data) {
|
44 |
-
switcher.removeClass('wbcr-clearfy-loading');
|
45 |
-
|
46 |
-
if( data && data.export_options ) {
|
47 |
-
$('#wbcr-clearfy-import-export').html(data.export_options);
|
48 |
-
}
|
49 |
-
},
|
50 |
-
function() {
|
51 |
-
if( modeName != 'reset' ) {
|
52 |
-
switcher.removeClass('wbcr-clearfy-active');
|
53 |
-
}
|
54 |
-
});
|
55 |
-
return false;
|
56 |
-
});
|
57 |
-
|
58 |
-
$('.wbcr-clearfy-popup-button-ok').click(function() {
|
59 |
-
var $this = $(this), modeName = $(this).closest('.wbcr-clearfy-confirm-popup').data('mode'),
|
60 |
-
switcher = $('div[data-mode="' + modeName + '"]', '#wbcr-clearfy-quick-mode-board');
|
61 |
-
|
62 |
-
self.hideConfirmationPopup();
|
63 |
-
switcher.addClass('wbcr-clearfy-loading');
|
64 |
-
|
65 |
-
self.sendRequest({
|
66 |
-
action: 'wbcr_clearfy_configurate',
|
67 |
-
mode: modeName
|
68 |
-
}, function(data) {
|
69 |
-
switcher.removeClass('wbcr-clearfy-loading');
|
70 |
-
|
71 |
-
if( data && data.export_options ) {
|
72 |
-
$('#wbcr-clearfy-import-export').html(data.export_options);
|
73 |
-
}
|
74 |
-
},
|
75 |
-
function() {
|
76 |
-
if( modeName != 'reset' ) {
|
77 |
-
switcher.addClass('wbcr-clearfy-active');
|
78 |
-
return;
|
79 |
-
}
|
80 |
-
|
81 |
-
$('.wbcr-clearfy-switch').removeClass('wbcr-clearfy-active');
|
82 |
-
});
|
83 |
-
|
84 |
-
return false;
|
85 |
-
});
|
86 |
-
},
|
87 |
-
|
88 |
-
showConfirmationPopup: function(modeName, options) {
|
89 |
-
var self = this;
|
90 |
-
|
91 |
-
$('.wbcr-clearfy-layer').fadeIn();
|
92 |
-
|
93 |
-
var popupElem = $('.wbcr-clearfy-confirm-popup');
|
94 |
-
popupElem.data('mode', modeName);
|
95 |
-
popupElem.fadeIn();
|
96 |
-
|
97 |
-
if( modeName != 'reset' ) {
|
98 |
-
var printOptTitles = '';
|
99 |
-
|
100 |
-
if( options ) {
|
101 |
-
for( var opt in options ) {
|
102 |
-
if( !options.hasOwnProperty(opt) ) {
|
103 |
-
continue;
|
104 |
-
}
|
105 |
-
printOptTitles += '<li>' + options[opt] + '</li>';
|
106 |
-
|
107 |
-
}
|
108 |
-
$('.wbcr-clearfy-list-options').html(printOptTitles);
|
109 |
-
popupElem.addClass('wbcr-clearfy-default-warning-options');
|
110 |
-
}
|
111 |
-
return;
|
112 |
-
}
|
113 |
-
|
114 |
-
popupElem.addClass('wbcr-clearfy-reset-warning-options');
|
115 |
-
},
|
116 |
-
|
117 |
-
hideConfirmationPopup: function() {
|
118 |
-
$('.wbcr-clearfy-layer').fadeOut(100);
|
119 |
-
var popupElem = $('.wbcr-clearfy-confirm-popup');
|
120 |
-
|
121 |
-
popupElem.fadeOut(100, function() {
|
122 |
-
popupElem.removeClass('wbcr-clearfy-default-warning-options');
|
123 |
-
popupElem.removeClass('wbcr-clearfy-reset-warning-options');
|
124 |
-
});
|
125 |
-
|
126 |
-
},
|
127 |
-
|
128 |
-
importOptions: function() {
|
129 |
-
var self = this;
|
130 |
-
|
131 |
-
$('.wbcr-clearfy-import-options-button').click(function() {
|
132 |
-
var settings = $('#wbcr-clearfy-import-export').val(),
|
133 |
-
$this = $(this);
|
134 |
-
|
135 |
-
if( !settings ) {
|
136 |
-
return;
|
137 |
-
}
|
138 |
-
|
139 |
-
$(this).prop('disabled', true);
|
140 |
-
|
141 |
-
self.sendRequest({
|
142 |
-
action: 'wbcr_clearfy_import_settings',
|
143 |
-
settings: settings
|
144 |
-
}, function(data) {
|
145 |
-
//console.log(data);
|
146 |
-
$this.prop('disabled', false);
|
147 |
-
});
|
148 |
-
|
149 |
-
return false;
|
150 |
-
});
|
151 |
-
},
|
152 |
-
sendRequest: function(data, beforeValidateCallback, successCallback) {
|
153 |
-
|
154 |
-
var errorContanier = $('.wbcr-clearfy-switch-error-message'),
|
155 |
-
defaultErrorMessage = errorContanier.text();
|
156 |
-
|
157 |
-
if( wbcr_clearfy_ajax === undefined ) {
|
158 |
-
console.log('Undefinded wbcr_clearfy_ajax object.');
|
159 |
-
return;
|
160 |
-
}
|
161 |
-
|
162 |
-
var ajaxUrl = wbcr_clearfy_ajax ? wbcr_clearfy_ajax.ajaxurl : ajaxurl;
|
163 |
-
|
164 |
-
if( typeof data === 'object' ) {
|
165 |
-
data.security = wbcr_clearfy_ajax.ajax_nonce;
|
166 |
-
}
|
167 |
-
|
168 |
-
$.ajax(ajaxurl, {
|
169 |
-
type: 'post',
|
170 |
-
dataType: 'json',
|
171 |
-
data: data,
|
172 |
-
success: function(data, textStatus, jqXHR) {
|
173 |
-
|
174 |
-
beforeValidateCallback && beforeValidateCallback(data);
|
175 |
-
|
176 |
-
if( !data || data.error ) {
|
177 |
-
if( data ) {
|
178 |
-
console.log(data.error);
|
179 |
-
if( !errorContanier.is(':visible') ) {
|
180 |
-
errorContanier.html(defaultErrorMessage + '<br>' + data.error);
|
181 |
-
}
|
182 |
-
}
|
183 |
-
|
184 |
-
if( !errorContanier.is(':visible') ) {
|
185 |
-
errorContanier.fadeIn(600).delay(10000).fadeOut(600);
|
186 |
-
}
|
187 |
-
return;
|
188 |
-
}
|
189 |
-
|
190 |
-
successCallback && successCallback();
|
191 |
-
|
192 |
-
$('.wbcr-clearfy-switch-success-message').fadeIn(600).delay(3000).fadeOut(600);
|
193 |
-
|
194 |
-
}
|
195 |
-
});
|
196 |
-
}
|
197 |
-
};
|
198 |
-
|
199 |
-
$(document).ready(function() {
|
200 |
-
general.init();
|
201 |
-
});
|
202 |
-
|
203 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
components/assets-manager/admin/boot.php
CHANGED
@@ -11,118 +11,137 @@
|
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
function
|
21 |
-
{
|
22 |
-
if( $file == WGZ_PLUGIN_BASE ) {
|
23 |
-
|
24 |
-
$url = 'https://clearfy.pro';
|
25 |
-
|
26 |
-
if( get_locale() == 'ru_RU' ) {
|
27 |
-
$url = 'https://ru.clearfy.pro';
|
28 |
-
}
|
29 |
-
|
30 |
-
$url .= '?utm_source=wordpress.org&utm_campaign=' . WGZ_Plugin::app()->getPluginName();
|
31 |
-
|
32 |
-
$links[] = '<a href="' . $url . '" style="color: #FF5722;font-weight: bold;" target="_blank">' . __('Get ultimate plugin free', 'gonzales') . '</a>';
|
33 |
-
}
|
34 |
|
35 |
-
|
36 |
-
|
|
|
|
|
|
|
|
|
|
|
37 |
|
38 |
-
|
39 |
-
add_filter('plugin_row_meta', 'wbcr_gnz_set_plugin_meta', 10, 2);
|
40 |
-
}
|
41 |
-
|
42 |
-
function wbcr_gnz_rating_widget_url($page_url, $plugin_name)
|
43 |
-
{
|
44 |
-
if( !defined('LOADING_GONZALES_AS_ADDON') && ($plugin_name == WGZ_Plugin::app()->getPluginName()) ) {
|
45 |
-
return 'https://goo.gl/zyNV6z';
|
46 |
}
|
47 |
|
48 |
-
return $
|
49 |
-
}
|
50 |
-
|
51 |
-
add_filter('wbcr_factory_pages_407_imppage_rating_widget_url', 'wbcr_gnz_rating_widget_url', 10, 2);
|
52 |
-
|
53 |
-
function wbcr_gnz_group_options($options)
|
54 |
-
{
|
55 |
-
$options[] = array(
|
56 |
-
'name' => 'disable_assets_manager',
|
57 |
-
'title' => __('Disable assets manager', 'gonzales'),
|
58 |
-
'tags' => array(),
|
59 |
-
'values' => array()
|
60 |
-
);
|
61 |
-
|
62 |
-
$options[] = array(
|
63 |
-
'name' => 'disable_assets_manager_panel',
|
64 |
-
'title' => __('Disable assets manager panel', 'gonzales'),
|
65 |
-
'tags' => array()
|
66 |
-
);
|
67 |
-
|
68 |
-
$options[] = array(
|
69 |
-
'name' => 'disable_assets_manager_on_front',
|
70 |
-
'title' => __('Disable assets manager on front', 'gonzales'),
|
71 |
-
'tags' => array()
|
72 |
-
);
|
73 |
-
|
74 |
-
$options[] = array(
|
75 |
-
'name' => 'disable_assets_manager_on_backend',
|
76 |
-
'title' => __('Disable assets manager on back-end', 'gonzales'),
|
77 |
-
'tags' => array()
|
78 |
-
);
|
79 |
-
|
80 |
-
$options[] = array(
|
81 |
-
'name' => 'manager_options',
|
82 |
-
'title' => __('Assets manager options', 'gonzales'),
|
83 |
-
'tags' => array()
|
84 |
-
);
|
85 |
-
|
86 |
-
return $options;
|
87 |
-
}
|
88 |
-
|
89 |
-
add_filter("wbcr_clearfy_group_options", 'wbcr_gnz_group_options');
|
90 |
-
|
91 |
-
function wbcr_gnz_migrate_options()
|
92 |
-
{
|
93 |
-
global $wpdb;
|
94 |
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
102 |
}
|
103 |
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
|
|
|
|
|
|
|
|
|
|
115 |
}
|
116 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
117 |
}
|
118 |
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
|
|
|
|
|
|
124 |
|
|
|
|
|
125 |
|
|
|
126 |
|
|
|
|
|
|
|
|
|
|
|
127 |
|
|
|
|
|
128 |
|
|
|
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
+
/**
|
15 |
+
* Заменяем премиум возможности в бизнес виджете
|
16 |
+
* @param array $features
|
17 |
+
* @param string $page_id
|
18 |
+
* @param string $plugin
|
19 |
+
*/
|
20 |
+
add_filter('wbcr/clearfy/page_bussines_suggetion_features', function ($features, $plugin_name, $page_id) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
|
22 |
+
if( !empty($plugin_name) && ($plugin_name == WGZ_Plugin::app()->getPluginName()) ) {
|
23 |
+
$upgrade_feature = array();
|
24 |
+
$upgrade_feature[] = __('Disable plugins (groups of scripts)', 'gonzales');
|
25 |
+
$upgrade_feature[] = __('Conditions by the link template', 'gonzales');
|
26 |
+
$upgrade_feature[] = __('Conditions by the regular expression', 'gonzales');
|
27 |
+
$upgrade_feature[] = __('Safe mode', 'gonzales');
|
28 |
+
$upgrade_feature[] = __('Statistics and optimization results', 'gonzales');
|
29 |
|
30 |
+
return $upgrade_feature;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
}
|
32 |
|
33 |
+
return $features;
|
34 |
+
}, 20, 3);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
35 |
|
36 |
+
/**
|
37 |
+
* Удаляем лишние виджеты в левом сайдбаре
|
38 |
+
*
|
39 |
+
* @param array $widgets
|
40 |
+
* @param string $position
|
41 |
+
* @param Wbcr_Factory409_Plugin $plugin
|
42 |
+
*/
|
43 |
+
add_filter('wbcr/factory/pages/impressive/widgets', function ($widgets, $position, $plugin) {
|
44 |
+
if( $plugin->getPluginName() == WGZ_Plugin::app()->getPluginName() ) {
|
45 |
+
if( $position == 'right' ) {
|
46 |
+
unset($widgets['donate_widget']);
|
47 |
+
unset($widgets['rating_widget']);
|
48 |
+
unset($widgets['info_widget']);
|
49 |
+
}
|
50 |
}
|
51 |
|
52 |
+
return $widgets;
|
53 |
+
}, 20, 3);
|
54 |
+
|
55 |
+
if( defined('LOADING_ASSETS_MANAGER_AS_ADDON') ) {
|
56 |
+
|
57 |
+
/**
|
58 |
+
* This action is executed when the component of the Clearfy plugin is activate and if this component is name ga_cache
|
59 |
+
* @param string $component_name
|
60 |
+
*/
|
61 |
+
add_action('wbcr/clearfy/activated_component', function ($component_name) {
|
62 |
+
if( $component_name == 'assets_manager' ) {
|
63 |
+
if( class_exists('WCL_Plugin') ) {
|
64 |
+
$license = WCL_Plugin::app()->getLicense();
|
65 |
+
if( ($license->isLicenseValid() || (defined('WCL_PLUGIN_DEBUG') && WCL_PLUGIN_DEBUG)) && !WCL_Plugin::app()->isActivateComponent('assets-manager-premium') ) {
|
66 |
+
WCL_Plugin::app()->activateComponent('assets-manager-premium');
|
67 |
+
}
|
68 |
}
|
69 |
}
|
70 |
+
});
|
71 |
+
|
72 |
+
/**
|
73 |
+
* This action is executed when the component of the Clearfy plugin is activate and if this component is name ga_cache
|
74 |
+
* @param string $component_name
|
75 |
+
*/
|
76 |
+
add_action('wbcr_clearfy_deactivated_component', function ($component_name) {
|
77 |
+
if( $component_name == 'assets_manager' ) {
|
78 |
+
if( class_exists('WCL_Plugin') ) {
|
79 |
+
$license = WCL_Plugin::app()->getLicense();
|
80 |
+
if( ($license->isLicenseValid() || (defined('WCL_PLUGIN_DEBUG') && WCL_PLUGIN_DEBUG)) && WCL_Plugin::app()->isActivateComponent('assets-manager-premium') ) {
|
81 |
+
WCL_Plugin::app()->deactivateComponent('assets-manager-premium');
|
82 |
+
}
|
83 |
+
}
|
84 |
+
}
|
85 |
+
});
|
86 |
+
|
87 |
+
function wbcr_gnz_group_options($options)
|
88 |
+
{
|
89 |
+
$options[] = array(
|
90 |
+
'name' => 'disable_assets_manager',
|
91 |
+
'title' => __('Disable assets manager', 'gonzales'),
|
92 |
+
'tags' => array(),
|
93 |
+
'values' => array()
|
94 |
+
);
|
95 |
+
|
96 |
+
$options[] = array(
|
97 |
+
'name' => 'disable_assets_manager_panel',
|
98 |
+
'title' => __('Disable assets manager panel', 'gonzales'),
|
99 |
+
'tags' => array()
|
100 |
+
);
|
101 |
+
|
102 |
+
$options[] = array(
|
103 |
+
'name' => 'disable_assets_manager_on_front',
|
104 |
+
'title' => __('Disable assets manager on front', 'gonzales'),
|
105 |
+
'tags' => array()
|
106 |
+
);
|
107 |
+
|
108 |
+
$options[] = array(
|
109 |
+
'name' => 'disable_assets_manager_on_backend',
|
110 |
+
'title' => __('Disable assets manager on back-end', 'gonzales'),
|
111 |
+
'tags' => array()
|
112 |
+
);
|
113 |
+
|
114 |
+
$options[] = array(
|
115 |
+
'name' => 'manager_options',
|
116 |
+
'title' => __('Assets manager options', 'gonzales'),
|
117 |
+
'tags' => array()
|
118 |
+
);
|
119 |
+
|
120 |
+
return $options;
|
121 |
}
|
122 |
|
123 |
+
add_filter("wbcr_clearfy_group_options", 'wbcr_gnz_group_options');
|
124 |
+
} else {
|
125 |
+
function wbcr_gnz_set_plugin_meta($links, $file)
|
126 |
+
{
|
127 |
+
if( $file == WGZ_PLUGIN_BASE ) {
|
128 |
+
$url = WbcrFactoryClearfy206_Helpers::getWebcrafticSitePageUrl(WGZ_Plugin::app()->getPluginName(), 'assets-manager', 'plugin_row');
|
129 |
+
$links[] = '<a href="' . $url . '" style="color: #FF5722;font-weight: bold;" target="_blank">' . __('Get premium', 'gonzales') . '</a>';
|
130 |
+
}
|
131 |
|
132 |
+
return $links;
|
133 |
+
}
|
134 |
|
135 |
+
add_filter('plugin_row_meta', 'wbcr_gnz_set_plugin_meta', 10, 2);
|
136 |
|
137 |
+
function wbcr_gnz_rating_widget_url($page_url, $plugin_name)
|
138 |
+
{
|
139 |
+
if( !defined('LOADING_ASSETS_MANAGER_AS_ADDON') && ($plugin_name == WGZ_Plugin::app()->getPluginName()) ) {
|
140 |
+
return 'https://goo.gl/zyNV6z';
|
141 |
+
}
|
142 |
|
143 |
+
return $page_url;
|
144 |
+
}
|
145 |
|
146 |
+
add_filter('wbcr_factory_pages_410_imppage_rating_widget_url', 'wbcr_gnz_rating_widget_url', 10, 2);
|
147 |
+
}
|
components/assets-manager/admin/pages/assets-manager.php
CHANGED
@@ -11,13 +11,13 @@
|
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
-
class WbcrGnz_AssetsManagerPage extends
|
15 |
|
16 |
/**
|
17 |
* The id of the page in the admin menu.
|
18 |
*
|
19 |
* Mainly used to navigate between pages.
|
20 |
-
* @see
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
* @var string
|
@@ -35,13 +35,19 @@
|
|
35 |
public $page_menu_position = 95;
|
36 |
|
37 |
/**
|
38 |
-
*
|
|
|
39 |
*/
|
40 |
-
public
|
|
|
|
|
|
|
|
|
|
|
41 |
{
|
42 |
$this->menu_title = __('Assets manager', 'gonzales');
|
43 |
|
44 |
-
if( !defined('
|
45 |
$this->internal = false;
|
46 |
$this->menu_target = 'options-general.php';
|
47 |
$this->add_link_to_plugin_actions = true;
|
@@ -53,31 +59,20 @@
|
|
53 |
}
|
54 |
|
55 |
/**
|
|
|
56 |
* @return string|void
|
57 |
*/
|
58 |
public function getMenuTitle()
|
59 |
{
|
60 |
-
return defined('
|
61 |
-
? __('Assets manager', 'gonzales')
|
62 |
-
: __('General', 'gonzales');
|
63 |
}
|
64 |
|
65 |
/**
|
66 |
-
*
|
67 |
-
*
|
68 |
-
* @see Wbcr_FactoryPages407_AdminPage
|
69 |
-
*
|
70 |
-
* @since 1.0.0
|
71 |
-
* @return void
|
72 |
*/
|
73 |
-
public function
|
74 |
{
|
75 |
-
|
76 |
-
|
77 |
-
// Add Clearfy styles for HMWP pages
|
78 |
-
if( defined('WBCR_CLEARFY_PLUGIN_ACTIVE') ) {
|
79 |
-
$this->styles->add(WCL_PLUGIN_URL . '/admin/assets/css/general.css');
|
80 |
-
}
|
81 |
}
|
82 |
|
83 |
/**
|
@@ -86,7 +81,7 @@
|
|
86 |
* @since 1.0.0
|
87 |
* @return mixed[]
|
88 |
*/
|
89 |
-
public function
|
90 |
{
|
91 |
$options = array();
|
92 |
$options[] = array(
|
@@ -148,6 +143,11 @@
|
|
148 |
)
|
149 |
);
|
150 |
|
|
|
|
|
|
|
|
|
|
|
151 |
$formOptions = array();
|
152 |
|
153 |
$formOptions[] = array(
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
+
class WbcrGnz_AssetsManagerPage extends Wbcr_FactoryClearfy206_PageBase {
|
15 |
|
16 |
/**
|
17 |
* The id of the page in the admin menu.
|
18 |
*
|
19 |
* Mainly used to navigate between pages.
|
20 |
+
* @see FactoryPages410_AdminPage
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
* @var string
|
35 |
public $page_menu_position = 95;
|
36 |
|
37 |
/**
|
38 |
+
* Доступена для мультисайтов
|
39 |
+
* @var bool
|
40 |
*/
|
41 |
+
public $available_for_multisite = true;
|
42 |
+
|
43 |
+
/**
|
44 |
+
* @param Wbcr_Factory409_Plugin $plugin
|
45 |
+
*/
|
46 |
+
public function __construct(Wbcr_Factory409_Plugin $plugin)
|
47 |
{
|
48 |
$this->menu_title = __('Assets manager', 'gonzales');
|
49 |
|
50 |
+
if( !defined('LOADING_ASSETS_MANAGER_AS_ADDON') ) {
|
51 |
$this->internal = false;
|
52 |
$this->menu_target = 'options-general.php';
|
53 |
$this->add_link_to_plugin_actions = true;
|
59 |
}
|
60 |
|
61 |
/**
|
62 |
+
* Метод позволяет менять заголовок меню, в зависимости от сборки плагина.
|
63 |
* @return string|void
|
64 |
*/
|
65 |
public function getMenuTitle()
|
66 |
{
|
67 |
+
return defined('LOADING_ASSETS_MANAGER_AS_ADDON') ? __('General', 'hide-login-page') : __('Assets manager', 'gonzales');
|
|
|
|
|
68 |
}
|
69 |
|
70 |
/**
|
71 |
+
* @return string|void *
|
|
|
|
|
|
|
|
|
|
|
72 |
*/
|
73 |
+
public function getPageTitle()
|
74 |
{
|
75 |
+
return defined('LOADING_ASSETS_MANAGER_AS_ADDON') ? __('Assets manager', 'gonzales') : __('General', 'hide-login-page');
|
|
|
|
|
|
|
|
|
|
|
76 |
}
|
77 |
|
78 |
/**
|
81 |
* @since 1.0.0
|
82 |
* @return mixed[]
|
83 |
*/
|
84 |
+
public function getPageOptions()
|
85 |
{
|
86 |
$options = array();
|
87 |
$options[] = array(
|
143 |
)
|
144 |
);
|
145 |
|
146 |
+
$options[] = array(
|
147 |
+
'type' => 'separator',
|
148 |
+
'cssClass' => 'factory-separator-dashed'
|
149 |
+
);
|
150 |
+
|
151 |
$formOptions = array();
|
152 |
|
153 |
$formOptions[] = array(
|
components/assets-manager/admin/pages/more-features.php
CHANGED
@@ -11,6 +11,10 @@
|
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
-
class WbcrGnz_MoreFeaturesPage extends
|
15 |
|
|
|
|
|
|
|
|
|
16 |
}
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
+
class WbcrGnz_MoreFeaturesPage extends Wbcr_FactoryClearfy206_MoreFeaturesPage {
|
15 |
|
16 |
+
/**
|
17 |
+
* @var bool
|
18 |
+
*/
|
19 |
+
public $available_for_multisite = true;
|
20 |
}
|
components/assets-manager/assets/css/assets-manager.css
CHANGED
@@ -1,229 +1,1396 @@
|
|
1 |
/**
|
2 |
* Assets manager styles
|
3 |
-
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
4 |
-
* @copyright Webcraftic
|
5 |
*/
|
6 |
html,
|
7 |
body {
|
8 |
overflow: hidden !important;
|
9 |
}
|
10 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
display: none;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
position: fixed;
|
13 |
z-index: 99999999;
|
14 |
top: 32px;
|
15 |
bottom: 0;
|
16 |
left: 0;
|
17 |
right: 0;
|
18 |
-
background:
|
19 |
overflow-y: auto;
|
20 |
-
font-family: "Open Sans", Arial, sans-serif;
|
21 |
}
|
22 |
-
#wbcr-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
line-height:
|
27 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
}
|
29 |
-
#wbcr-
|
30 |
-
|
31 |
-
|
32 |
}
|
33 |
-
#wbcr-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
40 |
}
|
41 |
-
#wbcr-
|
42 |
position: relative;
|
|
|
|
|
|
|
|
|
|
|
43 |
}
|
44 |
-
#wbcr-
|
45 |
-
|
46 |
-
|
47 |
-
|
|
|
|
|
|
|
|
|
48 |
font-weight: bold;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
}
|
50 |
-
#
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
font-size: 14px;
|
52 |
-
|
53 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
}
|
55 |
-
#
|
56 |
-
|
|
|
57 |
}
|
58 |
-
#wbcr-
|
59 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
60 |
width: 100%;
|
61 |
-
|
62 |
-
|
63 |
border: none;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
64 |
text-align: left;
|
65 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
border-collapse: collapse;
|
67 |
-
color: #737373;
|
68 |
}
|
69 |
-
#wbcr-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
background: none;
|
71 |
-
|
72 |
-
font-weight: bold;
|
73 |
-
border: none;
|
74 |
}
|
75 |
-
#wbcr-
|
76 |
-
|
|
|
|
|
|
|
77 |
}
|
78 |
-
#wbcr-
|
79 |
-
|
80 |
-
|
81 |
-
border-bottom: 2px solid #ececec;
|
82 |
}
|
83 |
-
#wbcr-
|
84 |
-
|
85 |
-
|
86 |
-
background: #ffffff;
|
87 |
}
|
88 |
-
#wbcr-
|
89 |
-
|
90 |
}
|
91 |
-
#wbcr-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
font-size:
|
|
|
96 |
}
|
97 |
-
#
|
98 |
-
|
|
|
|
|
99 |
}
|
100 |
-
#
|
101 |
-
|
102 |
}
|
103 |
-
#
|
104 |
-
|
105 |
-
|
106 |
}
|
107 |
-
#wbcr-
|
108 |
-
|
109 |
-
|
|
|
|
|
|
|
110 |
padding: 5px 10px;
|
111 |
-
margin: 0;
|
112 |
-
font-size: 14px;
|
113 |
-
appearance: menulist;
|
114 |
-
-webkit-appearance: menulist;
|
115 |
-
color: #827b7b;
|
116 |
-
font-family: "Open Sans", Arial, sans-serif;
|
117 |
-
}
|
118 |
-
#wbcr-assets-manager table select,
|
119 |
-
#wbcr-assets-manager table select:focus,
|
120 |
-
#wbcr-assets-manager table select:hover,
|
121 |
-
#wbcr-assets-manager table select:active {
|
122 |
-
border: 1px solid #d6d2d2;
|
123 |
-
box-shadow: none;
|
124 |
-
background-color: #ffffff;
|
125 |
}
|
126 |
-
#wbcr-
|
127 |
-
|
128 |
-
|
129 |
-
|
|
|
|
|
130 |
}
|
131 |
-
#wbcr-
|
|
|
132 |
display: inline-block;
|
133 |
-
|
|
|
134 |
vertical-align: middle;
|
|
|
135 |
}
|
136 |
-
#wbcr-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
141 |
}
|
142 |
-
#
|
143 |
-
|
144 |
-
width: 40px;
|
145 |
-
height: 40px;
|
146 |
-
text-align: center;
|
147 |
-
line-height: 3.4;
|
148 |
-
font-weight: bold;
|
149 |
-
font-size: 12px;
|
150 |
-
border-radius: 100%;
|
151 |
}
|
152 |
-
#
|
153 |
-
background: #
|
154 |
-
color: #798c64;
|
155 |
}
|
156 |
-
#
|
157 |
-
background: #
|
158 |
-
color: #a25f5f;
|
159 |
}
|
160 |
-
#
|
161 |
-
|
162 |
}
|
163 |
-
#
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
168 |
font-size: 16px;
|
169 |
font-weight: bold;
|
170 |
}
|
171 |
-
#
|
172 |
display: inline-block;
|
173 |
-
|
174 |
-
|
175 |
-
text-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
176 |
font-size: 12px;
|
177 |
-
color: #bbbbba;
|
178 |
}
|
179 |
-
#
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
background: #23282d;
|
184 |
-
padding: 15px 15px 5px;
|
185 |
-
border-radius: 0 0 5px 5px;
|
186 |
}
|
187 |
-
#
|
188 |
-
|
189 |
-
|
190 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
191 |
padding: 0;
|
192 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
193 |
border-radius: 3px;
|
194 |
-
background: #
|
195 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
196 |
cursor: pointer;
|
197 |
border: none;
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
202 |
outline: none;
|
203 |
-
|
204 |
}
|
205 |
-
#
|
206 |
-
|
|
|
|
|
207 |
}
|
208 |
-
#
|
209 |
-
|
|
|
210 |
}
|
211 |
-
#
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
212 |
display: inline-block;
|
213 |
-
|
214 |
-
width:
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
220 |
}
|
221 |
-
#wbcr-
|
|
|
|
|
|
|
|
|
|
|
222 |
display: block;
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
227 |
text-align: center;
|
228 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
229 |
}
|
1 |
/**
|
2 |
* Assets manager styles
|
3 |
+
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
4 |
+
* @copyright Webcraftic 05.09.2018
|
5 |
*/
|
6 |
html,
|
7 |
body {
|
8 |
overflow: hidden !important;
|
9 |
}
|
10 |
+
html {
|
11 |
+
line-height: 1.15 !important;
|
12 |
+
-webkit-text-size-adjust: 100% !important;
|
13 |
+
box-sizing: border-box !important;
|
14 |
+
}
|
15 |
+
body {
|
16 |
+
margin: 0 !important;
|
17 |
+
padding: 0 !important;
|
18 |
+
background: #FFF !important;
|
19 |
+
}
|
20 |
+
body,
|
21 |
+
body p {
|
22 |
+
font-family: Arial, "Helvetica Neue", sans-serif !important;
|
23 |
+
}
|
24 |
+
#WBCR {
|
25 |
+
/**
|
26 |
+
* Reset styles
|
27 |
+
*/
|
28 |
+
/**
|
29 |
+
* Reset styles
|
30 |
+
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
31 |
+
* @copyright Webcraftic 15.10.2018
|
32 |
+
*/
|
33 |
+
/**
|
34 |
+
* Placeholders
|
35 |
+
*/
|
36 |
+
}
|
37 |
+
#WBCR *,
|
38 |
+
#WBCR *:before,
|
39 |
+
#WBCR *:after {
|
40 |
+
-webkit-box-sizing: border-box;
|
41 |
+
-moz-box-sizing: border-box;
|
42 |
+
box-sizing: border-box;
|
43 |
+
}
|
44 |
+
#WBCR,
|
45 |
+
#WBCR h2,
|
46 |
+
#WBCR h3,
|
47 |
+
#WBCR h4,
|
48 |
+
#WBCR h5,
|
49 |
+
#WBCR h6,
|
50 |
+
#WBCR p,
|
51 |
+
#WBCR strong,
|
52 |
+
#WBCR b,
|
53 |
+
#WBCR span,
|
54 |
+
#WBCR em,
|
55 |
+
#WBCR i,
|
56 |
+
#WBCR a,
|
57 |
+
#WBCR div,
|
58 |
+
#WBCR main,
|
59 |
+
#WBCR section,
|
60 |
+
#WBCR li,
|
61 |
+
#WBCR button,
|
62 |
+
#WBCR input[type="submit"],
|
63 |
+
#WBCR input[type="reset"],
|
64 |
+
#WBCR .wbcr-gnz-switch-premium {
|
65 |
+
font-family: Arial, "Helvetica Neue", sans-serif !important;
|
66 |
+
font-size: 14px;
|
67 |
+
font-style: normal;
|
68 |
+
font-weight: normal;
|
69 |
+
text-transform: none;
|
70 |
+
text-shadow: none;
|
71 |
+
}
|
72 |
+
#WBCR h1 {
|
73 |
+
font-size: 2em;
|
74 |
+
margin: 0.67em 0;
|
75 |
+
}
|
76 |
+
#WBCR hr {
|
77 |
+
box-sizing: content-box;
|
78 |
+
height: 0;
|
79 |
+
overflow: visible;
|
80 |
+
}
|
81 |
+
#WBCR pre {
|
82 |
+
font-family: monospace, monospace;
|
83 |
+
font-size: 1em;
|
84 |
+
}
|
85 |
+
#WBCR a {
|
86 |
+
background-color: transparent;
|
87 |
+
}
|
88 |
+
#WBCR abbr[title] {
|
89 |
+
border-bottom: none;
|
90 |
+
text-decoration: underline dotted;
|
91 |
+
}
|
92 |
+
#WBCR b,
|
93 |
+
#WBCR strong {
|
94 |
+
font-weight: bolder;
|
95 |
+
}
|
96 |
+
#WBCR code,
|
97 |
+
#WBCR kbd,
|
98 |
+
#WBCR samp {
|
99 |
+
font-family: monospace, monospace;
|
100 |
+
font-size: 1em;
|
101 |
+
}
|
102 |
+
#WBCR small {
|
103 |
+
font-size: 80%;
|
104 |
+
}
|
105 |
+
#WBCR sub,
|
106 |
+
#WBCR sup {
|
107 |
+
font-size: 75%;
|
108 |
+
line-height: 0;
|
109 |
+
position: relative;
|
110 |
+
vertical-align: baseline;
|
111 |
+
}
|
112 |
+
#WBCR sub {
|
113 |
+
bottom: -0.25em;
|
114 |
+
}
|
115 |
+
#WBCR sup {
|
116 |
+
top: -0.5em;
|
117 |
+
}
|
118 |
+
#WBCR img {
|
119 |
+
border-style: none;
|
120 |
+
}
|
121 |
+
#WBCR button,
|
122 |
+
#WBCR input,
|
123 |
+
#WBCR optgroup,
|
124 |
+
#WBCR select,
|
125 |
+
#WBCR textarea {
|
126 |
+
font-family: inherit;
|
127 |
+
font-size: 100%;
|
128 |
+
line-height: 1.15;
|
129 |
+
margin: 0;
|
130 |
+
height: auto;
|
131 |
+
width: auto;
|
132 |
+
}
|
133 |
+
#WBCR button,
|
134 |
+
#WBCR input,
|
135 |
+
#WBCR optgroup,
|
136 |
+
#WBCR select,
|
137 |
+
#WBCR textarea,
|
138 |
+
#WBCR button:hover,
|
139 |
+
#WBCR input:hover,
|
140 |
+
#WBCR optgroup:hover,
|
141 |
+
#WBCR select:hover,
|
142 |
+
#WBCR textarea:hover,
|
143 |
+
#WBCR button:focus,
|
144 |
+
#WBCR input:focus,
|
145 |
+
#WBCR optgroup:focus,
|
146 |
+
#WBCR select:focus,
|
147 |
+
#WBCR textarea:focus {
|
148 |
+
-moz-box-shadow: none;
|
149 |
+
-ms-box-shadow: none;
|
150 |
+
-webkit-box-shadow: none;
|
151 |
+
-o-box-shadow: none;
|
152 |
+
}
|
153 |
+
#WBCR button,
|
154 |
+
#WBCR input {
|
155 |
+
overflow: visible;
|
156 |
+
}
|
157 |
+
#WBCR button,
|
158 |
+
#WBCR select {
|
159 |
+
text-transform: none;
|
160 |
+
}
|
161 |
+
#WBCR button,
|
162 |
+
#WBCR [type="button"],
|
163 |
+
#WBCR [type="reset"],
|
164 |
+
#WBCR [type="submit"] {
|
165 |
+
-webkit-appearance: button;
|
166 |
+
}
|
167 |
+
#WBCR button::-moz-focus-inner,
|
168 |
+
#WBCR [type="button"]::-moz-focus-inner,
|
169 |
+
#WBCR [type="reset"]::-moz-focus-inner,
|
170 |
+
#WBCR [type="submit"]::-moz-focus-inner {
|
171 |
+
border-style: none;
|
172 |
+
padding: 0;
|
173 |
+
}
|
174 |
+
#WBCR button:-moz-focusring,
|
175 |
+
#WBCR [type="button"]:-moz-focusring,
|
176 |
+
#WBCR [type="reset"]:-moz-focusring,
|
177 |
+
#WBCR [type="submit"]:-moz-focusring {
|
178 |
+
outline: 1px dotted ButtonText;
|
179 |
+
}
|
180 |
+
#WBCR fieldset {
|
181 |
+
padding: 0.35em 0.75em 0.625em;
|
182 |
+
}
|
183 |
+
#WBCR legend {
|
184 |
+
box-sizing: border-box;
|
185 |
+
color: inherit;
|
186 |
+
display: table;
|
187 |
+
max-width: 100%;
|
188 |
+
padding: 0;
|
189 |
+
white-space: normal;
|
190 |
+
}
|
191 |
+
#WBCR textarea {
|
192 |
+
overflow: auto;
|
193 |
+
}
|
194 |
+
#WBCR [type="checkbox"],
|
195 |
+
#WBCR [type="radio"] {
|
196 |
+
box-sizing: border-box;
|
197 |
+
padding: 0;
|
198 |
+
}
|
199 |
+
#WBCR [type="number"]::-webkit-inner-spin-button,
|
200 |
+
#WBCR [type="number"]::-webkit-outer-spin-button {
|
201 |
+
height: auto;
|
202 |
+
}
|
203 |
+
#WBCR [type="search"] {
|
204 |
+
-webkit-appearance: textfield;
|
205 |
+
outline-offset: -2px;
|
206 |
+
}
|
207 |
+
#WBCR [type="search"]::-webkit-search-decoration {
|
208 |
+
-webkit-appearance: none;
|
209 |
+
}
|
210 |
+
#WBCR ::-webkit-file-upload-button {
|
211 |
+
-webkit-appearance: button;
|
212 |
+
font: inherit;
|
213 |
+
}
|
214 |
+
#WBCR fieldset {
|
215 |
+
padding: 0.35em 0.75em 0.625em;
|
216 |
+
}
|
217 |
+
#WBCR legend {
|
218 |
+
box-sizing: border-box;
|
219 |
+
color: inherit;
|
220 |
+
display: table;
|
221 |
+
max-width: 100%;
|
222 |
+
padding: 0;
|
223 |
+
white-space: normal;
|
224 |
+
}
|
225 |
+
#WBCR progress {
|
226 |
+
vertical-align: baseline;
|
227 |
+
}
|
228 |
+
#WBCR textarea {
|
229 |
+
overflow: auto;
|
230 |
+
}
|
231 |
+
#WBCR [type=checkbox],
|
232 |
+
#WBCR [type=radio] {
|
233 |
+
box-sizing: border-box;
|
234 |
+
padding: 0;
|
235 |
+
}
|
236 |
+
#WBCR [type=number]::-webkit-inner-spin-button,
|
237 |
+
#WBCR [type=number]::-webkit-outer-spin-button {
|
238 |
+
height: auto;
|
239 |
+
}
|
240 |
+
#WBCR [type=search] {
|
241 |
+
-webkit-appearance: textfield;
|
242 |
+
outline-offset: -2px;
|
243 |
+
}
|
244 |
+
#WBCR [type=search]::-webkit-search-decoration {
|
245 |
+
-webkit-appearance: none;
|
246 |
+
}
|
247 |
+
#WBCR ::-webkit-file-upload-button {
|
248 |
+
-webkit-appearance: button;
|
249 |
+
font: inherit;
|
250 |
+
}
|
251 |
+
#WBCR details {
|
252 |
+
display: block;
|
253 |
+
}
|
254 |
+
#WBCR summary {
|
255 |
+
display: list-item;
|
256 |
+
}
|
257 |
+
#WBCR template {
|
258 |
+
display: none;
|
259 |
+
}
|
260 |
+
#WBCR [hidden] {
|
261 |
display: none;
|
262 |
+
}
|
263 |
+
#WBCR table,
|
264 |
+
#WBCR caption,
|
265 |
+
#WBCR tbody,
|
266 |
+
#WBCR tfoot,
|
267 |
+
#WBCR thead,
|
268 |
+
#WBCR tr,
|
269 |
+
#WBCR th,
|
270 |
+
#WBCR td {
|
271 |
+
margin: 0;
|
272 |
+
padding: 0;
|
273 |
+
border: 0;
|
274 |
+
font-size: 100%;
|
275 |
+
font: inherit;
|
276 |
+
vertical-align: middle;
|
277 |
+
line-height: 1.2;
|
278 |
+
}
|
279 |
+
#WBCR table {
|
280 |
+
table-layout: auto;
|
281 |
+
border-collapse: collapse;
|
282 |
+
border-spacing: 0;
|
283 |
+
}
|
284 |
+
#WBCR span {
|
285 |
+
display: inline;
|
286 |
+
margin: 0;
|
287 |
+
}
|
288 |
+
#WBCR input[type="text"]::-moz-placeholder {
|
289 |
+
color: #cccccc;
|
290 |
+
}
|
291 |
+
#WBCR input[type="text"]::-webkit-input-placeholder,
|
292 |
+
#WBCR textarea::-webkit-input-placeholder {
|
293 |
+
color: #cccccc;
|
294 |
+
}
|
295 |
+
#WBCR input[type="text"]:-ms-input-placeholder,
|
296 |
+
#WBCR textarea:-ms-input-placeholder {
|
297 |
+
color: #cccccc;
|
298 |
+
}
|
299 |
+
#WBCR input[type="text"]::-ms-input-placeholder,
|
300 |
+
#WBCR textarea::-ms-input-placeholder {
|
301 |
+
color: #cccccc;
|
302 |
+
}
|
303 |
+
#WBCR input[type="text"]::placeholder,
|
304 |
+
#WBCR textarea::placeholder {
|
305 |
+
color: #cccccc;
|
306 |
+
}
|
307 |
+
#WBCR a {
|
308 |
+
text-decoration: none;
|
309 |
+
color: #007acc;
|
310 |
+
border: none;
|
311 |
+
background: none;
|
312 |
+
}
|
313 |
+
#WBCR a:hover {
|
314 |
+
text-decoration: underline;
|
315 |
+
border: inherit;
|
316 |
+
background: inherit;
|
317 |
+
}
|
318 |
+
#WBCR button,
|
319 |
+
#WBCR [type=submit] {
|
320 |
+
color: black;
|
321 |
+
font-weight: 400;
|
322 |
+
padding: 0;
|
323 |
+
line-height: 1.5;
|
324 |
+
}
|
325 |
+
#WBCR label {
|
326 |
+
color: white;
|
327 |
+
margin: 0;
|
328 |
+
font-weight: 400;
|
329 |
+
}
|
330 |
+
#WBCR select,
|
331 |
+
#WBCR [type=text] {
|
332 |
+
height: 32px;
|
333 |
+
}
|
334 |
+
#WBCR .visually-hidden {
|
335 |
+
position: absolute;
|
336 |
+
overflow: hidden;
|
337 |
+
clip: rect(0 0 0 0);
|
338 |
+
-webkit-clip-path: inset(100%);
|
339 |
+
clip-path: inset(100%);
|
340 |
+
width: 1px;
|
341 |
+
height: 1px;
|
342 |
+
margin: -1px;
|
343 |
+
padding: 0;
|
344 |
+
white-space: nowrap;
|
345 |
+
border: 0;
|
346 |
+
}
|
347 |
+
#WBCR.wbcr-gnz-wrapper {
|
348 |
+
min-width: 1365px;
|
349 |
position: fixed;
|
350 |
z-index: 99999999;
|
351 |
top: 32px;
|
352 |
bottom: 0;
|
353 |
left: 0;
|
354 |
right: 0;
|
355 |
+
background: #FFF;
|
356 |
overflow-y: auto;
|
|
|
357 |
}
|
358 |
+
#WBCR .wbcr-gnz-help-hint {
|
359 |
+
display: inline-block;
|
360 |
+
width: 16px;
|
361 |
+
height: 16px;
|
362 |
+
line-height: 0 !important;
|
363 |
+
padding: 0;
|
364 |
+
font-size: 11px;
|
365 |
+
font-style: normal;
|
366 |
+
text-align: left;
|
367 |
+
color: #fff;
|
368 |
+
background: #b4b5b5;
|
369 |
+
border-radius: 2px;
|
370 |
}
|
371 |
+
#WBCR .wbcr-gnz-help-hint img {
|
372 |
+
display: inline-block;
|
373 |
+
margin: 3px 0 0 4px;
|
374 |
}
|
375 |
+
#WBCR .wbcr-gnz-panel {
|
376 |
+
position: fixed;
|
377 |
+
z-index: 50;
|
378 |
+
top: 0;
|
379 |
+
right: 0;
|
380 |
+
left: 0;
|
381 |
+
width: 100%;
|
382 |
+
display: -webkit-flex;
|
383 |
+
display: -ms-flexbox;
|
384 |
+
display: flex;
|
385 |
+
-ms-flex-pack: justify;
|
386 |
+
-webkit-justify-content: space-between;
|
387 |
+
justify-content: space-between;
|
388 |
+
height: 62px;
|
389 |
+
padding: 0 20px;
|
390 |
+
margin: 0;
|
391 |
+
color: #FFF;
|
392 |
+
background: #23282d;
|
393 |
+
font-size: 16px;
|
394 |
}
|
395 |
+
#WBCR .wbcr-gnz-panel .wbcr-gnz-panel__premium {
|
396 |
position: relative;
|
397 |
+
display: block;
|
398 |
+
width: 20px;
|
399 |
+
height: 40px;
|
400 |
+
background: #ffcb1e;
|
401 |
+
margin-left: -30px;
|
402 |
}
|
403 |
+
#WBCR .wbcr-gnz-panel .wbcr-gnz-panel__premium:hover {
|
404 |
+
cursor: pointer;
|
405 |
+
}
|
406 |
+
#WBCR .wbcr-gnz-panel .wbcr-gnz-panel__premium .wbcr-gnz-tooltip {
|
407 |
+
position: relative;
|
408 |
+
right: -30px;
|
409 |
+
top: 8px;
|
410 |
+
font-size: 12px;
|
411 |
font-weight: bold;
|
412 |
+
font-style: normal;
|
413 |
+
color: #ffffff;
|
414 |
+
background: #f22714;
|
415 |
+
width: 45px;
|
416 |
+
text-align: center;
|
417 |
+
border-radius: 3px;
|
418 |
+
padding: 5px 0 5px 0;
|
419 |
+
line-height: 1.2;
|
420 |
+
}
|
421 |
+
#WBCR .wbcr-gnz-panel .wbcr-gnz-panel__premium:after {
|
422 |
+
display: block;
|
423 |
+
content: '';
|
424 |
+
position: absolute;
|
425 |
+
top: 1px;
|
426 |
+
left: 0;
|
427 |
+
width: 19px;
|
428 |
+
height: 38px;
|
429 |
+
background: #23282d;
|
430 |
+
}
|
431 |
+
#WBCR .wbcr-gnz-panel__left,
|
432 |
+
#WBCR .wbcr-gnz-panel__right {
|
433 |
+
display: -webkit-flex;
|
434 |
+
display: -ms-flexbox;
|
435 |
+
display: flex;
|
436 |
+
-webkit-align-items: center;
|
437 |
+
align-items: center;
|
438 |
+
-ms-flex-align: center;
|
439 |
+
}
|
440 |
+
#WBCR .wbcr-gnz-panel__left {
|
441 |
+
min-width: 800px;
|
442 |
+
margin: 0 44px 0 0;
|
443 |
+
}
|
444 |
+
#WBCR .wbcr-gnz-panel__logo {
|
445 |
+
width: 38px;
|
446 |
+
height: 32px;
|
447 |
+
margin: 0 44px 0 0;
|
448 |
+
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAgCAMAAABJuvqBAAAC+lBMVEUAAAD7bBgLxt8LyOP/oRqTVqOWV6T/gALpHxCKT5oMy+bwCgX/dhn/oxeXV6XxJxP/igzxIQztFAP/iQAIwNfoIBP/jgkPz+wOzun/igf/fgD/iggOze3hHxDuDAF0P4KWV6UP0OzyKxX/lw3iHxD/hAaXV6XyGgsPzu3/ggaJTpn/iw6JTZiUVqOUVqTlFQsve3T2Qy1lazvqIhOBHyvvlxW7FRCTaR3xGQX/kBIP0eyGTJbjIBKASJAAXn3uFQMPzewJxNo1JFOLUZuHTZb/xCEAkqmXV6X/ggB5QogNyOD/WSaWV6VjNnBHFTsLUVnrEgMQ0en/ggADtsz/mRTvJRT/igfpDwLgHw//ixD/igYQ0un/xiXlIBP/rhnnIRSXV6X/lgT/ig36OBz/ZzbkJBj/fAAMyeD/iQoFtMkPzeyNUZziHxHgHw/mCwIBobT/yy3kBQNIIVp2dz4PzewAc4L/ckKXV6V6JDr/oRb0DAD9egD/jAcOze2XV6XeHw7jAwPnIRSXV6X/vSoPz+j/fgB+DjKXV6X/ziAPzuzlIBP/iw7/yx7yJxT/YCLpIRQP0uwLxt2TV6T/YSD/nBTuJBT/jhCQVKCNUp2DSpL/xRf8PRf4LhTsIhT/kREQ0egOzOQMyuEJwtiKT5qGTZaASI9xPn//XSH/tRr/Uhf/oBb3KRPjHxAHv9UGvNEDsMUCqLwAjp98RItdMWg3Hkr/VyD/xh//wR7/Xx7/XBv/rxn6NBf/rBb/lxP/lBP+RRP9NQ3/igv/iQv+Kwv3Iwf/pQUOzuYGt813QoZqOnYAYHRULmJBJVQwFz3+Tx//1R3/uxz8Rhz/Shv/pxj/phb/vhL/sgr/mAIPzucEuc4BoLMBnK4AmKoAg5MAf5IAd4cAbYEAbHxkNnAAT2kIVGQASF5KJ1kARlcVU1U+ZEYsGEVfdTtIHDltKzJ6fS2OOCyniinWsCL/YyD3YCDkSyCrNCDvyR+8KR/50Bj/uRH/tQ7/qwnxGwX/kQIQ63s7AAAAh3RSTlMAAyIQCsuvaz8wKx4Y/vn58PDp5+Xk5NbAu6+rqJuVgH15d3dpXE1HRTAoIyAYFhQNCv7+/fz7+vn39vX19PLy8O/u6urk397c29ra19TU087JyMfGxMO6squjoJ+fnpyZmZiUk5GRkI+Oi4uJiINybGZhYV1dWldPTk1LQzo6OCopJSMYEw7x8GTCAAACaUlEQVQ4y2LABzgi6hkIgsZYmzUqhBQZKol2da3JJaBKPXRuP1CZLF5FPMn8vVON+/ErYyzznj2ndyrIuBw8rkrZsfzinN5ekDI8XlBaObnv3O7VYOM4MGSZmZiYmIE0t+D+HX1bIbaK6qMq0VCMlvASEQnOByoTOrCzb/klkHH98YwwFVwaJYoy4lYTbiycuPbmho2lDAxyR4C2go0TRNgp0wkCE+YvmLho3fqNp/wNGNQtZu/oA3lidSrCvloHsKpjQMPW33n43LyaQT/gMMQT/BWMCHVZMMOO37r/9N3RNAaGvCP7QbYeNnHyldeCO18CpGrhonUb7j5+/eOaBw9Dgz3YE9+3nF621CVbD6qOSXwCyEqgw15+O3/1ryoDQzjQE5++vDlzctPMxdNZOWGeBSgQZOXtBy8+nu+YdVSKgaHwz/7Jn99u2Xxi5pIZ0yf5NEHVtaQ7rttw78mHWT0dPdeEecBB9/4V0Moli6dPam9n1YWHXqabndGeFds6Oq5eZwcG3eGvZ5+BrJwxqR0IEhAeNig2vbJrew/IVkaGKrOzZx6dWAq0EqyMTw2hLnHKqj0XgLb+EtZkaPPbsnnZUrBhYMAGV1VjuXfKZZCts0C2Fm1etgnsfj53NoXyOh14Uoyctm8KL8jWnt9BLAwM8p621s6sbApqeihpRFtg2ry9YFs7foq1AgV0ODm1dBnRUxtgqt3d8/ZNuQK2VRl3ks3o7p42b8oqkK0xLLiVSR/qBtl6eYVrAR5VDJKHurtBnohrxpszw0DK5oVUEsjlkgcPdospszAQAFEHBZK0GQgCdmlNfNIAQzEmYu+mR3cAAAAASUVORK5CYII=");
|
449 |
+
}
|
450 |
+
#WBCR .wbcr-gnz-panel__data {
|
451 |
+
display: -webkit-flex;
|
452 |
+
display: -ms-flexbox;
|
453 |
+
display: flex;
|
454 |
+
-webkit-align-items: center;
|
455 |
+
align-items: center;
|
456 |
+
-ms-flex-align: center;
|
457 |
+
margin: 0 -22px;
|
458 |
+
padding: 0;
|
459 |
+
list-style: none;
|
460 |
+
}
|
461 |
+
#WBCR .wbcr-gnz-panel__data:not(:last-child) {
|
462 |
+
margin-right: 22px;
|
463 |
}
|
464 |
+
#WBCR .wbcr-gnz-panel__data-item {
|
465 |
+
margin: 0 22px;
|
466 |
+
color: #909090;
|
467 |
+
text-align: center;
|
468 |
+
vertical-align: top;
|
469 |
+
padding: 8px 0 8px;
|
470 |
+
}
|
471 |
+
#WBCR .wbcr-gnz-panel__data-hidden {
|
472 |
+
display: none;
|
473 |
+
margin: 0 44px 0 0;
|
474 |
+
}
|
475 |
+
#WBCR .wbcr-gnz-panel__data-hidden img {
|
476 |
+
vertical-align: middle;
|
477 |
+
}
|
478 |
+
#WBCR .wbcr-gnz-panel__item_value {
|
479 |
+
font-size: 15px;
|
480 |
+
color: #d0d0d0;
|
481 |
+
background: #4c4c4c;
|
482 |
+
border-radius: 2px;
|
483 |
+
padding: 2px 5px;
|
484 |
+
}
|
485 |
+
#WBCR .wbcr-gnz-panel__color-1 .wbcr-gnz-panel__item_value {
|
486 |
+
background: #ffa499;
|
487 |
+
color: #632121;
|
488 |
+
}
|
489 |
+
#WBCR .wbcr-gnz-panel__color-2 .wbcr-gnz-panel__item_value {
|
490 |
+
background: #cfe699;
|
491 |
+
color: #456103;
|
492 |
+
}
|
493 |
+
#WBCR .wbcr-gnz-button__pro,
|
494 |
+
#WBCR .wbcr-gnz-panel__reset,
|
495 |
+
#WBCR .wbcr-gnz-panel__save,
|
496 |
+
#WBCR .wbcr-gnz-button__pro.input[type="submit"],
|
497 |
+
#WBCR .wbcr-gnz-panel__reset.input[type="submit"],
|
498 |
+
#WBCR .wbcr-gnz-panel__save.input[type="submit"] {
|
499 |
+
display: inline-block;
|
500 |
+
padding: 8px 15px 7px;
|
501 |
+
cursor: pointer;
|
502 |
+
transition: .1s;
|
503 |
+
vertical-align: middle;
|
504 |
+
text-transform: uppercase !important;
|
505 |
+
border: none;
|
506 |
+
border-radius: 2px;
|
507 |
font-size: 14px;
|
508 |
+
line-height: 1.5;
|
509 |
+
}
|
510 |
+
#WBCR .wbcr-gnz-button__pro:hover,
|
511 |
+
#WBCR .wbcr-gnz-panel__reset:hover,
|
512 |
+
#WBCR .wbcr-gnz-panel__save:hover,
|
513 |
+
#WBCR .wbcr-gnz-button__pro:focus,
|
514 |
+
#WBCR .wbcr-gnz-panel__reset:focus,
|
515 |
+
#WBCR .wbcr-gnz-panel__save:focus {
|
516 |
+
outline: none;
|
517 |
+
text-decoration: none;
|
518 |
+
}
|
519 |
+
#WBCR .wbcr-gnz-button__pro:active,
|
520 |
+
#WBCR .wbcr-gnz-panel__reset:active,
|
521 |
+
#WBCR .wbcr-gnz-panel__save:active {
|
522 |
+
-webkit-transform: translateY(2px);
|
523 |
+
transform: translateY(2px);
|
524 |
+
}
|
525 |
+
#WBCR .wbcr-gnz-button__pro,
|
526 |
+
#WBCR .wbcr-gnz-button__pro.input[type="submit"] {
|
527 |
+
position: absolute;
|
528 |
+
top: -7px;
|
529 |
+
right: 0;
|
530 |
+
margin: 0;
|
531 |
+
color: #564713 !important;
|
532 |
+
background: #ffcb1e !important;
|
533 |
+
box-shadow: 0 4px #e4b526;
|
534 |
+
font-weight: 600;
|
535 |
+
font-size: 13px;
|
536 |
+
}
|
537 |
+
#WBCR .wbcr-gnz-button__pro:hover,
|
538 |
+
#WBCR .wbcr-gnz-button__pro:focus,
|
539 |
+
#WBCR .wbcr-gnz-button__pro:hover.input[type="submit"],
|
540 |
+
#WBCR .wbcr-gnz-button__pro:focus.input[type="submit"] {
|
541 |
+
background: #fdd03a !important;
|
542 |
+
}
|
543 |
+
#WBCR .wbcr-gnz-button__pro:active,
|
544 |
+
#WBCR .wbcr-gnz-button__pro:active.input[type="submit"] {
|
545 |
+
box-shadow: 0 2px #b9921a !important;
|
546 |
+
}
|
547 |
+
#WBCR .wbcr-gnz-panel__reset,
|
548 |
+
#WBCR .wbcr-gnz-panel__reset.input[type="submit"] {
|
549 |
+
margin: 0 10px 0 0;
|
550 |
+
padding-right: 30px;
|
551 |
+
padding-left: 30px;
|
552 |
+
background: #E1E5E9;
|
553 |
+
box-shadow: 0 4px #A8AEB3 !important;
|
554 |
}
|
555 |
+
#WBCR .wbcr-gnz-panel__reset:hover,
|
556 |
+
#WBCR .wbcr-gnz-panel__reset:focus {
|
557 |
+
background: #E7EAED !important;
|
558 |
}
|
559 |
+
#WBCR .wbcr-gnz-panel__reset:active {
|
560 |
+
box-shadow: 0 2px #A8AEB3 !important;
|
561 |
+
}
|
562 |
+
#WBCR .wbcr-gnz-panel__save,
|
563 |
+
#WBCR .wbcr-gnz-panel__save.input[type="submit"] {
|
564 |
+
margin: 0 10px 0 0;
|
565 |
+
padding-right: 30px;
|
566 |
+
padding-left: 30px;
|
567 |
+
color: #222 !important;
|
568 |
+
background: #FFCB1E !important;
|
569 |
+
box-shadow: 0 4px #BF9A17 !important;
|
570 |
+
}
|
571 |
+
#WBCR .wbcr-gnz-panel__save:hover,
|
572 |
+
#WBCR .wbcr-gnz-panel__save:focus {
|
573 |
+
background: #FFD340 !important;
|
574 |
+
box-shadow: 0 4px #BF9A17 !important;
|
575 |
+
}
|
576 |
+
#WBCR .wbcr-gnz-panel__save:active {
|
577 |
+
background: #FFD340 !important;
|
578 |
+
box-shadow: 0 2px #BF9A17 !important;
|
579 |
+
}
|
580 |
+
#WBCR .wbcr-gnz-panel__save + div {
|
581 |
+
margin: 0;
|
582 |
+
}
|
583 |
+
#WBCR .wbcr-gnz-panel__checkbox {
|
584 |
+
cursor: pointer;
|
585 |
+
font-size: 15px;
|
586 |
+
transform: none;
|
587 |
+
}
|
588 |
+
#WBCR .wbcr-gnz-panel__checkbox-text,
|
589 |
+
#WBCR .wbcr-gnz-panel__checkbox-text-premium {
|
590 |
+
position: relative;
|
591 |
+
padding: 0 0 0 26px;
|
592 |
+
}
|
593 |
+
#WBCR .wbcr-gnz-panel__checkbox-text::before,
|
594 |
+
#WBCR .wbcr-gnz-panel__checkbox-text-premium::before {
|
595 |
+
content: "";
|
596 |
+
position: absolute;
|
597 |
+
top: -1px;
|
598 |
+
left: 0;
|
599 |
+
width: 20px;
|
600 |
+
height: 20px;
|
601 |
+
border-radius: 2px;
|
602 |
+
background: #ffcb1e;
|
603 |
+
}
|
604 |
+
#WBCR .wbcr-gnz-panel__checkbox-input:checked + .wbcr-gnz-panel__checkbox-text::after,
|
605 |
+
#WBCR .wbcr-gnz-panel__checkbox-input:checked + .wbcr-gnz-panel__checkbox-text-premium::after {
|
606 |
+
content: "";
|
607 |
+
position: absolute;
|
608 |
+
top: 5px;
|
609 |
+
left: 6px;
|
610 |
+
width: 8px;
|
611 |
+
height: 5px;
|
612 |
+
-webkit-transform: rotate(-45deg);
|
613 |
+
transform: rotate(-45deg);
|
614 |
+
border: solid #444;
|
615 |
+
border-width: 0 0 2px 2px;
|
616 |
+
}
|
617 |
+
#WBCR .wbcr-gnz-panel__checkbox-text-premium {
|
618 |
+
display: inline;
|
619 |
+
color: rgba(245, 245, 245, 0.3);
|
620 |
+
}
|
621 |
+
#WBCR .wbcr-gnz-panel__checkbox-text-premium b {
|
622 |
+
display: inline-block;
|
623 |
+
font-size: 9px;
|
624 |
+
font-weight: 700;
|
625 |
+
color: #fff;
|
626 |
+
background: #f22714;
|
627 |
+
width: 25px;
|
628 |
+
padding: 3px 0;
|
629 |
+
text-align: center;
|
630 |
+
vertical-align: top;
|
631 |
+
border-radius: 3px;
|
632 |
+
line-height: 1.5;
|
633 |
+
}
|
634 |
+
#WBCR .wbcr-gnz-panel__checkbox-text-premium::before {
|
635 |
+
background: rgba(245, 245, 245, 0.3);
|
636 |
+
}
|
637 |
+
#WBCR .wbcr-gnz-panel__close {
|
638 |
+
width: 36px;
|
639 |
+
height: 36px;
|
640 |
+
margin: 0 20px 0 20px;
|
641 |
+
cursor: pointer;
|
642 |
+
transition: .2s;
|
643 |
+
border: 4px solid #FFF;
|
644 |
+
border-radius: 50%;
|
645 |
+
background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 352 512'%3E%3Cpath fill='%23FFF' d='M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z'/%3E%3C/svg%3E") no-repeat 50% 0px;
|
646 |
+
}
|
647 |
+
#WBCR .wbcr-gnz-panel__close:hover {
|
648 |
+
opacity: .7;
|
649 |
+
}
|
650 |
+
#WBCR .wbcr-gnz-panel__close:focus {
|
651 |
+
opacity: .5;
|
652 |
+
outline: none;
|
653 |
+
}
|
654 |
+
#WBCR .wbcr-gnz-content {
|
655 |
+
display: block;
|
656 |
+
width: 100%;
|
657 |
+
margin: 0;
|
658 |
+
padding: 62px 0 0 75px;
|
659 |
+
}
|
660 |
+
#WBCR .wbcr-gnz-tabs {
|
661 |
+
position: fixed;
|
662 |
+
top: 62px;
|
663 |
+
bottom: 0;
|
664 |
+
left: 0;
|
665 |
+
width: 75px;
|
666 |
+
margin: 0;
|
667 |
+
padding: 0;
|
668 |
+
list-style: none;
|
669 |
+
background: #F4F4F4;
|
670 |
+
box-shadow: 2px 0 5px rgba(0, 0, 0, 0.2);
|
671 |
+
}
|
672 |
+
#WBCR .wbcr-gnz-tabs li {
|
673 |
+
margin: 0;
|
674 |
+
padding: 0;
|
675 |
+
}
|
676 |
+
#WBCR .wbcr-gnz-tabs__button {
|
677 |
+
position: relative;
|
678 |
+
display: block;
|
679 |
width: 100%;
|
680 |
+
height: 130px;
|
681 |
+
cursor: pointer;
|
682 |
border: none;
|
683 |
+
background: #ECEDED;
|
684 |
+
border-radius: 0;
|
685 |
+
box-shadow: none;
|
686 |
+
-moz-box-shadow: none;
|
687 |
+
-ms-box-shadow: none;
|
688 |
+
-webkit-box-shadow: none;
|
689 |
+
-o-box-shadow: none;
|
690 |
+
}
|
691 |
+
#WBCR .wbcr-gnz-tabs__button:hover,
|
692 |
+
#WBCR .wbcr-gnz-tabs__button:focus,
|
693 |
+
#WBCR .wbcr-gnz-tabs__button:after,
|
694 |
+
#WBCR .wbcr-gnz-tabs__button:before,
|
695 |
+
#WBCR .wbcr-gnz-tabs__button:after:hover,
|
696 |
+
#WBCR .wbcr-gnz-tabs__button:before:hover {
|
697 |
+
-moz-box-shadow: none;
|
698 |
+
-ms-box-shadow: none;
|
699 |
+
-webkit-box-shadow: none;
|
700 |
+
-o-box-shadow: none;
|
701 |
+
}
|
702 |
+
#WBCR .wbcr-gnz-tabs__button::after {
|
703 |
+
content: "";
|
704 |
+
position: absolute;
|
705 |
+
top: 0;
|
706 |
+
right: 0;
|
707 |
+
bottom: 0;
|
708 |
+
left: 0;
|
709 |
+
opacity: .55;
|
710 |
+
}
|
711 |
+
#WBCR .wbcr-gnz-tabs__button--misc::after {
|
712 |
+
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAtCAYAAAAgJgIUAAAIhUlEQVRYhe2YXawdVRXHf2vtOXPOvbxUEgUJhdaIQemlbSgkkEZaiiSg4EVBEWKkYIg+qDQoiRFj8QElQT4SjSEitNGAYtKCRjFa21tTUhVbKrcxGFAqfTDBALVpe8587LV8mJlz59wvkBifXMmcMzNrz6z/+q+111575Iu33cZCkqYpSRI4caJPr9fTLM/PU9WLLcY1wFkOpwI9YAC8IsKLguwT1d0i8gxQqgqCoEFRVQQZsfG1zZtJFkQAiIDDScCNWZ5vdPfzYlnOKEflNDdf5fg1uCPwJ1H9gUp4COVfi9nRxZRltCuzLNsLfNvNzhsanwuA2Tp3X2kx3lMUxe9itGveCogUkXtjWf7Uok3MMew+c8y+bu7Vz7j72WVR/CTL8gfd/CTmwT9fOMYQeRSYnOOxO4gcCCHsctgvIi8Dx919XISl7r7Kzde7swZ8hBmL8Zb+YLB8rNe7RoMexRcG0R0CmGVcRH6WdtP786LYnSQhltFQFdwdEFQV3B8lIG5+kZndalaHoWHF7AP9wWDb2FhvUlWPNUBGwyHyzREAFbVHEbkZuEpD2AnEhnG8PuqxTXBE9elOJ7k26STXI/JqO0RutiEbZA+4O80T2uv16I31SDrJ5cCtI96rvtztppcCDw+Nvilx3CFJksd6ve4lIvKXNpAY4015XnzMrQahqqjISWZ273AgICLHer3uR4KGZ9r3R5mbMboAFjpJ8lyv150UkVdbL6csinvKsjwZQE/0+5w40f+URTt7mIgVtZ8fDLJ9/X5/XuPujkVDRBBRRGRmZtToRAVzR0PyfKfTuQV3G+JzXxrNPgMgX73jjmSQZX90s5UNCIFfAB9ssYKoknYSRIQYjSzLAOikHUDodBLcHFHBzcjzgjRNK3C1DLLsMYvxupadF9M0ndAsz1a5+7ktFjztpnePjY8xNj5Gt9utvRXcIYRQz4i5kQlJIKgCggMxRsyMGCPRIiGEuxEpWmy8O1q8UFV1Pe4zcEWm87zY0+8P6PcHDLJsmMV1mBcWn6WXCjR4xRIcEJE/tHPM3TdoLOOadlEKQXd0045107SZ+1AvO/NX6wVKeK0REUJIQKpzVflVy2HMfE0CvKeuhI03+2K0IY012slo9l4x+XmA51p21sYY368ivwf5TWPI3c92t8kY5aWk44+HoB5NajZk36wl4MzE3d/RnhWielhVazyOm9/iZg86kJvdLnChmT0PrEVkp8XYMUBUrwiqT7n7GXmRT7n5KaWVkHF6kiTfGsapKvURCHUElygiY216qNYCRIQkJCByw1DnvqQoy0tUlZAkl+HeaRwoy/LKaEYZywvc/JTmfow2aWbtZD4O5K28SBX3QTuO7j7u7nVSKSGE7UOWRPrdtLsnSQKq+tvmPiIkSfLroEqSJPtF5Ehz391/mecFZYxVXsA41SrdmCwSRP4JvHNoCE4XFVSUJEnQEB5wt9fNfKLX7W4LSXgOoBvCDvAryjJuSELY0+umT3jF79/MfEOM8RNu9oK7P4wIImDmuNnSJhR18h5JROQFNzu3WenMfbU4P4oekSioBlcNWyFW061VFIPqU6b+lEhVF6op6qiwX0LYX7jVK7oQQkCA0mV1m3lEDqtIK1vdcbdLRRAVwcxajQsj9aK+Na8MF1cHUaWTJFWZN8divKzdDAnsU1Xd1UKFOytxLpC6KY0WR80JC5cGaSrKjIQQ0KAEDajqOcCFbXsadKeqyD6BP7fQhTLG24UqjgJV0Wo6JDNiWc6hQajKdIyxAlK/rywKBv0Bg8GALMtu89Gk/LuI7FFRKTSE77fRWYxXlzF+PIQEDdV6EFTJ84I8zymKkizPafoBxxlkOWVZkuc5CBRlSSftMD4+zvj4OGmaXg58ciZmjopsveuub5xQFaWTJA+JyF9bQKQoiu/GWJ4jVWmtXG01JmaG1SuzO1iMdTykTgqvwCcBhHcVZfkwTTtZTfd/9MZ63wFQEVDVo51O50sjzYv72waDbFtRFO9bIPyjv/MuLILFeNagP9jmZqcOx1T/X+73B69QhTugqqRpuj0k4Xsj/aD7e7Isn4oxXtuy+aalLMsPnegPpqzVq9QO/tjdt7pVTM40ugLdbneTqu4Y2Tu4v70oisfLovyhm58/4/nciVJve3D3lcBDRVE86WanzWJpLyKfbW8HZlp+B1U93hvrfbRf0bdhZN9gdoO5XyewV1R3COx34WXwYzjj7rY0mq+O0TZYtLWIdOZQ47632+teFUJ4feF9RwXk6NhYbzIbZPfHGG8eMlKBCe6+1mNcW/tuCBmQ4h6asT7SGgzPHwU+p6KvBdWRGT53G1gBOZam6aeTJLleRF6ab3tXFxEFxoAwslVstwYih4GbcL8BeG1Yd1t7lkU3xCHoYyEJ52sIXxGR5+fsN+c4MKJ7UVW/3ut1LwAeWczOop8GqhVdXg1B7yLovWZ2Ec56M1sDnOFwMpACucDriBwWkf2iukvgaXM/LrqonxWIZcuXv+GgWgbAzvr4r8obw/wfyP9BNDJvYh6cnt4FrAM2r5iYuPPg9PQ6oOk7pHW+vh73CLAMOAJsATbV+mXAfcx8btgCbFoxMXGkbW8xJg7VBgAurq/nk+21bj1wJ9XnhRuBJTXYZcDVwMYazPbZL1hsih5oebAOmKpfPp8sqY8t9XOH6meXActbDhyZ8+SbALHu4PT0KmAV8OQC49ZTedd4OEXl+Zn1dQOAFRMTT8z3gjdKzCngwy1Q88kRYDWVxxtrwPe19Euak4PT08veCojdVCGYWkC/CngJ+AKVx1vq/2XMMHdja/z2g9PTz/6nIKbqF+5eQH+gNrwZeLYGtAp4oNbdT8XKbN2ILJQTW4FDKyYmDhycnt4MNLHc3NI3spHK65X19ZPMhG5TPbYJ6dYVExOHZhv7N8fmQDQfwhMYAAAAAElFTkSuQmCC") no-repeat 50%;
|
713 |
+
}
|
714 |
+
#WBCR .wbcr-gnz-tabs__button--theme::after {
|
715 |
+
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAvCAYAAACVDljoAAAGA0lEQVRYhe3Zf6ifVR0H8Nf1TnNb1lYUUS6jX0hhm2lB5XS3WWCQzkqLhmzTiAqsjSjoHrAtOtEvdEERkbWGki1JyyBY2HaNxFbN3RmFkdDVEZHLvK3N1ly7/fF5nu6zs+f53ue7DfrHNzx8v+c5n8857+fz+ZxzPueckfHxcaeAM3ARLsPFeBVehLNxGI/jEezGffg1jjYbyDn36mjeSRJciLVYVxHtwouxDO+pyntxG27FP4bp8IyhKfJOPICvGkyyDUvxZfzSLPleGIboWbgZ9+CCYTppwfm4E99IKS3so9CX6Hxsw4aO+kncguvMxuulWI0v4Tcdeh/E3Sml58xFYKTHYHoWvodVLXU/xmYxUP4zqB+8Geu1u/xnWJVzPtjVQB+Lfr6F5AHcgCuxYw6SMIP7cQ3ejyeK+pX4yqAG5iJ6hbBCE/txOb49h24X7sBb8afi/fUppWu7lAa5fqGIrfMb7w5iBV4vrDNfuLUvZoT1J0Q4/QLPb9Tvw7Kc899LxUHz6JqCJHy0IvsFLMZf8a8hyI7iXLwFD4nBdKdZzy7Bh/C5UrHL9fOqRpr4CbbgHDFV7RKx9UYxyt9Q/XY9F4kB9YOq/XNwF75f9LMupXR2G6E2LMPrGuUZYUU4Vn3gY/gdNlbyhzvaqvs5VMnuwdVVO6p2340zq/Ir8Sbs7EN0zPHu/K2Ipzbdd+m/ANxevsg5T6aUfiXCocbKvkQvLsr3mrVAjdoCN4nYerqon8Gzqz7+LWJ5jxiMJX5aEC377yT66qK8u4VEHd/7RbbUJDpStX0P/ibi84iYf0db+ivbP68v0RcW5X1FeaRB7LParUTMwX8W2dIBXIWnWuQeE9NW/RGL+hKdX5QPdcgx99S0AM8VM8VZHTKHhMXrfk+Q65qeyhG8YACRMnabmGnUHx0gu6AgV8Z7J9H9RfncAWRK6zdxpll31oNvpkVuieNjd7oU6HL9Hx0/j14olrwm6oZvFJl8c4sxUtXvESvZpcK1D4k5s8SFRbkcE51EdxcNXl51XlvjqFiRbsKjFYnSO8fwtur9oUr/Aryjqm9a9u0t/fciurMoL62I7arKR8TMsKlDfy4cUQ3ClNJrxUrUxI5SoStGd+P3jfIoPtnQGSZjakMdGvBxxw+kR524CnYSfRrfKt5djffin6fG8X/9PiXy3euKuq055xPm2kFp3q34CF5RlUfwdSwXicS1YiS3jeJBGBUW24OfFxz+gq+1KQ0iegCfEKlYjcXYLoL/i9qXwz54OX4oDiua+FTO+fE2hbm2Infjm8W7l4gM/Rqx7A37XFHpv6Zod1vOeWsXkT6buw0ie2riBSLhvV0kzH2wVITTj8S828QD+PAg5T5HOofEnHqXyBObWI33VR3diwdFgnFQLItLxGS+EpeYXZ1KklfmnJ88VaJEvK4Se/gbirrRisQlVfmYyD/PMncMfxc3tm3mSgxzpHMQHxD78nKrW7Y532CS+3A9VvchWTc6LO4QcZnw8JC6j+AzYpXbMoziyR47PiG2tDeLneWY2D68FM8Tbj+CJ4X1HhTL8v0G57annWiNw2JdPmFtPt04Gdf/X/AM0dONZ4ieboyMj4/v1L4vH8OnG/9Vcjsb5XInQKSDdZsbxS5gRUN2pGp3Y6E3kXMeSymtr+oXYQqbcs7fmSeSjkXimHFtg8TkwE+cxYYO2amK4CZxrj+FlxUyY43/0ymlZeIuYLNIXtZgS0ppYl6jk8vqL+tJsMZkh86k2SP1FZXM2kJmonkhVhFl9oM2YCum+0z4KwzO4pvun3C8R1aII8llwkIlZlJK9f+NOedNKaV1wqr1R27OOU/0ITpp9tqmdk0TTdeXBwcT4ryJ9vBoun6qlss5L66sexU2ppT29iE6bXA4dLmeuNb52ID60vXrcUtKaSznPJFSmhKD7rxTXesJCzct2bw0m6jqu65mdjZcT+x011TvJ4QHp7F1dPny5bXQiDD/fQ3FEXHR2nTbdCUzXT0PV3r1s0tcyO4Vd57Erd90Q3ek0JnCVM55+44dO7bhD5XsdmzIOU/9FxZhkSePNaNRAAAAAElFTkSuQmCC") no-repeat 50%;
|
716 |
+
}
|
717 |
+
#WBCR .wbcr-gnz-tabs__button--plugins::after {
|
718 |
+
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAAAtCAYAAAA6GuKaAAAKSUlEQVRYhe2Yf4xU1RXHv+feeW8GdpBlQViGqouCmJgKRGpTawsEa2JSKVSspkZl1fqrsYXIaOtSFxQ2wFB+pMXaaiumqVWJYG2iiVGBRkNbi2BrWxOxrFBlV9idnZndmXk/7j394923+3bYWXY21v7Tk7y89+6959zPPe/cc++7tHPnTgwl77777pDlAGDbNmJSolgqIZFICNd1LhUk5iut5wGYCeZGAAkAZQCfENEREB0URPuJ6C0AvhACIMK6deuq9lNNYjVrACACAK4DsNx1nGZmvtSHCupOb57SzHPAvIwD5XcE0a9J0BMClBtN/2I0SspX1ziOewDATzXzpSHsEMCorGPm2UrrzZ7n/1EptWw0/dcKbROwxVfqRaX15ytBOXJVvodloQ4zX+T5/q4fPPDAz1sfeqjuvwU9hoBnAawcChbAYSnFVinETTEp50sp50khvhqT8kYpRIaI/jIUvNL6jrLj7GltfeiskYLQCCdinIBnACyJFjIAIvq9bVvbPNfbb9mWUr4CCQEwg5mDZ9OSmS/XWq/QWi8LwUM7QojXxiTiS9asfbj3TNAj8jQBG6LAxlt5Am4DsFgK+ToAxTygw1EDwQsLojctK3adFYt9m4CuqNe11ovKjrt9RDzVPH3kyPsgEHzfv9r3/Zei/QshjtmWtWxqKvVWfzkzwAylgixSLpehtQYJAcdx7rNisVlTU6nvEuAxgH998MElZcd5jplnRT1uW9b169vanhsOuqqnhRAgojqt9Zao14ioNxG3vxkFBgBBBNfzvua47lVBSAAkBDzPu7u3t3dzdzb7nRMnTjzqeZ7lOg6apk//ayIeX0JEXf22AXi+v7mlpaVhVNClYgnFUukWpfVFUU+A+XtTpjQehPEsmEFEKDvO4k86O/ecOnnyeadcXiClhOe6d+Xz+R3MDAJgW9ZRIaX2fR++7+OCGTPes6zYHQzosF9mPkcrddeooBNjEjEhxB3RMiJ6acbMmU/GLAsxy4Jl7lIIaK1n+UrVaeZkV1fXb/r6+jbnC4VHmZkIwNSpU1dOOvvsNs/zVF+xCGm+xvr1bbulEM9F41tp3bx6dUuiZmjXceew1pdEvMxx294opUT0EkKgVC7HJzY0bJna2JgGAF+pVKG39z5mJiGEk0qlVjRMnLjNdRzkcjk4jrPy1KlTj4FZAoCUciMBXsTbM7TSX6oZWgixkCPpmIC/uZ73RjQszKREb6Hws48++ujpiZMmbW5sbLw/amf8WWf9oi6Z3F4qFtGTy8H3vDsLhcLmU11dd3788cePAcD6trbDRPTn6Nxh5kXV2KruPXyl5kUXECnlqzErpolMqbnnc7nrcrlcMwMgIYrTpk1rBkAdHR0bAaBQKFxj2fbziURiv+e6d+bz+R1aa0FEcFz3aMRJr2ilvmwcBB1svmqDBnAhI7oA8EGlFEJoIoKv1ISTJ09uCD2UzWaXE4DUAPgGX6mm7q6up8eNG7crl8/fo7WWRIRkMrkqJuWP+3sjHKxYZc+rGZqZJw9asUgcF0IMWoZ7stlbXc87P6rXnc0uB8CpadNuBcAdHR0bfaVS2Z6e7wOAIHLG1tU9aMViW7TuTxog0DEACoA0APU1QxMwJvIMAH3MjL7eYJUVQsRz+fzNQ+l2Z7PNAMh4nDs6OjaFdclk8vEJEyZs0VoPXjWBPgAuB3scALBrhmagPOhzMY8FA77vA0TwHWeW67oXVtM3Hg9DBSF4sVRaXJdM7kokEn/giKdBGItgFxmKhyoynKdPAphqBgAQPico+NsgIiilpmitq+bSIcCpo6Njo+/753Z2dr44ZfLkb8UTiVfCtlrrcxCGBgAQ9dQOLeh9rfmS/v2v5rlM/IwOJyOzQ0DlJx4J+AYTegkeHNNzB/UPHK8dGnSQwNfCgDHzlUREHAgs2z5s2fZR13Wnn4Eb3dnscmYem0qlbgYzMfMHtm2/GB2w0vqqMFuZLe/BmqGFEHvD2W3+NGYz+DIp5Z9czwP7/myt1Ij+OIgI5XKZy45jj6+v31AsFqHNngUAVq9uuRhA/wpIAKQQr1dlq9qREAdB9I/Ir5NUvrqfAfie95WeXG63r9TkMwHHpDw2ob7+9uS4cTew1gWtVLCNjYjjuPeBOToJPwTRGzVDCyJPCvHL/kEAUFov7evray0UCruVUpP62wrRG4vF/h3R9S3L+uf48ePXNDQ0fFFIGdihaD4KpKXlwasB3BS+m5X1qba2tmI1tuEmImJW7Aml9T1gvsCAU6lY/JHSun+WSyEKyWTyeinlYQAXM/NYx3VPJOvq/h6zrKLyfbDWQ/6pd506db7v+78KOUwsnxiTiO+oxjU8NAgkKG9ZsbTrersjRwADwFLm6+rqbiAhXmZmxBOJE2CG63nQzODTF5B+6e7umlkql3dpzY2hbXP/4Zq1D38yHHT18JACQgjYtr0nJuXjYecxy0Is2JaqRDz+E0H0MkyMstanxetQ0tnZ+fVSsbRPaz27Yr/x7KZNm546k/6ITpji8fhKXS5P11pf6ZTLYQeyr1hsEUI0CUHbCfQWgvwNEOA4ZRARWDOEFNBKI5fPz3Zd914AzQBERcgcIODukfCMCJoE9Y1JxK8tlZ3dWutF0XMPrfWNrHEDiA4IoldBeJuYjgHoZfDY4PdJz1VKLVJaX0GAVWmfgQOJeHzxI+vWZT816ABc5Mck4kvKjrtNKXUbMOi4SzLzFYr5inAsBDgAbDZLs8n1g846zPPTAO59ZN267pGy1HQAKYTstW3rds/Da0rp9cw8vQK+vynMLjFaPgiY6DiYWzdlMk/WwhAaH7GwyQVSyt/GpPyCFKKFiN6rPK87XW9Q3REhxMOJePwyADUDA6M86uXg23ZJKdsEsIW1vpzBC7XmeQDOBXMDgv2wC6IsAceJ6G1BtBeEN1lzn6ichp8GdFPTGfdBoZQBvG6uz0RGdT79v5b/Q39WQqtWrWqtKHsKQDuABQDmA1g7hF4rgP0A9pn3yrb1CI6GzwOQA/CCsVnZNnz+XSaTOQwA6XR6OYD2TCazL51O1wNYDmA8gA8BvJDJZHoEgDWmYoG5HwXQZIytqTLYNaY+lGjbegB7AWw1NlsBHAIwZ4i24fPWiK1bAMw3wIeM/gLTZi8wEB47ASwEMDeiOFrZasCnG5thGvpGlfbtABak0+kFFeVzEDivOZPJLASwFEBPOp2eU5nymsw9h+CTjEaWIHBC+DfdA2DCMO3bEYRZKwbCDQAOm2tPOp3eZ+qaM5lMe+jpNQgWrUOm4c5RAgOBl0PgVgwsiHuH0VmLCm9nMpkeBF9qpbG3AsChdDrdVBkeYYhUPXMYgRxGEINAMKkXmrKqkslk2g1Df1IwA3gSwM5MJrMUQZjVA7glDI92DP40UVkQee4xAPsQjPwdU748ArYWwB4MZJgwNocFN3pHTR8hyxIzgO0YmPgfjiRP741c4SxfaSD2mKsdwcYeCNLbUjOQvQb+hUj9kBLxdr1532d05hg7KwBsy2QyO/8DenfAKWku08QAAAAASUVORK5CYII=") no-repeat 50%;
|
719 |
+
}
|
720 |
+
#WBCR .wbcr-gnz-tabs__button:hover,
|
721 |
+
#WBCR .wbcr-gnz-tabs__button:focus {
|
722 |
+
outline: none;
|
723 |
+
background: #E6E7E7;
|
724 |
+
}
|
725 |
+
#WBCR .wbcr-gnz-tabs__button:hover::after,
|
726 |
+
#WBCR .wbcr-gnz-tabs__button:focus::after {
|
727 |
+
opacity: 1;
|
728 |
+
}
|
729 |
+
#WBCR .wbcr-gnz-tabs__button.active {
|
730 |
+
background: #CACDCF;
|
731 |
+
}
|
732 |
+
#WBCR .wbcr-gnz-tabs__button.active::after {
|
733 |
+
opacity: 1;
|
734 |
+
}
|
735 |
+
#WBCR .wbcr-gnz-tabs-content {
|
736 |
+
display: none;
|
737 |
+
}
|
738 |
+
#WBCR .wbcr-gnz-tabs-content.active {
|
739 |
+
display: block;
|
740 |
+
}
|
741 |
+
#WBCR .wbcr-gnz-info {
|
742 |
+
display: table;
|
743 |
+
padding: 0 30px 30px;
|
744 |
+
color: #5C5C5C;
|
745 |
+
font-size: 15px;
|
746 |
+
line-height: 21px;
|
747 |
+
}
|
748 |
+
#WBCR .wbcr-gnz-info p {
|
749 |
+
font-size: 15px;
|
750 |
+
margin: 0;
|
751 |
+
}
|
752 |
+
#WBCR .wbcr-gnz-info p:not(:last-child) {
|
753 |
+
margin-bottom: 25px;
|
754 |
+
}
|
755 |
+
#WBCR .wbcr-gnz-info .wbcr-gnz-info__warning,
|
756 |
+
#WBCR .wbcr-gnz-info .wbcr-gnz-info__go-to-premium {
|
757 |
+
display: table-cell;
|
758 |
+
width: 49%;
|
759 |
text-align: left;
|
760 |
+
vertical-align: top;
|
761 |
+
padding: 20px;
|
762 |
+
background: #f9f9f9;
|
763 |
+
border-right: 2px solid #fff;
|
764 |
+
}
|
765 |
+
#WBCR .wbcr-gnz-info .wbcr-gnz-info__go-to-premium {
|
766 |
+
background: #f9f9f9;
|
767 |
+
border-left: 2px solid #fff;
|
768 |
+
margin-left: 10px;
|
769 |
+
}
|
770 |
+
#WBCR .wbcr-gnz-info .wbcr-gnz-info__go-to-premium h3 {
|
771 |
+
position: relative;
|
772 |
+
margin: 0 0 20px;
|
773 |
+
padding: 10px 0;
|
774 |
+
text-align: left;
|
775 |
+
border-bottom: 2px solid #e2e2e2;
|
776 |
+
vertical-align: bottom;
|
777 |
+
}
|
778 |
+
#WBCR .wbcr-gnz-info .wbcr-gnz-info__go-to-premium h3 span {
|
779 |
+
display: block;
|
780 |
+
font-size: 17px;
|
781 |
+
font-weight: 600;
|
782 |
+
color: #e47558;
|
783 |
+
text-transform: uppercase;
|
784 |
+
}
|
785 |
+
#WBCR .wbcr-gnz-info .wbcr-gnz-info__go-to-premium ul {
|
786 |
+
list-style: none;
|
787 |
+
margin-left: 5px;
|
788 |
+
margin-bottom: 20px;
|
789 |
+
padding: 0;
|
790 |
+
}
|
791 |
+
#WBCR .wbcr-gnz-info .wbcr-gnz-info__go-to-premium ul li {
|
792 |
+
margin-bottom: 5px;
|
793 |
+
font-weight: 600;
|
794 |
+
font-size: 15px;
|
795 |
+
color: #7d8871;
|
796 |
+
padding: 0;
|
797 |
+
}
|
798 |
+
#WBCR .wbcr-gnz-info .wbcr-gnz-info__go-to-premium ul li:before {
|
799 |
+
content: " ";
|
800 |
+
display: inline-block;
|
801 |
+
width: 0.4em;
|
802 |
+
height: 0.7em;
|
803 |
+
border: solid #8bc34a;
|
804 |
+
border-width: 0 0.2em 0.2em 0;
|
805 |
+
left: 0;
|
806 |
+
margin-right: 10px;
|
807 |
+
-webkit-transform: rotate(45deg);
|
808 |
+
-moz-transform: rotate(45deg);
|
809 |
+
-o-transform: rotate(45deg);
|
810 |
+
transform: rotate(45deg);
|
811 |
+
}
|
812 |
+
#WBCR .wbcr-gnz-table {
|
813 |
+
margin: 0 30px;
|
814 |
+
}
|
815 |
+
#WBCR .wbcr-gnz-table table {
|
816 |
+
width: 100%;
|
817 |
border-collapse: collapse;
|
|
|
818 |
}
|
819 |
+
#WBCR .wbcr-gnz-table tbody:nth-child(2n) {
|
820 |
+
background: #f9f9f9;
|
821 |
+
border-bottom: 15px solid white;
|
822 |
+
}
|
823 |
+
#WBCR .wbcr-gnz-table th {
|
824 |
+
padding: 12px 10px;
|
825 |
+
text-align: left;
|
826 |
+
color: #333;
|
827 |
+
background: #ECEDED;
|
828 |
+
box-shadow: none;
|
829 |
+
}
|
830 |
+
#WBCR .wbcr-gnz-table th:not(:last-child) {
|
831 |
+
border-right: 2px solid #FFF;
|
832 |
+
}
|
833 |
+
#WBCR .wbcr-gnz-table td {
|
834 |
+
padding: 17px 10px;
|
835 |
+
vertical-align: top;
|
836 |
+
border-bottom: 1px solid #ECEDED;
|
837 |
+
text-align: left;
|
838 |
background: none;
|
839 |
+
box-shadow: none;
|
|
|
|
|
840 |
}
|
841 |
+
#WBCR .wbcr-gnz-table th:nth-child(1),
|
842 |
+
#WBCR .wbcr-gnz-table td:nth-child(1),
|
843 |
+
#WBCR .wbcr-gnz-table th:nth-child(2),
|
844 |
+
#WBCR .wbcr-gnz-table td:nth-child(2) {
|
845 |
+
text-align: center;
|
846 |
}
|
847 |
+
#WBCR .wbcr-gnz-table__alternate th {
|
848 |
+
background: #eceded;
|
849 |
+
font-weight: 600;
|
|
|
850 |
}
|
851 |
+
#WBCR .wbcr-gnz-table__column_switch {
|
852 |
+
vertical-align: top;
|
853 |
+
width: 10%;
|
|
|
854 |
}
|
855 |
+
#WBCR th.wbcr-gnz-table__column_switch {
|
856 |
+
padding: 0 !important;
|
857 |
}
|
858 |
+
#WBCR th.wbcr-gnz-table__column_switch em {
|
859 |
+
display: block;
|
860 |
+
padding: 10px 12px;
|
861 |
+
font-style: normal;
|
862 |
+
font-size: 11px;
|
863 |
+
font-weight: lighter;
|
864 |
}
|
865 |
+
#WBCR th.wbcr-gnz-table__column_switch b {
|
866 |
+
display: block;
|
867 |
+
padding: 10px 12px;
|
868 |
+
font-weight: 600;
|
869 |
}
|
870 |
+
#WBCR .wbcr-gnz-table__column_condition {
|
871 |
+
width: 30%;
|
872 |
}
|
873 |
+
#WBCR .wbcr-gnz-table__loaded {
|
874 |
+
width: 100px;
|
875 |
+
text-align: center;
|
876 |
}
|
877 |
+
#WBCR .wbcr-gnz-table__th-external-plugin {
|
878 |
+
display: block;
|
879 |
+
position: relative;
|
880 |
+
font-size: 13px;
|
881 |
+
background: #e0e0e0;
|
882 |
+
color: #444444;
|
883 |
padding: 5px 10px;
|
884 |
+
margin-top: 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
885 |
}
|
886 |
+
#WBCR .wbcr-gnz-table__th-external-plugin .wbcr-gnz-help-hint {
|
887 |
+
display: block;
|
888 |
+
position: absolute;
|
889 |
+
top: 4px;
|
890 |
+
right: 4px;
|
891 |
+
line-height: 1.2;
|
892 |
}
|
893 |
+
#WBCR .wbcr-gnz-table__loaded-state {
|
894 |
+
position: relative;
|
895 |
display: inline-block;
|
896 |
+
width: 30px;
|
897 |
+
height: 30px;
|
898 |
vertical-align: middle;
|
899 |
+
border-radius: 20px;
|
900 |
}
|
901 |
+
#WBCR .wbcr-gnz-table__loaded-state::after {
|
902 |
+
content: "";
|
903 |
+
position: absolute;
|
904 |
+
top: 9px;
|
905 |
+
left: 8px;
|
906 |
+
width: 15px;
|
907 |
+
height: 7px;
|
908 |
+
-webkit-transform: rotate(-45deg);
|
909 |
+
transform: rotate(-45deg);
|
910 |
+
border: solid #FFF;
|
911 |
+
border-width: 0 0 2px 2px;
|
912 |
}
|
913 |
+
#WBCR .wbcr-gnz-table__loaded-super-no {
|
914 |
+
background: #C8CFD7 !important;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
915 |
}
|
916 |
+
#WBCR .wbcr-gnz-table__loaded-no {
|
917 |
+
background: #C8CFD7;
|
|
|
918 |
}
|
919 |
+
#WBCR .wbcr-gnz-table__loaded-yes {
|
920 |
+
background: #8BC34A;
|
|
|
921 |
}
|
922 |
+
#WBCR .wbcr-gnz-table__size {
|
923 |
+
width: 75px;
|
924 |
}
|
925 |
+
#WBCR .wbcr-gnz-table__size-value {
|
926 |
+
color: #737373;
|
927 |
+
font-size: 15px;
|
928 |
+
line-height: 20px;
|
929 |
+
}
|
930 |
+
#WBCR .wbcr-gnz-table__item {
|
931 |
+
color: #737373;
|
932 |
+
}
|
933 |
+
#WBCR td.wbcr-gnz-table__item:nth-child(2) {
|
934 |
+
text-align: left;
|
935 |
+
}
|
936 |
+
#WBCR .wbcr-gnz-table__item-name {
|
937 |
+
margin: 0 0 3px;
|
938 |
+
text-transform: uppercase;
|
939 |
+
font-size: 16px;
|
940 |
+
font-weight: bold;
|
941 |
+
}
|
942 |
+
#WBCR .wbcr-gnz-table__item-author {
|
943 |
+
margin: 0 0 4px;
|
944 |
+
}
|
945 |
+
#WBCR .wbcr-gnz-table__script-name {
|
946 |
+
color: #737373;
|
947 |
font-size: 16px;
|
948 |
font-weight: bold;
|
949 |
}
|
950 |
+
#WBCR .wbcr-gnz-table__script-name b {
|
951 |
display: inline-block;
|
952 |
+
padding: 5px 10px;
|
953 |
+
font-size: 13px;
|
954 |
+
text-transform: uppercase;
|
955 |
+
text-align: center;
|
956 |
+
border-radius: 3px;
|
957 |
+
vertical-align: middle;
|
958 |
+
margin-right: 15px;
|
959 |
+
}
|
960 |
+
#WBCR .wbcr-gnz-table__script-name b.wbcr-wgz-resource-type-js {
|
961 |
+
background: #ffcb1e;
|
962 |
+
color: #403102;
|
963 |
+
}
|
964 |
+
#WBCR .wbcr-gnz-table__script-name b.wbcr-wgz-resource-type-css {
|
965 |
+
background: #9757a5;
|
966 |
+
color: #ffffff;
|
967 |
+
}
|
968 |
+
#WBCR .wbcr-gnz-table__script-name:not(:last-child) {
|
969 |
+
margin-bottom: 5px;
|
970 |
+
}
|
971 |
+
#WBCR .wbcr-gnz-table__script-path {
|
972 |
+
color: #BBBBBA;
|
973 |
+
}
|
974 |
+
#WBCR .wbcr-gnz-table__script-path,
|
975 |
+
#WBCR .wbcr-gnz-table__script-path a {
|
976 |
font-size: 12px;
|
|
|
977 |
}
|
978 |
+
#WBCR .wbcr-gnz-table__script-version {
|
979 |
+
color: #BBBBBA;
|
980 |
+
font-size: 12px;
|
981 |
+
padding: 5px 0;
|
|
|
|
|
|
|
982 |
}
|
983 |
+
#WBCR .wbcr-gnz-table__state {
|
984 |
+
width: 200px;
|
985 |
+
}
|
986 |
+
#WBCR .wbcr-gnz-table__turn-on {
|
987 |
+
width: 500px;
|
988 |
+
}
|
989 |
+
#WBCR .wbcr-gnz-table__note {
|
990 |
+
color: #BBB;
|
991 |
+
font-style: italic;
|
992 |
+
line-height: 21px;
|
993 |
+
}
|
994 |
+
#WBCR .wbcr-gnz-table__note p {
|
995 |
+
margin: 0;
|
996 |
+
}
|
997 |
+
#WBCR .wbcr-gnz-table__note p:not(:last-child) {
|
998 |
+
margin-bottom: 12px;
|
999 |
+
}
|
1000 |
+
#WBCR .wbcr-gnz-table__select {
|
1001 |
+
padding: 8px 28px 8px 10px;
|
1002 |
+
color: #4B4E51;
|
1003 |
+
border: none;
|
1004 |
+
border-radius: 3px;
|
1005 |
+
background: #F2F3F3 url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAFCAYAAACXU8ZrAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAFNJREFUeNpinDZtWgQDA0MjEKsxYAeLmDIzM1cAGbNwKQDKxzNBOXOBOBeI76ArADEY////DxedPn16EpCaBMRrYQpAgAXN+I1ALA1U0IwsCBBgADmdFtA7IxcEAAAAAElFTkSuQmCC") no-repeat right 10px top 50%;
|
1006 |
+
font-size: 13px;
|
1007 |
+
-webkit-appearance: none;
|
1008 |
+
-moz-appearance: none;
|
1009 |
+
appearance: none;
|
1010 |
+
}
|
1011 |
+
#WBCR .wbcr-gnz-table__select:not(:last-child) {
|
1012 |
+
margin-bottom: 16px;
|
1013 |
+
}
|
1014 |
+
#WBCR .wbcr-gnz-table__select:focus {
|
1015 |
+
outline: none;
|
1016 |
+
background-color: #E5E7E7;
|
1017 |
+
box-shadow: 0 0 0 2px rgba(255, 203, 30, 0.5);
|
1018 |
+
}
|
1019 |
+
#WBCR .wbcr-gnz-table__select::-ms-expand {
|
1020 |
+
display: none;
|
1021 |
+
}
|
1022 |
+
#WBCR .wbcr-gnz-table__select-pro {
|
1023 |
+
color: rgba(242, 39, 20, 0.34);
|
1024 |
+
}
|
1025 |
+
#WBCR .wbcr-gnz-table__label {
|
1026 |
+
display: block;
|
1027 |
+
margin: 0 0 15px 10px;
|
1028 |
+
padding-bottom: 5px;
|
1029 |
+
color: #414B56;
|
1030 |
+
font-size: 13px;
|
1031 |
+
font-weight: bold;
|
1032 |
+
border-bottom: 2px solid #efefef;
|
1033 |
+
}
|
1034 |
+
#WBCR .wbcr-gnz-table__label .wbcr-gnz-help-hint {
|
1035 |
+
vertical-align: bottom;
|
1036 |
+
}
|
1037 |
+
#WBCR .wbcr-gnz-table__options {
|
1038 |
+
display: -webkit-flex;
|
1039 |
+
display: -ms-flexbox;
|
1040 |
+
display: flex;
|
1041 |
+
-webkit-flex-wrap: wrap;
|
1042 |
+
-ms-flex-wrap: wrap;
|
1043 |
+
flex-wrap: wrap;
|
1044 |
+
max-width: 380px;
|
1045 |
+
margin: 0 0 -15px 10px;
|
1046 |
padding: 0;
|
1047 |
+
list-style: none;
|
1048 |
+
color: #646D78;
|
1049 |
+
font-size: 13px;
|
1050 |
+
}
|
1051 |
+
#WBCR .wbcr-gnz-table__options-item {
|
1052 |
+
width: 33.33%;
|
1053 |
+
padding: 0 20px 15px 0;
|
1054 |
+
}
|
1055 |
+
#WBCR .wbcr-gnz-table__checkbox {
|
1056 |
+
cursor: pointer;
|
1057 |
+
}
|
1058 |
+
#WBCR .wbcr-gnz-table__checkbox-text {
|
1059 |
+
position: relative;
|
1060 |
+
padding: 0 0 0 20px;
|
1061 |
+
color: #6f7275;
|
1062 |
+
}
|
1063 |
+
#WBCR .wbcr-gnz-table__checkbox-text::before {
|
1064 |
+
content: "";
|
1065 |
+
position: absolute;
|
1066 |
+
top: 1px;
|
1067 |
+
left: 0;
|
1068 |
+
width: 13px;
|
1069 |
+
height: 13px;
|
1070 |
+
border-radius: 2px;
|
1071 |
+
background: #c8cfd7;
|
1072 |
+
}
|
1073 |
+
#WBCR .wbcr-gnz-table__checkbox-input:checked ~ .wbcr-gnz-table__checkbox-text {
|
1074 |
+
color: #646D78;
|
1075 |
+
}
|
1076 |
+
#WBCR .wbcr-gnz-table__checkbox-input:checked ~ .wbcr-gnz-table__checkbox-text::before {
|
1077 |
+
background: #FFCB1E;
|
1078 |
+
}
|
1079 |
+
#WBCR .wbcr-gnz-table__checkbox-input:checked ~ .wbcr-gnz-table__checkbox-text::after {
|
1080 |
+
content: "";
|
1081 |
+
position: absolute;
|
1082 |
+
top: 5px;
|
1083 |
+
left: 4px;
|
1084 |
+
width: 6px;
|
1085 |
+
height: 4px;
|
1086 |
+
-webkit-transform: rotate(-45deg);
|
1087 |
+
transform: rotate(-45deg);
|
1088 |
+
border: solid #FFF;
|
1089 |
+
border-width: 0 0 2px 2px;
|
1090 |
+
}
|
1091 |
+
#WBCR .wbcr-gnz-table__field {
|
1092 |
+
font-size: 13px;
|
1093 |
+
}
|
1094 |
+
#WBCR .wbcr-gnz-table__field-item {
|
1095 |
+
display: -webkit-flex;
|
1096 |
+
display: -ms-flexbox;
|
1097 |
+
display: flex;
|
1098 |
+
margin: 0 0 10px;
|
1099 |
+
}
|
1100 |
+
#WBCR .wbcr-gnz-table__field-input,
|
1101 |
+
#WBCR .wbcr-gnz-table__textarea {
|
1102 |
+
width: 70%;
|
1103 |
+
padding: 8px 10px;
|
1104 |
+
margin-left: 10px;
|
1105 |
+
color: #4B4E51;
|
1106 |
+
border: none;
|
1107 |
border-radius: 3px;
|
1108 |
+
background: #ececec;
|
1109 |
+
font-size: 100%;
|
1110 |
+
}
|
1111 |
+
#WBCR .wbcr-gnz-table__field-input:focus,
|
1112 |
+
#WBCR .wbcr-gnz-table__textarea:focus {
|
1113 |
+
outline: none;
|
1114 |
+
/*box-shadow: 0 0 0 2px rgba(255, 203, 30, .5);*/
|
1115 |
+
}
|
1116 |
+
#WBCR .wbcr-gnz-table__field-add {
|
1117 |
+
width: 30px;
|
1118 |
+
margin: 0 0 0 5px;
|
1119 |
cursor: pointer;
|
1120 |
border: none;
|
1121 |
+
border-radius: 3px;
|
1122 |
+
background: #FFCB1E;
|
1123 |
+
}
|
1124 |
+
#WBCR .wbcr-gnz-table__field-add::before {
|
1125 |
+
content: "+";
|
1126 |
+
color: #4E3E09;
|
1127 |
+
}
|
1128 |
+
#WBCR .wbcr-gnz-table__field-add:hover {
|
1129 |
+
background: #FBC100;
|
1130 |
+
}
|
1131 |
+
#WBCR .wbcr-gnz-table__field-add:focus {
|
1132 |
outline: none;
|
1133 |
+
box-shadow: 0 0 0 2px rgba(255, 203, 30, 0.5);
|
1134 |
}
|
1135 |
+
#WBCR .wbcr-gnz-table__textarea {
|
1136 |
+
width: 95%;
|
1137 |
+
padding-right: 10px;
|
1138 |
+
margin: 0 0 10px 10px;
|
1139 |
}
|
1140 |
+
#WBCR .wbcr-gnz-table__also {
|
1141 |
+
font-size: 12px;
|
1142 |
+
font-weight: bold;
|
1143 |
}
|
1144 |
+
#WBCR .wbcr-gnz-table__also .wbcr-gnz-table__label {
|
1145 |
+
margin-bottom: 5px;
|
1146 |
+
font-size: 12px;
|
1147 |
+
}
|
1148 |
+
#WBCR .wbcr-gnz-table__also-url {
|
1149 |
+
color: #A9AAAA;
|
1150 |
+
}
|
1151 |
+
#WBCR .wbcr-gnz-switch {
|
1152 |
+
position: relative;
|
1153 |
+
z-index: 1;
|
1154 |
display: inline-block;
|
1155 |
+
overflow: hidden;
|
1156 |
+
width: 70px;
|
1157 |
+
height: 30px;
|
1158 |
+
cursor: pointer;
|
1159 |
+
vertical-align: middle;
|
1160 |
+
border-radius: 15px;
|
1161 |
+
padding: 0;
|
1162 |
+
}
|
1163 |
+
#WBCR .wbcr-gnz-switch .wbcr-gnz-switch__inner {
|
1164 |
+
display: -webkit-flex;
|
1165 |
+
display: -ms-flexbox;
|
1166 |
+
display: flex;
|
1167 |
+
height: 30px;
|
1168 |
+
transition: .3s;
|
1169 |
+
-webkit-transform: translateX(-100%);
|
1170 |
+
transform: translateX(-100%);
|
1171 |
+
color: #FFF;
|
1172 |
+
font-size: 13px;
|
1173 |
+
line-height: 31px;
|
1174 |
+
}
|
1175 |
+
#WBCR .wbcr-gnz-switch .wbcr-gnz-switch__inner::before,
|
1176 |
+
#WBCR .wbcr-gnz-switch .wbcr-gnz-switch__inner::after {
|
1177 |
+
-webkit-flex-shrink: 0;
|
1178 |
+
-ms-flex-negative: 0;
|
1179 |
+
flex-shrink: 0;
|
1180 |
+
width: 100%;
|
1181 |
+
}
|
1182 |
+
#WBCR .wbcr-gnz-switch .wbcr-gnz-switch__inner::before {
|
1183 |
+
content: attr(data-off);
|
1184 |
+
padding: 0 0 0 12px;
|
1185 |
+
background: #C8CFD7;
|
1186 |
+
}
|
1187 |
+
#WBCR .wbcr-gnz-switch .wbcr-gnz-switch__inner::after {
|
1188 |
+
content: attr(data-on);
|
1189 |
+
padding: 0 12px 0 0;
|
1190 |
+
text-align: right;
|
1191 |
+
background: #414B56;
|
1192 |
+
}
|
1193 |
+
#WBCR .wbcr-gnz-switch .wbcr-gnz-switch__slider {
|
1194 |
+
position: absolute;
|
1195 |
+
top: 5px;
|
1196 |
+
left: 5px;
|
1197 |
+
width: 20px;
|
1198 |
+
height: 20px;
|
1199 |
+
transition: .3s;
|
1200 |
+
border-radius: 50%;
|
1201 |
+
background: #FFCB1E;
|
1202 |
+
margin: 0;
|
1203 |
+
}
|
1204 |
+
#WBCR .wbcr-gnz-switch:not(.wbcr-gnz-switch-premium) .wbcr-gnz-switch__input:checked ~ .wbcr-gnz-switch__inner,
|
1205 |
+
#WBCR .wbcr-gnz-switch:not(.wbcr-gnz-switch-premium) .wbcr-gnz-switch__input:checked:focus ~ .wbcr-gnz-switch__inner {
|
1206 |
+
-webkit-transform: translateX(0);
|
1207 |
+
transform: translateX(0);
|
1208 |
+
}
|
1209 |
+
#WBCR .wbcr-gnz-switch:not(.wbcr-gnz-switch-premium) .wbcr-gnz-switch__input:checked ~ .wbcr-gnz-switch__slider,
|
1210 |
+
#WBCR .wbcr-gnz-switch:not(.wbcr-gnz-switch-premium) .wbcr-gnz-switch__input:checked:focus ~ .wbcr-gnz-switch__slider {
|
1211 |
+
left: 45px;
|
1212 |
+
background: #97A4B2;
|
1213 |
+
}
|
1214 |
+
#WBCR .wbcr-gnz-switch.wbcr-gnz-switch-premium {
|
1215 |
+
position: relative;
|
1216 |
+
font-style: normal;
|
1217 |
+
}
|
1218 |
+
#WBCR .wbcr-gnz-switch.wbcr-gnz-switch-premium .wbcr-gnz-switch__slider {
|
1219 |
+
background: #ababab;
|
1220 |
}
|
1221 |
+
#WBCR .wbcr-gnz-switch.wbcr-gnz-switch-premium .wbcr-gnz-switch__inner::after {
|
1222 |
+
background: #d3d4d4;
|
1223 |
+
font-style: normal;
|
1224 |
+
}
|
1225 |
+
#WBCR .wbcr-gnz-switch.wbcr-gnz-switch-premium:after {
|
1226 |
+
content: 'PRO';
|
1227 |
display: block;
|
1228 |
+
position: absolute;
|
1229 |
+
top: 5px;
|
1230 |
+
left: 5px;
|
1231 |
+
font-size: 7px;
|
1232 |
+
font-weight: 700;
|
1233 |
+
line-height: 2.77;
|
1234 |
+
color: #fff;
|
1235 |
+
background: #9a9a9a;
|
1236 |
+
width: 20px;
|
1237 |
+
height: 20px;
|
1238 |
+
/* padding: 3px 0; */
|
1239 |
text-align: center;
|
1240 |
+
vertical-align: top;
|
1241 |
+
border-radius: 20px;
|
1242 |
+
}
|
1243 |
+
#WBCR .wbcr-gnz-tooltip {
|
1244 |
+
position: relative;
|
1245 |
+
}
|
1246 |
+
#WBCR .wbcr-gnz-tooltip::before {
|
1247 |
+
content: "";
|
1248 |
+
position: absolute;
|
1249 |
+
z-index: 60;
|
1250 |
+
left: 5px;
|
1251 |
+
display: none;
|
1252 |
+
width: 20px;
|
1253 |
+
height: 20px;
|
1254 |
+
}
|
1255 |
+
#WBCR .wbcr-gnz-tooltip::after {
|
1256 |
+
content: attr(data-tooltip);
|
1257 |
+
position: absolute;
|
1258 |
+
z-index: 60;
|
1259 |
+
left: 5px;
|
1260 |
+
display: none;
|
1261 |
+
min-width: 200px;
|
1262 |
+
padding: 8px 15px;
|
1263 |
+
color: #6d5506;
|
1264 |
+
background: #FFCB1E;
|
1265 |
+
font-size: 13px;
|
1266 |
+
font-weight: normal;
|
1267 |
+
line-height: 1.2;
|
1268 |
+
}
|
1269 |
+
#WBCR .wbcr-gnz-tooltip-top::before {
|
1270 |
+
bottom: 100%;
|
1271 |
+
background: linear-gradient(135deg, #FFCB1E, #FFCB1E 50%, transparent 50%, transparent) no-repeat;
|
1272 |
+
}
|
1273 |
+
#WBCR .wbcr-gnz-tooltip-top::after {
|
1274 |
+
bottom: 100%;
|
1275 |
+
margin: 0 0 10px;
|
1276 |
+
border-radius: 6px 6px 6px 0;
|
1277 |
+
}
|
1278 |
+
#WBCR .wbcr-gnz-tooltip-bottom::before {
|
1279 |
+
top: 100%;
|
1280 |
+
background: linear-gradient(45deg, #FFCB1E, #FFCB1E 50%, transparent 50%, transparent) no-repeat;
|
1281 |
+
}
|
1282 |
+
#WBCR .wbcr-gnz-tooltip-bottom::after {
|
1283 |
+
top: 100%;
|
1284 |
+
margin: 15px 0 0;
|
1285 |
+
border-radius: 0 6px 6px 6px;
|
1286 |
+
}
|
1287 |
+
#WBCR .wbcr-gnz-tooltip:hover::before,
|
1288 |
+
#WBCR .wbcr-gnz-tooltip:hover::after {
|
1289 |
+
display: block;
|
1290 |
+
}
|
1291 |
+
#WBCR .wbcr-use-by-comment {
|
1292 |
+
color: #fb7976;
|
1293 |
+
font-size: 12px;
|
1294 |
+
}
|
1295 |
+
#WBCR .wbcr-use-by-comment a {
|
1296 |
+
color: #6e6e6e;
|
1297 |
+
}
|
1298 |
+
#WBCR .wgz-td,
|
1299 |
+
#WBCR .wgz-th {
|
1300 |
+
max-width: 600px;
|
1301 |
+
}
|
1302 |
+
#WBCR .wgz-td {
|
1303 |
+
word-wrap: break-word;
|
1304 |
+
}
|
1305 |
+
@media screen and (max-width: 1367px) {
|
1306 |
+
#WBCR p {
|
1307 |
+
font-size: 13px;
|
1308 |
+
}
|
1309 |
+
#WBCR .wbcr-gnz-content {
|
1310 |
+
padding: 32px 0 0 75px;
|
1311 |
+
}
|
1312 |
+
#WBCR .wbcr-gnz-panel__left .wbcr-gnz-panel__item_value {
|
1313 |
+
display: block;
|
1314 |
+
}
|
1315 |
+
#WBCR .wbcr-gnz-panel__right .wbcr-gnz-table__checkbox-text {
|
1316 |
+
font-size: 13px;
|
1317 |
+
}
|
1318 |
+
#WBCR .wbcr-gnz-panel__right .wbcr-gnz-panel__reset,
|
1319 |
+
#WBCR .wbcr-gnz-panel__right .wbcr-gnz-panel__save {
|
1320 |
+
font-size: 12px;
|
1321 |
+
}
|
1322 |
+
#WBCR .wbcr-gnz-panel__right .wbcr-gnz-panel__checkbox-text {
|
1323 |
+
font-size: 12px;
|
1324 |
+
display: block;
|
1325 |
+
line-height: 1.5;
|
1326 |
+
}
|
1327 |
+
#WBCR .wbcr-gnz-panel__right .wbcr-gnz-panel__close {
|
1328 |
+
width: 30px;
|
1329 |
+
height: 30px;
|
1330 |
+
margin: 0 10px 0 15px;
|
1331 |
+
border: 3px solid #FFF;
|
1332 |
+
}
|
1333 |
+
#WBCR .wbcr-gnz-info {
|
1334 |
+
padding: 0;
|
1335 |
+
}
|
1336 |
+
#WBCR .wbcr-gnz-info,
|
1337 |
+
#WBCR .wbcr-gnz-info p {
|
1338 |
+
font-size: 13px;
|
1339 |
+
}
|
1340 |
+
#WBCR .wbcr-gnz-info .wbcr-gnz-info__warning {
|
1341 |
+
padding: 20px 20px 30px;
|
1342 |
+
}
|
1343 |
+
#WBCR .wbcr-gnz-button__pro {
|
1344 |
+
font-size: 12px;
|
1345 |
+
}
|
1346 |
+
#WBCR .wbcr-gnz-table {
|
1347 |
+
margin: 0;
|
1348 |
+
}
|
1349 |
+
#WBCR .wbcr-gnz-table th {
|
1350 |
+
font-size: 13px;
|
1351 |
+
}
|
1352 |
+
#WBCR .wbcr-gnz-table .wbcr-gnz-table__item .wbcr-gnz-table__item-name {
|
1353 |
+
font-size: 14px;
|
1354 |
+
}
|
1355 |
+
#WBCR .wbcr-gnz-table .wbcr-gnz-table__item .wbcr-gnz-table__item-author,
|
1356 |
+
#WBCR .wbcr-gnz-table .wbcr-gnz-table__item .wbcr-gnz-table__item-version,
|
1357 |
+
#WBCR .wbcr-gnz-table .wbcr-gnz-table__item .wbcr-use-by-comment,
|
1358 |
+
#WBCR .wbcr-gnz-table .wbcr-gnz-table__item .wbcr-gnz-table__item-author a,
|
1359 |
+
#WBCR .wbcr-gnz-table .wbcr-gnz-table__item .wbcr-gnz-table__item-version a,
|
1360 |
+
#WBCR .wbcr-gnz-table .wbcr-gnz-table__item .wbcr-use-by-comment a {
|
1361 |
+
font-size: 12px;
|
1362 |
+
}
|
1363 |
+
#WBCR .wbcr-gnz-table .wbcr-gnz-table__script-name {
|
1364 |
+
font-size: 14px;
|
1365 |
+
}
|
1366 |
+
#WBCR .wbcr-gnz-table .wbcr-gnz-table__script-name b {
|
1367 |
+
font-size: 11px;
|
1368 |
+
font-weight: lighter;
|
1369 |
+
padding: 3px 7px;
|
1370 |
+
margin-right: 8px;
|
1371 |
+
}
|
1372 |
+
#WBCR .wbcr-gnz-table .wbcr-gnz-table__script-path a {
|
1373 |
+
font-size: 11px;
|
1374 |
+
}
|
1375 |
+
#WBCR .wbcr-gnz-table .wbcr-gnz-table__column_switch {
|
1376 |
+
width: 10%;
|
1377 |
+
}
|
1378 |
+
#WBCR .wbcr-gnz-table .wbcr-gnz-table__column_switch .wbcr-gnz-table__th-external-plugin,
|
1379 |
+
#WBCR .wbcr-gnz-table .wbcr-gnz-table__column_switch em {
|
1380 |
+
font-size: 10px;
|
1381 |
+
}
|
1382 |
+
#WBCR .wbcr-gnz-table .wbcr-gnz-table__column_switch b {
|
1383 |
+
font-size: 12px;
|
1384 |
+
}
|
1385 |
+
#WBCR .wbcr-gnz-table .wbcr-gnz-table__column_condition {
|
1386 |
+
width: 35%;
|
1387 |
+
}
|
1388 |
+
}
|
1389 |
+
@media screen and (max-width: 1600px) {
|
1390 |
+
#WBCR .wbcr-gnz-panel__data-main {
|
1391 |
+
display: none;
|
1392 |
+
}
|
1393 |
+
#WBCR .wbcr-gnz-panel__data-hidden {
|
1394 |
+
display: block;
|
1395 |
+
}
|
1396 |
}
|
components/assets-manager/assets/css/assets-manager.less
CHANGED
@@ -1,249 +1,1322 @@
|
|
1 |
/**
|
2 |
* Assets manager styles
|
3 |
-
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
4 |
-
* @copyright Webcraftic
|
5 |
*/
|
6 |
|
7 |
html, body {
|
8 |
overflow: hidden !important;
|
9 |
}
|
10 |
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
top: 32px;
|
16 |
-
bottom: 0;
|
17 |
-
left: 0;
|
18 |
-
right: 0;
|
19 |
-
background: rgba(0, 0, 0, 0.5);
|
20 |
-
overflow-y: auto;
|
21 |
-
font-family: "Open Sans", Arial, sans-serif;
|
22 |
}
|
23 |
|
24 |
-
|
25 |
-
|
26 |
-
padding:
|
27 |
-
|
28 |
-
|
29 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
|
31 |
a {
|
32 |
text-decoration: none;
|
|
|
33 |
border: none;
|
|
|
|
|
|
|
|
|
|
|
|
|
34 |
}
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
font-
|
39 |
-
|
40 |
-
|
41 |
-
border-radius: 5px 5px 0 0;
|
42 |
}
|
43 |
|
44 |
-
|
45 |
-
|
|
|
|
|
|
|
46 |
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
color: #4a545a;
|
51 |
-
font-weight: bold;
|
52 |
-
}
|
53 |
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
59 |
|
60 |
-
|
61 |
-
|
|
|
62 |
}
|
63 |
}
|
64 |
|
65 |
-
|
66 |
-
|
|
|
|
|
|
|
|
|
67 |
width: 100%;
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
|
|
|
|
|
|
|
|
|
|
75 |
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
81 |
}
|
82 |
-
|
83 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
84 |
}
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
|
|
|
|
89 |
}
|
90 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
91 |
border: none;
|
92 |
-
border-
|
93 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
94 |
}
|
95 |
-
|
96 |
-
|
|
|
|
|
|
|
|
|
97 |
}
|
98 |
-
|
99 |
-
padding: 5px;
|
100 |
-
border: none;
|
101 |
-
vertical-align: middle;
|
102 |
-
font-size: 14px;
|
103 |
|
|
|
|
|
|
|
104 |
}
|
105 |
-
|
106 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
107 |
}
|
108 |
-
|
109 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
110 |
}
|
111 |
|
112 |
-
|
113 |
-
|
|
|
|
|
|
|
|
|
|
|
114 |
}
|
115 |
-
select {
|
116 |
-
height: auto;
|
117 |
-
width: auto;
|
118 |
|
119 |
-
|
120 |
margin: 0;
|
121 |
-
font-size: 14px;
|
122 |
-
appearance: menulist;
|
123 |
-
-webkit-appearance: menulist;
|
124 |
-
color: #827b7b;
|
125 |
-
font-family: "Open Sans", Arial, sans-serif;
|
126 |
-
|
127 |
-
&, &:focus, &:hover, &:active {
|
128 |
-
border: 1px solid #d6d2d2;
|
129 |
-
box-shadow: none;
|
130 |
-
background-color: #ffffff;
|
131 |
-
}
|
132 |
-
}
|
133 |
-
.wbcr-assets-manager-enable-placeholder {
|
134 |
-
color: #bbbbbb;
|
135 |
-
font-style: italic;
|
136 |
-
font-size: 14px;
|
137 |
}
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
142 |
}
|
143 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
144 |
display: inline-block;
|
145 |
-
|
146 |
-
|
147 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
148 |
}
|
149 |
}
|
150 |
|
151 |
-
.wbcr-
|
152 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
153 |
|
154 |
-
|
155 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
156 |
text-align: center;
|
157 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
158 |
font-weight: bold;
|
159 |
-
font-size: 12px;
|
160 |
-
border-radius: 100%;
|
161 |
|
162 |
-
|
163 |
-
|
164 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
165 |
}
|
166 |
-
|
167 |
-
|
168 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
169 |
}
|
170 |
}
|
171 |
|
172 |
-
.wbcr-
|
173 |
-
color: #
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
174 |
}
|
175 |
|
176 |
-
.wbcr-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
177 |
display: block;
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
font-size:
|
182 |
font-weight: bold;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
183 |
}
|
184 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
185 |
display: inline-block;
|
186 |
-
max-width: 100%;
|
187 |
overflow: hidden;
|
188 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
189 |
font-size: 12px;
|
190 |
-
color: #bbbbba;
|
191 |
}
|
192 |
|
193 |
-
.wbcr-
|
194 |
-
|
195 |
-
|
196 |
-
right: 35px;
|
197 |
-
background: #23282d;
|
198 |
-
padding: 15px 15px 5px;
|
199 |
-
border-radius: 0 0 5px 5px;
|
200 |
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
height: 35px;
|
205 |
-
padding: 0;
|
206 |
-
margin: 0 10px 0 0;
|
207 |
-
border-radius: 3px;
|
208 |
-
background: #FFC107;
|
209 |
-
color: #907010;
|
210 |
-
cursor: pointer;
|
211 |
-
border: none;
|
212 |
-
text-align: center;
|
213 |
-
font-size: 14px;
|
214 |
-
font-weight: 600;
|
215 |
-
vertical-align: top;
|
216 |
-
outline: none;
|
217 |
-
line-height: 2.6;
|
218 |
|
219 |
-
|
220 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
221 |
}
|
222 |
}
|
223 |
-
|
224 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
225 |
}
|
226 |
|
227 |
-
.wbcr-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
outline: none;
|
236 |
}
|
237 |
|
238 |
-
.wbcr-
|
239 |
-
|
240 |
-
margin-top: 5px;
|
241 |
-
font-size: 11px;
|
242 |
-
color: #929292;
|
243 |
-
text-decoration: underline;
|
244 |
-
text-align: center;
|
245 |
-
outline: none;
|
246 |
}
|
247 |
-
}
|
248 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
249 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
/**
|
2 |
* Assets manager styles
|
3 |
+
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
4 |
+
* @copyright Webcraftic 05.09.2018
|
5 |
*/
|
6 |
|
7 |
html, body {
|
8 |
overflow: hidden !important;
|
9 |
}
|
10 |
|
11 |
+
html {
|
12 |
+
line-height: 1.15 !important;
|
13 |
+
-webkit-text-size-adjust: 100% !important;
|
14 |
+
box-sizing: border-box !important;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
}
|
16 |
|
17 |
+
body {
|
18 |
+
margin: 0 !important;
|
19 |
+
padding: 0 !important;
|
20 |
+
background: #FFF !important;
|
21 |
+
|
22 |
+
&, p {
|
23 |
+
font-family: Arial, "Helvetica Neue", sans-serif !important;
|
24 |
+
}
|
25 |
+
}
|
26 |
+
|
27 |
+
#WBCR {
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Reset styles
|
31 |
+
*/
|
32 |
+
@import "reset.less";
|
33 |
+
|
34 |
+
span {
|
35 |
+
display: inline;
|
36 |
+
margin: 0;
|
37 |
+
}
|
38 |
+
|
39 |
+
/**
|
40 |
+
* Placeholders
|
41 |
+
*/
|
42 |
+
input[type="text"]::-moz-placeholder {
|
43 |
+
color: #cccccc;
|
44 |
+
}
|
45 |
+
|
46 |
+
input[type="text"]::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
|
47 |
+
color: #cccccc;
|
48 |
+
}
|
49 |
+
|
50 |
+
input[type="text"]:-ms-input-placeholder, textarea:-ms-input-placeholder {
|
51 |
+
color: #cccccc;
|
52 |
+
}
|
53 |
+
|
54 |
+
input[type="text"]::-ms-input-placeholder, textarea::-ms-input-placeholder {
|
55 |
+
color: #cccccc;
|
56 |
+
}
|
57 |
+
|
58 |
+
input[type="text"]::placeholder, textarea::placeholder {
|
59 |
+
color: #cccccc;
|
60 |
+
}
|
61 |
|
62 |
a {
|
63 |
text-decoration: none;
|
64 |
+
color: #007acc;
|
65 |
border: none;
|
66 |
+
background: none;
|
67 |
+
&:hover {
|
68 |
+
text-decoration: underline;
|
69 |
+
border: inherit;
|
70 |
+
background: inherit;
|
71 |
+
}
|
72 |
}
|
73 |
+
|
74 |
+
button, [type=submit] {
|
75 |
+
color: black;
|
76 |
+
font-weight: 400;
|
77 |
+
padding: 0;
|
78 |
+
line-height: 1.5;
|
|
|
79 |
}
|
80 |
|
81 |
+
label {
|
82 |
+
color: white;
|
83 |
+
margin: 0;
|
84 |
+
font-weight: 400;
|
85 |
+
}
|
86 |
|
87 |
+
select, [type=text] {
|
88 |
+
height: 32px;
|
89 |
+
}
|
|
|
|
|
|
|
90 |
|
91 |
+
.visually-hidden {
|
92 |
+
position: absolute;
|
93 |
+
overflow: hidden;
|
94 |
+
clip: rect(0 0 0 0);
|
95 |
+
-webkit-clip-path: inset(100%);
|
96 |
+
clip-path: inset(100%);
|
97 |
+
width: 1px;
|
98 |
+
height: 1px;
|
99 |
+
margin: -1px;
|
100 |
+
padding: 0;
|
101 |
+
white-space: nowrap;
|
102 |
+
border: 0;
|
103 |
+
}
|
104 |
+
|
105 |
+
&.wbcr-gnz-wrapper {
|
106 |
+
min-width: 1365px;
|
107 |
+
position: fixed;
|
108 |
+
z-index: 99999999;
|
109 |
+
top: 32px;
|
110 |
+
bottom: 0;
|
111 |
+
left: 0;
|
112 |
+
right: 0;
|
113 |
+
background: #FFF;
|
114 |
+
overflow-y: auto;
|
115 |
+
|
116 |
+
}
|
117 |
+
|
118 |
+
.wbcr-gnz-help-hint {
|
119 |
+
display: inline-block;
|
120 |
+
width: 16px;
|
121 |
+
height: 16px;
|
122 |
+
line-height: 0 !important;
|
123 |
+
padding: 0;
|
124 |
+
font-size: 11px;
|
125 |
+
font-style: normal;
|
126 |
+
text-align: left;
|
127 |
+
color: #fff;
|
128 |
+
background: #b4b5b5;
|
129 |
+
border-radius: 2px;
|
130 |
|
131 |
+
img {
|
132 |
+
display: inline-block;
|
133 |
+
margin: 3px 0 0 4px;
|
134 |
}
|
135 |
}
|
136 |
|
137 |
+
.wbcr-gnz-panel {
|
138 |
+
position: fixed;
|
139 |
+
z-index: 50;
|
140 |
+
top: 0;
|
141 |
+
right: 0;
|
142 |
+
left: 0;
|
143 |
width: 100%;
|
144 |
+
display: -webkit-flex;
|
145 |
+
display: -ms-flexbox;
|
146 |
+
display: flex;
|
147 |
+
-ms-flex-pack: justify;
|
148 |
+
-webkit-justify-content: space-between;
|
149 |
+
justify-content: space-between;
|
150 |
+
height: 62px;
|
151 |
+
padding: 0 20px;
|
152 |
+
margin: 0;
|
153 |
+
color: #FFF;
|
154 |
+
background: #23282d;
|
155 |
+
font-size: 16px;
|
156 |
|
157 |
+
.wbcr-gnz-panel__premium {
|
158 |
+
position: relative;
|
159 |
+
display: block;
|
160 |
+
width: 20px;
|
161 |
+
height: 40px;
|
162 |
+
background: #ffcb1e;
|
163 |
+
margin-left: -30px;
|
164 |
+
&:hover {
|
165 |
+
cursor: pointer;
|
166 |
+
}
|
167 |
+
.wbcr-gnz-tooltip {
|
168 |
+
position: relative;
|
169 |
+
right: -30px;
|
170 |
+
top: 8px;
|
171 |
+
font-size: 12px;
|
172 |
+
font-weight: bold;
|
173 |
+
font-style: normal;
|
174 |
+
color: #ffffff;
|
175 |
+
background: #f22714;
|
176 |
+
width: 45px;
|
177 |
+
text-align: center;
|
178 |
+
border-radius: 3px;
|
179 |
+
padding: 5px 0 5px 0;
|
180 |
+
line-height: 1.2;
|
181 |
+
}
|
182 |
+
&:after {
|
183 |
+
display: block;
|
184 |
+
content: '';
|
185 |
+
position: absolute;
|
186 |
+
top: 1px;
|
187 |
+
left: 0;
|
188 |
+
width: 19px;
|
189 |
+
height: 38px;
|
190 |
+
background: #23282d;
|
191 |
+
}
|
192 |
}
|
193 |
+
}
|
194 |
+
|
195 |
+
.wbcr-gnz-panel__left,
|
196 |
+
.wbcr-gnz-panel__right {
|
197 |
+
display: -webkit-flex;
|
198 |
+
display: -ms-flexbox;
|
199 |
+
display: flex;
|
200 |
+
-webkit-align-items: center;
|
201 |
+
align-items: center;
|
202 |
+
-ms-flex-align: center;
|
203 |
+
}
|
204 |
+
|
205 |
+
.wbcr-gnz-panel__left {
|
206 |
+
min-width: 800px;
|
207 |
+
margin: 0 44px 0 0;
|
208 |
+
}
|
209 |
+
|
210 |
+
.wbcr-gnz-panel__logo {
|
211 |
+
width: 38px;
|
212 |
+
height: 32px;
|
213 |
+
margin: 0 44px 0 0;
|
214 |
+
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAgCAMAAABJuvqBAAAC+lBMVEUAAAD7bBgLxt8LyOP/oRqTVqOWV6T/gALpHxCKT5oMy+bwCgX/dhn/oxeXV6XxJxP/igzxIQztFAP/iQAIwNfoIBP/jgkPz+wOzun/igf/fgD/iggOze3hHxDuDAF0P4KWV6UP0OzyKxX/lw3iHxD/hAaXV6XyGgsPzu3/ggaJTpn/iw6JTZiUVqOUVqTlFQsve3T2Qy1lazvqIhOBHyvvlxW7FRCTaR3xGQX/kBIP0eyGTJbjIBKASJAAXn3uFQMPzewJxNo1JFOLUZuHTZb/xCEAkqmXV6X/ggB5QogNyOD/WSaWV6VjNnBHFTsLUVnrEgMQ0en/ggADtsz/mRTvJRT/igfpDwLgHw//ixD/igYQ0un/xiXlIBP/rhnnIRSXV6X/lgT/ig36OBz/ZzbkJBj/fAAMyeD/iQoFtMkPzeyNUZziHxHgHw/mCwIBobT/yy3kBQNIIVp2dz4PzewAc4L/ckKXV6V6JDr/oRb0DAD9egD/jAcOze2XV6XeHw7jAwPnIRSXV6X/vSoPz+j/fgB+DjKXV6X/ziAPzuzlIBP/iw7/yx7yJxT/YCLpIRQP0uwLxt2TV6T/YSD/nBTuJBT/jhCQVKCNUp2DSpL/xRf8PRf4LhTsIhT/kREQ0egOzOQMyuEJwtiKT5qGTZaASI9xPn//XSH/tRr/Uhf/oBb3KRPjHxAHv9UGvNEDsMUCqLwAjp98RItdMWg3Hkr/VyD/xh//wR7/Xx7/XBv/rxn6NBf/rBb/lxP/lBP+RRP9NQ3/igv/iQv+Kwv3Iwf/pQUOzuYGt813QoZqOnYAYHRULmJBJVQwFz3+Tx//1R3/uxz8Rhz/Shv/pxj/phb/vhL/sgr/mAIPzucEuc4BoLMBnK4AmKoAg5MAf5IAd4cAbYEAbHxkNnAAT2kIVGQASF5KJ1kARlcVU1U+ZEYsGEVfdTtIHDltKzJ6fS2OOCyniinWsCL/YyD3YCDkSyCrNCDvyR+8KR/50Bj/uRH/tQ7/qwnxGwX/kQIQ63s7AAAAh3RSTlMAAyIQCsuvaz8wKx4Y/vn58PDp5+Xk5NbAu6+rqJuVgH15d3dpXE1HRTAoIyAYFhQNCv7+/fz7+vn39vX19PLy8O/u6urk397c29ra19TU087JyMfGxMO6squjoJ+fnpyZmZiUk5GRkI+Oi4uJiINybGZhYV1dWldPTk1LQzo6OCopJSMYEw7x8GTCAAACaUlEQVQ4y2LABzgi6hkIgsZYmzUqhBQZKol2da3JJaBKPXRuP1CZLF5FPMn8vVON+/ErYyzznj2ndyrIuBw8rkrZsfzinN5ekDI8XlBaObnv3O7VYOM4MGSZmZiYmIE0t+D+HX1bIbaK6qMq0VCMlvASEQnOByoTOrCzb/klkHH98YwwFVwaJYoy4lYTbiycuPbmho2lDAxyR4C2go0TRNgp0wkCE+YvmLho3fqNp/wNGNQtZu/oA3lidSrCvloHsKpjQMPW33n43LyaQT/gMMQT/BWMCHVZMMOO37r/9N3RNAaGvCP7QbYeNnHyldeCO18CpGrhonUb7j5+/eOaBw9Dgz3YE9+3nF621CVbD6qOSXwCyEqgw15+O3/1ryoDQzjQE5++vDlzctPMxdNZOWGeBSgQZOXtBy8+nu+YdVSKgaHwz/7Jn99u2Xxi5pIZ0yf5NEHVtaQ7rttw78mHWT0dPdeEecBB9/4V0Moli6dPam9n1YWHXqabndGeFds6Oq5eZwcG3eGvZ5+BrJwxqR0IEhAeNig2vbJrew/IVkaGKrOzZx6dWAq0EqyMTw2hLnHKqj0XgLb+EtZkaPPbsnnZUrBhYMAGV1VjuXfKZZCts0C2Fm1etgnsfj53NoXyOh14Uoyctm8KL8jWnt9BLAwM8p621s6sbApqeihpRFtg2ry9YFs7foq1AgV0ODm1dBnRUxtgqt3d8/ZNuQK2VRl3ks3o7p42b8oqkK0xLLiVSR/qBtl6eYVrAR5VDJKHurtBnohrxpszw0DK5oVUEsjlkgcPdospszAQAFEHBZK0GQgCdmlNfNIAQzEmYu+mR3cAAAAASUVORK5CYII=");
|
215 |
+
}
|
216 |
+
|
217 |
+
.wbcr-gnz-panel__data {
|
218 |
+
display: -webkit-flex;
|
219 |
+
display: -ms-flexbox;
|
220 |
+
display: flex;
|
221 |
+
-webkit-align-items: center;
|
222 |
+
align-items: center;
|
223 |
+
-ms-flex-align: center;
|
224 |
+
margin: 0 -22px;
|
225 |
+
padding: 0;
|
226 |
+
list-style: none;
|
227 |
+
}
|
228 |
+
|
229 |
+
.wbcr-gnz-panel__data:not(:last-child) {
|
230 |
+
margin-right: 22px;
|
231 |
+
}
|
232 |
+
|
233 |
+
.wbcr-gnz-panel__data-item {
|
234 |
+
margin: 0 22px;
|
235 |
+
color: #909090;
|
236 |
+
text-align: center;
|
237 |
+
vertical-align: top;
|
238 |
+
padding: 8px 0 8px;
|
239 |
+
}
|
240 |
+
|
241 |
+
.wbcr-gnz-panel__data-hidden {
|
242 |
+
display: none;
|
243 |
+
margin: 0 44px 0 0;
|
244 |
+
}
|
245 |
+
|
246 |
+
.wbcr-gnz-panel__data-hidden img {
|
247 |
+
vertical-align: middle;
|
248 |
+
}
|
249 |
+
|
250 |
+
.wbcr-gnz-panel__item_value {
|
251 |
+
font-size: 15px;
|
252 |
+
color: #d0d0d0;
|
253 |
+
background: #4c4c4c;
|
254 |
+
border-radius: 2px;
|
255 |
+
padding: 2px 5px;
|
256 |
+
}
|
257 |
+
|
258 |
+
.wbcr-gnz-panel__color-1 {
|
259 |
+
.wbcr-gnz-panel__item_value {
|
260 |
+
background: #ffa499;
|
261 |
+
color: #632121;
|
262 |
}
|
263 |
+
}
|
264 |
+
|
265 |
+
.wbcr-gnz-panel__color-2 {
|
266 |
+
.wbcr-gnz-panel__item_value {
|
267 |
+
background: #cfe699;
|
268 |
+
color: #456103;
|
269 |
}
|
270 |
+
}
|
271 |
+
|
272 |
+
.wbcr-gnz-button__pro,
|
273 |
+
.wbcr-gnz-panel__reset,
|
274 |
+
.wbcr-gnz-panel__save {
|
275 |
+
&, &.input[type="submit"] {
|
276 |
+
display: inline-block;
|
277 |
+
padding: 8px 15px 7px;
|
278 |
+
cursor: pointer;
|
279 |
+
transition: .1s;
|
280 |
+
vertical-align: middle;
|
281 |
+
text-transform: uppercase !important;
|
282 |
border: none;
|
283 |
+
border-radius: 2px;
|
284 |
+
font-size: 14px;
|
285 |
+
line-height: 1.5;
|
286 |
+
}
|
287 |
+
|
288 |
+
}
|
289 |
+
|
290 |
+
.wbcr-gnz-button__pro:hover,
|
291 |
+
.wbcr-gnz-panel__reset:hover,
|
292 |
+
.wbcr-gnz-panel__save:hover,
|
293 |
+
.wbcr-gnz-button__pro:focus,
|
294 |
+
.wbcr-gnz-panel__reset:focus,
|
295 |
+
.wbcr-gnz-panel__save:focus {
|
296 |
+
outline: none;
|
297 |
+
text-decoration: none;
|
298 |
+
}
|
299 |
+
|
300 |
+
.wbcr-gnz-button__pro:active,
|
301 |
+
.wbcr-gnz-panel__reset:active,
|
302 |
+
.wbcr-gnz-panel__save:active {
|
303 |
+
-webkit-transform: translateY(2px);
|
304 |
+
transform: translateY(2px);
|
305 |
+
}
|
306 |
+
|
307 |
+
.wbcr-gnz-button__pro {
|
308 |
+
&, &.input[type="submit"] {
|
309 |
+
position: absolute;
|
310 |
+
top: -7px;
|
311 |
+
right: 0;
|
312 |
+
margin: 0;
|
313 |
+
color: #564713 !important;
|
314 |
+
background: #ffcb1e !important;
|
315 |
+
box-shadow: 0 4px #e4b526;
|
316 |
+
font-weight: 600;
|
317 |
+
font-size: 13px;
|
318 |
}
|
319 |
+
}
|
320 |
+
|
321 |
+
.wbcr-gnz-button__pro:hover,
|
322 |
+
.wbcr-gnz-button__pro:focus {
|
323 |
+
&, &.input[type="submit"] {
|
324 |
+
background: #fdd03a !important;
|
325 |
}
|
326 |
+
}
|
|
|
|
|
|
|
|
|
327 |
|
328 |
+
.wbcr-gnz-button__pro:active {
|
329 |
+
&, &.input[type="submit"] {
|
330 |
+
box-shadow: 0 2px #b9921a !important;
|
331 |
}
|
332 |
+
}
|
333 |
+
|
334 |
+
.wbcr-gnz-panel__reset {
|
335 |
+
&, &.input[type="submit"] {
|
336 |
+
margin: 0 10px 0 0;
|
337 |
+
padding-right: 30px;
|
338 |
+
padding-left: 30px;
|
339 |
+
background: #E1E5E9;
|
340 |
+
box-shadow: 0 4px #A8AEB3 !important;
|
341 |
}
|
342 |
+
}
|
343 |
+
|
344 |
+
.wbcr-gnz-panel__reset:hover,
|
345 |
+
.wbcr-gnz-panel__reset:focus {
|
346 |
+
background: #E7EAED !important;
|
347 |
+
}
|
348 |
+
|
349 |
+
.wbcr-gnz-panel__reset:active {
|
350 |
+
box-shadow: 0 2px #A8AEB3 !important;
|
351 |
+
}
|
352 |
+
|
353 |
+
.wbcr-gnz-panel__save {
|
354 |
+
&, &.input[type="submit"] {
|
355 |
+
margin: 0 10px 0 0;
|
356 |
+
padding-right: 30px;
|
357 |
+
padding-left: 30px;
|
358 |
+
color: #222 !important;
|
359 |
+
background: #FFCB1E !important;;
|
360 |
+
box-shadow: 0 4px #BF9A17 !important;
|
361 |
}
|
362 |
|
363 |
+
&:hover, &:focus {
|
364 |
+
background: #FFD340 !important;
|
365 |
+
box-shadow: 0 4px #BF9A17 !important;
|
366 |
+
}
|
367 |
+
&:active {
|
368 |
+
background: #FFD340 !important;
|
369 |
+
box-shadow: 0 2px #BF9A17 !important;
|
370 |
}
|
|
|
|
|
|
|
371 |
|
372 |
+
& + div {
|
373 |
margin: 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
374 |
}
|
375 |
+
}
|
376 |
+
|
377 |
+
.wbcr-gnz-panel__checkbox {
|
378 |
+
cursor: pointer;
|
379 |
+
font-size: 15px;
|
380 |
+
transform: none;
|
381 |
+
}
|
382 |
+
|
383 |
+
.wbcr-gnz-panel__checkbox-text, .wbcr-gnz-panel__checkbox-text-premium {
|
384 |
+
position: relative;
|
385 |
+
padding: 0 0 0 26px;
|
386 |
+
|
387 |
+
&::before {
|
388 |
+
content: "";
|
389 |
+
position: absolute;
|
390 |
+
top: -1px;
|
391 |
+
left: 0;
|
392 |
+
width: 20px;
|
393 |
+
height: 20px;
|
394 |
+
border-radius: 2px;
|
395 |
+
background: #ffcb1e;
|
396 |
}
|
397 |
+
}
|
398 |
+
|
399 |
+
.wbcr-gnz-panel__checkbox-input {
|
400 |
+
&:checked {
|
401 |
+
& + .wbcr-gnz-panel__checkbox-text, & + .wbcr-gnz-panel__checkbox-text-premium {
|
402 |
+
&::after {
|
403 |
+
content: "";
|
404 |
+
position: absolute;
|
405 |
+
top: 5px;
|
406 |
+
left: 6px;
|
407 |
+
width: 8px;
|
408 |
+
height: 5px;
|
409 |
+
-webkit-transform: rotate(-45deg);
|
410 |
+
transform: rotate(-45deg);
|
411 |
+
border: solid #444;
|
412 |
+
border-width: 0 0 2px 2px;
|
413 |
+
}
|
414 |
+
}
|
415 |
+
}
|
416 |
+
}
|
417 |
+
|
418 |
+
.wbcr-gnz-panel__checkbox-text-premium {
|
419 |
+
display: inline;
|
420 |
+
color: rgba(245, 245, 245, 0.3);
|
421 |
+
b {
|
422 |
display: inline-block;
|
423 |
+
font-size: 9px;
|
424 |
+
font-weight: 700;
|
425 |
+
color: #fff;
|
426 |
+
background: #f22714;
|
427 |
+
width: 25px;
|
428 |
+
padding: 3px 0;
|
429 |
+
text-align: center;
|
430 |
+
vertical-align: top;
|
431 |
+
border-radius: 3px;
|
432 |
+
line-height: 1.5;
|
433 |
+
}
|
434 |
+
&::before {
|
435 |
+
background: rgba(245, 245, 245, 0.3);
|
436 |
+
}
|
437 |
+
}
|
438 |
+
|
439 |
+
.wbcr-gnz-panel__close {
|
440 |
+
width: 36px;
|
441 |
+
height: 36px;
|
442 |
+
margin: 0 20px 0 20px;
|
443 |
+
cursor: pointer;
|
444 |
+
transition: .2s;
|
445 |
+
border: 4px solid #FFF;
|
446 |
+
border-radius: 50%;
|
447 |
+
background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 352 512'%3E%3Cpath fill='%23FFF' d='M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z'/%3E%3C/svg%3E") no-repeat 50% 0px;
|
448 |
+
|
449 |
+
&:hover {
|
450 |
+
opacity: .7;
|
451 |
+
}
|
452 |
+
&:focus {
|
453 |
+
opacity: .5;
|
454 |
+
outline: none;
|
455 |
+
}
|
456 |
+
}
|
457 |
+
|
458 |
+
.wbcr-gnz-content {
|
459 |
+
display: block;
|
460 |
+
width: 100%;
|
461 |
+
margin: 0;
|
462 |
+
padding: 62px 0 0 75px;
|
463 |
+
}
|
464 |
+
|
465 |
+
.wbcr-gnz-tabs {
|
466 |
+
position: fixed;
|
467 |
+
top: 62px;
|
468 |
+
bottom: 0;
|
469 |
+
left: 0;
|
470 |
+
width: 75px;
|
471 |
+
margin: 0;
|
472 |
+
padding: 0;
|
473 |
+
list-style: none;
|
474 |
+
background: #F4F4F4;
|
475 |
+
box-shadow: 2px 0 5px rgba(0, 0, 0, .2);
|
476 |
+
li {
|
477 |
+
margin: 0;
|
478 |
+
padding: 0;
|
479 |
+
}
|
480 |
+
}
|
481 |
+
|
482 |
+
.wbcr-gnz-tabs__button {
|
483 |
+
position: relative;
|
484 |
+
display: block;
|
485 |
+
width: 100%;
|
486 |
+
height: 130px;
|
487 |
+
cursor: pointer;
|
488 |
+
border: none;
|
489 |
+
background: #ECEDED;
|
490 |
+
border-radius: 0;
|
491 |
+
box-shadow: none;
|
492 |
+
-moz-box-shadow: none;
|
493 |
+
-ms-box-shadow: none;
|
494 |
+
-webkit-box-shadow: none;
|
495 |
+
-o-box-shadow: none;
|
496 |
+
&:hover, &:focus, &:after, &:before, &:after:hover, &:before:hover {
|
497 |
+
-moz-box-shadow: none;
|
498 |
+
-ms-box-shadow: none;
|
499 |
+
-webkit-box-shadow: none;
|
500 |
+
-o-box-shadow: none;
|
501 |
+
}
|
502 |
+
}
|
503 |
+
|
504 |
+
.wbcr-gnz-tabs__button::after {
|
505 |
+
content: "";
|
506 |
+
position: absolute;
|
507 |
+
top: 0;
|
508 |
+
right: 0;
|
509 |
+
bottom: 0;
|
510 |
+
left: 0;
|
511 |
+
opacity: .55;
|
512 |
+
}
|
513 |
+
|
514 |
+
.wbcr-gnz-tabs__button--misc::after {
|
515 |
+
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAtCAYAAAAgJgIUAAAIhUlEQVRYhe2YXawdVRXHf2vtOXPOvbxUEgUJhdaIQemlbSgkkEZaiiSg4EVBEWKkYIg+qDQoiRFj8QElQT4SjSEitNGAYtKCRjFa21tTUhVbKrcxGFAqfTDBALVpe8587LV8mJlz59wvkBifXMmcMzNrz6z/+q+111575Iu33cZCkqYpSRI4caJPr9fTLM/PU9WLLcY1wFkOpwI9YAC8IsKLguwT1d0i8gxQqgqCoEFRVQQZsfG1zZtJFkQAiIDDScCNWZ5vdPfzYlnOKEflNDdf5fg1uCPwJ1H9gUp4COVfi9nRxZRltCuzLNsLfNvNzhsanwuA2Tp3X2kx3lMUxe9itGveCogUkXtjWf7Uok3MMew+c8y+bu7Vz7j72WVR/CTL8gfd/CTmwT9fOMYQeRSYnOOxO4gcCCHsctgvIi8Dx919XISl7r7Kzde7swZ8hBmL8Zb+YLB8rNe7RoMexRcG0R0CmGVcRH6WdtP786LYnSQhltFQFdwdEFQV3B8lIG5+kZndalaHoWHF7AP9wWDb2FhvUlWPNUBGwyHyzREAFbVHEbkZuEpD2AnEhnG8PuqxTXBE9elOJ7k26STXI/JqO0RutiEbZA+4O80T2uv16I31SDrJ5cCtI96rvtztppcCDw+Nvilx3CFJksd6ve4lIvKXNpAY4015XnzMrQahqqjISWZ273AgICLHer3uR4KGZ9r3R5mbMboAFjpJ8lyv150UkVdbL6csinvKsjwZQE/0+5w40f+URTt7mIgVtZ8fDLJ9/X5/XuPujkVDRBBRRGRmZtToRAVzR0PyfKfTuQV3G+JzXxrNPgMgX73jjmSQZX90s5UNCIFfAB9ssYKoknYSRIQYjSzLAOikHUDodBLcHFHBzcjzgjRNK3C1DLLsMYvxupadF9M0ndAsz1a5+7ktFjztpnePjY8xNj5Gt9utvRXcIYRQz4i5kQlJIKgCggMxRsyMGCPRIiGEuxEpWmy8O1q8UFV1Pe4zcEWm87zY0+8P6PcHDLJsmMV1mBcWn6WXCjR4xRIcEJE/tHPM3TdoLOOadlEKQXd0045107SZ+1AvO/NX6wVKeK0REUJIQKpzVflVy2HMfE0CvKeuhI03+2K0IY012slo9l4x+XmA51p21sYY368ivwf5TWPI3c92t8kY5aWk44+HoB5NajZk36wl4MzE3d/RnhWielhVazyOm9/iZg86kJvdLnChmT0PrEVkp8XYMUBUrwiqT7n7GXmRT7n5KaWVkHF6kiTfGsapKvURCHUElygiY216qNYCRIQkJCByw1DnvqQoy0tUlZAkl+HeaRwoy/LKaEYZywvc/JTmfow2aWbtZD4O5K28SBX3QTuO7j7u7nVSKSGE7UOWRPrdtLsnSQKq+tvmPiIkSfLroEqSJPtF5Ehz391/mecFZYxVXsA41SrdmCwSRP4JvHNoCE4XFVSUJEnQEB5wt9fNfKLX7W4LSXgOoBvCDvAryjJuSELY0+umT3jF79/MfEOM8RNu9oK7P4wIImDmuNnSJhR18h5JROQFNzu3WenMfbU4P4oekSioBlcNWyFW061VFIPqU6b+lEhVF6op6qiwX0LYX7jVK7oQQkCA0mV1m3lEDqtIK1vdcbdLRRAVwcxajQsj9aK+Na8MF1cHUaWTJFWZN8divKzdDAnsU1Xd1UKFOytxLpC6KY0WR80JC5cGaSrKjIQQ0KAEDajqOcCFbXsadKeqyD6BP7fQhTLG24UqjgJV0Wo6JDNiWc6hQajKdIyxAlK/rywKBv0Bg8GALMtu89Gk/LuI7FFRKTSE77fRWYxXlzF+PIQEDdV6EFTJ84I8zymKkizPafoBxxlkOWVZkuc5CBRlSSftMD4+zvj4OGmaXg58ciZmjopsveuub5xQFaWTJA+JyF9bQKQoiu/GWJ4jVWmtXG01JmaG1SuzO1iMdTykTgqvwCcBhHcVZfkwTTtZTfd/9MZ63wFQEVDVo51O50sjzYv72waDbFtRFO9bIPyjv/MuLILFeNagP9jmZqcOx1T/X+73B69QhTugqqRpuj0k4Xsj/aD7e7Isn4oxXtuy+aalLMsPnegPpqzVq9QO/tjdt7pVTM40ugLdbneTqu4Y2Tu4v70oisfLovyhm58/4/nciVJve3D3lcBDRVE86WanzWJpLyKfbW8HZlp+B1U93hvrfbRf0bdhZN9gdoO5XyewV1R3COx34WXwYzjj7rY0mq+O0TZYtLWIdOZQ47632+teFUJ4feF9RwXk6NhYbzIbZPfHGG8eMlKBCe6+1mNcW/tuCBmQ4h6asT7SGgzPHwU+p6KvBdWRGT53G1gBOZam6aeTJLleRF6ab3tXFxEFxoAwslVstwYih4GbcL8BeG1Yd1t7lkU3xCHoYyEJ52sIXxGR5+fsN+c4MKJ7UVW/3ut1LwAeWczOop8GqhVdXg1B7yLovWZ2Ec56M1sDnOFwMpACucDriBwWkf2iukvgaXM/LrqonxWIZcuXv+GgWgbAzvr4r8obw/wfyP9BNDJvYh6cnt4FrAM2r5iYuPPg9PQ6oOk7pHW+vh73CLAMOAJsATbV+mXAfcx8btgCbFoxMXGkbW8xJg7VBgAurq/nk+21bj1wJ9XnhRuBJTXYZcDVwMYazPbZL1hsih5oebAOmKpfPp8sqY8t9XOH6meXActbDhyZ8+SbALHu4PT0KmAV8OQC49ZTedd4OEXl+Zn1dQOAFRMTT8z3gjdKzCngwy1Q88kRYDWVxxtrwPe19Euak4PT08veCojdVCGYWkC/CngJ+AKVx1vq/2XMMHdja/z2g9PTz/6nIKbqF+5eQH+gNrwZeLYGtAp4oNbdT8XKbN2ILJQTW4FDKyYmDhycnt4MNLHc3NI3spHK65X19ZPMhG5TPbYJ6dYVExOHZhv7N8fmQDQfwhMYAAAAAElFTkSuQmCC") no-repeat 50%;
|
516 |
+
}
|
517 |
+
|
518 |
+
.wbcr-gnz-tabs__button--theme::after {
|
519 |
+
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAvCAYAAACVDljoAAAGA0lEQVRYhe3Zf6ifVR0H8Nf1TnNb1lYUUS6jX0hhm2lB5XS3WWCQzkqLhmzTiAqsjSjoHrAtOtEvdEERkbWGki1JyyBY2HaNxFbN3RmFkdDVEZHLvK3N1ly7/fF5nu6zs+f53ue7DfrHNzx8v+c5n8857+fz+ZxzPueckfHxcaeAM3ARLsPFeBVehLNxGI/jEezGffg1jjYbyDn36mjeSRJciLVYVxHtwouxDO+pyntxG27FP4bp8IyhKfJOPICvGkyyDUvxZfzSLPleGIboWbgZ9+CCYTppwfm4E99IKS3so9CX6Hxsw4aO+kncguvMxuulWI0v4Tcdeh/E3Sml58xFYKTHYHoWvodVLXU/xmYxUP4zqB+8Geu1u/xnWJVzPtjVQB+Lfr6F5AHcgCuxYw6SMIP7cQ3ejyeK+pX4yqAG5iJ6hbBCE/txOb49h24X7sBb8afi/fUppWu7lAa5fqGIrfMb7w5iBV4vrDNfuLUvZoT1J0Q4/QLPb9Tvw7Kc899LxUHz6JqCJHy0IvsFLMZf8a8hyI7iXLwFD4nBdKdZzy7Bh/C5UrHL9fOqRpr4CbbgHDFV7RKx9UYxyt9Q/XY9F4kB9YOq/XNwF75f9LMupXR2G6E2LMPrGuUZYUU4Vn3gY/gdNlbyhzvaqvs5VMnuwdVVO6p2340zq/Ir8Sbs7EN0zPHu/K2Ipzbdd+m/ANxevsg5T6aUfiXCocbKvkQvLsr3mrVAjdoCN4nYerqon8Gzqz7+LWJ5jxiMJX5aEC377yT66qK8u4VEHd/7RbbUJDpStX0P/ibi84iYf0db+ivbP68v0RcW5X1FeaRB7LParUTMwX8W2dIBXIWnWuQeE9NW/RGL+hKdX5QPdcgx99S0AM8VM8VZHTKHhMXrfk+Q65qeyhG8YACRMnabmGnUHx0gu6AgV8Z7J9H9RfncAWRK6zdxpll31oNvpkVuieNjd7oU6HL9Hx0/j14olrwm6oZvFJl8c4sxUtXvESvZpcK1D4k5s8SFRbkcE51EdxcNXl51XlvjqFiRbsKjFYnSO8fwtur9oUr/Aryjqm9a9u0t/fciurMoL62I7arKR8TMsKlDfy4cUQ3ClNJrxUrUxI5SoStGd+P3jfIoPtnQGSZjakMdGvBxxw+kR524CnYSfRrfKt5djffin6fG8X/9PiXy3euKuq055xPm2kFp3q34CF5RlUfwdSwXicS1YiS3jeJBGBUW24OfFxz+gq+1KQ0iegCfEKlYjcXYLoL/i9qXwz54OX4oDiua+FTO+fE2hbm2Infjm8W7l4gM/Rqx7A37XFHpv6Zod1vOeWsXkT6buw0ie2riBSLhvV0kzH2wVITTj8S828QD+PAg5T5HOofEnHqXyBObWI33VR3diwdFgnFQLItLxGS+EpeYXZ1KklfmnJ88VaJEvK4Se/gbirrRisQlVfmYyD/PMncMfxc3tm3mSgxzpHMQHxD78nKrW7Y532CS+3A9VvchWTc6LO4QcZnw8JC6j+AzYpXbMoziyR47PiG2tDeLneWY2D68FM8Tbj+CJ4X1HhTL8v0G57annWiNw2JdPmFtPt04Gdf/X/AM0dONZ4ieboyMj4/v1L4vH8OnG/9Vcjsb5XInQKSDdZsbxS5gRUN2pGp3Y6E3kXMeSymtr+oXYQqbcs7fmSeSjkXimHFtg8TkwE+cxYYO2amK4CZxrj+FlxUyY43/0ymlZeIuYLNIXtZgS0ppYl6jk8vqL+tJsMZkh86k2SP1FZXM2kJmonkhVhFl9oM2YCum+0z4KwzO4pvun3C8R1aII8llwkIlZlJK9f+NOedNKaV1wqr1R27OOU/0ITpp9tqmdk0TTdeXBwcT4ryJ9vBoun6qlss5L66sexU2ppT29iE6bXA4dLmeuNb52ID60vXrcUtKaSznPJFSmhKD7rxTXesJCzct2bw0m6jqu65mdjZcT+x011TvJ4QHp7F1dPny5bXQiDD/fQ3FEXHR2nTbdCUzXT0PV3r1s0tcyO4Vd57Erd90Q3ek0JnCVM55+44dO7bhD5XsdmzIOU/9FxZhkSePNaNRAAAAAElFTkSuQmCC") no-repeat 50%;
|
520 |
+
}
|
521 |
+
|
522 |
+
.wbcr-gnz-tabs__button--plugins::after {
|
523 |
+
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAAAtCAYAAAA6GuKaAAAKSUlEQVRYhe2Yf4xU1RXHv+feeW8GdpBlQViGqouCmJgKRGpTawsEa2JSKVSspkZl1fqrsYXIaOtSFxQ2wFB+pMXaaiumqVWJYG2iiVGBRkNbi2BrWxOxrFBlV9idnZndmXk/7j394923+3bYWXY21v7Tk7y89+6959zPPe/cc++7tHPnTgwl77777pDlAGDbNmJSolgqIZFICNd1LhUk5iut5wGYCeZGAAkAZQCfENEREB0URPuJ6C0AvhACIMK6deuq9lNNYjVrACACAK4DsNx1nGZmvtSHCupOb57SzHPAvIwD5XcE0a9J0BMClBtN/2I0SspX1ziOewDATzXzpSHsEMCorGPm2UrrzZ7n/1EptWw0/dcKbROwxVfqRaX15ytBOXJVvodloQ4zX+T5/q4fPPDAz1sfeqjuvwU9hoBnAawcChbAYSnFVinETTEp50sp50khvhqT8kYpRIaI/jIUvNL6jrLj7GltfeiskYLQCCdinIBnACyJFjIAIvq9bVvbPNfbb9mWUr4CCQEwg5mDZ9OSmS/XWq/QWi8LwUM7QojXxiTiS9asfbj3TNAj8jQBG6LAxlt5Am4DsFgK+ToAxTygw1EDwQsLojctK3adFYt9m4CuqNe11ovKjrt9RDzVPH3kyPsgEHzfv9r3/Zei/QshjtmWtWxqKvVWfzkzwAylgixSLpehtQYJAcdx7rNisVlTU6nvEuAxgH998MElZcd5jplnRT1uW9b169vanhsOuqqnhRAgojqt9Zao14ioNxG3vxkFBgBBBNfzvua47lVBSAAkBDzPu7u3t3dzdzb7nRMnTjzqeZ7lOg6apk//ayIeX0JEXf22AXi+v7mlpaVhVNClYgnFUukWpfVFUU+A+XtTpjQehPEsmEFEKDvO4k86O/ecOnnyeadcXiClhOe6d+Xz+R3MDAJgW9ZRIaX2fR++7+OCGTPes6zYHQzosF9mPkcrddeooBNjEjEhxB3RMiJ6acbMmU/GLAsxy4Jl7lIIaK1n+UrVaeZkV1fXb/r6+jbnC4VHmZkIwNSpU1dOOvvsNs/zVF+xCGm+xvr1bbulEM9F41tp3bx6dUuiZmjXceew1pdEvMxx294opUT0EkKgVC7HJzY0bJna2JgGAF+pVKG39z5mJiGEk0qlVjRMnLjNdRzkcjk4jrPy1KlTj4FZAoCUciMBXsTbM7TSX6oZWgixkCPpmIC/uZ73RjQszKREb6Hws48++ujpiZMmbW5sbLw/amf8WWf9oi6Z3F4qFtGTy8H3vDsLhcLmU11dd3788cePAcD6trbDRPTn6Nxh5kXV2KruPXyl5kUXECnlqzErpolMqbnnc7nrcrlcMwMgIYrTpk1rBkAdHR0bAaBQKFxj2fbziURiv+e6d+bz+R1aa0FEcFz3aMRJr2ilvmwcBB1svmqDBnAhI7oA8EGlFEJoIoKv1ISTJ09uCD2UzWaXE4DUAPgGX6mm7q6up8eNG7crl8/fo7WWRIRkMrkqJuWP+3sjHKxYZc+rGZqZJw9asUgcF0IMWoZ7stlbXc87P6rXnc0uB8CpadNuBcAdHR0bfaVS2Z6e7wOAIHLG1tU9aMViW7TuTxog0DEACoA0APU1QxMwJvIMAH3MjL7eYJUVQsRz+fzNQ+l2Z7PNAMh4nDs6OjaFdclk8vEJEyZs0VoPXjWBPgAuB3scALBrhmagPOhzMY8FA77vA0TwHWeW67oXVtM3Hg9DBSF4sVRaXJdM7kokEn/giKdBGItgFxmKhyoynKdPAphqBgAQPico+NsgIiilpmitq+bSIcCpo6Njo+/753Z2dr44ZfLkb8UTiVfCtlrrcxCGBgAQ9dQOLeh9rfmS/v2v5rlM/IwOJyOzQ0DlJx4J+AYTegkeHNNzB/UPHK8dGnSQwNfCgDHzlUREHAgs2z5s2fZR13Wnn4Eb3dnscmYem0qlbgYzMfMHtm2/GB2w0vqqMFuZLe/BmqGFEHvD2W3+NGYz+DIp5Z9czwP7/myt1Ij+OIgI5XKZy45jj6+v31AsFqHNngUAVq9uuRhA/wpIAKQQr1dlq9qREAdB9I/Ir5NUvrqfAfie95WeXG63r9TkMwHHpDw2ob7+9uS4cTew1gWtVLCNjYjjuPeBOToJPwTRGzVDCyJPCvHL/kEAUFov7evray0UCruVUpP62wrRG4vF/h3R9S3L+uf48ePXNDQ0fFFIGdihaD4KpKXlwasB3BS+m5X1qba2tmI1tuEmImJW7Aml9T1gvsCAU6lY/JHSun+WSyEKyWTyeinlYQAXM/NYx3VPJOvq/h6zrKLyfbDWQ/6pd506db7v+78KOUwsnxiTiO+oxjU8NAgkKG9ZsbTrersjRwADwFLm6+rqbiAhXmZmxBOJE2CG63nQzODTF5B+6e7umlkql3dpzY2hbXP/4Zq1D38yHHT18JACQgjYtr0nJuXjYecxy0Is2JaqRDz+E0H0MkyMstanxetQ0tnZ+fVSsbRPaz27Yr/x7KZNm546k/6ITpji8fhKXS5P11pf6ZTLYQeyr1hsEUI0CUHbCfQWgvwNEOA4ZRARWDOEFNBKI5fPz3Zd914AzQBERcgcIODukfCMCJoE9Y1JxK8tlZ3dWutF0XMPrfWNrHEDiA4IoldBeJuYjgHoZfDY4PdJz1VKLVJaX0GAVWmfgQOJeHzxI+vWZT816ABc5Mck4kvKjrtNKXUbMOi4SzLzFYr5inAsBDgAbDZLs8n1g846zPPTAO59ZN267pGy1HQAKYTstW3rds/Da0rp9cw8vQK+vynMLjFaPgiY6DiYWzdlMk/WwhAaH7GwyQVSyt/GpPyCFKKFiN6rPK87XW9Q3REhxMOJePwyADUDA6M86uXg23ZJKdsEsIW1vpzBC7XmeQDOBXMDgv2wC6IsAceJ6G1BtBeEN1lzn6ichp8GdFPTGfdBoZQBvG6uz0RGdT79v5b/Q39WQqtWrWqtKHsKQDuABQDmA1g7hF4rgP0A9pn3yrb1CI6GzwOQA/CCsVnZNnz+XSaTOQwA6XR6OYD2TCazL51O1wNYDmA8gA8BvJDJZHoEgDWmYoG5HwXQZIytqTLYNaY+lGjbegB7AWw1NlsBHAIwZ4i24fPWiK1bAMw3wIeM/gLTZi8wEB47ASwEMDeiOFrZasCnG5thGvpGlfbtABak0+kFFeVzEDivOZPJLASwFEBPOp2eU5nymsw9h+CTjEaWIHBC+DfdA2DCMO3bEYRZKwbCDQAOm2tPOp3eZ+qaM5lMe+jpNQgWrUOm4c5RAgOBl0PgVgwsiHuH0VmLCm9nMpkeBF9qpbG3AsChdDrdVBkeYYhUPXMYgRxGEINAMKkXmrKqkslk2g1Df1IwA3gSwM5MJrMUQZjVA7glDI92DP40UVkQee4xAPsQjPwdU748ArYWwB4MZJgwNocFN3pHTR8hyxIzgO0YmPgfjiRP741c4SxfaSD2mKsdwcYeCNLbUjOQvQb+hUj9kBLxdr1532d05hg7KwBsy2QyO/8DenfAKWku08QAAAAASUVORK5CYII=") no-repeat 50%;
|
524 |
+
}
|
525 |
+
|
526 |
+
.wbcr-gnz-tabs__button:hover,
|
527 |
+
.wbcr-gnz-tabs__button:focus {
|
528 |
+
outline: none;
|
529 |
+
background: #E6E7E7;
|
530 |
+
}
|
531 |
+
|
532 |
+
.wbcr-gnz-tabs__button:hover::after,
|
533 |
+
.wbcr-gnz-tabs__button:focus::after {
|
534 |
+
opacity: 1;
|
535 |
+
}
|
536 |
+
|
537 |
+
.wbcr-gnz-tabs__button.active {
|
538 |
+
background: #CACDCF;
|
539 |
+
}
|
540 |
+
|
541 |
+
.wbcr-gnz-tabs__button.active::after {
|
542 |
+
opacity: 1;
|
543 |
+
}
|
544 |
+
|
545 |
+
.wbcr-gnz-tabs-content {
|
546 |
+
display: none;
|
547 |
+
}
|
548 |
+
|
549 |
+
.wbcr-gnz-tabs-content.active {
|
550 |
+
display: block;
|
551 |
+
}
|
552 |
+
|
553 |
+
.wbcr-gnz-info {
|
554 |
+
display: table;
|
555 |
+
|
556 |
+
padding: 0 30px 30px;
|
557 |
+
color: #5C5C5C;
|
558 |
+
font-size: 15px;
|
559 |
+
line-height: 21px;
|
560 |
+
|
561 |
+
p {
|
562 |
+
font-size: 15px;
|
563 |
+
margin: 0;
|
564 |
+
&:not(:last-child) {
|
565 |
+
margin-bottom: 25px;
|
566 |
+
}
|
567 |
+
}
|
568 |
+
|
569 |
+
.wbcr-gnz-info__warning, .wbcr-gnz-info__go-to-premium {
|
570 |
+
display: table-cell;
|
571 |
+
width: 49%;
|
572 |
+
text-align: left;
|
573 |
+
vertical-align: top;
|
574 |
+
padding: 20px;
|
575 |
+
background: #f9f9f9;
|
576 |
+
//border: 1px dashed #d8d8d8;
|
577 |
+
border-right: 2px solid #fff;
|
578 |
+
|
579 |
+
}
|
580 |
+
|
581 |
+
.wbcr-gnz-info__go-to-premium {
|
582 |
+
background: #f9f9f9;
|
583 |
+
//border: 1px dashed #e0cb14;
|
584 |
+
border-left: 2px solid #fff;
|
585 |
+
margin-left: 10px;
|
586 |
+
h3 {
|
587 |
+
position: relative;
|
588 |
+
margin: 0 0 20px;
|
589 |
+
padding: 10px 0;
|
590 |
+
text-align: left;
|
591 |
+
border-bottom: 2px solid #e2e2e2;
|
592 |
+
vertical-align: bottom;
|
593 |
+
|
594 |
+
span {
|
595 |
+
display: block;
|
596 |
+
font-size: 17px;
|
597 |
+
font-weight: 600;
|
598 |
+
color: #e47558;
|
599 |
+
text-transform: uppercase;
|
600 |
+
}
|
601 |
+
}
|
602 |
+
ul {
|
603 |
+
list-style: none;
|
604 |
+
margin-left: 5px;
|
605 |
+
margin-bottom: 20px;
|
606 |
+
padding: 0;
|
607 |
+
li {
|
608 |
+
margin-bottom: 5px;
|
609 |
+
font-weight: 600;
|
610 |
+
font-size: 15px;
|
611 |
+
color: #7d8871;
|
612 |
+
padding: 0;
|
613 |
+
&:before {
|
614 |
+
content: " ";
|
615 |
+
display: inline-block;
|
616 |
+
width: 0.4em;
|
617 |
+
height: 0.7em;
|
618 |
+
border: solid #8bc34a;
|
619 |
+
border-width: 0 0.2em 0.2em 0;
|
620 |
+
left: 0;
|
621 |
+
margin-right: 10px;
|
622 |
+
-webkit-transform: rotate(45deg);
|
623 |
+
-moz-transform: rotate(45deg);
|
624 |
+
-o-transform: rotate(45deg);
|
625 |
+
transform: rotate(45deg);
|
626 |
+
}
|
627 |
+
}
|
628 |
+
}
|
629 |
+
}
|
630 |
+
}
|
631 |
+
|
632 |
+
.wbcr-gnz-table {
|
633 |
+
margin: 0 30px;
|
634 |
+
|
635 |
+
table {
|
636 |
+
width: 100%;
|
637 |
+
border-collapse: collapse;
|
638 |
+
}
|
639 |
+
|
640 |
+
tbody:nth-child(2n) {
|
641 |
+
background: #f9f9f9;
|
642 |
+
border-bottom: 15px solid white;
|
643 |
+
}
|
644 |
+
|
645 |
+
th {
|
646 |
+
padding: 12px 10px;
|
647 |
+
text-align: left;
|
648 |
+
color: #333;
|
649 |
+
background: #ECEDED;
|
650 |
+
box-shadow: none;
|
651 |
+
}
|
652 |
+
|
653 |
+
th:not(:last-child) {
|
654 |
+
border-right: 2px solid #FFF;
|
655 |
+
}
|
656 |
+
|
657 |
+
td {
|
658 |
+
padding: 17px 10px;
|
659 |
+
vertical-align: top;
|
660 |
+
border-bottom: 1px solid #ECEDED;
|
661 |
+
text-align: left;
|
662 |
+
background: none;
|
663 |
+
box-shadow: none;
|
664 |
+
}
|
665 |
+
|
666 |
+
th:nth-child(1),
|
667 |
+
td:nth-child(1),
|
668 |
+
th:nth-child(2),
|
669 |
+
td:nth-child(2) {
|
670 |
+
text-align: center;
|
671 |
}
|
672 |
}
|
673 |
|
674 |
+
.wbcr-gnz-table__alternate th {
|
675 |
+
background: #eceded;
|
676 |
+
font-weight: 600;
|
677 |
+
}
|
678 |
+
|
679 |
+
.wbcr-gnz-table__column_switch {
|
680 |
+
vertical-align: top;
|
681 |
+
width: 10%;
|
682 |
+
|
683 |
+
}
|
684 |
|
685 |
+
th.wbcr-gnz-table__column_switch {
|
686 |
+
padding: 0 !important;
|
687 |
+
}
|
688 |
+
|
689 |
+
th.wbcr-gnz-table__column_switch em {
|
690 |
+
display: block;
|
691 |
+
padding: 10px 12px;
|
692 |
+
font-style: normal;
|
693 |
+
font-size: 11px;
|
694 |
+
font-weight: lighter;
|
695 |
+
}
|
696 |
+
|
697 |
+
th.wbcr-gnz-table__column_switch b {
|
698 |
+
display: block;
|
699 |
+
padding: 10px 12px;
|
700 |
+
font-weight: 600;
|
701 |
+
}
|
702 |
+
|
703 |
+
.wbcr-gnz-table__column_condition {
|
704 |
+
width: 30%;
|
705 |
+
}
|
706 |
+
|
707 |
+
.wbcr-gnz-table__loaded {
|
708 |
+
width: 100px;
|
709 |
text-align: center;
|
710 |
+
}
|
711 |
+
|
712 |
+
.wbcr-gnz-table__th-external-plugin {
|
713 |
+
display: block;
|
714 |
+
position: relative;
|
715 |
+
font-size: 13px;
|
716 |
+
background: #e0e0e0;
|
717 |
+
color: #444444;
|
718 |
+
padding: 5px 10px;
|
719 |
+
margin-top: 0;
|
720 |
+
|
721 |
+
.wbcr-gnz-help-hint {
|
722 |
+
display: block;
|
723 |
+
position: absolute;
|
724 |
+
top: 4px;
|
725 |
+
right: 4px;
|
726 |
+
line-height: 1.2;
|
727 |
+
}
|
728 |
+
}
|
729 |
+
|
730 |
+
.wbcr-gnz-table__loaded-state {
|
731 |
+
position: relative;
|
732 |
+
display: inline-block;
|
733 |
+
width: 30px;
|
734 |
+
height: 30px;
|
735 |
+
vertical-align: middle;
|
736 |
+
border-radius: 20px;
|
737 |
+
}
|
738 |
+
|
739 |
+
.wbcr-gnz-table__loaded-state::after {
|
740 |
+
content: "";
|
741 |
+
position: absolute;
|
742 |
+
top: 9px;
|
743 |
+
left: 8px;
|
744 |
+
width: 15px;
|
745 |
+
height: 7px;
|
746 |
+
-webkit-transform: rotate(-45deg);
|
747 |
+
transform: rotate(-45deg);
|
748 |
+
border: solid #FFF;
|
749 |
+
border-width: 0 0 2px 2px;
|
750 |
+
}
|
751 |
+
|
752 |
+
.wbcr-gnz-table__loaded-super-no {
|
753 |
+
background: #C8CFD7 !important;
|
754 |
+
}
|
755 |
+
|
756 |
+
.wbcr-gnz-table__loaded-no {
|
757 |
+
background: #C8CFD7;
|
758 |
+
}
|
759 |
+
|
760 |
+
.wbcr-gnz-table__loaded-yes {
|
761 |
+
background: #8BC34A;
|
762 |
+
}
|
763 |
+
|
764 |
+
.wbcr-gnz-table__size {
|
765 |
+
width: 75px;
|
766 |
+
}
|
767 |
+
|
768 |
+
.wbcr-gnz-table__size-value {
|
769 |
+
color: #737373;
|
770 |
+
font-size: 15px;
|
771 |
+
line-height: 20px;
|
772 |
+
}
|
773 |
+
|
774 |
+
.wbcr-gnz-table__item {
|
775 |
+
color: #737373;
|
776 |
+
}
|
777 |
+
|
778 |
+
td.wbcr-gnz-table__item:nth-child(2) {
|
779 |
+
text-align: left;
|
780 |
+
}
|
781 |
+
|
782 |
+
.wbcr-gnz-table__item-name {
|
783 |
+
margin: 0 0 3px;
|
784 |
+
text-transform: uppercase;
|
785 |
+
font-size: 16px;
|
786 |
+
font-weight: bold;
|
787 |
+
}
|
788 |
+
|
789 |
+
.wbcr-gnz-table__item-author {
|
790 |
+
margin: 0 0 4px;
|
791 |
+
}
|
792 |
+
|
793 |
+
.wbcr-gnz-table__script-name {
|
794 |
+
color: #737373;
|
795 |
+
font-size: 16px;
|
796 |
font-weight: bold;
|
|
|
|
|
797 |
|
798 |
+
b {
|
799 |
+
display: inline-block;
|
800 |
+
padding: 5px 10px;
|
801 |
+
font-size: 13px;
|
802 |
+
text-transform: uppercase;
|
803 |
+
text-align: center;
|
804 |
+
border-radius: 3px;
|
805 |
+
vertical-align: middle;
|
806 |
+
margin-right: 15px;
|
807 |
+
|
808 |
+
&.wbcr-wgz-resource-type-js {
|
809 |
+
background: #ffcb1e;
|
810 |
+
color: #403102;
|
811 |
+
}
|
812 |
+
&.wbcr-wgz-resource-type-css {
|
813 |
+
background: #9757a5;
|
814 |
+
color: #ffffff;
|
815 |
+
}
|
816 |
}
|
817 |
+
}
|
818 |
+
|
819 |
+
.wbcr-gnz-table__script-name:not(:last-child) {
|
820 |
+
margin-bottom: 5px;
|
821 |
+
}
|
822 |
+
|
823 |
+
.wbcr-gnz-table__script-path {
|
824 |
+
color: #BBBBBA;
|
825 |
+
&, a {
|
826 |
+
font-size: 12px;
|
827 |
}
|
828 |
}
|
829 |
|
830 |
+
.wbcr-gnz-table__script-version {
|
831 |
+
color: #BBBBBA;
|
832 |
+
font-size: 12px;
|
833 |
+
padding: 5px 0;
|
834 |
+
}
|
835 |
+
|
836 |
+
.wbcr-gnz-table__state {
|
837 |
+
width: 200px;
|
838 |
+
}
|
839 |
+
|
840 |
+
.wbcr-gnz-table__turn-on {
|
841 |
+
width: 500px;
|
842 |
+
}
|
843 |
+
|
844 |
+
.wbcr-gnz-table__note {
|
845 |
+
color: #BBB;
|
846 |
+
font-style: italic;
|
847 |
+
line-height: 21px;
|
848 |
}
|
849 |
|
850 |
+
.wbcr-gnz-table__note p {
|
851 |
+
margin: 0;
|
852 |
+
}
|
853 |
+
|
854 |
+
.wbcr-gnz-table__note p:not(:last-child) {
|
855 |
+
margin-bottom: 12px;
|
856 |
+
}
|
857 |
+
|
858 |
+
.wbcr-gnz-table__select {
|
859 |
+
padding: 8px 28px 8px 10px;
|
860 |
+
color: #4B4E51;
|
861 |
+
border: none;
|
862 |
+
border-radius: 3px;
|
863 |
+
background: #F2F3F3 url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAFCAYAAACXU8ZrAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAFNJREFUeNpinDZtWgQDA0MjEKsxYAeLmDIzM1cAGbNwKQDKxzNBOXOBOBeI76ArADEY////DxedPn16EpCaBMRrYQpAgAXN+I1ALA1U0IwsCBBgADmdFtA7IxcEAAAAAElFTkSuQmCC") no-repeat right 10px top 50%;
|
864 |
+
font-size: 13px;
|
865 |
+
|
866 |
+
-webkit-appearance: none;
|
867 |
+
-moz-appearance: none;
|
868 |
+
appearance: none;
|
869 |
+
}
|
870 |
+
|
871 |
+
.wbcr-gnz-table__select:not(:last-child) {
|
872 |
+
margin-bottom: 16px;
|
873 |
+
}
|
874 |
+
|
875 |
+
.wbcr-gnz-table__select:focus {
|
876 |
+
outline: none;
|
877 |
+
background-color: #E5E7E7;
|
878 |
+
box-shadow: 0 0 0 2px rgba(255, 203, 30, .5);
|
879 |
+
}
|
880 |
+
|
881 |
+
.wbcr-gnz-table__select::-ms-expand {
|
882 |
+
display: none;
|
883 |
+
}
|
884 |
+
|
885 |
+
.wbcr-gnz-table__select-pro {
|
886 |
+
color: rgba(242, 39, 20, 0.34);
|
887 |
+
}
|
888 |
+
|
889 |
+
.wbcr-gnz-table__label {
|
890 |
display: block;
|
891 |
+
margin: 0 0 15px 10px;
|
892 |
+
padding-bottom: 5px;
|
893 |
+
color: #414B56;
|
894 |
+
font-size: 13px;
|
895 |
font-weight: bold;
|
896 |
+
border-bottom: 2px solid #efefef;
|
897 |
+
|
898 |
+
.wbcr-gnz-help-hint {
|
899 |
+
vertical-align: bottom;
|
900 |
+
}
|
901 |
+
}
|
902 |
+
|
903 |
+
.wbcr-gnz-table__options {
|
904 |
+
display: -webkit-flex;
|
905 |
+
display: -ms-flexbox;
|
906 |
+
display: flex;
|
907 |
+
-webkit-flex-wrap: wrap;
|
908 |
+
-ms-flex-wrap: wrap;
|
909 |
+
flex-wrap: wrap;
|
910 |
+
max-width: 380px;
|
911 |
+
margin: 0 0 -15px 10px;
|
912 |
+
padding: 0;
|
913 |
+
list-style: none;
|
914 |
+
color: #646D78;
|
915 |
+
font-size: 13px;
|
916 |
+
}
|
917 |
+
|
918 |
+
.wbcr-gnz-table__options-item {
|
919 |
+
width: 33.33%;
|
920 |
+
padding: 0 20px 15px 0;
|
921 |
+
}
|
922 |
+
|
923 |
+
.wbcr-gnz-table__checkbox {
|
924 |
+
cursor: pointer;
|
925 |
+
}
|
926 |
+
|
927 |
+
.wbcr-gnz-table__checkbox-text {
|
928 |
+
position: relative;
|
929 |
+
padding: 0 0 0 20px;
|
930 |
+
color: #6f7275;
|
931 |
+
}
|
932 |
+
|
933 |
+
.wbcr-gnz-table__checkbox-text::before {
|
934 |
+
content: "";
|
935 |
+
position: absolute;
|
936 |
+
top: 1px;
|
937 |
+
left: 0;
|
938 |
+
width: 13px;
|
939 |
+
height: 13px;
|
940 |
+
border-radius: 2px;
|
941 |
+
background: #c8cfd7;
|
942 |
+
}
|
943 |
+
|
944 |
+
.wbcr-gnz-table__checkbox-input:checked ~ .wbcr-gnz-table__checkbox-text {
|
945 |
+
color: #646D78;
|
946 |
+
}
|
947 |
+
|
948 |
+
.wbcr-gnz-table__checkbox-input:checked ~ .wbcr-gnz-table__checkbox-text::before {
|
949 |
+
background: #FFCB1E;
|
950 |
+
}
|
951 |
+
|
952 |
+
.wbcr-gnz-table__checkbox-input:checked ~ .wbcr-gnz-table__checkbox-text::after {
|
953 |
+
content: "";
|
954 |
+
position: absolute;
|
955 |
+
top: 5px;
|
956 |
+
left: 4px;
|
957 |
+
width: 6px;
|
958 |
+
height: 4px;
|
959 |
+
-webkit-transform: rotate(-45deg);
|
960 |
+
transform: rotate(-45deg);
|
961 |
+
border: solid #FFF;
|
962 |
+
border-width: 0 0 2px 2px;
|
963 |
+
}
|
964 |
+
|
965 |
+
.wbcr-gnz-table__field {
|
966 |
+
font-size: 13px;
|
967 |
+
}
|
968 |
+
|
969 |
+
.wbcr-gnz-table__field-item {
|
970 |
+
display: -webkit-flex;
|
971 |
+
display: -ms-flexbox;
|
972 |
+
display: flex;
|
973 |
+
margin: 0 0 10px;
|
974 |
+
}
|
975 |
+
|
976 |
+
.wbcr-gnz-table__field-input,
|
977 |
+
.wbcr-gnz-table__textarea {
|
978 |
+
width: 70%;
|
979 |
+
padding: 8px 10px;
|
980 |
+
margin-left: 10px;
|
981 |
+
color: #4B4E51;
|
982 |
+
border: none;
|
983 |
+
border-radius: 3px;
|
984 |
+
background: #ececec;
|
985 |
+
font-size: 100%;
|
986 |
+
}
|
987 |
+
|
988 |
+
.wbcr-gnz-table__field-input:focus,
|
989 |
+
.wbcr-gnz-table__textarea:focus {
|
990 |
+
outline: none;
|
991 |
+
/*box-shadow: 0 0 0 2px rgba(255, 203, 30, .5);*/
|
992 |
+
}
|
993 |
+
|
994 |
+
.wbcr-gnz-table__field-add {
|
995 |
+
width: 30px;
|
996 |
+
margin: 0 0 0 5px;
|
997 |
+
cursor: pointer;
|
998 |
+
border: none;
|
999 |
+
border-radius: 3px;
|
1000 |
+
background: #FFCB1E;
|
1001 |
+
}
|
1002 |
+
|
1003 |
+
.wbcr-gnz-table__field-add::before {
|
1004 |
+
content: "+";
|
1005 |
+
color: #4E3E09;
|
1006 |
+
}
|
1007 |
+
|
1008 |
+
.wbcr-gnz-table__field-add:hover {
|
1009 |
+
background: #FBC100;
|
1010 |
+
}
|
1011 |
+
|
1012 |
+
.wbcr-gnz-table__field-add:focus {
|
1013 |
+
outline: none;
|
1014 |
+
box-shadow: 0 0 0 2px rgba(255, 203, 30, .5);
|
1015 |
+
}
|
1016 |
+
|
1017 |
+
.wbcr-gnz-table__textarea {
|
1018 |
+
width: 95%;
|
1019 |
+
padding-right: 10px;
|
1020 |
+
margin: 0 0 10px 10px;
|
1021 |
}
|
1022 |
+
|
1023 |
+
.wbcr-gnz-table__also {
|
1024 |
+
font-size: 12px;
|
1025 |
+
font-weight: bold;
|
1026 |
+
}
|
1027 |
+
|
1028 |
+
.wbcr-gnz-table__also .wbcr-gnz-table__label {
|
1029 |
+
margin-bottom: 5px;
|
1030 |
+
font-size: 12px;
|
1031 |
+
}
|
1032 |
+
|
1033 |
+
.wbcr-gnz-table__also-url {
|
1034 |
+
color: #A9AAAA;
|
1035 |
+
}
|
1036 |
+
|
1037 |
+
.wbcr-gnz-switch {
|
1038 |
+
position: relative;
|
1039 |
+
z-index: 1;
|
1040 |
display: inline-block;
|
|
|
1041 |
overflow: hidden;
|
1042 |
+
width: 70px;
|
1043 |
+
height: 30px;
|
1044 |
+
cursor: pointer;
|
1045 |
+
vertical-align: middle;
|
1046 |
+
border-radius: 15px;
|
1047 |
+
padding: 0;
|
1048 |
+
|
1049 |
+
.wbcr-gnz-switch__inner {
|
1050 |
+
display: -webkit-flex;
|
1051 |
+
display: -ms-flexbox;
|
1052 |
+
display: flex;
|
1053 |
+
height: 30px;
|
1054 |
+
transition: .3s;
|
1055 |
+
-webkit-transform: translateX(-100%);
|
1056 |
+
transform: translateX(-100%);
|
1057 |
+
color: #FFF;
|
1058 |
+
font-size: 13px;
|
1059 |
+
line-height: 31px;
|
1060 |
+
}
|
1061 |
+
|
1062 |
+
.wbcr-gnz-switch__inner::before,
|
1063 |
+
.wbcr-gnz-switch__inner::after {
|
1064 |
+
-webkit-flex-shrink: 0;
|
1065 |
+
-ms-flex-negative: 0;
|
1066 |
+
flex-shrink: 0;
|
1067 |
+
width: 100%;
|
1068 |
+
}
|
1069 |
+
|
1070 |
+
.wbcr-gnz-switch__inner::before {
|
1071 |
+
content: attr(data-off);
|
1072 |
+
padding: 0 0 0 12px;
|
1073 |
+
background: #C8CFD7;
|
1074 |
+
}
|
1075 |
+
|
1076 |
+
.wbcr-gnz-switch__inner::after {
|
1077 |
+
content: attr(data-on);
|
1078 |
+
padding: 0 12px 0 0;
|
1079 |
+
text-align: right;
|
1080 |
+
background: #414B56;
|
1081 |
+
}
|
1082 |
+
|
1083 |
+
.wbcr-gnz-switch__slider {
|
1084 |
+
position: absolute;
|
1085 |
+
top: 5px;
|
1086 |
+
left: 5px;
|
1087 |
+
width: 20px;
|
1088 |
+
height: 20px;
|
1089 |
+
transition: .3s;
|
1090 |
+
border-radius: 50%;
|
1091 |
+
background: #FFCB1E;
|
1092 |
+
margin: 0;
|
1093 |
+
}
|
1094 |
+
|
1095 |
+
&:not(.wbcr-gnz-switch-premium) {
|
1096 |
+
.wbcr-gnz-switch__input:checked ~ .wbcr-gnz-switch__inner,
|
1097 |
+
.wbcr-gnz-switch__input:checked:focus ~ .wbcr-gnz-switch__inner {
|
1098 |
+
-webkit-transform: translateX(0);
|
1099 |
+
transform: translateX(0);
|
1100 |
+
}
|
1101 |
+
|
1102 |
+
.wbcr-gnz-switch__input:checked ~ .wbcr-gnz-switch__slider,
|
1103 |
+
.wbcr-gnz-switch__input:checked:focus ~ .wbcr-gnz-switch__slider {
|
1104 |
+
left: 45px;
|
1105 |
+
background: #97A4B2;
|
1106 |
+
}
|
1107 |
+
}
|
1108 |
+
|
1109 |
+
&.wbcr-gnz-switch-premium {
|
1110 |
+
position: relative;
|
1111 |
+
font-style: normal;
|
1112 |
+
|
1113 |
+
.wbcr-gnz-switch__slider {
|
1114 |
+
background: #ababab;
|
1115 |
+
}
|
1116 |
+
.wbcr-gnz-switch__inner::after {
|
1117 |
+
background: #d3d4d4;
|
1118 |
+
font-style: normal;
|
1119 |
+
}
|
1120 |
+
|
1121 |
+
&:after {
|
1122 |
+
content: 'PRO';
|
1123 |
+
display: block;
|
1124 |
+
position: absolute;
|
1125 |
+
top: 5px;
|
1126 |
+
left: 5px;
|
1127 |
+
font-size: 7px;
|
1128 |
+
font-weight: 700;
|
1129 |
+
line-height: 2.77;
|
1130 |
+
color: #fff;
|
1131 |
+
background: #9a9a9a;
|
1132 |
+
width: 20px;
|
1133 |
+
height: 20px;
|
1134 |
+
/* padding: 3px 0; */
|
1135 |
+
text-align: center;
|
1136 |
+
vertical-align: top;
|
1137 |
+
border-radius: 20px;
|
1138 |
+
}
|
1139 |
+
}
|
1140 |
+
}
|
1141 |
+
|
1142 |
+
.wbcr-gnz-tooltip {
|
1143 |
+
position: relative;
|
1144 |
+
}
|
1145 |
+
|
1146 |
+
.wbcr-gnz-tooltip::before {
|
1147 |
+
content: "";
|
1148 |
+
position: absolute;
|
1149 |
+
z-index: 60;
|
1150 |
+
left: 5px;
|
1151 |
+
display: none;
|
1152 |
+
width: 20px;
|
1153 |
+
height: 20px;
|
1154 |
+
}
|
1155 |
+
|
1156 |
+
.wbcr-gnz-tooltip::after {
|
1157 |
+
content: attr(data-tooltip);
|
1158 |
+
position: absolute;
|
1159 |
+
z-index: 60;
|
1160 |
+
left: 5px;
|
1161 |
+
display: none;
|
1162 |
+
min-width: 200px;
|
1163 |
+
padding: 8px 15px;
|
1164 |
+
color: #6d5506;
|
1165 |
+
background: #FFCB1E;
|
1166 |
+
font-size: 13px;
|
1167 |
+
font-weight: normal;
|
1168 |
+
line-height: 1.2;
|
1169 |
+
}
|
1170 |
+
|
1171 |
+
.wbcr-gnz-tooltip-top::before {
|
1172 |
+
bottom: 100%;
|
1173 |
+
background: linear-gradient(135deg, #FFCB1E, #FFCB1E 50%, transparent 50%, transparent) no-repeat;
|
1174 |
+
}
|
1175 |
+
|
1176 |
+
.wbcr-gnz-tooltip-top::after {
|
1177 |
+
bottom: 100%;
|
1178 |
+
margin: 0 0 10px;
|
1179 |
+
border-radius: 6px 6px 6px 0;
|
1180 |
+
}
|
1181 |
+
|
1182 |
+
.wbcr-gnz-tooltip-bottom::before {
|
1183 |
+
top: 100%;
|
1184 |
+
background: linear-gradient(45deg, #FFCB1E, #FFCB1E 50%, transparent 50%, transparent) no-repeat;
|
1185 |
+
}
|
1186 |
+
|
1187 |
+
.wbcr-gnz-tooltip-bottom::after {
|
1188 |
+
top: 100%;
|
1189 |
+
margin: 15px 0 0;
|
1190 |
+
border-radius: 0 6px 6px 6px;
|
1191 |
+
}
|
1192 |
+
|
1193 |
+
.wbcr-gnz-tooltip:hover::before,
|
1194 |
+
.wbcr-gnz-tooltip:hover::after {
|
1195 |
+
display: block;
|
1196 |
+
}
|
1197 |
+
|
1198 |
+
.wbcr-use-by-comment {
|
1199 |
+
color: #fb7976;
|
1200 |
font-size: 12px;
|
|
|
1201 |
}
|
1202 |
|
1203 |
+
.wbcr-use-by-comment a {
|
1204 |
+
color: #6e6e6e;
|
1205 |
+
}
|
|
|
|
|
|
|
|
|
1206 |
|
1207 |
+
.wgz-td, .wgz-th {
|
1208 |
+
max-width: 600px;
|
1209 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1210 |
|
1211 |
+
.wgz-td {
|
1212 |
+
word-wrap: break-word;
|
1213 |
+
}
|
1214 |
+
}
|
1215 |
+
|
1216 |
+
@media screen and (max-width: 1367px) {
|
1217 |
+
#WBCR {
|
1218 |
+
p {
|
1219 |
+
font-size: 13px;
|
1220 |
+
}
|
1221 |
+
.wbcr-gnz-content {
|
1222 |
+
padding: 32px 0 0 75px;
|
1223 |
+
}
|
1224 |
+
.wbcr-gnz-panel__left {
|
1225 |
+
.wbcr-gnz-panel__item_value {
|
1226 |
+
display: block;
|
1227 |
}
|
1228 |
}
|
1229 |
+
|
1230 |
+
.wbcr-gnz-panel__right {
|
1231 |
+
.wbcr-gnz-table__checkbox-text {
|
1232 |
+
font-size: 13px;
|
1233 |
+
}
|
1234 |
+
.wbcr-gnz-panel__reset, .wbcr-gnz-panel__save {
|
1235 |
+
font-size: 12px;
|
1236 |
+
}
|
1237 |
+
|
1238 |
+
.wbcr-gnz-panel__checkbox-text {
|
1239 |
+
font-size: 12px;
|
1240 |
+
display: block;
|
1241 |
+
line-height: 1.5;
|
1242 |
+
|
1243 |
+
}
|
1244 |
+
|
1245 |
+
.wbcr-gnz-panel__close {
|
1246 |
+
width: 30px;
|
1247 |
+
height: 30px;
|
1248 |
+
margin: 0 10px 0 15px;
|
1249 |
+
border: 3px solid #FFF;
|
1250 |
+
}
|
1251 |
}
|
1252 |
|
1253 |
+
.wbcr-gnz-info {
|
1254 |
+
padding: 0;
|
1255 |
+
&, p {
|
1256 |
+
font-size: 13px;
|
1257 |
+
}
|
1258 |
+
.wbcr-gnz-info__warning {
|
1259 |
+
padding: 20px 20px 30px;
|
1260 |
+
}
|
|
|
1261 |
}
|
1262 |
|
1263 |
+
.wbcr-gnz-button__pro {
|
1264 |
+
font-size: 12px;
|
|
|
|
|
|
|
|
|
|
|
|
|
1265 |
}
|
|
|
1266 |
|
1267 |
+
.wbcr-gnz-table {
|
1268 |
+
margin: 0;
|
1269 |
+
th {
|
1270 |
+
font-size: 13px;
|
1271 |
+
}
|
1272 |
+
.wbcr-gnz-table__item {
|
1273 |
+
.wbcr-gnz-table__item-name {
|
1274 |
+
font-size: 14px;
|
1275 |
+
}
|
1276 |
+
.wbcr-gnz-table__item-author, .wbcr-gnz-table__item-version, .wbcr-use-by-comment {
|
1277 |
+
&, a {
|
1278 |
+
font-size: 12px;
|
1279 |
+
}
|
1280 |
+
}
|
1281 |
+
}
|
1282 |
+
.wbcr-gnz-table__script-name {
|
1283 |
+
font-size: 14px;
|
1284 |
+
b {
|
1285 |
+
font-size: 11px;
|
1286 |
+
font-weight: lighter;
|
1287 |
+
padding: 3px 7px;
|
1288 |
+
margin-right: 8px;
|
1289 |
+
}
|
1290 |
+
}
|
1291 |
+
.wbcr-gnz-table__script-path {
|
1292 |
+
a {
|
1293 |
+
font-size: 11px;
|
1294 |
+
}
|
1295 |
+
}
|
1296 |
+
.wbcr-gnz-table__column_switch {
|
1297 |
+
width: 10%;
|
1298 |
+
.wbcr-gnz-table__th-external-plugin, em {
|
1299 |
+
font-size: 10px;
|
1300 |
+
}
|
1301 |
+
b {
|
1302 |
+
font-size: 12px;
|
1303 |
+
}
|
1304 |
+
}
|
1305 |
+
.wbcr-gnz-table__column_condition {
|
1306 |
+
width: 35%;
|
1307 |
+
}
|
1308 |
+
}
|
1309 |
+
}
|
1310 |
}
|
1311 |
+
|
1312 |
+
@media screen and (max-width: 1600px) {
|
1313 |
+
#WBCR {
|
1314 |
+
.wbcr-gnz-panel__data-main {
|
1315 |
+
display: none;
|
1316 |
+
}
|
1317 |
+
|
1318 |
+
.wbcr-gnz-panel__data-hidden {
|
1319 |
+
display: block;
|
1320 |
+
}
|
1321 |
+
}
|
1322 |
+
}
|
components/assets-manager/assets/css/reset.css
ADDED
@@ -0,0 +1,251 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* Reset styles
|
3 |
+
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
4 |
+
* @copyright Webcraftic 15.10.2018
|
5 |
+
*/
|
6 |
+
*,
|
7 |
+
*:before,
|
8 |
+
*:after {
|
9 |
+
-webkit-box-sizing: border-box;
|
10 |
+
-moz-box-sizing: border-box;
|
11 |
+
box-sizing: border-box;
|
12 |
+
}
|
13 |
+
h2,
|
14 |
+
h3,
|
15 |
+
h4,
|
16 |
+
h5,
|
17 |
+
h6,
|
18 |
+
p,
|
19 |
+
strong,
|
20 |
+
b,
|
21 |
+
span,
|
22 |
+
em,
|
23 |
+
i,
|
24 |
+
a,
|
25 |
+
div,
|
26 |
+
main,
|
27 |
+
section,
|
28 |
+
li,
|
29 |
+
button,
|
30 |
+
input[type="submit"],
|
31 |
+
input[type="reset"],
|
32 |
+
.wbcr-gnz-switch-premium {
|
33 |
+
font-family: Arial, "Helvetica Neue", sans-serif !important;
|
34 |
+
font-size: 14px;
|
35 |
+
font-style: normal;
|
36 |
+
font-weight: normal;
|
37 |
+
text-transform: none;
|
38 |
+
text-shadow: none;
|
39 |
+
}
|
40 |
+
h1 {
|
41 |
+
font-size: 2em;
|
42 |
+
margin: 0.67em 0;
|
43 |
+
}
|
44 |
+
hr {
|
45 |
+
box-sizing: content-box;
|
46 |
+
height: 0;
|
47 |
+
overflow: visible;
|
48 |
+
}
|
49 |
+
pre {
|
50 |
+
font-family: monospace, monospace;
|
51 |
+
font-size: 1em;
|
52 |
+
}
|
53 |
+
a {
|
54 |
+
background-color: transparent;
|
55 |
+
}
|
56 |
+
abbr[title] {
|
57 |
+
border-bottom: none;
|
58 |
+
text-decoration: underline dotted;
|
59 |
+
}
|
60 |
+
b,
|
61 |
+
strong {
|
62 |
+
font-weight: bolder;
|
63 |
+
}
|
64 |
+
code,
|
65 |
+
kbd,
|
66 |
+
samp {
|
67 |
+
font-family: monospace, monospace;
|
68 |
+
font-size: 1em;
|
69 |
+
}
|
70 |
+
small {
|
71 |
+
font-size: 80%;
|
72 |
+
}
|
73 |
+
sub,
|
74 |
+
sup {
|
75 |
+
font-size: 75%;
|
76 |
+
line-height: 0;
|
77 |
+
position: relative;
|
78 |
+
vertical-align: baseline;
|
79 |
+
}
|
80 |
+
sub {
|
81 |
+
bottom: -0.25em;
|
82 |
+
}
|
83 |
+
sup {
|
84 |
+
top: -0.5em;
|
85 |
+
}
|
86 |
+
img {
|
87 |
+
border-style: none;
|
88 |
+
}
|
89 |
+
button,
|
90 |
+
input,
|
91 |
+
optgroup,
|
92 |
+
select,
|
93 |
+
textarea {
|
94 |
+
font-family: inherit;
|
95 |
+
font-size: 100%;
|
96 |
+
line-height: 1.15;
|
97 |
+
margin: 0;
|
98 |
+
height: auto;
|
99 |
+
width: auto;
|
100 |
+
}
|
101 |
+
button,
|
102 |
+
input,
|
103 |
+
optgroup,
|
104 |
+
select,
|
105 |
+
textarea,
|
106 |
+
button:hover,
|
107 |
+
input:hover,
|
108 |
+
optgroup:hover,
|
109 |
+
select:hover,
|
110 |
+
textarea:hover,
|
111 |
+
button:focus,
|
112 |
+
input:focus,
|
113 |
+
optgroup:focus,
|
114 |
+
select:focus,
|
115 |
+
textarea:focus {
|
116 |
+
-moz-box-shadow: none;
|
117 |
+
-ms-box-shadow: none;
|
118 |
+
-webkit-box-shadow: none;
|
119 |
+
-o-box-shadow: none;
|
120 |
+
}
|
121 |
+
button,
|
122 |
+
input {
|
123 |
+
overflow: visible;
|
124 |
+
}
|
125 |
+
button,
|
126 |
+
select {
|
127 |
+
text-transform: none;
|
128 |
+
}
|
129 |
+
button,
|
130 |
+
[type="button"],
|
131 |
+
[type="reset"],
|
132 |
+
[type="submit"] {
|
133 |
+
-webkit-appearance: button;
|
134 |
+
}
|
135 |
+
button::-moz-focus-inner,
|
136 |
+
[type="button"]::-moz-focus-inner,
|
137 |
+
[type="reset"]::-moz-focus-inner,
|
138 |
+
[type="submit"]::-moz-focus-inner {
|
139 |
+
border-style: none;
|
140 |
+
padding: 0;
|
141 |
+
}
|
142 |
+
button:-moz-focusring,
|
143 |
+
[type="button"]:-moz-focusring,
|
144 |
+
[type="reset"]:-moz-focusring,
|
145 |
+
[type="submit"]:-moz-focusring {
|
146 |
+
outline: 1px dotted ButtonText;
|
147 |
+
}
|
148 |
+
fieldset {
|
149 |
+
padding: 0.35em 0.75em 0.625em;
|
150 |
+
}
|
151 |
+
legend {
|
152 |
+
box-sizing: border-box;
|
153 |
+
color: inherit;
|
154 |
+
display: table;
|
155 |
+
max-width: 100%;
|
156 |
+
padding: 0;
|
157 |
+
white-space: normal;
|
158 |
+
}
|
159 |
+
textarea {
|
160 |
+
overflow: auto;
|
161 |
+
}
|
162 |
+
[type="checkbox"],
|
163 |
+
[type="radio"] {
|
164 |
+
box-sizing: border-box;
|
165 |
+
padding: 0;
|
166 |
+
}
|
167 |
+
[type="number"]::-webkit-inner-spin-button,
|
168 |
+
[type="number"]::-webkit-outer-spin-button {
|
169 |
+
height: auto;
|
170 |
+
}
|
171 |
+
[type="search"] {
|
172 |
+
-webkit-appearance: textfield;
|
173 |
+
outline-offset: -2px;
|
174 |
+
}
|
175 |
+
[type="search"]::-webkit-search-decoration {
|
176 |
+
-webkit-appearance: none;
|
177 |
+
}
|
178 |
+
::-webkit-file-upload-button {
|
179 |
+
-webkit-appearance: button;
|
180 |
+
font: inherit;
|
181 |
+
}
|
182 |
+
fieldset {
|
183 |
+
padding: 0.35em 0.75em 0.625em;
|
184 |
+
}
|
185 |
+
legend {
|
186 |
+
box-sizing: border-box;
|
187 |
+
color: inherit;
|
188 |
+
display: table;
|
189 |
+
max-width: 100%;
|
190 |
+
padding: 0;
|
191 |
+
white-space: normal;
|
192 |
+
}
|
193 |
+
progress {
|
194 |
+
vertical-align: baseline;
|
195 |
+
}
|
196 |
+
textarea {
|
197 |
+
overflow: auto;
|
198 |
+
}
|
199 |
+
[type=checkbox],
|
200 |
+
[type=radio] {
|
201 |
+
box-sizing: border-box;
|
202 |
+
padding: 0;
|
203 |
+
}
|
204 |
+
[type=number]::-webkit-inner-spin-button,
|
205 |
+
[type=number]::-webkit-outer-spin-button {
|
206 |
+
height: auto;
|
207 |
+
}
|
208 |
+
[type=search] {
|
209 |
+
-webkit-appearance: textfield;
|
210 |
+
outline-offset: -2px;
|
211 |
+
}
|
212 |
+
[type=search]::-webkit-search-decoration {
|
213 |
+
-webkit-appearance: none;
|
214 |
+
}
|
215 |
+
::-webkit-file-upload-button {
|
216 |
+
-webkit-appearance: button;
|
217 |
+
font: inherit;
|
218 |
+
}
|
219 |
+
details {
|
220 |
+
display: block;
|
221 |
+
}
|
222 |
+
summary {
|
223 |
+
display: list-item;
|
224 |
+
}
|
225 |
+
template {
|
226 |
+
display: none;
|
227 |
+
}
|
228 |
+
[hidden] {
|
229 |
+
display: none;
|
230 |
+
}
|
231 |
+
table,
|
232 |
+
caption,
|
233 |
+
tbody,
|
234 |
+
tfoot,
|
235 |
+
thead,
|
236 |
+
tr,
|
237 |
+
th,
|
238 |
+
td {
|
239 |
+
margin: 0;
|
240 |
+
padding: 0;
|
241 |
+
border: 0;
|
242 |
+
font-size: 100%;
|
243 |
+
font: inherit;
|
244 |
+
vertical-align: middle;
|
245 |
+
line-height: 1.2;
|
246 |
+
}
|
247 |
+
table {
|
248 |
+
table-layout: auto;
|
249 |
+
border-collapse: collapse;
|
250 |
+
border-spacing: 0;
|
251 |
+
}
|
components/assets-manager/assets/css/reset.less
ADDED
@@ -0,0 +1,252 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* Reset styles
|
3 |
+
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
4 |
+
* @copyright Webcraftic 15.10.2018
|
5 |
+
*/
|
6 |
+
|
7 |
+
*, *:before, *:after {
|
8 |
+
-webkit-box-sizing: border-box;
|
9 |
+
-moz-box-sizing: border-box;
|
10 |
+
box-sizing: border-box;
|
11 |
+
}
|
12 |
+
|
13 |
+
&,
|
14 |
+
h2, h3, h4, h5, h6,
|
15 |
+
p, strong, b, span,
|
16 |
+
em, i, a, div, main,
|
17 |
+
section, li, button,
|
18 |
+
input[type="submit"], input[type="reset"],
|
19 |
+
.wbcr-gnz-switch-premium {
|
20 |
+
font-family: Arial, "Helvetica Neue", sans-serif !important;
|
21 |
+
font-size: 14px;
|
22 |
+
font-style: normal;
|
23 |
+
font-weight: normal;
|
24 |
+
text-transform: none;
|
25 |
+
text-shadow: none;
|
26 |
+
}
|
27 |
+
|
28 |
+
h1 {
|
29 |
+
font-size: 2em;
|
30 |
+
margin: .67em 0
|
31 |
+
}
|
32 |
+
|
33 |
+
hr {
|
34 |
+
box-sizing: content-box;
|
35 |
+
height: 0;
|
36 |
+
overflow: visible
|
37 |
+
}
|
38 |
+
|
39 |
+
pre {
|
40 |
+
font-family: monospace, monospace;
|
41 |
+
font-size: 1em
|
42 |
+
}
|
43 |
+
|
44 |
+
a {
|
45 |
+
background-color: transparent;
|
46 |
+
}
|
47 |
+
|
48 |
+
abbr[title] {
|
49 |
+
border-bottom: none;
|
50 |
+
text-decoration: underline dotted;
|
51 |
+
}
|
52 |
+
|
53 |
+
b, strong {
|
54 |
+
font-weight: bolder;
|
55 |
+
}
|
56 |
+
|
57 |
+
code, kbd, samp {
|
58 |
+
font-family: monospace, monospace;
|
59 |
+
font-size: 1em
|
60 |
+
}
|
61 |
+
|
62 |
+
small {
|
63 |
+
font-size: 80%
|
64 |
+
}
|
65 |
+
|
66 |
+
sub, sup {
|
67 |
+
font-size: 75%;
|
68 |
+
line-height: 0;
|
69 |
+
position: relative;
|
70 |
+
vertical-align: baseline
|
71 |
+
}
|
72 |
+
|
73 |
+
sub {
|
74 |
+
bottom: -.25em
|
75 |
+
}
|
76 |
+
|
77 |
+
sup {
|
78 |
+
top: -.5em
|
79 |
+
}
|
80 |
+
|
81 |
+
img {
|
82 |
+
border-style: none
|
83 |
+
}
|
84 |
+
|
85 |
+
button,
|
86 |
+
input,
|
87 |
+
optgroup,
|
88 |
+
select,
|
89 |
+
textarea {
|
90 |
+
font-family: inherit;
|
91 |
+
font-size: 100%;
|
92 |
+
line-height: 1.15;
|
93 |
+
margin: 0;
|
94 |
+
height: auto;
|
95 |
+
width: auto;
|
96 |
+
&, &:hover, &:focus {
|
97 |
+
-moz-box-shadow: none;
|
98 |
+
-ms-box-shadow: none;
|
99 |
+
-webkit-box-shadow: none;
|
100 |
+
-o-box-shadow: none;
|
101 |
+
}
|
102 |
+
}
|
103 |
+
|
104 |
+
button,
|
105 |
+
input {
|
106 |
+
overflow: visible;
|
107 |
+
}
|
108 |
+
|
109 |
+
button,
|
110 |
+
select {
|
111 |
+
text-transform: none;
|
112 |
+
}
|
113 |
+
|
114 |
+
button,
|
115 |
+
[type="button"],
|
116 |
+
[type="reset"],
|
117 |
+
[type="submit"] {
|
118 |
+
-webkit-appearance: button;
|
119 |
+
}
|
120 |
+
|
121 |
+
button::-moz-focus-inner,
|
122 |
+
[type="button"]::-moz-focus-inner,
|
123 |
+
[type="reset"]::-moz-focus-inner,
|
124 |
+
[type="submit"]::-moz-focus-inner {
|
125 |
+
border-style: none;
|
126 |
+
padding: 0;
|
127 |
+
}
|
128 |
+
|
129 |
+
button:-moz-focusring,
|
130 |
+
[type="button"]:-moz-focusring,
|
131 |
+
[type="reset"]:-moz-focusring,
|
132 |
+
[type="submit"]:-moz-focusring {
|
133 |
+
outline: 1px dotted ButtonText;
|
134 |
+
}
|
135 |
+
|
136 |
+
fieldset {
|
137 |
+
padding: 0.35em 0.75em 0.625em;
|
138 |
+
}
|
139 |
+
|
140 |
+
legend {
|
141 |
+
box-sizing: border-box;
|
142 |
+
color: inherit;
|
143 |
+
display: table;
|
144 |
+
max-width: 100%;
|
145 |
+
padding: 0;
|
146 |
+
white-space: normal;
|
147 |
+
}
|
148 |
+
|
149 |
+
textarea {
|
150 |
+
overflow: auto;
|
151 |
+
}
|
152 |
+
|
153 |
+
[type="checkbox"],
|
154 |
+
[type="radio"] {
|
155 |
+
box-sizing: border-box;
|
156 |
+
padding: 0;
|
157 |
+
}
|
158 |
+
|
159 |
+
[type="number"]::-webkit-inner-spin-button,
|
160 |
+
[type="number"]::-webkit-outer-spin-button {
|
161 |
+
height: auto;
|
162 |
+
}
|
163 |
+
|
164 |
+
[type="search"] {
|
165 |
+
-webkit-appearance: textfield;
|
166 |
+
outline-offset: -2px;
|
167 |
+
}
|
168 |
+
|
169 |
+
[type="search"]::-webkit-search-decoration {
|
170 |
+
-webkit-appearance: none;
|
171 |
+
}
|
172 |
+
|
173 |
+
::-webkit-file-upload-button {
|
174 |
+
-webkit-appearance: button;
|
175 |
+
font: inherit;
|
176 |
+
}
|
177 |
+
|
178 |
+
fieldset {
|
179 |
+
padding: .35em .75em .625em
|
180 |
+
}
|
181 |
+
|
182 |
+
legend {
|
183 |
+
box-sizing: border-box;
|
184 |
+
color: inherit;
|
185 |
+
display: table;
|
186 |
+
max-width: 100%;
|
187 |
+
padding: 0;
|
188 |
+
white-space: normal
|
189 |
+
}
|
190 |
+
|
191 |
+
progress {
|
192 |
+
vertical-align: baseline
|
193 |
+
}
|
194 |
+
|
195 |
+
textarea {
|
196 |
+
overflow: auto
|
197 |
+
}
|
198 |
+
|
199 |
+
[type=checkbox], [type=radio] {
|
200 |
+
box-sizing: border-box;
|
201 |
+
padding: 0
|
202 |
+
}
|
203 |
+
|
204 |
+
[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
|
205 |
+
height: auto
|
206 |
+
}
|
207 |
+
|
208 |
+
[type=search] {
|
209 |
+
-webkit-appearance: textfield;
|
210 |
+
outline-offset: -2px
|
211 |
+
}
|
212 |
+
|
213 |
+
[type=search]::-webkit-search-decoration {
|
214 |
+
-webkit-appearance: none
|
215 |
+
}
|
216 |
+
|
217 |
+
::-webkit-file-upload-button {
|
218 |
+
-webkit-appearance: button;
|
219 |
+
font: inherit
|
220 |
+
}
|
221 |
+
|
222 |
+
details {
|
223 |
+
display: block
|
224 |
+
}
|
225 |
+
|
226 |
+
summary {
|
227 |
+
display: list-item
|
228 |
+
}
|
229 |
+
|
230 |
+
template {
|
231 |
+
display: none
|
232 |
+
}
|
233 |
+
|
234 |
+
[hidden] {
|
235 |
+
display: none
|
236 |
+
}
|
237 |
+
|
238 |
+
table, caption, tbody, tfoot, thead, tr, th, td {
|
239 |
+
margin: 0;
|
240 |
+
padding: 0;
|
241 |
+
border: 0;
|
242 |
+
font-size: 100%;
|
243 |
+
font: inherit;
|
244 |
+
vertical-align: middle;
|
245 |
+
line-height: 1.2;
|
246 |
+
}
|
247 |
+
|
248 |
+
table {
|
249 |
+
table-layout: auto;
|
250 |
+
border-collapse: collapse;
|
251 |
+
border-spacing: 0;
|
252 |
+
}
|
components/assets-manager/assets/img/info.svg
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 330 330" width="36" height="36"><g fill="#FFF"><path d="M165 0C74.019 0 0 74.02 0 165.001 0 255.982 74.019 330 165 330s165-74.018 165-164.999S255.981 0 165 0zm0 300c-74.44 0-135-60.56-135-134.999S90.56 30 165 30s135 60.562 135 135.001C300 239.44 239.439 300 165 300z"/><path d="M164.998 70c-11.026 0-19.996 8.976-19.996 20.009 0 11.023 8.97 19.991 19.996 19.991 11.026 0 19.996-8.968 19.996-19.991 0-11.033-8.97-20.009-19.996-20.009zM165 140c-8.284 0-15 6.716-15 15v90c0 8.284 6.716 15 15 15 8.284 0 15-6.716 15-15v-90c0-8.284-6.716-15-15-15z"/></g></svg>
|
components/assets-manager/assets/js/assets-manager.js
CHANGED
@@ -9,30 +9,115 @@
|
|
9 |
'use strict';
|
10 |
|
11 |
$(function() {
|
12 |
-
$('.wbcr-
|
13 |
-
|
14 |
-
$(this).
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
$(this).attr('class', 'wbcr-gonzales-disable-select').addClass(selectElement.val());
|
19 |
|
20 |
-
if(
|
|
|
21 |
$(this).closest('tr').find('.wbcr-assets-manager-enable-placeholder').hide();
|
22 |
$(this).closest('tr').find('.wbcr-assets-manager-enable').show();
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
}
|
24 |
else {
|
|
|
25 |
$(this).closest('tr').find('.wbcr-assets-manager-enable').hide();
|
26 |
$(this).closest('tr').find('.wbcr-assets-manager-enable-placeholder').show();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
}
|
|
|
|
|
|
|
|
|
28 |
|
29 |
-
|
30 |
-
|
31 |
-
$(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
} else {
|
33 |
-
|
34 |
-
|
|
|
35 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
});
|
37 |
});
|
38 |
|
9 |
'use strict';
|
10 |
|
11 |
$(function() {
|
12 |
+
$('.wbcr-gnz-disable').on('change', function(ev) {
|
13 |
+
var class_name = 'wbcr-gnz-table__loaded-super-no';
|
14 |
+
var handle = $(this).data('handle');
|
15 |
+
if( handle != undefined ) {
|
16 |
+
class_name = 'wbcr-gnz-table__loaded-no';
|
17 |
+
}
|
|
|
18 |
|
19 |
+
if( $(this).prop('checked') == true ) {
|
20 |
+
$(this).closest('label').find('input[type="hidden"]').val('disable');
|
21 |
$(this).closest('tr').find('.wbcr-assets-manager-enable-placeholder').hide();
|
22 |
$(this).closest('tr').find('.wbcr-assets-manager-enable').show();
|
23 |
+
$(this).closest('tr').find('.wbcr-state').removeClass('wbcr-gnz-table__loaded-yes');
|
24 |
+
$(this).closest('tr').find('.wbcr-state').addClass(class_name).trigger('cssClassChanged');
|
25 |
+
|
26 |
+
if( typeof wbcrChangeHandleState == 'function' ) {
|
27 |
+
wbcrChangeHandleState(this, 1);
|
28 |
+
}
|
29 |
}
|
30 |
else {
|
31 |
+
$(this).closest('label').find('input[type="hidden"]').val('');
|
32 |
$(this).closest('tr').find('.wbcr-assets-manager-enable').hide();
|
33 |
$(this).closest('tr').find('.wbcr-assets-manager-enable-placeholder').show();
|
34 |
+
$(this).closest('tr').find('.wbcr-state').removeClass(class_name);
|
35 |
+
$(this).closest('tr').find('.wbcr-state').addClass('wbcr-gnz-table__loaded-yes').trigger('cssClassChanged');
|
36 |
+
|
37 |
+
if( typeof wbcrChangeHandleState == 'function' ) {
|
38 |
+
wbcrChangeHandleState(this, 0);
|
39 |
+
}
|
40 |
+
}
|
41 |
+
});
|
42 |
+
|
43 |
+
$('.wbcr-gnz-action-select').on('change', function(ev) {
|
44 |
+
var selectElement = $(this).children(':selected');
|
45 |
+
$(this).closest('span').find('.wbcr-assets-manager').hide();
|
46 |
+
|
47 |
+
if( selectElement.val() != 'current' ) {
|
48 |
+
$(this).closest('span').find('.wbcr-assets-manager.' + selectElement.val()).show();
|
49 |
}
|
50 |
+
});
|
51 |
+
|
52 |
+
$('.wbcr-gnz-sided-disable').on('change', function(ev) {
|
53 |
+
$(this).closest('label').find('input[type="hidden"]').val($(this).prop('checked') ? 1 : 0);
|
54 |
|
55 |
+
var handle = $(this).data('handle');
|
56 |
+
if( handle != undefined ) {
|
57 |
+
$('.wbcr-gnz-sided-' + handle)
|
58 |
+
.prop('checked', $(this).prop('checked'))
|
59 |
+
.closest('label')
|
60 |
+
.find('input[type="hidden"]').val($(this).prop('checked') ? 1 : 0);
|
61 |
+
}
|
62 |
+
});
|
63 |
+
|
64 |
+
$('.wbcr-reset-button').on('click', function() {
|
65 |
+
$('.wbcr-gnz-disable').each(function() {
|
66 |
+
$(this).prop('checked', false).trigger('change');
|
67 |
+
$(this).closest('input').val('');
|
68 |
+
});
|
69 |
+
$('.wbcr-gnz-sided-disable').each(function() {
|
70 |
+
$(this).prop('checked', false).trigger('change');
|
71 |
+
$(this).closest('input').val(1);
|
72 |
+
});
|
73 |
+
});
|
74 |
+
|
75 |
+
$('.wbcr-state').bind('cssClassChanged', function() {
|
76 |
+
var el = $(this).parent('td').parent('tr').find('.wbcr-info-data');
|
77 |
+
if( $(this).hasClass('wbcr-gnz-table__loaded-no') || $(this).hasClass('wbcr-gnz-table__loaded-super-no') ) {
|
78 |
+
if( el.length > 0 ) {
|
79 |
+
el.data('off', 1);
|
80 |
+
}
|
81 |
} else {
|
82 |
+
if( el.length > 0 ) {
|
83 |
+
el.data('off', 0);
|
84 |
+
}
|
85 |
}
|
86 |
+
|
87 |
+
if( typeof wbcrCalculateInformation == 'function' ) {
|
88 |
+
wbcrCalculateInformation();
|
89 |
+
}
|
90 |
+
});
|
91 |
+
|
92 |
+
if( typeof wbcrCalculateInformation == 'function' ) {
|
93 |
+
wbcrCalculateInformation();
|
94 |
+
}
|
95 |
+
|
96 |
+
$('ul.wbcr-gnz-tabs').on('click', '.wbcr-gnz-tabs__button:not(.active)', function() {
|
97 |
+
window.location.hash = '#' + $(this).data('hash');
|
98 |
+
$(this)
|
99 |
+
.addClass('active').parent().siblings().find('.wbcr-gnz-tabs__button').removeClass('active')
|
100 |
+
.closest('.wbcr-gnz-content').find('div.wbcr-gnz-tabs-content').removeClass('active').eq($(this).parent().index()).addClass('active');
|
101 |
+
});
|
102 |
+
|
103 |
+
var tabHash = window.location.hash.replace('#', '');
|
104 |
+
if( tabHash ) {
|
105 |
+
$('ul.wbcr-gnz-tabs .wbcr-gnz-tabs__button[data-hash="' + tabHash + '"]').click();
|
106 |
+
} else {
|
107 |
+
$('ul.wbcr-gnz-tabs li').eq(0).find('.wbcr-gnz-tabs__button').click();
|
108 |
+
}
|
109 |
+
|
110 |
+
/*if ($('#wpadminbar').length > 0) {
|
111 |
+
var h = $('#wpadminbar').height();
|
112 |
+
if (h > 0) {
|
113 |
+
$('#wbcr-gnz header.wbcr-gnz-panel').css('top', h + 'px');
|
114 |
+
var top = $('#wbcr-gnz ul.wbcr-gnz-tabs').css('top');
|
115 |
+
$('#wbcr-gnz ul.wbcr-gnz-tabs').css('top', top.replace('px', '') * 1 + h + 'px');
|
116 |
+
}
|
117 |
+
}*/
|
118 |
+
|
119 |
+
$('.wbcr-close-button').on('click', function() {
|
120 |
+
document.location.href = $(this).data('href');
|
121 |
});
|
122 |
});
|
123 |
|
components/assets-manager/gonzales.php
CHANGED
@@ -4,10 +4,11 @@
|
|
4 |
* Plugin URI: https://wordpress.org/plugins/gonzales/
|
5 |
* Description: Increase the speed of the pages by disabling unused scripts (.JS) and styles (.CSS). Make your website REACTIVE!
|
6 |
* Author: Webcraftic <wordpress.webraftic@gmail.com>
|
7 |
-
* Version: 1.0.
|
8 |
* Text Domain: gonzales
|
9 |
* Domain Path: /languages/
|
10 |
* Author URI: https://clearfy.pro
|
|
|
11 |
*/
|
12 |
|
13 |
// Exit if accessed directly
|
@@ -15,46 +16,73 @@
|
|
15 |
exit;
|
16 |
}
|
17 |
|
18 |
-
|
19 |
-
function wbcr_gnz_admin_notice_error()
|
20 |
-
{
|
21 |
-
?>
|
22 |
-
<div class="notice notice-error">
|
23 |
-
<p><?php _e('We found that you use the plugin "Clearfy - disable unused functions", this plugin already has the same functions as "Assets manager", so you can disable the "Assets manager" plugin!', 'gonzales'); ?></p>
|
24 |
-
</div>
|
25 |
-
<?php
|
26 |
-
}
|
27 |
|
28 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
|
|
|
|
|
|
|
|
|
|
|
30 |
return;
|
31 |
-
} else {
|
32 |
-
|
33 |
-
define('WGZ_PLUGIN_ACTIVE', true);
|
34 |
-
|
35 |
-
define('WGZ_PLUGIN_DIR', dirname(__FILE__));
|
36 |
-
define('WGZ_PLUGIN_BASE', plugin_basename(__FILE__));
|
37 |
-
define('WGZ_PLUGIN_URL', plugins_url(null, __FILE__));
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
if( !defined('LOADING_GONZALES_AS_ADDON') ) {
|
42 |
-
require_once(WGZ_PLUGIN_DIR . '/libs/factory/core/boot.php');
|
43 |
-
}
|
44 |
-
|
45 |
-
require_once(WGZ_PLUGIN_DIR . '/includes/class.plugin.php');
|
46 |
-
|
47 |
-
if( !defined('LOADING_GONZALES_AS_ADDON') ) {
|
48 |
-
new WGZ_Plugin(__FILE__, array(
|
49 |
-
'prefix' => 'wbcr_gnz_',
|
50 |
-
'plugin_name' => 'wbcr_gonzales',
|
51 |
-
'plugin_title' => __('Webcraftic assets manager', 'gonzales'),
|
52 |
-
'plugin_version' => '1.0.4',
|
53 |
-
'required_php_version' => '5.2',
|
54 |
-
'required_wp_version' => '4.2',
|
55 |
-
'plugin_build' => 'free',
|
56 |
-
'updates' => WGZ_PLUGIN_DIR . '/updates/'
|
57 |
-
));
|
58 |
-
}
|
59 |
}
|
60 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
* Plugin URI: https://wordpress.org/plugins/gonzales/
|
5 |
* Description: Increase the speed of the pages by disabling unused scripts (.JS) and styles (.CSS). Make your website REACTIVE!
|
6 |
* Author: Webcraftic <wordpress.webraftic@gmail.com>
|
7 |
+
* Version: 1.0.7
|
8 |
* Text Domain: gonzales
|
9 |
* Domain Path: /languages/
|
10 |
* Author URI: https://clearfy.pro
|
11 |
+
* Framework Version: FACTORY_409_VERSION
|
12 |
*/
|
13 |
|
14 |
// Exit if accessed directly
|
16 |
exit;
|
17 |
}
|
18 |
|
19 |
+
define('WGZ_PLUGIN_VERSION', '1.0.7');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
|
21 |
+
// Fix for ithemes sync. When the ithemes sync plugin accepts the request, set the WP_ADMIN constant,
|
22 |
+
// after which the plugin Clearfy begins to create errors, and how the logic of its work is broken.
|
23 |
+
// Solution to simply terminate the plugin if there is a request from ithemes sync
|
24 |
+
// --------------------------------------
|
25 |
+
if( defined('DOING_AJAX') && DOING_AJAX && isset($_REQUEST['action']) && $_REQUEST['action'] == 'ithemes_sync_request' ) {
|
26 |
+
return;
|
27 |
+
}
|
28 |
+
|
29 |
+
if( isset($_GET['ithemes-sync-request']) && !empty($_GET['ithemes-sync-request']) ) {
|
30 |
+
return;
|
31 |
+
}
|
32 |
+
// ----------------------------------------
|
33 |
+
|
34 |
+
define('WGZ_PLUGIN_DIR', dirname(__FILE__));
|
35 |
+
define('WGZ_PLUGIN_BASE', plugin_basename(__FILE__));
|
36 |
+
define('WGZ_PLUGIN_URL', plugins_url(null, __FILE__));
|
37 |
+
|
38 |
+
|
39 |
+
|
40 |
+
if( !defined('LOADING_ASSETS_MANAGER_AS_ADDON') ) {
|
41 |
+
require_once(WGZ_PLUGIN_DIR . '/libs/factory/core/includes/check-compatibility.php');
|
42 |
+
require_once(WGZ_PLUGIN_DIR . '/libs/factory/clearfy/includes/check-clearfy-compatibility.php');
|
43 |
+
}
|
44 |
+
|
45 |
+
$plugin_info = array(
|
46 |
+
'prefix' => 'wbcr_gnz_',
|
47 |
+
'plugin_name' => 'wbcr_gonzales',
|
48 |
+
'plugin_title' => __('Webcraftic assets manager', 'gonzales'),
|
49 |
+
'plugin_version' => WGZ_PLUGIN_VERSION,
|
50 |
+
'plugin_build' => 'free',
|
51 |
+
'updates' => WGZ_PLUGIN_DIR . '/updates/'
|
52 |
+
);
|
53 |
+
|
54 |
+
/**
|
55 |
+
* Проверяет совместимость с Wordpress, php и другими плагинами.
|
56 |
+
*/
|
57 |
+
$compatibility = new Wbcr_FactoryClearfy_Compatibility(array_merge($plugin_info, array(
|
58 |
+
'plugin_already_activate' => defined('WGZ_PLUGIN_ACTIVE'),
|
59 |
+
'plugin_as_component' => defined('LOADING_ASSETS_MANAGER_AS_ADDON'),
|
60 |
+
'plugin_dir' => WGZ_PLUGIN_DIR,
|
61 |
+
'plugin_base' => WGZ_PLUGIN_BASE,
|
62 |
+
'plugin_url' => WGZ_PLUGIN_URL,
|
63 |
+
'required_php_version' => '5.3',
|
64 |
+
'required_wp_version' => '4.2.0',
|
65 |
+
'required_clearfy_check_component' => true
|
66 |
+
)));
|
67 |
|
68 |
+
/**
|
69 |
+
* Если плагин совместим, то он продолжит свою работу, иначе будет остановлен,
|
70 |
+
* а пользователь получит предупреждение.
|
71 |
+
*/
|
72 |
+
if( !$compatibility->check() ) {
|
73 |
return;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
74 |
}
|
75 |
|
76 |
+
define('WGZ_PLUGIN_ACTIVE', true);
|
77 |
+
|
78 |
+
if( !defined('LOADING_ASSETS_MANAGER_AS_ADDON') ) {
|
79 |
+
require_once(WGZ_PLUGIN_DIR . '/libs/factory/core/boot.php');
|
80 |
+
}
|
81 |
+
|
82 |
+
require_once(WGZ_PLUGIN_DIR . '/includes/class.plugin.php');
|
83 |
+
|
84 |
+
if( !defined('LOADING_ASSETS_MANAGER_AS_ADDON') ) {
|
85 |
+
new WGZ_Plugin(__FILE__, $plugin_info);
|
86 |
+
}
|
87 |
+
|
88 |
+
|
components/assets-manager/includes/class.configurate-assets.php
CHANGED
@@ -12,37 +12,60 @@
|
|
12 |
exit;
|
13 |
}
|
14 |
|
15 |
-
class WbcrGnz_ConfigAssetsManager extends
|
16 |
|
17 |
/**
|
18 |
* Stores list of all available assets (used in rendering panel)
|
19 |
*
|
20 |
* @var array
|
21 |
*/
|
22 |
-
|
23 |
|
24 |
/**
|
25 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
*/
|
27 |
-
public function __construct(
|
28 |
{
|
29 |
parent::__construct($plugin);
|
30 |
$this->plugin = $plugin;
|
31 |
}
|
32 |
|
33 |
-
|
|
|
|
|
|
|
|
|
34 |
/**
|
35 |
* Initilize entire machine
|
36 |
*/
|
37 |
-
function registerActionsAndFilters()
|
38 |
{
|
39 |
-
if( $this->
|
40 |
return;
|
41 |
}
|
42 |
|
43 |
-
$on_frontend = $this->
|
44 |
-
$on_backend = $this->
|
45 |
-
$is_panel = $this->
|
46 |
|
47 |
if( (!is_admin() && !$on_frontend) || (is_admin() && !$on_backend) ) {
|
48 |
add_filter('script_loader_src', array($this, 'unloadAssets'), 10, 2);
|
@@ -51,10 +74,10 @@
|
|
51 |
|
52 |
if( !$is_panel && ((is_admin() && !$on_backend) || (!is_admin() && !$on_frontend)) ) {
|
53 |
if( !is_admin() ) {
|
54 |
-
add_action('wp_enqueue_scripts', array($this, 'appendAsset'));
|
55 |
add_action('wp_footer', array($this, 'assetsManager'), 100001);
|
56 |
} else {
|
57 |
-
add_action('admin_enqueue_scripts', array($this, 'appendAsset'));
|
58 |
add_action('admin_footer', array($this, 'assetsManager'), 100001);
|
59 |
}
|
60 |
}
|
@@ -70,8 +93,8 @@
|
|
70 |
}
|
71 |
|
72 |
if( !$is_panel && ((is_admin() && !$on_backend) || (!is_admin() && !$on_frontend)) ) {
|
73 |
-
if( defined('
|
74 |
-
add_action('
|
75 |
} else {
|
76 |
add_action('admin_bar_menu', array($this, 'assetsManagerAdminBar'), 1000);
|
77 |
}
|
@@ -84,6 +107,20 @@
|
|
84 |
if( is_admin() && !$on_backend ) {
|
85 |
add_action('admin_init', array($this, 'formSave'));
|
86 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
87 |
}
|
88 |
|
89 |
function clearfyAdminBarMenu($menu_items)
|
@@ -103,7 +140,7 @@
|
|
103 |
*/
|
104 |
function assetsManagerAdminBar($wp_admin_bar)
|
105 |
{
|
106 |
-
if(
|
107 |
return;
|
108 |
}
|
109 |
|
@@ -116,241 +153,618 @@
|
|
116 |
);
|
117 |
$wp_admin_bar->add_node($args);
|
118 |
}
|
119 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
120 |
function assetsManager()
|
121 |
{
|
122 |
-
if(
|
123 |
return;
|
124 |
}
|
125 |
|
126 |
$current_url = esc_url($this->getCurrentUrl());
|
127 |
-
|
128 |
-
|
129 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
130 |
if( isset($_GET['wbcr_assets_manager']) ) {
|
131 |
-
echo
|
132 |
}
|
133 |
-
echo
|
134 |
-
|
135 |
-
echo "<div id='wbcr-assets-manager'>";
|
136 |
-
|
137 |
-
//Header
|
138 |
-
echo "<div class='wbcr-header'>";
|
139 |
-
echo "<h2>Webcraftic " . __('Assets manager', 'gonzales') . " (Beta)</h2>";
|
140 |
-
echo "<div class='wbcr-description'>";
|
141 |
-
echo "<p>" . __('Below you can disable/enable CSS and JS files on a per page/post basis, as well as by custom post types. We recommend testing this locally or on a staging site first, as you could break the appearance of your live site. If you aren\'t sure about a certain script, you can try clicking on it, as a lot of authors will mention their plugin or theme in the header of the source code.', 'gonzales') . "</p>
|
142 |
-
<p>" . __('If for some reason you run into trouble, you can always enable everything again to reset the settings.', 'gonzales') . "</p>";
|
143 |
-
echo "</div>";
|
144 |
-
echo "</div>";
|
145 |
-
|
146 |
//Form
|
147 |
-
echo
|
148 |
-
|
149 |
wp_nonce_field('wbcr_assets_manager_nonce', 'wbcr_assets_manager_save');
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
echo
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
echo
|
159 |
-
echo "
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
echo ">
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
echo
|
261 |
-
echo
|
262 |
-
echo "
|
263 |
-
|
264 |
-
echo
|
265 |
-
echo
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
echo
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
echo
|
275 |
-
echo
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
289 |
}
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
}
|
298 |
}
|
299 |
-
|
300 |
-
echo "</label>";
|
301 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
302 |
}
|
303 |
-
echo "</span>";
|
304 |
-
echo "</td>";
|
305 |
-
echo "</tr>";
|
306 |
}
|
307 |
}
|
|
|
|
|
|
|
|
|
308 |
}
|
309 |
-
|
310 |
-
echo
|
311 |
-
echo
|
312 |
-
echo
|
313 |
}
|
314 |
-
|
315 |
-
echo
|
316 |
-
echo
|
317 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
318 |
}
|
319 |
|
320 |
public function formSave()
|
321 |
{
|
322 |
if( isset($_GET['wbcr_assets_manager']) && isset($_POST['wbcr_assets_manager_save']) ) {
|
323 |
-
|
324 |
-
if(
|
325 |
-
|
|
|
|
|
326 |
}
|
327 |
-
|
328 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
329 |
$current_url = esc_url($this->getCurrentUrl());
|
330 |
-
|
331 |
if( isset($_POST['disabled']) && !empty($_POST['disabled']) ) {
|
332 |
foreach($_POST['disabled'] as $type => $assets) {
|
333 |
if( !empty($assets) ) {
|
334 |
foreach($assets as $handle => $where) {
|
335 |
-
|
336 |
$handle = sanitize_text_field($handle);
|
337 |
-
$where = sanitize_text_field($where);
|
338 |
|
339 |
if( !isset($options['disabled'][$type][$handle]) ) {
|
340 |
$options['disabled'][$type][$handle] = array();
|
341 |
}
|
342 |
$disabled = &$options['disabled'][$type][$handle];
|
343 |
|
344 |
-
if( !empty($where) ) {
|
345 |
-
|
|
|
|
|
|
|
|
|
346 |
$disabled['everywhere'] = 1;
|
347 |
-
|
348 |
-
|
349 |
-
}
|
350 |
-
} elseif( $where == "current" ) {
|
351 |
-
if( isset($disabled['everywhere']) ) {
|
352 |
-
unset($disabled['everywhere']);
|
353 |
-
}
|
354 |
|
355 |
if( !isset($disabled['current']) || !is_array($disabled['current']) ) {
|
356 |
$disabled['current'] = array();
|
@@ -359,9 +773,12 @@
|
|
359 |
if( !in_array($current_url, $disabled['current']) ) {
|
360 |
array_push($disabled['current'], $current_url);
|
361 |
}
|
|
|
|
|
|
|
362 |
}
|
363 |
} else {
|
364 |
-
|
365 |
|
366 |
if( isset($disabled['current']) ) {
|
367 |
$current_key = array_search($current_url, $disabled['current']);
|
@@ -398,8 +815,11 @@
|
|
398 |
$options['enabled'][$type][$handle] = array();
|
399 |
}
|
400 |
$enabled = &$options['enabled'][$type][$handle];
|
|
|
|
|
401 |
|
402 |
-
if( !empty($where['current']) || $where['current'] === "0"
|
|
|
403 |
if( !isset($enabled['current']) || !is_array($enabled['current']) ) {
|
404 |
$enabled['current'] = array();
|
405 |
}
|
@@ -418,7 +838,7 @@
|
|
418 |
}
|
419 |
}
|
420 |
|
421 |
-
if( !empty($where['post_types']) ) {
|
422 |
$enabled['post_types'] = array();
|
423 |
foreach($where['post_types'] as $key => $post_type) {
|
424 |
if( isset($enabled['post_types']) ) {
|
@@ -430,6 +850,32 @@
|
|
430 |
} else {
|
431 |
unset($enabled['post_types']);
|
432 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
433 |
|
434 |
if( empty($enabled) ) {
|
435 |
unset($options['enabled'][$type][$handle]);
|
@@ -445,60 +891,115 @@
|
|
445 |
}
|
446 |
}
|
447 |
|
448 |
-
|
449 |
|
450 |
-
|
451 |
-
|
452 |
-
|
453 |
-
|
454 |
-
wp_cache_clear_cache();
|
455 |
-
} elseif( function_exists('rocket_clean_files') ) {
|
456 |
-
rocket_clean_files(esc_url($_SERVER['HTTP_REFERER']));
|
457 |
-
} else if( isset($GLOBALS['wp_fastest_cache']) && method_exists($GLOBALS['wp_fastest_cache'], 'deleteCache') ) {
|
458 |
-
$GLOBALS['wp_fastest_cache']->deleteCache();
|
459 |
}
|
|
|
|
|
460 |
}
|
461 |
}
|
462 |
-
|
463 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
464 |
{
|
465 |
-
|
466 |
-
|
467 |
-
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
$
|
473 |
-
$
|
474 |
-
|
|
|
|
|
475 |
if( isset($options['disabled']) && isset($options['disabled'][$type]) && isset($options['disabled'][$type][$handle]) ) {
|
476 |
-
$
|
477 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
478 |
if( isset($options['enabled']) && isset($options['enabled'][$type]) && isset($options['enabled'][$type][$handle]) ) {
|
479 |
-
$
|
480 |
}
|
481 |
-
|
482 |
-
|
483 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
484 |
if( isset($enabled['current']) && is_array($enabled['current']) && in_array($current_url, $enabled['current']) ) {
|
485 |
return $src;
|
486 |
}
|
487 |
-
|
488 |
-
if(
|
489 |
-
|
490 |
-
return false;
|
491 |
-
} else {
|
492 |
-
if( isset($enabled['post_types']) && in_array('page', $enabled['post_types']) ) {
|
493 |
-
return $src;
|
494 |
-
}
|
495 |
-
}
|
496 |
}
|
497 |
-
|
498 |
-
if( isset($enabled['post_types']) && in_array(get_post_type(), $enabled['post_types']) ) {
|
499 |
return $src;
|
500 |
}
|
501 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
502 |
return false;
|
503 |
}
|
504 |
|
@@ -512,11 +1013,16 @@
|
|
512 |
*/
|
513 |
public function collectAssets()
|
514 |
{
|
|
|
|
|
|
|
|
|
515 |
$denied = array(
|
516 |
-
'js' => array('wbcr-assets-manager', '
|
517 |
-
'css' => array('wbcr-assets-manager', '
|
518 |
);
|
519 |
-
|
|
|
520 |
/**
|
521 |
* Imitate full untouched list without dequeued assets
|
522 |
* Appends part of original table. Safe approach.
|
@@ -525,51 +1031,61 @@
|
|
525 |
'js' => wp_scripts(),
|
526 |
'css' => wp_styles(),
|
527 |
);
|
528 |
-
|
529 |
foreach($data_assets as $type => $data) {
|
530 |
-
|
531 |
-
|
532 |
-
|
533 |
-
|
534 |
-
|
535 |
-
|
536 |
-
|
537 |
-
$
|
538 |
-
|
539 |
-
$
|
540 |
-
|
541 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
542 |
}
|
543 |
-
|
544 |
-
$this->collection[$resource_name][$type][$el] = array(
|
545 |
-
'url_full' => $url,
|
546 |
-
'url_short' => $url_short,
|
547 |
-
//'state' => $this->get_visibility($type, $el),
|
548 |
-
'size' => $this->getAssetSize($url),
|
549 |
-
'deps' => (isset($data->registered[$el]->deps)
|
550 |
-
? $data->registered[$el]->deps
|
551 |
-
: array()),
|
552 |
-
);
|
553 |
}
|
|
|
554 |
}
|
555 |
}
|
556 |
}
|
557 |
-
|
558 |
return false;
|
559 |
}
|
560 |
-
|
561 |
/**
|
562 |
* Loads functionality that allows to enable/disable js/css without site reload
|
563 |
*/
|
564 |
public function appendAsset()
|
565 |
{
|
566 |
-
if(
|
567 |
wp_enqueue_style('wbcr-assets-manager', WGZ_PLUGIN_URL . '/assets/css/assets-manager.css', array(), $this->plugin->getPluginVersion());
|
568 |
-
wp_enqueue_script('wbcr-assets-manager', WGZ_PLUGIN_URL . '/assets/js/assets-manager.js', array(), $this->plugin->getPluginVersion(), true);
|
569 |
}
|
570 |
}
|
571 |
-
|
572 |
-
|
573 |
/**
|
574 |
* Exception for address starting from "//example.com" instead of
|
575 |
* "http://example.com". WooCommerce likes such a format
|
@@ -580,9 +1096,7 @@
|
|
580 |
private function prepareCorrectUrl($url)
|
581 |
{
|
582 |
if( isset($url[0]) && isset($url[1]) && '/' == $url[0] && '/' == $url[1] ) {
|
583 |
-
$out = (is_ssl()
|
584 |
-
? 'https:'
|
585 |
-
: 'http:') . $url;
|
586 |
} else {
|
587 |
$out = $url;
|
588 |
}
|
@@ -607,12 +1121,11 @@
|
|
607 |
return $out;
|
608 |
}
|
609 |
|
610 |
-
|
611 |
/**
|
612 |
* Checks how heavy is file
|
613 |
*
|
614 |
* @param string $src URL.
|
615 |
-
* @return int
|
616 |
*/
|
617 |
private function getAssetSize($src)
|
618 |
{
|
@@ -633,4 +1146,551 @@
|
|
633 |
|
634 |
return $weight;
|
635 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
636 |
}
|
12 |
exit;
|
13 |
}
|
14 |
|
15 |
+
class WbcrGnz_ConfigAssetsManager extends Wbcr_FactoryClearfy206_Configurate {
|
16 |
|
17 |
/**
|
18 |
* Stores list of all available assets (used in rendering panel)
|
19 |
*
|
20 |
* @var array
|
21 |
*/
|
22 |
+
public $collection = array();
|
23 |
|
24 |
/**
|
25 |
+
* Plugins for additional columns
|
26 |
+
*
|
27 |
+
* @var array
|
28 |
+
*/
|
29 |
+
private $sided_plugins = array();
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Css and js files excluded in sided plugins
|
33 |
+
*
|
34 |
+
* @var array
|
35 |
+
*/
|
36 |
+
private $sided_plugin_files = array();
|
37 |
+
|
38 |
+
/**
|
39 |
+
* @var bool
|
40 |
+
*/
|
41 |
+
private $is_user_can;
|
42 |
+
|
43 |
+
/**
|
44 |
+
* @param Wbcr_Factory409_Plugin $plugin
|
45 |
*/
|
46 |
+
public function __construct(Wbcr_Factory409_Plugin $plugin)
|
47 |
{
|
48 |
parent::__construct($plugin);
|
49 |
$this->plugin = $plugin;
|
50 |
}
|
51 |
|
52 |
+
protected function isUserCan()
|
53 |
+
{
|
54 |
+
return current_user_can('manage_options') || current_user_can('manage_network');
|
55 |
+
}
|
56 |
+
|
57 |
/**
|
58 |
* Initilize entire machine
|
59 |
*/
|
60 |
+
protected function registerActionsAndFilters()
|
61 |
{
|
62 |
+
if( $this->getPopulateOption('disable_assets_manager', false) ) {
|
63 |
return;
|
64 |
}
|
65 |
|
66 |
+
$on_frontend = $this->getPopulateOption('disable_assets_manager_on_front');
|
67 |
+
$on_backend = $this->getPopulateOption('disable_assets_manager_on_backend', true);
|
68 |
+
$is_panel = $this->getPopulateOption('disable_assets_manager_panel');
|
69 |
|
70 |
if( (!is_admin() && !$on_frontend) || (is_admin() && !$on_backend) ) {
|
71 |
add_filter('script_loader_src', array($this, 'unloadAssets'), 10, 2);
|
74 |
|
75 |
if( !$is_panel && ((is_admin() && !$on_backend) || (!is_admin() && !$on_frontend)) ) {
|
76 |
if( !is_admin() ) {
|
77 |
+
add_action('wp_enqueue_scripts', array($this, 'appendAsset'), -100001);
|
78 |
add_action('wp_footer', array($this, 'assetsManager'), 100001);
|
79 |
} else {
|
80 |
+
add_action('admin_enqueue_scripts', array($this, 'appendAsset'), -100001);
|
81 |
add_action('admin_footer', array($this, 'assetsManager'), 100001);
|
82 |
}
|
83 |
}
|
93 |
}
|
94 |
|
95 |
if( !$is_panel && ((is_admin() && !$on_backend) || (!is_admin() && !$on_frontend)) ) {
|
96 |
+
if( defined('LOADING_ASSETS_MANAGER_AS_ADDON') ) {
|
97 |
+
add_action('wbcr/clearfy/adminbar_menu_items', array($this, 'clearfyAdminBarMenu'));
|
98 |
} else {
|
99 |
add_action('admin_bar_menu', array($this, 'assetsManagerAdminBar'), 1000);
|
100 |
}
|
107 |
if( is_admin() && !$on_backend ) {
|
108 |
add_action('admin_init', array($this, 'formSave'));
|
109 |
}
|
110 |
+
|
111 |
+
add_action('plugins_loaded', array($this, 'pluginsLoaded'));
|
112 |
+
add_action('wbcr_gnz_form_save', array($this, 'actionFormSave'));
|
113 |
+
|
114 |
+
add_filter('wbcr_gnz_unset_disabled', array($this, 'unsetDisabled'), 10, 2);
|
115 |
+
add_filter('wbcr_gnz_get_additional_head_columns', array($this, 'getAdditionalHeadColumns'));
|
116 |
+
add_filter('wbcr_gnz_get_additional_controls_columns', array($this, 'getAdditionalControlsColumns'), 10, 4);
|
117 |
+
|
118 |
+
add_filter('autoptimize_filter_js_exclude', array($this, 'aoptFilterJsExclude'), 10, 2);
|
119 |
+
add_filter('autoptimize_filter_css_exclude', array($this, 'aoptFilterCssExclude'), 10, 2);
|
120 |
+
add_filter('wmac_filter_js_exclude', array($this, 'wmacFilterJsExclude'), 10, 2);
|
121 |
+
add_filter('wmac_filter_css_exclude', array($this, 'wmacFilterCssExclude'), 10, 2);
|
122 |
+
add_filter('wmac_filter_js_minify_excluded', array($this, 'wmacFilterJsMinifyExclude'), 10, 2);
|
123 |
+
add_filter('wmac_filter_css_minify_excluded', array($this, 'wmacFilterCssMinifyExclude'), 10, 2);
|
124 |
}
|
125 |
|
126 |
function clearfyAdminBarMenu($menu_items)
|
140 |
*/
|
141 |
function assetsManagerAdminBar($wp_admin_bar)
|
142 |
{
|
143 |
+
if( !$this->isUserCan() ) {
|
144 |
return;
|
145 |
}
|
146 |
|
153 |
);
|
154 |
$wp_admin_bar->add_node($args);
|
155 |
}
|
156 |
+
|
157 |
+
/**
|
158 |
+
* Action plugins loaded
|
159 |
+
*/
|
160 |
+
public function pluginsLoaded()
|
161 |
+
{
|
162 |
+
if ( ! is_admin() ) {
|
163 |
+
$this->sided_plugins = array(
|
164 |
+
'aopt' => 'autoptimize/autoptimize.php',
|
165 |
+
'wmac' => 'minify-and-combine/minify-and-combine.php'
|
166 |
+
);
|
167 |
+
}
|
168 |
+
|
169 |
+
if( class_exists('WCL_Plugin') && (WCL_Plugin::app()->getPopulateOption('remove_js_version', false) || WCL_Plugin::app()->getPopulateOption('remove_css_version', false)) ) {
|
170 |
+
$this->sided_plugins['wclp'] = 'clearfy/clearfy.php';
|
171 |
+
}
|
172 |
+
|
173 |
+
|
174 |
+
|
175 |
+
$this->sided_plugins = apply_filters('wbcr_gnz_sided_plugins', $this->sided_plugins);
|
176 |
+
}
|
177 |
+
|
178 |
function assetsManager()
|
179 |
{
|
180 |
+
if( !$this->isUserCan() || !isset($_GET['wbcr_assets_manager']) ) {
|
181 |
return;
|
182 |
}
|
183 |
|
184 |
$current_url = esc_url($this->getCurrentUrl());
|
185 |
+
|
186 |
+
// todo: вынести в метод
|
187 |
+
if( is_multisite() && is_network_admin() ) {
|
188 |
+
$options = $this->getNetworkOption('assets_manager_options', array());
|
189 |
+
} else {
|
190 |
+
$options = $this->getOption('assets_manager_options', array());
|
191 |
+
}
|
192 |
+
|
193 |
+
echo '<div id="WBCR" class="wbcr-gnz-wrapper"';
|
194 |
if( isset($_GET['wbcr_assets_manager']) ) {
|
195 |
+
echo 'style="display: block;"';
|
196 |
}
|
197 |
+
echo '>';
|
198 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
199 |
//Form
|
200 |
+
echo '<form method="POST">';
|
|
|
201 |
wp_nonce_field('wbcr_assets_manager_nonce', 'wbcr_assets_manager_save');
|
202 |
+
|
203 |
+
//Header
|
204 |
+
echo '<header class="wbcr-gnz-panel">';
|
205 |
+
echo '<div class="wbcr-gnz-panel__left">';
|
206 |
+
echo '<div class="wbcr-gnz-panel__logo"></div>';
|
207 |
+
echo '<ul class="wbcr-gnz-panel__data panel__data-main">';
|
208 |
+
echo '<li class="wbcr-gnz-panel__data-item __info-query">' . __('Total requests', 'gonzales') . ': <b class="wbcr-gnz-panel__item_value">--</b></li>';
|
209 |
+
echo '<li class="wbcr-gnz-panel__data-item __info-all-weight">' . __('Total size', 'gonzales') . ': <b class="wbcr-gnz-panel__item_value"><span class="wbcr-gnz-panel__color-1">--</span></b></li>';
|
210 |
+
echo '<li class="wbcr-gnz-panel__data-item __info-opt-weight">' . __('Optimized size', 'gonzales') . ': <b class="wbcr-gnz-panel__item_value"><span class="wbcr-gnz-panel__color-2">--</span></b></li>';
|
211 |
+
echo '<li class="wbcr-gnz-panel__data-item __info-off-js">' . __('Disabled js', 'gonzales') . ': <b class="wbcr-gnz-panel__item_value">--</li></b>';
|
212 |
+
echo '<li class="wbcr-gnz-panel__data-item __info-off-css">' . __('Disabled css', 'gonzales') . ': <b class="wbcr-gnz-panel__item_value">--</li></b>';
|
213 |
+
echo '</ul>';
|
214 |
+
$panel_to_premium_info = '<div class="wbcr-gnz-panel__premium"><div class="wbcr-gnz-tooltip wbcr-gnz-tooltip-bottom" data-tooltip="' . __('This is the general statistics to see the optimization result. Available in the paid version only.', 'gonzales') . '.">PRO</div></div>';
|
215 |
+
echo apply_filters('wbcr_gnz_panel_premium', $panel_to_premium_info);
|
216 |
+
echo '</div>';
|
217 |
+
echo '<div class="wbcr-gnz-panel__right">';
|
218 |
+
echo '<button class="wbcr-gnz-panel__reset wbcr-reset-button" type="button">' . __('Reset', 'gonzales') . '</button>';
|
219 |
+
echo '<input class="wbcr-gnz-panel__save" type="submit" value="' . __('Save', 'gonzales') . '">';
|
220 |
+
echo '<label class="wbcr-gnz-panel__checkbox wbcr-gnz-tooltip wbcr-gnz-tooltip-bottom" data-tooltip="' . __('In test mode, you can experiment with disabling unused scripts safely for your site. The resources that you disabled will be visible only to you (the administrator), and all other users will receive an unoptimized version of the site, until you remove this tick', 'gonzales') . '.">';
|
221 |
+
echo apply_filters('wbcr_gnz_test_mode_checkbox', '<input class="wbcr-gnz-panel__checkbox-input visually-hidden" type="checkbox" disabled="disabled" checked/><span class="wbcr-gnz-panel__checkbox-text-premium">' . __('Safe mode <b>PRO</b>', 'gonzales') . '</span>');
|
222 |
+
echo '</label>';
|
223 |
+
echo '<button class="wbcr-gnz-panel__close wbcr-close-button" type="button" aria-label="' . __('Close', 'gonzales') . '" data-href="' . remove_query_arg('wbcr_assets_manager') . '"></button>';
|
224 |
+
echo '</div>';
|
225 |
+
echo '</header>';
|
226 |
+
|
227 |
+
// Main content
|
228 |
+
echo '<main class="wbcr-gnz-content">';
|
229 |
+
|
230 |
+
uksort($this->collection, function ($a, $b) {
|
231 |
+
if( 'plugins' == $a ) {
|
232 |
+
return -1;
|
233 |
+
}
|
234 |
+
|
235 |
+
if( 'plugins' == $b ) {
|
236 |
+
return 1;
|
237 |
+
}
|
238 |
+
|
239 |
+
return strcasecmp($a, $b);
|
240 |
+
});
|
241 |
+
|
242 |
+
// Tabs
|
243 |
+
echo '<ul class="wbcr-gnz-tabs">';
|
244 |
+
foreach($this->collection as $resource_type => $resources) {
|
245 |
+
echo '<li class="wbcr-gnz-tabs__item">';
|
246 |
+
echo '<div class="wbcr-gnz-tabs__button wbcr-gnz-tabs__button--' . $resource_type . '" data-hash="' . $resource_type . '" aria-label="' . $resource_type . '"></div>';
|
247 |
+
echo '</li>';
|
248 |
+
}
|
249 |
+
echo '</ul>';
|
250 |
+
|
251 |
+
// Info
|
252 |
+
echo '<div class="wbcr-gnz-info"><div class="wbcr-gnz-info__warning">';
|
253 |
+
echo '<p><b>' . __('Important! Each page of your website has different sets of scripts and styles files.', 'gonzales') . '</b></p>';
|
254 |
+
echo '<p>' . __('Use this feature to disable unwanted scripts and styles by setting up the logic for different types of pages. We recommend working in "Safe mode" because disabling any necessary system script file can corrupt the website. All changes done in Safe mode are available for administrator only. This way only you, as the administrator, can see the result of optimization. To enable the changes for other users, uncheck Safe mode.', 'gonzales') . '</p>';
|
255 |
+
echo '<p>' . sprintf(__('For more details and user guides, check the plugin’s <a href="%s" target="_blank" rel="noreferrer noopener">documentation</a>.', 'gonzales'), WbcrFactoryClearfy206_Helpers::getWebcrafticSitePageUrl(WGZ_Plugin::app()->getPluginName(), 'docs')) . '</p>';
|
256 |
+
echo '</div>';
|
257 |
+
|
258 |
+
$premium_button = '<a class="wbcr-gnz-button__pro" href="' . WbcrFactoryClearfy206_Helpers::getWebcrafticSitePageUrl(WGZ_Plugin::app()->getPluginName(), 'assets-manager') . '" target="_blank" rel="noreferrer noopener">' . __('Upgrade to Premium', 'gonzales') . '</a>';
|
259 |
+
|
260 |
+
$upgrade_to_premium_info = '<div class="wbcr-gnz-info__go-to-premium"><ul>';
|
261 |
+
$upgrade_to_premium_info .= '<h3><span>' . __('MORE IN CLEARFY BUSINESS', 'gonzales') . '</span>' . $premium_button . '</h3><ul>';
|
262 |
+
$upgrade_to_premium_info .= '<li>' . __('Disable plugins (groups of scripts)', 'gonzales') . '</li>';
|
263 |
+
$upgrade_to_premium_info .= '<li>' . __('Conditions by the link template', 'gonzales') . '</li>';
|
264 |
+
$upgrade_to_premium_info .= '<li>' . __('Conditions by the regular expression', 'gonzales') . '</li>';
|
265 |
+
$upgrade_to_premium_info .= '<li>' . __('Safe mode', 'gonzales') . '</li>';
|
266 |
+
$upgrade_to_premium_info .= '<li>' . __('Statistics and optimization results', 'gonzales') . '</li>';
|
267 |
+
$upgrade_to_premium_info .= '</ul>';
|
268 |
+
$upgrade_to_premium_info .= '</div>';
|
269 |
+
echo apply_filters('wbcr_gnz_upgrade_to_premium_info', $upgrade_to_premium_info);
|
270 |
+
echo '</div>';
|
271 |
+
|
272 |
+
global $plugin_state;
|
273 |
+
|
274 |
+
foreach($this->collection as $resource_type => $resources) {
|
275 |
+
// Tabs content
|
276 |
+
echo '<div class="wbcr-gnz-tabs-content">';
|
277 |
+
echo '<div class="wbcr-gnz-table">';
|
278 |
+
echo '<table>';
|
279 |
+
echo '<col class="wbcr-gnz-table__loaded"/>';
|
280 |
+
echo '<col class="wbcr-gnz-table__size"/>';
|
281 |
+
echo '<col class="wbcr-gnz-table__script"/>';
|
282 |
+
echo '<col class="wbcr-gnz-table__state"/>';
|
283 |
+
echo '<col class="wbcr-gnz-table__turn-on"/>';
|
284 |
+
|
285 |
+
foreach($resources as $resource_name => $types) {
|
286 |
+
$plugin_state = false;
|
287 |
+
|
288 |
+
if( 'plugins' == $resource_type && !empty($resource_name) ) {
|
289 |
+
$plugin_data = $this->getPluginData($resource_name);
|
290 |
+
|
291 |
+
echo '<tbody>';
|
292 |
+
|
293 |
+
if( !empty($plugin_data) ) {
|
294 |
+
$is_disabled = $this->getIsDisabled($options, $resource_type, $resource_name);
|
295 |
+
$disabled = $this->getDisabled($is_disabled, $options, $resource_type, $resource_name);
|
296 |
+
|
297 |
+
$is_enabled = $this->getIsEnabled($options, $resource_type, $resource_name);
|
298 |
+
$enabled = $this->getEnabled($is_enabled, $options, $resource_type, $resource_name);
|
299 |
+
|
300 |
+
$plugin_state = $this->getState($is_disabled, $disabled, $current_url);
|
301 |
+
$plugin_state = apply_filters('wbcr_gnz_get_plugin_state', false, $plugin_state);
|
302 |
+
|
303 |
+
echo '<tr class="wbcr-gnz-table__alternate">';
|
304 |
+
echo '<th style="width:5%">' . __('Loaded', 'gonzales') . '</th>';
|
305 |
+
echo '<th colspan="2">' . __('Plugin', 'gonzales') . '</th>';
|
306 |
+
|
307 |
+
echo apply_filters('wbcr_gnz_get_additional_head_columns', '');
|
308 |
+
|
309 |
+
echo '<th class="wbcr-gnz-table__column_switch"><b>' . __('Load resource?', 'gonzales') . '</b></th>';
|
310 |
+
echo '<th class="wbcr-gnz-table__column_condition">' . __('Conditions', 'gonzales') . '</th>';
|
311 |
+
echo '</tr>';
|
312 |
+
echo '<tr>';
|
313 |
+
echo '<td>';
|
314 |
+
echo '<div class="wbcr-gnz-table__loaded-state wbcr-gnz-table__loaded-' . ($plugin_state ? 'no' : 'yes') . ' wbcr-state"></div>';
|
315 |
+
echo '</td>';
|
316 |
+
echo '<td colspan="2" class="wbcr-gnz-table__item">';
|
317 |
+
echo '<div class="wbcr-gnz-table__item-name">' . $plugin_data['Name'] . '</div>';
|
318 |
+
echo '<div class="wbcr-gnz-table__item-author"><strong>' . __('Author', 'gonzales') . ':</strong> ' . $plugin_data['Author'] . '</div>';
|
319 |
+
echo '<div class="wbcr-gnz-table__item-version"><strong>' . __('Version', 'gonzales') . ':</strong> ' . $plugin_data['Version'] . '</div>';
|
320 |
+
echo '</td>';
|
321 |
+
|
322 |
+
echo apply_filters('wbcr_gnz_get_additional_controls_columns', '', $resource_type, $resource_name, $resource_name);
|
323 |
+
|
324 |
+
// State Controls
|
325 |
+
$id = '[' . $resource_type . '][' . $resource_name . ']';
|
326 |
+
echo $this->getStateControrlHTML($id, $plugin_state, $is_disabled, $is_enabled, $resource_type, $resource_name, $disabled, $enabled, $current_url);
|
327 |
+
echo '</tr>';
|
328 |
+
}
|
329 |
+
}
|
330 |
+
|
331 |
+
echo '<tr class="wbcr-gnz-table__alternate">';
|
332 |
+
echo '<th style="width:5%">' . __('Loaded', 'gonzales') . '</th>';
|
333 |
+
echo '<th style="width:5%">' . __('Size', 'gonzales') . '</th>';
|
334 |
+
echo '<th class="wgz-th">' . __('Resource', 'gonzales') . '</th>';
|
335 |
+
|
336 |
+
echo apply_filters('wbcr_gnz_get_additional_head_columns', '');
|
337 |
+
|
338 |
+
echo '<th class="wbcr-gnz-table__column_switch"><b>' . __('Load resource?', 'gonzales') . '</b></th>';
|
339 |
+
echo '<th class="wbcr-gnz-table__column_condition">' . __('Conditions', 'gonzales') . '</th>';
|
340 |
+
echo '</tr>';
|
341 |
+
|
342 |
+
foreach($types as $type_name => $rows) {
|
343 |
+
|
344 |
+
if( !empty($rows) ) {
|
345 |
+
foreach($rows as $handle => $row) {
|
346 |
+
$is_disabled = $this->getIsDisabled($options, $type_name, $handle);
|
347 |
+
$disabled = $this->getDisabled($is_disabled, $options, $type_name, $handle);
|
348 |
+
|
349 |
+
$is_enabled = $this->getIsEnabled($options, $type_name, $handle);
|
350 |
+
$enabled = $this->getEnabled($is_enabled, $options, $type_name, $handle);
|
351 |
+
|
352 |
+
/**
|
353 |
+
* Find dependency
|
354 |
+
*/
|
355 |
+
$deps = array();
|
356 |
+
foreach($rows as $dep_key => $dep_val) {
|
357 |
+
if( in_array($handle, $dep_val['deps']) /*&& $is_disabled*/ ) {
|
358 |
+
$deps[] = '<a href="#' . $type_name . '-' . $dep_key . '">' . $dep_key . '</a>';
|
359 |
+
}
|
360 |
}
|
361 |
+
|
362 |
+
$comment = (!empty($deps) ? '<span class="wbcr-use-by-comment">' . __('In use by', 'gonzales') . ' ' . implode(', ', $deps) . '</span>' : '');
|
363 |
+
$requires = '';
|
364 |
+
if( !empty($row['deps']) ) {
|
365 |
+
$rdeps = array();
|
366 |
+
foreach($row['deps'] as $dep_val) {
|
367 |
+
$rdeps[] = '<a href="#' . $type_name . '-' . $dep_val . '">' . $dep_val . '</a>';
|
|
|
368 |
}
|
369 |
+
$requires = ($comment ? '<br>' : '') . '<span class="wbcr-use-by-comment">' . __('Requires', 'gonzales') . ' ' . implode(', ', $rdeps) . '</span>';
|
|
|
370 |
}
|
371 |
+
|
372 |
+
echo '<tr>';
|
373 |
+
|
374 |
+
// Loaded
|
375 |
+
$state = $this->getState($is_disabled, $disabled, $current_url);
|
376 |
+
$display_state = $plugin_state === 1 ? 1 : $state;
|
377 |
+
echo '<td>';
|
378 |
+
echo '<div class="wbcr-gnz-table__loaded-state wbcr-gnz-table__loaded-' . ($plugin_state ? 'no' : 'yes');
|
379 |
+
echo ' wbcr-state' . ($state ? ' wbcr-gnz-table__loaded-super-no' : '');
|
380 |
+
echo ('plugins' == $resource_type ? ' wbcr-state-' . $resource_name : '') . '">';
|
381 |
+
echo '</div>';
|
382 |
+
echo '</td>';
|
383 |
+
|
384 |
+
// Size
|
385 |
+
echo '<td>';
|
386 |
+
echo '<div class="wbcr-gnz-table__size-value">' . $row['size'] . ' <b>KB</b></div>';
|
387 |
+
echo '</td>';
|
388 |
+
|
389 |
+
// Handle + Path + In use
|
390 |
+
echo '<td class="wgz-td">';
|
391 |
+
echo '<div class="wbcr-gnz-table__script-name"><b class="wbcr-wgz-resource-type-' . $type_name . '">' . $type_name . '</b>[' . $handle . ']</div>';
|
392 |
+
echo "<a id='" . $type_name . "-" . $handle . "' class='wbcr-anchor'></a>";
|
393 |
+
echo '<div class="wbcr-gnz-table__script-path">';
|
394 |
+
echo "<a href='" . $row['url_full'] . "' target='_blank'>";
|
395 |
+
echo str_replace(get_home_url(), '', $row['url_full']) . "</a>";
|
396 |
+
echo '</div>';
|
397 |
+
echo '<div class="wbcr-gnz-table__script-version">';
|
398 |
+
echo __('Version', 'gonzales') . ': ' . (!empty($row['ver']) ? $row['ver'] : __('--', 'gonzales'));
|
399 |
+
echo '</div>';
|
400 |
+
echo '<div>' . $comment . $requires . '</div>';
|
401 |
+
echo '</td>';
|
402 |
+
|
403 |
+
// Controls for other plugins
|
404 |
+
echo apply_filters('wbcr_gnz_get_additional_controls_columns', '', $type_name, $row['url_full'], $resource_name);
|
405 |
+
|
406 |
+
// State Controls
|
407 |
+
$id = '[' . $type_name . '][' . $handle . ']';
|
408 |
+
echo $this->getStateControrlHTML($id, $state, $is_disabled, $is_enabled, $type_name, $handle, $disabled, $enabled, $current_url);
|
409 |
+
|
410 |
+
echo "<input type='hidden' class='wbcr-info-data' data-type='{$type_name}' data-off='{$display_state}' value='{$row['size']}'>";
|
411 |
+
echo '</tr>';
|
412 |
+
|
413 |
+
echo apply_filters('wbcr_gnz_after_scripts_table_row', '', $resource_type, $resource_name, $type_name, $handle);
|
414 |
}
|
|
|
|
|
|
|
415 |
}
|
416 |
}
|
417 |
+
|
418 |
+
if( 'plugins' == $resource_type && !empty($resource_name) ) {
|
419 |
+
echo '</tbody>';
|
420 |
+
}
|
421 |
}
|
422 |
+
|
423 |
+
echo '</table>';
|
424 |
+
echo '</div>';
|
425 |
+
echo '</div>';
|
426 |
}
|
427 |
+
echo '</main>';
|
428 |
+
echo '</form> <!-- /endform -->';
|
429 |
+
echo '</div> <!-- /div2 -->';
|
430 |
+
}
|
431 |
+
|
432 |
+
/**
|
433 |
+
* Get is disabled
|
434 |
+
*
|
435 |
+
* @param $options
|
436 |
+
* @param $type_name
|
437 |
+
* @param $handle
|
438 |
+
*
|
439 |
+
* @return bool
|
440 |
+
*/
|
441 |
+
public function getIsDisabled($options, $type_name, $handle)
|
442 |
+
{
|
443 |
+
return isset($options['disabled']) && isset($options['disabled'][$type_name]) && isset($options['disabled'][$type_name][$handle]);
|
444 |
+
}
|
445 |
+
|
446 |
+
/**
|
447 |
+
* Get disabled
|
448 |
+
*
|
449 |
+
* @param $is_disabled
|
450 |
+
* @param $options
|
451 |
+
* @param $type_name
|
452 |
+
* @param $handle
|
453 |
+
*
|
454 |
+
* @return array
|
455 |
+
*/
|
456 |
+
public function getDisabled($is_disabled, $options, $type_name, $handle)
|
457 |
+
{
|
458 |
+
$disabled = array();
|
459 |
+
|
460 |
+
if( $is_disabled ) {
|
461 |
+
$disabled = &$options['disabled'][$type_name][$handle];
|
462 |
+
if( !isset($disabled['current']) ) {
|
463 |
+
$disabled['current'] = array();
|
464 |
+
}
|
465 |
+
if( !isset($disabled['everywhere']) ) {
|
466 |
+
$disabled['everywhere'] = array();
|
467 |
+
}
|
468 |
+
|
469 |
+
$disabled = apply_filters('wbcr_gnz_get_disabled', $disabled);
|
470 |
+
}
|
471 |
+
|
472 |
+
return $disabled;
|
473 |
+
}
|
474 |
+
|
475 |
+
/**
|
476 |
+
* Get is enabled
|
477 |
+
*
|
478 |
+
* @param $options
|
479 |
+
* @param $type_name
|
480 |
+
* @param $handle
|
481 |
+
*
|
482 |
+
* @return bool
|
483 |
+
*/
|
484 |
+
public function getIsEnabled($options, $type_name, $handle)
|
485 |
+
{
|
486 |
+
return isset($options['enabled']) && isset($options['enabled'][$type_name]) && isset($options['enabled'][$type_name][$handle]);
|
487 |
+
}
|
488 |
+
|
489 |
+
/**
|
490 |
+
* Get enabled
|
491 |
+
*
|
492 |
+
* @param $is_enabled
|
493 |
+
* @param $options
|
494 |
+
* @param $type_name
|
495 |
+
* @param $handle
|
496 |
+
*
|
497 |
+
* @return array
|
498 |
+
*/
|
499 |
+
public function getEnabled($is_enabled, $options, $type_name, $handle)
|
500 |
+
{
|
501 |
+
$enabled = array();
|
502 |
+
|
503 |
+
if( $is_enabled ) {
|
504 |
+
$enabled = &$options['enabled'][$type_name][$handle];
|
505 |
+
|
506 |
+
if( !isset($enabled['current']) ) {
|
507 |
+
$enabled['current'] = array();
|
508 |
+
}
|
509 |
+
if( !isset($enabled['everywhere']) ) {
|
510 |
+
$enabled['everywhere'] = array();
|
511 |
+
}
|
512 |
+
|
513 |
+
$enabled = apply_filters('wbcr_gnz_get_enabled', $enabled);
|
514 |
+
}
|
515 |
+
|
516 |
+
return $enabled;
|
517 |
+
}
|
518 |
+
|
519 |
+
/**
|
520 |
+
* Get State
|
521 |
+
*
|
522 |
+
* @param $is_disabled
|
523 |
+
* @param $disabled
|
524 |
+
* @param $current_url
|
525 |
+
*
|
526 |
+
* @return int
|
527 |
+
*/
|
528 |
+
public function getState($is_disabled, $disabled, $current_url)
|
529 |
+
{
|
530 |
+
$state = 0;
|
531 |
+
if( $is_disabled && ($disabled['everywhere'] == 1 || in_array($current_url, $disabled['current']) || apply_filters('wbcr_gnz_check_state_disabled', false, $disabled)) ) {
|
532 |
+
$state = 1;
|
533 |
+
}
|
534 |
+
|
535 |
+
return $state;
|
536 |
+
}
|
537 |
+
|
538 |
+
/**
|
539 |
+
* Get state controrl HTML
|
540 |
+
*
|
541 |
+
* @param $id
|
542 |
+
* @param $state
|
543 |
+
* @param $is_disabled
|
544 |
+
* @param $is_enabled
|
545 |
+
* @param $type_name
|
546 |
+
* @param $handle
|
547 |
+
* @param $disabled
|
548 |
+
* @param $enabled
|
549 |
+
* @param $current_url
|
550 |
+
*
|
551 |
+
* @return string
|
552 |
+
*/
|
553 |
+
public function getStateControrlHTML($id, $state, $is_disabled, $is_enabled, $type_name, $handle, $disabled, $enabled, $current_url)
|
554 |
+
{
|
555 |
+
// Disable
|
556 |
+
$html = '<td>';
|
557 |
+
$html .= '<label class="wbcr-gnz-switch' . ($type_name == 'plugins' ? apply_filters('wbcr_gnz_switch_premium', ' wbcr-gnz-switch-premium') : '') . '">';
|
558 |
+
$html .= '<input class="wbcr-gnz-switch__input visually-hidden' . apply_filters('wbcr_gnz_switch_plugin_premium', $type_name == 'plugins' ? '' : ' wbcr-gnz-disable') . '" type="checkbox"' . checked($state, true, false);
|
559 |
+
$html .= ('plugins' == $type_name ? " data-handle='{$handle}'" : "") . '/>';
|
560 |
+
$html .= '<input type="hidden" name="disabled' . $id . '[state]" value="' . ($state ? 'disable' : '') . '"/>';
|
561 |
+
$html .= '<span class="wbcr-gnz-switch__inner" data-off="' . __('No', 'gonzales') . '" data-on="' . __('Yes', 'gonzales') . '"></span>';
|
562 |
+
$html .= '<span class="wbcr-gnz-switch__slider"></span>';
|
563 |
+
$html .= '</label>';
|
564 |
+
$html .= '</td>';
|
565 |
+
|
566 |
+
// Enable
|
567 |
+
$class_name = 'wbcr-assets-manager-enable';
|
568 |
+
if( 'plugins' == $type_name ) {
|
569 |
+
$class_name = apply_filters('wbcr_gnz_control_classname', 'wbcr-gnz');
|
570 |
+
}
|
571 |
+
$html .= '<td>';
|
572 |
+
$html .= '<div class="wbcr-gnz-table__note ' . $class_name . '-placeholder"';
|
573 |
+
if( $state ) {
|
574 |
+
$html .= ' style="display: none;"';
|
575 |
+
}
|
576 |
+
if( 'plugins' != $type_name ) {
|
577 |
+
$html .= '><p>' . __('Click the switch in the <b>Load resource?</b> column to display the conditions for loading the resource.', 'gonzales') . '</p>';
|
578 |
+
} else {
|
579 |
+
$html .= '><p>' . apply_filters('wbcr_gnz_conditions_note_premium', __('Set the plugin logic to apply it to all plugin’s resources. This feature available at the paid version.', 'gonzales')) . '</p>';
|
580 |
+
}
|
581 |
+
$html .= '</div>';
|
582 |
+
$html .= '<span class="' . $class_name . '"';
|
583 |
+
if( !$state ) {
|
584 |
+
$html .= ' style="display: none;"';
|
585 |
+
}
|
586 |
+
$html .= '>';
|
587 |
+
$html .= '<select class="wbcr-gnz-table__select wbcr-gnz-action-select" name="wgz_action' . $id . '">';
|
588 |
+
$html .= '<option value="current"' . selected($is_disabled && !empty($disabled['current']), true, false) . '>' . __('Current URL', 'gonzales') . '</option>';
|
589 |
+
$html .= '<option value="everywhere"' . selected($is_disabled && !empty($disabled['everywhere']), true, false) . '>' . __('Everywhere', 'gonzales') . '</option>';
|
590 |
+
$options = '<option value="custom"' . selected($is_disabled && !empty($disabled['custom']), true, false) . ' class="wbcr-gnz-table__select-pro">' . __('Custom URL (PRO)', 'gonzales') . '</option>';
|
591 |
+
$options .= '<option value="regex"' . selected($is_disabled && !empty($disabled['regex']), true, false) . ' class="wbcr-gnz-table__select-pro">' . __('Regular expression (PRO)', 'gonzales') . '</option>';
|
592 |
+
$html .= apply_filters('wbcr_gnz_select_options', $options, $is_disabled, $disabled);
|
593 |
+
$html .= '</select>';
|
594 |
+
|
595 |
+
// Everywhere
|
596 |
+
$html .= "<span class='wbcr-assets-manager everywhere'";
|
597 |
+
if( !$is_disabled || empty($disabled['everywhere']) ) {
|
598 |
+
$html .= " style='display: none;'";
|
599 |
+
}
|
600 |
+
$html .= ">";
|
601 |
+
$html .= '<div class="wbcr-gnz-table__label">' . __('Exclude', 'gonzales') . ': <i class="wbcr-gnz-help-hint wbcr-gnz-tooltip wbcr-gnz-tooltip-bottom" data-tooltip="' . __('You can disable this resource for all pages, except sections and page types listed below. Specify sections and page types with the enabled resource.', 'gonzales') . '"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAUUlEQVQIHU3BsQ1AQABA0X/komIrnQHYwyhqQ1hBo9KZRKL9CBfeAwy2ri42JA4mPQ9rJ6OVt0BisFM3Po7qbEliru7m/FkY+TN64ZVxEzh4ndrMN7+Z+jXCAAAAAElFTkSuQmCC" alt=""></i></div>';
|
602 |
+
$html .= '<ul class="wbcr-gnz-table__options">';
|
603 |
+
|
604 |
+
$html .= '<li class="wbcr-gnz-table__options-item">';
|
605 |
+
$html .= "<input type='hidden' name='enabled{$id}[current]' value='' />";
|
606 |
+
$html .= '<label class="wbcr-gnz-table__checkbox">';
|
607 |
+
$html .= '<input class="wbcr-gnz-table__checkbox-input visually-hidden" type="checkbox" name="enabled' . $id . '[current]" value="' . $current_url . '"';
|
608 |
+
if( $is_enabled && in_array($current_url, $enabled['current']) ) {
|
609 |
+
$html .= ' checked';
|
610 |
+
}
|
611 |
+
$html .= '/>';
|
612 |
+
$html .= '<span class="wbcr-gnz-table__checkbox-text">' . __('Current URL', 'gonzales') . '</span>';
|
613 |
+
$html .= '</label>';
|
614 |
+
$html .= '</li>';
|
615 |
+
|
616 |
+
$post_types = get_post_types(array('public' => true), 'objects', 'and');
|
617 |
+
if( !empty($post_types) ) {
|
618 |
+
$html .= "<input type='hidden' name='enabled{$id}[post_types]' value='' />";
|
619 |
+
foreach($post_types as $key => $value) {
|
620 |
+
$html .= '<li class="wbcr-gnz-table__options-item">';
|
621 |
+
$html .= '<label class="wbcr-gnz-table__checkbox">';
|
622 |
+
$html .= '<input class="wbcr-gnz-table__checkbox-input visually-hidden" type="checkbox" name="enabled' . $id . '[post_types][]" value="' . $key . '"';
|
623 |
+
if( isset($enabled['post_types']) ) {
|
624 |
+
if( in_array($key, $enabled['post_types']) ) {
|
625 |
+
$html .= ' checked';
|
626 |
+
}
|
627 |
+
}
|
628 |
+
$html .= '/>';
|
629 |
+
$html .= '<span class="wbcr-gnz-table__checkbox-text">' . $value->label . '</span>';
|
630 |
+
$html .= '</label>';
|
631 |
+
$html .= '</li>';
|
632 |
+
}
|
633 |
+
}
|
634 |
+
|
635 |
+
$taxonomies = get_taxonomies(array('public' => true), 'objects', 'and');
|
636 |
+
|
637 |
+
if( !empty($taxonomies) ) {
|
638 |
+
unset($taxonomies['category']);
|
639 |
+
$html .= "<input type='hidden' name='enabled{$id}[taxonomies]' value='' />";
|
640 |
+
foreach($taxonomies as $key => $value) {
|
641 |
+
$html .= '<li class="wbcr-gnz-table__options-item">';
|
642 |
+
$html .= '<label class="wbcr-gnz-table__checkbox">';
|
643 |
+
$html .= '<input class="wbcr-gnz-table__checkbox-input visually-hidden" type="checkbox" name="enabled' . $id . '[taxonomies][]" value="' . $key . '"';
|
644 |
+
if( isset($enabled['taxonomies']) ) {
|
645 |
+
if( in_array($key, $enabled['taxonomies']) ) {
|
646 |
+
$html .= ' checked';
|
647 |
+
}
|
648 |
+
}
|
649 |
+
$html .= '/>';
|
650 |
+
$html .= '<span class="wbcr-gnz-table__checkbox-text">' . $value->label . '</span>';
|
651 |
+
$html .= '</label>';
|
652 |
+
$html .= '</li>';
|
653 |
+
}
|
654 |
+
}
|
655 |
+
|
656 |
+
$categories = get_categories();
|
657 |
+
|
658 |
+
if( !empty($categories) ) {
|
659 |
+
$html .= "<input type='hidden' name='enabled{$id}[categories]' value='' />";
|
660 |
+
foreach($categories as $key => $cat) {
|
661 |
+
$html .= '<li class="wbcr-gnz-table__options-item">';
|
662 |
+
$html .= '<label class="wbcr-gnz-table__checkbox">';
|
663 |
+
$html .= '<input class="wbcr-gnz-table__checkbox-input visually-hidden" type="checkbox" name="enabled' . $id . '[categories][]" value="' . $cat->term_id . '"';
|
664 |
+
if( isset($enabled['categories']) ) {
|
665 |
+
if( in_array($cat->term_id, $enabled['categories']) ) {
|
666 |
+
$html .= ' checked';
|
667 |
+
}
|
668 |
+
}
|
669 |
+
$html .= '/>';
|
670 |
+
$html .= '<span class="wbcr-gnz-table__checkbox-text">' . $cat->name . '</span>';
|
671 |
+
$html .= '</label>';
|
672 |
+
$html .= '</li>';
|
673 |
+
}
|
674 |
+
}
|
675 |
+
|
676 |
+
$html .= '</ul>';
|
677 |
+
$html .= '</span>';
|
678 |
+
|
679 |
+
// Custom URL
|
680 |
+
$control_html = '<div class="wbcr-gnz-table__field wbcr-assets-manager custom"';
|
681 |
+
if( !$is_disabled || empty($disabled['custom']) ) {
|
682 |
+
$control_html .= ' style="display: none;"';
|
683 |
+
}
|
684 |
+
$control_html .= '>';
|
685 |
+
$control_html .= '<label class="wbcr-gnz-table__label" for="disabled' . $id . '[custom][]" title="' . __('Example', 'gonzales') . ': ' . site_url() . '/post/*, ' . site_url() . '/page-*>">' . __('Enter URL (set * for mask)', 'gonzales') . ': <i class="wbcr-gnz-help-hint wbcr-gnz-tooltip wbcr-gnz-tooltip-bottom" data-tooltip="' . __('You can disable the resource only for the pages with the matched to the template address. For example, if you set the template for the link as http://yoursite.test/profile/*, then the resource is disabled for the following pages: http://yoursite.test/profile/12, http://yoursite.test/profile/43, http://yoursite.test/profile/999. If you don’t use the asterisk symbol in the template then the plugin will disable the resource only for the pages with 100% match in the specified link type. This feature is available at the paid version.', 'gonzales') . '"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAUUlEQVQIHU3BsQ1AQABA0X/komIrnQHYwyhqQ1hBo9KZRKL9CBfeAwy2ri42JA4mPQ9rJ6OVt0BisFM3Po7qbEliru7m/FkY+TN64ZVxEzh4ndrMN7+Z+jXCAAAAAElFTkSuQmCC" alt=""></i></label>';
|
686 |
+
$control_html .= '<div class="wbcr-gnz-table__field-item">';
|
687 |
+
$control_html .= '<input class="wbcr-gnz-table__field-input" name="disabled' . $id . '[custom][]" type="text" placeholder="http://yoursite.test/profile/*" value="" disabled="disabled">';
|
688 |
+
$control_html .= '<button class="wbcr-gnz-table__field-add" type="button" aria-label="' . __('Add field', 'gonzales') . '" disabled></button>';
|
689 |
+
$control_html .= '</div>';
|
690 |
+
//$control_html .= '<em>Пример: http://yoursite.test/profile/*</em>';
|
691 |
+
$control_html .= '</div>';
|
692 |
+
// Regex
|
693 |
+
$control_html .= "<div class='wbcr-gnz-table__field wbcr-assets-manager regex'";
|
694 |
+
if( !$is_disabled || empty($disabled['regex']) ) {
|
695 |
+
$control_html .= " style='display: none;'";
|
696 |
+
}
|
697 |
+
$control_html .= ">";
|
698 |
+
$control_html .= '<label class="wbcr-gnz-table__label" for="disabled' . $id . '[regex]">' . __('Enter regular expression', 'gonzales') . ': <i class="wbcr-gnz-help-hint wbcr-gnz-tooltip wbcr-gnz-tooltip-bottom" data-tooltip="' . __('Regular expressions can be used by experts. This tool creates flexible conditions to disable the resource. For example, if you specify this expression: ^([A-z0-9]+-)?gifts? then the resource will be disabled at the following pages http://yoursite.test/get-gift/, http://yoursite.test/gift/, http://yoursite.test/get-gifts/, http://yoursite.test/gifts/. The plugin ignores the backslash at the beginning of the query string, so you can dismiss it. Check your regular expressions in here: https://regex101.com, this will prevent you from the mistakes. This feature is available at the paid version.', 'gonzales') . '"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAUUlEQVQIHU3BsQ1AQABA0X/komIrnQHYwyhqQ1hBo9KZRKL9CBfeAwy2ri42JA4mPQ9rJ6OVt0BisFM3Po7qbEliru7m/FkY+TN64ZVxEzh4ndrMN7+Z+jXCAAAAAElFTkSuQmCC" alt=""></i></label>';
|
699 |
+
$control_html .= '<textarea class="wbcr-gnz-table__textarea" rows="3" name="disabled' . $id . '[regex]" placeholder="^rockstar-[0-9]{2,5}" disabled="disabled"></textarea>';
|
700 |
+
$control_html .= "</div>";
|
701 |
+
$html .= apply_filters('wbcr_gnz_control_html', $control_html, $id, $is_disabled, $disabled);
|
702 |
+
|
703 |
+
$html .= '</span>';
|
704 |
+
|
705 |
+
if( isset($disabled['current']) && !empty($disabled['current'])
|
706 |
+
) {
|
707 |
+
$custom_urls = "";
|
708 |
+
|
709 |
+
foreach($disabled['current'] as $item_url) {
|
710 |
+
if( $current_url != $item_url ) {
|
711 |
+
$full_url = site_url() . $item_url;
|
712 |
+
$custom_urls .= "<span><a href='" . $full_url . "'>" . $full_url . "</a></span>";
|
713 |
+
}
|
714 |
+
}
|
715 |
+
|
716 |
+
if( !empty($custom_urls) ) {
|
717 |
+
$html .= '<div class="wbcr-gnz-table__also">';
|
718 |
+
$html .= '<div class="wbcr-gnz-table__label">' . __('Also disabled for pages', 'gonzales') . ':</div>';
|
719 |
+
$html .= '<div class="wbcr-gnz-table__also-url">' . $custom_urls . '</div>';
|
720 |
+
$html .= '</div>';
|
721 |
+
}
|
722 |
+
}
|
723 |
+
$html .= '</td>';
|
724 |
+
|
725 |
+
return $html;
|
726 |
}
|
727 |
|
728 |
public function formSave()
|
729 |
{
|
730 |
if( isset($_GET['wbcr_assets_manager']) && isset($_POST['wbcr_assets_manager_save']) ) {
|
731 |
+
|
732 |
+
if( !$this->isUserCan() || !wp_verify_nonce(filter_input(INPUT_POST, 'wbcr_assets_manager_save'), 'wbcr_assets_manager_nonce') ) {
|
733 |
+
wp_die(__('You don\'t have enough capability to edit this information.', 'gonzales'), 403);
|
734 |
+
|
735 |
+
return;
|
736 |
}
|
737 |
+
|
738 |
+
// todo: вынести в метод
|
739 |
+
if( is_multisite() && is_network_admin() ) {
|
740 |
+
$options = $this->getNetworkOption('assets_manager_options', array());
|
741 |
+
} else {
|
742 |
+
$options = $this->getOption('assets_manager_options', array());
|
743 |
+
}
|
744 |
+
|
745 |
$current_url = esc_url($this->getCurrentUrl());
|
746 |
+
|
747 |
if( isset($_POST['disabled']) && !empty($_POST['disabled']) ) {
|
748 |
foreach($_POST['disabled'] as $type => $assets) {
|
749 |
if( !empty($assets) ) {
|
750 |
foreach($assets as $handle => $where) {
|
|
|
751 |
$handle = sanitize_text_field($handle);
|
752 |
+
$where = sanitize_text_field($where['state']);
|
753 |
|
754 |
if( !isset($options['disabled'][$type][$handle]) ) {
|
755 |
$options['disabled'][$type][$handle] = array();
|
756 |
}
|
757 |
$disabled = &$options['disabled'][$type][$handle];
|
758 |
|
759 |
+
if( !empty($where) && 'disable' == $where ) {
|
760 |
+
$action = isset($_POST['wgz_action'][$type][$handle]) ? $_POST['wgz_action'][$type][$handle] : '';
|
761 |
+
|
762 |
+
if( "everywhere" == $action ) {
|
763 |
+
$disabled = apply_filters('wbcr_gnz_unset_disabled', $disabled, $action);
|
764 |
+
|
765 |
$disabled['everywhere'] = 1;
|
766 |
+
} elseif( "current" == $action ) {
|
767 |
+
$disabled = apply_filters('wbcr_gnz_unset_disabled', $disabled, $action);
|
|
|
|
|
|
|
|
|
|
|
768 |
|
769 |
if( !isset($disabled['current']) || !is_array($disabled['current']) ) {
|
770 |
$disabled['current'] = array();
|
773 |
if( !in_array($current_url, $disabled['current']) ) {
|
774 |
array_push($disabled['current'], $current_url);
|
775 |
}
|
776 |
+
} else {
|
777 |
+
$post_value = isset($_POST['disabled'][$type][$handle]) ? $_POST['disabled'][$type][$handle] : null;
|
778 |
+
$disabled = apply_filters('wbcr_gnz_pre_save_disabled', $disabled, $action, $post_value);
|
779 |
}
|
780 |
} else {
|
781 |
+
$disabled = apply_filters('wbcr_gnz_unset_disabled', $disabled, 'current');
|
782 |
|
783 |
if( isset($disabled['current']) ) {
|
784 |
$current_key = array_search($current_url, $disabled['current']);
|
815 |
$options['enabled'][$type][$handle] = array();
|
816 |
}
|
817 |
$enabled = &$options['enabled'][$type][$handle];
|
818 |
+
|
819 |
+
$action = isset($_POST['wgz_action'][$type][$handle]) ? $_POST['wgz_action'][$type][$handle] : '';
|
820 |
|
821 |
+
if( "everywhere" == $action && (!empty($where['current']) || $where['current'] === "0")
|
822 |
+
) {
|
823 |
if( !isset($enabled['current']) || !is_array($enabled['current']) ) {
|
824 |
$enabled['current'] = array();
|
825 |
}
|
838 |
}
|
839 |
}
|
840 |
|
841 |
+
if( "everywhere" == $action && !empty($where['post_types']) ) {
|
842 |
$enabled['post_types'] = array();
|
843 |
foreach($where['post_types'] as $key => $post_type) {
|
844 |
if( isset($enabled['post_types']) ) {
|
850 |
} else {
|
851 |
unset($enabled['post_types']);
|
852 |
}
|
853 |
+
|
854 |
+
if( "everywhere" == $action && !empty($where['taxonomies']) ) {
|
855 |
+
$enabled['taxonomies'] = array();
|
856 |
+
foreach($where['taxonomies'] as $key => $taxonomy) {
|
857 |
+
if( isset($enabled['taxonomies']) ) {
|
858 |
+
if( !in_array($taxonomy, $enabled['taxonomies']) ) {
|
859 |
+
array_push($enabled['taxonomies'], $taxonomy);
|
860 |
+
}
|
861 |
+
}
|
862 |
+
}
|
863 |
+
} else {
|
864 |
+
unset($enabled['taxonomies']);
|
865 |
+
}
|
866 |
+
|
867 |
+
if( "everywhere" == $action && !empty($where['categories']) ) {
|
868 |
+
$enabled['categories'] = array();
|
869 |
+
foreach($where['categories'] as $key => $category) {
|
870 |
+
if( isset($enabled['categories']) ) {
|
871 |
+
if( !in_array($category, $enabled['categories']) ) {
|
872 |
+
array_push($enabled['categories'], $category);
|
873 |
+
}
|
874 |
+
}
|
875 |
+
}
|
876 |
+
} else {
|
877 |
+
unset($enabled['categories']);
|
878 |
+
}
|
879 |
|
880 |
if( empty($enabled) ) {
|
881 |
unset($options['enabled'][$type][$handle]);
|
891 |
}
|
892 |
}
|
893 |
|
894 |
+
do_action('wbcr_gnz_form_save');
|
895 |
|
896 |
+
if( is_multisite() && is_network_admin() ) {
|
897 |
+
$this->updateNetworkOption('assets_manager_options', $options);
|
898 |
+
} else {
|
899 |
+
$this->updateOption('assets_manager_options', $options);
|
|
|
|
|
|
|
|
|
|
|
900 |
}
|
901 |
+
|
902 |
+
WbcrFactoryClearfy206_Helpers::flushPageCache();
|
903 |
}
|
904 |
}
|
905 |
+
|
906 |
+
/**
|
907 |
+
* Get disabled from options
|
908 |
+
*
|
909 |
+
* @param $type
|
910 |
+
* @param $handle
|
911 |
+
*
|
912 |
+
* @return null
|
913 |
+
*/
|
914 |
+
private function getDisabledFromOptions($type, $handle)
|
915 |
{
|
916 |
+
// todo: вынести в метод
|
917 |
+
if( is_multisite() && is_network_admin() ) {
|
918 |
+
$options = $this->getNetworkOption('assets_manager_options', array());
|
919 |
+
} else {
|
920 |
+
$options = $this->getOption('assets_manager_options', array());
|
921 |
+
}
|
922 |
+
|
923 |
+
$results = apply_filters('wbcr_gnz_get_disabled_from_options', false, $options, $type, $handle);
|
924 |
+
if( false !== $results ) {
|
925 |
+
return $results;
|
926 |
+
}
|
927 |
+
|
928 |
if( isset($options['disabled']) && isset($options['disabled'][$type]) && isset($options['disabled'][$type][$handle]) ) {
|
929 |
+
return $options['disabled'][$type][$handle];
|
930 |
}
|
931 |
+
|
932 |
+
return null;
|
933 |
+
}
|
934 |
+
|
935 |
+
/**
|
936 |
+
* Get enabled from options
|
937 |
+
*
|
938 |
+
* @param $type
|
939 |
+
* @param $handle
|
940 |
+
*
|
941 |
+
* @return null
|
942 |
+
*/
|
943 |
+
private function getEnabledFromOptions($type, $handle)
|
944 |
+
{
|
945 |
+
// todo: вынести в метод
|
946 |
+
if( is_multisite() && is_network_admin() ) {
|
947 |
+
$options = $this->getNetworkOption('assets_manager_options', array());
|
948 |
+
} else {
|
949 |
+
$options = $this->getOption('assets_manager_options', array());
|
950 |
+
}
|
951 |
+
|
952 |
+
$results = apply_filters('wbcr_gnz_get_enabled_from_options', false, $options, $type, $handle);
|
953 |
+
if( false !== $results ) {
|
954 |
+
return $results;
|
955 |
+
}
|
956 |
+
|
957 |
if( isset($options['enabled']) && isset($options['enabled'][$type]) && isset($options['enabled'][$type][$handle]) ) {
|
958 |
+
return $options['enabled'][$type][$handle];
|
959 |
}
|
960 |
+
|
961 |
+
return null;
|
962 |
+
}
|
963 |
+
|
964 |
+
function unloadAssets($src, $handle)
|
965 |
+
{
|
966 |
+
if( isset($_GET['wbcr_assets_manager']) ) {
|
967 |
+
return $src;
|
968 |
+
}
|
969 |
+
|
970 |
+
if( apply_filters('wbcr_gnz_check_unload_assets', false) ) {
|
971 |
+
return $src;
|
972 |
+
}
|
973 |
+
|
974 |
+
$type = (current_filter() == 'script_loader_src') ? 'js' : 'css';
|
975 |
+
|
976 |
+
$current_url = esc_url($this->getCurrentUrl());
|
977 |
+
|
978 |
+
$disabled = $this->getDisabledFromOptions($type, $handle);
|
979 |
+
$enabled = $this->getEnabledFromOptions($type, $handle);
|
980 |
+
|
981 |
+
if( (isset($disabled['everywhere']) && $disabled['everywhere'] == 1) || (isset($disabled['current']) && is_array($disabled['current']) && in_array($current_url, $disabled['current'])) || apply_filters('wbcr_gnz_check_disabled_is_set', false, $disabled, $current_url) ) {
|
982 |
+
|
983 |
if( isset($enabled['current']) && is_array($enabled['current']) && in_array($current_url, $enabled['current']) ) {
|
984 |
return $src;
|
985 |
}
|
986 |
+
|
987 |
+
if( apply_filters('wbcr_gnz_check_unload_disabled', false, $disabled, $current_url) ) {
|
988 |
+
return $src;
|
|
|
|
|
|
|
|
|
|
|
|
|
989 |
}
|
990 |
+
|
991 |
+
if( isset($enabled['post_types']) && is_singular() && in_array(get_post_type(), $enabled['post_types']) ) {
|
992 |
return $src;
|
993 |
}
|
994 |
+
|
995 |
+
if( isset($enabled['taxonomies']) && in_array(get_queried_object()->taxonomy, $enabled['taxonomies']) ) {
|
996 |
+
return $src;
|
997 |
+
}
|
998 |
+
|
999 |
+
if( isset($enabled['categories']) && in_array(get_query_var('cat'), $enabled['categories']) ) {
|
1000 |
+
return $src;
|
1001 |
+
}
|
1002 |
+
|
1003 |
return false;
|
1004 |
}
|
1005 |
|
1013 |
*/
|
1014 |
public function collectAssets()
|
1015 |
{
|
1016 |
+
if( !isset($_GET['wbcr_assets_manager']) || (defined('DOING_AJAX') && DOING_AJAX) ) {
|
1017 |
+
return false;
|
1018 |
+
}
|
1019 |
+
|
1020 |
$denied = array(
|
1021 |
+
'js' => array('wbcr-assets-manager', 'admin-bar'),
|
1022 |
+
'css' => array('wbcr-assets-manager', 'admin-bar', 'dashicons'),
|
1023 |
);
|
1024 |
+
$denied = apply_filters('wbcr_gnz_denied_assets', $denied);
|
1025 |
+
|
1026 |
/**
|
1027 |
* Imitate full untouched list without dequeued assets
|
1028 |
* Appends part of original table. Safe approach.
|
1031 |
'js' => wp_scripts(),
|
1032 |
'css' => wp_styles(),
|
1033 |
);
|
1034 |
+
|
1035 |
foreach($data_assets as $type => $data) {
|
1036 |
+
//$resource = array();
|
1037 |
+
foreach($data->groups as $el => $val) {
|
1038 |
+
if( isset($data->registered[$el]) ) {
|
1039 |
+
//foreach($resource as $el) {
|
1040 |
+
if( !in_array($el, $denied[$type]) ) {
|
1041 |
+
if( isset($data->registered[$el]->src) ) {
|
1042 |
+
$url = $this->prepareCorrectUrl($data->registered[$el]->src);
|
1043 |
+
$url_short = str_replace(get_home_url(), '', $url);
|
1044 |
+
|
1045 |
+
if( false !== strpos($url, get_theme_root_uri()) ) {
|
1046 |
+
$resource_type = 'theme';
|
1047 |
+
} elseif( false !== strpos($url, plugins_url()) ) {
|
1048 |
+
$resource_type = 'plugins';
|
1049 |
+
} else {
|
1050 |
+
$resource_type = 'misc';
|
1051 |
+
}
|
1052 |
+
|
1053 |
+
$resource_name = '';
|
1054 |
+
if( 'plugins' == $resource_type ) {
|
1055 |
+
$clean_url = str_replace(WP_PLUGIN_URL . '/', '', $url);
|
1056 |
+
$url_parts = explode('/', $clean_url);
|
1057 |
+
$resource_name = isset($url_parts[0]) ? $url_parts[0] : '';
|
1058 |
+
}
|
1059 |
+
|
1060 |
+
$this->collection[$resource_type][$resource_name][$type][$el] = array(
|
1061 |
+
'url_full' => $url,
|
1062 |
+
'url_short' => $url_short,
|
1063 |
+
//'state' => $this->get_visibility($type, $el),
|
1064 |
+
'size' => $this->getAssetSize($url),
|
1065 |
+
'ver' => $data->registered[$el]->ver,
|
1066 |
+
'deps' => (isset($data->registered[$el]->deps) ? $data->registered[$el]->deps : array()),
|
1067 |
+
);
|
1068 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1069 |
}
|
1070 |
+
//}
|
1071 |
}
|
1072 |
}
|
1073 |
}
|
1074 |
+
|
1075 |
return false;
|
1076 |
}
|
1077 |
+
|
1078 |
/**
|
1079 |
* Loads functionality that allows to enable/disable js/css without site reload
|
1080 |
*/
|
1081 |
public function appendAsset()
|
1082 |
{
|
1083 |
+
if( $this->isUserCan() && isset($_GET['wbcr_assets_manager']) ) {
|
1084 |
wp_enqueue_style('wbcr-assets-manager', WGZ_PLUGIN_URL . '/assets/css/assets-manager.css', array(), $this->plugin->getPluginVersion());
|
1085 |
+
wp_enqueue_script('wbcr-assets-manager', WGZ_PLUGIN_URL . '/assets/js/assets-manager.js', array('jquery'), $this->plugin->getPluginVersion(), true);
|
1086 |
}
|
1087 |
}
|
1088 |
+
|
|
|
1089 |
/**
|
1090 |
* Exception for address starting from "//example.com" instead of
|
1091 |
* "http://example.com". WooCommerce likes such a format
|
1096 |
private function prepareCorrectUrl($url)
|
1097 |
{
|
1098 |
if( isset($url[0]) && isset($url[1]) && '/' == $url[0] && '/' == $url[1] ) {
|
1099 |
+
$out = (is_ssl() ? 'https:' : 'http:') . $url;
|
|
|
|
|
1100 |
} else {
|
1101 |
$out = $url;
|
1102 |
}
|
1121 |
return $out;
|
1122 |
}
|
1123 |
|
|
|
1124 |
/**
|
1125 |
* Checks how heavy is file
|
1126 |
*
|
1127 |
* @param string $src URL.
|
1128 |
+
* @return int Size in KB.
|
1129 |
*/
|
1130 |
private function getAssetSize($src)
|
1131 |
{
|
1146 |
|
1147 |
return $weight;
|
1148 |
}
|
1149 |
+
|
1150 |
+
/**
|
1151 |
+
* Unset disabled
|
1152 |
+
*
|
1153 |
+
* @param $disabled
|
1154 |
+
* @param $action
|
1155 |
+
*
|
1156 |
+
* @return mixed
|
1157 |
+
*/
|
1158 |
+
public function unsetDisabled($disabled, $action)
|
1159 |
+
{
|
1160 |
+
if( "everywhere" == $action ) {
|
1161 |
+
unset($disabled['current']);
|
1162 |
+
} elseif( "current" == $action ) {
|
1163 |
+
unset($disabled['everywhere']);
|
1164 |
+
}
|
1165 |
+
|
1166 |
+
return $disabled;
|
1167 |
+
}
|
1168 |
+
|
1169 |
+
/**
|
1170 |
+
* Get plugin data from folder name
|
1171 |
+
*
|
1172 |
+
* @param $name
|
1173 |
+
*
|
1174 |
+
* @return array
|
1175 |
+
*/
|
1176 |
+
private function getPluginData($name)
|
1177 |
+
{
|
1178 |
+
$data = array();
|
1179 |
+
|
1180 |
+
if( $name ) {
|
1181 |
+
if( !function_exists('get_plugins') ) {
|
1182 |
+
// подключим файл с функцией get_plugins()
|
1183 |
+
require_once ABSPATH . 'wp-admin/includes/plugin.php';
|
1184 |
+
}
|
1185 |
+
$all_plugins = get_plugins();
|
1186 |
+
if( !empty($all_plugins) ) {
|
1187 |
+
foreach($all_plugins as $plugin_path => $plugin_data) {
|
1188 |
+
if( strpos($plugin_path, $name . '/') !== false ) {
|
1189 |
+
$data = $plugin_data;
|
1190 |
+
$data['path'] = $plugin_path;
|
1191 |
+
break;
|
1192 |
+
}
|
1193 |
+
}
|
1194 |
+
}
|
1195 |
+
}
|
1196 |
+
|
1197 |
+
return $data;
|
1198 |
+
}
|
1199 |
+
|
1200 |
+
/**
|
1201 |
+
* Get sided plugin name
|
1202 |
+
*
|
1203 |
+
* @param string $index
|
1204 |
+
*
|
1205 |
+
* @return string
|
1206 |
+
*/
|
1207 |
+
private function getSidedPluginName($index)
|
1208 |
+
{
|
1209 |
+
return $index;
|
1210 |
+
/*if( isset($this->sided_plugins[$index]) ) {
|
1211 |
+
$parts = explode('/', $this->sided_plugins[$index]);
|
1212 |
+
|
1213 |
+
return isset($parts[0]) ? $parts[0] : $this->sided_plugins[$index];
|
1214 |
+
}
|
1215 |
+
|
1216 |
+
return "";*/
|
1217 |
+
}
|
1218 |
+
|
1219 |
+
/**
|
1220 |
+
* Get exclude sided plugin files
|
1221 |
+
*
|
1222 |
+
* @param string $index
|
1223 |
+
* @param string $type
|
1224 |
+
* @param bool $full
|
1225 |
+
*
|
1226 |
+
* @return array
|
1227 |
+
*/
|
1228 |
+
private function getSidedPluginFiles($index, $type, $full = false)
|
1229 |
+
{
|
1230 |
+
if( isset($this->sided_plugin_files[$index][$type]) && !empty($this->sided_plugin_files[$index][$type]) ) {
|
1231 |
+
return $this->sided_plugin_files[$index][$type];
|
1232 |
+
}
|
1233 |
+
|
1234 |
+
$this->sided_plugin_files[$index][$type] = array();
|
1235 |
+
|
1236 |
+
// todo: вынести в метод
|
1237 |
+
if( is_multisite() && is_network_admin() ) {
|
1238 |
+
$options = $this->getNetworkOption('assets_manager_sided_plugins', array());
|
1239 |
+
} else {
|
1240 |
+
$options = $this->getOption('assets_manager_sided_plugins', array());
|
1241 |
+
}
|
1242 |
+
|
1243 |
+
$plugin = $this->getSidedPluginName($index);
|
1244 |
+
|
1245 |
+
if( $plugin && $options ) {
|
1246 |
+
if( isset($options[$plugin][$type]) ) {
|
1247 |
+
$urls = $options[$plugin][$type];
|
1248 |
+
|
1249 |
+
if( is_array($urls) ) {
|
1250 |
+
foreach($urls as $url) {
|
1251 |
+
|
1252 |
+
if( $full ) {
|
1253 |
+
$file = (false !== strpos($url, site_url()) ? $url : site_url() . '/' . trim($url, '/\\'));
|
1254 |
+
} else {
|
1255 |
+
$parts = explode('/', $url);
|
1256 |
+
$file = array_pop($parts);
|
1257 |
+
if( empty($file) ) {
|
1258 |
+
$file = $url;
|
1259 |
+
}
|
1260 |
+
}
|
1261 |
+
|
1262 |
+
$this->sided_plugin_files[$index][$type][] = $file;
|
1263 |
+
}
|
1264 |
+
}
|
1265 |
+
}
|
1266 |
+
}
|
1267 |
+
|
1268 |
+
return $this->sided_plugin_files[$index][$type];
|
1269 |
+
}
|
1270 |
+
|
1271 |
+
/**
|
1272 |
+
* Is component active
|
1273 |
+
*
|
1274 |
+
* @param $index
|
1275 |
+
*
|
1276 |
+
* @return bool
|
1277 |
+
*/
|
1278 |
+
private function isComponentActive($index)
|
1279 |
+
{
|
1280 |
+
include_once(ABSPATH . 'wp-admin/includes/plugin.php');
|
1281 |
+
|
1282 |
+
$plugin_path = isset($this->sided_plugins[$index]) ? $this->sided_plugins[$index] : null;
|
1283 |
+
|
1284 |
+
if( $index == 'wmac' && defined('LOADING_ASSETS_MANAGER_AS_ADDON') && class_exists('WCL_Plugin') ) {
|
1285 |
+
return WCL_Plugin::app()->isActivateComponent('minify_and_combine');
|
1286 |
+
}
|
1287 |
+
|
1288 |
+
return is_plugin_active($plugin_path);
|
1289 |
+
}
|
1290 |
+
|
1291 |
+
/**
|
1292 |
+
* Get component name
|
1293 |
+
*
|
1294 |
+
* @param $plugin_path
|
1295 |
+
* @param $index
|
1296 |
+
*
|
1297 |
+
* @return string
|
1298 |
+
*/
|
1299 |
+
private function getComponentName($plugin_path, $index)
|
1300 |
+
{
|
1301 |
+
if( $index == 'wclp' ) {
|
1302 |
+
$name = 'Clearfy';
|
1303 |
+
} else if( $index == 'wmac' ) {
|
1304 |
+
$name = __('Minify and Combine', 'gonzales');
|
1305 |
+
} else {
|
1306 |
+
$data = get_plugin_data(WP_PLUGIN_DIR . '/' . $plugin_path);
|
1307 |
+
$name = $data['Name'];
|
1308 |
+
}
|
1309 |
+
|
1310 |
+
return $name;
|
1311 |
+
}
|
1312 |
+
|
1313 |
+
/**
|
1314 |
+
* Get head columns
|
1315 |
+
*
|
1316 |
+
* @param string $html
|
1317 |
+
*
|
1318 |
+
* @return string
|
1319 |
+
*/
|
1320 |
+
public function getAdditionalHeadColumns($html)
|
1321 |
+
{
|
1322 |
+
if( !empty($this->sided_plugins) ) {
|
1323 |
+
foreach($this->sided_plugins as $index => $plugin_path) {
|
1324 |
+
if( $this->isComponentActive($index) ) {
|
1325 |
+
$title = $this->getComponentName($plugin_path, $index);
|
1326 |
+
$text = $index == 'wclp' ? __('remove version?', 'gonzales') : __('optimize?', 'gonzales');
|
1327 |
+
|
1328 |
+
$hint = '';
|
1329 |
+
if( $index == 'wclp' ) {
|
1330 |
+
$hint = __('You’ve enabled "Remove query strings" from static resources in the "Clearfy" plugin. This list of settings helps you to exclude the necessary scripts and styles with remaining query strings. Press No to add a file to the excluded list.', 'gonzales');
|
1331 |
+
} else if( $index == 'wmac' ) {
|
1332 |
+
$hint = __('You’ve enabled the "Optimize js scripts?" and "Optimize CSS options" in the "Minify & Combine plugin". These settings exclude scripts and styles that you don’t want to optimize. Press No to add a file to the excluded list.', 'gonzales');
|
1333 |
+
} else if( $index == 'aopt' ) {
|
1334 |
+
$hint = __('You’ve enabled the "Optimize js scripts?" and "Optimize CSS options" in the "Autoptimize". These settings exclude scripts and styles that you don’t want to optimize. Press No to add a file to the excluded list.', 'gonzales');
|
1335 |
+
}
|
1336 |
+
$html .= '<th class="wbcr-gnz-table__column_switch"><span class="wbcr-gnz-table__th-external-plugin">' . $title . ':<i class="wbcr-gnz-help-hint wbcr-gnz-tooltip wbcr-gnz-tooltip-bottom" data-tooltip="' . $hint . '."><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAUUlEQVQIHU3BsQ1AQABA0X/komIrnQHYwyhqQ1hBo9KZRKL9CBfeAwy2ri42JA4mPQ9rJ6OVt0BisFM3Po7qbEliru7m/FkY+TN64ZVxEzh4ndrMN7+Z+jXCAAAAAElFTkSuQmCC" alt=""></i></span><em>' . $text . '</em></th>';
|
1337 |
+
}
|
1338 |
+
}
|
1339 |
+
}
|
1340 |
+
|
1341 |
+
return $html;
|
1342 |
+
}
|
1343 |
+
|
1344 |
+
/**
|
1345 |
+
* Get active status for sided plugin
|
1346 |
+
*
|
1347 |
+
* @param $index
|
1348 |
+
* @param $options
|
1349 |
+
* @param $plugin
|
1350 |
+
* @param $type
|
1351 |
+
* @param $handle
|
1352 |
+
*
|
1353 |
+
* @return bool
|
1354 |
+
*/
|
1355 |
+
private function getActiveStatusForSidedPlugin($index, $options, $plugin, $type, $handle)
|
1356 |
+
{
|
1357 |
+
$active = isset($options[$plugin][$type]) && is_array($options[$plugin][$type]) && in_array($handle, $options[$plugin][$type]);
|
1358 |
+
|
1359 |
+
/*if( !$active && !isset($options[$plugin]) ) {
|
1360 |
+
|
1361 |
+
switch( $index ) {
|
1362 |
+
case 'wclp':
|
1363 |
+
if( class_exists('WCL_Plugin') ) {
|
1364 |
+
if( 'plugins' == $type ) {
|
1365 |
+
$active = WCL_Plugin::app()->getPopulateOption('remove_js_version', false);
|
1366 |
+
if( !$active ) {
|
1367 |
+
$active = WCL_Plugin::app()->getPopulateOption('remove_css_version', false);
|
1368 |
+
}
|
1369 |
+
} else {
|
1370 |
+
$active = WCL_Plugin::app()->getPopulateOption('remove_' . $type . '_version', false);
|
1371 |
+
}
|
1372 |
+
}
|
1373 |
+
break;
|
1374 |
+
}
|
1375 |
+
}*/
|
1376 |
+
|
1377 |
+
return $active;
|
1378 |
+
}
|
1379 |
+
|
1380 |
+
/**
|
1381 |
+
* Get controls columns
|
1382 |
+
*
|
1383 |
+
* @param string $html
|
1384 |
+
* @param string $type
|
1385 |
+
* @param string $handle
|
1386 |
+
* @param string $plugin_handle
|
1387 |
+
*
|
1388 |
+
* @return string
|
1389 |
+
*/
|
1390 |
+
public function getAdditionalControlsColumns($html, $type, $handle, $plugin_handle)
|
1391 |
+
{
|
1392 |
+
if( !empty($this->sided_plugins) ) {
|
1393 |
+
|
1394 |
+
// todo: вынести в метод
|
1395 |
+
if( is_multisite() && is_network_admin() ) {
|
1396 |
+
$options = $this->getNetworkOption('assets_manager_sided_plugins', array());
|
1397 |
+
} else {
|
1398 |
+
$options = $this->getOption('assets_manager_sided_plugins', array());
|
1399 |
+
}
|
1400 |
+
|
1401 |
+
foreach($this->sided_plugins as $index => $plugin_path) {
|
1402 |
+
if( $this->isComponentActive($index) ) {
|
1403 |
+
$plugin = $this->getSidedPluginName($index);
|
1404 |
+
|
1405 |
+
$active = $this->getActiveStatusForSidedPlugin($index, $options, $plugin, $type, $handle);
|
1406 |
+
$name = "sided_plugins[{$plugin}][{$type}][{$handle}]";
|
1407 |
+
|
1408 |
+
$html .= "<td>";
|
1409 |
+
|
1410 |
+
if( !empty($handle) && ('plugins' != $type && false !== strpos($handle, '.' . $type) || 'plugins' == $type) ) {
|
1411 |
+
$html .= '<label class="wbcr-gnz-switch">';
|
1412 |
+
$html .= '<input class="wbcr-gnz-switch__input visually-hidden wbcr-gnz-sided-disable';
|
1413 |
+
$html .= ('plugins' != $type ? ' wbcr-gnz-sided-' . $index . '-' . $plugin_handle : '');
|
1414 |
+
$html .= '" type="checkbox"' . checked($active, true, false);
|
1415 |
+
$html .= ('plugins' == $type ? ' data-handle="' . $index . '-' . $plugin_handle . '"' : '') . '/>';
|
1416 |
+
$html .= '<input type="hidden" name="' . $name . '" value="' . ($active ? 1 : 0) . '"/>';
|
1417 |
+
$html .= '<span class="wbcr-gnz-switch__inner" data-off="' . __('No', 'gonzales') . '" data-on="' . __('Yes', 'gonzales') . '"></span>';
|
1418 |
+
$html .= '<span class="wbcr-gnz-switch__slider"></span>';
|
1419 |
+
$html .= '</label>';
|
1420 |
+
}
|
1421 |
+
$html .= "</td>";
|
1422 |
+
}
|
1423 |
+
}
|
1424 |
+
}
|
1425 |
+
|
1426 |
+
return $html;
|
1427 |
+
}
|
1428 |
+
|
1429 |
+
/**
|
1430 |
+
* @param $index
|
1431 |
+
* @param $type
|
1432 |
+
* @param $exclude
|
1433 |
+
*
|
1434 |
+
* @return array
|
1435 |
+
*/
|
1436 |
+
private function filterExclusions($index, $type, $exclude)
|
1437 |
+
{
|
1438 |
+
$files = $this->getSidedPluginFiles($index, $type);
|
1439 |
+
|
1440 |
+
if( !empty($files) ) {
|
1441 |
+
if( is_array($exclude) ) {
|
1442 |
+
$exclude = array_merge($exclude, $files);
|
1443 |
+
} else {
|
1444 |
+
$dontmove = implode(',', $files);
|
1445 |
+
$exclude .= !empty($exclude) ? ',' . $dontmove : $dontmove;
|
1446 |
+
}
|
1447 |
+
}
|
1448 |
+
|
1449 |
+
return $exclude;
|
1450 |
+
}
|
1451 |
+
|
1452 |
+
/**
|
1453 |
+
* aopt filter js exclude
|
1454 |
+
*
|
1455 |
+
* @param $exclude
|
1456 |
+
* @param $content
|
1457 |
+
*
|
1458 |
+
* @return array
|
1459 |
+
*/
|
1460 |
+
public function aoptFilterJsExclude($exclude, $content)
|
1461 |
+
{
|
1462 |
+
return $this->filterExclusions('aopt', 'js', $exclude);
|
1463 |
+
}
|
1464 |
+
|
1465 |
+
/**
|
1466 |
+
* aopt filter css exclude
|
1467 |
+
*
|
1468 |
+
* @param $exclude
|
1469 |
+
* @param $content
|
1470 |
+
*
|
1471 |
+
* @return array
|
1472 |
+
*/
|
1473 |
+
public function aoptFilterCssExclude($exclude, $content)
|
1474 |
+
{
|
1475 |
+
return $this->filterExclusions('aopt', 'css', $exclude);
|
1476 |
+
}
|
1477 |
+
|
1478 |
+
/**
|
1479 |
+
* wmac filter js exclude
|
1480 |
+
*
|
1481 |
+
* @param $exclude
|
1482 |
+
* @param $content
|
1483 |
+
*
|
1484 |
+
* @return array
|
1485 |
+
*/
|
1486 |
+
public function wmacFilterJsExclude($exclude, $content)
|
1487 |
+
{
|
1488 |
+
return $this->filterExclusions('wmac', 'js', $exclude);
|
1489 |
+
}
|
1490 |
+
|
1491 |
+
/**
|
1492 |
+
* wmac filter css exclude
|
1493 |
+
*
|
1494 |
+
* @param $exclude
|
1495 |
+
* @param $content
|
1496 |
+
*
|
1497 |
+
* @return array
|
1498 |
+
*/
|
1499 |
+
public function wmacFilterCssExclude($exclude, $content)
|
1500 |
+
{
|
1501 |
+
return $this->filterExclusions('wmac', 'css', $exclude);
|
1502 |
+
}
|
1503 |
+
|
1504 |
+
/**
|
1505 |
+
* Filter js minify exclusions
|
1506 |
+
*
|
1507 |
+
* @param $index
|
1508 |
+
* @param $type
|
1509 |
+
* @param $result
|
1510 |
+
* @param $url
|
1511 |
+
*
|
1512 |
+
* @return bool
|
1513 |
+
*/
|
1514 |
+
private function filterJsMinifyExclusions($index, $type, $result, $url)
|
1515 |
+
{
|
1516 |
+
$files = $this->getSidedPluginFiles($index, $type);
|
1517 |
+
|
1518 |
+
if( !empty($files) ) {
|
1519 |
+
foreach($files as $file) {
|
1520 |
+
if( false !== strpos($url, $file) ) {
|
1521 |
+
return false;
|
1522 |
+
}
|
1523 |
+
}
|
1524 |
+
}
|
1525 |
+
|
1526 |
+
return $result;
|
1527 |
+
}
|
1528 |
+
|
1529 |
+
/**
|
1530 |
+
* Action wmac_filter_js_minify_excluded
|
1531 |
+
*
|
1532 |
+
* @param $result
|
1533 |
+
* @param $url
|
1534 |
+
*
|
1535 |
+
* @return mixed
|
1536 |
+
*/
|
1537 |
+
public function wmacFilterJsMinifyExclude($result, $url)
|
1538 |
+
{
|
1539 |
+
return $this->filterJsMinifyExclusions('wmac', 'js', $result, $url);
|
1540 |
+
}
|
1541 |
+
|
1542 |
+
/**
|
1543 |
+
* Action wmac_filter_css_minify_excluded
|
1544 |
+
*
|
1545 |
+
* @param $result
|
1546 |
+
* @param $url
|
1547 |
+
*
|
1548 |
+
* @return mixed
|
1549 |
+
*/
|
1550 |
+
public function wmacFilterCssMinifyExclude($result, $url)
|
1551 |
+
{
|
1552 |
+
return $this->filterJsMinifyExclusions('wmac', 'css', $result, $url);
|
1553 |
+
}
|
1554 |
+
|
1555 |
+
/**
|
1556 |
+
* Manage excluded files
|
1557 |
+
*
|
1558 |
+
* @param $sided_exclude_files
|
1559 |
+
* @param $index
|
1560 |
+
* @param $type
|
1561 |
+
*/
|
1562 |
+
private function manageExcludeFiles($sided_exclude_files, $index, $type)
|
1563 |
+
{
|
1564 |
+
switch( $index ) {
|
1565 |
+
case 'aopt':
|
1566 |
+
if( get_option('autoptimize_js', false) || get_option('autoptimize_css', false)
|
1567 |
+
) {
|
1568 |
+
$exclude_files = get_option('autoptimize_' . $type . '_exclude', '');
|
1569 |
+
} else {
|
1570 |
+
return;
|
1571 |
+
}
|
1572 |
+
break;
|
1573 |
+
case 'wmac':
|
1574 |
+
if( class_exists('WMAC_Plugin') && (WMAC_Plugin::app()->getPopulateOption('js_optimize', false) || WMAC_Plugin::app()->getPopulateOption('css_optimize', false))
|
1575 |
+
) {
|
1576 |
+
$exclude_files = WMAC_Plugin::app()->getPopulateOption($type . '_exclude', '');
|
1577 |
+
} else {
|
1578 |
+
return;
|
1579 |
+
}
|
1580 |
+
break;
|
1581 |
+
case 'wclp':
|
1582 |
+
if( class_exists('WCL_Plugin') && (WCL_Plugin::app()->getPopulateOption('remove_js_version', false) || WCL_Plugin::app()->getPopulateOption('remove_css_version', false))
|
1583 |
+
) {
|
1584 |
+
$exclude_files = WCL_Plugin::app()->getPopulateOption('remove_version_exclude', '');
|
1585 |
+
} else {
|
1586 |
+
return;
|
1587 |
+
}
|
1588 |
+
break;
|
1589 |
+
default:
|
1590 |
+
return;
|
1591 |
+
}
|
1592 |
+
|
1593 |
+
// For clearfy need new line
|
1594 |
+
$delimeter = $index == 'wclp' ? "\n" : ",";
|
1595 |
+
$current_exclude_files = !empty($exclude_files) ? array_filter(array_map('trim', explode($delimeter, $exclude_files))) : array();
|
1596 |
+
|
1597 |
+
$delete_files = array_diff($sided_exclude_files['before'][$type], $sided_exclude_files['after'][$type]);
|
1598 |
+
$new_files = array_diff($sided_exclude_files['after'][$type], $current_exclude_files);
|
1599 |
+
|
1600 |
+
if( empty($current_exclude_files) && !empty($new_files) ) {
|
1601 |
+
$current_exclude_files = $new_files;
|
1602 |
+
} else if( !empty($current_exclude_files) ) {
|
1603 |
+
$new_exclude_files = array();
|
1604 |
+
foreach($current_exclude_files as $file) {
|
1605 |
+
|
1606 |
+
if( !in_array($file, $delete_files) ) {
|
1607 |
+
$new_exclude_files[] = $file;
|
1608 |
+
}
|
1609 |
+
}
|
1610 |
+
$current_exclude_files = array_merge($new_exclude_files, $new_files);
|
1611 |
+
}
|
1612 |
+
|
1613 |
+
$current_exclude_files = array_filter(array_unique($current_exclude_files));
|
1614 |
+
|
1615 |
+
switch( $index ) {
|
1616 |
+
case 'aopt':
|
1617 |
+
update_option('autoptimize_' . $type . '_exclude', implode(', ', $current_exclude_files));
|
1618 |
+
break;
|
1619 |
+
case 'wmac':
|
1620 |
+
if( class_exists('WMAC_Plugin') ) {
|
1621 |
+
WMAC_Plugin::app()->updatePopulateOption($type . '_exclude', implode(', ', $current_exclude_files));
|
1622 |
+
}
|
1623 |
+
break;
|
1624 |
+
case 'wclp':
|
1625 |
+
if( class_exists('WCL_Plugin') ) {
|
1626 |
+
WCL_Plugin::app()->updatePopulateOption('remove_version_exclude', implode($delimeter, $current_exclude_files));
|
1627 |
+
}
|
1628 |
+
break;
|
1629 |
+
}
|
1630 |
+
}
|
1631 |
+
|
1632 |
+
/**
|
1633 |
+
* Action form save
|
1634 |
+
*
|
1635 |
+
* @param bool $empty_before
|
1636 |
+
*/
|
1637 |
+
public function actionFormSave($empty_before = false)
|
1638 |
+
{
|
1639 |
+
if( !empty($this->sided_plugins) && !$empty_before ) {
|
1640 |
+
foreach($this->sided_plugins as $index => $sided_plugin) {
|
1641 |
+
$sided_exclude_files[$index]['before'] = array(
|
1642 |
+
'js' => array(),
|
1643 |
+
'css' => array()
|
1644 |
+
);
|
1645 |
+
// For clearfy need full url
|
1646 |
+
$full = ($index == 'wclp' ? true : false);
|
1647 |
+
|
1648 |
+
$sided_exclude_files[$index]['before']['js'] += $this->getSidedPluginFiles($index, 'js', $full);
|
1649 |
+
$sided_exclude_files[$index]['before']['css'] += $this->getSidedPluginFiles($index, 'css', $full);
|
1650 |
+
}
|
1651 |
+
}
|
1652 |
+
|
1653 |
+
if( isset($_POST['sided_plugins']) && !empty($_POST['sided_plugins']) ) {
|
1654 |
+
$sided_plugins_options = array();
|
1655 |
+
foreach($_POST['sided_plugins'] as $plugin => $types) {
|
1656 |
+
foreach($types as $type => $urls) {
|
1657 |
+
foreach($urls as $url => $active) {
|
1658 |
+
|
1659 |
+
if( !empty($url) && $active ) {
|
1660 |
+
$sided_plugins_options[$plugin][$type][] = $url;
|
1661 |
+
}
|
1662 |
+
}
|
1663 |
+
}
|
1664 |
+
}
|
1665 |
+
|
1666 |
+
if( is_multisite() && is_network_admin() ) {
|
1667 |
+
$this->updateNetworkOption('assets_manager_sided_plugins', $sided_plugins_options);
|
1668 |
+
} else {
|
1669 |
+
$this->updateOption('assets_manager_sided_plugins', $sided_plugins_options);
|
1670 |
+
}
|
1671 |
+
}
|
1672 |
+
|
1673 |
+
if( !empty($this->sided_plugins) ) {
|
1674 |
+
$this->sided_plugin_files = array();
|
1675 |
+
foreach($this->sided_plugins as $index => $sided_plugin) {
|
1676 |
+
$sided_exclude_files[$index]['after'] = array(
|
1677 |
+
'js' => array(),
|
1678 |
+
'css' => array()
|
1679 |
+
);
|
1680 |
+
// For clearfy need full url
|
1681 |
+
$full = ($index == 'wclp' ? true : false);
|
1682 |
+
|
1683 |
+
$sided_exclude_files[$index]['after']['js'] += $this->getSidedPluginFiles($index, 'js', $full);
|
1684 |
+
$sided_exclude_files[$index]['after']['css'] += $this->getSidedPluginFiles($index, 'css', $full);
|
1685 |
+
|
1686 |
+
if( !empty($sided_exclude_files[$index]['before']['js']) || !empty($sided_exclude_files[$index]['after']['js']) ) {
|
1687 |
+
$this->manageExcludeFiles($sided_exclude_files[$index], $index, 'js');
|
1688 |
+
}
|
1689 |
+
|
1690 |
+
if( !empty($sided_exclude_files[$index]['before']['css']) || !empty($sided_exclude_files[$index]['after']['css']) ) {
|
1691 |
+
$this->manageExcludeFiles($sided_exclude_files[$index], $index, 'css');
|
1692 |
+
}
|
1693 |
+
}
|
1694 |
+
}
|
1695 |
+
}
|
1696 |
}
|
components/assets-manager/includes/class.plugin.php
CHANGED
@@ -14,12 +14,12 @@
|
|
14 |
if( !class_exists('WGZ_Plugin') ) {
|
15 |
|
16 |
if( !class_exists('WGZ_PluginFactory') ) {
|
17 |
-
if( defined('
|
18 |
class WGZ_PluginFactory {
|
19 |
|
20 |
}
|
21 |
} else {
|
22 |
-
class WGZ_PluginFactory extends
|
23 |
|
24 |
}
|
25 |
}
|
@@ -28,7 +28,7 @@
|
|
28 |
class WGZ_Plugin extends WGZ_PluginFactory {
|
29 |
|
30 |
/**
|
31 |
-
* @var
|
32 |
*/
|
33 |
private static $app;
|
34 |
|
@@ -47,11 +47,9 @@
|
|
47 |
$this->as_addon = isset($data['as_addon']);
|
48 |
|
49 |
if( $this->as_addon ) {
|
50 |
-
$plugin_parent = isset($data['plugin_parent'])
|
51 |
-
? $data['plugin_parent']
|
52 |
-
: null;
|
53 |
|
54 |
-
if( !($plugin_parent instanceof
|
55 |
throw new Exception('An invalid instance of the class was passed.');
|
56 |
}
|
57 |
|
@@ -64,54 +62,46 @@
|
|
64 |
parent::__construct($plugin_path, $data);
|
65 |
}
|
66 |
|
67 |
-
$this->setTextDomain();
|
68 |
$this->setModules();
|
69 |
|
70 |
$this->globalScripts();
|
71 |
|
72 |
if( is_admin() ) {
|
73 |
-
|
74 |
}
|
75 |
-
|
|
|
76 |
}
|
77 |
|
78 |
/**
|
79 |
-
* @return
|
80 |
*/
|
81 |
public static function app()
|
82 |
{
|
83 |
return self::$app;
|
84 |
}
|
85 |
|
86 |
-
|
87 |
-
protected function setTextDomain()
|
88 |
{
|
89 |
-
|
90 |
-
//load_plugin_textdomain('gonzales', false, dirname(WCL_PLUGIN_BASE) . '/languages/');
|
91 |
-
|
92 |
-
$domain = 'gonzales';
|
93 |
-
$locale = apply_filters('plugin_locale', is_admin()
|
94 |
-
? get_user_locale()
|
95 |
-
: get_locale(), $domain);
|
96 |
-
$mofile = $domain . '-' . $locale . '.mo';
|
97 |
|
98 |
-
if(
|
99 |
-
|
100 |
}
|
101 |
}
|
102 |
-
|
103 |
protected function setModules()
|
104 |
{
|
105 |
if( !$this->as_addon ) {
|
106 |
self::app()->load(array(
|
107 |
-
array('libs/factory/bootstrap', '
|
108 |
-
array('libs/factory/forms', '
|
109 |
-
array('libs/factory/pages', '
|
110 |
-
array('libs/factory/clearfy', '
|
111 |
));
|
112 |
}
|
113 |
}
|
114 |
-
|
115 |
private function registerPages()
|
116 |
{
|
117 |
$admin_path = WGZ_PLUGIN_DIR . '/admin/pages';
|
@@ -121,21 +111,11 @@
|
|
121 |
self::app()->registerPage('WbcrGnz_MoreFeaturesPage', $admin_path . '/more-features.php');
|
122 |
}
|
123 |
}
|
124 |
-
|
125 |
-
private function adminScripts()
|
126 |
-
{
|
127 |
-
require(WGZ_PLUGIN_DIR . '/admin/boot.php');
|
128 |
-
$this->registerPages();
|
129 |
-
}
|
130 |
-
|
131 |
private function globalScripts()
|
132 |
{
|
133 |
require(WGZ_PLUGIN_DIR . '/includes/class.configurate-assets.php');
|
134 |
new WbcrGnz_ConfigAssetsManager(self::$app);
|
135 |
}
|
136 |
-
/*public function pluginsLoaded()
|
137 |
-
{
|
138 |
-
|
139 |
-
}*/
|
140 |
}
|
141 |
}
|
14 |
if( !class_exists('WGZ_Plugin') ) {
|
15 |
|
16 |
if( !class_exists('WGZ_PluginFactory') ) {
|
17 |
+
if( defined('LOADING_ASSETS_MANAGER_AS_ADDON') ) {
|
18 |
class WGZ_PluginFactory {
|
19 |
|
20 |
}
|
21 |
} else {
|
22 |
+
class WGZ_PluginFactory extends Wbcr_Factory409_Plugin {
|
23 |
|
24 |
}
|
25 |
}
|
28 |
class WGZ_Plugin extends WGZ_PluginFactory {
|
29 |
|
30 |
/**
|
31 |
+
* @var Wbcr_Factory409_Plugin
|
32 |
*/
|
33 |
private static $app;
|
34 |
|
47 |
$this->as_addon = isset($data['as_addon']);
|
48 |
|
49 |
if( $this->as_addon ) {
|
50 |
+
$plugin_parent = isset($data['plugin_parent']) ? $data['plugin_parent'] : null;
|
|
|
|
|
51 |
|
52 |
+
if( !($plugin_parent instanceof Wbcr_Factory409_Plugin) ) {
|
53 |
throw new Exception('An invalid instance of the class was passed.');
|
54 |
}
|
55 |
|
62 |
parent::__construct($plugin_path, $data);
|
63 |
}
|
64 |
|
|
|
65 |
$this->setModules();
|
66 |
|
67 |
$this->globalScripts();
|
68 |
|
69 |
if( is_admin() ) {
|
70 |
+
require(WGZ_PLUGIN_DIR . '/admin/boot.php');
|
71 |
}
|
72 |
+
|
73 |
+
add_action('plugins_loaded', array($this, 'pluginsLoaded'));
|
74 |
}
|
75 |
|
76 |
/**
|
77 |
+
* @return Wbcr_Factory409_Plugin
|
78 |
*/
|
79 |
public static function app()
|
80 |
{
|
81 |
return self::$app;
|
82 |
}
|
83 |
|
84 |
+
public function pluginsLoaded()
|
|
|
85 |
{
|
86 |
+
self::app()->setTextDomain('gonzales', WGZ_PLUGIN_DIR);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
87 |
|
88 |
+
if( is_admin() ) {
|
89 |
+
$this->registerPages();
|
90 |
}
|
91 |
}
|
92 |
+
|
93 |
protected function setModules()
|
94 |
{
|
95 |
if( !$this->as_addon ) {
|
96 |
self::app()->load(array(
|
97 |
+
array('libs/factory/bootstrap', 'factory_bootstrap_409', 'admin'),
|
98 |
+
array('libs/factory/forms', 'factory_forms_410', 'admin'),
|
99 |
+
array('libs/factory/pages', 'factory_pages_410', 'admin'),
|
100 |
+
array('libs/factory/clearfy', 'factory_clearfy_206', 'all')
|
101 |
));
|
102 |
}
|
103 |
}
|
104 |
+
|
105 |
private function registerPages()
|
106 |
{
|
107 |
$admin_path = WGZ_PLUGIN_DIR . '/admin/pages';
|
111 |
self::app()->registerPage('WbcrGnz_MoreFeaturesPage', $admin_path . '/more-features.php');
|
112 |
}
|
113 |
}
|
114 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
115 |
private function globalScripts()
|
116 |
{
|
117 |
require(WGZ_PLUGIN_DIR . '/includes/class.configurate-assets.php');
|
118 |
new WbcrGnz_ConfigAssetsManager(self::$app);
|
119 |
}
|
|
|
|
|
|
|
|
|
120 |
}
|
121 |
}
|
components/assets-manager/languages/gonzales-nl_BE.po
CHANGED
@@ -1,194 +1,194 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: Clearfy\n"
|
4 |
-
"POT-Creation-Date: 2018-09-06 18:24+0300\n"
|
5 |
-
"PO-Revision-Date: \n"
|
6 |
-
"Last-Translator: \n"
|
7 |
-
"Language-Team: \n"
|
8 |
-
"Language: nl_BE\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"X-Generator: Poedit 2.1.1\n"
|
13 |
-
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
14 |
-
"X-Generator: Poedit 2.1.1\n"
|
15 |
-
"X-Poedit-Basepath: ..\n"
|
16 |
-
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
17 |
-
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
18 |
-
"X-Poedit-SourceCharset: UTF-8\n"
|
19 |
-
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
20 |
-
"X-Poedit-SearchPath-0: .\n"
|
21 |
-
"X-Poedit-SearchPathExcluded-0: libs\n"
|
22 |
-
"X-Poedit-SearchPathExcluded-1: components\n"
|
23 |
-
"X-Poedit-SearchPathExcluded-2: cache\n"
|
24 |
-
|
25 |
-
#: admin/boot.php:32
|
26 |
-
msgid "Get ultimate plugin free"
|
27 |
-
msgstr "Krijg ultieme plugin gratis"
|
28 |
-
|
29 |
-
#: admin/boot.php:57 admin/pages/assets-manager.php:101
|
30 |
-
msgid "Disable assets manager"
|
31 |
-
msgstr "Schakel assets manager uit"
|
32 |
-
|
33 |
-
#: admin/boot.php:64 admin/pages/assets-manager.php:125
|
34 |
-
msgid "Disable assets manager panel"
|
35 |
-
msgstr "Schakel paneel van assets manager uit"
|
36 |
-
|
37 |
-
#: admin/boot.php:70 admin/pages/assets-manager.php:134
|
38 |
-
msgid "Disable assets manager on front"
|
39 |
-
msgstr "Schakel assets manager op front-end uit"
|
40 |
-
|
41 |
-
#: admin/boot.php:76 admin/pages/assets-manager.php:143
|
42 |
-
msgid "Disable assets manager on back-end"
|
43 |
-
msgstr "Schakel assets manager op back-end uit"
|
44 |
-
|
45 |
-
#: admin/boot.php:82
|
46 |
-
msgid "Assets manager options"
|
47 |
-
msgstr "Assets manager opties"
|
48 |
-
|
49 |
-
#: admin/pages/assets-manager.php:42 admin/pages/assets-manager.php:61
|
50 |
-
#: includes/class.configurate-assets.php:139
|
51 |
-
msgid "Assets manager"
|
52 |
-
msgstr "Assets manager"
|
53 |
-
|
54 |
-
#: admin/pages/assets-manager.php:62
|
55 |
-
msgid "General"
|
56 |
-
msgstr "Algemeen"
|
57 |
-
|
58 |
-
#: admin/pages/assets-manager.php:94
|
59 |
-
msgid "Disable unused scripts, styles, and fonts"
|
60 |
-
msgstr "Ongebruikte scripts, stijlen en lettertypen uitschakelen"
|
61 |
-
|
62 |
-
#: admin/pages/assets-manager.php:94
|
63 |
-
msgid ""
|
64 |
-
"There is a button in the adminbar called \"Script Manager\". If you click on "
|
65 |
-
"it you will see a list of loaded scripts, styles and fonts on the current page "
|
66 |
-
"of your site. If you think that one of the assets is superfluous on this page, "
|
67 |
-
"you can disable it individually, so that it does not create unnecessary "
|
68 |
-
"queries when page loading. Use the script manager very carefull to non-corrupt "
|
69 |
-
"your website. We recommend to test this function at a local server."
|
70 |
-
msgstr ""
|
71 |
-
"Er is een knop in de beheerbalk genaamd 'Script Manager'. Als u erop klikt, "
|
72 |
-
"ziet u een lijst met geladen scripts, stijlen en lettertypen op de huidige "
|
73 |
-
"pagina van uw site. Als u denkt dat een van de items op deze pagina overbodig "
|
74 |
-
"is, kunt u deze afzonderlijk uitschakelen, zodat er geen onnodige query's "
|
75 |
-
"ontstaan wanneer de pagina wordt geladen. Gebruik de script manager heel "
|
76 |
-
"voorzichtig om uw website niet te beschadigen. We raden aan om deze functie "
|
77 |
-
"bij een lokale server te testen."
|
78 |
-
|
79 |
-
#: admin/pages/assets-manager.php:103
|
80 |
-
msgid "Full disable of the module."
|
81 |
-
msgstr "De module volledig uitschakelen."
|
82 |
-
|
83 |
-
#: admin/pages/assets-manager.php:127
|
84 |
-
msgid ""
|
85 |
-
"By default in your admin bar there is a button for control the assets scripts "
|
86 |
-
"and styles. With this option, you can turn off the script manager on front and "
|
87 |
-
"back-end."
|
88 |
-
msgstr ""
|
89 |
-
"Standaard is er in je beheer balk een knop voor het beheren van de assets "
|
90 |
-
"scripts en -stijlen. Met deze optie kunt u de script manager aan frontend en "
|
91 |
-
"backend uitschakelen."
|
92 |
-
|
93 |
-
#: admin/pages/assets-manager.php:136
|
94 |
-
msgid "Disables assets manager initialization for frontend."
|
95 |
-
msgstr "Schakelt de opstart van assets manager voor de front-end uit."
|
96 |
-
|
97 |
-
#: admin/pages/assets-manager.php:145
|
98 |
-
msgid "Disables assets manager initialization for backend."
|
99 |
-
msgstr "Schakelt de opstart van assets manager voor de back-end uit."
|
100 |
-
|
101 |
-
#: gonzales.php:23
|
102 |
-
msgid ""
|
103 |
-
"We found that you use the plugin \"Clearfy - disable unused functions\", this "
|
104 |
-
"plugin already has the same functions as \"Assets manager\", so you can "
|
105 |
-
"disable the \"Assets manager\" plugin!"
|
106 |
-
msgstr ""
|
107 |
-
"We hebben vastgesteld dat u de plugin \"Clearfy - uitschakelen ongebruikte "
|
108 |
-
"functies\" gebruikt, deze plugin heeft al dezelfde functies als \"Assets "
|
109 |
-
"manager\", dus u kunt de plugin \"Assets manager\" uitschakelen!"
|
110 |
-
|
111 |
-
#: gonzales.php:80
|
112 |
-
msgid "Webcraftic assets manager"
|
113 |
-
msgstr "Webcraftic assets manager"
|
114 |
-
|
115 |
-
#: includes/class.configurate-assets.php:94
|
116 |
-
#: includes/class.configurate-assets.php:114
|
117 |
-
msgid "Script Manager"
|
118 |
-
msgstr "Script Manager"
|
119 |
-
|
120 |
-
#: includes/class.configurate-assets.php:141
|
121 |
-
msgid ""
|
122 |
-
"Below you can disable/enable CSS and JS files on a per page/post basis, as "
|
123 |
-
"well as by custom post types. We recommend testing this locally or on a "
|
124 |
-
"staging site first, as you could break the appearance of your live site. If "
|
125 |
-
"you aren't sure about a certain script, you can try clicking on it, as a lot "
|
126 |
-
"of authors will mention their plugin or theme in the header of the source code."
|
127 |
-
msgstr ""
|
128 |
-
"Hieronder kunt u CSS en JS bestanden per pagina/post uitschakelen en "
|
129 |
-
"inschakelen, evenals voor aangepaste bericht types. We raden aan dit eerst "
|
130 |
-
"lokaal of op een staging-site te testen, omdat je het uiterlijk van je live "
|
131 |
-
"site kunt breken. Als je niet zeker bent van een bepaald script, kun je "
|
132 |
-
"proberen erop te klikken, omdat veel auteurs hun plugin of thema zullen "
|
133 |
-
"vermelden in de hoofding van de broncode."
|
134 |
-
|
135 |
-
#: includes/class.configurate-assets.php:142
|
136 |
-
msgid ""
|
137 |
-
"If for some reason you run into trouble, you can always enable everything "
|
138 |
-
"again to reset the settings."
|
139 |
-
msgstr ""
|
140 |
-
"Als u om de één of andere reden in de problemen komt, kunt u altijd alles "
|
141 |
-
"opnieuw inschakelen om de instellingen opnieuw in te stellen."
|
142 |
-
|
143 |
-
#: includes/class.configurate-assets.php:151
|
144 |
-
msgid "Save settings"
|
145 |
-
msgstr "Bewaar instellingen"
|
146 |
-
|
147 |
-
#: includes/class.configurate-assets.php:158
|
148 |
-
msgid "Hide panel in adminbar?"
|
149 |
-
msgstr "Verberg paneel in beheer balk?"
|
150 |
-
|
151 |
-
#: includes/class.configurate-assets.php:169
|
152 |
-
msgid "State"
|
153 |
-
msgstr "Staat"
|
154 |
-
|
155 |
-
#: includes/class.configurate-assets.php:170
|
156 |
-
msgid "Size"
|
157 |
-
msgstr "Formaat"
|
158 |
-
|
159 |
-
#: includes/class.configurate-assets.php:171
|
160 |
-
msgid "Script"
|
161 |
-
msgstr "Script"
|
162 |
-
|
163 |
-
#: includes/class.configurate-assets.php:172
|
164 |
-
msgid "In use"
|
165 |
-
msgstr "In gebruik"
|
166 |
-
|
167 |
-
#: includes/class.configurate-assets.php:173
|
168 |
-
msgid "Disable"
|
169 |
-
msgstr "Uitschakelen"
|
170 |
-
|
171 |
-
#: includes/class.configurate-assets.php:174
|
172 |
-
msgid "Enable"
|
173 |
-
msgstr "Inschakelen"
|
174 |
-
|
175 |
-
#: includes/class.configurate-assets.php:221
|
176 |
-
msgid "In use by"
|
177 |
-
msgstr "In gebruik door"
|
178 |
-
|
179 |
-
#: includes/class.configurate-assets.php:248
|
180 |
-
msgid "Enabled"
|
181 |
-
msgstr "Ingeschakeld"
|
182 |
-
|
183 |
-
#: includes/class.configurate-assets.php:253
|
184 |
-
msgid "Everywhere"
|
185 |
-
msgstr "Overal"
|
186 |
-
|
187 |
-
#: includes/class.configurate-assets.php:260
|
188 |
-
#: includes/class.configurate-assets.php:283
|
189 |
-
msgid "Current URL"
|
190 |
-
msgstr "Huidige URL"
|
191 |
-
|
192 |
-
#: includes/class.configurate-assets.php:269
|
193 |
-
msgid "Disable everwhere to view enable settings."
|
194 |
msgstr "Overal uitschakelen om de instellingen voor inschakelen te bekijken."
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: Clearfy\n"
|
4 |
+
"POT-Creation-Date: 2018-09-06 18:24+0300\n"
|
5 |
+
"PO-Revision-Date: \n"
|
6 |
+
"Last-Translator: \n"
|
7 |
+
"Language-Team: \n"
|
8 |
+
"Language: nl_BE\n"
|
9 |
+
"MIME-Version: 1.0\n"
|
10 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
+
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"X-Generator: Poedit 2.1.1\n"
|
13 |
+
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
14 |
+
"X-Generator: Poedit 2.1.1\n"
|
15 |
+
"X-Poedit-Basepath: ..\n"
|
16 |
+
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
17 |
+
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
18 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
19 |
+
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
20 |
+
"X-Poedit-SearchPath-0: .\n"
|
21 |
+
"X-Poedit-SearchPathExcluded-0: libs\n"
|
22 |
+
"X-Poedit-SearchPathExcluded-1: components\n"
|
23 |
+
"X-Poedit-SearchPathExcluded-2: cache\n"
|
24 |
+
|
25 |
+
#: admin/boot.php:32
|
26 |
+
msgid "Get ultimate plugin free"
|
27 |
+
msgstr "Krijg ultieme plugin gratis"
|
28 |
+
|
29 |
+
#: admin/boot.php:57 admin/pages/assets-manager.php:101
|
30 |
+
msgid "Disable assets manager"
|
31 |
+
msgstr "Schakel assets manager uit"
|
32 |
+
|
33 |
+
#: admin/boot.php:64 admin/pages/assets-manager.php:125
|
34 |
+
msgid "Disable assets manager panel"
|
35 |
+
msgstr "Schakel paneel van assets manager uit"
|
36 |
+
|
37 |
+
#: admin/boot.php:70 admin/pages/assets-manager.php:134
|
38 |
+
msgid "Disable assets manager on front"
|
39 |
+
msgstr "Schakel assets manager op front-end uit"
|
40 |
+
|
41 |
+
#: admin/boot.php:76 admin/pages/assets-manager.php:143
|
42 |
+
msgid "Disable assets manager on back-end"
|
43 |
+
msgstr "Schakel assets manager op back-end uit"
|
44 |
+
|
45 |
+
#: admin/boot.php:82
|
46 |
+
msgid "Assets manager options"
|
47 |
+
msgstr "Assets manager opties"
|
48 |
+
|
49 |
+
#: admin/pages/assets-manager.php:42 admin/pages/assets-manager.php:61
|
50 |
+
#: includes/class.configurate-assets.php:139
|
51 |
+
msgid "Assets manager"
|
52 |
+
msgstr "Assets manager"
|
53 |
+
|
54 |
+
#: admin/pages/assets-manager.php:62
|
55 |
+
msgid "General"
|
56 |
+
msgstr "Algemeen"
|
57 |
+
|
58 |
+
#: admin/pages/assets-manager.php:94
|
59 |
+
msgid "Disable unused scripts, styles, and fonts"
|
60 |
+
msgstr "Ongebruikte scripts, stijlen en lettertypen uitschakelen"
|
61 |
+
|
62 |
+
#: admin/pages/assets-manager.php:94
|
63 |
+
msgid ""
|
64 |
+
"There is a button in the adminbar called \"Script Manager\". If you click on "
|
65 |
+
"it you will see a list of loaded scripts, styles and fonts on the current page "
|
66 |
+
"of your site. If you think that one of the assets is superfluous on this page, "
|
67 |
+
"you can disable it individually, so that it does not create unnecessary "
|
68 |
+
"queries when page loading. Use the script manager very carefull to non-corrupt "
|
69 |
+
"your website. We recommend to test this function at a local server."
|
70 |
+
msgstr ""
|
71 |
+
"Er is een knop in de beheerbalk genaamd 'Script Manager'. Als u erop klikt, "
|
72 |
+
"ziet u een lijst met geladen scripts, stijlen en lettertypen op de huidige "
|
73 |
+
"pagina van uw site. Als u denkt dat een van de items op deze pagina overbodig "
|
74 |
+
"is, kunt u deze afzonderlijk uitschakelen, zodat er geen onnodige query's "
|
75 |
+
"ontstaan wanneer de pagina wordt geladen. Gebruik de script manager heel "
|
76 |
+
"voorzichtig om uw website niet te beschadigen. We raden aan om deze functie "
|
77 |
+
"bij een lokale server te testen."
|
78 |
+
|
79 |
+
#: admin/pages/assets-manager.php:103
|
80 |
+
msgid "Full disable of the module."
|
81 |
+
msgstr "De module volledig uitschakelen."
|
82 |
+
|
83 |
+
#: admin/pages/assets-manager.php:127
|
84 |
+
msgid ""
|
85 |
+
"By default in your admin bar there is a button for control the assets scripts "
|
86 |
+
"and styles. With this option, you can turn off the script manager on front and "
|
87 |
+
"back-end."
|
88 |
+
msgstr ""
|
89 |
+
"Standaard is er in je beheer balk een knop voor het beheren van de assets "
|
90 |
+
"scripts en -stijlen. Met deze optie kunt u de script manager aan frontend en "
|
91 |
+
"backend uitschakelen."
|
92 |
+
|
93 |
+
#: admin/pages/assets-manager.php:136
|
94 |
+
msgid "Disables assets manager initialization for frontend."
|
95 |
+
msgstr "Schakelt de opstart van assets manager voor de front-end uit."
|
96 |
+
|
97 |
+
#: admin/pages/assets-manager.php:145
|
98 |
+
msgid "Disables assets manager initialization for backend."
|
99 |
+
msgstr "Schakelt de opstart van assets manager voor de back-end uit."
|
100 |
+
|
101 |
+
#: gonzales.php:23
|
102 |
+
msgid ""
|
103 |
+
"We found that you use the plugin \"Clearfy - disable unused functions\", this "
|
104 |
+
"plugin already has the same functions as \"Assets manager\", so you can "
|
105 |
+
"disable the \"Assets manager\" plugin!"
|
106 |
+
msgstr ""
|
107 |
+
"We hebben vastgesteld dat u de plugin \"Clearfy - uitschakelen ongebruikte "
|
108 |
+
"functies\" gebruikt, deze plugin heeft al dezelfde functies als \"Assets "
|
109 |
+
"manager\", dus u kunt de plugin \"Assets manager\" uitschakelen!"
|
110 |
+
|
111 |
+
#: gonzales.php:80
|
112 |
+
msgid "Webcraftic assets manager"
|
113 |
+
msgstr "Webcraftic assets manager"
|
114 |
+
|
115 |
+
#: includes/class.configurate-assets.php:94
|
116 |
+
#: includes/class.configurate-assets.php:114
|
117 |
+
msgid "Script Manager"
|
118 |
+
msgstr "Script Manager"
|
119 |
+
|
120 |
+
#: includes/class.configurate-assets.php:141
|
121 |
+
msgid ""
|
122 |
+
"Below you can disable/enable CSS and JS files on a per page/post basis, as "
|
123 |
+
"well as by custom post types. We recommend testing this locally or on a "
|
124 |
+
"staging site first, as you could break the appearance of your live site. If "
|
125 |
+
"you aren't sure about a certain script, you can try clicking on it, as a lot "
|
126 |
+
"of authors will mention their plugin or theme in the header of the source code."
|
127 |
+
msgstr ""
|
128 |
+
"Hieronder kunt u CSS en JS bestanden per pagina/post uitschakelen en "
|
129 |
+
"inschakelen, evenals voor aangepaste bericht types. We raden aan dit eerst "
|
130 |
+
"lokaal of op een staging-site te testen, omdat je het uiterlijk van je live "
|
131 |
+
"site kunt breken. Als je niet zeker bent van een bepaald script, kun je "
|
132 |
+
"proberen erop te klikken, omdat veel auteurs hun plugin of thema zullen "
|
133 |
+
"vermelden in de hoofding van de broncode."
|
134 |
+
|
135 |
+
#: includes/class.configurate-assets.php:142
|
136 |
+
msgid ""
|
137 |
+
"If for some reason you run into trouble, you can always enable everything "
|
138 |
+
"again to reset the settings."
|
139 |
+
msgstr ""
|
140 |
+
"Als u om de één of andere reden in de problemen komt, kunt u altijd alles "
|
141 |
+
"opnieuw inschakelen om de instellingen opnieuw in te stellen."
|
142 |
+
|
143 |
+
#: includes/class.configurate-assets.php:151
|
144 |
+
msgid "Save settings"
|
145 |
+
msgstr "Bewaar instellingen"
|
146 |
+
|
147 |
+
#: includes/class.configurate-assets.php:158
|
148 |
+
msgid "Hide panel in adminbar?"
|
149 |
+
msgstr "Verberg paneel in beheer balk?"
|
150 |
+
|
151 |
+
#: includes/class.configurate-assets.php:169
|
152 |
+
msgid "State"
|
153 |
+
msgstr "Staat"
|
154 |
+
|
155 |
+
#: includes/class.configurate-assets.php:170
|
156 |
+
msgid "Size"
|
157 |
+
msgstr "Formaat"
|
158 |
+
|
159 |
+
#: includes/class.configurate-assets.php:171
|
160 |
+
msgid "Script"
|
161 |
+
msgstr "Script"
|
162 |
+
|
163 |
+
#: includes/class.configurate-assets.php:172
|
164 |
+
msgid "In use"
|
165 |
+
msgstr "In gebruik"
|
166 |
+
|
167 |
+
#: includes/class.configurate-assets.php:173
|
168 |
+
msgid "Disable"
|
169 |
+
msgstr "Uitschakelen"
|
170 |
+
|
171 |
+
#: includes/class.configurate-assets.php:174
|
172 |
+
msgid "Enable"
|
173 |
+
msgstr "Inschakelen"
|
174 |
+
|
175 |
+
#: includes/class.configurate-assets.php:221
|
176 |
+
msgid "In use by"
|
177 |
+
msgstr "In gebruik door"
|
178 |
+
|
179 |
+
#: includes/class.configurate-assets.php:248
|
180 |
+
msgid "Enabled"
|
181 |
+
msgstr "Ingeschakeld"
|
182 |
+
|
183 |
+
#: includes/class.configurate-assets.php:253
|
184 |
+
msgid "Everywhere"
|
185 |
+
msgstr "Overal"
|
186 |
+
|
187 |
+
#: includes/class.configurate-assets.php:260
|
188 |
+
#: includes/class.configurate-assets.php:283
|
189 |
+
msgid "Current URL"
|
190 |
+
msgstr "Huidige URL"
|
191 |
+
|
192 |
+
#: includes/class.configurate-assets.php:269
|
193 |
+
msgid "Disable everwhere to view enable settings."
|
194 |
msgstr "Overal uitschakelen om de instellingen voor inschakelen te bekijken."
|
components/assets-manager/languages/gonzales-pt_BR.po
CHANGED
@@ -1,194 +1,194 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: clearfy\n"
|
4 |
-
"POT-Creation-Date: 2018-09-06 18:23+0300\n"
|
5 |
-
"PO-Revision-Date: 2018-09-06 18:23+0300\n"
|
6 |
-
"Last-Translator: alex.kovalevv@gmail.com <alex.kovalevv@gmail.com>\n"
|
7 |
-
"Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
|
8 |
-
"Language: pt_BR\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"X-Generator: Poedit 2.1.1\n"
|
13 |
-
"X-Poedit-Basepath: ..\n"
|
14 |
-
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
15 |
-
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
16 |
-
"X-Poedit-SourceCharset: UTF-8\n"
|
17 |
-
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
18 |
-
"X-Poedit-SearchPath-0: .\n"
|
19 |
-
"X-Poedit-SearchPathExcluded-0: libs\n"
|
20 |
-
"X-Poedit-SearchPathExcluded-1: components\n"
|
21 |
-
"X-Poedit-SearchPathExcluded-2: cache\n"
|
22 |
-
|
23 |
-
#: admin/boot.php:32
|
24 |
-
msgid "Get ultimate plugin free"
|
25 |
-
msgstr "Obtenha o melhor plugin grátis"
|
26 |
-
|
27 |
-
#: admin/boot.php:57 admin/pages/assets-manager.php:101
|
28 |
-
msgid "Disable assets manager"
|
29 |
-
msgstr "Desativar gerente de ativos"
|
30 |
-
|
31 |
-
#: admin/boot.php:64 admin/pages/assets-manager.php:125
|
32 |
-
msgid "Disable assets manager panel"
|
33 |
-
msgstr "Desativar painel do gerenciador de ativos"
|
34 |
-
|
35 |
-
#: admin/boot.php:70 admin/pages/assets-manager.php:134
|
36 |
-
msgid "Disable assets manager on front"
|
37 |
-
msgstr "Desativar o gerente de ativos na frente"
|
38 |
-
|
39 |
-
#: admin/boot.php:76 admin/pages/assets-manager.php:143
|
40 |
-
msgid "Disable assets manager on back-end"
|
41 |
-
msgstr "Desativar gerenciador de ativos no back-end"
|
42 |
-
|
43 |
-
#: admin/boot.php:82
|
44 |
-
msgid "Assets manager options"
|
45 |
-
msgstr "Opções do gerente de ativos"
|
46 |
-
|
47 |
-
#: admin/pages/assets-manager.php:42 admin/pages/assets-manager.php:61
|
48 |
-
#: includes/class.configurate-assets.php:139
|
49 |
-
msgid "Assets manager"
|
50 |
-
msgstr "Gerente de Ativos"
|
51 |
-
|
52 |
-
#: admin/pages/assets-manager.php:62
|
53 |
-
msgid "General"
|
54 |
-
msgstr "Geral"
|
55 |
-
|
56 |
-
#: admin/pages/assets-manager.php:94
|
57 |
-
msgid "Disable unused scripts, styles, and fonts"
|
58 |
-
msgstr "Desativar scripts, estilos e fontes não utilizados"
|
59 |
-
|
60 |
-
#: admin/pages/assets-manager.php:94
|
61 |
-
msgid ""
|
62 |
-
"There is a button in the adminbar called \"Script Manager\". If you click on "
|
63 |
-
"it you will see a list of loaded scripts, styles and fonts on the current "
|
64 |
-
"page of your site. If you think that one of the assets is superfluous on "
|
65 |
-
"this page, you can disable it individually, so that it does not create "
|
66 |
-
"unnecessary queries when page loading. Use the script manager very carefull "
|
67 |
-
"to non-corrupt your website. We recommend to test this function at a local "
|
68 |
-
"server."
|
69 |
-
msgstr ""
|
70 |
-
"Existe um botão na barra de admin chamado \"Script Manager \". Se você "
|
71 |
-
"clicar nele, verá uma lista de scripts, estilos e fontes carregados na "
|
72 |
-
"página atual do seu site. Se você acha que um dos ativos é supérfluo nesta "
|
73 |
-
"página, você pode desativá-lo individualmente, para que ele não crie "
|
74 |
-
"consultas desnecessárias ao carregar a página. Use o gerenciador de scripts "
|
75 |
-
"com muito cuidado para não corromper seu site. Recomendamos testar essa "
|
76 |
-
"função em um servidor local."
|
77 |
-
|
78 |
-
#: admin/pages/assets-manager.php:103
|
79 |
-
msgid "Full disable of the module."
|
80 |
-
msgstr "Desabilitação total do módulo."
|
81 |
-
|
82 |
-
#: admin/pages/assets-manager.php:127
|
83 |
-
msgid ""
|
84 |
-
"By default in your admin bar there is a button for control the assets "
|
85 |
-
"scripts and styles. With this option, you can turn off the script manager on "
|
86 |
-
"front and back-end."
|
87 |
-
msgstr ""
|
88 |
-
"Por padrão, na barra de administração, existe um botão para controlar os "
|
89 |
-
"scripts e estilos de recursos. Com essa opção, você pode desativar o "
|
90 |
-
"gerenciador de scripts na frente e no final."
|
91 |
-
|
92 |
-
#: admin/pages/assets-manager.php:136
|
93 |
-
msgid "Disables assets manager initialization for frontend."
|
94 |
-
msgstr "Desativa a inicialização do gerenciador de ativos para o frontend."
|
95 |
-
|
96 |
-
#: admin/pages/assets-manager.php:145
|
97 |
-
msgid "Disables assets manager initialization for backend."
|
98 |
-
msgstr "Desativa a inicialização do gerenciador de ativos para o back-end."
|
99 |
-
|
100 |
-
#: gonzales.php:23
|
101 |
-
msgid ""
|
102 |
-
"We found that you use the plugin \"Clearfy - disable unused functions\", "
|
103 |
-
"this plugin already has the same functions as \"Assets manager\", so you can "
|
104 |
-
"disable the \"Assets manager\" plugin!"
|
105 |
-
msgstr ""
|
106 |
-
"Descobrimos que você usa o plugin \"Clearfy - desabilita funções não usadas "
|
107 |
-
"\", este plugin já tem as mesmas funções de \"Assets manager \", então você "
|
108 |
-
"pode desabilitar o plugin \"Assets manager \"!"
|
109 |
-
|
110 |
-
#: gonzales.php:80
|
111 |
-
msgid "Webcraftic assets manager"
|
112 |
-
msgstr "Gerente de ativos da webraftic"
|
113 |
-
|
114 |
-
#: includes/class.configurate-assets.php:94
|
115 |
-
#: includes/class.configurate-assets.php:114
|
116 |
-
msgid "Script Manager"
|
117 |
-
msgstr "Gerenciador de scripts"
|
118 |
-
|
119 |
-
#: includes/class.configurate-assets.php:141
|
120 |
-
msgid ""
|
121 |
-
"Below you can disable/enable CSS and JS files on a per page/post basis, as "
|
122 |
-
"well as by custom post types. We recommend testing this locally or on a "
|
123 |
-
"staging site first, as you could break the appearance of your live site. If "
|
124 |
-
"you aren't sure about a certain script, you can try clicking on it, as a lot "
|
125 |
-
"of authors will mention their plugin or theme in the header of the source "
|
126 |
-
"code."
|
127 |
-
msgstr ""
|
128 |
-
"Abaixo, você pode desativar / ativar arquivos CSS e JS em uma base por "
|
129 |
-
"página / postagem, bem como por tipos de postagem personalizados. "
|
130 |
-
"Recomendamos testar isso localmente ou em um site de teste primeiro, pois "
|
131 |
-
"você pode quebrar a aparência do site ao vivo. Se você não tem certeza sobre "
|
132 |
-
"um determinado script, pode tentar clicar nele, pois muitos autores "
|
133 |
-
"mencionarão seu plug-in ou tema no cabeçalho do código-fonte."
|
134 |
-
|
135 |
-
#: includes/class.configurate-assets.php:142
|
136 |
-
msgid ""
|
137 |
-
"If for some reason you run into trouble, you can always enable everything "
|
138 |
-
"again to reset the settings."
|
139 |
-
msgstr ""
|
140 |
-
"Se por algum motivo você tiver problemas, poderá sempre ativar tudo "
|
141 |
-
"novamente para redefinir as configurações."
|
142 |
-
|
143 |
-
#: includes/class.configurate-assets.php:151
|
144 |
-
msgid "Save settings"
|
145 |
-
msgstr "Salvar configurações"
|
146 |
-
|
147 |
-
#: includes/class.configurate-assets.php:158
|
148 |
-
msgid "Hide panel in adminbar?"
|
149 |
-
msgstr "Ocultar painel em adminbar?"
|
150 |
-
|
151 |
-
#: includes/class.configurate-assets.php:169
|
152 |
-
msgid "State"
|
153 |
-
msgstr "Estado"
|
154 |
-
|
155 |
-
#: includes/class.configurate-assets.php:170
|
156 |
-
msgid "Size"
|
157 |
-
msgstr "Tamanho"
|
158 |
-
|
159 |
-
#: includes/class.configurate-assets.php:171
|
160 |
-
msgid "Script"
|
161 |
-
msgstr "Roteiro"
|
162 |
-
|
163 |
-
#: includes/class.configurate-assets.php:172
|
164 |
-
msgid "In use"
|
165 |
-
msgstr "Em uso"
|
166 |
-
|
167 |
-
#: includes/class.configurate-assets.php:173
|
168 |
-
msgid "Disable"
|
169 |
-
msgstr "Desabilitar"
|
170 |
-
|
171 |
-
#: includes/class.configurate-assets.php:174
|
172 |
-
msgid "Enable"
|
173 |
-
msgstr "Habilitar"
|
174 |
-
|
175 |
-
#: includes/class.configurate-assets.php:221
|
176 |
-
msgid "In use by"
|
177 |
-
msgstr "Em uso por"
|
178 |
-
|
179 |
-
#: includes/class.configurate-assets.php:248
|
180 |
-
msgid "Enabled"
|
181 |
-
msgstr "ativado"
|
182 |
-
|
183 |
-
#: includes/class.configurate-assets.php:253
|
184 |
-
msgid "Everywhere"
|
185 |
-
msgstr "Em toda parte"
|
186 |
-
|
187 |
-
#: includes/class.configurate-assets.php:260
|
188 |
-
#: includes/class.configurate-assets.php:283
|
189 |
-
msgid "Current URL"
|
190 |
-
msgstr "URL atual"
|
191 |
-
|
192 |
-
#: includes/class.configurate-assets.php:269
|
193 |
-
msgid "Disable everwhere to view enable settings."
|
194 |
msgstr "Desative o everwhere para visualizar as configurações de ativação."
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: clearfy\n"
|
4 |
+
"POT-Creation-Date: 2018-09-06 18:23+0300\n"
|
5 |
+
"PO-Revision-Date: 2018-09-06 18:23+0300\n"
|
6 |
+
"Last-Translator: alex.kovalevv@gmail.com <alex.kovalevv@gmail.com>\n"
|
7 |
+
"Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
|
8 |
+
"Language: pt_BR\n"
|
9 |
+
"MIME-Version: 1.0\n"
|
10 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
+
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"X-Generator: Poedit 2.1.1\n"
|
13 |
+
"X-Poedit-Basepath: ..\n"
|
14 |
+
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
15 |
+
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
16 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
17 |
+
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
18 |
+
"X-Poedit-SearchPath-0: .\n"
|
19 |
+
"X-Poedit-SearchPathExcluded-0: libs\n"
|
20 |
+
"X-Poedit-SearchPathExcluded-1: components\n"
|
21 |
+
"X-Poedit-SearchPathExcluded-2: cache\n"
|
22 |
+
|
23 |
+
#: admin/boot.php:32
|
24 |
+
msgid "Get ultimate plugin free"
|
25 |
+
msgstr "Obtenha o melhor plugin grátis"
|
26 |
+
|
27 |
+
#: admin/boot.php:57 admin/pages/assets-manager.php:101
|
28 |
+
msgid "Disable assets manager"
|
29 |
+
msgstr "Desativar gerente de ativos"
|
30 |
+
|
31 |
+
#: admin/boot.php:64 admin/pages/assets-manager.php:125
|
32 |
+
msgid "Disable assets manager panel"
|
33 |
+
msgstr "Desativar painel do gerenciador de ativos"
|
34 |
+
|
35 |
+
#: admin/boot.php:70 admin/pages/assets-manager.php:134
|
36 |
+
msgid "Disable assets manager on front"
|
37 |
+
msgstr "Desativar o gerente de ativos na frente"
|
38 |
+
|
39 |
+
#: admin/boot.php:76 admin/pages/assets-manager.php:143
|
40 |
+
msgid "Disable assets manager on back-end"
|
41 |
+
msgstr "Desativar gerenciador de ativos no back-end"
|
42 |
+
|
43 |
+
#: admin/boot.php:82
|
44 |
+
msgid "Assets manager options"
|
45 |
+
msgstr "Opções do gerente de ativos"
|
46 |
+
|
47 |
+
#: admin/pages/assets-manager.php:42 admin/pages/assets-manager.php:61
|
48 |
+
#: includes/class.configurate-assets.php:139
|
49 |
+
msgid "Assets manager"
|
50 |
+
msgstr "Gerente de Ativos"
|
51 |
+
|
52 |
+
#: admin/pages/assets-manager.php:62
|
53 |
+
msgid "General"
|
54 |
+
msgstr "Geral"
|
55 |
+
|
56 |
+
#: admin/pages/assets-manager.php:94
|
57 |
+
msgid "Disable unused scripts, styles, and fonts"
|
58 |
+
msgstr "Desativar scripts, estilos e fontes não utilizados"
|
59 |
+
|
60 |
+
#: admin/pages/assets-manager.php:94
|
61 |
+
msgid ""
|
62 |
+
"There is a button in the adminbar called \"Script Manager\". If you click on "
|
63 |
+
"it you will see a list of loaded scripts, styles and fonts on the current "
|
64 |
+
"page of your site. If you think that one of the assets is superfluous on "
|
65 |
+
"this page, you can disable it individually, so that it does not create "
|
66 |
+
"unnecessary queries when page loading. Use the script manager very carefull "
|
67 |
+
"to non-corrupt your website. We recommend to test this function at a local "
|
68 |
+
"server."
|
69 |
+
msgstr ""
|
70 |
+
"Existe um botão na barra de admin chamado \"Script Manager \". Se você "
|
71 |
+
"clicar nele, verá uma lista de scripts, estilos e fontes carregados na "
|
72 |
+
"página atual do seu site. Se você acha que um dos ativos é supérfluo nesta "
|
73 |
+
"página, você pode desativá-lo individualmente, para que ele não crie "
|
74 |
+
"consultas desnecessárias ao carregar a página. Use o gerenciador de scripts "
|
75 |
+
"com muito cuidado para não corromper seu site. Recomendamos testar essa "
|
76 |
+
"função em um servidor local."
|
77 |
+
|
78 |
+
#: admin/pages/assets-manager.php:103
|
79 |
+
msgid "Full disable of the module."
|
80 |
+
msgstr "Desabilitação total do módulo."
|
81 |
+
|
82 |
+
#: admin/pages/assets-manager.php:127
|
83 |
+
msgid ""
|
84 |
+
"By default in your admin bar there is a button for control the assets "
|
85 |
+
"scripts and styles. With this option, you can turn off the script manager on "
|
86 |
+
"front and back-end."
|
87 |
+
msgstr ""
|
88 |
+
"Por padrão, na barra de administração, existe um botão para controlar os "
|
89 |
+
"scripts e estilos de recursos. Com essa opção, você pode desativar o "
|
90 |
+
"gerenciador de scripts na frente e no final."
|
91 |
+
|
92 |
+
#: admin/pages/assets-manager.php:136
|
93 |
+
msgid "Disables assets manager initialization for frontend."
|
94 |
+
msgstr "Desativa a inicialização do gerenciador de ativos para o frontend."
|
95 |
+
|
96 |
+
#: admin/pages/assets-manager.php:145
|
97 |
+
msgid "Disables assets manager initialization for backend."
|
98 |
+
msgstr "Desativa a inicialização do gerenciador de ativos para o back-end."
|
99 |
+
|
100 |
+
#: gonzales.php:23
|
101 |
+
msgid ""
|
102 |
+
"We found that you use the plugin \"Clearfy - disable unused functions\", "
|
103 |
+
"this plugin already has the same functions as \"Assets manager\", so you can "
|
104 |
+
"disable the \"Assets manager\" plugin!"
|
105 |
+
msgstr ""
|
106 |
+
"Descobrimos que você usa o plugin \"Clearfy - desabilita funções não usadas "
|
107 |
+
"\", este plugin já tem as mesmas funções de \"Assets manager \", então você "
|
108 |
+
"pode desabilitar o plugin \"Assets manager \"!"
|
109 |
+
|
110 |
+
#: gonzales.php:80
|
111 |
+
msgid "Webcraftic assets manager"
|
112 |
+
msgstr "Gerente de ativos da webraftic"
|
113 |
+
|
114 |
+
#: includes/class.configurate-assets.php:94
|
115 |
+
#: includes/class.configurate-assets.php:114
|
116 |
+
msgid "Script Manager"
|
117 |
+
msgstr "Gerenciador de scripts"
|
118 |
+
|
119 |
+
#: includes/class.configurate-assets.php:141
|
120 |
+
msgid ""
|
121 |
+
"Below you can disable/enable CSS and JS files on a per page/post basis, as "
|
122 |
+
"well as by custom post types. We recommend testing this locally or on a "
|
123 |
+
"staging site first, as you could break the appearance of your live site. If "
|
124 |
+
"you aren't sure about a certain script, you can try clicking on it, as a lot "
|
125 |
+
"of authors will mention their plugin or theme in the header of the source "
|
126 |
+
"code."
|
127 |
+
msgstr ""
|
128 |
+
"Abaixo, você pode desativar / ativar arquivos CSS e JS em uma base por "
|
129 |
+
"página / postagem, bem como por tipos de postagem personalizados. "
|
130 |
+
"Recomendamos testar isso localmente ou em um site de teste primeiro, pois "
|
131 |
+
"você pode quebrar a aparência do site ao vivo. Se você não tem certeza sobre "
|
132 |
+
"um determinado script, pode tentar clicar nele, pois muitos autores "
|
133 |
+
"mencionarão seu plug-in ou tema no cabeçalho do código-fonte."
|
134 |
+
|
135 |
+
#: includes/class.configurate-assets.php:142
|
136 |
+
msgid ""
|
137 |
+
"If for some reason you run into trouble, you can always enable everything "
|
138 |
+
"again to reset the settings."
|
139 |
+
msgstr ""
|
140 |
+
"Se por algum motivo você tiver problemas, poderá sempre ativar tudo "
|
141 |
+
"novamente para redefinir as configurações."
|
142 |
+
|
143 |
+
#: includes/class.configurate-assets.php:151
|
144 |
+
msgid "Save settings"
|
145 |
+
msgstr "Salvar configurações"
|
146 |
+
|
147 |
+
#: includes/class.configurate-assets.php:158
|
148 |
+
msgid "Hide panel in adminbar?"
|
149 |
+
msgstr "Ocultar painel em adminbar?"
|
150 |
+
|
151 |
+
#: includes/class.configurate-assets.php:169
|
152 |
+
msgid "State"
|
153 |
+
msgstr "Estado"
|
154 |
+
|
155 |
+
#: includes/class.configurate-assets.php:170
|
156 |
+
msgid "Size"
|
157 |
+
msgstr "Tamanho"
|
158 |
+
|
159 |
+
#: includes/class.configurate-assets.php:171
|
160 |
+
msgid "Script"
|
161 |
+
msgstr "Roteiro"
|
162 |
+
|
163 |
+
#: includes/class.configurate-assets.php:172
|
164 |
+
msgid "In use"
|
165 |
+
msgstr "Em uso"
|
166 |
+
|
167 |
+
#: includes/class.configurate-assets.php:173
|
168 |
+
msgid "Disable"
|
169 |
+
msgstr "Desabilitar"
|
170 |
+
|
171 |
+
#: includes/class.configurate-assets.php:174
|
172 |
+
msgid "Enable"
|
173 |
+
msgstr "Habilitar"
|
174 |
+
|
175 |
+
#: includes/class.configurate-assets.php:221
|
176 |
+
msgid "In use by"
|
177 |
+
msgstr "Em uso por"
|
178 |
+
|
179 |
+
#: includes/class.configurate-assets.php:248
|
180 |
+
msgid "Enabled"
|
181 |
+
msgstr "ativado"
|
182 |
+
|
183 |
+
#: includes/class.configurate-assets.php:253
|
184 |
+
msgid "Everywhere"
|
185 |
+
msgstr "Em toda parte"
|
186 |
+
|
187 |
+
#: includes/class.configurate-assets.php:260
|
188 |
+
#: includes/class.configurate-assets.php:283
|
189 |
+
msgid "Current URL"
|
190 |
+
msgstr "URL atual"
|
191 |
+
|
192 |
+
#: includes/class.configurate-assets.php:269
|
193 |
+
msgid "Disable everwhere to view enable settings."
|
194 |
msgstr "Desative o everwhere para visualizar as configurações de ativação."
|
components/assets-manager/languages/gonzales-ru_RU.mo
CHANGED
Binary file
|
components/assets-manager/languages/gonzales-ru_RU.po
CHANGED
@@ -1,216 +1,574 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: clearfy\n"
|
4 |
-
"POT-Creation-Date: 2018-
|
5 |
-
"PO-Revision-Date: 2018-
|
6 |
-
"Last-Translator: alex.kovalevv@gmail.com <alex.kovalevv@gmail.com>\n"
|
7 |
-
"Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
|
8 |
-
"Language: ru_RU\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"X-Generator: Poedit 1.
|
13 |
-
"X-Poedit-Basepath:
|
14 |
-
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
15 |
-
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
16 |
-
"X-Poedit-SourceCharset: UTF-8\n"
|
17 |
-
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
18 |
-
"X-Poedit-SearchPath-0:
|
19 |
-
"X-Poedit-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
msgstr "
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
#:
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
#:
|
59 |
-
msgid ""
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
"
|
65 |
-
"
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
"
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
"
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
#:
|
113 |
-
msgid "
|
114 |
-
msgstr "
|
115 |
-
|
116 |
-
#:
|
117 |
-
|
118 |
-
"
|
119 |
-
"
|
120 |
-
|
121 |
-
|
122 |
-
"
|
123 |
-
"
|
124 |
-
|
125 |
-
|
126 |
-
"
|
127 |
-
"
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
"
|
132 |
-
"
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
"
|
140 |
-
msgstr ""
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
#:
|
161 |
-
msgid "
|
162 |
-
msgstr "
|
163 |
-
|
164 |
-
#:
|
165 |
-
msgid "
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: clearfy\n"
|
4 |
+
"POT-Creation-Date: 2018-10-16 15:56+0300\n"
|
5 |
+
"PO-Revision-Date: 2018-10-19 22:37+0300\n"
|
6 |
+
"Last-Translator: alex.kovalevv@gmail.com <alex.kovalevv@gmail.com>\n"
|
7 |
+
"Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
|
8 |
+
"Language: ru_RU\n"
|
9 |
+
"MIME-Version: 1.0\n"
|
10 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
+
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"X-Generator: Poedit 2.1.1\n"
|
13 |
+
"X-Poedit-Basepath: ../..\n"
|
14 |
+
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
15 |
+
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
16 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
17 |
+
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
18 |
+
"X-Poedit-SearchPath-0: assets-manager\n"
|
19 |
+
"X-Poedit-SearchPath-1: assets-manager-premium\n"
|
20 |
+
"X-Poedit-SearchPathExcluded-0: assets-manager/libs\n"
|
21 |
+
|
22 |
+
#: assets-manager-premium/admin/boot.php:46
|
23 |
+
msgid ""
|
24 |
+
"<strong>Assets manager Premium</strong><br>We did not find the installed "
|
25 |
+
"plugin \"Assets manager\". Please install the plugin \"Assets manager\" "
|
26 |
+
"first for premium functions!"
|
27 |
+
msgstr ""
|
28 |
+
"<strong>Менеджер скриптов премиум</strong><br> Мы не нашли установленный "
|
29 |
+
"копонент \"Менеджер скриптов\". Пожалуйста, установите копонент \"Менеджер "
|
30 |
+
"скриптов\" в первую очередь для премиум-функций!"
|
31 |
+
|
32 |
+
#: assets-manager-premium/assets-manager-premium.php:63
|
33 |
+
msgid "Webcraftic assets manager Premium"
|
34 |
+
msgstr "Webcraftic менеджер скриптов премиум"
|
35 |
+
|
36 |
+
#: assets-manager-premium/includes/class.configurate-assets.php:92
|
37 |
+
#: assets-manager/includes/class.configurate-assets.php:204
|
38 |
+
#: assets-manager/includes/class.configurate-assets.php:208
|
39 |
+
msgid "Total requests"
|
40 |
+
msgstr "Всего запросов"
|
41 |
+
|
42 |
+
#: assets-manager-premium/includes/class.configurate-assets.php:93
|
43 |
+
#: assets-manager/includes/class.configurate-assets.php:205
|
44 |
+
msgid "Total size"
|
45 |
+
msgstr "Общий вес"
|
46 |
+
|
47 |
+
#: assets-manager-premium/includes/class.configurate-assets.php:94
|
48 |
+
#: assets-manager/includes/class.configurate-assets.php:206
|
49 |
+
msgid "Optimized size"
|
50 |
+
msgstr "Оптим. вес"
|
51 |
+
|
52 |
+
#: assets-manager-premium/includes/class.configurate-assets.php:95
|
53 |
+
#: assets-manager/includes/class.configurate-assets.php:212
|
54 |
+
msgid "Disabled js"
|
55 |
+
msgstr "Отключено js"
|
56 |
+
|
57 |
+
#: assets-manager-premium/includes/class.configurate-assets.php:96
|
58 |
+
#: assets-manager/includes/class.configurate-assets.php:213
|
59 |
+
msgid "Disabled css"
|
60 |
+
msgstr "Отключено css"
|
61 |
+
|
62 |
+
#: assets-manager-premium/includes/class.configurate-assets.php:119
|
63 |
+
#: assets-manager/includes/class.configurate-assets.php:266
|
64 |
+
msgid "Safe mode"
|
65 |
+
msgstr "Безопасный режим"
|
66 |
+
|
67 |
+
#: assets-manager-premium/includes/class.configurate-assets.php:300
|
68 |
+
#: assets-manager/includes/class.configurate-assets.php:685
|
69 |
+
msgid "Example"
|
70 |
+
msgstr "Пример"
|
71 |
+
|
72 |
+
#: assets-manager-premium/includes/class.configurate-assets.php:300
|
73 |
+
#: assets-manager/includes/class.configurate-assets.php:685
|
74 |
+
msgid "Enter URL (set * for mask)"
|
75 |
+
msgstr "Введите URL (добавьте * для маски)"
|
76 |
+
|
77 |
+
#: assets-manager-premium/includes/class.configurate-assets.php:308
|
78 |
+
#: assets-manager-premium/includes/class.configurate-assets.php:316
|
79 |
+
#: assets-manager/includes/class.configurate-assets.php:688
|
80 |
+
msgid "Add field"
|
81 |
+
msgstr "Добавить"
|
82 |
+
|
83 |
+
#: assets-manager-premium/includes/class.configurate-assets.php:327
|
84 |
+
#: assets-manager/includes/class.configurate-assets.php:698
|
85 |
+
msgid "Enter regular expression"
|
86 |
+
msgstr "Введите регулярное выражение"
|
87 |
+
|
88 |
+
#: assets-manager-premium/includes/class.configurate-assets.php:532
|
89 |
+
msgid "Custom URL"
|
90 |
+
msgstr "Произвольный URL"
|
91 |
+
|
92 |
+
#: assets-manager-premium/includes/class.configurate-assets.php:533
|
93 |
+
msgid "Regular expression"
|
94 |
+
msgstr "Регулярное выражение"
|
95 |
+
|
96 |
+
#: assets-manager-premium/includes/class.configurate-assets.php:595
|
97 |
+
msgid "Set the plugin logic to apply it to all plugin’s resources."
|
98 |
+
msgstr ""
|
99 |
+
"Установите логику плагина, чтобы применить его ко всем ресурсам плагина."
|
100 |
+
|
101 |
+
#: assets-manager/admin/boot.php:48
|
102 |
+
#: assets-manager/admin/pages/assets-manager.php:89
|
103 |
+
msgid "Disable assets manager"
|
104 |
+
msgstr "Отключить менеджер скриптов"
|
105 |
+
|
106 |
+
#: assets-manager/admin/boot.php:55
|
107 |
+
#: assets-manager/admin/pages/assets-manager.php:113
|
108 |
+
msgid "Disable assets manager panel"
|
109 |
+
msgstr "Скрыть панель в админбаре"
|
110 |
+
|
111 |
+
#: assets-manager/admin/boot.php:61
|
112 |
+
#: assets-manager/admin/pages/assets-manager.php:122
|
113 |
+
msgid "Disable assets manager on front"
|
114 |
+
msgstr "Отключить менеджер скриптов на внешней стороне сайта"
|
115 |
+
|
116 |
+
#: assets-manager/admin/boot.php:67
|
117 |
+
#: assets-manager/admin/pages/assets-manager.php:131
|
118 |
+
msgid "Disable assets manager on back-end"
|
119 |
+
msgstr "Отключить менеджер скриптов в админпанели"
|
120 |
+
|
121 |
+
#: assets-manager/admin/boot.php:73
|
122 |
+
msgid "Assets manager options"
|
123 |
+
msgstr "Настройки менеджера скриптов"
|
124 |
+
|
125 |
+
#: assets-manager/admin/boot.php:86
|
126 |
+
msgid "Get ultimate plugin free"
|
127 |
+
msgstr "Получите полную версию плагина бесплатно"
|
128 |
+
|
129 |
+
#: assets-manager/admin/pages/assets-manager.php:48
|
130 |
+
#: assets-manager/admin/pages/assets-manager.php:67
|
131 |
+
msgid "Assets manager"
|
132 |
+
msgstr "Менеджер скриптов"
|
133 |
+
|
134 |
+
#: assets-manager/admin/pages/assets-manager.php:68
|
135 |
+
msgid "General"
|
136 |
+
msgstr "Основные"
|
137 |
+
|
138 |
+
#: assets-manager/admin/pages/assets-manager.php:82
|
139 |
+
msgid "Disable unused scripts, styles, and fonts"
|
140 |
+
msgstr "Отключите неиспользуемые скрипты, стили и шрифты"
|
141 |
+
|
142 |
+
#: assets-manager/admin/pages/assets-manager.php:82
|
143 |
+
msgid ""
|
144 |
+
"There is a button in the adminbar called \"Script Manager\". If you click on "
|
145 |
+
"it you will see a list of loaded scripts, styles and fonts on the current "
|
146 |
+
"page of your site. If you think that one of the assets is superfluous on "
|
147 |
+
"this page, you can disable it individually, so that it does not create "
|
148 |
+
"unnecessary queries when page loading. Use the script manager very carefull "
|
149 |
+
"to non-corrupt your website. We recommend to test this function at a local "
|
150 |
+
"server."
|
151 |
+
msgstr ""
|
152 |
+
"В админбаре есть кнопка под названием “Менеджер скриптов”, если на нее "
|
153 |
+
"нажать вы увидите список загружаемых скриптов, стилей и шрифтов на текущей "
|
154 |
+
"странице вашего сайта. Если вы считаете, что какой-то из ресурсов лишний на "
|
155 |
+
"этой странице, вы можете индивидуально его отключить, чтобы он не создавал "
|
156 |
+
"лишних запросов при загрузке. Используйте менеджер скриптов аккуратно, чтобы "
|
157 |
+
"не нарушить работу вашего сайта. Мы рекомендуем вам использовать локальный "
|
158 |
+
"сервер для тестирования этой функции."
|
159 |
+
|
160 |
+
#: assets-manager/admin/pages/assets-manager.php:91
|
161 |
+
msgid "Full disable of the module."
|
162 |
+
msgstr "Полностью отключает работу модуля."
|
163 |
+
|
164 |
+
#: assets-manager/admin/pages/assets-manager.php:115
|
165 |
+
msgid ""
|
166 |
+
"By default in your admin bar there is a button for control the assets "
|
167 |
+
"scripts and styles. With this option, you can turn off the script manager on "
|
168 |
+
"front and back-end."
|
169 |
+
msgstr ""
|
170 |
+
"По умолчанию в панели администратора есть кнопка для управления подключамыми "
|
171 |
+
"скриптами и стилями. Используя эту настроку вы можете скрыть эту панель из "
|
172 |
+
"админбара, чтобы она не занимала место."
|
173 |
+
|
174 |
+
#: assets-manager/admin/pages/assets-manager.php:124
|
175 |
+
msgid "Disables assets manager initialization for frontend."
|
176 |
+
msgstr "Отключает инициализацию менеджера лицензий на внешней стороне сайта."
|
177 |
+
|
178 |
+
#: assets-manager/admin/pages/assets-manager.php:133
|
179 |
+
msgid "Disables assets manager initialization for backend."
|
180 |
+
msgstr "Отключает инициализацию менеджера лицензий в админпанели сайта."
|
181 |
+
|
182 |
+
#: assets-manager/gonzales.php:63
|
183 |
+
msgid "Webcraftic assets manager"
|
184 |
+
msgstr "Webcraftic менеджер скриптов"
|
185 |
+
|
186 |
+
#: assets-manager/includes/class.configurate-assets.php:121
|
187 |
+
#: assets-manager/includes/class.configurate-assets.php:141
|
188 |
+
msgid "Script Manager"
|
189 |
+
msgstr "Менеджер скриптов"
|
190 |
+
|
191 |
+
#: assets-manager/includes/class.configurate-assets.php:208
|
192 |
+
msgid "Total weight"
|
193 |
+
msgstr "Общий вес"
|
194 |
+
|
195 |
+
#: assets-manager/includes/class.configurate-assets.php:208
|
196 |
+
msgid "Optimized weight"
|
197 |
+
msgstr "Оптим. вес"
|
198 |
+
|
199 |
+
#: assets-manager/includes/class.configurate-assets.php:215
|
200 |
+
msgid ""
|
201 |
+
"This is the general statistics to see the optimization result. Available in "
|
202 |
+
"the paid version only."
|
203 |
+
msgstr ""
|
204 |
+
"Это общая статистика, чтобы увидеть результат оптимизации. Доступно только в "
|
205 |
+
"платной версии."
|
206 |
+
|
207 |
+
#: assets-manager/includes/class.configurate-assets.php:219
|
208 |
+
msgid "Reset"
|
209 |
+
msgstr "Сбросить"
|
210 |
+
|
211 |
+
#: assets-manager/includes/class.configurate-assets.php:220
|
212 |
+
msgid "Save"
|
213 |
+
msgstr "Сохранить"
|
214 |
+
|
215 |
+
#: assets-manager/includes/class.configurate-assets.php:221
|
216 |
+
msgid ""
|
217 |
+
"In test mode, you can experiment with disabling unused scripts safely for "
|
218 |
+
"your site. The resources that you disabled will be visible only to you (the "
|
219 |
+
"administrator), and all other users will receive an unoptimized version of "
|
220 |
+
"the site, until you remove this tick"
|
221 |
+
msgstr ""
|
222 |
+
"В тестовом режиме можно поэкспериментировать с отключением неиспользуемых "
|
223 |
+
"скриптов безопасно для вашего сайта. Отключенные ресурсы будут видны только "
|
224 |
+
"вам (администратору), и все остальные пользователи получат "
|
225 |
+
"неоптимизированную версию сайта, пока вы не снимите галочку с этого элемента."
|
226 |
+
|
227 |
+
#: assets-manager/includes/class.configurate-assets.php:222
|
228 |
+
msgid "Safe mode <b>PRO</b>"
|
229 |
+
msgstr "Безопасный режим <b>PRO</b>"
|
230 |
+
|
231 |
+
#: assets-manager/includes/class.configurate-assets.php:224
|
232 |
+
msgid "Close"
|
233 |
+
msgstr "Закрыть"
|
234 |
+
|
235 |
+
#: assets-manager/includes/class.configurate-assets.php:254
|
236 |
+
msgid ""
|
237 |
+
"Important! Each page of your website has different sets of scripts and "
|
238 |
+
"styles files."
|
239 |
+
msgstr ""
|
240 |
+
"Важно! На каждой странице вашего сайта подключаются разные наборы файлов "
|
241 |
+
"скриптов и стилей. "
|
242 |
+
|
243 |
+
#: assets-manager/includes/class.configurate-assets.php:255
|
244 |
+
msgid ""
|
245 |
+
"Use this feature to disable unwanted scripts and styles by setting up the "
|
246 |
+
"logic for different types of pages. We recommend working in \"Safe mode\" "
|
247 |
+
"because disabling any necessary system script file can corrupt the website. "
|
248 |
+
"All changes done in Safe mode are available for administrator only. This way "
|
249 |
+
"only you, as the administrator, can see the result of optimization. To "
|
250 |
+
"enable the changes for other users, uncheck Safe mode."
|
251 |
+
msgstr ""
|
252 |
+
"Используйте этот инструмент для отключения неиспользуемых скриптов и стилей, "
|
253 |
+
"устанавливая логику для разных типов страниц. Мы рекомендуем вам работать в "
|
254 |
+
"“Безопасном режиме”, так как вы можете нарушить работу сайта, если отключите "
|
255 |
+
"системные файлы скриптов, без которых невозможна полноценная работа сайта. В "
|
256 |
+
"безопасном режиме, все ваши изменения будут работать только для "
|
257 |
+
"администратора, это необходимо для того, чтобы только вы могли увидеть "
|
258 |
+
"результат оптимизации. Чтобы изменения вступили в силу для всех остальных "
|
259 |
+
"пользователей, просто снимите галочку “Безопасный режим”. "
|
260 |
+
|
261 |
+
#: assets-manager/includes/class.configurate-assets.php:256
|
262 |
+
#, php-format
|
263 |
+
msgid ""
|
264 |
+
"For more details and user guides, check the plugin’s <a href=\"%s\" target="
|
265 |
+
"\"_blank\" rel=\"noreferrer noopener\">documentation</a>."
|
266 |
+
msgstr ""
|
267 |
+
"Более подробную информацию о работе с плагином можно найти в нашей <a href="
|
268 |
+
"\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">документации</a>."
|
269 |
+
|
270 |
+
#: assets-manager/includes/class.configurate-assets.php:259
|
271 |
+
msgid "Upgrade to Premium"
|
272 |
+
msgstr "Обновить до премиум"
|
273 |
+
|
274 |
+
#: assets-manager/includes/class.configurate-assets.php:262
|
275 |
+
msgid "MORE IN CLEARFY BUSINESS"
|
276 |
+
msgstr "БОЛЬШЕ В CLEARFY БИЗНЕС"
|
277 |
+
|
278 |
+
#: assets-manager/includes/class.configurate-assets.php:263
|
279 |
+
msgid "Disable plugins (groups of scripts)"
|
280 |
+
msgstr "Отключить плагины (группы скриптов)"
|
281 |
+
|
282 |
+
#: assets-manager/includes/class.configurate-assets.php:264
|
283 |
+
msgid "Conditions by the link template"
|
284 |
+
msgstr "Условия по шаблону ссылки"
|
285 |
+
|
286 |
+
#: assets-manager/includes/class.configurate-assets.php:265
|
287 |
+
msgid "Conditions by the regular expression"
|
288 |
+
msgstr "Условия по регулярному выражению"
|
289 |
+
|
290 |
+
#: assets-manager/includes/class.configurate-assets.php:267
|
291 |
+
msgid "Statistics and optimization results"
|
292 |
+
msgstr "Статистика и результаты оптимизации"
|
293 |
+
|
294 |
+
#: assets-manager/includes/class.configurate-assets.php:304
|
295 |
+
#: assets-manager/includes/class.configurate-assets.php:332
|
296 |
+
msgid "Loaded"
|
297 |
+
msgstr "Загружен"
|
298 |
+
|
299 |
+
#: assets-manager/includes/class.configurate-assets.php:305
|
300 |
+
msgid "Plugin"
|
301 |
+
msgstr "Плагин"
|
302 |
+
|
303 |
+
#: assets-manager/includes/class.configurate-assets.php:309
|
304 |
+
#: assets-manager/includes/class.configurate-assets.php:338
|
305 |
+
msgid "Load resource?"
|
306 |
+
msgstr "Загружать ресурс?"
|
307 |
+
|
308 |
+
#: assets-manager/includes/class.configurate-assets.php:310
|
309 |
+
#: assets-manager/includes/class.configurate-assets.php:339
|
310 |
+
msgid "Conditions"
|
311 |
+
msgstr "Условия"
|
312 |
+
|
313 |
+
#: assets-manager/includes/class.configurate-assets.php:318
|
314 |
+
msgid "Author"
|
315 |
+
msgstr "Автор"
|
316 |
+
|
317 |
+
#: assets-manager/includes/class.configurate-assets.php:319
|
318 |
+
#: assets-manager/includes/class.configurate-assets.php:398
|
319 |
+
msgid "Version"
|
320 |
+
msgstr "Версия"
|
321 |
+
|
322 |
+
#: assets-manager/includes/class.configurate-assets.php:333
|
323 |
+
msgid "Size"
|
324 |
+
msgstr "Размер"
|
325 |
+
|
326 |
+
#: assets-manager/includes/class.configurate-assets.php:334
|
327 |
+
msgid "Resource"
|
328 |
+
msgstr "Ресурс"
|
329 |
+
|
330 |
+
#: assets-manager/includes/class.configurate-assets.php:362
|
331 |
+
msgid "In use by"
|
332 |
+
msgstr "Используется "
|
333 |
+
|
334 |
+
#: assets-manager/includes/class.configurate-assets.php:369
|
335 |
+
msgid "Requires"
|
336 |
+
msgstr "Зависимости"
|
337 |
+
|
338 |
+
#: assets-manager/includes/class.configurate-assets.php:398
|
339 |
+
msgid "--"
|
340 |
+
msgstr ""
|
341 |
+
|
342 |
+
#: assets-manager/includes/class.configurate-assets.php:561
|
343 |
+
#: assets-manager/includes/class.configurate-assets.php:1406
|
344 |
+
msgid "No"
|
345 |
+
msgstr "Нет"
|
346 |
+
|
347 |
+
#: assets-manager/includes/class.configurate-assets.php:561
|
348 |
+
#: assets-manager/includes/class.configurate-assets.php:1406
|
349 |
+
msgid "Yes"
|
350 |
+
msgstr "Да"
|
351 |
+
|
352 |
+
#: assets-manager/includes/class.configurate-assets.php:577
|
353 |
+
msgid ""
|
354 |
+
"Click the switch in the <b>Load resource?</b> column to display the "
|
355 |
+
"conditions for loading the resource."
|
356 |
+
msgstr ""
|
357 |
+
"Щелкните переключатель в этой колонке <b>Загрузить ресурс?</b>, чтобы "
|
358 |
+
"отобразить условия для загрузки ресурса."
|
359 |
+
|
360 |
+
#: assets-manager/includes/class.configurate-assets.php:579
|
361 |
+
msgid ""
|
362 |
+
"Set the plugin logic to apply it to all plugin’s resources. This feature "
|
363 |
+
"available at the paid version."
|
364 |
+
msgstr ""
|
365 |
+
"Устанавливая логику для плагина, она будет примена для всех его ресурсов. "
|
366 |
+
"Данная возможность доступна только в платной версии плагина."
|
367 |
+
|
368 |
+
#: assets-manager/includes/class.configurate-assets.php:588
|
369 |
+
#: assets-manager/includes/class.configurate-assets.php:612
|
370 |
+
msgid "Current URL"
|
371 |
+
msgstr "Текущий URL"
|
372 |
+
|
373 |
+
#: assets-manager/includes/class.configurate-assets.php:589
|
374 |
+
msgid "Everywhere"
|
375 |
+
msgstr "Повсюду"
|
376 |
+
|
377 |
+
#: assets-manager/includes/class.configurate-assets.php:590
|
378 |
+
msgid "Custom URL (PRO)"
|
379 |
+
msgstr "Произвольная ссылка (PRO)"
|
380 |
+
|
381 |
+
#: assets-manager/includes/class.configurate-assets.php:591
|
382 |
+
msgid "Regular expression (PRO)"
|
383 |
+
msgstr "Регулярное выражение (PRO)"
|
384 |
+
|
385 |
+
#: assets-manager/includes/class.configurate-assets.php:601
|
386 |
+
msgid "Exclude"
|
387 |
+
msgstr "Исключить"
|
388 |
+
|
389 |
+
#: assets-manager/includes/class.configurate-assets.php:601
|
390 |
+
msgid ""
|
391 |
+
"You can disable this resource for all pages, except sections and page types "
|
392 |
+
"listed below. Specify sections and page types with the enabled resource."
|
393 |
+
msgstr ""
|
394 |
+
"Вы можете отключить этот ресурс на всех страницах вашего сайта, кроме "
|
395 |
+
"нижеперечисленных разделов и типов страниц. Отметьте разделы и типы страниц, "
|
396 |
+
"в которых вы не хотите отключать ресурс"
|
397 |
+
|
398 |
+
#: assets-manager/includes/class.configurate-assets.php:685
|
399 |
+
msgid ""
|
400 |
+
"You can disable the resource only for the pages with the matched to the "
|
401 |
+
"template address. For example, if you set the template for the link as "
|
402 |
+
"http://yoursite.test/profile/*, then the resource is disabled for the "
|
403 |
+
"following pages: http://yoursite.test/profile/12, http://yoursite.test/"
|
404 |
+
"profile/43, http://yoursite.test/profile/999. If you don’t use the asterisk "
|
405 |
+
"symbol in the template then the plugin will disable the resource only for "
|
406 |
+
"the pages with 100% match in the specified link type. This feature is "
|
407 |
+
"available at the paid version."
|
408 |
+
msgstr ""
|
409 |
+
"Вы можете отключить этот ресурс только на тех страницах, адрес которых будет "
|
410 |
+
"соответствовать установленному вами шаблону. К примеру, если вы установите "
|
411 |
+
"шаблон ссылки http://yoursite.test/profile/*, то ресурс будет отключен на "
|
412 |
+
"следующих страницах http://yoursite.test/profile/12, http://yoursite.test/"
|
413 |
+
"profile/43, http://yoursite.test/profile/999. Если вы не будете использовать "
|
414 |
+
"звездочку в вашем шаблоне, то плагин отключит ресурс, только на странице где "
|
415 |
+
"будет точное совпадение с установленной вами ссылкой. Эта функция доступна "
|
416 |
+
"только в платной версии плагина."
|
417 |
+
|
418 |
+
#: assets-manager/includes/class.configurate-assets.php:698
|
419 |
+
msgid ""
|
420 |
+
"Regular expressions can be used by experts. This tool creates flexible "
|
421 |
+
"conditions to disable the resource. For example, if you specify this "
|
422 |
+
"expression: ^([A-z0-9]+-)?gifts? then the resource will be disabled at the "
|
423 |
+
"following pages http://yoursite.test/get-gift/, http://yoursite.test/gift/, "
|
424 |
+
"http://yoursite.test/get-gifts/, http://yoursite.test/gifts/. The plugin "
|
425 |
+
"ignores the backslash at the beginning of the query string, so you can "
|
426 |
+
"dismiss it. Check your regular expressions in here: https://regex101.com, "
|
427 |
+
"this will prevent you from the mistakes. This feature is available at the "
|
428 |
+
"paid version."
|
429 |
+
msgstr ""
|
430 |
+
"Регулярные выражения используются экспертами. С помощью этого инструмента вы "
|
431 |
+
"можете создать более гибкие условия для отключения ресурса. К примеру, если "
|
432 |
+
"вы установите такое выражение: ^([A-z0-9]+-)?gifts?, то ресурс будет "
|
433 |
+
"отключен на страницах http://yoursite.test/get-gift/, http://yoursite.test/"
|
434 |
+
"gift/, http://yoursite.test/get-gifts/, http://yoursite.test/gifts/. Плагин "
|
435 |
+
"игнорирует обратный слеш в начале строки запроса, поэтому вы можете его "
|
436 |
+
"пропустить. Проверяйте свое регулярное выражение с помощью сервиса https://"
|
437 |
+
"regex101.com, чтобы вы были точно уверены, что в вашем регулярном выражении "
|
438 |
+
"нет ошибки. Эта функция доступна только в платной версии плагина."
|
439 |
+
|
440 |
+
#: assets-manager/includes/class.configurate-assets.php:718
|
441 |
+
msgid "Also disabled for pages"
|
442 |
+
msgstr "Также отключен для страниц"
|
443 |
+
|
444 |
+
#: assets-manager/includes/class.configurate-assets.php:1293
|
445 |
+
msgid "Minify and Combine"
|
446 |
+
msgstr "Минификация"
|
447 |
+
|
448 |
+
#: assets-manager/includes/class.configurate-assets.php:1315
|
449 |
+
msgid "remove version?"
|
450 |
+
msgstr "Удалить версию?"
|
451 |
+
|
452 |
+
#: assets-manager/includes/class.configurate-assets.php:1315
|
453 |
+
msgid "optimize?"
|
454 |
+
msgstr "оптимизировать?"
|
455 |
+
|
456 |
+
#: assets-manager/includes/class.configurate-assets.php:1319
|
457 |
+
msgid ""
|
458 |
+
"You’ve enabled "Remove query strings" from static resources in the "
|
459 |
+
""Clearfy" plugin. This list of settings helps you to exclude the "
|
460 |
+
"necessary scripts and styles with remaining query strings. Press No to add a "
|
461 |
+
"file to the excluded list."
|
462 |
+
msgstr ""
|
463 |
+
"Вы включили опцию "Удалить переменные запроса для статических "
|
464 |
+
"ресурсов" в плагине "Clearfy", в этой колонке настроек вы можете "
|
465 |
+
"исключить скрипты и стили, для которых вы хотите оставить переменые запроса. "
|
466 |
+
"Просто выберите \"Нет\", чтобы добавить файл в исключения.."
|
467 |
+
|
468 |
+
#: assets-manager/includes/class.configurate-assets.php:1321
|
469 |
+
msgid ""
|
470 |
+
"You’ve enabled the "Optimize js scripts?" and "Optimize CSS "
|
471 |
+
"options" in the "Minify & Combine plugin". These settings "
|
472 |
+
"exclude scripts and styles that you don’t want to optimize. Press No to add "
|
473 |
+
"a file to the excluded list."
|
474 |
+
msgstr ""
|
475 |
+
"Вы включили опцию "Оптимизировать js скрипты?" и "Оптимизировать "
|
476 |
+
"css" в плагине "Сжатие и Объединения". С помощью этой колонки "
|
477 |
+
"настроек, вы можете исключить скрипты и стили, которые вы не хотите "
|
478 |
+
"оптимизировать. Чтобы добавить файл в исключения просто нажмите кнопку \"Нет"
|
479 |
+
"\"."
|
480 |
+
|
481 |
+
#: assets-manager/includes/class.configurate-assets.php:1323
|
482 |
+
msgid ""
|
483 |
+
"You’ve enabled the "Optimize js scripts?" and "Optimize CSS "
|
484 |
+
"options" in the "Autoptimize". These settings exclude scripts "
|
485 |
+
"and styles that you don’t want to optimize. Press No to add a file to the "
|
486 |
+
"excluded list."
|
487 |
+
msgstr ""
|
488 |
+
"Вы включили опцию "Оптимизировать js скрипты?" и "Оптимизировать "
|
489 |
+
"css" в плагине "Autoptimize". С помощью этой колонки настроек, "
|
490 |
+
"вы можете исключить скрипты и стили, которые вы не хотите оптимизировать. "
|
491 |
+
"Чтобы добавить файл в исключения просто нажмите кнопку \"Нет\"."
|
492 |
+
|
493 |
+
#~ msgid ""
|
494 |
+
#~ "We found that you use the plugin \"Clearfy - disable unused functions\", "
|
495 |
+
#~ "this plugin already has the same functions as \"Assets manager\", so you "
|
496 |
+
#~ "can disable the \"Assets manager\" plugin!"
|
497 |
+
#~ msgstr ""
|
498 |
+
#~ "Мы обнаружили, что вы используете плагин \"Clearfy - disable unused "
|
499 |
+
#~ "features\", этот плагин включает функционал \"WP Asset CleanUp\", вы "
|
500 |
+
#~ "можете деактивировать плагин \"Менеджер скриптов\"!"
|
501 |
+
|
502 |
+
#~ msgid ""
|
503 |
+
#~ "Below you can disable/enable CSS and JS files on a per page/post basis, "
|
504 |
+
#~ "as well as by custom post types. We recommend testing this locally or on "
|
505 |
+
#~ "a staging site first, as you could break the appearance of your live "
|
506 |
+
#~ "site. If you aren't sure about a certain script, you can try clicking on "
|
507 |
+
#~ "it, as a lot of authors will mention their plugin or theme in the header "
|
508 |
+
#~ "of the source code."
|
509 |
+
#~ msgstr ""
|
510 |
+
#~ "Ниже вы можете включить/отключить использование CSS и JS файлов в "
|
511 |
+
#~ "записях, произвольных типах записей или страницах. Мы рекомендуем вам "
|
512 |
+
#~ "эксперементировать со скриптами на локальном хостинге или тестом сайте, "
|
513 |
+
#~ "так как вы можете нарушить работу сайта, если отключите системные файлы "
|
514 |
+
#~ "скриптов, без которых невозможна полноценная работа сайта. Если вы не "
|
515 |
+
#~ "уверены, для чего используется тот или иной файл, попробуйте нажать на "
|
516 |
+
#~ "ссылку под его заголовком, в открывшемся файле вы можете увидеть "
|
517 |
+
#~ "комментарий разработчика с ссылкой на описание плагина. Получив "
|
518 |
+
#~ "достаточную информацию о функциях плагина, вы сможете более уверенно "
|
519 |
+
#~ "включать или отключать его стили и скрипты."
|
520 |
+
|
521 |
+
#~ msgid ""
|
522 |
+
#~ "If for some reason you run into trouble, you can always enable everything "
|
523 |
+
#~ "again to reset the settings."
|
524 |
+
#~ msgstr ""
|
525 |
+
#~ "Если по какой-то причине вы столкнулись с проблемами, вы всегда можете "
|
526 |
+
#~ "включить все опции, чтобы сбросить настройки."
|
527 |
+
|
528 |
+
#~ msgid "Save settings"
|
529 |
+
#~ msgstr "Сохранить"
|
530 |
+
|
531 |
+
#~ msgid "Hide panel in adminbar?"
|
532 |
+
#~ msgstr "Скрыть панель из админбара?"
|
533 |
+
|
534 |
+
#~ msgid "State"
|
535 |
+
#~ msgstr "Состояние"
|
536 |
+
|
537 |
+
#~ msgid "Script"
|
538 |
+
#~ msgstr "Скрипт"
|
539 |
+
|
540 |
+
#~ msgid "In use"
|
541 |
+
#~ msgstr "Используется"
|
542 |
+
|
543 |
+
#~ msgid "Disable"
|
544 |
+
#~ msgstr "Отключить"
|
545 |
+
|
546 |
+
#~ msgid "Enable"
|
547 |
+
#~ msgstr "Включить"
|
548 |
+
|
549 |
+
#~ msgid "Enabled"
|
550 |
+
#~ msgstr "Включить"
|
551 |
+
|
552 |
+
#~ msgid "Disable everwhere to view enable settings."
|
553 |
+
#~ msgstr ""
|
554 |
+
#~ "Нужно включить опцию \"повсюду\", чтобы увидеть дополнительные настройки."
|
555 |
+
|
556 |
+
#~ msgid ""
|
557 |
+
#~ "We found that you use the plugin \"Clearfy - disable unused functions\", "
|
558 |
+
#~ "this plugin already has the same functions as \"WP Asset CleanUp\", so "
|
559 |
+
#~ "you can disable the \"WP Asset CleanUp\" plugin!"
|
560 |
+
#~ msgstr ""
|
561 |
+
#~ "Мы обнаружили, что вы используете плагин \"Clearfy - disable unused "
|
562 |
+
#~ "features\", этот плагин включает функционал \"WP Asset CleanUp\", вы "
|
563 |
+
#~ "можете деактивировать плагин \"WP Asset CleanUp\"!"
|
564 |
+
|
565 |
+
#~ msgid "Webcraftic Assets manager"
|
566 |
+
#~ msgstr "Webcraftic менеджер скриптов"
|
567 |
+
|
568 |
+
#~ msgid ""
|
569 |
+
#~ "We found that you have the \"Clearfy - disable unused features\" plugin "
|
570 |
+
#~ "installed, this plugin already has disable comments functions, so you can "
|
571 |
+
#~ "deactivate plugin \"WP Asset CleanUp\"!"
|
572 |
+
#~ msgstr ""
|
573 |
+
#~ "Мы обнаружили, что вы используете плагин \"Clearfy - disable unused "
|
574 |
+
#~ "features\", этот плагин"
|
components/assets-manager/readme.txt
CHANGED
@@ -3,7 +3,7 @@ Tags: dequeue script, dequeue style, pagespeed, speed, unload style, gonzales, a
|
|
3 |
Contributors: webcraftic
|
4 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VDX7JNTQPNPFW
|
5 |
Requires at least: 4.2
|
6 |
-
Tested up to:
|
7 |
Requires PHP: 5.2
|
8 |
Stable tag: trunk
|
9 |
License: GPLv2
|
@@ -59,6 +59,22 @@ We invite you to check out a few other related free plugins that our team has al
|
|
59 |
2. Assets manager
|
60 |
|
61 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
62 |
= 1.0.4 =
|
63 |
* Fixed: Update core
|
64 |
* Fixed: Compatibility with others plugin
|
3 |
Contributors: webcraftic
|
4 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VDX7JNTQPNPFW
|
5 |
Requires at least: 4.2
|
6 |
+
Tested up to: 5.0
|
7 |
Requires PHP: 5.2
|
8 |
Stable tag: trunk
|
9 |
License: GPLv2
|
59 |
2. Assets manager
|
60 |
|
61 |
== Changelog ==
|
62 |
+
= 1.0.7 =
|
63 |
+
* Fixed: Added compatibility with ithemes sync
|
64 |
+
* Fixed: Minor style fixes
|
65 |
+
|
66 |
+
= 1.0.6 =
|
67 |
+
* Fixed: Fixed a bug when the interface did not open on the frontend.
|
68 |
+
|
69 |
+
= 1.0.5 =
|
70 |
+
Great update:
|
71 |
+
* We completely changed the interface design. Now it is more convenient for visual inspection of resource files.
|
72 |
+
* Fixed: All errors that users have reported about
|
73 |
+
* Added: Multisite support
|
74 |
+
* Added: New logic disabled scripts and styles
|
75 |
+
* Added: You can exclude assets from optimizing for Autoptimize and Clearfy plugins.
|
76 |
+
* Added: You can exclude resource files for which you do not need to remove the query string.
|
77 |
+
* Added: You can see which plugin the style file belongs to and the js file.
|
78 |
= 1.0.4 =
|
79 |
* Fixed: Update core
|
80 |
* Fixed: Compatibility with others plugin
|
components/assets-manager/uninstall.php
CHANGED
@@ -8,6 +8,37 @@
|
|
8 |
// remove plugin options
|
9 |
global $wpdb;
|
10 |
|
11 |
-
|
12 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
|
|
|
|
|
|
|
|
|
|
|
|
8 |
// remove plugin options
|
9 |
global $wpdb;
|
10 |
|
11 |
+
if( !function_exists('is_plugin_active_for_network') ) {
|
12 |
+
require_once(ABSPATH . 'wp-admin/includes/plugin.php');
|
13 |
+
}
|
14 |
+
|
15 |
+
function uninstall()
|
16 |
+
{
|
17 |
+
// remove plugin options
|
18 |
+
global $wpdb;
|
19 |
+
|
20 |
+
$wpdb->query("DELETE FROM {$wpdb->options} WHERE option_name LIKE 'wbcr_gonzales_%';");
|
21 |
+
$wpdb->query("DELETE FROM {$wpdb->options} WHERE option_name LIKE 'wbcr_gnz_%';");
|
22 |
+
}
|
23 |
+
|
24 |
+
if( is_multisite() ) {
|
25 |
+
global $wpdb, $wp_version;
|
26 |
+
|
27 |
+
$wpdb->query("DELETE FROM {$wpdb->sitemeta} WHERE meta_key LIKE 'wbcr_gonzales_%';");
|
28 |
+
$wpdb->query("DELETE FROM {$wpdb->sitemeta} WHERE meta_key LIKE 'wbcr_gnz_%';");
|
29 |
+
|
30 |
+
$blogs = $wpdb->get_col("SELECT blog_id FROM $wpdb->blogs");
|
31 |
+
|
32 |
+
if( !empty($blogs) ) {
|
33 |
+
foreach($blogs as $id) {
|
34 |
+
|
35 |
+
switch_to_blog($id);
|
36 |
+
|
37 |
+
uninstall();
|
38 |
|
39 |
+
restore_current_blog();
|
40 |
+
}
|
41 |
+
}
|
42 |
+
} else {
|
43 |
+
uninstall();
|
44 |
+
}
|
components/assets-manager/updates/010100.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
* Updates for altering the table used to store statistics data.
|
5 |
* Adds new columns and renames existing ones in order to add support for the new social buttons.
|
6 |
*/
|
7 |
-
class WGZUpdate010100 extends
|
8 |
|
9 |
public function install()
|
10 |
{
|
4 |
* Updates for altering the table used to store statistics data.
|
5 |
* Adds new columns and renames existing ones in order to add support for the new social buttons.
|
6 |
*/
|
7 |
+
class WGZUpdate010100 extends Wbcr_Factory409_Update {
|
8 |
|
9 |
public function install()
|
10 |
{
|
components/comments-plus/admin/assets/css/general.css
DELETED
@@ -1,455 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* General styles
|
3 |
-
* @author Alex Kovalev <alex.kovalevv@gmail.com>
|
4 |
-
* @copyright Alex Kovalev 23.08.2017
|
5 |
-
*/
|
6 |
-
#WBCR {
|
7 |
-
position: relative;
|
8 |
-
/**
|
9 |
-
Widget in the sidebar of the plugin
|
10 |
-
*/
|
11 |
-
/*#wbcr-clearfy_robots_txt_text {
|
12 |
-
min-height: 200px;
|
13 |
-
}*/
|
14 |
-
}
|
15 |
-
#WBCR .alert.alert-success {
|
16 |
-
margin: 0px;
|
17 |
-
margin-top: 10px;
|
18 |
-
margin-bottom: 10px;
|
19 |
-
font-weight: bold;
|
20 |
-
padding: 10px;
|
21 |
-
}
|
22 |
-
#WBCR .wbcr-factory-light-orange-color {
|
23 |
-
color: #ffeb3b;
|
24 |
-
}
|
25 |
-
#WBCR .wbcr-clearfy-header {
|
26 |
-
padding: 20px 20px 40px;
|
27 |
-
}
|
28 |
-
#WBCR .factory-bootstrap-406 label {
|
29 |
-
font-weight: normal;
|
30 |
-
}
|
31 |
-
#WBCR .factory-bootstrap-406 .form-horizontal .control-label {
|
32 |
-
max-width: 300px;
|
33 |
-
}
|
34 |
-
#WBCR .factory-control-buttons {
|
35 |
-
text-align: right;
|
36 |
-
padding-right: 20px;
|
37 |
-
}
|
38 |
-
#WBCR .factory-from-control-list label span {
|
39 |
-
display: inline-block;
|
40 |
-
vertical-align: bottom;
|
41 |
-
}
|
42 |
-
#WBCR .factory-from-control-list label span input[type="checkbox"],
|
43 |
-
#WBCR .factory-from-control-list label span input[type="checkbox"]:focus {
|
44 |
-
outline: none;
|
45 |
-
}
|
46 |
-
#WBCR .wbcr-clearfy-recomended-text {
|
47 |
-
display: block;
|
48 |
-
font-size: 11px;
|
49 |
-
font-weight: lighter;
|
50 |
-
color: #179347;
|
51 |
-
}
|
52 |
-
#WBCR .wbcr-clearfy-group-header {
|
53 |
-
background: #f9f9f9;
|
54 |
-
padding: 30px 0 10px 40px;
|
55 |
-
margin-bottom: 20px;
|
56 |
-
}
|
57 |
-
#WBCR .wbcr-clearfy-group-header strong {
|
58 |
-
font-size: 15px;
|
59 |
-
}
|
60 |
-
#WBCR .wbcr-clearfy-group-header p {
|
61 |
-
color: #8c8888;
|
62 |
-
font-size: 12px;
|
63 |
-
}
|
64 |
-
#WBCR .wbcr-clr-options,
|
65 |
-
#WBCR .wbcr-clr-page {
|
66 |
-
position: relative;
|
67 |
-
background: #fff;
|
68 |
-
padding-left: 230px;
|
69 |
-
}
|
70 |
-
#WBCR .wbcr-clr-options form.form-horizontal,
|
71 |
-
#WBCR .wbcr-clr-page form.form-horizontal {
|
72 |
-
min-height: 800px;
|
73 |
-
padding: 130px 20px 50px 20px;
|
74 |
-
}
|
75 |
-
#WBCR .wbcr-clr-page {
|
76 |
-
min-height: 800px;
|
77 |
-
padding: 80px 20px 50px 230px;
|
78 |
-
}
|
79 |
-
#WBCR .wbcr-clearfy-dashboard-header {
|
80 |
-
position: absolute;
|
81 |
-
z-index: 13;
|
82 |
-
top: 0;
|
83 |
-
left: 0;
|
84 |
-
right: 0;
|
85 |
-
overflow: hidden;
|
86 |
-
background-color: #32373c;
|
87 |
-
color: #fff;
|
88 |
-
border-radius: 5px 5px 0 0;
|
89 |
-
}
|
90 |
-
#WBCR .wbcr-clearfy-dashboard-header .wbcr-clearfy-header-logo {
|
91 |
-
float: left;
|
92 |
-
padding: 25px 0;
|
93 |
-
font-size: 20px;
|
94 |
-
line-height: 30px;
|
95 |
-
font-weight: 400;
|
96 |
-
text-align: center;
|
97 |
-
width: 170px;
|
98 |
-
background-color: #464b50;
|
99 |
-
color: #ccc;
|
100 |
-
padding-left: 25px;
|
101 |
-
background: none;
|
102 |
-
}
|
103 |
-
#WBCR .wbcr-clearfy-dashboard-header .wbcr-clearfy-header-title {
|
104 |
-
display: inline-block;
|
105 |
-
vertical-align: middle;
|
106 |
-
}
|
107 |
-
#WBCR .wbcr-clearfy-dashboard-header .wbcr-clearfy-header-title h2 {
|
108 |
-
font-size: 18px;
|
109 |
-
line-height: 30px;
|
110 |
-
font-weight: 300;
|
111 |
-
margin-top: 26px;
|
112 |
-
padding: 0 !important;
|
113 |
-
overflow: hidden;
|
114 |
-
white-space: nowrap;
|
115 |
-
text-overflow: ellipsis;
|
116 |
-
color: #fff;
|
117 |
-
}
|
118 |
-
#WBCR .wbcr-clearfy-dashboard-header .wbcr-clearfy-header-title .updated {
|
119 |
-
display: none !important;
|
120 |
-
}
|
121 |
-
#WBCR .wbcr-clearfy-dashboard-header .wbcr-clearfy-control {
|
122 |
-
position: relative;
|
123 |
-
float: right;
|
124 |
-
margin: 12px;
|
125 |
-
}
|
126 |
-
#WBCR .wbcr-clearfy-dashboard-header .wbcr-clearfy-control input[type="submit"] {
|
127 |
-
display: inline-block;
|
128 |
-
vertical-align: top;
|
129 |
-
font-size: 13px;
|
130 |
-
font-weight: 600;
|
131 |
-
line-height: 20px;
|
132 |
-
text-transform: uppercase;
|
133 |
-
margin: 10px 0 0;
|
134 |
-
padding: 8px 30px;
|
135 |
-
cursor: pointer;
|
136 |
-
position: relative;
|
137 |
-
overflow: hidden;
|
138 |
-
border: none;
|
139 |
-
border-radius: 50px;
|
140 |
-
box-shadow: 0 -1px 0 rgba(0, 0, 0, 0.08) inset;
|
141 |
-
background-color: #f1f1f1;
|
142 |
-
color: inherit;
|
143 |
-
transition: background-color 0.3s, border-color 0.3s, color 0.3s, opacity 0.3s;
|
144 |
-
text-align: center;
|
145 |
-
outline: none;
|
146 |
-
z-index: 3;
|
147 |
-
}
|
148 |
-
#WBCR .wbcr-clearfy-dashboard-header .wbcr-clearfy-control input[type="submit"].wbcr-clearfy-type-save {
|
149 |
-
box-shadow: none;
|
150 |
-
min-width: 200px;
|
151 |
-
background-color: #8bc34a;
|
152 |
-
color: #fff;
|
153 |
-
}
|
154 |
-
#WBCR .wbcr-clearfy-dashboard-header .wbcr-clearfy-control input[type="submit"].wbcr-clearfy-type-save:hover {
|
155 |
-
background: #9dbb7b;
|
156 |
-
color: #fff;
|
157 |
-
}
|
158 |
-
#WBCR .wbcr-clearfy-dashboard-header .wbcr-clearfy-control input[type="submit"].wbcr-clearfy-type-save:active {
|
159 |
-
box-shadow: inset -1px 1px 1px rgba(0, 0, 0, 0.3);
|
160 |
-
}
|
161 |
-
#WBCR .wbcr-clearfy-left-navigation-bar {
|
162 |
-
position: absolute;
|
163 |
-
left: 0;
|
164 |
-
top: 0;
|
165 |
-
bottom: 0;
|
166 |
-
width: 230px;
|
167 |
-
background: #e6e6e6;
|
168 |
-
}
|
169 |
-
#WBCR .wbcr-clearfy-left-navigation-bar ul {
|
170 |
-
margin-top: 80px;
|
171 |
-
}
|
172 |
-
#WBCR .wbcr-clearfy-left-navigation-bar ul .wbcr-clearfy-nav-tab {
|
173 |
-
display: block;
|
174 |
-
background: #efefef;
|
175 |
-
margin: 1px 0;
|
176 |
-
}
|
177 |
-
#WBCR .wbcr-clearfy-left-navigation-bar ul .wbcr-clearfy-nav-tab a {
|
178 |
-
display: block;
|
179 |
-
width: 100%;
|
180 |
-
padding: 20px 20px;
|
181 |
-
font-size: 12px;
|
182 |
-
color: #9a9a9a;
|
183 |
-
text-decoration: none;
|
184 |
-
text-transform: uppercase;
|
185 |
-
}
|
186 |
-
#WBCR .wbcr-clearfy-left-navigation-bar ul .wbcr-clearfy-nav-tab a:hover {
|
187 |
-
background: #f7f6f6;
|
188 |
-
}
|
189 |
-
#WBCR .wbcr-clearfy-left-navigation-bar ul .wbcr-clearfy-nav-tab a,
|
190 |
-
#WBCR .wbcr-clearfy-left-navigation-bar ul .wbcr-clearfy-nav-tab a:active,
|
191 |
-
#WBCR .wbcr-clearfy-left-navigation-bar ul .wbcr-clearfy-nav-tab a:hover,
|
192 |
-
#WBCR .wbcr-clearfy-left-navigation-bar ul .wbcr-clearfy-nav-tab a:active,
|
193 |
-
#WBCR .wbcr-clearfy-left-navigation-bar ul .wbcr-clearfy-nav-tab a:focus {
|
194 |
-
outline: 0 !important;
|
195 |
-
box-shadow: none !important;
|
196 |
-
}
|
197 |
-
#WBCR .wbcr-clearfy-left-navigation-bar ul .wbcr-clearfy-nav-tab.wbcr-clearfy-active-tab {
|
198 |
-
background: #fff;
|
199 |
-
}
|
200 |
-
#WBCR .wbcr-clearfy-left-navigation-bar ul .wbcr-clearfy-nav-tab.wbcr-clearfy-active-tab a {
|
201 |
-
color: #222;
|
202 |
-
}
|
203 |
-
#WBCR .wbcr-clearfy-sidebar-widget {
|
204 |
-
display: inline-block;
|
205 |
-
min-height: 230px;
|
206 |
-
width: 100%;
|
207 |
-
margin-top: 20px;
|
208 |
-
background-color: #fff;
|
209 |
-
padding: 20px 15px;
|
210 |
-
vertical-align: top;
|
211 |
-
}
|
212 |
-
#WBCR .wbcr-clearfy-sidebar-widget .wbcr-clearfy-hint-icon-simple {
|
213 |
-
display: inline-block;
|
214 |
-
width: 16px;
|
215 |
-
height: 16px;
|
216 |
-
line-height: 15px;
|
217 |
-
padding: 0;
|
218 |
-
font-size: 11px;
|
219 |
-
text-align: center;
|
220 |
-
color: #fff;
|
221 |
-
background: #E91E63;
|
222 |
-
border-radius: 3px;
|
223 |
-
}
|
224 |
-
#WBCR .wbcr-clearfy-sidebar-widget .wbcr-clearfy-simple-grey {
|
225 |
-
background: #E91E63;
|
226 |
-
}
|
227 |
-
#WBCR .wbcr-clearfy-sidebar-widget .wbcr-clearfy-simple-red {
|
228 |
-
background: #9e9e9e;
|
229 |
-
}
|
230 |
-
#WBCR .wbcr-clearfy-sidebar-widget .wbcr-clearfy-simple-green {
|
231 |
-
background: #8bc34a;
|
232 |
-
}
|
233 |
-
#WBCR .wbcr-clearfy-sidebar-widget .wbcr-clearfy-icon-5stars {
|
234 |
-
display: block;
|
235 |
-
width: 80px;
|
236 |
-
height: 17px;
|
237 |
-
background: url('../img/5-stars22.png') no-repeat;
|
238 |
-
vertical-align: middle;
|
239 |
-
margin-bottom: 5px;
|
240 |
-
}
|
241 |
-
#WBCR .wbcr-clearfy-board {
|
242 |
-
background: #f9f8f8;
|
243 |
-
box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.1);
|
244 |
-
padding: 20px;
|
245 |
-
margin-top: 20px;
|
246 |
-
}
|
247 |
-
#WBCR #wbcr-clearfy-quick-mode-board {
|
248 |
-
padding: 30px;
|
249 |
-
margin-top: 20px;
|
250 |
-
}
|
251 |
-
#WBCR #wbcr-clearfy-quick-mode-board h4 {
|
252 |
-
margin-top: 30px;
|
253 |
-
}
|
254 |
-
#WBCR .wbcr-clearfy-switch-success-message,
|
255 |
-
#WBCR .wbcr-clearfy-switch-error-message {
|
256 |
-
display: none;
|
257 |
-
padding: 15px 20px;
|
258 |
-
font-size: 13px;
|
259 |
-
font-weight: bold;
|
260 |
-
margin: 15px 0 0;
|
261 |
-
border-radius: 4px;
|
262 |
-
}
|
263 |
-
#WBCR .wbcr-clearfy-switch-success-message {
|
264 |
-
background: #e5f9ce;
|
265 |
-
border-bottom: 3px solid #d3eab9;
|
266 |
-
color: #56614a;
|
267 |
-
}
|
268 |
-
#WBCR .wbcr-clearfy-switch-error-message {
|
269 |
-
background: #fdc6c2;
|
270 |
-
border-bottom: 3px solid #e2a19c;
|
271 |
-
color: #bd6963;
|
272 |
-
}
|
273 |
-
#WBCR .wbcr-clearfy-export-import-board {
|
274 |
-
text-align: right;
|
275 |
-
}
|
276 |
-
#WBCR .wbcr-clearfy-export-import-board label {
|
277 |
-
display: block;
|
278 |
-
width: 100%;
|
279 |
-
text-align: left;
|
280 |
-
padding: 7px 0;
|
281 |
-
}
|
282 |
-
#WBCR .wbcr-clearfy-export-import-board #wbcr-clearfy-import-export {
|
283 |
-
width: 100%;
|
284 |
-
box-sizing: border-box;
|
285 |
-
height: 150px;
|
286 |
-
line-height: inherit;
|
287 |
-
margin: 0;
|
288 |
-
padding: 7px 14px;
|
289 |
-
box-shadow: none;
|
290 |
-
border-radius: 3px;
|
291 |
-
border: 1px solid #eee;
|
292 |
-
border-top-color: #dedede;
|
293 |
-
background-color: #f1f1f1;
|
294 |
-
color: #444;
|
295 |
-
transition: border-color 0.3s;
|
296 |
-
-webkit-appearance: none;
|
297 |
-
}
|
298 |
-
#WBCR .wbcr-clearfy-export-import-board .wbcr-clearfy-import-options-button {
|
299 |
-
display: inline-block;
|
300 |
-
margin-top: 10px;
|
301 |
-
}
|
302 |
-
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch {
|
303 |
-
position: relative;
|
304 |
-
padding: 20px;
|
305 |
-
font-size: 11px;
|
306 |
-
text-transform: uppercase;
|
307 |
-
background: #f1f1f1;
|
308 |
-
margin-top: 10px;
|
309 |
-
border: 2px solid #e0dfdf;
|
310 |
-
text-align: center;
|
311 |
-
-webkit-transition: all 0.2s ease-out;
|
312 |
-
-moz-transition: all 0.2s ease-out;
|
313 |
-
-o-transition: all 0.2s ease-out;
|
314 |
-
transition: all 0.2s ease-out;
|
315 |
-
}
|
316 |
-
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch:hover {
|
317 |
-
cursor: pointer;
|
318 |
-
background: #e9e9e9;
|
319 |
-
border: 2px solid #d8d7d7;
|
320 |
-
}
|
321 |
-
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-active {
|
322 |
-
background: #e5f9ce;
|
323 |
-
border: 2px solid #c9deb2;
|
324 |
-
color: #677d4d;
|
325 |
-
}
|
326 |
-
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-active .wbcr-clearfy-switch-confirmation {
|
327 |
-
display: block !important;
|
328 |
-
}
|
329 |
-
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-active:hover .wbcr-clearfy-switch-confirmation {
|
330 |
-
opacity: 1;
|
331 |
-
}
|
332 |
-
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-mode-reset:hover {
|
333 |
-
background: #f7ccc9;
|
334 |
-
color: #c55b5b;
|
335 |
-
border: 2px solid #d8adad;
|
336 |
-
}
|
337 |
-
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-loading {
|
338 |
-
border: 2px solid #efefef;
|
339 |
-
background: #f5f5f5;
|
340 |
-
color: #d6d6d6;
|
341 |
-
}
|
342 |
-
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-loading .wbcr-clearfy-switch-confirmation button {
|
343 |
-
display: none !important;
|
344 |
-
}
|
345 |
-
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch .wbcr-clearfy-switch-confirmation {
|
346 |
-
position: absolute;
|
347 |
-
display: none;
|
348 |
-
opacity: 0;
|
349 |
-
top: 0;
|
350 |
-
left: 0;
|
351 |
-
right: 0;
|
352 |
-
bottom: 0;
|
353 |
-
background: rgba(255, 255, 255, 0.85);
|
354 |
-
-webkit-transition: all 0.3s ease-out;
|
355 |
-
-moz-transition: all 0.3s ease-out;
|
356 |
-
-o-transition: all 0.3s ease-out;
|
357 |
-
transition: all 0.3s ease-out;
|
358 |
-
}
|
359 |
-
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch .wbcr-clearfy-switch-confirmation button {
|
360 |
-
margin-top: 15px;
|
361 |
-
border: 0;
|
362 |
-
box-shadow: none;
|
363 |
-
padding: 5px 10px;
|
364 |
-
font-weight: bold;
|
365 |
-
font-size: 13px;
|
366 |
-
border-radius: 3px;
|
367 |
-
outline: none;
|
368 |
-
}
|
369 |
-
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch .wbcr-clearfy-switch-confirmation button.wbcr-clearfy-confirm-button-accept {
|
370 |
-
background-color: #c9deb2;
|
371 |
-
color: #586549;
|
372 |
-
}
|
373 |
-
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch .wbcr-clearfy-switch-confirmation button.wbcr-clearfy-confirm-button-cancel {
|
374 |
-
background-color: #fdd599;
|
375 |
-
color: #a57b3c;
|
376 |
-
margin-left: 10px;
|
377 |
-
}
|
378 |
-
#WBCR .wbcr-clearfy-layer {
|
379 |
-
display: none;
|
380 |
-
position: absolute;
|
381 |
-
top: 0;
|
382 |
-
left: 0;
|
383 |
-
right: 0;
|
384 |
-
bottom: 0;
|
385 |
-
background: rgba(255, 235, 59, 0.18);
|
386 |
-
z-index: 9;
|
387 |
-
}
|
388 |
-
#WBCR .wbcr-clearfy-confirm-popup {
|
389 |
-
display: none;
|
390 |
-
position: absolute;
|
391 |
-
top: 50%;
|
392 |
-
left: 50%;
|
393 |
-
width: 500px;
|
394 |
-
height: 400px;
|
395 |
-
margin: -200px 0 0 -250px;
|
396 |
-
padding: 20px;
|
397 |
-
background: rgba(255, 255, 255, 0.82);
|
398 |
-
box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
|
399 |
-
border: 4px solid rgba(216, 210, 171, 0.44);
|
400 |
-
z-index: 99;
|
401 |
-
}
|
402 |
-
#WBCR .wbcr-clearfy-confirm-popup h3 {
|
403 |
-
font-size: 17px;
|
404 |
-
text-align: center;
|
405 |
-
font-weight: bold;
|
406 |
-
margin: 5px 0 0;
|
407 |
-
}
|
408 |
-
#WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-reset-warning-message {
|
409 |
-
display: none;
|
410 |
-
text-align: center;
|
411 |
-
}
|
412 |
-
#WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-list-options {
|
413 |
-
display: none;
|
414 |
-
height: 230px;
|
415 |
-
overflow-y: auto;
|
416 |
-
overflow-x: hidden;
|
417 |
-
padding-left: 40px;
|
418 |
-
list-style: decimal;
|
419 |
-
margin: 20px 0;
|
420 |
-
}
|
421 |
-
#WBCR .wbcr-clearfy-confirm-popup.wbcr-clearfy-default-warning-options .wbcr-clearfy-list-options {
|
422 |
-
display: block;
|
423 |
-
}
|
424 |
-
#WBCR .wbcr-clearfy-confirm-popup.wbcr-clearfy-reset-warning-options {
|
425 |
-
height: 200px;
|
426 |
-
margin: -100px 0 0 -250px;
|
427 |
-
}
|
428 |
-
#WBCR .wbcr-clearfy-confirm-popup.wbcr-clearfy-reset-warning-options .wbcr-clearfy-reset-warning-message {
|
429 |
-
display: block;
|
430 |
-
margin: 10px 0;
|
431 |
-
}
|
432 |
-
#WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-popup-buttons {
|
433 |
-
text-align: center;
|
434 |
-
padding: 10px;
|
435 |
-
}
|
436 |
-
#WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-popup-buttons button {
|
437 |
-
display: inline-block;
|
438 |
-
padding: 7px 25px;
|
439 |
-
box-shadow: none;
|
440 |
-
border: 0;
|
441 |
-
font-weight: bold;
|
442 |
-
}
|
443 |
-
#WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-popup-buttons button,
|
444 |
-
#WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-popup-buttons button:focus {
|
445 |
-
outline: 0 !important;
|
446 |
-
box-shadow: none !important;
|
447 |
-
}
|
448 |
-
#WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-popup-buttons button.wbcr-clearfy-popup-button-ok {
|
449 |
-
background: #FFEB3B;
|
450 |
-
color: #564f0d;
|
451 |
-
}
|
452 |
-
#WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-popup-buttons button.wbcr-clearfy-cancel-mode {
|
453 |
-
background: #d6d6d6;
|
454 |
-
color: #5f5d5d;
|
455 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
components/comments-plus/admin/assets/js/general.js
DELETED
@@ -1,203 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* General
|
3 |
-
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
4 |
-
* @copyright (c) 10.09.2017, Webcraftic
|
5 |
-
* @version 1.0
|
6 |
-
*/
|
7 |
-
|
8 |
-
|
9 |
-
(function($) {
|
10 |
-
'use strict';
|
11 |
-
|
12 |
-
var general = {
|
13 |
-
init: function() {
|
14 |
-
this.qickStartAssistent();
|
15 |
-
this.importOptions();
|
16 |
-
},
|
17 |
-
qickStartAssistent: function() {
|
18 |
-
var self = this;
|
19 |
-
|
20 |
-
$('.wbcr-clearfy-switch').click(function() {
|
21 |
-
|
22 |
-
var modeName = $(this).data('mode'),
|
23 |
-
modeOptions = $(this).data('mode-options');
|
24 |
-
|
25 |
-
self.showConfirmationPopup(modeName, modeOptions);
|
26 |
-
return false;
|
27 |
-
});
|
28 |
-
|
29 |
-
$('.wbcr-clearfy-popup-button-cancel').click(function() {
|
30 |
-
self.hideConfirmationPopup();
|
31 |
-
});
|
32 |
-
|
33 |
-
$('.wbcr-clearfy-cancel-mode').click(function() {
|
34 |
-
var $this = $(this), modeName = $(this).closest('.wbcr-clearfy-switch').data('mode'),
|
35 |
-
switcher = $(this).closest('.wbcr-clearfy-switch');
|
36 |
-
|
37 |
-
switcher.addClass('wbcr-clearfy-loading');
|
38 |
-
|
39 |
-
self.sendRequest({
|
40 |
-
action: 'wbcr_clearfy_configurate',
|
41 |
-
mode: modeName,
|
42 |
-
cancel_mode: true
|
43 |
-
}, function(data) {
|
44 |
-
switcher.removeClass('wbcr-clearfy-loading');
|
45 |
-
|
46 |
-
if( data && data.export_options ) {
|
47 |
-
$('#wbcr-clearfy-import-export').html(data.export_options);
|
48 |
-
}
|
49 |
-
},
|
50 |
-
function() {
|
51 |
-
if( modeName != 'reset' ) {
|
52 |
-
switcher.removeClass('wbcr-clearfy-active');
|
53 |
-
}
|
54 |
-
});
|
55 |
-
return false;
|
56 |
-
});
|
57 |
-
|
58 |
-
$('.wbcr-clearfy-popup-button-ok').click(function() {
|
59 |
-
var $this = $(this), modeName = $(this).closest('.wbcr-clearfy-confirm-popup').data('mode'),
|
60 |
-
switcher = $('div[data-mode="' + modeName + '"]', '#wbcr-clearfy-quick-mode-board');
|
61 |
-
|
62 |
-
self.hideConfirmationPopup();
|
63 |
-
switcher.addClass('wbcr-clearfy-loading');
|
64 |
-
|
65 |
-
self.sendRequest({
|
66 |
-
action: 'wbcr_clearfy_configurate',
|
67 |
-
mode: modeName
|
68 |
-
}, function(data) {
|
69 |
-
switcher.removeClass('wbcr-clearfy-loading');
|
70 |
-
|
71 |
-
if( data && data.export_options ) {
|
72 |
-
$('#wbcr-clearfy-import-export').html(data.export_options);
|
73 |
-
}
|
74 |
-
},
|
75 |
-
function() {
|
76 |
-
if( modeName != 'reset' ) {
|
77 |
-
switcher.addClass('wbcr-clearfy-active');
|
78 |
-
return;
|
79 |
-
}
|
80 |
-
|
81 |
-
$('.wbcr-clearfy-switch').removeClass('wbcr-clearfy-active');
|
82 |
-
});
|
83 |
-
|
84 |
-
return false;
|
85 |
-
});
|
86 |
-
},
|
87 |
-
|
88 |
-
showConfirmationPopup: function(modeName, options) {
|
89 |
-
var self = this;
|
90 |
-
|
91 |
-
$('.wbcr-clearfy-layer').fadeIn();
|
92 |
-
|
93 |
-
var popupElem = $('.wbcr-clearfy-confirm-popup');
|
94 |
-
popupElem.data('mode', modeName);
|
95 |
-
popupElem.fadeIn();
|
96 |
-
|
97 |
-
if( modeName != 'reset' ) {
|
98 |
-
var printOptTitles = '';
|
99 |
-
|
100 |
-
if( options ) {
|
101 |
-
for( var opt in options ) {
|
102 |
-
if( !options.hasOwnProperty(opt) ) {
|
103 |
-
continue;
|
104 |
-
}
|
105 |
-
printOptTitles += '<li>' + options[opt] + '</li>';
|
106 |
-
|
107 |
-
}
|
108 |
-
$('.wbcr-clearfy-list-options').html(printOptTitles);
|
109 |
-
popupElem.addClass('wbcr-clearfy-default-warning-options');
|
110 |
-
}
|
111 |
-
return;
|
112 |
-
}
|
113 |
-
|
114 |
-
popupElem.addClass('wbcr-clearfy-reset-warning-options');
|
115 |
-
},
|
116 |
-
|
117 |
-
hideConfirmationPopup: function() {
|
118 |
-
$('.wbcr-clearfy-layer').fadeOut(100);
|
119 |
-
var popupElem = $('.wbcr-clearfy-confirm-popup');
|
120 |
-
|
121 |
-
popupElem.fadeOut(100, function() {
|
122 |
-
popupElem.removeClass('wbcr-clearfy-default-warning-options');
|
123 |
-
popupElem.removeClass('wbcr-clearfy-reset-warning-options');
|
124 |
-
});
|
125 |
-
|
126 |
-
},
|
127 |
-
|
128 |
-
importOptions: function() {
|
129 |
-
var self = this;
|
130 |
-
|
131 |
-
$('.wbcr-clearfy-import-options-button').click(function() {
|
132 |
-
var settings = $('#wbcr-clearfy-import-export').val(),
|
133 |
-
$this = $(this);
|
134 |
-
|
135 |
-
if( !settings ) {
|
136 |
-
return;
|
137 |
-
}
|
138 |
-
|
139 |
-
$(this).prop('disabled', true);
|
140 |
-
|
141 |
-
self.sendRequest({
|
142 |
-
action: 'wbcr_clearfy_import_settings',
|
143 |
-
settings: settings
|
144 |
-
}, function(data) {
|
145 |
-
//console.log(data);
|
146 |
-
$this.prop('disabled', false);
|
147 |
-
});
|
148 |
-
|
149 |
-
return false;
|
150 |
-
});
|
151 |
-
},
|
152 |
-
sendRequest: function(data, beforeValidateCallback, successCallback) {
|
153 |
-
|
154 |
-
var errorContanier = $('.wbcr-clearfy-switch-error-message'),
|
155 |
-
defaultErrorMessage = errorContanier.text();
|
156 |
-
|
157 |
-
if( wbcr_clearfy_ajax === undefined ) {
|
158 |
-
console.log('Undefinded wbcr_clearfy_ajax object.');
|
159 |
-
return;
|
160 |
-
}
|
161 |
-
|
162 |
-
var ajaxUrl = wbcr_clearfy_ajax ? wbcr_clearfy_ajax.ajaxurl : ajaxurl;
|
163 |
-
|
164 |
-
if( typeof data === 'object' ) {
|
165 |
-
data.security = wbcr_clearfy_ajax.ajax_nonce;
|
166 |
-
}
|
167 |
-
|
168 |
-
$.ajax(ajaxurl, {
|
169 |
-
type: 'post',
|
170 |
-
dataType: 'json',
|
171 |
-
data: data,
|
172 |
-
success: function(data, textStatus, jqXHR) {
|
173 |
-
|
174 |
-
beforeValidateCallback && beforeValidateCallback(data);
|
175 |
-
|
176 |
-
if( !data || data.error ) {
|
177 |
-
if( data ) {
|
178 |
-
console.log(data.error);
|
179 |
-
if( !errorContanier.is(':visible') ) {
|
180 |
-
errorContanier.html(defaultErrorMessage + '<br>' + data.error);
|
181 |
-
}
|
182 |
-
}
|
183 |
-
|
184 |
-
if( !errorContanier.is(':visible') ) {
|
185 |
-
errorContanier.fadeIn(600).delay(10000).fadeOut(600);
|
186 |
-
}
|
187 |
-
return;
|
188 |
-
}
|
189 |
-
|
190 |
-
successCallback && successCallback();
|
191 |
-
|
192 |
-
$('.wbcr-clearfy-switch-success-message').fadeIn(600).delay(3000).fadeOut(600);
|
193 |
-
|
194 |
-
}
|
195 |
-
});
|
196 |
-
}
|
197 |
-
};
|
198 |
-
|
199 |
-
$(document).ready(function() {
|
200 |
-
general.init();
|
201 |
-
});
|
202 |
-
|
203 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
components/comments-plus/admin/boot.php
CHANGED
@@ -11,6 +11,60 @@
|
|
11 |
exit;
|
12 |
}
|
13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
function wbcr_cmp_group_options($options)
|
15 |
{
|
16 |
$options[] = array(
|
@@ -24,6 +78,16 @@
|
|
24 |
'title' => __('Select post types', 'comments-plus'),
|
25 |
'tags' => array()
|
26 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
$options[] = array(
|
28 |
'name' => 'comment_text_convert_links_pseudo',
|
29 |
'title' => __('Replace external links in comments on the JavaScript code', 'comments-plus'),
|
@@ -93,7 +157,7 @@
|
|
93 |
return $page_url;
|
94 |
}
|
95 |
|
96 |
-
add_filter('
|
97 |
|
98 |
|
99 |
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
+
/**
|
15 |
+
* Массово проходится по комментарием в базе данных и отключает, какждый индивидуально.
|
16 |
+
*/
|
17 |
+
function wbcr_cmp_enter_permanent_mode()
|
18 |
+
{
|
19 |
+
global $wpdb;
|
20 |
+
|
21 |
+
if( !WCM_Plugin::app()->getPopulateOption('disable_comments_permanent') ) {
|
22 |
+
return;
|
23 |
+
}
|
24 |
+
|
25 |
+
$types = wbcr_cmp_get_disabled_post_types();
|
26 |
+
|
27 |
+
if( empty($types) ) {
|
28 |
+
return;
|
29 |
+
}
|
30 |
+
|
31 |
+
if( WCM_Plugin::app()->isNetworkActive() ) {
|
32 |
+
// NOTE: this can be slow on large networks!
|
33 |
+
$blogs = $wpdb->get_col($wpdb->prepare("SELECT blog_id
|
34 |
+
FROM $wpdb->blogs
|
35 |
+
WHERE site_id = %d
|
36 |
+
AND public = '1'
|
37 |
+
AND archived = '0'
|
38 |
+
AND deleted = '0'", $wpdb->siteid));
|
39 |
+
|
40 |
+
foreach($blogs as $id) {
|
41 |
+
switch_to_blog($id);
|
42 |
+
wbcr_close_comments_in_db($types);
|
43 |
+
restore_current_blog();
|
44 |
+
}
|
45 |
+
} else {
|
46 |
+
wbcr_close_comments_in_db($types);
|
47 |
+
}
|
48 |
+
}
|
49 |
+
|
50 |
+
add_action('wbcr/factory/pages/impressive/after_form_save', 'wbcr_cmp_enter_permanent_mode');
|
51 |
+
add_action('wbcr_clearfy_configurated_quick_mode', 'wbcr_cmp_enter_permanent_mode');
|
52 |
+
|
53 |
+
/**
|
54 |
+
* Закрывает комментарии в базе данных
|
55 |
+
* @param $types
|
56 |
+
*/
|
57 |
+
function wbcr_close_comments_in_db($types)
|
58 |
+
{
|
59 |
+
global $wpdb;
|
60 |
+
$bits = implode(', ', array_pad(array(), count($types), '%s'));
|
61 |
+
|
62 |
+
$wpdb->query($wpdb->prepare("UPDATE `$wpdb->posts`
|
63 |
+
SET `comment_status` = 'closed', ping_status = 'closed'
|
64 |
+
WHERE `post_type`
|
65 |
+
IN ( $bits )", $types));
|
66 |
+
}
|
67 |
+
|
68 |
function wbcr_cmp_group_options($options)
|
69 |
{
|
70 |
$options[] = array(
|
78 |
'title' => __('Select post types', 'comments-plus'),
|
79 |
'tags' => array()
|
80 |
);
|
81 |
+
$options[] = array(
|
82 |
+
'name' => 'disable_comments_extra_post_types',
|
83 |
+
'title' => __('Custom post types', 'comments-plus'),
|
84 |
+
'tags' => array()
|
85 |
+
);
|
86 |
+
$options[] = array(
|
87 |
+
'name' => 'disable_comments_permanent',
|
88 |
+
'title' => __('Use persistent mode', 'comments-plus'),
|
89 |
+
'tags' => array()
|
90 |
+
);
|
91 |
$options[] = array(
|
92 |
'name' => 'comment_text_convert_links_pseudo',
|
93 |
'title' => __('Replace external links in comments on the JavaScript code', 'comments-plus'),
|
157 |
return $page_url;
|
158 |
}
|
159 |
|
160 |
+
add_filter('wbcr_factory_pages_410_imppage_rating_widget_url', 'wbcr_cmp_rating_widget_url', 10, 2);
|
161 |
|
162 |
|
163 |
|
components/comments-plus/admin/pages/comments.php
CHANGED
@@ -1,5 +1,4 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
/**
|
4 |
* The page Settings.
|
5 |
*
|
@@ -11,27 +10,33 @@
|
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
-
class WbcrCmp_CommentsPage extends
|
15 |
|
16 |
/**
|
17 |
* The id of the page in the admin menu.
|
18 |
*
|
19 |
* Mainly used to navigate between pages.
|
20 |
-
* @see
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
* @var string
|
24 |
*/
|
25 |
public $id = "comments";
|
26 |
public $page_menu_dashicon = 'dashicons-testimonial';
|
|
|
|
|
|
|
|
|
|
|
27 |
|
28 |
/**
|
29 |
-
* @param
|
30 |
*/
|
31 |
-
public function __construct(
|
32 |
{
|
33 |
$this->menu_title = __('Disable comments', 'comments-plus');
|
34 |
-
|
|
|
35 |
if( !defined('LOADING_COMMENTS_PLUS_AS_ADDON') ) {
|
36 |
$this->internal = false;
|
37 |
$this->menu_target = 'options-general.php';
|
@@ -43,36 +48,16 @@
|
|
43 |
|
44 |
public function getMenuTitle()
|
45 |
{
|
46 |
-
return defined('LOADING_COMMENTS_PLUS_AS_ADDON')
|
47 |
-
? __('Comments', 'comments-plus')
|
48 |
-
: __('General', 'comments-plus');
|
49 |
}
|
50 |
|
51 |
-
/**
|
52 |
-
* Requests assets (js and css) for the page.
|
53 |
-
*
|
54 |
-
* @see Wbcr_FactoryPages407_AdminPage
|
55 |
-
*
|
56 |
-
* @since 1.0.0
|
57 |
-
* @return void
|
58 |
-
*/
|
59 |
-
public function assets($scripts, $styles)
|
60 |
-
{
|
61 |
-
parent::assets($scripts, $styles);
|
62 |
-
|
63 |
-
// Add Clearfy styles for HMWP pages
|
64 |
-
if( defined('WBCR_CLEARFY_PLUGIN_ACTIVE') ) {
|
65 |
-
$this->styles->add(WCL_PLUGIN_URL . '/admin/assets/css/general.css');
|
66 |
-
}
|
67 |
-
}
|
68 |
-
|
69 |
/**
|
70 |
* Permalinks options.
|
71 |
*
|
72 |
* @since 1.0.0
|
73 |
* @return mixed[]
|
74 |
*/
|
75 |
-
public function
|
76 |
{
|
77 |
$options = array();
|
78 |
|
@@ -80,8 +65,20 @@
|
|
80 |
'type' => 'html',
|
81 |
'html' => '<div class="wbcr-factory-page-group-header"><strong>' . __('Global disabling of comments', 'comments-plus') . '</strong><p>' . __('What is the difference between these and native WordPress functions? WordPress disables comments only for new posts! Using the functions below, you can disable comments globally, even for old posts, and you can choose which post types comments to disable. The plugin also disables the comment functionality itself, which creates a certain load on the site.', 'comments-plus') . '</p></div>'
|
82 |
);
|
83 |
-
|
84 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
85 |
$post_types = array();
|
86 |
foreach($types as $type_name => $type) {
|
87 |
$post_types[] = array($type_name, $type->label);
|
@@ -110,14 +107,15 @@
|
|
110 |
'default' => 'enable_comments',
|
111 |
'events' => array(
|
112 |
'disable_certain_post_types_comments' => array(
|
113 |
-
'show' => '.factory-control-disable_comments_for_post_types, #wbcr-clearfy-comments-base-options'
|
114 |
),
|
115 |
'enable_comments' => array(
|
116 |
'show' => '#wbcr-clearfy-comments-base-options',
|
117 |
-
'hide' => '.factory-control-disable_comments_for_post_types'
|
118 |
),
|
119 |
'disable_comments' => array(
|
120 |
-
'
|
|
|
121 |
)
|
122 |
)
|
123 |
);
|
@@ -133,6 +131,27 @@
|
|
133 |
'default' => 'post,page,attachment'
|
134 |
);
|
135 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
136 |
$options[] = array(
|
137 |
'type' => 'div',
|
138 |
'id' => 'wbcr-clearfy-comments-base-options',
|
@@ -167,15 +186,6 @@
|
|
167 |
'layout' => array('hint-type' => 'icon'),
|
168 |
'hint' => __('Up to 90 percent of comments in the blog can be left for the sake of an external link. Even nofollow from page weight loss here does not help.', 'comments-plus') . '<br><br><b>Clearfy: </b>' . __('Replaces the links of the authors of comments on the JavaScript code, it is impossible to distinguish it from usual links.', 'comments-plus') . '<br>--<br><i>' . __('In some Wordpress topics this may not work.', 'comments-plus') . '</i>',
|
169 |
'default' => false
|
170 |
-
),
|
171 |
-
array(
|
172 |
-
'type' => 'checkbox',
|
173 |
-
'way' => 'buttons',
|
174 |
-
'name' => 'remove_x_pingback',
|
175 |
-
'title' => __('Disable XML-RPC', 'clearfy'),
|
176 |
-
'layout' => array('hint-type' => 'icon'),
|
177 |
-
'hint' => __('A pingback is basically an automated comment that gets created when another blog links to you. A self-pingback is created when you link to an article within your own blog. Pingbacks are essentially nothing more than spam and simply waste resources.', 'comments-plus') . '<br><b>Clearfy: </b>' . __('Removes the server responses a reference to the xmlrpc file.', 'clearfy'),
|
178 |
-
'default' => false
|
179 |
)
|
180 |
)
|
181 |
);
|
@@ -190,4 +200,4 @@
|
|
190 |
|
191 |
return apply_filters('wbcr_cmp_comments_form_options', $formOptions);
|
192 |
}
|
193 |
-
}
|
1 |
<?php
|
|
|
2 |
/**
|
3 |
* The page Settings.
|
4 |
*
|
10 |
exit;
|
11 |
}
|
12 |
|
13 |
+
class WbcrCmp_CommentsPage extends Wbcr_FactoryClearfy206_PageBase {
|
14 |
|
15 |
/**
|
16 |
* The id of the page in the admin menu.
|
17 |
*
|
18 |
* Mainly used to navigate between pages.
|
19 |
+
* @see FactoryPages410_AdminPage
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
* @var string
|
23 |
*/
|
24 |
public $id = "comments";
|
25 |
public $page_menu_dashicon = 'dashicons-testimonial';
|
26 |
+
/**
|
27 |
+
* Доступена для мультисайтов
|
28 |
+
* @var bool
|
29 |
+
*/
|
30 |
+
public $available_for_multisite = true;
|
31 |
|
32 |
/**
|
33 |
+
* @param Wbcr_Factory409_Plugin $plugin
|
34 |
*/
|
35 |
+
public function __construct(Wbcr_Factory409_Plugin $plugin)
|
36 |
{
|
37 |
$this->menu_title = __('Disable comments', 'comments-plus');
|
38 |
+
$this->page_menu_short_description = __('Manage site comments', 'comments-plus');
|
39 |
+
|
40 |
if( !defined('LOADING_COMMENTS_PLUS_AS_ADDON') ) {
|
41 |
$this->internal = false;
|
42 |
$this->menu_target = 'options-general.php';
|
48 |
|
49 |
public function getMenuTitle()
|
50 |
{
|
51 |
+
return defined('LOADING_COMMENTS_PLUS_AS_ADDON') ? __('Comments', 'comments-plus') : __('General', 'comments-plus');
|
|
|
|
|
52 |
}
|
53 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
/**
|
55 |
* Permalinks options.
|
56 |
*
|
57 |
* @since 1.0.0
|
58 |
* @return mixed[]
|
59 |
*/
|
60 |
+
public function getPageOptions()
|
61 |
{
|
62 |
$options = array();
|
63 |
|
65 |
'type' => 'html',
|
66 |
'html' => '<div class="wbcr-factory-page-group-header"><strong>' . __('Global disabling of comments', 'comments-plus') . '</strong><p>' . __('What is the difference between these and native WordPress functions? WordPress disables comments only for new posts! Using the functions below, you can disable comments globally, even for old posts, and you can choose which post types comments to disable. The plugin also disables the comment functionality itself, which creates a certain load on the site.', 'comments-plus') . '</p></div>'
|
67 |
);
|
68 |
+
|
69 |
+
$args = array('public' => true);
|
70 |
+
|
71 |
+
if( $this->plugin->isNetworkActive() ) {
|
72 |
+
$args['_builtin'] = true;
|
73 |
+
}
|
74 |
+
|
75 |
+
$types = get_post_types($args, 'objects');
|
76 |
+
|
77 |
+
/*foreach( array_keys( $types ) as $type ) {
|
78 |
+
if( ! in_array( $type, $this->modified_types ) && ! post_type_supports( $type, 'comments' ) ) // the type doesn't support comments anyway
|
79 |
+
unset( $types[$type] );
|
80 |
+
}*/
|
81 |
+
|
82 |
$post_types = array();
|
83 |
foreach($types as $type_name => $type) {
|
84 |
$post_types[] = array($type_name, $type->label);
|
107 |
'default' => 'enable_comments',
|
108 |
'events' => array(
|
109 |
'disable_certain_post_types_comments' => array(
|
110 |
+
'show' => '.factory-control-disable_comments_for_post_types, #wbcr-clearfy-comments-base-options,.factory-control-disable_comments_permanent,.factory-control-disable_comments_extra_post_types'
|
111 |
),
|
112 |
'enable_comments' => array(
|
113 |
'show' => '#wbcr-clearfy-comments-base-options',
|
114 |
+
'hide' => '.factory-control-disable_comments_for_post_types,.factory-control-disable_comments_permanent,.factory-control-disable_comments_extra_post_types'
|
115 |
),
|
116 |
'disable_comments' => array(
|
117 |
+
'show' => '.factory-control-disable_comments_permanent',
|
118 |
+
'hide' => '.factory-control-disable_comments_for_post_types, #wbcr-clearfy-comments-base-options,.factory-control-disable_comments_extra_post_types'
|
119 |
)
|
120 |
)
|
121 |
);
|
131 |
'default' => 'post,page,attachment'
|
132 |
);
|
133 |
|
134 |
+
if( $this->plugin->isNetworkActive() ) {
|
135 |
+
$options[] = array(
|
136 |
+
'type' => 'textbox',
|
137 |
+
'name' => 'disable_comments_extra_post_types',
|
138 |
+
'title' => __('Custom post types', 'comments-plus'),
|
139 |
+
'data' => $post_types,
|
140 |
+
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
|
141 |
+
'hint' => __('Only the built-in post types appear above. If you want to disable comments on other custom post types on the entire network, you can supply a comma-separated list of post types below (use the slug that identifies the post type).', 'comments-plus'),
|
142 |
+
'default' => ''
|
143 |
+
);
|
144 |
+
}
|
145 |
+
$options[] = array(
|
146 |
+
'type' => 'checkbox',
|
147 |
+
'way' => 'buttons',
|
148 |
+
'name' => 'disable_comments_permanent',
|
149 |
+
'title' => __('Use persistent mode', 'comments-plus'),
|
150 |
+
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
|
151 |
+
'hint' => __('This will make persistent changes to your database — comments will remain closed even if you later disable the plugin! You should not use it if you only want to disable comments temporarily.', 'comments-plus'),
|
152 |
+
'default' => false
|
153 |
+
);
|
154 |
+
|
155 |
$options[] = array(
|
156 |
'type' => 'div',
|
157 |
'id' => 'wbcr-clearfy-comments-base-options',
|
186 |
'layout' => array('hint-type' => 'icon'),
|
187 |
'hint' => __('Up to 90 percent of comments in the blog can be left for the sake of an external link. Even nofollow from page weight loss here does not help.', 'comments-plus') . '<br><br><b>Clearfy: </b>' . __('Replaces the links of the authors of comments on the JavaScript code, it is impossible to distinguish it from usual links.', 'comments-plus') . '<br>--<br><i>' . __('In some Wordpress topics this may not work.', 'comments-plus') . '</i>',
|
188 |
'default' => false
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
189 |
)
|
190 |
)
|
191 |
);
|
200 |
|
201 |
return apply_filters('wbcr_cmp_comments_form_options', $formOptions);
|
202 |
}
|
203 |
+
}
|
components/comments-plus/admin/pages/delete-comments.php
CHANGED
@@ -12,13 +12,13 @@
|
|
12 |
}
|
13 |
|
14 |
|
15 |
-
class WbcrCmp_DeleteCommentsPage extends
|
16 |
|
17 |
/**
|
18 |
* The id of the page in the admin menu.
|
19 |
*
|
20 |
* Mainly used to navigate between pages.
|
21 |
-
* @see
|
22 |
*
|
23 |
* @since 1.0.0
|
24 |
* @var string
|
@@ -27,41 +27,28 @@
|
|
27 |
public $type = "page";
|
28 |
public $page_parent_page = "comments";
|
29 |
public $page_menu_dashicon = 'dashicons-testimonial';
|
30 |
-
|
31 |
/**
|
32 |
-
*
|
|
|
33 |
*/
|
34 |
-
public
|
35 |
-
{
|
36 |
-
$this->menu_title = __('Comments cleaner', 'comments-plus');
|
37 |
-
|
38 |
-
parent::__construct($plugin);
|
39 |
-
}
|
40 |
|
41 |
/**
|
42 |
-
*
|
43 |
-
*
|
44 |
-
* @see Wbcr_FactoryPages407_AdminPage
|
45 |
-
*
|
46 |
-
* @since 1.0.0
|
47 |
-
* @return void
|
48 |
*/
|
49 |
-
public function
|
50 |
{
|
51 |
-
|
52 |
|
53 |
-
|
54 |
-
if( defined('WBCR_CLEARFY_PLUGIN_ACTIVE') ) {
|
55 |
-
$this->styles->add(WCL_PLUGIN_URL . '/admin/assets/css/general.css');
|
56 |
-
}
|
57 |
}
|
58 |
|
59 |
/**
|
60 |
* We register notifications for some actions
|
61 |
*
|
62 |
-
* @see libs\factory\pages\themplates\
|
63 |
* @param $notices
|
64 |
-
* @param
|
65 |
* @return array
|
66 |
*/
|
67 |
public function getActionNotices($notices)
|
@@ -86,16 +73,69 @@
|
|
86 |
|
87 |
return $notices;
|
88 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
89 |
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
*/
|
95 |
-
public function showPageContent()
|
96 |
{
|
97 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
98 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
99 |
$stat_data = $wpdb->get_results("SELECT count(*) as total_comments,
|
100 |
SUM(comment_type='order_note') as order_notes_count,
|
101 |
SUM(comment_approved='spam') as spamcount,
|
@@ -124,6 +164,23 @@
|
|
124 |
$post_types[$type_name] = array('label' => $type->label, 'comments_count' => $comments_count);
|
125 |
}
|
126 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
127 |
?>
|
128 |
<script>
|
129 |
/**
|
@@ -243,71 +300,124 @@
|
|
243 |
<?php
|
244 |
}
|
245 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
246 |
/**
|
247 |
* This action deletes all comments from the database without restoring.
|
248 |
*/
|
249 |
public function deleteAllCommentsAction()
|
250 |
{
|
251 |
-
global $wpdb;
|
252 |
check_admin_referer($this->getResultId() . '_delete_all_comments');
|
253 |
|
254 |
if( isset($_POST['wbcr_cmp_delete_all']) ) {
|
255 |
$post_types = $this->request->post('wbcr_cmp_post_type', array(), true);
|
256 |
-
$delete_order_notes = $this->request->post('wbcr_cmp_delete_order_notes', false, 'intval');
|
257 |
|
258 |
-
|
259 |
-
if( $wpdb->query("TRUNCATE $wpdb->commentmeta") != false ) {
|
260 |
-
$delete_all_sql = "TRUNCATE $wpdb->comments";
|
261 |
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
$wpdb->query("UPDATE $wpdb->posts SET comment_count = 0 WHERE post_author != 0");
|
269 |
-
$wpdb->query("OPTIMIZE TABLE $wpdb->commentmeta");
|
270 |
-
$wpdb->query("OPTIMIZE TABLE $wpdb->comments");
|
271 |
-
|
272 |
-
$this->redirectToAction('index', array(
|
273 |
-
'wbcr_cmp_clear_comments' => '1'
|
274 |
-
));
|
275 |
-
} else {
|
276 |
-
$this->redirectToAction('index', array(
|
277 |
-
'wbcr_cmp_clear_comments_error' => '1',
|
278 |
-
'wbcr_cmp_code' => 'interal_error',
|
279 |
-
));
|
280 |
}
|
281 |
} else {
|
282 |
-
$this->
|
283 |
-
'wbcr_cmp_clear_comments_error' => '1',
|
284 |
-
'wbcr_cmp_code' => 'interal_error',
|
285 |
-
));
|
286 |
}
|
287 |
} else {
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
$delete_certain_sql = "DELETE comments FROM $wpdb->comments comments INNER JOIN $wpdb->posts posts ON comments.comment_post_ID=posts.ID WHERE posts.post_type = '$delete_post_type'";
|
294 |
-
|
295 |
-
if( class_exists('WooCommerce') ) {
|
296 |
-
if( !$delete_order_notes ) {
|
297 |
-
$delete_certain_sql .= " and comment_type != 'order_note'";
|
298 |
-
}
|
299 |
}
|
300 |
-
|
301 |
-
$
|
302 |
-
$wpdb->query("UPDATE $wpdb->posts SET comment_count = 0 WHERE post_author != 0 AND post_type = '$delete_post_type'");
|
303 |
}
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
$this->redirectToAction('index', array(
|
309 |
'wbcr_cmp_clear_comments' => '1'
|
310 |
));
|
|
|
|
|
|
|
|
|
|
|
311 |
}
|
312 |
}
|
313 |
|
@@ -320,29 +430,46 @@
|
|
320 |
* @param int|string $type
|
321 |
*/
|
322 |
public function deleteComments($type = 0)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
323 |
{
|
324 |
global $wpdb;
|
325 |
|
326 |
-
|
327 |
-
$wpdb->
|
328 |
-
|
329 |
-
|
330 |
-
WHERE comment_approved='{$type}'");
|
331 |
|
332 |
-
|
333 |
-
$wpdb->query("OPTIMIZE TABLE $wpdb->comments");
|
334 |
-
$wpdb->query("OPTIMIZE TABLE $wpdb->commentmeta");
|
335 |
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
} else {
|
340 |
-
$this->redirectToAction('index', array(
|
341 |
-
'wbcr_cmp_clear_comments_error' => '1',
|
342 |
-
'wbcr_cmp_code' => 'interal_error',
|
343 |
-
));
|
344 |
-
}
|
345 |
}
|
|
|
|
|
346 |
}
|
347 |
|
348 |
/**
|
@@ -374,4 +501,4 @@
|
|
374 |
|
375 |
$this->deleteComments('trash');
|
376 |
}
|
377 |
-
}
|
12 |
}
|
13 |
|
14 |
|
15 |
+
class WbcrCmp_DeleteCommentsPage extends Wbcr_FactoryClearfy206_PageBase {
|
16 |
|
17 |
/**
|
18 |
* The id of the page in the admin menu.
|
19 |
*
|
20 |
* Mainly used to navigate between pages.
|
21 |
+
* @see FactoryPages410_AdminPage
|
22 |
*
|
23 |
* @since 1.0.0
|
24 |
* @var string
|
27 |
public $type = "page";
|
28 |
public $page_parent_page = "comments";
|
29 |
public $page_menu_dashicon = 'dashicons-testimonial';
|
|
|
30 |
/**
|
31 |
+
* Доступена для мультисайтов
|
32 |
+
* @var bool
|
33 |
*/
|
34 |
+
public $available_for_multisite = true;
|
|
|
|
|
|
|
|
|
|
|
35 |
|
36 |
/**
|
37 |
+
* @param Wbcr_Factory409_Plugin $plugin
|
|
|
|
|
|
|
|
|
|
|
38 |
*/
|
39 |
+
public function __construct(Wbcr_Factory409_Plugin $plugin)
|
40 |
{
|
41 |
+
$this->menu_title = __('Comments cleaner', 'comments-plus');
|
42 |
|
43 |
+
parent::__construct($plugin);
|
|
|
|
|
|
|
44 |
}
|
45 |
|
46 |
/**
|
47 |
* We register notifications for some actions
|
48 |
*
|
49 |
+
* @see libs\factory\pages\themplates\FactoryPages410_ImpressiveThemplate
|
50 |
* @param $notices
|
51 |
+
* @param Wbcr_Factory409_Plugin $plugin
|
52 |
* @return array
|
53 |
*/
|
54 |
public function getActionNotices($notices)
|
73 |
|
74 |
return $notices;
|
75 |
}
|
76 |
+
|
77 |
+
public function getStats()
|
78 |
+
{
|
79 |
+
if( WCM_Plugin::app()->isNetworkActive() ) {
|
80 |
+
$stats = $this->getMultisiteStats();
|
81 |
+
} else {
|
82 |
+
$stats = $this->getSiteStats();
|
83 |
+
}
|
84 |
|
85 |
+
return $stats;
|
86 |
+
}
|
87 |
+
|
88 |
+
public function getMultisiteStats()
|
|
|
|
|
89 |
{
|
90 |
+
$stats = array();
|
91 |
+
foreach(WCM_Plugin::app()->getActiveSites() as $site) {
|
92 |
+
switch_to_blog($site->blog_id);
|
93 |
+
$site_stats = $this->getSiteStats();
|
94 |
+
$stats = $this->mergeStats($stats, $site_stats);
|
95 |
+
restore_current_blog();
|
96 |
+
}
|
97 |
|
98 |
+
return $stats;
|
99 |
+
}
|
100 |
+
|
101 |
+
public function mergeStats($current_stats, $new_stats)
|
102 |
+
{
|
103 |
+
if( !isset($current_stats['stat_data']) ) {
|
104 |
+
$current_stats['stat_data'] = $new_stats['stat_data'];
|
105 |
+
} else {
|
106 |
+
$comment_fields = array('total_comments', 'order_notes_count', 'spamcount', 'unpcount', 'trashcount');
|
107 |
+
foreach($comment_fields as $comment_field) {
|
108 |
+
if( is_null($current_stats['stat_data'][0]->$comment_field) ) {
|
109 |
+
$current_stats['stat_data'][0]->$comment_field = 0;
|
110 |
+
}
|
111 |
+
if( is_null($new_stats['stat_data'][0]->$comment_field) ) {
|
112 |
+
$new_stats['stat_data'][0]->$comment_field = 0;
|
113 |
+
}
|
114 |
+
if( $new_stats['stat_data'][0]->$comment_field ) {
|
115 |
+
$current_stats['stat_data'][0]->$comment_field = $current_stats['stat_data'][0]->$comment_field + $new_stats['stat_data'][0]->$comment_field;
|
116 |
+
}
|
117 |
+
}
|
118 |
+
}
|
119 |
+
|
120 |
+
if( !isset($current_stats['post_types']) ) {
|
121 |
+
$current_stats['post_types'] = $new_stats['post_types'];
|
122 |
+
} else {
|
123 |
+
foreach($new_stats['post_types'] as $post_type_key => $post_type) {
|
124 |
+
if( array_key_exists($post_type_key, $current_stats['post_types']) ) {
|
125 |
+
$current_stats['post_types'][$post_type_key]['comments_count'] += $new_stats['post_types'][$post_type_key]['comments_count'];
|
126 |
+
} else {
|
127 |
+
$current_stats['post_types'][$post_type_key] = $new_stats['post_types'][$post_type_key];
|
128 |
+
}
|
129 |
+
}
|
130 |
+
}
|
131 |
+
|
132 |
+
return $current_stats;
|
133 |
+
}
|
134 |
+
|
135 |
+
|
136 |
+
public function getSiteStats()
|
137 |
+
{
|
138 |
+
global $wpdb;
|
139 |
$stat_data = $wpdb->get_results("SELECT count(*) as total_comments,
|
140 |
SUM(comment_type='order_note') as order_notes_count,
|
141 |
SUM(comment_approved='spam') as spamcount,
|
164 |
$post_types[$type_name] = array('label' => $type->label, 'comments_count' => $comments_count);
|
165 |
}
|
166 |
|
167 |
+
return array(
|
168 |
+
'stat_data' => $stat_data,
|
169 |
+
'post_types' => $post_types
|
170 |
+
);
|
171 |
+
}
|
172 |
+
|
173 |
+
/**
|
174 |
+
* Prints the content of the page
|
175 |
+
*
|
176 |
+
* @see libs\factory\pages\themplates\FactoryPages410_ImpressiveThemplate
|
177 |
+
*/
|
178 |
+
public function showPageContent()
|
179 |
+
{
|
180 |
+
$stats = $this->getStats();
|
181 |
+
$stat_data = $stats['stat_data'];
|
182 |
+
$post_types = $stats['post_types'];
|
183 |
+
|
184 |
?>
|
185 |
<script>
|
186 |
/**
|
300 |
<?php
|
301 |
}
|
302 |
|
303 |
+
/**
|
304 |
+
* @return bool
|
305 |
+
*/
|
306 |
+
protected function deleteAllComments()
|
307 |
+
{
|
308 |
+
global $wpdb;
|
309 |
+
$delete_order_notes = $this->request->post('wbcr_cmp_delete_order_notes', false, 'intval');
|
310 |
+
|
311 |
+
if( $wpdb->query("TRUNCATE $wpdb->commentmeta") != false ) {
|
312 |
+
$delete_all_sql = "TRUNCATE $wpdb->comments";
|
313 |
+
if( class_exists('WooCommerce') ) {
|
314 |
+
if( !$delete_order_notes ) {
|
315 |
+
$delete_all_sql = "DELETE FROM $wpdb->comments WHERE comment_type != 'order_note'";
|
316 |
+
}
|
317 |
+
}
|
318 |
+
if( $wpdb->query($delete_all_sql) != false ) {
|
319 |
+
$wpdb->query("UPDATE $wpdb->posts SET comment_count = 0 WHERE post_author != 0");
|
320 |
+
$wpdb->query("OPTIMIZE TABLE $wpdb->commentmeta");
|
321 |
+
$wpdb->query("OPTIMIZE TABLE $wpdb->comments");
|
322 |
+
|
323 |
+
return true;
|
324 |
+
}
|
325 |
+
}
|
326 |
+
|
327 |
+
return false;
|
328 |
+
}
|
329 |
+
|
330 |
+
/**
|
331 |
+
* @param string $post_type
|
332 |
+
* @return bool
|
333 |
+
*/
|
334 |
+
protected function deleteCommentsByPostType($post_type = 'post')
|
335 |
+
{
|
336 |
+
global $wpdb;
|
337 |
+
|
338 |
+
$delete_order_notes = $this->request->post('wbcr_cmp_delete_order_notes', false, 'intval');
|
339 |
+
|
340 |
+
$wpdb->query("DELETE cmeta FROM $wpdb->commentmeta cmeta INNER JOIN $wpdb->comments comments ON cmeta.comment_id=comments.comment_ID INNER JOIN $wpdb->posts posts ON comments.comment_post_ID=posts.ID WHERE posts.post_type = '%s'");
|
341 |
+
|
342 |
+
$delete_certain_sql = "DELETE comments FROM $wpdb->comments comments INNER JOIN $wpdb->posts posts ON comments.comment_post_ID=posts.ID WHERE posts.post_type = '%s'";
|
343 |
+
|
344 |
+
if( class_exists('WooCommerce') ) {
|
345 |
+
if( !$delete_order_notes ) {
|
346 |
+
$delete_certain_sql .= " and comment_type != 'order_note'";
|
347 |
+
}
|
348 |
+
}
|
349 |
+
|
350 |
+
$wpdb->query($wpdb->prepare($delete_certain_sql, $post_type));
|
351 |
+
$wpdb->query($wpdb->prepare("UPDATE $wpdb->posts SET comment_count = 0 WHERE post_author != 0 AND post_type = '%s'", $post_type));
|
352 |
+
|
353 |
+
return true;
|
354 |
+
}
|
355 |
+
|
356 |
+
/**
|
357 |
+
* @param $post_types
|
358 |
+
* @return bool
|
359 |
+
*/
|
360 |
+
protected function deleteCommentsByPostTypes($post_types)
|
361 |
+
{
|
362 |
+
global $wpdb;
|
363 |
+
|
364 |
+
if( empty($post_types) || !is_array($post_types) ) {
|
365 |
+
return false;
|
366 |
+
}
|
367 |
+
|
368 |
+
foreach($post_types as $post_type) {
|
369 |
+
$this->deleteCommentsByPostType($post_type);
|
370 |
+
}
|
371 |
+
|
372 |
+
$wpdb->query("OPTIMIZE TABLE $wpdb->commentmeta");
|
373 |
+
$wpdb->query("OPTIMIZE TABLE $wpdb->comments");
|
374 |
+
|
375 |
+
return true;
|
376 |
+
}
|
377 |
+
|
378 |
/**
|
379 |
* This action deletes all comments from the database without restoring.
|
380 |
*/
|
381 |
public function deleteAllCommentsAction()
|
382 |
{
|
|
|
383 |
check_admin_referer($this->getResultId() . '_delete_all_comments');
|
384 |
|
385 |
if( isset($_POST['wbcr_cmp_delete_all']) ) {
|
386 |
$post_types = $this->request->post('wbcr_cmp_post_type', array(), true);
|
|
|
387 |
|
388 |
+
$result = false;
|
|
|
|
|
389 |
|
390 |
+
if( empty($post_types) || in_array('all', $post_types) ) {
|
391 |
+
if( WCM_Plugin::app()->isNetworkActive() ) {
|
392 |
+
foreach(WCM_Plugin::app()->getActiveSites() as $site) {
|
393 |
+
switch_to_blog($site->blog_id);
|
394 |
+
$result = $this->deleteAllComments();
|
395 |
+
restore_current_blog();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
396 |
}
|
397 |
} else {
|
398 |
+
$result = $this->deleteAllComments();
|
|
|
|
|
|
|
399 |
}
|
400 |
} else {
|
401 |
+
if( WCM_Plugin::app()->isNetworkActive() ) {
|
402 |
+
foreach(WCM_Plugin::app()->getActiveSites() as $site) {
|
403 |
+
switch_to_blog($site->blog_id);
|
404 |
+
$result = $this->deleteCommentsByPostTypes($post_types);
|
405 |
+
restore_current_blog();
|
|
|
|
|
|
|
|
|
|
|
|
|
406 |
}
|
407 |
+
} else {
|
408 |
+
$result = $this->deleteCommentsByPostTypes($post_types);
|
|
|
409 |
}
|
410 |
+
}
|
411 |
+
|
412 |
+
if( $result ) {
|
|
|
413 |
$this->redirectToAction('index', array(
|
414 |
'wbcr_cmp_clear_comments' => '1'
|
415 |
));
|
416 |
+
} else {
|
417 |
+
$this->redirectToAction('index', array(
|
418 |
+
'wbcr_cmp_clear_comments_error' => '1',
|
419 |
+
'wbcr_cmp_code' => 'interal_error',
|
420 |
+
));
|
421 |
}
|
422 |
}
|
423 |
|
430 |
* @param int|string $type
|
431 |
*/
|
432 |
public function deleteComments($type = 0)
|
433 |
+
{
|
434 |
+
if( in_array($type, array('spam', 'trash', 0)) ) {
|
435 |
+
|
436 |
+
if( WCM_Plugin::app()->isNetworkActive() ) {
|
437 |
+
foreach(WCM_Plugin::app()->getActiveSites() as $site) {
|
438 |
+
switch_to_blog($site->blog_id);
|
439 |
+
$this->deleteCommentsByType($type);
|
440 |
+
restore_current_blog();
|
441 |
+
}
|
442 |
+
} else {
|
443 |
+
$this->deleteCommentsByType($type);
|
444 |
+
}
|
445 |
+
|
446 |
+
$this->redirectToAction('index', array(
|
447 |
+
'wbcr_cmp_clear_comments' => '1'
|
448 |
+
));
|
449 |
+
}
|
450 |
+
}
|
451 |
+
|
452 |
+
/**
|
453 |
+
* @param int $type
|
454 |
+
* @return false|int
|
455 |
+
*/
|
456 |
+
private function deleteCommentsByType($type = 0)
|
457 |
{
|
458 |
global $wpdb;
|
459 |
|
460 |
+
$wpdb->query("DELETE cmeta
|
461 |
+
FROM $wpdb->commentmeta cmeta
|
462 |
+
INNER JOIN {$wpdb->comments} comments ON cmeta.comment_id=comments.comment_ID
|
463 |
+
WHERE comment_approved='{$type}'");
|
|
|
464 |
|
465 |
+
$res = $wpdb->query("DELETE FROM {$wpdb->comments} WHERE comment_approved='{$type}'");
|
|
|
|
|
466 |
|
467 |
+
if( $res ) {
|
468 |
+
$wpdb->query("OPTIMIZE TABLE {$wpdb->comments}");
|
469 |
+
$wpdb->query("OPTIMIZE TABLE {$wpdb->commentmeta}");
|
|
|
|
|
|
|
|
|
|
|
|
|
470 |
}
|
471 |
+
|
472 |
+
return $res;
|
473 |
}
|
474 |
|
475 |
/**
|
501 |
|
502 |
$this->deleteComments('trash');
|
503 |
}
|
504 |
+
}
|
components/comments-plus/admin/pages/more-features.php
CHANGED
@@ -11,6 +11,6 @@
|
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
-
class WbcrCmp_MoreFeaturesPage extends
|
15 |
|
16 |
}
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
+
class WbcrCmp_MoreFeaturesPage extends Wbcr_FactoryClearfy206_MoreFeaturesPage {
|
15 |
|
16 |
}
|
components/comments-plus/comments-plus.php
CHANGED
@@ -8,6 +8,7 @@
|
|
8 |
* Text Domain: comments-plus
|
9 |
* Domain Path: /languages/
|
10 |
* Author URI: https://clearfy.pro
|
|
|
11 |
*/
|
12 |
|
13 |
// Exit if accessed directly
|
@@ -15,46 +16,58 @@
|
|
15 |
exit;
|
16 |
}
|
17 |
|
18 |
-
|
19 |
-
function wbcr_cmp_admin_notice_error()
|
20 |
-
{
|
21 |
-
?>
|
22 |
-
<div class="notice notice-error">
|
23 |
-
<p><?php _e('We found that you have the "Clearfy - disable unused features" plugin installed, this plugin already has disable comments functions, so you can deactivate plugin "Disable comments"!'); ?></p>
|
24 |
-
</div>
|
25 |
-
<?php
|
26 |
-
}
|
27 |
|
28 |
-
|
|
|
|
|
29 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
return;
|
31 |
-
}
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
require_once(WCM_PLUGIN_DIR . '/includes/class.plugin.php');
|
46 |
-
|
47 |
-
if( !defined('LOADING_COMMENTS_PLUS_AS_ADDON') ) {
|
48 |
-
//todo: обновить опции в старом плагине на новый префикс
|
49 |
-
new WCM_Plugin(__FILE__, array(
|
50 |
-
'prefix' => 'wbcr_comments_plus_', // wbcr_cmp
|
51 |
-
'plugin_name' => 'wbcr_comments_plus',
|
52 |
-
'plugin_title' => __('Webcraftic Disable comments', 'comments-plus'),
|
53 |
-
'plugin_version' => '1.0.9',
|
54 |
-
'required_php_version' => '5.2',
|
55 |
-
'required_wp_version' => '4.2',
|
56 |
-
'plugin_build' => 'free',
|
57 |
-
//'updates' => WCM_PLUGIN_DIR . '/updates/'
|
58 |
-
));
|
59 |
-
}
|
60 |
-
}
|
8 |
* Text Domain: comments-plus
|
9 |
* Domain Path: /languages/
|
10 |
* Author URI: https://clearfy.pro
|
11 |
+
* Framework Version: FACTORY_409_VERSION
|
12 |
*/
|
13 |
|
14 |
// Exit if accessed directly
|
16 |
exit;
|
17 |
}
|
18 |
|
19 |
+
define('WCM_PLUGIN_VERSION', '1.0.9');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
|
21 |
+
define('WCM_PLUGIN_DIR', dirname(__FILE__));
|
22 |
+
define('WCM_PLUGIN_BASE', plugin_basename(__FILE__));
|
23 |
+
define('WCM_PLUGIN_URL', plugins_url(null, __FILE__));
|
24 |
|
25 |
+
|
26 |
+
|
27 |
+
if( !defined('LOADING_COMMENTS_PLUS_AS_ADDON') ) {
|
28 |
+
require_once(WCM_PLUGIN_DIR . '/libs/factory/core/includes/check-compatibility.php');
|
29 |
+
require_once(WCM_PLUGIN_DIR . '/libs/factory/clearfy/includes/check-clearfy-compatibility.php');
|
30 |
+
}
|
31 |
+
|
32 |
+
$plugin_info = array(
|
33 |
+
'prefix' => 'wbcr_comments_plus_', // wbcr_cmp
|
34 |
+
'plugin_name' => 'wbcr_comments_plus',
|
35 |
+
'plugin_title' => __('Webcraftic Disable comments', 'comments-plus'),
|
36 |
+
'plugin_version' => WCM_PLUGIN_VERSION,
|
37 |
+
'plugin_build' => 'free',
|
38 |
+
//'updates' => WCM_PLUGIN_DIR . '/updates/'
|
39 |
+
);
|
40 |
+
|
41 |
+
/**
|
42 |
+
* Проверяет совместимость с Wordpress, php и другими плагинами.
|
43 |
+
*/
|
44 |
+
$compatibility = new Wbcr_FactoryClearfy_Compatibility(array_merge($plugin_info, array(
|
45 |
+
'plugin_already_activate' => defined('WCM_PLUGIN_ACTIVE'),
|
46 |
+
'plugin_as_component' => defined('LOADING_COMMENTS_PLUS_AS_ADDON'),
|
47 |
+
'plugin_dir' => WCM_PLUGIN_DIR,
|
48 |
+
'plugin_base' => WCM_PLUGIN_BASE,
|
49 |
+
'plugin_url' => WCM_PLUGIN_URL,
|
50 |
+
'required_php_version' => '5.3',
|
51 |
+
'required_wp_version' => '4.2.0',
|
52 |
+
'required_clearfy_check_component' => true
|
53 |
+
)));
|
54 |
+
|
55 |
+
/**
|
56 |
+
* Если плагин совместим, то он продолжит свою работу, иначе будет остановлен,
|
57 |
+
* а пользователь получит предупреждение.
|
58 |
+
*/
|
59 |
+
if( !$compatibility->check() ) {
|
60 |
return;
|
61 |
+
}
|
62 |
+
|
63 |
+
define('WCM_PLUGIN_ACTIVE', true);
|
64 |
+
|
65 |
+
if( !defined('LOADING_COMMENTS_PLUS_AS_ADDON') ) {
|
66 |
+
require_once(WCM_PLUGIN_DIR . '/libs/factory/core/boot.php');
|
67 |
+
}
|
68 |
+
|
69 |
+
require_once(WCM_PLUGIN_DIR . '/includes/class.plugin.php');
|
70 |
+
|
71 |
+
if( !defined('LOADING_COMMENTS_PLUS_AS_ADDON') ) {
|
72 |
+
new WCM_Plugin(__FILE__, $plugin_info);
|
73 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
components/comments-plus/includes/boot.php
ADDED
@@ -0,0 +1,50 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Admin boot
|
4 |
+
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
5 |
+
* @copyright Webcraftic 25.05.2017
|
6 |
+
* @version 1.0
|
7 |
+
*/
|
8 |
+
|
9 |
+
// Exit if accessed directly
|
10 |
+
if( !defined('ABSPATH') ) {
|
11 |
+
exit;
|
12 |
+
}
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Получает список отключенных типов записей
|
16 |
+
* @return array|bool|mixed|void
|
17 |
+
*/
|
18 |
+
function wbcr_cmp_get_disabled_post_types()
|
19 |
+
{
|
20 |
+
|
21 |
+
$post_types = WCM_Plugin::app()->getPopulateOption('disable_comments_for_post_types');
|
22 |
+
|
23 |
+
if( WCM_Plugin::app()->getPopulateOption('disable_comments', 'enable_comments') == 'disable_comments' ) {
|
24 |
+
|
25 |
+
$args = array('public' => true);
|
26 |
+
|
27 |
+
if( WCM_Plugin::app()->isNetworkActive() ) {
|
28 |
+
$args['_builtin'] = true;
|
29 |
+
}
|
30 |
+
|
31 |
+
$all_post_types = get_post_types($args, 'objects');
|
32 |
+
|
33 |
+
return array_keys($all_post_types);
|
34 |
+
}
|
35 |
+
|
36 |
+
// Not all extra_post_types might be registered on this particular site
|
37 |
+
/*if( $this->networkactive ) {
|
38 |
+
foreach( (array) $this->options['extra_post_types'] as $extra ) {
|
39 |
+
if( post_type_exists( $extra ) ) {
|
40 |
+
$types[] = $extra;
|
41 |
+
}
|
42 |
+
}
|
43 |
+
}*/
|
44 |
+
|
45 |
+
if( is_array($post_types) ) {
|
46 |
+
return $post_types;
|
47 |
+
}
|
48 |
+
|
49 |
+
return explode(',', $post_types);
|
50 |
+
}
|
components/comments-plus/includes/class.plugin.php
CHANGED
@@ -19,7 +19,7 @@
|
|
19 |
|
20 |
}
|
21 |
} else {
|
22 |
-
class WCM_PluginFactory extends
|
23 |
|
24 |
}
|
25 |
}
|
@@ -28,7 +28,7 @@
|
|
28 |
class WCM_Plugin extends WCM_PluginFactory {
|
29 |
|
30 |
/**
|
31 |
-
* @var
|
32 |
*/
|
33 |
private static $app;
|
34 |
|
@@ -36,6 +36,7 @@
|
|
36 |
* @var bool
|
37 |
*/
|
38 |
private $as_addon;
|
|
|
39 |
|
40 |
/**
|
41 |
* @param string $plugin_path
|
@@ -47,11 +48,9 @@
|
|
47 |
$this->as_addon = isset($data['as_addon']);
|
48 |
|
49 |
if( $this->as_addon ) {
|
50 |
-
$plugin_parent = isset($data['plugin_parent'])
|
51 |
-
? $data['plugin_parent']
|
52 |
-
: null;
|
53 |
|
54 |
-
if( !($plugin_parent instanceof
|
55 |
throw new Exception('An invalid instance of the class was passed.');
|
56 |
}
|
57 |
|
@@ -64,7 +63,6 @@
|
|
64 |
parent::__construct($plugin_path, $data);
|
65 |
}
|
66 |
|
67 |
-
$this->setTextDomain();
|
68 |
$this->setModules();
|
69 |
|
70 |
$this->globalScripts();
|
@@ -72,49 +70,41 @@
|
|
72 |
if( is_admin() ) {
|
73 |
$this->adminScripts();
|
74 |
}
|
75 |
-
|
|
|
76 |
}
|
77 |
|
78 |
/**
|
79 |
-
* @return
|
80 |
*/
|
81 |
public static function app()
|
82 |
{
|
83 |
return self::$app;
|
84 |
}
|
85 |
|
86 |
-
|
87 |
-
protected function setTextDomain()
|
88 |
{
|
89 |
-
|
90 |
-
//load_plugin_textdomain('comments-plus', false, dirname(WCL_PLUGIN_BASE) . '/languages/');
|
91 |
-
|
92 |
-
$domain = 'comments-plus';
|
93 |
-
$locale = apply_filters('plugin_locale', is_admin()
|
94 |
-
? get_user_locale()
|
95 |
-
: get_locale(), $domain);
|
96 |
-
$mofile = $domain . '-' . $locale . '.mo';
|
97 |
|
98 |
-
if(
|
99 |
-
|
100 |
}
|
101 |
}
|
102 |
-
|
103 |
protected function setModules()
|
104 |
{
|
105 |
if( !$this->as_addon ) {
|
106 |
self::app()->load(array(
|
107 |
-
array('libs/factory/bootstrap', '
|
108 |
-
array('libs/factory/forms', '
|
109 |
-
array('libs/factory/pages', '
|
110 |
-
array('libs/factory/clearfy', '
|
111 |
));
|
112 |
}
|
113 |
}
|
114 |
-
|
115 |
private function registerPages()
|
116 |
{
|
117 |
-
|
118 |
$admin_path = WCM_PLUGIN_DIR . '/admin/pages';
|
119 |
|
120 |
self::app()->registerPage('WbcrCmp_CommentsPage', $admin_path . '/comments.php');
|
@@ -128,17 +118,13 @@
|
|
128 |
private function adminScripts()
|
129 |
{
|
130 |
require(WCM_PLUGIN_DIR . '/admin/boot.php');
|
131 |
-
$this->registerPages();
|
132 |
}
|
133 |
|
134 |
private function globalScripts()
|
135 |
{
|
|
|
136 |
require(WCM_PLUGIN_DIR . '/includes/classes/class.configurate-comments.php');
|
137 |
new WbcrCmp_ConfigComments(self::$app);
|
138 |
}
|
139 |
-
/*public function pluginsLoaded()
|
140 |
-
{
|
141 |
-
|
142 |
-
}*/
|
143 |
}
|
144 |
-
}
|
19 |
|
20 |
}
|
21 |
} else {
|
22 |
+
class WCM_PluginFactory extends Wbcr_Factory409_Plugin {
|
23 |
|
24 |
}
|
25 |
}
|
28 |
class WCM_Plugin extends WCM_PluginFactory {
|
29 |
|
30 |
/**
|
31 |
+
* @var Wbcr_Factory409_Plugin
|
32 |
*/
|
33 |
private static $app;
|
34 |
|
36 |
* @var bool
|
37 |
*/
|
38 |
private $as_addon;
|
39 |
+
|
40 |
|
41 |
/**
|
42 |
* @param string $plugin_path
|
48 |
$this->as_addon = isset($data['as_addon']);
|
49 |
|
50 |
if( $this->as_addon ) {
|
51 |
+
$plugin_parent = isset($data['plugin_parent']) ? $data['plugin_parent'] : null;
|
|
|
|
|
52 |
|
53 |
+
if( !($plugin_parent instanceof Wbcr_Factory409_Plugin) ) {
|
54 |
throw new Exception('An invalid instance of the class was passed.');
|
55 |
}
|
56 |
|
63 |
parent::__construct($plugin_path, $data);
|
64 |
}
|
65 |
|
|
|
66 |
$this->setModules();
|
67 |
|
68 |
$this->globalScripts();
|
70 |
if( is_admin() ) {
|
71 |
$this->adminScripts();
|
72 |
}
|
73 |
+
|
74 |
+
add_action('plugins_loaded', array($this, 'pluginsLoaded'));
|
75 |
}
|
76 |
|
77 |
/**
|
78 |
+
* @return Wbcr_Factory409_Plugin
|
79 |
*/
|
80 |
public static function app()
|
81 |
{
|
82 |
return self::$app;
|
83 |
}
|
84 |
|
85 |
+
public function pluginsLoaded()
|
|
|
86 |
{
|
87 |
+
self::app()->setTextDomain('comments-plus', WCM_PLUGIN_DIR);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
88 |
|
89 |
+
if( is_admin() ) {
|
90 |
+
$this->registerPages();
|
91 |
}
|
92 |
}
|
93 |
+
|
94 |
protected function setModules()
|
95 |
{
|
96 |
if( !$this->as_addon ) {
|
97 |
self::app()->load(array(
|
98 |
+
array('libs/factory/bootstrap', 'factory_bootstrap_409', 'admin'),
|
99 |
+
array('libs/factory/forms', 'factory_forms_410', 'admin'),
|
100 |
+
array('libs/factory/pages', 'factory_pages_410', 'admin'),
|
101 |
+
array('libs/factory/clearfy', 'factory_clearfy_206', 'all')
|
102 |
));
|
103 |
}
|
104 |
}
|
105 |
+
|
106 |
private function registerPages()
|
107 |
{
|
|
|
108 |
$admin_path = WCM_PLUGIN_DIR . '/admin/pages';
|
109 |
|
110 |
self::app()->registerPage('WbcrCmp_CommentsPage', $admin_path . '/comments.php');
|
118 |
private function adminScripts()
|
119 |
{
|
120 |
require(WCM_PLUGIN_DIR . '/admin/boot.php');
|
|
|
121 |
}
|
122 |
|
123 |
private function globalScripts()
|
124 |
{
|
125 |
+
require(WCM_PLUGIN_DIR . '/includes/boot.php');
|
126 |
require(WCM_PLUGIN_DIR . '/includes/classes/class.configurate-comments.php');
|
127 |
new WbcrCmp_ConfigComments(self::$app);
|
128 |
}
|
|
|
|
|
|
|
|
|
129 |
}
|
130 |
+
}
|
components/comments-plus/includes/classes/class.configurate-comments.php
CHANGED
@@ -12,14 +12,14 @@
|
|
12 |
exit;
|
13 |
}
|
14 |
|
15 |
-
class WbcrCmp_ConfigComments extends
|
16 |
|
17 |
private $modified_types = array();
|
18 |
|
19 |
/**
|
20 |
-
* @param
|
21 |
*/
|
22 |
-
public function __construct(
|
23 |
{
|
24 |
parent::__construct($plugin);
|
25 |
$this->plugin = $plugin;
|
@@ -27,16 +27,6 @@
|
|
27 |
|
28 |
public function registerActionsAndFilters()
|
29 |
{
|
30 |
-
// Removes the server responses a reference to the xmlrpc file.
|
31 |
-
if( $this->getOption('remove_x_pingback') || $this->isDisabledAllPosts() ) {
|
32 |
-
add_filter('template_redirect', array($this, 'removeXPingbackHeaders'));
|
33 |
-
add_filter('wp_headers', array($this, 'removeXPingback'));
|
34 |
-
|
35 |
-
add_action('template_redirect', array($this, 'linkRelBufferStart'), -1);
|
36 |
-
add_action('get_header', array($this, 'linkRelBufferStart'));
|
37 |
-
add_action('wp_head', array($this, 'linkRelBufferEnd'), 999);
|
38 |
-
}
|
39 |
-
|
40 |
// These need to happen now
|
41 |
if( $this->isDisabledAllPosts() ) {
|
42 |
add_action('widgets_init', array($this, 'disableRcWidget'));
|
@@ -47,19 +37,19 @@
|
|
47 |
add_action('admin_init', array($this, 'filterAdminBar'));
|
48 |
} else {
|
49 |
|
50 |
-
if( $this->
|
51 |
add_action('wp_enqueue_scripts', array($this, 'assetsUrlSpanScripts'));
|
52 |
}
|
53 |
|
54 |
-
if( $this->
|
55 |
add_filter('comment_text', array($this, 'commentTextConvertLinksPseudo'));
|
56 |
}
|
57 |
|
58 |
-
if( $this->
|
59 |
add_filter('get_comment_author_link', array($this, 'pseudoCommentAuthorLink'), 100, 3);
|
60 |
}
|
61 |
|
62 |
-
if( $this->
|
63 |
add_filter('comment_form_default_fields', array($this, 'removeUrlFromCommentForm'));
|
64 |
}
|
65 |
}
|
@@ -69,19 +59,34 @@
|
|
69 |
add_action('wp_loaded', array($this, 'initWploadedFilters'));
|
70 |
}
|
71 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
72 |
private function isDisabledAllPosts()
|
73 |
{
|
74 |
-
return $this->
|
75 |
}
|
76 |
|
77 |
private function isDisabledCertainPostTypes()
|
78 |
{
|
79 |
-
return $this->
|
80 |
}
|
81 |
|
82 |
private function isEnabledComments()
|
83 |
{
|
84 |
-
return $this->
|
85 |
}
|
86 |
|
87 |
/*
|
@@ -89,19 +94,7 @@
|
|
89 |
*/
|
90 |
private function getDisabledPostTypes()
|
91 |
{
|
92 |
-
|
93 |
-
|
94 |
-
if( $this->isDisabledAllPosts() ) {
|
95 |
-
$all_post_types = get_post_types(array('public' => true), 'objects');
|
96 |
-
|
97 |
-
return array_keys($all_post_types);
|
98 |
-
}
|
99 |
-
|
100 |
-
if( is_array($post_types) ) {
|
101 |
-
return $post_types;
|
102 |
-
}
|
103 |
-
|
104 |
-
return explode(',', $post_types);
|
105 |
}
|
106 |
|
107 |
/*
|
@@ -133,7 +126,6 @@
|
|
133 |
// Filters for the admin only
|
134 |
if( is_admin() ) {
|
135 |
add_action('admin_print_footer_scripts', array($this, 'discussionNotice'));
|
136 |
-
//add_filter('plugin_row_meta', array($this, 'set_plugin_meta'), 10, 2);
|
137 |
|
138 |
// if only certain types are disabled, remember the original post status
|
139 |
if( !$this->isDisabledAllPosts() ) {
|
@@ -198,6 +190,10 @@
|
|
198 |
// Remove comments links from admin bar
|
199 |
remove_action('admin_bar_menu', 'wp_admin_bar_comments_menu', 60);
|
200 |
}
|
|
|
|
|
|
|
|
|
201 |
}
|
202 |
|
203 |
public function editFormInputs()
|
@@ -263,18 +259,14 @@
|
|
263 |
{
|
264 |
$post = get_post($post_id);
|
265 |
|
266 |
-
return ($this->isDisabledAllPosts() || $this->isPostTypeDisabled($post->post_type))
|
267 |
-
? array()
|
268 |
-
: $comments;
|
269 |
}
|
270 |
|
271 |
public function filterCommentStatus($open, $post_id)
|
272 |
{
|
273 |
$post = get_post($post_id);
|
274 |
|
275 |
-
return ($this->isDisabledAllPosts() || $this->isPostTypeDisabled($post->post_type))
|
276 |
-
? false
|
277 |
-
: $open;
|
278 |
}
|
279 |
|
280 |
public function disableRcWidget()
|
@@ -356,45 +348,6 @@
|
|
356 |
return $fields;
|
357 |
}
|
358 |
|
359 |
-
public function removeXPingback($headers)
|
360 |
-
{
|
361 |
-
unset($headers['X-Pingback']);
|
362 |
-
|
363 |
-
return $headers;
|
364 |
-
}
|
365 |
-
|
366 |
-
public function removeXPingbackHeaders($headers)
|
367 |
-
{
|
368 |
-
if( function_exists('header_remove') ) {
|
369 |
-
header_remove('X-Pingback');
|
370 |
-
header_remove('Server');
|
371 |
-
}
|
372 |
-
}
|
373 |
-
|
374 |
-
//https://wordpress.stackexchange.com/questions/158700/how-to-remove-pingback-from-head
|
375 |
-
|
376 |
-
public function linkRelBufferCallback($buffer)
|
377 |
-
{
|
378 |
-
$old_buffer = $buffer;
|
379 |
-
$buffer = preg_replace('/(<link.*?rel=("|\')pingback("|\').*?href=("|\')(.*?)("|\')(.*?)?\/?>|<link.*?href=("|\')(.*?)("|\').*?rel=("|\')pingback("|\')(.*?)?\/?>)/i', '', $buffer);
|
380 |
-
|
381 |
-
// todo: fixed bug when return buffer null
|
382 |
-
if( empty($buffer) ) {
|
383 |
-
return $old_buffer;
|
384 |
-
}
|
385 |
-
|
386 |
-
return $buffer;
|
387 |
-
}
|
388 |
-
|
389 |
-
public function linkRelBufferStart()
|
390 |
-
{
|
391 |
-
ob_start(array($this, "linkRelBufferCallback"));
|
392 |
-
}
|
393 |
-
|
394 |
-
public function linkRelBufferEnd()
|
395 |
-
{
|
396 |
-
ob_flush();
|
397 |
-
}
|
398 |
|
399 |
// todo: Убрать это грязное решение со скриптами.
|
400 |
public function assetsUrlSpanScripts()
|
@@ -406,4 +359,4 @@
|
|
406 |
wp_enqueue_style('wbcr-comments-plus-url-span', WCM_PLUGIN_URL . '/assets/css/url-span.css', array(), $this->plugin->getPluginVersion());
|
407 |
wp_enqueue_script('wbcr-comments-plus-url-span', WCM_PLUGIN_URL . '/assets/js/url-span.js', array('jquery'), $this->plugin->getPluginVersion(), true);
|
408 |
}
|
409 |
-
}
|
12 |
exit;
|
13 |
}
|
14 |
|
15 |
+
class WbcrCmp_ConfigComments extends Wbcr_FactoryClearfy206_Configurate {
|
16 |
|
17 |
private $modified_types = array();
|
18 |
|
19 |
/**
|
20 |
+
* @param Wbcr_Factory409_Plugin $plugin
|
21 |
*/
|
22 |
+
public function __construct(Wbcr_Factory409_Plugin $plugin)
|
23 |
{
|
24 |
parent::__construct($plugin);
|
25 |
$this->plugin = $plugin;
|
27 |
|
28 |
public function registerActionsAndFilters()
|
29 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
// These need to happen now
|
31 |
if( $this->isDisabledAllPosts() ) {
|
32 |
add_action('widgets_init', array($this, 'disableRcWidget'));
|
37 |
add_action('admin_init', array($this, 'filterAdminBar'));
|
38 |
} else {
|
39 |
|
40 |
+
if( $this->getPopulateOption('comment_text_convert_links_pseudo') || $this->getPopulateOption('pseudo_comment_author_link') ) {
|
41 |
add_action('wp_enqueue_scripts', array($this, 'assetsUrlSpanScripts'));
|
42 |
}
|
43 |
|
44 |
+
if( $this->getPopulateOption('comment_text_convert_links_pseudo') ) {
|
45 |
add_filter('comment_text', array($this, 'commentTextConvertLinksPseudo'));
|
46 |
}
|
47 |
|
48 |
+
if( $this->getPopulateOption('pseudo_comment_author_link') ) {
|
49 |
add_filter('get_comment_author_link', array($this, 'pseudoCommentAuthorLink'), 100, 3);
|
50 |
}
|
51 |
|
52 |
+
if( $this->getPopulateOption('remove_url_from_comment_form') ) {
|
53 |
add_filter('comment_form_default_fields', array($this, 'removeUrlFromCommentForm'));
|
54 |
}
|
55 |
}
|
59 |
add_action('wp_loaded', array($this, 'initWploadedFilters'));
|
60 |
}
|
61 |
|
62 |
+
/*
|
63 |
+
* Remove comment links from the admin bar in a multisite network.
|
64 |
+
*/
|
65 |
+
public function removeNetworkCommentLinks($wp_admin_bar)
|
66 |
+
{
|
67 |
+
if( $this->plugin->isNetworkActive() && is_user_logged_in() ) {
|
68 |
+
foreach((array)$wp_admin_bar->user->blogs as $blog) {
|
69 |
+
$wp_admin_bar->remove_menu('blog-' . $blog->userblog_id . '-c');
|
70 |
+
}
|
71 |
+
} else {
|
72 |
+
// We have no way to know whether the plugin is active on other sites, so only remove this one
|
73 |
+
$wp_admin_bar->remove_menu('blog-' . get_current_blog_id() . '-c');
|
74 |
+
}
|
75 |
+
}
|
76 |
+
|
77 |
private function isDisabledAllPosts()
|
78 |
{
|
79 |
+
return $this->getPopulateOption('disable_comments', 'enable_comments') == 'disable_comments';
|
80 |
}
|
81 |
|
82 |
private function isDisabledCertainPostTypes()
|
83 |
{
|
84 |
+
return $this->getPopulateOption('disable_comments', 'enable_comments') == 'disable_certain_post_types_comments';
|
85 |
}
|
86 |
|
87 |
private function isEnabledComments()
|
88 |
{
|
89 |
+
return $this->getPopulateOption('disable_comments', 'enable_comments') == 'enable_comments';
|
90 |
}
|
91 |
|
92 |
/*
|
94 |
*/
|
95 |
private function getDisabledPostTypes()
|
96 |
{
|
97 |
+
return wbcr_cmp_get_disabled_post_types();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
98 |
}
|
99 |
|
100 |
/*
|
126 |
// Filters for the admin only
|
127 |
if( is_admin() ) {
|
128 |
add_action('admin_print_footer_scripts', array($this, 'discussionNotice'));
|
|
|
129 |
|
130 |
// if only certain types are disabled, remember the original post status
|
131 |
if( !$this->isDisabledAllPosts() ) {
|
190 |
// Remove comments links from admin bar
|
191 |
remove_action('admin_bar_menu', 'wp_admin_bar_comments_menu', 60);
|
192 |
}
|
193 |
+
|
194 |
+
if( is_multisite() ) {
|
195 |
+
add_action('admin_bar_menu', array($this, 'removeNetworkCommentLinks'), 500);
|
196 |
+
}
|
197 |
}
|
198 |
|
199 |
public function editFormInputs()
|
259 |
{
|
260 |
$post = get_post($post_id);
|
261 |
|
262 |
+
return ($this->isDisabledAllPosts() || $this->isPostTypeDisabled($post->post_type)) ? array() : $comments;
|
|
|
|
|
263 |
}
|
264 |
|
265 |
public function filterCommentStatus($open, $post_id)
|
266 |
{
|
267 |
$post = get_post($post_id);
|
268 |
|
269 |
+
return ($this->isDisabledAllPosts() || $this->isPostTypeDisabled($post->post_type)) ? false : $open;
|
|
|
|
|
270 |
}
|
271 |
|
272 |
public function disableRcWidget()
|
348 |
return $fields;
|
349 |
}
|
350 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
351 |
|
352 |
// todo: Убрать это грязное решение со скриптами.
|
353 |
public function assetsUrlSpanScripts()
|
359 |
wp_enqueue_style('wbcr-comments-plus-url-span', WCM_PLUGIN_URL . '/assets/css/url-span.css', array(), $this->plugin->getPluginVersion());
|
360 |
wp_enqueue_script('wbcr-comments-plus-url-span', WCM_PLUGIN_URL . '/assets/js/url-span.js', array('jquery'), $this->plugin->getPluginVersion(), true);
|
361 |
}
|
362 |
+
}
|
components/comments-plus/languages/comments-plus-nl_BE.po
CHANGED
@@ -1,359 +1,359 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: Clearfy\n"
|
4 |
-
"POT-Creation-Date: 2018-09-06 18:27+0300\n"
|
5 |
-
"PO-Revision-Date: \n"
|
6 |
-
"Last-Translator: \n"
|
7 |
-
"Language-Team: \n"
|
8 |
-
"Language: nl_BE\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"X-Generator: Poedit 2.1.1\n"
|
13 |
-
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
14 |
-
"X-Generator: Poedit 2.1.1\n"
|
15 |
-
"X-Poedit-Basepath: ..\n"
|
16 |
-
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
17 |
-
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
18 |
-
"X-Poedit-SourceCharset: UTF-8\n"
|
19 |
-
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
20 |
-
"X-Poedit-SearchPath-0: .\n"
|
21 |
-
"X-Poedit-SearchPathExcluded-0: libs\n"
|
22 |
-
"X-Poedit-SearchPathExcluded-1: components\n"
|
23 |
-
"X-Poedit-SearchPathExcluded-2: cache\n"
|
24 |
-
|
25 |
-
#: admin/boot.php:18
|
26 |
-
msgid "Disable comments on the entire site"
|
27 |
-
msgstr "Reacties uitschakelen op de volledige site"
|
28 |
-
|
29 |
-
#: admin/boot.php:24 admin/pages/comments.php:129
|
30 |
-
msgid "Select post types"
|
31 |
-
msgstr "Selecteer bericht types"
|
32 |
-
|
33 |
-
#: admin/boot.php:29 admin/pages/comments.php:157
|
34 |
-
msgid "Replace external links in comments on the JavaScript code"
|
35 |
-
msgstr "Vervang externe links in opmerkingen over de JavaScript code"
|
36 |
-
|
37 |
-
#: admin/boot.php:34 admin/pages/comments.php:166
|
38 |
-
msgid "Replace external links from comment authors on the JavaScript code"
|
39 |
-
msgstr "Vervang externe links van commentaar auteurs op de JavaScript code"
|
40 |
-
|
41 |
-
#: admin/boot.php:39
|
42 |
-
msgid "Disable X-Pingback"
|
43 |
-
msgstr "Uitschakelen X-Pingback"
|
44 |
-
|
45 |
-
#: admin/boot.php:44 admin/pages/comments.php:148
|
46 |
-
msgid "Remove field \"site\" in comment form"
|
47 |
-
msgstr "Verwijder het veld \"site\" in reactie formulier"
|
48 |
-
|
49 |
-
#: admin/boot.php:56
|
50 |
-
msgid "One click disable all comments"
|
51 |
-
msgstr "Alle reacties uitschakelen in één klik"
|
52 |
-
|
53 |
-
#: admin/boot.php:77
|
54 |
-
msgid "Get ultimate plugin free"
|
55 |
-
msgstr "Krijg ultieme plugin gratis"
|
56 |
-
|
57 |
-
#: admin/pages/comments.php:33 admin/pages/comments.php:94
|
58 |
-
msgid "Disable comments"
|
59 |
-
msgstr "Reacties uitschakelen"
|
60 |
-
|
61 |
-
#: admin/pages/comments.php:47
|
62 |
-
msgid "Comments"
|
63 |
-
msgstr "Opmerkingen"
|
64 |
-
|
65 |
-
#: admin/pages/comments.php:48
|
66 |
-
msgid "General"
|
67 |
-
msgstr "Algemeen"
|
68 |
-
|
69 |
-
#: admin/pages/comments.php:81
|
70 |
-
msgid "Global disabling of comments"
|
71 |
-
msgstr "Algemene uitschakeling van reacties"
|
72 |
-
|
73 |
-
#: admin/pages/comments.php:81
|
74 |
-
msgid ""
|
75 |
-
"What is the difference between these and native WordPress functions? WordPress "
|
76 |
-
"disables comments only for new posts! Using the functions below, you can "
|
77 |
-
"disable comments globally, even for old posts, and you can choose which post "
|
78 |
-
"types comments to disable. The plugin also disables the comment functionality "
|
79 |
-
"itself, which creates a certain load on the site."
|
80 |
-
msgstr ""
|
81 |
-
"Wat is het verschil tussen deze en native WordPress-functies? WordPress "
|
82 |
-
"schakelt alleen reacties uit voor nieuwe berichten! Met behulp van de "
|
83 |
-
"onderstaande functies kunt u opmerkingen globaal uitschakelen, zelfs voor oude "
|
84 |
-
"berichten, en kunt u kiezen welk bericht een opmerking is om uit te schakelen. "
|
85 |
-
"De plugin schakelt ook de commentaar functionaliteit zelf uit, die de site op "
|
86 |
-
"één of andere manier belast."
|
87 |
-
|
88 |
-
#: admin/pages/comments.php:96
|
89 |
-
msgid "Not disable"
|
90 |
-
msgstr "Niet uitschakelen"
|
91 |
-
|
92 |
-
#: admin/pages/comments.php:99
|
93 |
-
msgid "Everywhere"
|
94 |
-
msgstr "Overal"
|
95 |
-
|
96 |
-
#: admin/pages/comments.php:100
|
97 |
-
#, php-format
|
98 |
-
msgid ""
|
99 |
-
"You can delete all comments in the database by clicking on this link (<a href="
|
100 |
-
"\"%s\">cleaning comments in database</a>)."
|
101 |
-
msgstr ""
|
102 |
-
"U kunt alle reacties in de database verwijderen door op deze link te klikken "
|
103 |
-
"(<a href=\"%s\">reacties opschonen in database</a>)."
|
104 |
-
|
105 |
-
#: admin/pages/comments.php:104
|
106 |
-
msgid "On certain post types"
|
107 |
-
msgstr "Op bepaalde bericht types"
|
108 |
-
|
109 |
-
#: admin/pages/comments.php:105
|
110 |
-
#, php-format
|
111 |
-
msgid ""
|
112 |
-
"You can delete all comments for the selected post types. Select the post types "
|
113 |
-
"below and save the settings. After that, click the link (<a href=\"%s\">delete "
|
114 |
-
"all comments for the selected post types in database</a>)."
|
115 |
-
msgstr ""
|
116 |
-
"U kunt alle reacties voor de geselecteerde bericht types verwijderen. "
|
117 |
-
"Selecteer de bericht types hieronder en sla de instellingen op. Klik daarna op "
|
118 |
-
"de link (<a href=\"%s\">verwijder alle reacties voor de geselecteerde bericht "
|
119 |
-
"types in de database</a>)."
|
120 |
-
|
121 |
-
#: admin/pages/comments.php:109
|
122 |
-
msgid ""
|
123 |
-
"Everywhere - Warning: This option is global and will affect your entire site. "
|
124 |
-
"Use it only if you want to disable comments everywhere. A complete description "
|
125 |
-
"of what this option does is available here"
|
126 |
-
msgstr ""
|
127 |
-
"Overal - Waarschuwing: deze optie is globaal en heeft invloed op uw hele site. "
|
128 |
-
"Gebruik het alleen als u reacties overal wilt uitschakelen. Een volledige "
|
129 |
-
"beschrijving van wat deze optie doet, is hier beschikbaar"
|
130 |
-
|
131 |
-
#: admin/pages/comments.php:109
|
132 |
-
msgid ""
|
133 |
-
"On certain post types - Disabling comments will also disable trackbacks and "
|
134 |
-
"pingbacks. All comment-related fields will also be hidden from the edit/quick-"
|
135 |
-
"edit screens of the affected posts. These settings cannot be overridden for "
|
136 |
-
"individual posts."
|
137 |
-
msgstr ""
|
138 |
-
"Op bepaalde bericht types: Door het uitschakelen van reacties, worden ook "
|
139 |
-
"trackbacks en pingbacks uitgeschakeld. Alle aan reactie gerelateerde velden "
|
140 |
-
"worden ook verborgen in de editeer/quick-edit schermen van de betreffende "
|
141 |
-
"berichten. Deze instellingen kunnen niet worden overschreven voor individuele "
|
142 |
-
"berichten."
|
143 |
-
|
144 |
-
#: admin/pages/comments.php:132
|
145 |
-
msgid "Select the post types for which comments will be disabled"
|
146 |
-
msgstr "Selecteer de bericht types waarvoor reacties zullen worden uitgeschakeld"
|
147 |
-
|
148 |
-
#: admin/pages/comments.php:142
|
149 |
-
msgid "General settings for comments"
|
150 |
-
msgstr "Algemene instellingen voor reacties"
|
151 |
-
|
152 |
-
#: admin/pages/comments.php:142
|
153 |
-
msgid "These settings will help you improve SEO and reduce the amount of spam."
|
154 |
-
msgstr ""
|
155 |
-
"Met deze instellingen kunt u de SEO verbeteren en de hoeveelheid spam "
|
156 |
-
"verminderen."
|
157 |
-
|
158 |
-
#: admin/pages/comments.php:150
|
159 |
-
msgid ""
|
160 |
-
"Tired of spam in the comments? Do visitors leave \"blank\" comments for the "
|
161 |
-
"sake of a link to their site?"
|
162 |
-
msgstr ""
|
163 |
-
"Ben je spam in de reacties beu? Laten bezoekers \"lege\" reacties achter om "
|
164 |
-
"enkel te linken naar hun site?"
|
165 |
-
|
166 |
-
#: admin/pages/comments.php:150
|
167 |
-
msgid "Removes the \"Site\" field from the comment form."
|
168 |
-
msgstr "Verwijdert het veld \"Site\" uit het reactie formulier."
|
169 |
-
|
170 |
-
#: admin/pages/comments.php:150
|
171 |
-
msgid ""
|
172 |
-
"Works with the standard comment form, if the form is manually written in your "
|
173 |
-
"theme-it probably will not work!"
|
174 |
-
msgstr ""
|
175 |
-
"Werkt met het standaard reactie formulier, als het formulier handmatig aan uw "
|
176 |
-
"thema werd toegevoegd, zal het waarschijnlijk niet werken!"
|
177 |
-
|
178 |
-
#: admin/pages/comments.php:159
|
179 |
-
msgid ""
|
180 |
-
"Superfluous external links from comments, which can be typed from a dozen and "
|
181 |
-
"more for one article, do not bring anything good for promotion."
|
182 |
-
msgstr ""
|
183 |
-
"Overbodige externe linken van reacties, die uit een tiental of meer voor één "
|
184 |
-
"artikel getypt kunnen zijn, brengen promotioneel niets bij."
|
185 |
-
|
186 |
-
#: admin/pages/comments.php:159
|
187 |
-
#, php-format
|
188 |
-
msgid "Replaces the links of this kind of %s, on links of this kind %s"
|
189 |
-
msgstr "Vervangt de linken van dit soort %s, naar linken van dit type %s"
|
190 |
-
|
191 |
-
#: admin/pages/comments.php:168
|
192 |
-
msgid ""
|
193 |
-
"Up to 90 percent of comments in the blog can be left for the sake of an "
|
194 |
-
"external link. Even nofollow from page weight loss here does not help."
|
195 |
-
msgstr ""
|
196 |
-
"Tot 90 procent van de reacties in de blog wordt achtergelaten omwille van een "
|
197 |
-
"externe link. Zelfs nofollow voor pagina gewichtsverlies helpt hier niet."
|
198 |
-
|
199 |
-
#: admin/pages/comments.php:168
|
200 |
-
msgid ""
|
201 |
-
"Replaces the links of the authors of comments on the JavaScript code, it is "
|
202 |
-
"impossible to distinguish it from usual links."
|
203 |
-
msgstr ""
|
204 |
-
"Vervangt de linken van de auteurs van reacties op de JavaScript code, het is "
|
205 |
-
"onmogelijk om het te onderscheiden van de gebruikelijke linken."
|
206 |
-
|
207 |
-
#: admin/pages/comments.php:168
|
208 |
-
msgid "In some Wordpress topics this may not work."
|
209 |
-
msgstr "In sommige onderdelen van WordPress werkt dit misschien niet."
|
210 |
-
|
211 |
-
#: admin/pages/comments.php:175
|
212 |
-
msgid "Disable XML-RPC"
|
213 |
-
msgstr "Schakel XML-RPC uit"
|
214 |
-
|
215 |
-
#: admin/pages/comments.php:177
|
216 |
-
msgid ""
|
217 |
-
"A pingback is basically an automated comment that gets created when another "
|
218 |
-
"blog links to you. A self-pingback is created when you link to an article "
|
219 |
-
"within your own blog. Pingbacks are essentially nothing more than spam and "
|
220 |
-
"simply waste resources."
|
221 |
-
msgstr ""
|
222 |
-
"Een pingback is in feite een geautomatiseerde commentaar die wordt gemaakt "
|
223 |
-
"wanneer een andere blog linkt naar u. Een zelf-pingback wordt gemaakt wanneer "
|
224 |
-
"u een linkt naar een artikel binnen uw eigen blog. Pingbacks zijn in wezen "
|
225 |
-
"niets meer dan spam en simpelweg een verspilling van resources."
|
226 |
-
|
227 |
-
#: admin/pages/comments.php:177
|
228 |
-
msgid "Removes the server responses a reference to the xmlrpc file."
|
229 |
-
msgstr "Verwijdert de server reacties bij verwijzing naar het xmlrpc bestand."
|
230 |
-
|
231 |
-
#: admin/pages/delete-comments.php:36
|
232 |
-
msgid "Comments cleaner"
|
233 |
-
msgstr "Reacties opkuisen"
|
234 |
-
|
235 |
-
#: admin/pages/delete-comments.php:75
|
236 |
-
msgid "All comments have been deleted."
|
237 |
-
msgstr "Alle opmerkingen zijn verwijderd."
|
238 |
-
|
239 |
-
#: admin/pages/delete-comments.php:84
|
240 |
-
msgid ""
|
241 |
-
"An error occurred while trying to delete comments. Internal error occured. "
|
242 |
-
"Please try again later."
|
243 |
-
msgstr ""
|
244 |
-
"Er is een fout opgetreden bij het verwijderen van opmerkingen. Interne fout "
|
245 |
-
"opgetreden. Probeer het later opnieuw."
|
246 |
-
|
247 |
-
#: admin/pages/delete-comments.php:154
|
248 |
-
msgid ""
|
249 |
-
"Are you sure you want to delete comments from the database without restoring?"
|
250 |
-
msgstr ""
|
251 |
-
"Weet je zeker dat je reacties uit de database wilt verwijderen zonder te "
|
252 |
-
"herstellen?"
|
253 |
-
|
254 |
-
#: admin/pages/delete-comments.php:169
|
255 |
-
msgid "Delete "
|
256 |
-
msgstr ""
|
257 |
-
|
258 |
-
#: admin/pages/delete-comments.php:175
|
259 |
-
msgid "Comments clearing tools"
|
260 |
-
msgstr "Opmerkingen wissen tools"
|
261 |
-
|
262 |
-
#: admin/pages/delete-comments.php:178
|
263 |
-
msgid ""
|
264 |
-
"These functions can be useful for global disabling comments or bulk cleaning "
|
265 |
-
"spam comments."
|
266 |
-
msgstr ""
|
267 |
-
"Deze functies kunnen handig zijn voor algemene uitschakeling van opmerkingen "
|
268 |
-
"of voor het opschonen van spam-reacties."
|
269 |
-
|
270 |
-
#: admin/pages/delete-comments.php:183
|
271 |
-
msgid "Remove all comments"
|
272 |
-
msgstr "Verwijder alle reacties"
|
273 |
-
|
274 |
-
#: admin/pages/delete-comments.php:185
|
275 |
-
msgid "You can delete all comments in your database with one click."
|
276 |
-
msgstr "U kunt alle reacties in uw database met één klik verwijderen."
|
277 |
-
|
278 |
-
#: admin/pages/delete-comments.php:187
|
279 |
-
msgid "Choose post types"
|
280 |
-
msgstr "Kies bericht types"
|
281 |
-
|
282 |
-
#: admin/pages/delete-comments.php:192
|
283 |
-
msgid "Select all"
|
284 |
-
msgstr "Selecteer alles"
|
285 |
-
|
286 |
-
#: admin/pages/delete-comments.php:209
|
287 |
-
#, php-format
|
288 |
-
msgid "Delete Woocommerce order notices? (%d)"
|
289 |
-
msgstr "Woocommerce ordermeldingen verwijderen? (%d)"
|
290 |
-
|
291 |
-
#: admin/pages/delete-comments.php:215
|
292 |
-
#, php-format
|
293 |
-
msgid "Delete (%s)"
|
294 |
-
msgstr ""
|
295 |
-
|
296 |
-
#: admin/pages/delete-comments.php:222
|
297 |
-
msgid "Remove spam comments"
|
298 |
-
msgstr "Verwijder spam reacties"
|
299 |
-
|
300 |
-
#: admin/pages/delete-comments.php:224
|
301 |
-
msgid "You can remove only spam comments from the database with one click."
|
302 |
-
msgstr "U kunt met één muisklik enkel spam reacties uit de database verwijderen."
|
303 |
-
|
304 |
-
#: admin/pages/delete-comments.php:226 admin/pages/delete-comments.php:233
|
305 |
-
#: admin/pages/delete-comments.php:240
|
306 |
-
#, php-format
|
307 |
-
msgid "Delete (%d)"
|
308 |
-
msgstr "Verwijderen (%d)"
|
309 |
-
|
310 |
-
#: admin/pages/delete-comments.php:229
|
311 |
-
msgid "Remove unapproved comments"
|
312 |
-
msgstr "Verwijder niet-goedgekeurde reacties"
|
313 |
-
|
314 |
-
#: admin/pages/delete-comments.php:231
|
315 |
-
msgid "You can remove only unapproved comments from the database with one click."
|
316 |
-
msgstr ""
|
317 |
-
"U kunt met één klik enkel niet-goedgekeurde reacties uit de database "
|
318 |
-
"verwijderen."
|
319 |
-
|
320 |
-
#: admin/pages/delete-comments.php:236
|
321 |
-
msgid "Remove trashed comments"
|
322 |
-
msgstr "Verwijder reacties uit vuilbak"
|
323 |
-
|
324 |
-
#: admin/pages/delete-comments.php:238
|
325 |
-
msgid "You can remove only trashed comments from the database with one click."
|
326 |
-
msgstr ""
|
327 |
-
"U kunt met één klik enkel de reacties in de vuilbak uit de database "
|
328 |
-
"verwijderen."
|
329 |
-
|
330 |
-
#: comments-plus.php:23
|
331 |
-
msgid ""
|
332 |
-
"We found that you have the \"Clearfy - disable unused features\" plugin "
|
333 |
-
"installed, this plugin already has disable comments functions, so you can "
|
334 |
-
"deactivate plugin \"Disable comments\"!"
|
335 |
-
msgstr ""
|
336 |
-
"We hebben geconstateerd dat de plugin \"Clearfy - uitschakelen ongebruikte "
|
337 |
-
"functies\" is geïnstalleerd, deze plugin heeft al de functie voor het "
|
338 |
-
"uitschakelen van reacties, dus u kunt de plugin \"Uitschakelen Reacties\" "
|
339 |
-
"deactiveren!"
|
340 |
-
|
341 |
-
#: comments-plus.php:81
|
342 |
-
msgid "Webcraftic Disable comments"
|
343 |
-
msgstr "Webcraftic uitschakelen reacties"
|
344 |
-
|
345 |
-
#: includes/classes/class.configurate-comments.php:188
|
346 |
-
#: includes/classes/class.configurate-comments.php:240
|
347 |
-
msgid "Comments are closed."
|
348 |
-
msgstr "Reacties zijn gesloten."
|
349 |
-
|
350 |
-
#: includes/classes/class.configurate-comments.php:228
|
351 |
-
#, php-format
|
352 |
-
msgid ""
|
353 |
-
"Note: The <em>%s</em> plugin is currently active, and comments are completely "
|
354 |
-
"disabled on: %s. Many of the settings below will not be applicable for those "
|
355 |
-
"post types."
|
356 |
-
msgstr ""
|
357 |
-
"Opmerking: de plugin <em>%s</em> is momenteel actief en reacties zijn volledig "
|
358 |
-
"uitgeschakeld op: %s. Veel van onderstaande instellingen zijn niet van "
|
359 |
"toepassing op die bericht types."
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: Clearfy\n"
|
4 |
+
"POT-Creation-Date: 2018-09-06 18:27+0300\n"
|
5 |
+
"PO-Revision-Date: \n"
|
6 |
+
"Last-Translator: \n"
|
7 |
+
"Language-Team: \n"
|
8 |
+
"Language: nl_BE\n"
|
9 |
+
"MIME-Version: 1.0\n"
|
10 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
+
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"X-Generator: Poedit 2.1.1\n"
|
13 |
+
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
14 |
+
"X-Generator: Poedit 2.1.1\n"
|
15 |
+
"X-Poedit-Basepath: ..\n"
|
16 |
+
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
17 |
+
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
18 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
19 |
+
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
20 |
+
"X-Poedit-SearchPath-0: .\n"
|
21 |
+
"X-Poedit-SearchPathExcluded-0: libs\n"
|
22 |
+
"X-Poedit-SearchPathExcluded-1: components\n"
|
23 |
+
"X-Poedit-SearchPathExcluded-2: cache\n"
|
24 |
+
|
25 |
+
#: admin/boot.php:18
|
26 |
+
msgid "Disable comments on the entire site"
|
27 |
+
msgstr "Reacties uitschakelen op de volledige site"
|
28 |
+
|
29 |
+
#: admin/boot.php:24 admin/pages/comments.php:129
|
30 |
+
msgid "Select post types"
|
31 |
+
msgstr "Selecteer bericht types"
|
32 |
+
|
33 |
+
#: admin/boot.php:29 admin/pages/comments.php:157
|
34 |
+
msgid "Replace external links in comments on the JavaScript code"
|
35 |
+
msgstr "Vervang externe links in opmerkingen over de JavaScript code"
|
36 |
+
|
37 |
+
#: admin/boot.php:34 admin/pages/comments.php:166
|
38 |
+
msgid "Replace external links from comment authors on the JavaScript code"
|
39 |
+
msgstr "Vervang externe links van commentaar auteurs op de JavaScript code"
|
40 |
+
|
41 |
+
#: admin/boot.php:39
|
42 |
+
msgid "Disable X-Pingback"
|
43 |
+
msgstr "Uitschakelen X-Pingback"
|
44 |
+
|
45 |
+
#: admin/boot.php:44 admin/pages/comments.php:148
|
46 |
+
msgid "Remove field \"site\" in comment form"
|
47 |
+
msgstr "Verwijder het veld \"site\" in reactie formulier"
|
48 |
+
|
49 |
+
#: admin/boot.php:56
|
50 |
+
msgid "One click disable all comments"
|
51 |
+
msgstr "Alle reacties uitschakelen in één klik"
|
52 |
+
|
53 |
+
#: admin/boot.php:77
|
54 |
+
msgid "Get ultimate plugin free"
|
55 |
+
msgstr "Krijg ultieme plugin gratis"
|
56 |
+
|
57 |
+
#: admin/pages/comments.php:33 admin/pages/comments.php:94
|
58 |
+
msgid "Disable comments"
|
59 |
+
msgstr "Reacties uitschakelen"
|
60 |
+
|
61 |
+
#: admin/pages/comments.php:47
|
62 |
+
msgid "Comments"
|
63 |
+
msgstr "Opmerkingen"
|
64 |
+
|
65 |
+
#: admin/pages/comments.php:48
|
66 |
+
msgid "General"
|
67 |
+
msgstr "Algemeen"
|
68 |
+
|
69 |
+
#: admin/pages/comments.php:81
|
70 |
+
msgid "Global disabling of comments"
|
71 |
+
msgstr "Algemene uitschakeling van reacties"
|
72 |
+
|
73 |
+
#: admin/pages/comments.php:81
|
74 |
+
msgid ""
|
75 |
+
"What is the difference between these and native WordPress functions? WordPress "
|
76 |
+
"disables comments only for new posts! Using the functions below, you can "
|
77 |
+
"disable comments globally, even for old posts, and you can choose which post "
|
78 |
+
"types comments to disable. The plugin also disables the comment functionality "
|
79 |
+
"itself, which creates a certain load on the site."
|
80 |
+
msgstr ""
|
81 |
+
"Wat is het verschil tussen deze en native WordPress-functies? WordPress "
|
82 |
+
"schakelt alleen reacties uit voor nieuwe berichten! Met behulp van de "
|
83 |
+
"onderstaande functies kunt u opmerkingen globaal uitschakelen, zelfs voor oude "
|
84 |
+
"berichten, en kunt u kiezen welk bericht een opmerking is om uit te schakelen. "
|
85 |
+
"De plugin schakelt ook de commentaar functionaliteit zelf uit, die de site op "
|
86 |
+
"één of andere manier belast."
|
87 |
+
|
88 |
+
#: admin/pages/comments.php:96
|
89 |
+
msgid "Not disable"
|
90 |
+
msgstr "Niet uitschakelen"
|
91 |
+
|
92 |
+
#: admin/pages/comments.php:99
|
93 |
+
msgid "Everywhere"
|
94 |
+
msgstr "Overal"
|
95 |
+
|
96 |
+
#: admin/pages/comments.php:100
|
97 |
+
#, php-format
|
98 |
+
msgid ""
|
99 |
+
"You can delete all comments in the database by clicking on this link (<a href="
|
100 |
+
"\"%s\">cleaning comments in database</a>)."
|
101 |
+
msgstr ""
|
102 |
+
"U kunt alle reacties in de database verwijderen door op deze link te klikken "
|
103 |
+
"(<a href=\"%s\">reacties opschonen in database</a>)."
|
104 |
+
|
105 |
+
#: admin/pages/comments.php:104
|
106 |
+
msgid "On certain post types"
|
107 |
+
msgstr "Op bepaalde bericht types"
|
108 |
+
|
109 |
+
#: admin/pages/comments.php:105
|
110 |
+
#, php-format
|
111 |
+
msgid ""
|
112 |
+
"You can delete all comments for the selected post types. Select the post types "
|
113 |
+
"below and save the settings. After that, click the link (<a href=\"%s\">delete "
|
114 |
+
"all comments for the selected post types in database</a>)."
|
115 |
+
msgstr ""
|
116 |
+
"U kunt alle reacties voor de geselecteerde bericht types verwijderen. "
|
117 |
+
"Selecteer de bericht types hieronder en sla de instellingen op. Klik daarna op "
|
118 |
+
"de link (<a href=\"%s\">verwijder alle reacties voor de geselecteerde bericht "
|
119 |
+
"types in de database</a>)."
|
120 |
+
|
121 |
+
#: admin/pages/comments.php:109
|
122 |
+
msgid ""
|
123 |
+
"Everywhere - Warning: This option is global and will affect your entire site. "
|
124 |
+
"Use it only if you want to disable comments everywhere. A complete description "
|
125 |
+
"of what this option does is available here"
|
126 |
+
msgstr ""
|
127 |
+
"Overal - Waarschuwing: deze optie is globaal en heeft invloed op uw hele site. "
|
128 |
+
"Gebruik het alleen als u reacties overal wilt uitschakelen. Een volledige "
|
129 |
+
"beschrijving van wat deze optie doet, is hier beschikbaar"
|
130 |
+
|
131 |
+
#: admin/pages/comments.php:109
|
132 |
+
msgid ""
|
133 |
+
"On certain post types - Disabling comments will also disable trackbacks and "
|
134 |
+
"pingbacks. All comment-related fields will also be hidden from the edit/quick-"
|
135 |
+
"edit screens of the affected posts. These settings cannot be overridden for "
|
136 |
+
"individual posts."
|
137 |
+
msgstr ""
|
138 |
+
"Op bepaalde bericht types: Door het uitschakelen van reacties, worden ook "
|
139 |
+
"trackbacks en pingbacks uitgeschakeld. Alle aan reactie gerelateerde velden "
|
140 |
+
"worden ook verborgen in de editeer/quick-edit schermen van de betreffende "
|
141 |
+
"berichten. Deze instellingen kunnen niet worden overschreven voor individuele "
|
142 |
+
"berichten."
|
143 |
+
|
144 |
+
#: admin/pages/comments.php:132
|
145 |
+
msgid "Select the post types for which comments will be disabled"
|
146 |
+
msgstr "Selecteer de bericht types waarvoor reacties zullen worden uitgeschakeld"
|
147 |
+
|
148 |
+
#: admin/pages/comments.php:142
|
149 |
+
msgid "General settings for comments"
|
150 |
+
msgstr "Algemene instellingen voor reacties"
|
151 |
+
|
152 |
+
#: admin/pages/comments.php:142
|
153 |
+
msgid "These settings will help you improve SEO and reduce the amount of spam."
|
154 |
+
msgstr ""
|
155 |
+
"Met deze instellingen kunt u de SEO verbeteren en de hoeveelheid spam "
|
156 |
+
"verminderen."
|
157 |
+
|
158 |
+
#: admin/pages/comments.php:150
|
159 |
+
msgid ""
|
160 |
+
"Tired of spam in the comments? Do visitors leave \"blank\" comments for the "
|
161 |
+
"sake of a link to their site?"
|
162 |
+
msgstr ""
|
163 |
+
"Ben je spam in de reacties beu? Laten bezoekers \"lege\" reacties achter om "
|
164 |
+
"enkel te linken naar hun site?"
|
165 |
+
|
166 |
+
#: admin/pages/comments.php:150
|
167 |
+
msgid "Removes the \"Site\" field from the comment form."
|
168 |
+
msgstr "Verwijdert het veld \"Site\" uit het reactie formulier."
|
169 |
+
|
170 |
+
#: admin/pages/comments.php:150
|
171 |
+
msgid ""
|
172 |
+
"Works with the standard comment form, if the form is manually written in your "
|
173 |
+
"theme-it probably will not work!"
|
174 |
+
msgstr ""
|
175 |
+
"Werkt met het standaard reactie formulier, als het formulier handmatig aan uw "
|
176 |
+
"thema werd toegevoegd, zal het waarschijnlijk niet werken!"
|
177 |
+
|
178 |
+
#: admin/pages/comments.php:159
|
179 |
+
msgid ""
|
180 |
+
"Superfluous external links from comments, which can be typed from a dozen and "
|
181 |
+
"more for one article, do not bring anything good for promotion."
|
182 |
+
msgstr ""
|
183 |
+
"Overbodige externe linken van reacties, die uit een tiental of meer voor één "
|
184 |
+
"artikel getypt kunnen zijn, brengen promotioneel niets bij."
|
185 |
+
|
186 |
+
#: admin/pages/comments.php:159
|
187 |
+
#, php-format
|
188 |
+
msgid "Replaces the links of this kind of %s, on links of this kind %s"
|
189 |
+
msgstr "Vervangt de linken van dit soort %s, naar linken van dit type %s"
|
190 |
+
|
191 |
+
#: admin/pages/comments.php:168
|
192 |
+
msgid ""
|
193 |
+
"Up to 90 percent of comments in the blog can be left for the sake of an "
|
194 |
+
"external link. Even nofollow from page weight loss here does not help."
|
195 |
+
msgstr ""
|
196 |
+
"Tot 90 procent van de reacties in de blog wordt achtergelaten omwille van een "
|
197 |
+
"externe link. Zelfs nofollow voor pagina gewichtsverlies helpt hier niet."
|
198 |
+
|
199 |
+
#: admin/pages/comments.php:168
|
200 |
+
msgid ""
|
201 |
+
"Replaces the links of the authors of comments on the JavaScript code, it is "
|
202 |
+
"impossible to distinguish it from usual links."
|
203 |
+
msgstr ""
|
204 |
+
"Vervangt de linken van de auteurs van reacties op de JavaScript code, het is "
|
205 |
+
"onmogelijk om het te onderscheiden van de gebruikelijke linken."
|
206 |
+
|
207 |
+
#: admin/pages/comments.php:168
|
208 |
+
msgid "In some Wordpress topics this may not work."
|
209 |
+
msgstr "In sommige onderdelen van WordPress werkt dit misschien niet."
|
210 |
+
|
211 |
+
#: admin/pages/comments.php:175
|
212 |
+
msgid "Disable XML-RPC"
|
213 |
+
msgstr "Schakel XML-RPC uit"
|
214 |
+
|
215 |
+
#: admin/pages/comments.php:177
|
216 |
+
msgid ""
|
217 |
+
"A pingback is basically an automated comment that gets created when another "
|
218 |
+
"blog links to you. A self-pingback is created when you link to an article "
|
219 |
+
"within your own blog. Pingbacks are essentially nothing more than spam and "
|
220 |
+
"simply waste resources."
|
221 |
+
msgstr ""
|
222 |
+
"Een pingback is in feite een geautomatiseerde commentaar die wordt gemaakt "
|
223 |
+
"wanneer een andere blog linkt naar u. Een zelf-pingback wordt gemaakt wanneer "
|
224 |
+
"u een linkt naar een artikel binnen uw eigen blog. Pingbacks zijn in wezen "
|
225 |
+
"niets meer dan spam en simpelweg een verspilling van resources."
|
226 |
+
|
227 |
+
#: admin/pages/comments.php:177
|
228 |
+
msgid "Removes the server responses a reference to the xmlrpc file."
|
229 |
+
msgstr "Verwijdert de server reacties bij verwijzing naar het xmlrpc bestand."
|
230 |
+
|
231 |
+
#: admin/pages/delete-comments.php:36
|
232 |
+
msgid "Comments cleaner"
|
233 |
+
msgstr "Reacties opkuisen"
|
234 |
+
|
235 |
+
#: admin/pages/delete-comments.php:75
|
236 |
+
msgid "All comments have been deleted."
|
237 |
+
msgstr "Alle opmerkingen zijn verwijderd."
|
238 |
+
|
239 |
+
#: admin/pages/delete-comments.php:84
|
240 |
+
msgid ""
|
241 |
+
"An error occurred while trying to delete comments. Internal error occured. "
|
242 |
+
"Please try again later."
|
243 |
+
msgstr ""
|
244 |
+
"Er is een fout opgetreden bij het verwijderen van opmerkingen. Interne fout "
|
245 |
+
"opgetreden. Probeer het later opnieuw."
|
246 |
+
|
247 |
+
#: admin/pages/delete-comments.php:154
|
248 |
+
msgid ""
|
249 |
+
"Are you sure you want to delete comments from the database without restoring?"
|
250 |
+
msgstr ""
|
251 |
+
"Weet je zeker dat je reacties uit de database wilt verwijderen zonder te "
|
252 |
+
"herstellen?"
|
253 |
+
|
254 |
+
#: admin/pages/delete-comments.php:169
|
255 |
+
msgid "Delete "
|
256 |
+
msgstr ""
|
257 |
+
|
258 |
+
#: admin/pages/delete-comments.php:175
|
259 |
+
msgid "Comments clearing tools"
|
260 |
+
msgstr "Opmerkingen wissen tools"
|
261 |
+
|
262 |
+
#: admin/pages/delete-comments.php:178
|
263 |
+
msgid ""
|
264 |
+
"These functions can be useful for global disabling comments or bulk cleaning "
|
265 |
+
"spam comments."
|
266 |
+
msgstr ""
|
267 |
+
"Deze functies kunnen handig zijn voor algemene uitschakeling van opmerkingen "
|
268 |
+
"of voor het opschonen van spam-reacties."
|
269 |
+
|
270 |
+
#: admin/pages/delete-comments.php:183
|
271 |
+
msgid "Remove all comments"
|
272 |
+
msgstr "Verwijder alle reacties"
|
273 |
+
|
274 |
+
#: admin/pages/delete-comments.php:185
|
275 |
+
msgid "You can delete all comments in your database with one click."
|
276 |
+
msgstr "U kunt alle reacties in uw database met één klik verwijderen."
|
277 |
+
|
278 |
+
#: admin/pages/delete-comments.php:187
|
279 |
+
msgid "Choose post types"
|
280 |
+
msgstr "Kies bericht types"
|
281 |
+
|
282 |
+
#: admin/pages/delete-comments.php:192
|
283 |
+
msgid "Select all"
|
284 |
+
msgstr "Selecteer alles"
|
285 |
+
|
286 |
+
#: admin/pages/delete-comments.php:209
|
287 |
+
#, php-format
|
288 |
+
msgid "Delete Woocommerce order notices? (%d)"
|
289 |
+
msgstr "Woocommerce ordermeldingen verwijderen? (%d)"
|
290 |
+
|
291 |
+
#: admin/pages/delete-comments.php:215
|
292 |
+
#, php-format
|
293 |
+
msgid "Delete (%s)"
|
294 |
+
msgstr ""
|
295 |
+
|
296 |
+
#: admin/pages/delete-comments.php:222
|
297 |
+
msgid "Remove spam comments"
|
298 |
+
msgstr "Verwijder spam reacties"
|
299 |
+
|
300 |
+
#: admin/pages/delete-comments.php:224
|
301 |
+
msgid "You can remove only spam comments from the database with one click."
|
302 |
+
msgstr "U kunt met één muisklik enkel spam reacties uit de database verwijderen."
|
303 |
+
|
304 |
+
#: admin/pages/delete-comments.php:226 admin/pages/delete-comments.php:233
|
305 |
+
#: admin/pages/delete-comments.php:240
|
306 |
+
#, php-format
|
307 |
+
msgid "Delete (%d)"
|
308 |
+
msgstr "Verwijderen (%d)"
|
309 |
+
|
310 |
+
#: admin/pages/delete-comments.php:229
|
311 |
+
msgid "Remove unapproved comments"
|
312 |
+
msgstr "Verwijder niet-goedgekeurde reacties"
|
313 |
+
|
314 |
+
#: admin/pages/delete-comments.php:231
|
315 |
+
msgid "You can remove only unapproved comments from the database with one click."
|
316 |
+
msgstr ""
|
317 |
+
"U kunt met één klik enkel niet-goedgekeurde reacties uit de database "
|
318 |
+
"verwijderen."
|
319 |
+
|
320 |
+
#: admin/pages/delete-comments.php:236
|
321 |
+
msgid "Remove trashed comments"
|
322 |
+
msgstr "Verwijder reacties uit vuilbak"
|
323 |
+
|
324 |
+
#: admin/pages/delete-comments.php:238
|
325 |
+
msgid "You can remove only trashed comments from the database with one click."
|
326 |
+
msgstr ""
|
327 |
+
"U kunt met één klik enkel de reacties in de vuilbak uit de database "
|
328 |
+
"verwijderen."
|
329 |
+
|
330 |
+
#: comments-plus.php:23
|
331 |
+
msgid ""
|
332 |
+
"We found that you have the \"Clearfy - disable unused features\" plugin "
|
333 |
+
"installed, this plugin already has disable comments functions, so you can "
|
334 |
+
"deactivate plugin \"Disable comments\"!"
|
335 |
+
msgstr ""
|
336 |
+
"We hebben geconstateerd dat de plugin \"Clearfy - uitschakelen ongebruikte "
|
337 |
+
"functies\" is geïnstalleerd, deze plugin heeft al de functie voor het "
|
338 |
+
"uitschakelen van reacties, dus u kunt de plugin \"Uitschakelen Reacties\" "
|
339 |
+
"deactiveren!"
|
340 |
+
|
341 |
+
#: comments-plus.php:81
|
342 |
+
msgid "Webcraftic Disable comments"
|
343 |
+
msgstr "Webcraftic uitschakelen reacties"
|
344 |
+
|
345 |
+
#: includes/classes/class.configurate-comments.php:188
|
346 |
+
#: includes/classes/class.configurate-comments.php:240
|
347 |
+
msgid "Comments are closed."
|
348 |
+
msgstr "Reacties zijn gesloten."
|
349 |
+
|
350 |
+
#: includes/classes/class.configurate-comments.php:228
|
351 |
+
#, php-format
|
352 |
+
msgid ""
|
353 |
+
"Note: The <em>%s</em> plugin is currently active, and comments are completely "
|
354 |
+
"disabled on: %s. Many of the settings below will not be applicable for those "
|
355 |
+
"post types."
|
356 |
+
msgstr ""
|
357 |
+
"Opmerking: de plugin <em>%s</em> is momenteel actief en reacties zijn volledig "
|
358 |
+
"uitgeschakeld op: %s. Veel van onderstaande instellingen zijn niet van "
|
359 |
"toepassing op die bericht types."
|
components/comments-plus/languages/comments-plus-pt_BR.po
CHANGED
@@ -1,360 +1,360 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: clearfy\n"
|
4 |
-
"POT-Creation-Date: 2018-09-06 18:27+0300\n"
|
5 |
-
"PO-Revision-Date: 2018-09-06 18:27+0300\n"
|
6 |
-
"Last-Translator: alex.kovalevv@gmail.com <alex.kovalevv@gmail.com>\n"
|
7 |
-
"Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
|
8 |
-
"Language: pt_BR\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"X-Generator: Poedit 2.1.1\n"
|
13 |
-
"X-Poedit-Basepath: ..\n"
|
14 |
-
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
15 |
-
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
16 |
-
"X-Poedit-SourceCharset: UTF-8\n"
|
17 |
-
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
18 |
-
"X-Poedit-SearchPath-0: .\n"
|
19 |
-
"X-Poedit-SearchPathExcluded-0: libs\n"
|
20 |
-
"X-Poedit-SearchPathExcluded-1: components\n"
|
21 |
-
"X-Poedit-SearchPathExcluded-2: cache\n"
|
22 |
-
|
23 |
-
#: admin/boot.php:18
|
24 |
-
msgid "Disable comments on the entire site"
|
25 |
-
msgstr "Desativar comentários em todo o site"
|
26 |
-
|
27 |
-
#: admin/boot.php:24 admin/pages/comments.php:129
|
28 |
-
msgid "Select post types"
|
29 |
-
msgstr "Selecione os tipos de postagem"
|
30 |
-
|
31 |
-
#: admin/boot.php:29 admin/pages/comments.php:157
|
32 |
-
msgid "Replace external links in comments on the JavaScript code"
|
33 |
-
msgstr "Substituir links externos nos comentários no código JavaScript"
|
34 |
-
|
35 |
-
#: admin/boot.php:34 admin/pages/comments.php:166
|
36 |
-
msgid "Replace external links from comment authors on the JavaScript code"
|
37 |
-
msgstr ""
|
38 |
-
"Substituir links externos de autores de comentários no código JavaScript"
|
39 |
-
|
40 |
-
#: admin/boot.php:39
|
41 |
-
msgid "Disable X-Pingback"
|
42 |
-
msgstr "Desativar X-Pingback"
|
43 |
-
|
44 |
-
#: admin/boot.php:44 admin/pages/comments.php:148
|
45 |
-
msgid "Remove field \"site\" in comment form"
|
46 |
-
msgstr "Remover campo \"site \" no formulário de comentário"
|
47 |
-
|
48 |
-
#: admin/boot.php:56
|
49 |
-
msgid "One click disable all comments"
|
50 |
-
msgstr "Um clique desativa todos os comentários"
|
51 |
-
|
52 |
-
#: admin/boot.php:77
|
53 |
-
msgid "Get ultimate plugin free"
|
54 |
-
msgstr "Obtenha o melhor plugin grátis"
|
55 |
-
|
56 |
-
#: admin/pages/comments.php:33 admin/pages/comments.php:94
|
57 |
-
msgid "Disable comments"
|
58 |
-
msgstr "Desativar comentários"
|
59 |
-
|
60 |
-
#: admin/pages/comments.php:47
|
61 |
-
msgid "Comments"
|
62 |
-
msgstr "Comentários"
|
63 |
-
|
64 |
-
#: admin/pages/comments.php:48
|
65 |
-
msgid "General"
|
66 |
-
msgstr "Geral"
|
67 |
-
|
68 |
-
#: admin/pages/comments.php:81
|
69 |
-
msgid "Global disabling of comments"
|
70 |
-
msgstr "Desativação global de comentários"
|
71 |
-
|
72 |
-
#: admin/pages/comments.php:81
|
73 |
-
msgid ""
|
74 |
-
"What is the difference between these and native WordPress functions? "
|
75 |
-
"WordPress disables comments only for new posts! Using the functions below, "
|
76 |
-
"you can disable comments globally, even for old posts, and you can choose "
|
77 |
-
"which post types comments to disable. The plugin also disables the comment "
|
78 |
-
"functionality itself, which creates a certain load on the site."
|
79 |
-
msgstr ""
|
80 |
-
"Qual é a diferença entre essas e funções nativas do WordPress? O WordPress "
|
81 |
-
"desativa os comentários apenas para novas postagens! Usando as funções "
|
82 |
-
"abaixo, você pode desativar os comentários globalmente, mesmo para postagens "
|
83 |
-
"antigas, e pode escolher quais comentários de tipos de post serão "
|
84 |
-
"desativados. O plug-in também desativa a própria funcionalidade de "
|
85 |
-
"comentários, o que cria uma certa carga no site."
|
86 |
-
|
87 |
-
#: admin/pages/comments.php:96
|
88 |
-
msgid "Not disable"
|
89 |
-
msgstr "Não desativar"
|
90 |
-
|
91 |
-
#: admin/pages/comments.php:99
|
92 |
-
msgid "Everywhere"
|
93 |
-
msgstr "Em toda parte"
|
94 |
-
|
95 |
-
#: admin/pages/comments.php:100
|
96 |
-
#, php-format
|
97 |
-
msgid ""
|
98 |
-
"You can delete all comments in the database by clicking on this link (<a "
|
99 |
-
"href=\"%s\">cleaning comments in database</a>)."
|
100 |
-
msgstr ""
|
101 |
-
"Você pode excluir todos os comentários no banco de dados clicando neste link "
|
102 |
-
"(<a href=\"%s\"> limpando comentários no banco de dados </a>)."
|
103 |
-
|
104 |
-
#: admin/pages/comments.php:104
|
105 |
-
msgid "On certain post types"
|
106 |
-
msgstr "Em certos tipos de postagem"
|
107 |
-
|
108 |
-
#: admin/pages/comments.php:105
|
109 |
-
#, php-format
|
110 |
-
msgid ""
|
111 |
-
"You can delete all comments for the selected post types. Select the post "
|
112 |
-
"types below and save the settings. After that, click the link (<a href=\"%s"
|
113 |
-
"\">delete all comments for the selected post types in database</a>)."
|
114 |
-
msgstr ""
|
115 |
-
"Você pode excluir todos os comentários para os tipos de postagem "
|
116 |
-
"selecionados. Selecione os tipos de postagem abaixo e salve as "
|
117 |
-
"configurações. Depois disso, clique no link (<a href=\"%s\"> exclua todos os "
|
118 |
-
"comentários para os tipos de postagem selecionados no banco de dados </a>)."
|
119 |
-
|
120 |
-
#: admin/pages/comments.php:109
|
121 |
-
msgid ""
|
122 |
-
"Everywhere - Warning: This option is global and will affect your entire "
|
123 |
-
"site. Use it only if you want to disable comments everywhere. A complete "
|
124 |
-
"description of what this option does is available here"
|
125 |
-
msgstr ""
|
126 |
-
"Em todo lugar - Aviso: essa opção é global e afetará todo o seu site. Use-o "
|
127 |
-
"somente se você quiser desabilitar os comentários em todos os lugares. Uma "
|
128 |
-
"descrição completa do que esta opção faz está disponível aqui"
|
129 |
-
|
130 |
-
#: admin/pages/comments.php:109
|
131 |
-
msgid ""
|
132 |
-
"On certain post types - Disabling comments will also disable trackbacks and "
|
133 |
-
"pingbacks. All comment-related fields will also be hidden from the edit/"
|
134 |
-
"quick-edit screens of the affected posts. These settings cannot be "
|
135 |
-
"overridden for individual posts."
|
136 |
-
msgstr ""
|
137 |
-
"Em determinados tipos de postagens - a desativação de comentários também "
|
138 |
-
"desativará os trackbacks e os pingbacks. Todos os campos relacionados a "
|
139 |
-
"comentários também ficarão ocultos nas telas de edição / edição rápida das "
|
140 |
-
"postagens afetadas. Essas configurações não podem ser substituídas por "
|
141 |
-
"postagens individuais."
|
142 |
-
|
143 |
-
#: admin/pages/comments.php:132
|
144 |
-
msgid "Select the post types for which comments will be disabled"
|
145 |
-
msgstr ""
|
146 |
-
"Selecione os tipos de postagem para os quais os comentários serão desativados"
|
147 |
-
|
148 |
-
#: admin/pages/comments.php:142
|
149 |
-
msgid "General settings for comments"
|
150 |
-
msgstr "Configurações gerais para comentários"
|
151 |
-
|
152 |
-
#: admin/pages/comments.php:142
|
153 |
-
msgid "These settings will help you improve SEO and reduce the amount of spam."
|
154 |
-
msgstr ""
|
155 |
-
"Essas configurações ajudarão você a melhorar o SEO e reduzir a quantidade de "
|
156 |
-
"spam."
|
157 |
-
|
158 |
-
#: admin/pages/comments.php:150
|
159 |
-
msgid ""
|
160 |
-
"Tired of spam in the comments? Do visitors leave \"blank\" comments for the "
|
161 |
-
"sake of a link to their site?"
|
162 |
-
msgstr ""
|
163 |
-
"Cansado de spam nos comentários? Os visitantes deixam comentários \"em "
|
164 |
-
"branco \" por causa de um link para seu site?"
|
165 |
-
|
166 |
-
#: admin/pages/comments.php:150
|
167 |
-
msgid "Removes the \"Site\" field from the comment form."
|
168 |
-
msgstr "Remove o campo \"Site \" do formulário de comentários."
|
169 |
-
|
170 |
-
#: admin/pages/comments.php:150
|
171 |
-
msgid ""
|
172 |
-
"Works with the standard comment form, if the form is manually written in "
|
173 |
-
"your theme-it probably will not work!"
|
174 |
-
msgstr ""
|
175 |
-
"Funciona com o formulário de comentários padrão, se o formulário for escrito "
|
176 |
-
"manualmente no seu tema, provavelmente não funcionará!"
|
177 |
-
|
178 |
-
#: admin/pages/comments.php:159
|
179 |
-
msgid ""
|
180 |
-
"Superfluous external links from comments, which can be typed from a dozen "
|
181 |
-
"and more for one article, do not bring anything good for promotion."
|
182 |
-
msgstr ""
|
183 |
-
"Links externos supérfluos de comentários, que podem ser digitados de uma "
|
184 |
-
"dúzia ou mais para um artigo, não trazem nada de bom para a promoção."
|
185 |
-
|
186 |
-
#: admin/pages/comments.php:159
|
187 |
-
#, php-format
|
188 |
-
msgid "Replaces the links of this kind of %s, on links of this kind %s"
|
189 |
-
msgstr "Substitui os links deste tipo de %s , em links desse tipo %s"
|
190 |
-
|
191 |
-
#: admin/pages/comments.php:168
|
192 |
-
msgid ""
|
193 |
-
"Up to 90 percent of comments in the blog can be left for the sake of an "
|
194 |
-
"external link. Even nofollow from page weight loss here does not help."
|
195 |
-
msgstr ""
|
196 |
-
"Até 90 por cento dos comentários no blog podem ser deixados por causa de um "
|
197 |
-
"link externo. Mesmo nofollow da perda de peso da página aqui não ajuda."
|
198 |
-
|
199 |
-
#: admin/pages/comments.php:168
|
200 |
-
msgid ""
|
201 |
-
"Replaces the links of the authors of comments on the JavaScript code, it is "
|
202 |
-
"impossible to distinguish it from usual links."
|
203 |
-
msgstr ""
|
204 |
-
"Substitui os links dos autores de comentários no código JavaScript, é "
|
205 |
-
"impossível distingui-lo dos links usuais."
|
206 |
-
|
207 |
-
#: admin/pages/comments.php:168
|
208 |
-
msgid "In some Wordpress topics this may not work."
|
209 |
-
msgstr "Em alguns tópicos do WordPress isso pode não funcionar."
|
210 |
-
|
211 |
-
#: admin/pages/comments.php:175
|
212 |
-
msgid "Disable XML-RPC"
|
213 |
-
msgstr "Desativar o XML-RPC"
|
214 |
-
|
215 |
-
#: admin/pages/comments.php:177
|
216 |
-
msgid ""
|
217 |
-
"A pingback is basically an automated comment that gets created when another "
|
218 |
-
"blog links to you. A self-pingback is created when you link to an article "
|
219 |
-
"within your own blog. Pingbacks are essentially nothing more than spam and "
|
220 |
-
"simply waste resources."
|
221 |
-
msgstr ""
|
222 |
-
"Um pingback é basicamente um comentário automatizado que é criado quando "
|
223 |
-
"outro blog é direcionado a você. Um pingback automático é criado quando você "
|
224 |
-
"vincula um artigo ao seu próprio blog. Pingbacks são essencialmente nada "
|
225 |
-
"mais que spam e simplesmente desperdiçam recursos."
|
226 |
-
|
227 |
-
#: admin/pages/comments.php:177
|
228 |
-
msgid "Removes the server responses a reference to the xmlrpc file."
|
229 |
-
msgstr "Remove as respostas do servidor uma referência ao arquivo xmlrpc."
|
230 |
-
|
231 |
-
#: admin/pages/delete-comments.php:36
|
232 |
-
msgid "Comments cleaner"
|
233 |
-
msgstr "Comentários mais limpo"
|
234 |
-
|
235 |
-
#: admin/pages/delete-comments.php:75
|
236 |
-
msgid "All comments have been deleted."
|
237 |
-
msgstr "Todos os comentários foram apagados."
|
238 |
-
|
239 |
-
#: admin/pages/delete-comments.php:84
|
240 |
-
msgid ""
|
241 |
-
"An error occurred while trying to delete comments. Internal error occured. "
|
242 |
-
"Please try again later."
|
243 |
-
msgstr ""
|
244 |
-
"Ocorreu um erro ao tentar excluir comentários. Erro interno ocorrido. Por "
|
245 |
-
"favor, tente novamente mais tarde."
|
246 |
-
|
247 |
-
#: admin/pages/delete-comments.php:154
|
248 |
-
msgid ""
|
249 |
-
"Are you sure you want to delete comments from the database without restoring?"
|
250 |
-
msgstr ""
|
251 |
-
"Tem certeza de que deseja excluir comentários do banco de dados sem "
|
252 |
-
"restaurar?"
|
253 |
-
|
254 |
-
#: admin/pages/delete-comments.php:169
|
255 |
-
msgid "Delete "
|
256 |
-
msgstr ""
|
257 |
-
|
258 |
-
#: admin/pages/delete-comments.php:175
|
259 |
-
msgid "Comments clearing tools"
|
260 |
-
msgstr "Ferramentas de compensação de comentários"
|
261 |
-
|
262 |
-
#: admin/pages/delete-comments.php:178
|
263 |
-
msgid ""
|
264 |
-
"These functions can be useful for global disabling comments or bulk cleaning "
|
265 |
-
"spam comments."
|
266 |
-
msgstr ""
|
267 |
-
"Essas funções podem ser úteis para comentários globais de desativação ou "
|
268 |
-
"comentários de spam de limpeza em massa."
|
269 |
-
|
270 |
-
#: admin/pages/delete-comments.php:183
|
271 |
-
msgid "Remove all comments"
|
272 |
-
msgstr "Remover todos os comentários"
|
273 |
-
|
274 |
-
#: admin/pages/delete-comments.php:185
|
275 |
-
msgid "You can delete all comments in your database with one click."
|
276 |
-
msgstr ""
|
277 |
-
"Você pode excluir todos os comentários em seu banco de dados com um clique."
|
278 |
-
|
279 |
-
#: admin/pages/delete-comments.php:187
|
280 |
-
msgid "Choose post types"
|
281 |
-
msgstr "Escolher tipos de postagem"
|
282 |
-
|
283 |
-
#: admin/pages/delete-comments.php:192
|
284 |
-
msgid "Select all"
|
285 |
-
msgstr "Selecionar tudo"
|
286 |
-
|
287 |
-
#: admin/pages/delete-comments.php:209
|
288 |
-
#, php-format
|
289 |
-
msgid "Delete Woocommerce order notices? (%d)"
|
290 |
-
msgstr "Excluir avisos de pedido do Woocommerce? ( %d )"
|
291 |
-
|
292 |
-
#: admin/pages/delete-comments.php:215
|
293 |
-
#, php-format
|
294 |
-
msgid "Delete (%s)"
|
295 |
-
msgstr ""
|
296 |
-
|
297 |
-
#: admin/pages/delete-comments.php:222
|
298 |
-
msgid "Remove spam comments"
|
299 |
-
msgstr "Remover comentários de spam"
|
300 |
-
|
301 |
-
#: admin/pages/delete-comments.php:224
|
302 |
-
msgid "You can remove only spam comments from the database with one click."
|
303 |
-
msgstr ""
|
304 |
-
"Você pode remover apenas comentários de spam do banco de dados com um clique."
|
305 |
-
|
306 |
-
#: admin/pages/delete-comments.php:226 admin/pages/delete-comments.php:233
|
307 |
-
#: admin/pages/delete-comments.php:240
|
308 |
-
#, php-format
|
309 |
-
msgid "Delete (%d)"
|
310 |
-
msgstr "Excluir ( %d )"
|
311 |
-
|
312 |
-
#: admin/pages/delete-comments.php:229
|
313 |
-
msgid "Remove unapproved comments"
|
314 |
-
msgstr "Remover comentários não aprovados"
|
315 |
-
|
316 |
-
#: admin/pages/delete-comments.php:231
|
317 |
-
msgid ""
|
318 |
-
"You can remove only unapproved comments from the database with one click."
|
319 |
-
msgstr ""
|
320 |
-
"Você pode remover apenas comentários não aprovados do banco de dados com um "
|
321 |
-
"clique."
|
322 |
-
|
323 |
-
#: admin/pages/delete-comments.php:236
|
324 |
-
msgid "Remove trashed comments"
|
325 |
-
msgstr "Remover comentários na lixeira"
|
326 |
-
|
327 |
-
#: admin/pages/delete-comments.php:238
|
328 |
-
msgid "You can remove only trashed comments from the database with one click."
|
329 |
-
msgstr ""
|
330 |
-
"Você pode remover apenas os comentários da base de dados com um clique."
|
331 |
-
|
332 |
-
#: comments-plus.php:23
|
333 |
-
msgid ""
|
334 |
-
"We found that you have the \"Clearfy - disable unused features\" plugin "
|
335 |
-
"installed, this plugin already has disable comments functions, so you can "
|
336 |
-
"deactivate plugin \"Disable comments\"!"
|
337 |
-
msgstr ""
|
338 |
-
"Descobrimos que você tem o plug-in \"Clearfy - desativar recursos não "
|
339 |
-
"utilizados \" instalado, este plugin já tem funções de desabilitar "
|
340 |
-
"comentários, então você pode desativar o plugin \"Desativar comentários \"!"
|
341 |
-
|
342 |
-
#: comments-plus.php:81
|
343 |
-
msgid "Webcraftic Disable comments"
|
344 |
-
msgstr "Webcraftic Desabilitar comentários"
|
345 |
-
|
346 |
-
#: includes/classes/class.configurate-comments.php:188
|
347 |
-
#: includes/classes/class.configurate-comments.php:240
|
348 |
-
msgid "Comments are closed."
|
349 |
-
msgstr "Comentários estão fechados."
|
350 |
-
|
351 |
-
#: includes/classes/class.configurate-comments.php:228
|
352 |
-
#, php-format
|
353 |
-
msgid ""
|
354 |
-
"Note: The <em>%s</em> plugin is currently active, and comments are "
|
355 |
-
"completely disabled on: %s. Many of the settings below will not be "
|
356 |
-
"applicable for those post types."
|
357 |
-
msgstr ""
|
358 |
-
"Nota: O plug-in <em> %s </em> está ativo no momento e os comentários estão "
|
359 |
-
"completamente desativados em: %s . Muitas das configurações abaixo não serão "
|
360 |
"aplicáveis a esses tipos de postagem."
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: clearfy\n"
|
4 |
+
"POT-Creation-Date: 2018-09-06 18:27+0300\n"
|
5 |
+
"PO-Revision-Date: 2018-09-06 18:27+0300\n"
|
6 |
+
"Last-Translator: alex.kovalevv@gmail.com <alex.kovalevv@gmail.com>\n"
|
7 |
+
"Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
|
8 |
+
"Language: pt_BR\n"
|
9 |
+
"MIME-Version: 1.0\n"
|
10 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
+
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"X-Generator: Poedit 2.1.1\n"
|
13 |
+
"X-Poedit-Basepath: ..\n"
|
14 |
+
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
15 |
+
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
16 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
17 |
+
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
18 |
+
"X-Poedit-SearchPath-0: .\n"
|
19 |
+
"X-Poedit-SearchPathExcluded-0: libs\n"
|
20 |
+
"X-Poedit-SearchPathExcluded-1: components\n"
|
21 |
+
"X-Poedit-SearchPathExcluded-2: cache\n"
|
22 |
+
|
23 |
+
#: admin/boot.php:18
|
24 |
+
msgid "Disable comments on the entire site"
|
25 |
+
msgstr "Desativar comentários em todo o site"
|
26 |
+
|
27 |
+
#: admin/boot.php:24 admin/pages/comments.php:129
|
28 |
+
msgid "Select post types"
|
29 |
+
msgstr "Selecione os tipos de postagem"
|
30 |
+
|
31 |
+
#: admin/boot.php:29 admin/pages/comments.php:157
|
32 |
+
msgid "Replace external links in comments on the JavaScript code"
|
33 |
+
msgstr "Substituir links externos nos comentários no código JavaScript"
|
34 |
+
|
35 |
+
#: admin/boot.php:34 admin/pages/comments.php:166
|
36 |
+
msgid "Replace external links from comment authors on the JavaScript code"
|
37 |
+
msgstr ""
|
38 |
+
"Substituir links externos de autores de comentários no código JavaScript"
|
39 |
+
|
40 |
+
#: admin/boot.php:39
|
41 |
+
msgid "Disable X-Pingback"
|
42 |
+
msgstr "Desativar X-Pingback"
|
43 |
+
|
44 |
+
#: admin/boot.php:44 admin/pages/comments.php:148
|
45 |
+
msgid "Remove field \"site\" in comment form"
|
46 |
+
msgstr "Remover campo \"site \" no formulário de comentário"
|
47 |
+
|
48 |
+
#: admin/boot.php:56
|
49 |
+
msgid "One click disable all comments"
|
50 |
+
msgstr "Um clique desativa todos os comentários"
|
51 |
+
|
52 |
+
#: admin/boot.php:77
|
53 |
+
msgid "Get ultimate plugin free"
|
54 |
+
msgstr "Obtenha o melhor plugin grátis"
|
55 |
+
|
56 |
+
#: admin/pages/comments.php:33 admin/pages/comments.php:94
|
57 |
+
msgid "Disable comments"
|
58 |
+
msgstr "Desativar comentários"
|
59 |
+
|
60 |
+
#: admin/pages/comments.php:47
|
61 |
+
msgid "Comments"
|
62 |
+
msgstr "Comentários"
|
63 |
+
|
64 |
+
#: admin/pages/comments.php:48
|
65 |
+
msgid "General"
|
66 |
+
msgstr "Geral"
|
67 |
+
|
68 |
+
#: admin/pages/comments.php:81
|
69 |
+
msgid "Global disabling of comments"
|
70 |
+
msgstr "Desativação global de comentários"
|
71 |
+
|
72 |
+
#: admin/pages/comments.php:81
|
73 |
+
msgid ""
|
74 |
+
"What is the difference between these and native WordPress functions? "
|
75 |
+
"WordPress disables comments only for new posts! Using the functions below, "
|
76 |
+
"you can disable comments globally, even for old posts, and you can choose "
|
77 |
+
"which post types comments to disable. The plugin also disables the comment "
|
78 |
+
"functionality itself, which creates a certain load on the site."
|
79 |
+
msgstr ""
|
80 |
+
"Qual é a diferença entre essas e funções nativas do WordPress? O WordPress "
|
81 |
+
"desativa os comentários apenas para novas postagens! Usando as funções "
|
82 |
+
"abaixo, você pode desativar os comentários globalmente, mesmo para postagens "
|
83 |
+
"antigas, e pode escolher quais comentários de tipos de post serão "
|
84 |
+
"desativados. O plug-in também desativa a própria funcionalidade de "
|
85 |
+
"comentários, o que cria uma certa carga no site."
|
86 |
+
|
87 |
+
#: admin/pages/comments.php:96
|
88 |
+
msgid "Not disable"
|
89 |
+
msgstr "Não desativar"
|
90 |
+
|
91 |
+
#: admin/pages/comments.php:99
|
92 |
+
msgid "Everywhere"
|
93 |
+
msgstr "Em toda parte"
|
94 |
+
|
95 |
+
#: admin/pages/comments.php:100
|
96 |
+
#, php-format
|
97 |
+
msgid ""
|
98 |
+
"You can delete all comments in the database by clicking on this link (<a "
|
99 |
+
"href=\"%s\">cleaning comments in database</a>)."
|
100 |
+
msgstr ""
|
101 |
+
"Você pode excluir todos os comentários no banco de dados clicando neste link "
|
102 |
+
"(<a href=\"%s\"> limpando comentários no banco de dados </a>)."
|
103 |
+
|
104 |
+
#: admin/pages/comments.php:104
|
105 |
+
msgid "On certain post types"
|
106 |
+
msgstr "Em certos tipos de postagem"
|
107 |
+
|
108 |
+
#: admin/pages/comments.php:105
|
109 |
+
#, php-format
|
110 |
+
msgid ""
|
111 |
+
"You can delete all comments for the selected post types. Select the post "
|
112 |
+
"types below and save the settings. After that, click the link (<a href=\"%s"
|
113 |
+
"\">delete all comments for the selected post types in database</a>)."
|
114 |
+
msgstr ""
|
115 |
+
"Você pode excluir todos os comentários para os tipos de postagem "
|
116 |
+
"selecionados. Selecione os tipos de postagem abaixo e salve as "
|
117 |
+
"configurações. Depois disso, clique no link (<a href=\"%s\"> exclua todos os "
|
118 |
+
"comentários para os tipos de postagem selecionados no banco de dados </a>)."
|
119 |
+
|
120 |
+
#: admin/pages/comments.php:109
|
121 |
+
msgid ""
|
122 |
+
"Everywhere - Warning: This option is global and will affect your entire "
|
123 |
+
"site. Use it only if you want to disable comments everywhere. A complete "
|
124 |
+
"description of what this option does is available here"
|
125 |
+
msgstr ""
|
126 |
+
"Em todo lugar - Aviso: essa opção é global e afetará todo o seu site. Use-o "
|
127 |
+
"somente se você quiser desabilitar os comentários em todos os lugares. Uma "
|
128 |
+
"descrição completa do que esta opção faz está disponível aqui"
|
129 |
+
|
130 |
+
#: admin/pages/comments.php:109
|
131 |
+
msgid ""
|
132 |
+
"On certain post types - Disabling comments will also disable trackbacks and "
|
133 |
+
"pingbacks. All comment-related fields will also be hidden from the edit/"
|
134 |
+
"quick-edit screens of the affected posts. These settings cannot be "
|
135 |
+
"overridden for individual posts."
|
136 |
+
msgstr ""
|
137 |
+
"Em determinados tipos de postagens - a desativação de comentários também "
|
138 |
+
"desativará os trackbacks e os pingbacks. Todos os campos relacionados a "
|
139 |
+
"comentários também ficarão ocultos nas telas de edição / edição rápida das "
|
140 |
+
"postagens afetadas. Essas configurações não podem ser substituídas por "
|
141 |
+
"postagens individuais."
|
142 |
+
|
143 |
+
#: admin/pages/comments.php:132
|
144 |
+
msgid "Select the post types for which comments will be disabled"
|
145 |
+
msgstr ""
|
146 |
+
"Selecione os tipos de postagem para os quais os comentários serão desativados"
|
147 |
+
|
148 |
+
#: admin/pages/comments.php:142
|
149 |
+
msgid "General settings for comments"
|
150 |
+
msgstr "Configurações gerais para comentários"
|
151 |
+
|
152 |
+
#: admin/pages/comments.php:142
|
153 |
+
msgid "These settings will help you improve SEO and reduce the amount of spam."
|
154 |
+
msgstr ""
|
155 |
+
"Essas configurações ajudarão você a melhorar o SEO e reduzir a quantidade de "
|
156 |
+
"spam."
|
157 |
+
|
158 |
+
#: admin/pages/comments.php:150
|
159 |
+
msgid ""
|
160 |
+
"Tired of spam in the comments? Do visitors leave \"blank\" comments for the "
|
161 |
+
"sake of a link to their site?"
|
162 |
+
msgstr ""
|
163 |
+
"Cansado de spam nos comentários? Os visitantes deixam comentários \"em "
|
164 |
+
"branco \" por causa de um link para seu site?"
|
165 |
+
|
166 |
+
#: admin/pages/comments.php:150
|
167 |
+
msgid "Removes the \"Site\" field from the comment form."
|
168 |
+
msgstr "Remove o campo \"Site \" do formulário de comentários."
|
169 |
+
|
170 |
+
#: admin/pages/comments.php:150
|
171 |
+
msgid ""
|
172 |
+
"Works with the standard comment form, if the form is manually written in "
|
173 |
+
"your theme-it probably will not work!"
|
174 |
+
msgstr ""
|
175 |
+
"Funciona com o formulário de comentários padrão, se o formulário for escrito "
|
176 |
+
"manualmente no seu tema, provavelmente não funcionará!"
|
177 |
+
|
178 |
+
#: admin/pages/comments.php:159
|
179 |
+
msgid ""
|
180 |
+
"Superfluous external links from comments, which can be typed from a dozen "
|
181 |
+
"and more for one article, do not bring anything good for promotion."
|
182 |
+
msgstr ""
|
183 |
+
"Links externos supérfluos de comentários, que podem ser digitados de uma "
|
184 |
+
"dúzia ou mais para um artigo, não trazem nada de bom para a promoção."
|
185 |
+
|
186 |
+
#: admin/pages/comments.php:159
|
187 |
+
#, php-format
|
188 |
+
msgid "Replaces the links of this kind of %s, on links of this kind %s"
|
189 |
+
msgstr "Substitui os links deste tipo de %s , em links desse tipo %s"
|
190 |
+
|
191 |
+
#: admin/pages/comments.php:168
|
192 |
+
msgid ""
|
193 |
+
"Up to 90 percent of comments in the blog can be left for the sake of an "
|
194 |
+
"external link. Even nofollow from page weight loss here does not help."
|
195 |
+
msgstr ""
|
196 |
+
"Até 90 por cento dos comentários no blog podem ser deixados por causa de um "
|
197 |
+
"link externo. Mesmo nofollow da perda de peso da página aqui não ajuda."
|
198 |
+
|
199 |
+
#: admin/pages/comments.php:168
|
200 |
+
msgid ""
|
201 |
+
"Replaces the links of the authors of comments on the JavaScript code, it is "
|
202 |
+
"impossible to distinguish it from usual links."
|
203 |
+
msgstr ""
|
204 |
+
"Substitui os links dos autores de comentários no código JavaScript, é "
|
205 |
+
"impossível distingui-lo dos links usuais."
|
206 |
+
|
207 |
+
#: admin/pages/comments.php:168
|
208 |
+
msgid "In some Wordpress topics this may not work."
|
209 |
+
msgstr "Em alguns tópicos do WordPress isso pode não funcionar."
|
210 |
+
|
211 |
+
#: admin/pages/comments.php:175
|
212 |
+
msgid "Disable XML-RPC"
|
213 |
+
msgstr "Desativar o XML-RPC"
|
214 |
+
|
215 |
+
#: admin/pages/comments.php:177
|
216 |
+
msgid ""
|
217 |
+
"A pingback is basically an automated comment that gets created when another "
|
218 |
+
"blog links to you. A self-pingback is created when you link to an article "
|
219 |
+
"within your own blog. Pingbacks are essentially nothing more than spam and "
|
220 |
+
"simply waste resources."
|
221 |
+
msgstr ""
|
222 |
+
"Um pingback é basicamente um comentário automatizado que é criado quando "
|
223 |
+
"outro blog é direcionado a você. Um pingback automático é criado quando você "
|
224 |
+
"vincula um artigo ao seu próprio blog. Pingbacks são essencialmente nada "
|
225 |
+
"mais que spam e simplesmente desperdiçam recursos."
|
226 |
+
|
227 |
+
#: admin/pages/comments.php:177
|
228 |
+
msgid "Removes the server responses a reference to the xmlrpc file."
|
229 |
+
msgstr "Remove as respostas do servidor uma referência ao arquivo xmlrpc."
|
230 |
+
|
231 |
+
#: admin/pages/delete-comments.php:36
|
232 |
+
msgid "Comments cleaner"
|
233 |
+
msgstr "Comentários mais limpo"
|
234 |
+
|
235 |
+
#: admin/pages/delete-comments.php:75
|
236 |
+
msgid "All comments have been deleted."
|
237 |
+
msgstr "Todos os comentários foram apagados."
|
238 |
+
|
239 |
+
#: admin/pages/delete-comments.php:84
|
240 |
+
msgid ""
|
241 |
+
"An error occurred while trying to delete comments. Internal error occured. "
|
242 |
+
"Please try again later."
|
243 |
+
msgstr ""
|
244 |
+
"Ocorreu um erro ao tentar excluir comentários. Erro interno ocorrido. Por "
|
245 |
+
"favor, tente novamente mais tarde."
|
246 |
+
|
247 |
+
#: admin/pages/delete-comments.php:154
|
248 |
+
msgid ""
|
249 |
+
"Are you sure you want to delete comments from the database without restoring?"
|
250 |
+
msgstr ""
|
251 |
+
"Tem certeza de que deseja excluir comentários do banco de dados sem "
|
252 |
+
"restaurar?"
|
253 |
+
|
254 |
+
#: admin/pages/delete-comments.php:169
|
255 |
+
msgid "Delete "
|
256 |
+
msgstr ""
|
257 |
+
|
258 |
+
#: admin/pages/delete-comments.php:175
|
259 |
+
msgid "Comments clearing tools"
|
260 |
+
msgstr "Ferramentas de compensação de comentários"
|
261 |
+
|
262 |
+
#: admin/pages/delete-comments.php:178
|
263 |
+
msgid ""
|
264 |
+
"These functions can be useful for global disabling comments or bulk cleaning "
|
265 |
+
"spam comments."
|
266 |
+
msgstr ""
|
267 |
+
"Essas funções podem ser úteis para comentários globais de desativação ou "
|
268 |
+
"comentários de spam de limpeza em massa."
|
269 |
+
|
270 |
+
#: admin/pages/delete-comments.php:183
|
271 |
+
msgid "Remove all comments"
|
272 |
+
msgstr "Remover todos os comentários"
|
273 |
+
|
274 |
+
#: admin/pages/delete-comments.php:185
|
275 |
+
msgid "You can delete all comments in your database with one click."
|
276 |
+
msgstr ""
|
277 |
+
"Você pode excluir todos os comentários em seu banco de dados com um clique."
|
278 |
+
|
279 |
+
#: admin/pages/delete-comments.php:187
|
280 |
+
msgid "Choose post types"
|
281 |
+
msgstr "Escolher tipos de postagem"
|
282 |
+
|
283 |
+
#: admin/pages/delete-comments.php:192
|
284 |
+
msgid "Select all"
|
285 |
+
msgstr "Selecionar tudo"
|
286 |
+
|
287 |
+
#: admin/pages/delete-comments.php:209
|
288 |
+
#, php-format
|
289 |
+
msgid "Delete Woocommerce order notices? (%d)"
|
290 |
+
msgstr "Excluir avisos de pedido do Woocommerce? ( %d )"
|
291 |
+
|
292 |
+
#: admin/pages/delete-comments.php:215
|
293 |
+
#, php-format
|
294 |
+
msgid "Delete (%s)"
|
295 |
+
msgstr ""
|
296 |
+
|
297 |
+
#: admin/pages/delete-comments.php:222
|
298 |
+
msgid "Remove spam comments"
|
299 |
+
msgstr "Remover comentários de spam"
|
300 |
+
|
301 |
+
#: admin/pages/delete-comments.php:224
|
302 |
+
msgid "You can remove only spam comments from the database with one click."
|
303 |
+
msgstr ""
|
304 |
+
"Você pode remover apenas comentários de spam do banco de dados com um clique."
|
305 |
+
|
306 |
+
#: admin/pages/delete-comments.php:226 admin/pages/delete-comments.php:233
|
307 |
+
#: admin/pages/delete-comments.php:240
|
308 |
+
#, php-format
|
309 |
+
msgid "Delete (%d)"
|
310 |
+
msgstr "Excluir ( %d )"
|
311 |
+
|
312 |
+
#: admin/pages/delete-comments.php:229
|
313 |
+
msgid "Remove unapproved comments"
|
314 |
+
msgstr "Remover comentários não aprovados"
|
315 |
+
|
316 |
+
#: admin/pages/delete-comments.php:231
|
317 |
+
msgid ""
|
318 |
+
"You can remove only unapproved comments from the database with one click."
|
319 |
+
msgstr ""
|
320 |
+
"Você pode remover apenas comentários não aprovados do banco de dados com um "
|
321 |
+
"clique."
|
322 |
+
|
323 |
+
#: admin/pages/delete-comments.php:236
|
324 |
+
msgid "Remove trashed comments"
|
325 |
+
msgstr "Remover comentários na lixeira"
|
326 |
+
|
327 |
+
#: admin/pages/delete-comments.php:238
|
328 |
+
msgid "You can remove only trashed comments from the database with one click."
|
329 |
+
msgstr ""
|
330 |
+
"Você pode remover apenas os comentários da base de dados com um clique."
|
331 |
+
|
332 |
+
#: comments-plus.php:23
|
333 |
+
msgid ""
|
334 |
+
"We found that you have the \"Clearfy - disable unused features\" plugin "
|
335 |
+
"installed, this plugin already has disable comments functions, so you can "
|
336 |
+
"deactivate plugin \"Disable comments\"!"
|
337 |
+
msgstr ""
|
338 |
+
"Descobrimos que você tem o plug-in \"Clearfy - desativar recursos não "
|
339 |
+
"utilizados \" instalado, este plugin já tem funções de desabilitar "
|
340 |
+
"comentários, então você pode desativar o plugin \"Desativar comentários \"!"
|
341 |
+
|
342 |
+
#: comments-plus.php:81
|
343 |
+
msgid "Webcraftic Disable comments"
|
344 |
+
msgstr "Webcraftic Desabilitar comentários"
|
345 |
+
|
346 |
+
#: includes/classes/class.configurate-comments.php:188
|
347 |
+
#: includes/classes/class.configurate-comments.php:240
|
348 |
+
msgid "Comments are closed."
|
349 |
+
msgstr "Comentários estão fechados."
|
350 |
+
|
351 |
+
#: includes/classes/class.configurate-comments.php:228
|
352 |
+
#, php-format
|
353 |
+
msgid ""
|
354 |
+
"Note: The <em>%s</em> plugin is currently active, and comments are "
|
355 |
+
"completely disabled on: %s. Many of the settings below will not be "
|
356 |
+
"applicable for those post types."
|
357 |
+
msgstr ""
|
358 |
+
"Nota: O plug-in <em> %s </em> está ativo no momento e os comentários estão "
|
359 |
+
"completamente desativados em: %s . Muitas das configurações abaixo não serão "
|
360 |
"aplicáveis a esses tipos de postagem."
|
components/comments-plus/languages/comments-plus-ru_RU.mo
CHANGED
Binary file
|
components/comments-plus/languages/comments-plus-ru_RU.po
CHANGED
@@ -1,399 +1,427 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: clearfy\n"
|
4 |
-
"POT-Creation-Date: 2018-
|
5 |
-
"PO-Revision-Date: 2018-
|
6 |
-
"Last-Translator: alex.kovalevv@gmail.com <alex.kovalevv@gmail.com>\n"
|
7 |
-
"Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
|
8 |
-
"Language: ru_RU\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"X-Generator: Poedit 1.
|
13 |
-
"X-Poedit-Basepath: ..\n"
|
14 |
-
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
15 |
-
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
16 |
-
"X-Poedit-SourceCharset: UTF-8\n"
|
17 |
-
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
18 |
-
"X-Poedit-SearchPath-0: .\n"
|
19 |
-
"X-Poedit-SearchPathExcluded-0: libs\n"
|
20 |
-
|
21 |
-
#: admin/boot.php:
|
22 |
-
msgid "Disable comments on the entire site"
|
23 |
-
msgstr "Отключить комментарии на всем сайте"
|
24 |
-
|
25 |
-
#: admin/boot.php:
|
26 |
-
msgid "Select post types"
|
27 |
-
msgstr "Выбрать тип записи"
|
28 |
-
|
29 |
-
#: admin/boot.php:
|
30 |
-
msgid "Replace external links in comments on the JavaScript code"
|
31 |
-
msgstr "Заменить внешние ссылки в комментариях на JavaScript код"
|
32 |
-
|
33 |
-
#: admin/boot.php:
|
34 |
-
msgid "Replace external links from comment authors on the JavaScript code"
|
35 |
-
msgstr "Заменить внешние ссылки от авторов комментариев на код JavaScript"
|
36 |
-
|
37 |
-
#: admin/boot.php:
|
38 |
-
msgid "Disable X-Pingback"
|
39 |
-
msgstr "Убрать ссылку на X-Pingback и возможность спамить pingback-ами"
|
40 |
-
|
41 |
-
#: admin/boot.php:
|
42 |
-
msgid "Remove field \"site\" in comment form"
|
43 |
-
msgstr "Удаляет поле \"Сайт\" в форме комментариев"
|
44 |
-
|
45 |
-
#: admin/boot.php:
|
46 |
-
msgid "One click disable all comments"
|
47 |
-
msgstr "Отключить все комментарии в один клик"
|
48 |
-
|
49 |
-
#: admin/boot.php:
|
50 |
-
msgid "Get ultimate plugin free"
|
51 |
-
msgstr "Получите полную версию плагина бесплатно"
|
52 |
-
|
53 |
-
#: admin/pages/comments.php:
|
54 |
-
msgid "Disable comments"
|
55 |
-
msgstr "Отключить комментарии"
|
56 |
-
|
57 |
-
#: admin/pages/comments.php:
|
58 |
-
msgid "
|
59 |
-
msgstr "
|
60 |
-
|
61 |
-
#: admin/pages/comments.php:
|
62 |
-
msgid "
|
63 |
-
msgstr "
|
64 |
-
|
65 |
-
#: admin/pages/comments.php:
|
66 |
-
msgid "
|
67 |
-
msgstr "
|
68 |
-
|
69 |
-
#: admin/pages/comments.php:
|
70 |
-
msgid ""
|
71 |
-
"
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
"
|
76 |
-
|
77 |
-
"
|
78 |
-
"
|
79 |
-
"
|
80 |
-
|
81 |
-
"
|
82 |
-
"
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
#: admin/pages/comments.php:
|
89 |
-
msgid "
|
90 |
-
msgstr "
|
91 |
-
|
92 |
-
#: admin/pages/comments.php:
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
"
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
#: admin/pages/comments.php:
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
"
|
113 |
-
"
|
114 |
-
"\"
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
"
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
"
|
123 |
-
"
|
124 |
-
"
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
"
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
"
|
134 |
-
"
|
135 |
-
"
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
#: admin/pages/comments.php:
|
143 |
-
msgid "
|
144 |
-
msgstr "
|
145 |
-
|
146 |
-
#: admin/pages/comments.php:
|
147 |
-
msgid "
|
148 |
-
msgstr "
|
149 |
-
|
150 |
-
#: admin/pages/comments.php:
|
151 |
-
msgid ""
|
152 |
-
"
|
153 |
-
"
|
154 |
-
|
155 |
-
"
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
#: admin/pages/comments.php:
|
163 |
-
msgid ""
|
164 |
-
"
|
165 |
-
|
166 |
-
|
167 |
-
"
|
168 |
-
"
|
169 |
-
|
170 |
-
#: admin/pages/comments.php:
|
171 |
-
msgid ""
|
172 |
-
"
|
173 |
-
"
|
174 |
-
msgstr ""
|
175 |
-
"
|
176 |
-
"
|
177 |
-
|
178 |
-
#: admin/pages/comments.php:
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
"
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
"
|
188 |
-
"
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
"
|
196 |
-
"
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
#: admin/pages/comments.php:
|
206 |
-
msgid "
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
"
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
"
|
217 |
-
|
218 |
-
"
|
219 |
-
"
|
220 |
-
|
221 |
-
#: admin/pages/comments.php:
|
222 |
-
msgid "
|
223 |
-
msgstr "
|
224 |
-
|
225 |
-
#: admin/pages/
|
226 |
-
msgid "
|
227 |
-
msgstr "
|
228 |
-
|
229 |
-
#: admin/pages/
|
230 |
-
msgid "
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
"
|
237 |
-
|
238 |
-
"
|
239 |
-
"
|
240 |
-
|
241 |
-
#: admin/pages/
|
242 |
-
msgid ""
|
243 |
-
"
|
244 |
-
|
245 |
-
|
246 |
-
"
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
"
|
256 |
-
|
257 |
-
|
258 |
-
"
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
#: admin/pages/delete-comments.php:
|
269 |
-
msgid "
|
270 |
-
msgstr "
|
271 |
-
|
272 |
-
#: admin/pages/delete-comments.php:
|
273 |
-
msgid "
|
274 |
-
msgstr "
|
275 |
-
|
276 |
-
#: admin/pages/delete-comments.php:
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
"
|
295 |
-
|
296 |
-
#: admin/pages/delete-comments.php:
|
297 |
-
msgid "
|
298 |
-
msgstr "
|
299 |
-
|
300 |
-
#: admin/pages/delete-comments.php:
|
301 |
-
|
302 |
-
"
|
303 |
-
msgstr ""
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
"
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
"
|
323 |
-
"
|
324 |
-
|
325 |
-
#: comments
|
326 |
-
msgid "
|
327 |
-
msgstr "
|
328 |
-
|
329 |
-
#:
|
330 |
-
|
331 |
-
|
332 |
-
msgstr "
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
"
|
338 |
-
"
|
339 |
-
|
340 |
-
|
341 |
-
"
|
342 |
-
"
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
#~
|
365 |
-
#~ "
|
366 |
-
#~ "
|
367 |
-
#~ "
|
368 |
-
|
369 |
-
#~
|
370 |
-
#~
|
371 |
-
|
372 |
-
|
373 |
-
#~
|
374 |
-
|
375 |
-
|
376 |
-
#~
|
377 |
-
|
378 |
-
|
379 |
-
#~ "
|
380 |
-
#~ "
|
381 |
-
|
382 |
-
#~ "
|
383 |
-
#~ "
|
384 |
-
|
385 |
-
#~ msgid "
|
386 |
-
#~
|
387 |
-
|
388 |
-
|
389 |
-
#~
|
390 |
-
#~ "
|
391 |
-
#~ "
|
392 |
-
#~ msgstr ""
|
393 |
-
#~ "
|
394 |
-
#~ "
|
395 |
-
#~ "
|
396 |
-
|
397 |
-
|
398 |
-
#~
|
399 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: clearfy\n"
|
4 |
+
"POT-Creation-Date: 2018-10-16 22:46+0300\n"
|
5 |
+
"PO-Revision-Date: 2018-10-16 23:23+0300\n"
|
6 |
+
"Last-Translator: alex.kovalevv@gmail.com <alex.kovalevv@gmail.com>\n"
|
7 |
+
"Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
|
8 |
+
"Language: ru_RU\n"
|
9 |
+
"MIME-Version: 1.0\n"
|
10 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
+
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"X-Generator: Poedit 2.1.1\n"
|
13 |
+
"X-Poedit-Basepath: ..\n"
|
14 |
+
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
15 |
+
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
16 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
17 |
+
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
18 |
+
"X-Poedit-SearchPath-0: .\n"
|
19 |
+
"X-Poedit-SearchPathExcluded-0: libs\n"
|
20 |
+
|
21 |
+
#: admin/boot.php:18
|
22 |
+
msgid "Disable comments on the entire site"
|
23 |
+
msgstr "Отключить комментарии на всем сайте"
|
24 |
+
|
25 |
+
#: admin/boot.php:24 admin/pages/comments.php:127
|
26 |
+
msgid "Select post types"
|
27 |
+
msgstr "Выбрать тип записи"
|
28 |
+
|
29 |
+
#: admin/boot.php:29 admin/pages/comments.php:167
|
30 |
+
msgid "Replace external links in comments on the JavaScript code"
|
31 |
+
msgstr "Заменить внешние ссылки в комментариях на JavaScript код"
|
32 |
+
|
33 |
+
#: admin/boot.php:34 admin/pages/comments.php:176
|
34 |
+
msgid "Replace external links from comment authors on the JavaScript code"
|
35 |
+
msgstr "Заменить внешние ссылки от авторов комментариев на код JavaScript"
|
36 |
+
|
37 |
+
#: admin/boot.php:39
|
38 |
+
msgid "Disable X-Pingback"
|
39 |
+
msgstr "Убрать ссылку на X-Pingback и возможность спамить pingback-ами"
|
40 |
+
|
41 |
+
#: admin/boot.php:44 admin/pages/comments.php:158
|
42 |
+
msgid "Remove field \"site\" in comment form"
|
43 |
+
msgstr "Удаляет поле \"Сайт\" в форме комментариев"
|
44 |
+
|
45 |
+
#: admin/boot.php:56
|
46 |
+
msgid "One click disable all comments"
|
47 |
+
msgstr "Отключить все комментарии в один клик"
|
48 |
+
|
49 |
+
#: admin/boot.php:77
|
50 |
+
msgid "Get ultimate plugin free"
|
51 |
+
msgstr "Получите полную версию плагина бесплатно"
|
52 |
+
|
53 |
+
#: admin/pages/comments.php:38 admin/pages/comments.php:92
|
54 |
+
msgid "Disable comments"
|
55 |
+
msgstr "Отключить комментарии"
|
56 |
+
|
57 |
+
#: admin/pages/comments.php:39
|
58 |
+
msgid "Manage site comments"
|
59 |
+
msgstr "Упр. комментариями"
|
60 |
+
|
61 |
+
#: admin/pages/comments.php:52
|
62 |
+
msgid "Comments"
|
63 |
+
msgstr "Комментарии"
|
64 |
+
|
65 |
+
#: admin/pages/comments.php:52
|
66 |
+
msgid "General"
|
67 |
+
msgstr "Основные"
|
68 |
+
|
69 |
+
#: admin/pages/comments.php:67
|
70 |
+
msgid "Global disabling of comments"
|
71 |
+
msgstr "Глобальное отключение комментариев"
|
72 |
+
|
73 |
+
#: admin/pages/comments.php:67
|
74 |
+
msgid ""
|
75 |
+
"What is the difference between these and native WordPress functions? "
|
76 |
+
"WordPress disables comments only for new posts! Using the functions below, "
|
77 |
+
"you can disable comments globally, even for old posts, and you can choose "
|
78 |
+
"which post types comments to disable. The plugin also disables the comment "
|
79 |
+
"functionality itself, which creates a certain load on the site."
|
80 |
+
msgstr ""
|
81 |
+
"Чем отличается эти функции от нативных функций Wordpress? Wordpress "
|
82 |
+
"отключает комментарии только для новых записей! С помощью функций ниже, вы "
|
83 |
+
"можете отключить комментарии глобально, даже для старых записей, причем вы "
|
84 |
+
"можете выбрать для каких типов записей нужно отключить комментарии. Плагин "
|
85 |
+
"также отключает сам функционал комментариев, который создает определенную "
|
86 |
+
"нагрузку на сайт."
|
87 |
+
|
88 |
+
#: admin/pages/comments.php:94
|
89 |
+
msgid "Not disable"
|
90 |
+
msgstr "Не отключать"
|
91 |
+
|
92 |
+
#: admin/pages/comments.php:97
|
93 |
+
msgid "Everywhere"
|
94 |
+
msgstr "Повсюду"
|
95 |
+
|
96 |
+
#: admin/pages/comments.php:98
|
97 |
+
#, php-format
|
98 |
+
msgid ""
|
99 |
+
"You can delete all comments in the database by clicking on this link (<a "
|
100 |
+
"href=\"%s\">cleaning comments in database</a>)."
|
101 |
+
msgstr ""
|
102 |
+
"Вы можете удалить все комментарии в базе данных, нажав на эту ссылку ( <a "
|
103 |
+
"href=\"%s\">очистка комментариев в базе данных</a> )."
|
104 |
+
|
105 |
+
#: admin/pages/comments.php:102
|
106 |
+
msgid "On certain post types"
|
107 |
+
msgstr "Только выбранные типы записей"
|
108 |
+
|
109 |
+
#: admin/pages/comments.php:103
|
110 |
+
#, php-format
|
111 |
+
msgid ""
|
112 |
+
"You can delete all comments for the selected post types. Select the post "
|
113 |
+
"types below and save the settings. After that, click the link (<a href=\"%s"
|
114 |
+
"\">delete all comments for the selected post types in database</a>)."
|
115 |
+
msgstr ""
|
116 |
+
"Вы можете удалить все комментарии для выбранных типов записей. Выберите типы "
|
117 |
+
"записей ниже и сохраните настройки. После этого нажмите ссылку ( <a href=\"%s"
|
118 |
+
"\">удалите все комментарии для выбранных типов записей в базе данных</a> )."
|
119 |
+
|
120 |
+
#: admin/pages/comments.php:107
|
121 |
+
msgid ""
|
122 |
+
"Everywhere - Warning: This option is global and will affect your entire "
|
123 |
+
"site. Use it only if you want to disable comments everywhere. A complete "
|
124 |
+
"description of what this option does is available here"
|
125 |
+
msgstr ""
|
126 |
+
"Повсюду - предупреждение: этот параметр является глобальным и повлияет на "
|
127 |
+
"весь ваш сайт. Используйте его только в том случае, если вы хотите отключить "
|
128 |
+
"комментарии повсюду. "
|
129 |
+
|
130 |
+
#: admin/pages/comments.php:107
|
131 |
+
msgid ""
|
132 |
+
"On certain post types - Disabling comments will also disable trackbacks and "
|
133 |
+
"pingbacks. All comment-related fields will also be hidden from the edit/"
|
134 |
+
"quick-edit screens of the affected posts. These settings cannot be "
|
135 |
+
"overridden for individual posts."
|
136 |
+
msgstr ""
|
137 |
+
"В некоторых типах сообщений - отключение комментариев также отключает "
|
138 |
+
"трекбэки и pingback. Все поля, связанные с комментариями, также будут скрыты "
|
139 |
+
"от экранов редактирования / быстрого редактирования затронутых сообщений. "
|
140 |
+
"Эти настройки нельзя переопределять для отдельных сообщений."
|
141 |
+
|
142 |
+
#: admin/pages/comments.php:130
|
143 |
+
msgid "Select the post types for which comments will be disabled"
|
144 |
+
msgstr "Выберите типы записей, для которых комментарии будут отключены."
|
145 |
+
|
146 |
+
#: admin/pages/comments.php:138
|
147 |
+
msgid "Custom post types"
|
148 |
+
msgstr "Произвольные типы записей"
|
149 |
+
|
150 |
+
#: admin/pages/comments.php:141
|
151 |
+
msgid ""
|
152 |
+
"Only the built-in post types appear above. If you want to disable comments "
|
153 |
+
"on other custom post types on the entire network, you can supply a comma-"
|
154 |
+
"separated list of post types below (use the slug that identifies the post "
|
155 |
+
"type)."
|
156 |
+
msgstr ""
|
157 |
+
"Только встроенные типы записей отображаются выше. Если вы хотите отключить "
|
158 |
+
"комментарии к другим пользовательским типам записей во всей сети, вы можете "
|
159 |
+
"предоставить список типов сообщений, разделенных запятыми (используйте имя, "
|
160 |
+
"которое идентифицирует тип записей)."
|
161 |
+
|
162 |
+
#: admin/pages/comments.php:152
|
163 |
+
msgid "General settings for comments"
|
164 |
+
msgstr "Общие настройки комментариев"
|
165 |
+
|
166 |
+
#: admin/pages/comments.php:152
|
167 |
+
msgid "These settings will help you improve SEO and reduce the amount of spam."
|
168 |
+
msgstr "Эти настройки помогут вам улучшить SEO и уменьшить количество спама."
|
169 |
+
|
170 |
+
#: admin/pages/comments.php:160
|
171 |
+
msgid ""
|
172 |
+
"Tired of spam in the comments? Do visitors leave \"blank\" comments for the "
|
173 |
+
"sake of a link to their site?"
|
174 |
+
msgstr ""
|
175 |
+
"Надоел спам в комментариях? Посетители оставляют «пустые» комментарии ради "
|
176 |
+
"ссылки на свой сайт?"
|
177 |
+
|
178 |
+
#: admin/pages/comments.php:160
|
179 |
+
msgid "Removes the \"Site\" field from the comment form."
|
180 |
+
msgstr "Убирает поле «Сайт» из формы комментирования."
|
181 |
+
|
182 |
+
#: admin/pages/comments.php:160
|
183 |
+
msgid ""
|
184 |
+
"Works with the standard comment form, if the form is manually written in "
|
185 |
+
"your theme-it probably will not work!"
|
186 |
+
msgstr ""
|
187 |
+
"Работает со стандартной формой комментирования, если в Вашей теме форма "
|
188 |
+
"прописана вручную - скорей всего не сработает!"
|
189 |
+
|
190 |
+
#: admin/pages/comments.php:169
|
191 |
+
msgid ""
|
192 |
+
"Superfluous external links from comments, which can be typed from a dozen "
|
193 |
+
"and more for one article, do not bring anything good for promotion."
|
194 |
+
msgstr ""
|
195 |
+
"Внешние ссылки в комментариях, которых может быть десятки или больше на "
|
196 |
+
"одной странице, могут ухудшить продвижение вашего сайта."
|
197 |
+
|
198 |
+
#: admin/pages/comments.php:169
|
199 |
+
#, php-format
|
200 |
+
msgid "Replaces the links of this kind of %s, on links of this kind %s"
|
201 |
+
msgstr ""
|
202 |
+
"Заменяет ссылки %s, на span тег и устанавливает переход с помощью JavaScript "
|
203 |
+
"%s"
|
204 |
+
|
205 |
+
#: admin/pages/comments.php:178
|
206 |
+
msgid ""
|
207 |
+
"Up to 90 percent of comments in the blog can be left for the sake of an "
|
208 |
+
"external link. Even nofollow from page weight loss here does not help."
|
209 |
+
msgstr ""
|
210 |
+
"До 90 процентов комментариев в блоге оставляют ради внешней ссылки. Не "
|
211 |
+
"поможет даже nofollow от потери веса страницы."
|
212 |
+
|
213 |
+
#: admin/pages/comments.php:178
|
214 |
+
msgid ""
|
215 |
+
"Replaces the links of the authors of comments on the JavaScript code, it is "
|
216 |
+
"impossible to distinguish it from usual links."
|
217 |
+
msgstr ""
|
218 |
+
"Заменяет ссылки авторов комментариев на JavaScript код, его невозможно "
|
219 |
+
"отличить от обычной ссылки."
|
220 |
+
|
221 |
+
#: admin/pages/comments.php:178
|
222 |
+
msgid "In some Wordpress topics this may not work."
|
223 |
+
msgstr "В некоторых темах Wordpress это может не сработать."
|
224 |
+
|
225 |
+
#: admin/pages/comments.php:185
|
226 |
+
msgid "Disable XML-RPC"
|
227 |
+
msgstr "Отключить XML-RPC"
|
228 |
+
|
229 |
+
#: admin/pages/comments.php:187
|
230 |
+
msgid ""
|
231 |
+
"A pingback is basically an automated comment that gets created when another "
|
232 |
+
"blog links to you. A self-pingback is created when you link to an article "
|
233 |
+
"within your own blog. Pingbacks are essentially nothing more than spam and "
|
234 |
+
"simply waste resources."
|
235 |
+
msgstr ""
|
236 |
+
"Pingback по-существу автоматизированных комментарий, который создается, "
|
237 |
+
"когда другой блог ссылается на вас. Self-pingback создается, когда вы "
|
238 |
+
"оставили ссылку на статью в своем блоге. Pingbacks по существу являются не "
|
239 |
+
"более чем спам и пустая трата ресурсов вашего сайта."
|
240 |
+
|
241 |
+
#: admin/pages/comments.php:187
|
242 |
+
msgid "Removes the server responses a reference to the xmlrpc file."
|
243 |
+
msgstr "Удаляет ссылку на xmlrpc-файл и ответ сервера."
|
244 |
+
|
245 |
+
#: admin/pages/delete-comments.php:41
|
246 |
+
msgid "Comments cleaner"
|
247 |
+
msgstr "Очистка комментариев"
|
248 |
+
|
249 |
+
#: admin/pages/delete-comments.php:62
|
250 |
+
msgid "All comments have been deleted."
|
251 |
+
msgstr "Все комментарии были удалены."
|
252 |
+
|
253 |
+
#: admin/pages/delete-comments.php:71
|
254 |
+
msgid ""
|
255 |
+
"An error occurred while trying to delete comments. Internal error occured. "
|
256 |
+
"Please try again later."
|
257 |
+
msgstr ""
|
258 |
+
"При попытке удалить комментарии произошла ошибка. Пожалуйста, повторите "
|
259 |
+
"попытку позже."
|
260 |
+
|
261 |
+
#: admin/pages/delete-comments.php:211
|
262 |
+
msgid ""
|
263 |
+
"Are you sure you want to delete comments from the database without restoring?"
|
264 |
+
msgstr ""
|
265 |
+
"Вы уверены, что вы хотите удалить комментарии из базы данных без "
|
266 |
+
"восстановления?"
|
267 |
+
|
268 |
+
#: admin/pages/delete-comments.php:226
|
269 |
+
msgid "Delete "
|
270 |
+
msgstr "Удалить"
|
271 |
+
|
272 |
+
#: admin/pages/delete-comments.php:232
|
273 |
+
msgid "Comments clearing tools"
|
274 |
+
msgstr "Комментарии очищающие инструменты"
|
275 |
+
|
276 |
+
#: admin/pages/delete-comments.php:235
|
277 |
+
msgid ""
|
278 |
+
"These functions can be useful for global disabling comments or bulk cleaning "
|
279 |
+
"spam comments."
|
280 |
+
msgstr ""
|
281 |
+
"Эти функции могут быть полезны для глобальных отключений комментариев или "
|
282 |
+
"массовой очистки спама комментариев."
|
283 |
+
|
284 |
+
#: admin/pages/delete-comments.php:240
|
285 |
+
msgid "Remove all comments"
|
286 |
+
msgstr "Удалить все комментарии"
|
287 |
+
|
288 |
+
#: admin/pages/delete-comments.php:242
|
289 |
+
msgid "You can delete all comments in your database with one click."
|
290 |
+
msgstr "Вы можете удалить все комментарии в базе данных с одним щелчком мыши."
|
291 |
+
|
292 |
+
#: admin/pages/delete-comments.php:244
|
293 |
+
msgid "Choose post types"
|
294 |
+
msgstr "Выберите типы записей"
|
295 |
+
|
296 |
+
#: admin/pages/delete-comments.php:249
|
297 |
+
msgid "Select all"
|
298 |
+
msgstr "Выбрать все"
|
299 |
+
|
300 |
+
#: admin/pages/delete-comments.php:266
|
301 |
+
#, php-format
|
302 |
+
msgid "Delete Woocommerce order notices? (%d)"
|
303 |
+
msgstr "Удалять заметки от заказов Woocommerce? (%d)"
|
304 |
+
|
305 |
+
#: admin/pages/delete-comments.php:272
|
306 |
+
#, php-format
|
307 |
+
msgid "Delete (%s)"
|
308 |
+
msgstr "Удалить (%s)"
|
309 |
+
|
310 |
+
#: admin/pages/delete-comments.php:279
|
311 |
+
msgid "Remove spam comments"
|
312 |
+
msgstr "Удалить спам комментарии"
|
313 |
+
|
314 |
+
#: admin/pages/delete-comments.php:281
|
315 |
+
msgid "You can remove only spam comments from the database with one click."
|
316 |
+
msgstr ""
|
317 |
+
"Вы можете одним нажатием удалить только спам комментарии из базы данных."
|
318 |
+
|
319 |
+
#: admin/pages/delete-comments.php:283 admin/pages/delete-comments.php:290
|
320 |
+
#: admin/pages/delete-comments.php:297
|
321 |
+
#, php-format
|
322 |
+
msgid "Delete (%d)"
|
323 |
+
msgstr "Удалить (%d)"
|
324 |
+
|
325 |
+
#: admin/pages/delete-comments.php:286
|
326 |
+
msgid "Remove unapproved comments"
|
327 |
+
msgstr "Удалить неподтвержденные комментарии"
|
328 |
+
|
329 |
+
#: admin/pages/delete-comments.php:288
|
330 |
+
msgid ""
|
331 |
+
"You can remove only unapproved comments from the database with one click."
|
332 |
+
msgstr ""
|
333 |
+
"Вы можете одним нажатием удалить только не подтвержденные комментарии из "
|
334 |
+
"базы данных."
|
335 |
+
|
336 |
+
#: admin/pages/delete-comments.php:293
|
337 |
+
msgid "Remove trashed comments"
|
338 |
+
msgstr "Удалить комментарии из корзины"
|
339 |
+
|
340 |
+
#: admin/pages/delete-comments.php:295
|
341 |
+
msgid "You can remove only trashed comments from the database with one click."
|
342 |
+
msgstr "Вы можете одним нажатием удалить только комментарии из корзины."
|
343 |
+
|
344 |
+
#: comments-plus.php:63
|
345 |
+
msgid "Webcraftic Disable comments"
|
346 |
+
msgstr "Webcraftic отключить комментарии"
|
347 |
+
|
348 |
+
#: includes/classes/class.configurate-comments.php:204
|
349 |
+
#: includes/classes/class.configurate-comments.php:256
|
350 |
+
msgid "Comments are closed."
|
351 |
+
msgstr "Комментарии Закрыты."
|
352 |
+
|
353 |
+
#: includes/classes/class.configurate-comments.php:244
|
354 |
+
#, php-format
|
355 |
+
msgid ""
|
356 |
+
"Note: The <em>%s</em> plugin is currently active, and comments are "
|
357 |
+
"completely disabled on: %s. Many of the settings below will not be "
|
358 |
+
"applicable for those post types."
|
359 |
+
msgstr ""
|
360 |
+
"Примечание. Плагин <em>%s</em> в настоящий момент активен, и комментарии "
|
361 |
+
"полностью отключены: %s. Многие из приведенных ниже настроек не будут "
|
362 |
+
"применяться для этих типов сообщений."
|
363 |
+
|
364 |
+
#~ msgid ""
|
365 |
+
#~ "We found that you have the \"Clearfy - disable unused features\" plugin "
|
366 |
+
#~ "installed, this plugin already has disable comments functions, so you can "
|
367 |
+
#~ "deactivate plugin \"Disable comments\"!"
|
368 |
+
#~ msgstr ""
|
369 |
+
#~ "Мы обнаружили, что у вас установлен плагин «Clearfy - отключить "
|
370 |
+
#~ "неиспользуемые функции», этот плагин уже имеет функции отключения "
|
371 |
+
#~ "комментариев, поэтому вы можете отключить плагин «Отключить комментарии»!"
|
372 |
+
|
373 |
+
#~ msgid "Recommended"
|
374 |
+
#~ msgstr "Рекомендовано"
|
375 |
+
|
376 |
+
#~ msgid "You are not allowed to view this page."
|
377 |
+
#~ msgstr "Вам не разрешено просматривать эту страницу."
|
378 |
+
|
379 |
+
#~ msgid "You do not have the selected post types!"
|
380 |
+
#~ msgstr "Вы не выбрали еще ни одного типа записей!"
|
381 |
+
|
382 |
+
#~ msgid "No comments available for deletion."
|
383 |
+
#~ msgstr "Нет комментариев для удаления."
|
384 |
+
|
385 |
+
#~ msgid ""
|
386 |
+
#~ "Are you sure that you desire to delete all comments from the database?"
|
387 |
+
#~ msgstr "Вы уверены, что хотите удалить все комментарии из базы данных?"
|
388 |
+
|
389 |
+
#~ msgid ""
|
390 |
+
#~ "Deleting comments will remove existing comment entries in the database "
|
391 |
+
#~ "and cannot be reverted without a database backup."
|
392 |
+
#~ msgstr ""
|
393 |
+
#~ "При удалении комментариев удаляются существующие записи комментариев в "
|
394 |
+
#~ "базе данных, они не могут быть восстановлены без резервного копирования "
|
395 |
+
#~ "базы данных."
|
396 |
+
|
397 |
+
#~ msgid "You have %s comments"
|
398 |
+
#~ msgstr "У вас есть %s комментариев"
|
399 |
+
|
400 |
+
#~ msgid "Yes, I'm sure"
|
401 |
+
#~ msgstr "Да, я уверен"
|
402 |
+
|
403 |
+
#~ msgid "No, return back"
|
404 |
+
#~ msgstr "Нет, вернуться"
|
405 |
+
|
406 |
+
#~ msgid ""
|
407 |
+
#~ "Are you sure that you desire to delete all comments from the database for "
|
408 |
+
#~ "the selected post types (%s)?"
|
409 |
+
#~ msgstr ""
|
410 |
+
#~ "Вы уверены, что хотите удалить все комментарии из базы данных для "
|
411 |
+
#~ "выбранных типов записей (%s)?"
|
412 |
+
|
413 |
+
#~ msgid "Webcraftic comments tweaks"
|
414 |
+
#~ msgstr "Webcraftic инструменты комментариев"
|
415 |
+
|
416 |
+
#~ msgid ""
|
417 |
+
#~ "We found that you have the \"Clearfy - disable unused features\" plugin "
|
418 |
+
#~ "installed, this plugin already has disable comments functions, so you can "
|
419 |
+
#~ "deactivate plugin \"Comments tweaks\"!"
|
420 |
+
#~ msgstr ""
|
421 |
+
#~ "Мы обнаружили, что у вас установлен плагин «Clearfy - отключить "
|
422 |
+
#~ "неиспользуемые функции», этот плагин уже имеет функции отключения "
|
423 |
+
#~ "комментариев, поэтому вы можете отключить плагин «Инструменты "
|
424 |
+
#~ "комментариев»!"
|
425 |
+
|
426 |
+
#~ msgid "Disable all comments"
|
427 |
+
#~ msgstr "Отключить все комментарии"
|
components/cyrlitera/admin/activation.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
* Activator for the cyrlitera
|
5 |
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
6 |
* @copyright (c) 09.03.2018, Webcraftic
|
7 |
-
* @see
|
8 |
* @version 1.0
|
9 |
*/
|
10 |
|
@@ -13,7 +13,7 @@
|
|
13 |
exit;
|
14 |
}
|
15 |
|
16 |
-
class WCTR_Activation extends
|
17 |
|
18 |
/**
|
19 |
* Runs activation actions.
|
@@ -22,8 +22,8 @@
|
|
22 |
*/
|
23 |
public function activate()
|
24 |
{
|
25 |
-
WCTR_Plugin::app()->
|
26 |
-
WCTR_Plugin::app()->
|
27 |
-
WCTR_Plugin::app()->
|
28 |
}
|
29 |
}
|
4 |
* Activator for the cyrlitera
|
5 |
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
6 |
* @copyright (c) 09.03.2018, Webcraftic
|
7 |
+
* @see Wbcr_Factory409_Activator
|
8 |
* @version 1.0
|
9 |
*/
|
10 |
|
13 |
exit;
|
14 |
}
|
15 |
|
16 |
+
class WCTR_Activation extends Wbcr_Factory409_Activator {
|
17 |
|
18 |
/**
|
19 |
* Runs activation actions.
|
22 |
*/
|
23 |
public function activate()
|
24 |
{
|
25 |
+
WCTR_Plugin::app()->updatePopulateOption('use_transliteration', 1);
|
26 |
+
WCTR_Plugin::app()->updatePopulateOption('use_transliteration_filename', 1);
|
27 |
+
WCTR_Plugin::app()->updatePopulateOption('filename_to_lowercase', 1);
|
28 |
}
|
29 |
}
|
components/cyrlitera/admin/boot.php
CHANGED
@@ -11,6 +11,27 @@
|
|
11 |
exit;
|
12 |
}
|
13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
/**
|
15 |
* @return array
|
16 |
*/
|
@@ -99,7 +120,7 @@
|
|
99 |
return $notices;
|
100 |
}
|
101 |
|
102 |
-
add_action('
|
103 |
|
104 |
function wbcr_cyrlitera_group_options($options)
|
105 |
{
|
@@ -181,7 +202,6 @@
|
|
181 |
add_filter('plugin_row_meta', 'wbcr_cyrlitera_set_plugin_meta', 10, 2);
|
182 |
}
|
183 |
|
184 |
-
|
185 |
/**
|
186 |
* Виджет отзывов
|
187 |
*
|
@@ -198,7 +218,7 @@
|
|
198 |
return $page_url;
|
199 |
}
|
200 |
|
201 |
-
add_filter('
|
202 |
|
203 |
|
204 |
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
+
/**
|
15 |
+
* Когда в CLearfy пользователь выполняет быструю настройку "ONE CLICK SEO OPTIMIZATION",
|
16 |
+
* мы включаем транслитерацию и преобразовываем слаги для уже существующих страниц, терминов
|
17 |
+
*
|
18 |
+
* @param string $mode_name - имя режима быстрой настройки
|
19 |
+
*/
|
20 |
+
add_action('wbcr_clearfy_configurated_quick_mode', function ($mode_name) {
|
21 |
+
if( $mode_name == 'seo_optimize' ) {
|
22 |
+
$use_transliterations = WCTR_Plugin::app()->getPopulateOption('use_transliteration');
|
23 |
+
$transliterate_existing_slugs = WCTR_Plugin::app()->getPopulateOption('transliterate_existing_slugs');
|
24 |
+
|
25 |
+
if( !$use_transliterations || $transliterate_existing_slugs ) {
|
26 |
+
return;
|
27 |
+
}
|
28 |
+
|
29 |
+
WCTR_Helper::convertExistingSlugs();
|
30 |
+
|
31 |
+
WCTR_Plugin::app()->updatePopulateOption('transliterate_existing_slugs', 1);
|
32 |
+
}
|
33 |
+
});
|
34 |
+
|
35 |
/**
|
36 |
* @return array
|
37 |
*/
|
120 |
return $notices;
|
121 |
}
|
122 |
|
123 |
+
add_action('wbcr_factory_notices_407_list', 'wbcr_cyrlitera_admin_conflict_notices_error', 10, 2);
|
124 |
|
125 |
function wbcr_cyrlitera_group_options($options)
|
126 |
{
|
202 |
add_filter('plugin_row_meta', 'wbcr_cyrlitera_set_plugin_meta', 10, 2);
|
203 |
}
|
204 |
|
|
|
205 |
/**
|
206 |
* Виджет отзывов
|
207 |
*
|
218 |
return $page_url;
|
219 |
}
|
220 |
|
221 |
+
add_filter('wbcr_factory_pages_410_imppage_rating_widget_url', 'wbcr_cyrlitera_rating_widget_url', 10, 2);
|
222 |
|
223 |
|
224 |
|
components/cyrlitera/admin/options.php
CHANGED
@@ -11,217 +11,12 @@
|
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
-
/**
|
15 |
-
* @return array
|
16 |
-
*/
|
17 |
-
function wbcr_cyrlitera_get_plugin_options()
|
18 |
-
{
|
19 |
-
$options = array();
|
20 |
-
|
21 |
-
$options[] = array(
|
22 |
-
'type' => 'html',
|
23 |
-
'html' => '<div class="wbcr-factory-page-group-header">' . '<strong>' . __('Transliteration of Cyrillic alphabet.', 'cyrlitera') . '</strong>' . '<p>' . __('Converts Cyrillic permalinks of post, pages, taxonomies and media files to the Latin alphabet. Supports Russian, Ukrainian, Georgian, Bulgarian languages. Example: http://site.dev/последние-новости -> http://site.dev/poslednie-novosti', 'cyrlitera') . '</p>' . '</div>'
|
24 |
-
);
|
25 |
-
|
26 |
-
$options[] = array(
|
27 |
-
'type' => 'checkbox',
|
28 |
-
'way' => 'buttons',
|
29 |
-
'name' => 'use_transliteration',
|
30 |
-
'title' => __('Use transliteration', 'cyrlitera'),
|
31 |
-
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'green'),
|
32 |
-
'hint' => __('If you enable this option, all URLs of new pages, posts, tags, and categories will automatically be converted to Latin.', 'cyrlitera'),
|
33 |
-
'default' => false
|
34 |
-
);
|
35 |
-
$options[] = array(
|
36 |
-
'type' => 'checkbox',
|
37 |
-
'way' => 'buttons',
|
38 |
-
'name' => 'use_transliteration_filename',
|
39 |
-
'title' => __('Convert file names', 'cyrlitera'),
|
40 |
-
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'green'),
|
41 |
-
'hint' => __('This option works only for new media library files. All Cyrillic names of the downloaded files will be converted to names with Latin characters.', 'cyrlitera'),
|
42 |
-
'default' => false
|
43 |
-
);
|
44 |
-
$options[] = array(
|
45 |
-
'type' => 'checkbox',
|
46 |
-
'way' => 'buttons',
|
47 |
-
'name' => 'use_force_transliteration',
|
48 |
-
'title' => __('Force transliteration', 'cyrlitera'),
|
49 |
-
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
|
50 |
-
'hint' => sprintf(__('If any of your plugins affects transliteration of links and file names, you can use this option to change the plugin of %s to overwrite the changes of the other plugins.', 'cyrlitera'), WCTR_Plugin::app()
|
51 |
-
->getPluginTitle()),
|
52 |
-
'default' => false
|
53 |
-
);
|
54 |
-
$options[] = array(
|
55 |
-
'type' => 'checkbox',
|
56 |
-
'way' => 'buttons',
|
57 |
-
'name' => 'filename_to_lowercase',
|
58 |
-
'title' => __('Convert file names into lowercase', 'cyrlitera'),
|
59 |
-
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'green'),
|
60 |
-
'hint' => __('This function works only for new upload files. Example: File_Name.jpg -> file_name.jpg', 'cyrlitera'),
|
61 |
-
'default' => false
|
62 |
-
);
|
63 |
-
|
64 |
-
$options[] = array(
|
65 |
-
'type' => 'checkbox',
|
66 |
-
'way' => 'buttons',
|
67 |
-
'name' => 'redirect_from_old_urls',
|
68 |
-
'title' => __('Redirection old URLs to new ones', 'cyrlitera'),
|
69 |
-
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
|
70 |
-
'hint' => __('If at the time of the plugin installation you had pages with unconverted links, use this option to redirect users from old to new URLs with the Latin alphabet.', 'cyrlitera'),
|
71 |
-
'default' => false
|
72 |
-
);
|
73 |
-
|
74 |
-
$options[] = array(
|
75 |
-
'type' => 'checkbox',
|
76 |
-
'way' => 'buttons',
|
77 |
-
'name' => 'dont_use_transliteration_on_frontend',
|
78 |
-
'title' => __('Don\'t use transliteration in frontend', 'cyrlitera'),
|
79 |
-
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
|
80 |
-
'hint' => __('Enable when have a problem in frontend.', 'cyrlitera'),
|
81 |
-
'default' => false
|
82 |
-
);
|
83 |
-
|
84 |
-
$options[] = array(
|
85 |
-
'type' => 'textarea',
|
86 |
-
'way' => 'buttons',
|
87 |
-
'name' => 'custom_symbols_pack',
|
88 |
-
'title' => __('Character Sets', 'cyrlitera'),
|
89 |
-
'hint' => __('You can supplement current base of transliteration characters. Write pairs of values separated by commas. Example:', 'cyrlitera') . ' <b>Ё=Jo,ё=jo,Ж=Zh,ж=zh</b>'
|
90 |
-
);
|
91 |
-
|
92 |
-
$options[] = array(
|
93 |
-
'type' => 'html',
|
94 |
-
'html' => 'wbcr_cyrlitera_rollback_button'
|
95 |
-
);
|
96 |
-
|
97 |
-
return $options;
|
98 |
-
}
|
99 |
-
|
100 |
-
/**
|
101 |
-
* @param $html_builder Wbcr_FactoryForms407_Html
|
102 |
-
*/
|
103 |
-
function wbcr_cyrlitera_rollback_button($html_builder)
|
104 |
-
{
|
105 |
-
$form_name = $html_builder->getFormName();
|
106 |
-
|
107 |
-
$rollback = false;
|
108 |
-
$convert_now = false;
|
109 |
-
|
110 |
-
if( isset($_POST['wbcr_cyrlitera_rollback_action']) ) {
|
111 |
-
check_admin_referer($form_name, 'wbcr_cyrlitera_rollback_nonce');
|
112 |
-
|
113 |
-
global $wpdb;
|
114 |
-
|
115 |
-
$posts = $wpdb->get_results("SELECT p.ID, p.post_name, m.meta_value as old_post_name FROM {$wpdb->posts} p
|
116 |
-
LEFT JOIN {$wpdb->postmeta} m
|
117 |
-
ON p.ID = m.post_id
|
118 |
-
WHERE p.post_status
|
119 |
-
IN ('publish', 'future', 'private') AND m.meta_key='wbcr_wp_old_slug' AND m.meta_value IS NOT NULL");
|
120 |
-
|
121 |
-
foreach((array)$posts as $post) {
|
122 |
-
if( $post->post_name != $post->old_post_name ) {
|
123 |
-
$wpdb->update($wpdb->posts, array('post_name' => $post->old_post_name), array('ID' => $post->ID), array('%s'), array('%d'));
|
124 |
-
delete_post_meta($post->ID, 'wbcr_wp_old_slug');
|
125 |
-
}
|
126 |
-
}
|
127 |
-
|
128 |
-
$terms = $wpdb->get_results("SELECT t.term_id, t.slug, o.option_value as old_term_slug FROM {$wpdb->terms} t
|
129 |
-
LEFT JOIN {$wpdb->options} o
|
130 |
-
ON o.option_name=concat('wbcr_wp_term_',t.term_id, '_old_slug')
|
131 |
-
WHERE o.option_value IS NOT NULL");
|
132 |
-
|
133 |
-
foreach((array)$terms as $term) {
|
134 |
-
if( $term->slug != $term->old_term_slug ) {
|
135 |
-
$wpdb->update($wpdb->terms, array('slug' => $term->old_term_slug), array('term_id' => $term->term_id), array('%s'), array('%d'));
|
136 |
-
delete_option('wbcr_wp_term_' . $term->term_id . '_old_slug');
|
137 |
-
}
|
138 |
-
}
|
139 |
-
|
140 |
-
$rollback = true;
|
141 |
-
}
|
142 |
-
|
143 |
-
if( isset($_POST['wbcr_cyrlitera_convert_now_action']) ) {
|
144 |
-
check_admin_referer($form_name, 'wbcr_cyrlitera_convert_now_nonce');
|
145 |
-
|
146 |
-
global $wpdb;
|
147 |
-
|
148 |
-
$posts = $wpdb->get_results("SELECT ID, post_name FROM {$wpdb->posts} WHERE post_name REGEXP('[^_A-Za-z0-9\-]+') AND post_status IN ('publish', 'future', 'private')");
|
149 |
-
|
150 |
-
foreach((array)$posts as $post) {
|
151 |
-
$sanitized_name = WCTR_Helper::sanitizeTitle(urldecode($post->post_name));
|
152 |
-
|
153 |
-
if( $post->post_name != $sanitized_name ) {
|
154 |
-
add_post_meta($post->ID, 'wbcr_wp_old_slug', $post->post_name);
|
155 |
-
|
156 |
-
$wpdb->update($wpdb->posts, array('post_name' => $sanitized_name), array('ID' => $post->ID), array('%s'), array('%d'));
|
157 |
-
}
|
158 |
-
}
|
159 |
-
|
160 |
-
$terms = $wpdb->get_results("SELECT term_id, slug FROM {$wpdb->terms} WHERE slug REGEXP('[^_A-Za-z0-9\-]+') ");
|
161 |
-
|
162 |
-
foreach((array)$terms as $term) {
|
163 |
-
$sanitized_slug = WCTR_Helper::sanitizeTitle(urldecode($term->slug));
|
164 |
-
|
165 |
-
if( $term->slug != $sanitized_slug ) {
|
166 |
-
update_option('wbcr_wp_term_' . $term->term_id . '_old_slug', $term->slug, false);
|
167 |
-
$wpdb->update($wpdb->terms, array('slug' => $sanitized_slug), array('term_id' => $term->term_id), array('%s'), array('%d'));
|
168 |
-
}
|
169 |
-
}
|
170 |
-
|
171 |
-
$convert_now = true;
|
172 |
-
}
|
173 |
-
|
174 |
-
?>
|
175 |
-
|
176 |
-
<div class="form-group form-group-checkbox factory-control-convert_now_button">
|
177 |
-
<label for="wbcr_clearfy_convert_now_button" class="col-sm-6 control-label">
|
178 |
-
<span class="factory-hint-icon factory-hint-icon-grey" data-toggle="factory-tooltip" data-placement="right" title="" data-original-title="<?php _e('If at the time of the plugin installation you already had posts, pages, tags and categories, click on this button and the plugin will automatically convert URLs into Latin. Attention! Previously uploaded files will not be converted.', 'cyrlitera') ?>">
|
179 |
-
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAUUlEQVQIHU3BsQ1AQABA0X/komIrnQHYwyhqQ1hBo9KZRKL9CBfeAwy2ri42JA4mPQ9rJ6OVt0BisFM3Po7qbEliru7m/FkY+TN64ZVxEzh4ndrMN7+Z+jXCAAAAAElFTkSuQmCC" alt="">
|
180 |
-
</span>
|
181 |
-
</label>
|
182 |
-
|
183 |
-
<div class="control-group col-sm-6">
|
184 |
-
<div class="factory-checkbox factory-from-control-checkbox factory-buttons-way btn-group">
|
185 |
-
<form method="post">
|
186 |
-
<?php wp_nonce_field($form_name, 'wbcr_cyrlitera_convert_now_nonce'); ?>
|
187 |
-
<input type="submit" name="wbcr_cyrlitera_convert_now_action" value="<?php _e('Convert already created posts and categories', 'cyrlitera') ?>" class="button button-default"/>
|
188 |
-
<?php if( $convert_now ): ?>
|
189 |
-
<div style="color:green;margin-top:5px;"><?php _e('Url of old posts, pages,terms,tags successfully converted into Latin!', 'cyrlitera') ?></div>
|
190 |
-
<?php endif; ?>
|
191 |
-
</form>
|
192 |
-
</div>
|
193 |
-
</div>
|
194 |
-
</div>
|
195 |
-
|
196 |
-
|
197 |
-
<div class="form-group form-group-checkbox factory-control-rollback_button">
|
198 |
-
<label for="wbcr_clearfy_rollback_button" class="col-sm-6 control-label">
|
199 |
-
<span class="factory-hint-icon factory-hint-icon-grey" data-toggle="factory-tooltip" data-placement="right" title="" data-original-title="<?php _e('Allows you to restore converted URLs by using the "Convert already created posts and categories" button. This can be useful in case of incorrect URLs or incorrect transliteration of some characters. You can roll back changes and advance the character sets above to correct the plugin\'s work. ', 'cyrlitera') ?>">
|
200 |
-
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAUUlEQVQIHU3BsQ1AQABA0X/komIrnQHYwyhqQ1hBo9KZRKL9CBfeAwy2ri42JA4mPQ9rJ6OVt0BisFM3Po7qbEliru7m/FkY+TN64ZVxEzh4ndrMN7+Z+jXCAAAAAElFTkSuQmCC" alt="">
|
201 |
-
</span>
|
202 |
-
</label>
|
203 |
-
|
204 |
-
<div class="control-group col-sm-6">
|
205 |
-
<div class="factory-checkbox factory-from-control-checkbox factory-buttons-way btn-group">
|
206 |
-
<form method="post">
|
207 |
-
<?php wp_nonce_field($form_name, 'wbcr_cyrlitera_rollback_nonce'); ?>
|
208 |
-
<input type="submit" name="wbcr_cyrlitera_rollback_action" value="<?php _e('Rollback changes', 'cyrlitera') ?>" class="button button-default"/>
|
209 |
-
<?php if( $rollback ): ?>
|
210 |
-
<div style="color:green;margin-top:5px;"><?php _e('The rollback of new changes was successful!', 'cyrlitera') ?></div>
|
211 |
-
<?php endif; ?>
|
212 |
-
</form>
|
213 |
-
</div>
|
214 |
-
</div>
|
215 |
-
</div>
|
216 |
-
<?php
|
217 |
-
}
|
218 |
-
|
219 |
/**
|
220 |
* @param $form
|
221 |
-
* @param $page
|
222 |
* @return mixed
|
223 |
*/
|
224 |
-
function wbcr_cyrlitera_seo_form_options($form, $page)
|
225 |
{
|
226 |
if( empty($form) ) {
|
227 |
return $form;
|
@@ -236,4 +31,4 @@
|
|
236 |
return $form;
|
237 |
}
|
238 |
|
239 |
-
add_filter('wbcr_clr_seo_form_options', 'wbcr_cyrlitera_seo_form_options', 10, 2)
|
11 |
exit;
|
12 |
}
|
13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
/**
|
15 |
* @param $form
|
16 |
+
* @param $page Wbcr_FactoryPages410_ImpressiveThemplate
|
17 |
* @return mixed
|
18 |
*/
|
19 |
+
/*function wbcr_cyrlitera_seo_form_options($form, $page)
|
20 |
{
|
21 |
if( empty($form) ) {
|
22 |
return $form;
|
31 |
return $form;
|
32 |
}
|
33 |
|
34 |
+
add_filter('wbcr_clr_seo_form_options', 'wbcr_cyrlitera_seo_form_options', 10, 2);*/
|
components/cyrlitera/admin/pages/cyrlitera.php
CHANGED
@@ -11,24 +11,30 @@
|
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
-
class WCTR_CyrliteraPage extends
|
15 |
|
16 |
/**
|
17 |
* The id of the page in the admin menu.
|
18 |
*
|
19 |
* Mainly used to navigate between pages.
|
20 |
-
* @see
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
* @var string
|
24 |
*/
|
25 |
public $id = "transliteration";
|
|
|
26 |
public $page_menu_dashicon = 'dashicons-testimonial';
|
|
|
|
|
|
|
|
|
|
|
27 |
|
28 |
/**
|
29 |
-
* @param
|
30 |
*/
|
31 |
-
public function __construct(
|
32 |
{
|
33 |
$this->menu_title = __('Transliteration', 'cyrlitera');
|
34 |
|
@@ -36,6 +42,7 @@
|
|
36 |
$this->internal = false;
|
37 |
$this->menu_target = 'options-general.php';
|
38 |
$this->add_link_to_plugin_actions = true;
|
|
|
39 |
}
|
40 |
|
41 |
parent::__construct($plugin);
|
@@ -43,42 +50,38 @@
|
|
43 |
$this->plugin = $plugin;
|
44 |
}
|
45 |
|
46 |
-
public function
|
47 |
{
|
48 |
-
return defined('LOADING_CYRLITERA_AS_ADDON')
|
49 |
-
? __('Transliteration', 'cyrlitera')
|
50 |
-
: __('General', 'cyrlitera');
|
51 |
}
|
52 |
|
53 |
/**
|
54 |
-
*
|
55 |
-
*
|
56 |
-
* @see Wbcr_FactoryPages407_AdminPage
|
57 |
-
*
|
58 |
-
* @since 1.0.0
|
59 |
-
* @return void
|
60 |
*/
|
61 |
-
public function
|
62 |
-
{
|
63 |
-
parent::assets($scripts, $styles);
|
64 |
-
|
65 |
-
// Add Clearfy styles for HMWP pages
|
66 |
-
if( defined('WBCR_CLEARFY_PLUGIN_ACTIVE') ) {
|
67 |
-
$this->styles->add(WCL_PLUGIN_URL . '/admin/assets/css/general.css');
|
68 |
-
}
|
69 |
-
}
|
70 |
-
|
71 |
-
/*protected function afterFormSave()
|
72 |
{
|
73 |
-
$use_transliterations = $this->plugin->
|
74 |
-
$transliterate_existing_slugs = $this->plugin->
|
75 |
|
76 |
if( !$use_transliterations || $transliterate_existing_slugs ) {
|
77 |
return;
|
78 |
}
|
|
|
79 |
WCTR_Helper::convertExistingSlugs();
|
80 |
-
|
81 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
82 |
|
83 |
/**
|
84 |
* Permalinks options.
|
@@ -86,9 +89,83 @@
|
|
86 |
* @since 1.0.0
|
87 |
* @return mixed[]
|
88 |
*/
|
89 |
-
public function
|
90 |
{
|
91 |
-
$options =
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
92 |
|
93 |
$formOptions = array();
|
94 |
|
@@ -100,4 +177,91 @@
|
|
100 |
|
101 |
return apply_filters('wbcr_cyrlitera_general_form_options', $formOptions, $this);
|
102 |
}
|
103 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
+
class WCTR_CyrliteraPage extends Wbcr_FactoryClearfy206_PageBase {
|
15 |
|
16 |
/**
|
17 |
* The id of the page in the admin menu.
|
18 |
*
|
19 |
* Mainly used to navigate between pages.
|
20 |
+
* @see FactoryPages410_AdminPage
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
* @var string
|
24 |
*/
|
25 |
public $id = "transliteration";
|
26 |
+
public $page_parent_page = "seo";
|
27 |
public $page_menu_dashicon = 'dashicons-testimonial';
|
28 |
+
/**
|
29 |
+
* Доступена для мультисайтов
|
30 |
+
* @var bool
|
31 |
+
*/
|
32 |
+
public $available_for_multisite = true;
|
33 |
|
34 |
/**
|
35 |
+
* @param Wbcr_Factory409_Plugin $plugin
|
36 |
*/
|
37 |
+
public function __construct(Wbcr_Factory409_Plugin $plugin)
|
38 |
{
|
39 |
$this->menu_title = __('Transliteration', 'cyrlitera');
|
40 |
|
42 |
$this->internal = false;
|
43 |
$this->menu_target = 'options-general.php';
|
44 |
$this->add_link_to_plugin_actions = true;
|
45 |
+
$this->page_parent_page = null;
|
46 |
}
|
47 |
|
48 |
parent::__construct($plugin);
|
50 |
$this->plugin = $plugin;
|
51 |
}
|
52 |
|
53 |
+
public function getPageTitle()
|
54 |
{
|
55 |
+
return defined('LOADING_CYRLITERA_AS_ADDON') ? __('Transliteration', 'cyrlitera') : __('General', 'cyrlitera');
|
|
|
|
|
56 |
}
|
57 |
|
58 |
/**
|
59 |
+
* Этот метод преобразовываем слаги для уже существующих страниц, терминов. Если это преобразование уже было выполнено,
|
60 |
+
* то мы больше незапускаем массовую конвертацию
|
|
|
|
|
|
|
|
|
61 |
*/
|
62 |
+
public function convertExistingSlugs()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
63 |
{
|
64 |
+
$use_transliterations = $this->plugin->getPopulateOption('use_transliteration');
|
65 |
+
$transliterate_existing_slugs = $this->plugin->getPopulateOption('transliterate_existing_slugs');
|
66 |
|
67 |
if( !$use_transliterations || $transliterate_existing_slugs ) {
|
68 |
return;
|
69 |
}
|
70 |
+
|
71 |
WCTR_Helper::convertExistingSlugs();
|
72 |
+
|
73 |
+
$this->plugin->updatePopulateOption('transliterate_existing_slugs', 1);
|
74 |
+
}
|
75 |
+
|
76 |
+
/**
|
77 |
+
* Метод выполняется после сохранения формы настроек. Когда пользователь включает транслитерацию,
|
78 |
+
* метод запускает массовую конвертацию слагов для уже существующих страниц,
|
79 |
+
* терминов. Если это преобразование уже было выполнено, то мы больше незапускаем массовую конвертацию
|
80 |
+
*/
|
81 |
+
protected function afterFormSave()
|
82 |
+
{
|
83 |
+
$this->convertExistingSlugs();
|
84 |
+
}
|
85 |
|
86 |
/**
|
87 |
* Permalinks options.
|
89 |
* @since 1.0.0
|
90 |
* @return mixed[]
|
91 |
*/
|
92 |
+
public function getPageOptions()
|
93 |
{
|
94 |
+
$options[] = array(
|
95 |
+
'type' => 'html',
|
96 |
+
'html' => '<div class="wbcr-factory-page-group-header">' . '<strong>' . __('Transliteration of Cyrillic alphabet.', 'cyrlitera') . '</strong>' . '<p>' . __('Converts Cyrillic permalinks of post, pages, taxonomies and media files to the Latin alphabet. Supports Russian, Ukrainian, Georgian, Bulgarian languages. Example: http://site.dev/последние-новости -> http://site.dev/poslednie-novosti', 'cyrlitera') . '</p>' . '</div>'
|
97 |
+
);
|
98 |
+
|
99 |
+
$options[] = array(
|
100 |
+
'type' => 'checkbox',
|
101 |
+
'way' => 'buttons',
|
102 |
+
'name' => 'use_transliteration',
|
103 |
+
'title' => __('Use transliteration', 'cyrlitera'),
|
104 |
+
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'green'),
|
105 |
+
'hint' => __('If you enable this option, all URLs of new pages, posts, tags, and categories will automatically be converted to Latin.', 'cyrlitera'),
|
106 |
+
'default' => false
|
107 |
+
);
|
108 |
+
$options[] = array(
|
109 |
+
'type' => 'checkbox',
|
110 |
+
'way' => 'buttons',
|
111 |
+
'name' => 'use_transliteration_filename',
|
112 |
+
'title' => __('Convert file names', 'cyrlitera'),
|
113 |
+
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'green'),
|
114 |
+
'hint' => __('This option works only for new media library files. All Cyrillic names of the downloaded files will be converted to names with Latin characters.', 'cyrlitera'),
|
115 |
+
'default' => false
|
116 |
+
);
|
117 |
+
$options[] = array(
|
118 |
+
'type' => 'checkbox',
|
119 |
+
'way' => 'buttons',
|
120 |
+
'name' => 'use_force_transliteration',
|
121 |
+
'title' => __('Force transliteration', 'cyrlitera'),
|
122 |
+
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
|
123 |
+
'hint' => sprintf(__('If any of your plugins affects transliteration of links and file names, you can use this option to change the plugin of %s to overwrite the changes of the other plugins.', 'cyrlitera'), WCTR_Plugin::app()->getPluginTitle()),
|
124 |
+
'default' => false
|
125 |
+
);
|
126 |
+
$options[] = array(
|
127 |
+
'type' => 'checkbox',
|
128 |
+
'way' => 'buttons',
|
129 |
+
'name' => 'filename_to_lowercase',
|
130 |
+
'title' => __('Convert file names into lowercase', 'cyrlitera'),
|
131 |
+
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'green'),
|
132 |
+
'hint' => __('This function works only for new upload files. Example: File_Name.jpg -> file_name.jpg', 'cyrlitera'),
|
133 |
+
'default' => false
|
134 |
+
);
|
135 |
+
|
136 |
+
$options[] = array(
|
137 |
+
'type' => 'checkbox',
|
138 |
+
'way' => 'buttons',
|
139 |
+
'name' => 'redirect_from_old_urls',
|
140 |
+
'title' => __('Redirection old URLs to new ones', 'cyrlitera'),
|
141 |
+
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
|
142 |
+
'hint' => __('If at the time of the plugin installation you had pages with unconverted links, use this option to redirect users from old to new URLs with the Latin alphabet.', 'cyrlitera'),
|
143 |
+
'default' => false
|
144 |
+
);
|
145 |
+
|
146 |
+
$options[] = array(
|
147 |
+
'type' => 'checkbox',
|
148 |
+
'way' => 'buttons',
|
149 |
+
'name' => 'dont_use_transliteration_on_frontend',
|
150 |
+
'title' => __('Don\'t use transliteration in frontend', 'cyrlitera'),
|
151 |
+
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
|
152 |
+
'hint' => __('Enable when have a problem in frontend.', 'cyrlitera'),
|
153 |
+
'default' => false
|
154 |
+
);
|
155 |
+
|
156 |
+
$options[] = array(
|
157 |
+
'type' => 'textarea',
|
158 |
+
'way' => 'buttons',
|
159 |
+
'name' => 'custom_symbols_pack',
|
160 |
+
'title' => __('Character Sets', 'cyrlitera'),
|
161 |
+
'hint' => __('You can supplement current base of transliteration characters. Write pairs of values separated by commas. Example:', 'cyrlitera') . ' <b>Ё=Jo,ё=jo,Ж=Zh,ж=zh</b>'
|
162 |
+
);
|
163 |
+
|
164 |
+
// Произвольный html код
|
165 |
+
$options[] = array(
|
166 |
+
'type' => 'html', // тип элемента формы
|
167 |
+
'html' => array($this, 'rollbackButton')
|
168 |
+
);
|
169 |
|
170 |
$formOptions = array();
|
171 |
|
177 |
|
178 |
return apply_filters('wbcr_cyrlitera_general_form_options', $formOptions, $this);
|
179 |
}
|
180 |
+
|
181 |
+
/**
|
182 |
+
* @param $html_builder Wbcr_FactoryForms410_Html
|
183 |
+
*/
|
184 |
+
public function rollbackButton($html_builder)
|
185 |
+
{
|
186 |
+
$form_name = $html_builder->getFormName();
|
187 |
+
|
188 |
+
$rollback = false;
|
189 |
+
$convert_now = false;
|
190 |
+
|
191 |
+
if( isset($_POST['wbcr_cyrlitera_rollback_action']) ) {
|
192 |
+
check_admin_referer($form_name, 'wbcr_cyrlitera_rollback_nonce');
|
193 |
+
|
194 |
+
if( WCTR_Plugin::app()->isNetworkActive() ) {
|
195 |
+
foreach(WCTR_Plugin::app()->getActiveSites() as $site) {
|
196 |
+
switch_to_blog($site->blog_id);
|
197 |
+
WCTR_Helper::rollbackUrlChanges();
|
198 |
+
restore_current_blog();
|
199 |
+
}
|
200 |
+
} else {
|
201 |
+
WCTR_Helper::rollbackUrlChanges();
|
202 |
+
}
|
203 |
+
|
204 |
+
$rollback = true;
|
205 |
+
}
|
206 |
+
|
207 |
+
if( isset($_POST['wbcr_cyrlitera_convert_now_action']) ) {
|
208 |
+
check_admin_referer($form_name, 'wbcr_cyrlitera_convert_now_nonce');
|
209 |
+
|
210 |
+
if( WCTR_Plugin::app()->isNetworkActive() ) {
|
211 |
+
foreach(WCTR_Plugin::app()->getActiveSites() as $site) {
|
212 |
+
switch_to_blog($site->blog_id);
|
213 |
+
WCTR_Helper::convertExistingSlugs();
|
214 |
+
restore_current_blog();
|
215 |
+
}
|
216 |
+
} else {
|
217 |
+
WCTR_Helper::convertExistingSlugs();
|
218 |
+
}
|
219 |
+
|
220 |
+
$convert_now = true;
|
221 |
+
}
|
222 |
+
|
223 |
+
?>
|
224 |
+
|
225 |
+
<div class="form-group form-group-checkbox factory-control-convert_now_button">
|
226 |
+
<label for="wbcr_clearfy_convert_now_button" class="col-sm-4 control-label">
|
227 |
+
<span class="factory-hint-icon factory-hint-icon-grey" data-toggle="factory-tooltip" data-placement="right" title="" data-original-title="<?php _e('If at the time of the plugin installation you already had posts, pages, tags and categories, click on this button and the plugin will automatically convert URLs into Latin. Attention! Previously uploaded files will not be converted.', 'cyrlitera') ?>">
|
228 |
+
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAUUlEQVQIHU3BsQ1AQABA0X/komIrnQHYwyhqQ1hBo9KZRKL9CBfeAwy2ri42JA4mPQ9rJ6OVt0BisFM3Po7qbEliru7m/FkY+TN64ZVxEzh4ndrMN7+Z+jXCAAAAAElFTkSuQmCC" alt="">
|
229 |
+
</span>
|
230 |
+
</label>
|
231 |
+
|
232 |
+
<div class="control-group col-sm-8">
|
233 |
+
<div class="factory-checkbox factory-from-control-checkbox factory-buttons-way btn-group">
|
234 |
+
<form method="post">
|
235 |
+
<?php wp_nonce_field($form_name, 'wbcr_cyrlitera_convert_now_nonce'); ?>
|
236 |
+
<input type="submit" name="wbcr_cyrlitera_convert_now_action" value="<?php _e('Convert already created posts and categories', 'cyrlitera') ?>" class="button button-default"/>
|
237 |
+
<?php if( $convert_now ): ?>
|
238 |
+
<div style="color:green;margin-top:5px;"><?php _e('Url of old posts, pages,terms,tags successfully converted into Latin!', 'cyrlitera') ?></div>
|
239 |
+
<?php endif; ?>
|
240 |
+
</form>
|
241 |
+
</div>
|
242 |
+
</div>
|
243 |
+
</div>
|
244 |
+
|
245 |
+
|
246 |
+
<div class="form-group form-group-checkbox factory-control-rollback_button">
|
247 |
+
<label for="wbcr_clearfy_rollback_button" class="col-sm-4 control-label">
|
248 |
+
<span class="factory-hint-icon factory-hint-icon-grey" data-toggle="factory-tooltip" data-placement="right" title="" data-original-title="<?php _e('Allows you to restore converted URLs by using the "Convert already created posts and categories" button. This can be useful in case of incorrect URLs or incorrect transliteration of some characters. You can roll back changes and advance the character sets above to correct the plugin\'s work. ', 'cyrlitera') ?>">
|
249 |
+
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAUUlEQVQIHU3BsQ1AQABA0X/komIrnQHYwyhqQ1hBo9KZRKL9CBfeAwy2ri42JA4mPQ9rJ6OVt0BisFM3Po7qbEliru7m/FkY+TN64ZVxEzh4ndrMN7+Z+jXCAAAAAElFTkSuQmCC" alt="">
|
250 |
+
</span>
|
251 |
+
</label>
|
252 |
+
|
253 |
+
<div class="control-group col-sm-8">
|
254 |
+
<div class="factory-checkbox factory-from-control-checkbox factory-buttons-way btn-group">
|
255 |
+
<form method="post">
|
256 |
+
<?php wp_nonce_field($form_name, 'wbcr_cyrlitera_rollback_nonce'); ?>
|
257 |
+
<input type="submit" name="wbcr_cyrlitera_rollback_action" value="<?php _e('Rollback changes', 'cyrlitera') ?>" class="button button-default"/>
|
258 |
+
<?php if( $rollback ): ?>
|
259 |
+
<div style="color:green;margin-top:5px;"><?php _e('The rollback of new changes was successful!', 'cyrlitera') ?></div>
|
260 |
+
<?php endif; ?>
|
261 |
+
</form>
|
262 |
+
</div>
|
263 |
+
</div>
|
264 |
+
</div>
|
265 |
+
<?php
|
266 |
+
}
|
267 |
+
}
|
components/cyrlitera/admin/pages/more-features.php
CHANGED
@@ -11,6 +11,6 @@
|
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
-
class WCTR_MoreFeaturesPage extends
|
15 |
|
16 |
}
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
+
class WCTR_MoreFeaturesPage extends Wbcr_FactoryClearfy206_MoreFeaturesPage {
|
15 |
|
16 |
}
|
components/cyrlitera/cyrlitera.php
CHANGED
@@ -4,10 +4,11 @@
|
|
4 |
* Plugin URI: https://wordpress.org/plugins/cyrlitera/
|
5 |
* Description: The plugin converts Cyrillic, Georgian links, filenames into Latin. It is necessary for correct work of WordPress plugins and improve links readability.
|
6 |
* Author: Webcraftic <wordpress.webraftic@gmail.com>
|
7 |
-
* Version: 1.0.
|
8 |
* Text Domain: cyrlitera
|
9 |
* Domain Path: /languages/
|
10 |
* Author URI: http://clearfy.pro
|
|
|
11 |
*/
|
12 |
|
13 |
// Exit if accessed directly
|
@@ -15,46 +16,59 @@
|
|
15 |
exit;
|
16 |
}
|
17 |
|
18 |
-
|
19 |
-
function wbcr_cyrlitera_admin_notice_error()
|
20 |
-
{
|
21 |
-
?>
|
22 |
-
<div class="notice notice-error">
|
23 |
-
<p><?php _e('We found that you have the "Clearfy - disable unused features" plugin installed, this plugin already has disable comments functions, so you can deactivate plugin "Webcraftic Cyrlitera"!', 'cyrlitera'); ?></p>
|
24 |
-
</div>
|
25 |
-
<?php
|
26 |
-
}
|
27 |
|
28 |
-
|
|
|
|
|
29 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
return;
|
31 |
-
}
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
require_once(WCTR_PLUGIN_DIR . '/includes/class.plugin.php');
|
46 |
-
|
47 |
-
if( !defined('LOADING_CYRLITERA_AS_ADDON') ) {
|
48 |
-
|
49 |
-
new WCTR_Plugin(__FILE__, array(
|
50 |
-
'prefix' => 'wbcr_cyrlitera_',
|
51 |
-
'plugin_name' => 'wbcr_cyrlitera',
|
52 |
-
'plugin_title' => __('Webcraftic Cyrlitera', 'cyrlitera'),
|
53 |
-
'plugin_version' => '1.0.5',
|
54 |
-
'required_php_version' => '5.2',
|
55 |
-
'required_wp_version' => '4.2',
|
56 |
-
'plugin_build' => 'free',
|
57 |
-
'updates' => WCTR_PLUGIN_DIR . '/updates/'
|
58 |
-
));
|
59 |
-
}
|
60 |
-
}
|
4 |
* Plugin URI: https://wordpress.org/plugins/cyrlitera/
|
5 |
* Description: The plugin converts Cyrillic, Georgian links, filenames into Latin. It is necessary for correct work of WordPress plugins and improve links readability.
|
6 |
* Author: Webcraftic <wordpress.webraftic@gmail.com>
|
7 |
+
* Version: 1.0.6
|
8 |
* Text Domain: cyrlitera
|
9 |
* Domain Path: /languages/
|
10 |
* Author URI: http://clearfy.pro
|
11 |
+
* Framework Version: FACTORY_409_VERSION
|
12 |
*/
|
13 |
|
14 |
// Exit if accessed directly
|
16 |
exit;
|
17 |
}
|
18 |
|
19 |
+
define('WCTR_PLUGIN_VERSION', '1.0.6');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
|
21 |
+
define('WCTR_PLUGIN_DIR', dirname(__FILE__));
|
22 |
+
define('WCTR_PLUGIN_BASE', plugin_basename(__FILE__));
|
23 |
+
define('WCTR_PLUGIN_URL', plugins_url(null, __FILE__));
|
24 |
|
25 |
+
|
26 |
+
|
27 |
+
if( !defined('LOADING_CYRLITERA_AS_ADDON') ) {
|
28 |
+
require_once(WCTR_PLUGIN_DIR . '/libs/factory/core/includes/check-compatibility.php');
|
29 |
+
require_once(WCTR_PLUGIN_DIR . '/libs/factory/clearfy/includes/check-clearfy-compatibility.php');
|
30 |
+
}
|
31 |
+
|
32 |
+
$plugin_info = array(
|
33 |
+
'prefix' => 'wbcr_cyrlitera_',
|
34 |
+
'plugin_name' => 'wbcr_cyrlitera',
|
35 |
+
'plugin_title' => __('Webcraftic Cyrlitera', 'cyrlitera'),
|
36 |
+
'plugin_version' => WCTR_PLUGIN_VERSION,
|
37 |
+
'plugin_build' => 'free',
|
38 |
+
'updates' => WCTR_PLUGIN_DIR . '/updates/'
|
39 |
+
);
|
40 |
+
|
41 |
+
/**
|
42 |
+
* Проверяет совместимость с Wordpress, php и другими плагинами.
|
43 |
+
*/
|
44 |
+
$compatibility = new Wbcr_FactoryClearfy_Compatibility(array_merge($plugin_info, array(
|
45 |
+
'plugin_already_activate' => defined('WCTR_PLUGIN_ACTIVE'),
|
46 |
+
'plugin_as_component' => defined('LOADING_CYRLITERA_AS_ADDON'),
|
47 |
+
'plugin_dir' => WCTR_PLUGIN_DIR,
|
48 |
+
'plugin_base' => WCTR_PLUGIN_BASE,
|
49 |
+
'plugin_url' => WCTR_PLUGIN_URL,
|
50 |
+
'required_php_version' => '5.3',
|
51 |
+
'required_wp_version' => '4.2.0',
|
52 |
+
'required_clearfy_check_component' => true
|
53 |
+
)));
|
54 |
+
|
55 |
+
/**
|
56 |
+
* Если плагин совместим, то он продолжит свою работу, иначе будет остановлен,
|
57 |
+
* а пользователь получит предупреждение.
|
58 |
+
*/
|
59 |
+
if( !$compatibility->check() ) {
|
60 |
return;
|
61 |
+
}
|
62 |
+
|
63 |
+
define('WCTR_PLUGIN_ACTIVE', true);
|
64 |
+
|
65 |
+
if( !defined('LOADING_CYRLITERA_AS_ADDON') ) {
|
66 |
+
require_once(WCTR_PLUGIN_DIR . '/libs/factory/core/boot.php');
|
67 |
+
}
|
68 |
+
|
69 |
+
require_once(WCTR_PLUGIN_DIR . '/includes/class.helpers.php');
|
70 |
+
require_once(WCTR_PLUGIN_DIR . '/includes/class.plugin.php');
|
71 |
+
|
72 |
+
if( !defined('LOADING_CYRLITERA_AS_ADDON') ) {
|
73 |
+
new WCTR_Plugin(__FILE__, $plugin_info);
|
74 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
components/cyrlitera/includes/class.helpers.php
CHANGED
@@ -19,6 +19,7 @@
|
|
19 |
$origin_title = $title;
|
20 |
$iso9_table = self::getSymbolsPack();
|
21 |
|
|
|
22 |
$title = strtr($title, $iso9_table);
|
23 |
|
24 |
if( function_exists('iconv') ) {
|
@@ -54,9 +55,7 @@
|
|
54 |
}
|
55 |
}
|
56 |
|
57 |
-
$term = $is_term
|
58 |
-
? $wpdb->get_var($wpdb->prepare("SELECT slug FROM {$wpdb->terms} WHERE name = '%s'", $title))
|
59 |
-
: '';
|
60 |
|
61 |
if( empty($term) ) {
|
62 |
$title = self::transliterate($title);
|
@@ -226,7 +225,7 @@
|
|
226 |
);
|
227 |
}
|
228 |
|
229 |
-
$custom_rules = WCTR_Plugin::app()->
|
230 |
|
231 |
if( !empty($custom_rules) ) {
|
232 |
$split_rules = explode(',', $custom_rules);
|
@@ -241,17 +240,77 @@
|
|
241 |
}
|
242 |
|
243 |
$ret[$split_symbols[0]] = $split_symbols[1];
|
244 |
-
|
245 |
-
//todo: don't support php 7.2
|
246 |
-
/*if( strlen($split_symbols[1]) > 0 ) {
|
247 |
-
$ret[mb_strtoupper($split_symbols[0], 'UTF-8')] = mb_strtoupper($split_symbols[1]{0}, 'UTF-8') . substr($split_symbols[1], 1);
|
248 |
-
} else {
|
249 |
-
$ret[mb_strtoupper($split_symbols[0], 'UTF-8')] = $split_symbols[1];
|
250 |
-
}*/
|
251 |
}
|
252 |
}
|
253 |
}
|
254 |
|
255 |
return apply_filters('wbcr_cyrlitera_default_symbols_pack', $ret);
|
256 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
257 |
}
|
19 |
$origin_title = $title;
|
20 |
$iso9_table = self::getSymbolsPack();
|
21 |
|
22 |
+
$title = urldecode($title);
|
23 |
$title = strtr($title, $iso9_table);
|
24 |
|
25 |
if( function_exists('iconv') ) {
|
55 |
}
|
56 |
}
|
57 |
|
58 |
+
$term = $is_term ? $wpdb->get_var($wpdb->prepare("SELECT slug FROM {$wpdb->terms} WHERE name = '%s'", $title)) : '';
|
|
|
|
|
59 |
|
60 |
if( empty($term) ) {
|
61 |
$title = self::transliterate($title);
|
225 |
);
|
226 |
}
|
227 |
|
228 |
+
$custom_rules = WCTR_Plugin::app()->getPopulateOption('custom_symbols_pack');
|
229 |
|
230 |
if( !empty($custom_rules) ) {
|
231 |
$split_rules = explode(',', $custom_rules);
|
240 |
}
|
241 |
|
242 |
$ret[$split_symbols[0]] = $split_symbols[1];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
243 |
}
|
244 |
}
|
245 |
}
|
246 |
|
247 |
return apply_filters('wbcr_cyrlitera_default_symbols_pack', $ret);
|
248 |
}
|
249 |
+
|
250 |
+
/**
|
251 |
+
* Делает откат изменений после выполнения метода convertExistingSlugs,
|
252 |
+
* этот метод не восстановливает вновь конвертированные слаги.
|
253 |
+
*/
|
254 |
+
public static function rollbackUrlChanges()
|
255 |
+
{
|
256 |
+
global $wpdb;
|
257 |
+
|
258 |
+
$posts = $wpdb->get_results("SELECT p.ID, p.post_name, m.meta_value as old_post_name FROM {$wpdb->posts} p
|
259 |
+
LEFT JOIN {$wpdb->postmeta} m
|
260 |
+
ON p.ID = m.post_id
|
261 |
+
WHERE p.post_status
|
262 |
+
IN ('publish', 'future', 'private') AND m.meta_key='wbcr_wp_old_slug' AND m.meta_value IS NOT NULL");
|
263 |
+
|
264 |
+
foreach((array)$posts as $post) {
|
265 |
+
if( $post->post_name != $post->old_post_name ) {
|
266 |
+
$wpdb->update($wpdb->posts, array('post_name' => $post->old_post_name), array('ID' => $post->ID), array('%s'), array('%d'));
|
267 |
+
delete_post_meta($post->ID, 'wbcr_wp_old_slug');
|
268 |
+
}
|
269 |
+
}
|
270 |
+
|
271 |
+
$terms = $wpdb->get_results("SELECT t.term_id, t.slug, o.option_value as old_term_slug FROM {$wpdb->terms} t
|
272 |
+
LEFT JOIN {$wpdb->options} o
|
273 |
+
ON o.option_name=concat('wbcr_wp_term_',t.term_id, '_old_slug')
|
274 |
+
WHERE o.option_value IS NOT NULL");
|
275 |
+
|
276 |
+
foreach((array)$terms as $term) {
|
277 |
+
if( $term->slug != $term->old_term_slug ) {
|
278 |
+
$wpdb->update($wpdb->terms, array('slug' => $term->old_term_slug), array('term_id' => $term->term_id), array('%s'), array('%d'));
|
279 |
+
delete_option('wbcr_wp_term_' . $term->term_id . '_old_slug');
|
280 |
+
}
|
281 |
+
}
|
282 |
+
}
|
283 |
+
|
284 |
+
/**
|
285 |
+
* Массово конвертирует слаги для страниц, записей, терминов и т.д.
|
286 |
+
* Делает бекап старого слага, чтобы можно было восстановить его. А также использовать в других плагинах.
|
287 |
+
*/
|
288 |
+
public static function convertExistingSlugs()
|
289 |
+
{
|
290 |
+
global $wpdb;
|
291 |
+
|
292 |
+
$posts = $wpdb->get_results("SELECT ID, post_name FROM {$wpdb->posts}
|
293 |
+
WHERE post_name REGEXP('[^_A-Za-z0-9\-]+') AND post_status IN ('publish', 'future', 'private')");
|
294 |
+
|
295 |
+
foreach((array)$posts as $post) {
|
296 |
+
$sanitized_name = WCTR_Helper::sanitizeTitle(urldecode($post->post_name));
|
297 |
+
|
298 |
+
if( $post->post_name != $sanitized_name ) {
|
299 |
+
add_post_meta($post->ID, 'wbcr_wp_old_slug', $post->post_name);
|
300 |
+
|
301 |
+
$wpdb->update($wpdb->posts, array('post_name' => $sanitized_name), array('ID' => $post->ID), array('%s'), array('%d'));
|
302 |
+
}
|
303 |
+
}
|
304 |
+
|
305 |
+
$terms = $wpdb->get_results("SELECT term_id, slug FROM {$wpdb->terms} WHERE slug REGEXP('[^_A-Za-z0-9\-]+')");
|
306 |
+
|
307 |
+
foreach((array)$terms as $term) {
|
308 |
+
$sanitized_slug = WCTR_Helper::sanitizeTitle(urldecode($term->slug));
|
309 |
+
|
310 |
+
if( $term->slug != $sanitized_slug ) {
|
311 |
+
update_option('wbcr_wp_term_' . $term->term_id . '_old_slug', $term->slug, false);
|
312 |
+
$wpdb->update($wpdb->terms, array('slug' => $sanitized_slug), array('term_id' => $term->term_id), array('%s'), array('%d'));
|
313 |
+
}
|
314 |
+
}
|
315 |
+
}
|
316 |
}
|
components/cyrlitera/includes/class.plugin.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Transliteration core class
|
4 |
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
5 |
* @copyright (c) 19.02.2018, Webcraftic
|
6 |
-
* @version 1.
|
7 |
*/
|
8 |
|
9 |
// Exit if accessed directly
|
@@ -19,7 +19,7 @@
|
|
19 |
|
20 |
}
|
21 |
} else {
|
22 |
-
class WCTR_PluginFactory extends
|
23 |
|
24 |
}
|
25 |
}
|
@@ -28,7 +28,7 @@
|
|
28 |
class WCTR_Plugin extends WCTR_PluginFactory {
|
29 |
|
30 |
/**
|
31 |
-
* @var
|
32 |
*/
|
33 |
private static $app;
|
34 |
|
@@ -47,11 +47,9 @@
|
|
47 |
$this->as_addon = isset($data['as_addon']);
|
48 |
|
49 |
if( $this->as_addon ) {
|
50 |
-
$plugin_parent = isset($data['plugin_parent'])
|
51 |
-
? $data['plugin_parent']
|
52 |
-
: null;
|
53 |
|
54 |
-
if( !($plugin_parent instanceof
|
55 |
throw new Exception('An invalid instance of the class was passed.');
|
56 |
}
|
57 |
|
@@ -64,7 +62,6 @@
|
|
64 |
parent::__construct($plugin_path, $data);
|
65 |
}
|
66 |
|
67 |
-
$this->setTextDomain();
|
68 |
$this->setModules();
|
69 |
|
70 |
$this->globalScripts();
|
@@ -72,42 +69,32 @@
|
|
72 |
if( is_admin() ) {
|
73 |
$this->adminScripts();
|
74 |
}
|
|
|
|
|
75 |
}
|
76 |
|
77 |
/**
|
78 |
-
* @return
|
79 |
*/
|
80 |
public static function app()
|
81 |
{
|
82 |
return self::$app;
|
83 |
}
|
84 |
|
85 |
-
|
86 |
-
protected function setTextDomain()
|
87 |
{
|
88 |
-
|
89 |
-
//load_plugin_textdomain('cyrlitera', false, dirname(WCL_PLUGIN_BASE) . '/languages/');
|
90 |
-
|
91 |
-
$domain = 'cyrlitera';
|
92 |
-
$locale = apply_filters('plugin_locale', is_admin()
|
93 |
-
? get_user_locale()
|
94 |
-
: get_locale(), $domain);
|
95 |
-
$mofile = $domain . '-' . $locale . '.mo';
|
96 |
-
|
97 |
-
if( !load_textdomain($domain, WCTR_PLUGIN_DIR . '/languages/' . $mofile) ) {
|
98 |
-
load_muplugin_textdomain($domain);
|
99 |
-
}
|
100 |
}
|
101 |
-
|
102 |
protected function setModules()
|
103 |
{
|
104 |
if( !$this->as_addon ) {
|
105 |
self::app()->load(array(
|
106 |
-
array('libs/factory/bootstrap', '
|
107 |
-
array('libs/factory/forms', '
|
108 |
-
array('libs/factory/pages', '
|
109 |
-
array('libs/factory/clearfy', '
|
110 |
-
array('libs/factory/notices', '
|
111 |
));
|
112 |
}
|
113 |
}
|
@@ -122,12 +109,11 @@
|
|
122 |
|
123 |
private function registerPages()
|
124 |
{
|
125 |
-
if( $this->as_addon ) {
|
126 |
-
return;
|
127 |
-
}
|
128 |
-
|
129 |
self::app()->registerPage('WCTR_CyrliteraPage', WCTR_PLUGIN_DIR . '/admin/pages/cyrlitera.php');
|
130 |
-
|
|
|
|
|
|
|
131 |
}
|
132 |
|
133 |
private function adminScripts()
|
@@ -145,4 +131,4 @@
|
|
145 |
new WCTR_ConfigСyrlitera(self::$app);
|
146 |
}
|
147 |
}
|
148 |
-
}
|
3 |
* Transliteration core class
|
4 |
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
5 |
* @copyright (c) 19.02.2018, Webcraftic
|
6 |
+
* @version 1.1
|
7 |
*/
|
8 |
|
9 |
// Exit if accessed directly
|
19 |
|
20 |
}
|
21 |
} else {
|
22 |
+
class WCTR_PluginFactory extends Wbcr_Factory409_Plugin {
|
23 |
|
24 |
}
|
25 |
}
|
28 |
class WCTR_Plugin extends WCTR_PluginFactory {
|
29 |
|
30 |
/**
|
31 |
+
* @var Wbcr_Factory409_Plugin
|
32 |
*/
|
33 |
private static $app;
|
34 |
|
47 |
$this->as_addon = isset($data['as_addon']);
|
48 |
|
49 |
if( $this->as_addon ) {
|
50 |
+
$plugin_parent = isset($data['plugin_parent']) ? $data['plugin_parent'] : null;
|
|
|
|
|
51 |
|
52 |
+
if( !($plugin_parent instanceof Wbcr_Factory409_Plugin) ) {
|
53 |
throw new Exception('An invalid instance of the class was passed.');
|
54 |
}
|
55 |
|
62 |
parent::__construct($plugin_path, $data);
|
63 |
}
|
64 |
|
|
|
65 |
$this->setModules();
|
66 |
|
67 |
$this->globalScripts();
|
69 |
if( is_admin() ) {
|
70 |
$this->adminScripts();
|
71 |
}
|
72 |
+
|
73 |
+
add_action('plugins_loaded', array($this, 'pluginsLoaded'));
|
74 |
}
|
75 |
|
76 |
/**
|
77 |
+
* @return Wbcr_Factory409_Plugin
|
78 |
*/
|
79 |
public static function app()
|
80 |
{
|
81 |
return self::$app;
|
82 |
}
|
83 |
|
84 |
+
public function pluginsLoaded()
|
|
|
85 |
{
|
86 |
+
self::app()->setTextDomain('cyrlitera', WCTR_PLUGIN_DIR);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
87 |
}
|
88 |
+
|
89 |
protected function setModules()
|
90 |
{
|
91 |
if( !$this->as_addon ) {
|
92 |
self::app()->load(array(
|
93 |
+
array('libs/factory/bootstrap', 'factory_bootstrap_409', 'admin'),
|
94 |
+
array('libs/factory/forms', 'factory_forms_410', 'admin'),
|
95 |
+
array('libs/factory/pages', 'factory_pages_410', 'admin'),
|
96 |
+
array('libs/factory/clearfy', 'factory_clearfy_206', 'all'),
|
97 |
+
array('libs/factory/notices', 'factory_notices_407', 'admin')
|
98 |
));
|
99 |
}
|
100 |
}
|
109 |
|
110 |
private function registerPages()
|
111 |
{
|
|
|
|
|
|
|
|
|
112 |
self::app()->registerPage('WCTR_CyrliteraPage', WCTR_PLUGIN_DIR . '/admin/pages/cyrlitera.php');
|
113 |
+
|
114 |
+
if( !$this->as_addon ) {
|
115 |
+
self::app()->registerPage('WCTR_MoreFeaturesPage', WCTR_PLUGIN_DIR . '/admin/pages/more-features.php');
|
116 |
+
}
|
117 |
}
|
118 |
|
119 |
private function adminScripts()
|
131 |
new WCTR_ConfigСyrlitera(self::$app);
|
132 |
}
|
133 |
}
|
134 |
+
}
|
components/cyrlitera/includes/classes/class.configurate-cyrlitera.php
CHANGED
@@ -11,20 +11,21 @@
|
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
-
|
|
|
15 |
|
16 |
public function registerActionsAndFilters()
|
17 |
{
|
18 |
-
if( is_admin() || !$this->
|
19 |
-
if( $this->
|
20 |
-
if( !$this->
|
21 |
add_filter('sanitize_title', 'WCTR_Helper::sanitizeTitle', 0);
|
22 |
} else {
|
23 |
add_filter('sanitize_title', array($this, 'forceSanitizeTitle'), 99, 2);
|
24 |
}
|
25 |
}
|
26 |
-
if( $this->
|
27 |
-
if( !$this->
|
28 |
add_filter('sanitize_file_name', array($this, 'sanitizeFileName'), 9);
|
29 |
} else {
|
30 |
add_filter('sanitize_file_name', array($this, 'forceSanitizeFileName'), 99, 2);
|
@@ -33,9 +34,7 @@
|
|
33 |
}
|
34 |
|
35 |
if( !is_admin() ) {
|
36 |
-
add_action('wp', array($this, 'redirectFromOldUrls'), $this->wpForoIsActivated()
|
37 |
-
? 11
|
38 |
-
: 10);
|
39 |
}
|
40 |
}
|
41 |
|
@@ -62,7 +61,7 @@
|
|
62 |
|
63 |
$filename = WCTR_Helper::transliterate($filename);
|
64 |
|
65 |
-
if( $this->
|
66 |
$filename = strtolower($filename);
|
67 |
}
|
68 |
|
@@ -138,7 +137,7 @@
|
|
138 |
if( count($parts) <= 2 ) {
|
139 |
$filename = WCTR_Helper::transliterate($filename);
|
140 |
|
141 |
-
if( $this->
|
142 |
$filename = strtolower($filename);
|
143 |
}
|
144 |
|
@@ -175,7 +174,7 @@
|
|
175 |
|
176 |
$filename = WCTR_Helper::transliterate($filename);
|
177 |
|
178 |
-
if( $this->
|
179 |
$filename = strtolower($filename);
|
180 |
}
|
181 |
|
@@ -201,7 +200,7 @@
|
|
201 |
*/
|
202 |
public function redirectFromOldUrls()
|
203 |
{
|
204 |
-
if( !
|
205 |
return;
|
206 |
}
|
207 |
$is404 = is_404();
|
@@ -214,7 +213,7 @@
|
|
214 |
}
|
215 |
|
216 |
if( $is404 ) {
|
217 |
-
if( $this->
|
218 |
$current_url = urldecode($_SERVER['REQUEST_URI']);
|
219 |
$new_url = WCTR_Helper::transliterate($current_url, true);
|
220 |
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
+
|
15 |
+
class WCTR_ConfigСyrlitera extends Wbcr_FactoryClearfy206_Configurate {
|
16 |
|
17 |
public function registerActionsAndFilters()
|
18 |
{
|
19 |
+
if( is_admin() || !$this->getPopulateOption('dont_use_transliteration_on_frontend') ) {
|
20 |
+
if( $this->getPopulateOption('use_transliteration') ) {
|
21 |
+
if( !$this->getPopulateOption('use_force_transliteration') ) {
|
22 |
add_filter('sanitize_title', 'WCTR_Helper::sanitizeTitle', 0);
|
23 |
} else {
|
24 |
add_filter('sanitize_title', array($this, 'forceSanitizeTitle'), 99, 2);
|
25 |
}
|
26 |
}
|
27 |
+
if( $this->getPopulateOption('use_transliteration_filename') ) {
|
28 |
+
if( !$this->getPopulateOption('use_force_transliteration') ) {
|
29 |
add_filter('sanitize_file_name', array($this, 'sanitizeFileName'), 9);
|
30 |
} else {
|
31 |
add_filter('sanitize_file_name', array($this, 'forceSanitizeFileName'), 99, 2);
|
34 |
}
|
35 |
|
36 |
if( !is_admin() ) {
|
37 |
+
add_action('wp', array($this, 'redirectFromOldUrls'), $this->wpForoIsActivated() ? 11 : 10);
|
|
|
|
|
38 |
}
|
39 |
}
|
40 |
|
61 |
|
62 |
$filename = WCTR_Helper::transliterate($filename);
|
63 |
|
64 |
+
if( $this->getPopulateOption('filename_to_lowercase') ) {
|
65 |
$filename = strtolower($filename);
|
66 |
}
|
67 |
|
137 |
if( count($parts) <= 2 ) {
|
138 |
$filename = WCTR_Helper::transliterate($filename);
|
139 |
|
140 |
+
if( $this->getPopulateOption('filename_to_lowercase') ) {
|
141 |
$filename = strtolower($filename);
|
142 |
}
|
143 |
|
174 |
|
175 |
$filename = WCTR_Helper::transliterate($filename);
|
176 |
|
177 |
+
if( $this->getPopulateOption('filename_to_lowercase') ) {
|
178 |
$filename = strtolower($filename);
|
179 |
}
|
180 |
|
200 |
*/
|
201 |
public function redirectFromOldUrls()
|
202 |
{
|
203 |
+
if( !WbcrFactoryClearfy206_Helpers::isPermalink() ) {
|
204 |
return;
|
205 |
}
|
206 |
$is404 = is_404();
|
213 |
}
|
214 |
|
215 |
if( $is404 ) {
|
216 |
+
if( $this->getPopulateOption('redirect_from_old_urls') ) {
|
217 |
$current_url = urldecode($_SERVER['REQUEST_URI']);
|
218 |
$new_url = WCTR_Helper::transliterate($current_url, true);
|
219 |
|
components/cyrlitera/languages/cyrlitera-nl_BE.po
CHANGED
@@ -1,208 +1,208 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: Clearfy\n"
|
4 |
-
"POT-Creation-Date: 2018-09-06 18:29+0300\n"
|
5 |
-
"PO-Revision-Date: \n"
|
6 |
-
"Last-Translator: \n"
|
7 |
-
"Language-Team: \n"
|
8 |
-
"Language: nl_BE\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"X-Generator: Poedit 2.1.1\n"
|
13 |
-
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
14 |
-
"X-Generator: Poedit 2.1.1\n"
|
15 |
-
"X-Poedit-Basepath: ..\n"
|
16 |
-
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
17 |
-
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
18 |
-
"X-Poedit-SourceCharset: UTF-8\n"
|
19 |
-
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
20 |
-
"X-Poedit-SearchPath-0: .\n"
|
21 |
-
"X-Poedit-SearchPathExcluded-0: libs\n"
|
22 |
-
"X-Poedit-SearchPathExcluded-1: components\n"
|
23 |
-
"X-Poedit-SearchPathExcluded-2: cache\n"
|
24 |
-
|
25 |
-
#: admin/boot.php:56
|
26 |
-
#, php-format
|
27 |
-
msgid ""
|
28 |
-
"We found that you have the plugin %s installed. The functions of this plugin "
|
29 |
-
"already exist in %s. Please deactivate plugin %s to avoid conflicts between "
|
30 |
-
"plugins functions."
|
31 |
-
msgstr ""
|
32 |
-
|
33 |
-
#: admin/boot.php:57
|
34 |
-
#, php-format
|
35 |
-
msgid ""
|
36 |
-
"If you do not want to deactivate the plugin %s for some reason, we strongly "
|
37 |
-
"recommend do not use the same plugins functions at the same time!"
|
38 |
-
msgstr ""
|
39 |
-
"Als u de plugin %s om eender welke reden niet wilt deactiveren, raden wij u "
|
40 |
-
"ten zeerste aan om niet dezelfde plugin functies tegelijkertijd te gebruiken!"
|
41 |
-
|
42 |
-
#: admin/boot.php:117 admin/options.php:30
|
43 |
-
msgid "Use transliteration"
|
44 |
-
msgstr "Gebruik transliteratie"
|
45 |
-
|
46 |
-
#: admin/boot.php:123 admin/options.php:48
|
47 |
-
msgid "Force transliteration"
|
48 |
-
msgstr "Forceer transliteratie"
|
49 |
-
|
50 |
-
#: admin/boot.php:129 admin/options.php:78
|
51 |
-
msgid "Don't use transliteration in frontend"
|
52 |
-
msgstr ""
|
53 |
-
|
54 |
-
#: admin/boot.php:135 admin/options.php:39
|
55 |
-
msgid "Convert file names"
|
56 |
-
msgstr "Bestandsnamen converteren"
|
57 |
-
|
58 |
-
#: admin/boot.php:141 admin/options.php:58
|
59 |
-
msgid "Convert file names into lowercase"
|
60 |
-
msgstr "Bestandsnamen converteren naar kleine letters"
|
61 |
-
|
62 |
-
#: admin/boot.php:147 admin/options.php:68
|
63 |
-
msgid "Redirection old URLs to new ones"
|
64 |
-
msgstr "Redirect oude URL's naar nieuwe"
|
65 |
-
|
66 |
-
#: admin/boot.php:153 admin/options.php:88
|
67 |
-
msgid "Character Sets"
|
68 |
-
msgstr "Tekensets"
|
69 |
-
|
70 |
-
#: admin/boot.php:174
|
71 |
-
msgid "Get ultimate plugin free"
|
72 |
-
msgstr "Krijg ultieme plugin gratis"
|
73 |
-
|
74 |
-
#: admin/options.php:23
|
75 |
-
msgid "Transliteration of Cyrillic alphabet."
|
76 |
-
msgstr "Transliteratie van Cyrillische alfabet."
|
77 |
-
|
78 |
-
#: admin/options.php:23
|
79 |
-
msgid ""
|
80 |
-
"Converts Cyrillic permalinks of post, pages, taxonomies and media files to the "
|
81 |
-
"Latin alphabet. Supports Russian, Ukrainian, Georgian, Bulgarian languages. "
|
82 |
-
"Example: http://site.dev/последние-новости -> http://site.dev/poslednie-novosti"
|
83 |
-
msgstr ""
|
84 |
-
"Converteert Cyrillische permalinks van post, pagina's, taxonomieën en "
|
85 |
-
"mediabestanden naar het Latijnse alfabet. Ondersteunt Russische, Oekraïense, "
|
86 |
-
"Georgische, Bulgaarse talen. Voorbeeld: http://site.dev/последнивости -> "
|
87 |
-
"http://site.dev/poslednie-novosti"
|
88 |
-
|
89 |
-
#: admin/options.php:32
|
90 |
-
msgid ""
|
91 |
-
"If you enable this option, all URLs of new pages, posts, tags, and categories "
|
92 |
-
"will automatically be converted to Latin."
|
93 |
-
msgstr ""
|
94 |
-
"Als u deze optie inschakelt, worden alle URL's van nieuwe pagina's, berichten, "
|
95 |
-
"tags en categorieën automatisch geconverteerd naar het Latijn."
|
96 |
-
|
97 |
-
#: admin/options.php:41
|
98 |
-
msgid ""
|
99 |
-
"This option works only for new media library files. All Cyrillic names of the "
|
100 |
-
"downloaded files will be converted to names with Latin characters."
|
101 |
-
msgstr ""
|
102 |
-
"Deze optie werkt alleen voor nieuwe mediabibliotheek bestanden. Alle "
|
103 |
-
"Cyrillische namen van de gedownloade bestanden worden geconverteerd naar namen "
|
104 |
-
"met Latijnse tekens."
|
105 |
-
|
106 |
-
#: admin/options.php:50
|
107 |
-
#, php-format
|
108 |
-
msgid ""
|
109 |
-
"If any of your plugins affects transliteration of links and file names, you "
|
110 |
-
"can use this option to change the plugin of %s to overwrite the changes of the "
|
111 |
-
"other plugins."
|
112 |
-
msgstr ""
|
113 |
-
"Als één van uw plugins de transliteratie van koppelingen en bestandsnamen "
|
114 |
-
"beïnvloedt, kunt u deze optie gebruiken om de plugin van %s te wijzigen om de "
|
115 |
-
"wijzigingen van de andere plugins te overschrijven."
|
116 |
-
|
117 |
-
#: admin/options.php:60
|
118 |
-
msgid ""
|
119 |
-
"This function works only for new upload files. Example: File_Name.jpg -> "
|
120 |
-
"file_name.jpg"
|
121 |
-
msgstr ""
|
122 |
-
"Deze functie werkt alleen voor nieuwe uploadbestanden. Voorbeeld: File_Name."
|
123 |
-
"jpg -> file_name.jpg"
|
124 |
-
|
125 |
-
#: admin/options.php:70
|
126 |
-
msgid ""
|
127 |
-
"If at the time of the plugin installation you had pages with unconverted "
|
128 |
-
"links, use this option to redirect users from old to new URLs with the Latin "
|
129 |
-
"alphabet."
|
130 |
-
msgstr ""
|
131 |
-
"Als u op het moment van de installatie van de plugin pagina's had met niet-"
|
132 |
-
"geconverteerde links, gebruikt u deze optie om gebruikers om te leiden van "
|
133 |
-
"oude naar nieuwe URL's met het Latijnse alfabet."
|
134 |
-
|
135 |
-
#: admin/options.php:80
|
136 |
-
msgid "Enable when have a problem in frontend."
|
137 |
-
msgstr ""
|
138 |
-
|
139 |
-
#: admin/options.php:89
|
140 |
-
msgid ""
|
141 |
-
"You can supplement current base of transliteration characters. Write pairs of "
|
142 |
-
"values separated by commas. Example:"
|
143 |
-
msgstr ""
|
144 |
-
"U kunt de huidige basis van transliteratie tekens aanvullen. Schrijf paren van "
|
145 |
-
"waardes gescheiden door komma's. Voorbeeld:"
|
146 |
-
|
147 |
-
#: admin/options.php:178
|
148 |
-
msgid ""
|
149 |
-
"If at the time of the plugin installation you already had posts, pages, tags "
|
150 |
-
"and categories, click on this button and the plugin will automatically convert "
|
151 |
-
"URLs into Latin. Attention! Previously uploaded files will not be converted."
|
152 |
-
msgstr ""
|
153 |
-
"Als u tijdens de installatie van de plugin al berichten, pagina's, tags en "
|
154 |
-
"categorieën had, klik dan op deze knop en de plugin converteert URL's "
|
155 |
-
"automatisch naar Latijn. Aandacht! Eerder geüploade bestanden worden niet "
|
156 |
-
"geconverteerd."
|
157 |
-
|
158 |
-
#: admin/options.php:187
|
159 |
-
msgid "Convert already created posts and categories"
|
160 |
-
msgstr "Converteer eerder gemaakte berichten en categorieën"
|
161 |
-
|
162 |
-
#: admin/options.php:189
|
163 |
-
msgid "Url of old posts, pages,terms,tags successfully converted into Latin!"
|
164 |
-
msgstr "Url van oude berichten, pagina's, voorwaarden, tags omgezet in Latijn!"
|
165 |
-
|
166 |
-
#: admin/options.php:199
|
167 |
-
msgid ""
|
168 |
-
"Allows you to restore converted URLs by using the \"Convert already created "
|
169 |
-
"posts and categories\" button. This can be useful in case of incorrect URLs or "
|
170 |
-
"incorrect transliteration of some characters. You can roll back changes and "
|
171 |
-
"advance the character sets above to correct the plugin's work. "
|
172 |
-
msgstr ""
|
173 |
-
"Hiermee kunt u geconverteerde URL's herstellen met behulp van de knop "
|
174 |
-
"\"Bestaande berichten en categorieën converteren\". Dit kan handig zijn in het "
|
175 |
-
"geval van onjuiste URL's of onjuiste transliteratie van sommige tekens. U kunt "
|
176 |
-
"wijzigingen terugdraaien en de tekensets hierboven verbeteren om het werk van "
|
177 |
-
"de plugin te corrigeren."
|
178 |
-
|
179 |
-
#: admin/options.php:208
|
180 |
-
msgid "Rollback changes"
|
181 |
-
msgstr "Wijzigingen terugdraaien"
|
182 |
-
|
183 |
-
#: admin/options.php:210
|
184 |
-
msgid "The rollback of new changes was successful!"
|
185 |
-
msgstr "Het terugdraaien van nieuwe wijzigingen was succesvol!"
|
186 |
-
|
187 |
-
#: admin/pages/cyrlitera.php:33 admin/pages/cyrlitera.php:49
|
188 |
-
msgid "Transliteration"
|
189 |
-
msgstr "Transliteratie"
|
190 |
-
|
191 |
-
#: admin/pages/cyrlitera.php:50
|
192 |
-
msgid "General"
|
193 |
-
msgstr "Algemeen"
|
194 |
-
|
195 |
-
#: cyrlitera.php:23
|
196 |
-
msgid ""
|
197 |
-
"We found that you have the \"Clearfy - disable unused features\" plugin "
|
198 |
-
"installed, this plugin already has disable comments functions, so you can "
|
199 |
-
"deactivate plugin \"Webcraftic Cyrlitera\"!"
|
200 |
-
msgstr ""
|
201 |
-
"We hebben vastgesteld dat de plugin \"Clearfy - niet-gebruikte functies "
|
202 |
-
"uitschakelen\" is geïnstalleerd. Deze plugin heeft reeds de functie "
|
203 |
-
"opmerkingen uitschakelen, zodat u de plugin \"Webcraftic Cyrlitera\" kunt "
|
204 |
-
"deactiveren!"
|
205 |
-
|
206 |
-
#: cyrlitera.php:81
|
207 |
-
msgid "Webcraftic Cyrlitera"
|
208 |
msgstr "Webcraftic Cyrlitera"
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: Clearfy\n"
|
4 |
+
"POT-Creation-Date: 2018-09-06 18:29+0300\n"
|
5 |
+
"PO-Revision-Date: \n"
|
6 |
+
"Last-Translator: \n"
|
7 |
+
"Language-Team: \n"
|
8 |
+
"Language: nl_BE\n"
|
9 |
+
"MIME-Version: 1.0\n"
|
10 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
+
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"X-Generator: Poedit 2.1.1\n"
|
13 |
+
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
14 |
+
"X-Generator: Poedit 2.1.1\n"
|
15 |
+
"X-Poedit-Basepath: ..\n"
|
16 |
+
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
17 |
+
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
18 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
19 |
+
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
20 |
+
"X-Poedit-SearchPath-0: .\n"
|
21 |
+
"X-Poedit-SearchPathExcluded-0: libs\n"
|
22 |
+
"X-Poedit-SearchPathExcluded-1: components\n"
|
23 |
+
"X-Poedit-SearchPathExcluded-2: cache\n"
|
24 |
+
|
25 |
+
#: admin/boot.php:56
|
26 |
+
#, php-format
|
27 |
+
msgid ""
|
28 |
+
"We found that you have the plugin %s installed. The functions of this plugin "
|
29 |
+
"already exist in %s. Please deactivate plugin %s to avoid conflicts between "
|
30 |
+
"plugins functions."
|
31 |
+
msgstr ""
|
32 |
+
|
33 |
+
#: admin/boot.php:57
|
34 |
+
#, php-format
|
35 |
+
msgid ""
|
36 |
+
"If you do not want to deactivate the plugin %s for some reason, we strongly "
|
37 |
+
"recommend do not use the same plugins functions at the same time!"
|
38 |
+
msgstr ""
|
39 |
+
"Als u de plugin %s om eender welke reden niet wilt deactiveren, raden wij u "
|
40 |
+
"ten zeerste aan om niet dezelfde plugin functies tegelijkertijd te gebruiken!"
|
41 |
+
|
42 |
+
#: admin/boot.php:117 admin/options.php:30
|
43 |
+
msgid "Use transliteration"
|
44 |
+
msgstr "Gebruik transliteratie"
|
45 |
+
|
46 |
+
#: admin/boot.php:123 admin/options.php:48
|
47 |
+
msgid "Force transliteration"
|
48 |
+
msgstr "Forceer transliteratie"
|
49 |
+
|
50 |
+
#: admin/boot.php:129 admin/options.php:78
|
51 |
+
msgid "Don't use transliteration in frontend"
|
52 |
+
msgstr ""
|
53 |
+
|
54 |
+
#: admin/boot.php:135 admin/options.php:39
|
55 |
+
msgid "Convert file names"
|
56 |
+
msgstr "Bestandsnamen converteren"
|
57 |
+
|
58 |
+
#: admin/boot.php:141 admin/options.php:58
|
59 |
+
msgid "Convert file names into lowercase"
|
60 |
+
msgstr "Bestandsnamen converteren naar kleine letters"
|
61 |
+
|
62 |
+
#: admin/boot.php:147 admin/options.php:68
|
63 |
+
msgid "Redirection old URLs to new ones"
|
64 |
+
msgstr "Redirect oude URL's naar nieuwe"
|
65 |
+
|
66 |
+
#: admin/boot.php:153 admin/options.php:88
|
67 |
+
msgid "Character Sets"
|
68 |
+
msgstr "Tekensets"
|
69 |
+
|
70 |
+
#: admin/boot.php:174
|
71 |
+
msgid "Get ultimate plugin free"
|
72 |
+
msgstr "Krijg ultieme plugin gratis"
|
73 |
+
|
74 |
+
#: admin/options.php:23
|
75 |
+
msgid "Transliteration of Cyrillic alphabet."
|
76 |
+
msgstr "Transliteratie van Cyrillische alfabet."
|
77 |
+
|
78 |
+
#: admin/options.php:23
|
79 |
+
msgid ""
|
80 |
+
"Converts Cyrillic permalinks of post, pages, taxonomies and media files to the "
|
81 |
+
"Latin alphabet. Supports Russian, Ukrainian, Georgian, Bulgarian languages. "
|
82 |
+
"Example: http://site.dev/последние-новости -> http://site.dev/poslednie-novosti"
|
83 |
+
msgstr ""
|
84 |
+
"Converteert Cyrillische permalinks van post, pagina's, taxonomieën en "
|
85 |
+
"mediabestanden naar het Latijnse alfabet. Ondersteunt Russische, Oekraïense, "
|
86 |
+
"Georgische, Bulgaarse talen. Voorbeeld: http://site.dev/последнивости -> "
|
87 |
+
"http://site.dev/poslednie-novosti"
|
88 |
+
|
89 |
+
#: admin/options.php:32
|
90 |
+
msgid ""
|
91 |
+
"If you enable this option, all URLs of new pages, posts, tags, and categories "
|
92 |
+
"will automatically be converted to Latin."
|
93 |
+
msgstr ""
|
94 |
+
"Als u deze optie inschakelt, worden alle URL's van nieuwe pagina's, berichten, "
|
95 |
+
"tags en categorieën automatisch geconverteerd naar het Latijn."
|
96 |
+
|
97 |
+
#: admin/options.php:41
|
98 |
+
msgid ""
|
99 |
+
"This option works only for new media library files. All Cyrillic names of the "
|
100 |
+
"downloaded files will be converted to names with Latin characters."
|
101 |
+
msgstr ""
|
102 |
+
"Deze optie werkt alleen voor nieuwe mediabibliotheek bestanden. Alle "
|
103 |
+
"Cyrillische namen van de gedownloade bestanden worden geconverteerd naar namen "
|
104 |
+
"met Latijnse tekens."
|
105 |
+
|
106 |
+
#: admin/options.php:50
|
107 |
+
#, php-format
|
108 |
+
msgid ""
|
109 |
+
"If any of your plugins affects transliteration of links and file names, you "
|
110 |
+
"can use this option to change the plugin of %s to overwrite the changes of the "
|
111 |
+
"other plugins."
|
112 |
+
msgstr ""
|
113 |
+
"Als één van uw plugins de transliteratie van koppelingen en bestandsnamen "
|
114 |
+
"beïnvloedt, kunt u deze optie gebruiken om de plugin van %s te wijzigen om de "
|
115 |
+
"wijzigingen van de andere plugins te overschrijven."
|
116 |
+
|
117 |
+
#: admin/options.php:60
|
118 |
+
msgid ""
|
119 |
+
"This function works only for new upload files. Example: File_Name.jpg -> "
|
120 |
+
"file_name.jpg"
|
121 |
+
msgstr ""
|
122 |
+
"Deze functie werkt alleen voor nieuwe uploadbestanden. Voorbeeld: File_Name."
|
123 |
+
"jpg -> file_name.jpg"
|
124 |
+
|
125 |
+
#: admin/options.php:70
|
126 |
+
msgid ""
|
127 |
+
"If at the time of the plugin installation you had pages with unconverted "
|
128 |
+
"links, use this option to redirect users from old to new URLs with the Latin "
|
129 |
+
"alphabet."
|
130 |
+
msgstr ""
|
131 |
+
"Als u op het moment van de installatie van de plugin pagina's had met niet-"
|
132 |
+
"geconverteerde links, gebruikt u deze optie om gebruikers om te leiden van "
|
133 |
+
"oude naar nieuwe URL's met het Latijnse alfabet."
|
134 |
+
|
135 |
+
#: admin/options.php:80
|
136 |
+
msgid "Enable when have a problem in frontend."
|
137 |
+
msgstr ""
|
138 |
+
|
139 |
+
#: admin/options.php:89
|
140 |
+
msgid ""
|
141 |
+
"You can supplement current base of transliteration characters. Write pairs of "
|
142 |
+
"values separated by commas. Example:"
|
143 |
+
msgstr ""
|
144 |
+
"U kunt de huidige basis van transliteratie tekens aanvullen. Schrijf paren van "
|
145 |
+
"waardes gescheiden door komma's. Voorbeeld:"
|
146 |
+
|
147 |
+
#: admin/options.php:178
|
148 |
+
msgid ""
|
149 |
+
"If at the time of the plugin installation you already had posts, pages, tags "
|
150 |
+
"and categories, click on this button and the plugin will automatically convert "
|
151 |
+
"URLs into Latin. Attention! Previously uploaded files will not be converted."
|
152 |
+
msgstr ""
|
153 |
+
"Als u tijdens de installatie van de plugin al berichten, pagina's, tags en "
|
154 |
+
"categorieën had, klik dan op deze knop en de plugin converteert URL's "
|
155 |
+
"automatisch naar Latijn. Aandacht! Eerder geüploade bestanden worden niet "
|
156 |
+
"geconverteerd."
|
157 |
+
|
158 |
+
#: admin/options.php:187
|
159 |
+
msgid "Convert already created posts and categories"
|
160 |
+
msgstr "Converteer eerder gemaakte berichten en categorieën"
|
161 |
+
|
162 |
+
#: admin/options.php:189
|
163 |
+
msgid "Url of old posts, pages,terms,tags successfully converted into Latin!"
|
164 |
+
msgstr "Url van oude berichten, pagina's, voorwaarden, tags omgezet in Latijn!"
|
165 |
+
|
166 |
+
#: admin/options.php:199
|
167 |
+
msgid ""
|
168 |
+
"Allows you to restore converted URLs by using the \"Convert already created "
|
169 |
+
"posts and categories\" button. This can be useful in case of incorrect URLs or "
|
170 |
+
"incorrect transliteration of some characters. You can roll back changes and "
|
171 |
+
"advance the character sets above to correct the plugin's work. "
|
172 |
+
msgstr ""
|
173 |
+
"Hiermee kunt u geconverteerde URL's herstellen met behulp van de knop "
|
174 |
+
"\"Bestaande berichten en categorieën converteren\". Dit kan handig zijn in het "
|
175 |
+
"geval van onjuiste URL's of onjuiste transliteratie van sommige tekens. U kunt "
|
176 |
+
"wijzigingen terugdraaien en de tekensets hierboven verbeteren om het werk van "
|
177 |
+
"de plugin te corrigeren."
|
178 |
+
|
179 |
+
#: admin/options.php:208
|
180 |
+
msgid "Rollback changes"
|
181 |
+
msgstr "Wijzigingen terugdraaien"
|
182 |
+
|
183 |
+
#: admin/options.php:210
|
184 |
+
msgid "The rollback of new changes was successful!"
|
185 |
+
msgstr "Het terugdraaien van nieuwe wijzigingen was succesvol!"
|
186 |
+
|
187 |
+
#: admin/pages/cyrlitera.php:33 admin/pages/cyrlitera.php:49
|
188 |
+
msgid "Transliteration"
|
189 |
+
msgstr "Transliteratie"
|
190 |
+
|
191 |
+
#: admin/pages/cyrlitera.php:50
|
192 |
+
msgid "General"
|
193 |
+
msgstr "Algemeen"
|
194 |
+
|
195 |
+
#: cyrlitera.php:23
|
196 |
+
msgid ""
|
197 |
+
"We found that you have the \"Clearfy - disable unused features\" plugin "
|
198 |
+
"installed, this plugin already has disable comments functions, so you can "
|
199 |
+
"deactivate plugin \"Webcraftic Cyrlitera\"!"
|
200 |
+
msgstr ""
|
201 |
+
"We hebben vastgesteld dat de plugin \"Clearfy - niet-gebruikte functies "
|
202 |
+
"uitschakelen\" is geïnstalleerd. Deze plugin heeft reeds de functie "
|
203 |
+
"opmerkingen uitschakelen, zodat u de plugin \"Webcraftic Cyrlitera\" kunt "
|
204 |
+
"deactiveren!"
|
205 |
+
|
206 |
+
#: cyrlitera.php:81
|
207 |
+
msgid "Webcraftic Cyrlitera"
|
208 |
msgstr "Webcraftic Cyrlitera"
|
components/cyrlitera/languages/cyrlitera-pt_BR.po
CHANGED
@@ -1,210 +1,210 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: clearfy\n"
|
4 |
-
"POT-Creation-Date: 2018-09-06 18:29+0300\n"
|
5 |
-
"PO-Revision-Date: 2018-09-06 18:29+0300\n"
|
6 |
-
"Last-Translator: alex.kovalevv@gmail.com <alex.kovalevv@gmail.com>\n"
|
7 |
-
"Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
|
8 |
-
"Language: pt_BR\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"X-Generator: Poedit 2.1.1\n"
|
13 |
-
"X-Poedit-Basepath: ..\n"
|
14 |
-
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
15 |
-
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
16 |
-
"X-Poedit-SourceCharset: UTF-8\n"
|
17 |
-
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
18 |
-
"X-Poedit-SearchPath-0: .\n"
|
19 |
-
"X-Poedit-SearchPathExcluded-0: libs\n"
|
20 |
-
"X-Poedit-SearchPathExcluded-1: components\n"
|
21 |
-
"X-Poedit-SearchPathExcluded-2: cache\n"
|
22 |
-
|
23 |
-
#: admin/boot.php:56
|
24 |
-
#, php-format
|
25 |
-
msgid ""
|
26 |
-
"We found that you have the plugin %s installed. The functions of this plugin "
|
27 |
-
"already exist in %s. Please deactivate plugin %s to avoid conflicts between "
|
28 |
-
"plugins functions."
|
29 |
-
msgstr ""
|
30 |
-
"Descobrimos que você tem o plugin %s instalado. As funções deste plugin já "
|
31 |
-
"existem em %s . Por favor, desative o plugin %s para evitar conflitos entre "
|
32 |
-
"as funções dos plugins."
|
33 |
-
|
34 |
-
#: admin/boot.php:57
|
35 |
-
#, php-format
|
36 |
-
msgid ""
|
37 |
-
"If you do not want to deactivate the plugin %s for some reason, we strongly "
|
38 |
-
"recommend do not use the same plugins functions at the same time!"
|
39 |
-
msgstr ""
|
40 |
-
"Se você não quiser desativar o plugin %s por algum motivo, recomendamos que "
|
41 |
-
"não use as mesmas funções de plugins ao mesmo tempo!"
|
42 |
-
|
43 |
-
#: admin/boot.php:117 admin/options.php:30
|
44 |
-
msgid "Use transliteration"
|
45 |
-
msgstr "Use transliteração"
|
46 |
-
|
47 |
-
#: admin/boot.php:123 admin/options.php:48
|
48 |
-
msgid "Force transliteration"
|
49 |
-
msgstr "Forçar transliteração"
|
50 |
-
|
51 |
-
#: admin/boot.php:129 admin/options.php:78
|
52 |
-
msgid "Don't use transliteration in frontend"
|
53 |
-
msgstr ""
|
54 |
-
|
55 |
-
#: admin/boot.php:135 admin/options.php:39
|
56 |
-
msgid "Convert file names"
|
57 |
-
msgstr "Converter nomes de arquivos"
|
58 |
-
|
59 |
-
#: admin/boot.php:141 admin/options.php:58
|
60 |
-
msgid "Convert file names into lowercase"
|
61 |
-
msgstr "Converter nomes de arquivos em minúsculas"
|
62 |
-
|
63 |
-
#: admin/boot.php:147 admin/options.php:68
|
64 |
-
msgid "Redirection old URLs to new ones"
|
65 |
-
msgstr "Redirecionar URLs antigas para novas"
|
66 |
-
|
67 |
-
#: admin/boot.php:153 admin/options.php:88
|
68 |
-
msgid "Character Sets"
|
69 |
-
msgstr "Conjuntos de caracteres"
|
70 |
-
|
71 |
-
#: admin/boot.php:174
|
72 |
-
msgid "Get ultimate plugin free"
|
73 |
-
msgstr "Obtenha o melhor plugin grátis"
|
74 |
-
|
75 |
-
#: admin/options.php:23
|
76 |
-
msgid "Transliteration of Cyrillic alphabet."
|
77 |
-
msgstr "Transliteração do alfabeto cirílico."
|
78 |
-
|
79 |
-
#: admin/options.php:23
|
80 |
-
msgid ""
|
81 |
-
"Converts Cyrillic permalinks of post, pages, taxonomies and media files to "
|
82 |
-
"the Latin alphabet. Supports Russian, Ukrainian, Georgian, Bulgarian "
|
83 |
-
"languages. Example: http://site.dev/последние-новости -> http://site.dev/"
|
84 |
-
"poslednie-novosti"
|
85 |
-
msgstr ""
|
86 |
-
"Converte permalinks cirílicos de post, páginas, taxonomias e arquivos de "
|
87 |
-
"mídia para o alfabeto latino. Suporta as línguas russa, ucraniana, georgiana "
|
88 |
-
"e búlgara. Exemplo: http://site.dev/последние-новости -> http://site.dev/"
|
89 |
-
"poslednie-novosti"
|
90 |
-
|
91 |
-
#: admin/options.php:32
|
92 |
-
msgid ""
|
93 |
-
"If you enable this option, all URLs of new pages, posts, tags, and "
|
94 |
-
"categories will automatically be converted to Latin."
|
95 |
-
msgstr ""
|
96 |
-
"Se você ativar essa opção, todos os URLs de novas páginas, postagens, tags e "
|
97 |
-
"categorias serão convertidos automaticamente para o idioma latino."
|
98 |
-
|
99 |
-
#: admin/options.php:41
|
100 |
-
msgid ""
|
101 |
-
"This option works only for new media library files. All Cyrillic names of "
|
102 |
-
"the downloaded files will be converted to names with Latin characters."
|
103 |
-
msgstr ""
|
104 |
-
"Esta opção funciona apenas para novos arquivos de biblioteca de mídia. Todos "
|
105 |
-
"os nomes cirílicos dos arquivos baixados serão convertidos em nomes com "
|
106 |
-
"caracteres latinos."
|
107 |
-
|
108 |
-
#: admin/options.php:50
|
109 |
-
#, php-format
|
110 |
-
msgid ""
|
111 |
-
"If any of your plugins affects transliteration of links and file names, you "
|
112 |
-
"can use this option to change the plugin of %s to overwrite the changes of "
|
113 |
-
"the other plugins."
|
114 |
-
msgstr ""
|
115 |
-
"Se algum de seus plugins afetar a transliteração de links e nomes de "
|
116 |
-
"arquivos, você poderá usar essa opção para alterar o plug-in de %s para "
|
117 |
-
"sobrescrever as alterações dos outros plug-ins."
|
118 |
-
|
119 |
-
#: admin/options.php:60
|
120 |
-
msgid ""
|
121 |
-
"This function works only for new upload files. Example: File_Name.jpg -> "
|
122 |
-
"file_name.jpg"
|
123 |
-
msgstr ""
|
124 |
-
"Esta função funciona apenas para novos arquivos de upload. Exemplo: "
|
125 |
-
"File_Name.jpg -> file_name.jpg"
|
126 |
-
|
127 |
-
#: admin/options.php:70
|
128 |
-
msgid ""
|
129 |
-
"If at the time of the plugin installation you had pages with unconverted "
|
130 |
-
"links, use this option to redirect users from old to new URLs with the Latin "
|
131 |
-
"alphabet."
|
132 |
-
msgstr ""
|
133 |
-
"Se, no momento da instalação do plug-in, você tivesse páginas com links não "
|
134 |
-
"convertidos, use essa opção para redirecionar os usuários de URLs antigos "
|
135 |
-
"para novos com o alfabeto latino."
|
136 |
-
|
137 |
-
#: admin/options.php:80
|
138 |
-
msgid "Enable when have a problem in frontend."
|
139 |
-
msgstr ""
|
140 |
-
|
141 |
-
#: admin/options.php:89
|
142 |
-
msgid ""
|
143 |
-
"You can supplement current base of transliteration characters. Write pairs "
|
144 |
-
"of values separated by commas. Example:"
|
145 |
-
msgstr ""
|
146 |
-
"Você pode complementar a base atual de caracteres de transliteração. Escreva "
|
147 |
-
"pares de valores separados por vírgulas. Exemplo:"
|
148 |
-
|
149 |
-
#: admin/options.php:178
|
150 |
-
msgid ""
|
151 |
-
"If at the time of the plugin installation you already had posts, pages, tags "
|
152 |
-
"and categories, click on this button and the plugin will automatically "
|
153 |
-
"convert URLs into Latin. Attention! Previously uploaded files will not be "
|
154 |
-
"converted."
|
155 |
-
msgstr ""
|
156 |
-
"Se, no momento da instalação do plugin, você já tiver postagens, páginas, "
|
157 |
-
"tags e categorias, clique neste botão e o plug-in converterá os URLs "
|
158 |
-
"automaticamente em latim. Atenção! Os arquivos enviados anteriormente não "
|
159 |
-
"serão convertidos."
|
160 |
-
|
161 |
-
#: admin/options.php:187
|
162 |
-
msgid "Convert already created posts and categories"
|
163 |
-
msgstr "Converter posts e categorias já criados"
|
164 |
-
|
165 |
-
#: admin/options.php:189
|
166 |
-
msgid "Url of old posts, pages,terms,tags successfully converted into Latin!"
|
167 |
-
msgstr "URL de postagens, páginas, termos e tags antigos convertidos em latim."
|
168 |
-
|
169 |
-
#: admin/options.php:199
|
170 |
-
msgid ""
|
171 |
-
"Allows you to restore converted URLs by using the \"Convert already created "
|
172 |
-
"posts and categories\" button. This can be useful in case of incorrect URLs "
|
173 |
-
"or incorrect transliteration of some characters. You can roll back changes "
|
174 |
-
"and advance the character sets above to correct the plugin's work. "
|
175 |
-
msgstr ""
|
176 |
-
"Permite restaurar URLs convertidos usando o botão \"Converter postagens e "
|
177 |
-
"categorias já criadas \". Isso pode ser útil em caso de URLs incorretos ou "
|
178 |
-
"transliteração incorreta de alguns caracteres. Você pode reverter alterações "
|
179 |
-
"e avançar os conjuntos de caracteres acima para corrigir o trabalho do "
|
180 |
-
"plugin. "
|
181 |
-
|
182 |
-
#: admin/options.php:208
|
183 |
-
msgid "Rollback changes"
|
184 |
-
msgstr "Alterações de reversão"
|
185 |
-
|
186 |
-
#: admin/options.php:210
|
187 |
-
msgid "The rollback of new changes was successful!"
|
188 |
-
msgstr "A reversão de novas mudanças foi bem sucedida!"
|
189 |
-
|
190 |
-
#: admin/pages/cyrlitera.php:33 admin/pages/cyrlitera.php:49
|
191 |
-
msgid "Transliteration"
|
192 |
-
msgstr "Transliteração"
|
193 |
-
|
194 |
-
#: admin/pages/cyrlitera.php:50
|
195 |
-
msgid "General"
|
196 |
-
msgstr "Geral"
|
197 |
-
|
198 |
-
#: cyrlitera.php:23
|
199 |
-
msgid ""
|
200 |
-
"We found that you have the \"Clearfy - disable unused features\" plugin "
|
201 |
-
"installed, this plugin already has disable comments functions, so you can "
|
202 |
-
"deactivate plugin \"Webcraftic Cyrlitera\"!"
|
203 |
-
msgstr ""
|
204 |
-
"Descobrimos que você tem o \"Clearfy - desativar os recursos não utilizados "
|
205 |
-
"\" plugin instalado, este plugin já tem funções de desabilitar comentários, "
|
206 |
-
"assim você pode desativar o plugin \"Webcraftic Cyrlitera \"!"
|
207 |
-
|
208 |
-
#: cyrlitera.php:81
|
209 |
-
msgid "Webcraftic Cyrlitera"
|
210 |
msgstr "Webcraftic Cyrlitera"
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: clearfy\n"
|
4 |
+
"POT-Creation-Date: 2018-09-06 18:29+0300\n"
|
5 |
+
"PO-Revision-Date: 2018-09-06 18:29+0300\n"
|
6 |
+
"Last-Translator: alex.kovalevv@gmail.com <alex.kovalevv@gmail.com>\n"
|
7 |
+
"Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
|
8 |
+
"Language: pt_BR\n"
|
9 |
+
"MIME-Version: 1.0\n"
|
10 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
+
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"X-Generator: Poedit 2.1.1\n"
|
13 |
+
"X-Poedit-Basepath: ..\n"
|
14 |
+
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
15 |
+
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
16 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
17 |
+
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
18 |
+
"X-Poedit-SearchPath-0: .\n"
|
19 |
+
"X-Poedit-SearchPathExcluded-0: libs\n"
|
20 |
+
"X-Poedit-SearchPathExcluded-1: components\n"
|
21 |
+
"X-Poedit-SearchPathExcluded-2: cache\n"
|
22 |
+
|
23 |
+
#: admin/boot.php:56
|
24 |
+
#, php-format
|
25 |
+
msgid ""
|
26 |
+
"We found that you have the plugin %s installed. The functions of this plugin "
|
27 |
+
"already exist in %s. Please deactivate plugin %s to avoid conflicts between "
|
28 |
+
"plugins functions."
|
29 |
+
msgstr ""
|
30 |
+
"Descobrimos que você tem o plugin %s instalado. As funções deste plugin já "
|
31 |
+
"existem em %s . Por favor, desative o plugin %s para evitar conflitos entre "
|
32 |
+
"as funções dos plugins."
|
33 |
+
|
34 |
+
#: admin/boot.php:57
|
35 |
+
#, php-format
|
36 |
+
msgid ""
|
37 |
+
"If you do not want to deactivate the plugin %s for some reason, we strongly "
|
38 |
+
"recommend do not use the same plugins functions at the same time!"
|
39 |
+
msgstr ""
|
40 |
+
"Se você não quiser desativar o plugin %s por algum motivo, recomendamos que "
|
41 |
+
"não use as mesmas funções de plugins ao mesmo tempo!"
|
42 |
+
|
43 |
+
#: admin/boot.php:117 admin/options.php:30
|
44 |
+
msgid "Use transliteration"
|
45 |
+
msgstr "Use transliteração"
|
46 |
+
|
47 |
+
#: admin/boot.php:123 admin/options.php:48
|
48 |
+
msgid "Force transliteration"
|
49 |
+
msgstr "Forçar transliteração"
|
50 |
+
|
51 |
+
#: admin/boot.php:129 admin/options.php:78
|
52 |
+
msgid "Don't use transliteration in frontend"
|
53 |
+
msgstr ""
|
54 |
+
|
55 |
+
#: admin/boot.php:135 admin/options.php:39
|
56 |
+
msgid "Convert file names"
|
57 |
+
msgstr "Converter nomes de arquivos"
|
58 |
+
|
59 |
+
#: admin/boot.php:141 admin/options.php:58
|
60 |
+
msgid "Convert file names into lowercase"
|
61 |
+
msgstr "Converter nomes de arquivos em minúsculas"
|
62 |
+
|
63 |
+
#: admin/boot.php:147 admin/options.php:68
|
64 |
+
msgid "Redirection old URLs to new ones"
|
65 |
+
msgstr "Redirecionar URLs antigas para novas"
|
66 |
+
|
67 |
+
#: admin/boot.php:153 admin/options.php:88
|
68 |
+
msgid "Character Sets"
|
69 |
+
msgstr "Conjuntos de caracteres"
|
70 |
+
|
71 |
+
#: admin/boot.php:174
|
72 |
+
msgid "Get ultimate plugin free"
|
73 |
+
msgstr "Obtenha o melhor plugin grátis"
|
74 |
+
|
75 |
+
#: admin/options.php:23
|
76 |
+
msgid "Transliteration of Cyrillic alphabet."
|
77 |
+
msgstr "Transliteração do alfabeto cirílico."
|
78 |
+
|
79 |
+
#: admin/options.php:23
|
80 |
+
msgid ""
|
81 |
+
"Converts Cyrillic permalinks of post, pages, taxonomies and media files to "
|
82 |
+
"the Latin alphabet. Supports Russian, Ukrainian, Georgian, Bulgarian "
|
83 |
+
"languages. Example: http://site.dev/последние-новости -> http://site.dev/"
|
84 |
+
"poslednie-novosti"
|
85 |
+
msgstr ""
|
86 |
+
"Converte permalinks cirílicos de post, páginas, taxonomias e arquivos de "
|
87 |
+
"mídia para o alfabeto latino. Suporta as línguas russa, ucraniana, georgiana "
|
88 |
+
"e búlgara. Exemplo: http://site.dev/последние-новости -> http://site.dev/"
|
89 |
+
"poslednie-novosti"
|
90 |
+
|
91 |
+
#: admin/options.php:32
|
92 |
+
msgid ""
|
93 |
+
"If you enable this option, all URLs of new pages, posts, tags, and "
|
94 |
+
"categories will automatically be converted to Latin."
|
95 |
+
msgstr ""
|
96 |
+
"Se você ativar essa opção, todos os URLs de novas páginas, postagens, tags e "
|
97 |
+
"categorias serão convertidos automaticamente para o idioma latino."
|
98 |
+
|
99 |
+
#: admin/options.php:41
|
100 |
+
msgid ""
|
101 |
+
"This option works only for new media library files. All Cyrillic names of "
|
102 |
+
"the downloaded files will be converted to names with Latin characters."
|
103 |
+
msgstr ""
|
104 |
+
"Esta opção funciona apenas para novos arquivos de biblioteca de mídia. Todos "
|
105 |
+
"os nomes cirílicos dos arquivos baixados serão convertidos em nomes com "
|
106 |
+
"caracteres latinos."
|
107 |
+
|
108 |
+
#: admin/options.php:50
|
109 |
+
#, php-format
|
110 |
+
msgid ""
|
111 |
+
"If any of your plugins affects transliteration of links and file names, you "
|
112 |
+
"can use this option to change the plugin of %s to overwrite the changes of "
|
113 |
+
"the other plugins."
|
114 |
+
msgstr ""
|
115 |
+
"Se algum de seus plugins afetar a transliteração de links e nomes de "
|
116 |
+
"arquivos, você poderá usar essa opção para alterar o plug-in de %s para "
|
117 |
+
"sobrescrever as alterações dos outros plug-ins."
|
118 |
+
|
119 |
+
#: admin/options.php:60
|
120 |
+
msgid ""
|
121 |
+
"This function works only for new upload files. Example: File_Name.jpg -> "
|
122 |
+
"file_name.jpg"
|
123 |
+
msgstr ""
|
124 |
+
"Esta função funciona apenas para novos arquivos de upload. Exemplo: "
|
125 |
+
"File_Name.jpg -> file_name.jpg"
|
126 |
+
|
127 |
+
#: admin/options.php:70
|
128 |
+
msgid ""
|
129 |
+
"If at the time of the plugin installation you had pages with unconverted "
|
130 |
+
"links, use this option to redirect users from old to new URLs with the Latin "
|
131 |
+
"alphabet."
|
132 |
+
msgstr ""
|
133 |
+
"Se, no momento da instalação do plug-in, você tivesse páginas com links não "
|
134 |
+
"convertidos, use essa opção para redirecionar os usuários de URLs antigos "
|
135 |
+
"para novos com o alfabeto latino."
|
136 |
+
|
137 |
+
#: admin/options.php:80
|
138 |
+
msgid "Enable when have a problem in frontend."
|
139 |
+
msgstr ""
|
140 |
+
|
141 |
+
#: admin/options.php:89
|
142 |
+
msgid ""
|
143 |
+
"You can supplement current base of transliteration characters. Write pairs "
|
144 |
+
"of values separated by commas. Example:"
|
145 |
+
msgstr ""
|
146 |
+
"Você pode complementar a base atual de caracteres de transliteração. Escreva "
|
147 |
+
"pares de valores separados por vírgulas. Exemplo:"
|
148 |
+
|
149 |
+
#: admin/options.php:178
|
150 |
+
msgid ""
|
151 |
+
"If at the time of the plugin installation you already had posts, pages, tags "
|
152 |
+
"and categories, click on this button and the plugin will automatically "
|
153 |
+
"convert URLs into Latin. Attention! Previously uploaded files will not be "
|
154 |
+
"converted."
|
155 |
+
msgstr ""
|
156 |
+
"Se, no momento da instalação do plugin, você já tiver postagens, páginas, "
|
157 |
+
"tags e categorias, clique neste botão e o plug-in converterá os URLs "
|
158 |
+
"automaticamente em latim. Atenção! Os arquivos enviados anteriormente não "
|
159 |
+
"serão convertidos."
|
160 |
+
|
161 |
+
#: admin/options.php:187
|
162 |
+
msgid "Convert already created posts and categories"
|
163 |
+
msgstr "Converter posts e categorias já criados"
|
164 |
+
|
165 |
+
#: admin/options.php:189
|
166 |
+
msgid "Url of old posts, pages,terms,tags successfully converted into Latin!"
|
167 |
+
msgstr "URL de postagens, páginas, termos e tags antigos convertidos em latim."
|
168 |
+
|
169 |
+
#: admin/options.php:199
|
170 |
+
msgid ""
|
171 |
+
"Allows you to restore converted URLs by using the \"Convert already created "
|
172 |
+
"posts and categories\" button. This can be useful in case of incorrect URLs "
|
173 |
+
"or incorrect transliteration of some characters. You can roll back changes "
|
174 |
+
"and advance the character sets above to correct the plugin's work. "
|
175 |
+
msgstr ""
|
176 |
+
"Permite restaurar URLs convertidos usando o botão \"Converter postagens e "
|
177 |
+
"categorias já criadas \". Isso pode ser útil em caso de URLs incorretos ou "
|
178 |
+
"transliteração incorreta de alguns caracteres. Você pode reverter alterações "
|
179 |
+
"e avançar os conjuntos de caracteres acima para corrigir o trabalho do "
|
180 |
+
"plugin. "
|
181 |
+
|
182 |
+
#: admin/options.php:208
|
183 |
+
msgid "Rollback changes"
|
184 |
+
msgstr "Alterações de reversão"
|
185 |
+
|
186 |
+
#: admin/options.php:210
|
187 |
+
msgid "The rollback of new changes was successful!"
|
188 |
+
msgstr "A reversão de novas mudanças foi bem sucedida!"
|
189 |
+
|
190 |
+
#: admin/pages/cyrlitera.php:33 admin/pages/cyrlitera.php:49
|
191 |
+
msgid "Transliteration"
|
192 |
+
msgstr "Transliteração"
|
193 |
+
|
194 |
+
#: admin/pages/cyrlitera.php:50
|
195 |
+
msgid "General"
|
196 |
+
msgstr "Geral"
|
197 |
+
|
198 |
+
#: cyrlitera.php:23
|
199 |
+
msgid ""
|
200 |
+
"We found that you have the \"Clearfy - disable unused features\" plugin "
|
201 |
+
"installed, this plugin already has disable comments functions, so you can "
|
202 |
+
"deactivate plugin \"Webcraftic Cyrlitera\"!"
|
203 |
+
msgstr ""
|
204 |
+
"Descobrimos que você tem o \"Clearfy - desativar os recursos não utilizados "
|
205 |
+
"\" plugin instalado, este plugin já tem funções de desabilitar comentários, "
|
206 |
+
"assim você pode desativar o plugin \"Webcraftic Cyrlitera \"!"
|
207 |
+
|
208 |
+
#: cyrlitera.php:81
|
209 |
+
msgid "Webcraftic Cyrlitera"
|
210 |
msgstr "Webcraftic Cyrlitera"
|
components/cyrlitera/languages/cyrlitera-ru_RU.mo
CHANGED
Binary file
|
components/cyrlitera/languages/cyrlitera-ru_RU.po
CHANGED
@@ -1,619 +1,618 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: clearfy\n"
|
4 |
-
"POT-Creation-Date: 2018-
|
5 |
-
"PO-Revision-Date: 2018-
|
6 |
-
"Last-Translator: alex.kovalevv@gmail.com <alex.kovalevv@gmail.com>\n"
|
7 |
-
"Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
|
8 |
-
"Language: ru_RU\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"X-Generator: Poedit 1.
|
13 |
-
"X-Poedit-Basepath: ..\n"
|
14 |
-
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
15 |
-
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
16 |
-
"X-Poedit-SourceCharset: UTF-8\n"
|
17 |
-
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
18 |
-
"X-Poedit-SearchPath-0: .\n"
|
19 |
-
"X-Poedit-SearchPathExcluded-0: libs\n"
|
20 |
-
|
21 |
-
#: admin/boot.php:56
|
22 |
-
#, php-format
|
23 |
-
msgid ""
|
24 |
-
"We found that you have the plugin %s installed. The functions of this plugin "
|
25 |
-
"already exist in %s. Please deactivate plugin %s to avoid conflicts between "
|
26 |
-
"plugins functions."
|
27 |
-
msgstr ""
|
28 |
-
"Мы обнаружили, что у вас установлен плагин %s, функции этого плагина уже "
|
29 |
-
"есть в %s. Пожалуйста, деактивируйте плагин %s во избежание конфликтов между "
|
30 |
-
"функциями плагинов."
|
31 |
-
|
32 |
-
#: admin/boot.php:57
|
33 |
-
#, php-format
|
34 |
-
msgid ""
|
35 |
-
"If you do not want to deactivate the plugin %s for some reason, we strongly "
|
36 |
-
"recommend do not use the same plugins functions at the same time!"
|
37 |
-
msgstr ""
|
38 |
-
"Если по какой-то причине вы не хотите деактивировать плагин %s, то мы "
|
39 |
-
"настоятельно рекомендуем не использовать похожие функции плагинов "
|
40 |
-
"одновременно!"
|
41 |
-
|
42 |
-
#: admin/boot.php:
|
43 |
-
msgid "Use transliteration"
|
44 |
-
msgstr "Использовать транслитерацию"
|
45 |
-
|
46 |
-
#: admin/boot.php:
|
47 |
-
msgid "Force transliteration"
|
48 |
-
msgstr "Принудильная траслитерация"
|
49 |
-
|
50 |
-
#: admin/boot.php:
|
51 |
-
msgid "Don't use transliteration in frontend"
|
52 |
-
msgstr "Не использовать транслитерацию на фронтенде"
|
53 |
-
|
54 |
-
#: admin/boot.php:
|
55 |
-
msgid "Convert file names"
|
56 |
-
msgstr "Конвертировать имена файлов"
|
57 |
-
|
58 |
-
#: admin/boot.php:
|
59 |
-
msgid "Convert file names into lowercase"
|
60 |
-
msgstr "Преобразовывать имена файлов в нижний регистр"
|
61 |
-
|
62 |
-
#: admin/boot.php:
|
63 |
-
msgid "Redirection old URLs to new ones"
|
64 |
-
msgstr "Перенаправление со старых URL на новые"
|
65 |
-
|
66 |
-
#: admin/boot.php:
|
67 |
-
msgid "Character Sets"
|
68 |
-
msgstr "Наборы символов"
|
69 |
-
|
70 |
-
#: admin/boot.php:
|
71 |
-
msgid "Get ultimate plugin free"
|
72 |
-
msgstr "Получите полную версию плагина бесплатно"
|
73 |
-
|
74 |
-
#: admin/
|
75 |
-
msgid "Transliteration
|
76 |
-
msgstr "Транслитерация
|
77 |
-
|
78 |
-
#: admin/
|
79 |
-
msgid ""
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
"
|
84 |
-
msgstr ""
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
"
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
"
|
94 |
-
|
95 |
-
"
|
96 |
-
"
|
97 |
-
|
98 |
-
#: admin/
|
99 |
-
msgid ""
|
100 |
-
"
|
101 |
-
"
|
102 |
-
msgstr ""
|
103 |
-
"
|
104 |
-
"
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
"
|
112 |
-
"
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
"
|
121 |
-
"
|
122 |
-
|
123 |
-
"
|
124 |
-
"
|
125 |
-
|
126 |
-
#: admin/
|
127 |
-
msgid ""
|
128 |
-
"
|
129 |
-
"
|
130 |
-
"
|
131 |
-
|
132 |
-
"
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
"
|
143 |
-
|
144 |
-
|
145 |
-
"
|
146 |
-
"
|
147 |
-
|
148 |
-
#: admin/
|
149 |
-
msgid ""
|
150 |
-
"
|
151 |
-
"
|
152 |
-
|
153 |
-
"
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
"
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
"
|
180 |
-
"
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
#: admin/pages/cyrlitera.php:
|
191 |
-
msgid "
|
192 |
-
msgstr "
|
193 |
-
|
194 |
-
#: admin/pages/cyrlitera.php:
|
195 |
-
msgid "
|
196 |
-
msgstr "
|
197 |
-
|
198 |
-
#: cyrlitera.php:
|
199 |
-
msgid ""
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
"
|
205 |
-
"
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
#~
|
213 |
-
#~ "
|
214 |
-
#~
|
215 |
-
#~
|
216 |
-
#~ "
|
217 |
-
|
218 |
-
|
219 |
-
#~
|
220 |
-
#~ "
|
221 |
-
#~ "
|
222 |
-
#~ "
|
223 |
-
#~
|
224 |
-
#~ "
|
225 |
-
#~ "
|
226 |
-
|
227 |
-
|
228 |
-
#~
|
229 |
-
#~ "
|
230 |
-
#~ "
|
231 |
-
#~
|
232 |
-
#~
|
233 |
-
#~ "
|
234 |
-
#~ "
|
235 |
-
#~ "
|
236 |
-
|
237 |
-
|
238 |
-
#~
|
239 |
-
|
240 |
-
|
241 |
-
#~
|
242 |
-
#~ "
|
243 |
-
#~ "
|
244 |
-
#~
|
245 |
-
#~
|
246 |
-
#~ "
|
247 |
-
#~ "и
|
248 |
-
|
249 |
-
|
250 |
-
#~
|
251 |
-
|
252 |
-
|
253 |
-
#~
|
254 |
-
|
255 |
-
|
256 |
-
#~
|
257 |
-
|
258 |
-
|
259 |
-
#~
|
260 |
-
|
261 |
-
|
262 |
-
#~
|
263 |
-
|
264 |
-
|
265 |
-
#~
|
266 |
-
|
267 |
-
|
268 |
-
#~
|
269 |
-
#~ "
|
270 |
-
#~ "
|
271 |
-
#~ "
|
272 |
-
#~ "
|
273 |
-
#~ "
|
274 |
-
#~ "
|
275 |
-
#~
|
276 |
-
#~ "
|
277 |
-
#~ "
|
278 |
-
#~ "
|
279 |
-
#~ "
|
280 |
-
#~ "
|
281 |
-
|
282 |
-
|
283 |
-
#~
|
284 |
-
|
285 |
-
|
286 |
-
#~
|
287 |
-
|
288 |
-
|
289 |
-
#~
|
290 |
-
|
291 |
-
|
292 |
-
#~
|
293 |
-
#~ "
|
294 |
-
#~ "
|
295 |
-
#~
|
296 |
-
#~ "
|
297 |
-
#~ "
|
298 |
-
|
299 |
-
|
300 |
-
#~
|
301 |
-
|
302 |
-
|
303 |
-
#~
|
304 |
-
#~ "
|
305 |
-
#~ "
|
306 |
-
#~
|
307 |
-
#~ "
|
308 |
-
|
309 |
-
|
310 |
-
#~
|
311 |
-
#~ "
|
312 |
-
#~ "
|
313 |
-
#~ "
|
314 |
-
#~ "
|
315 |
-
#~ "
|
316 |
-
#~ "
|
317 |
-
#~ "
|
318 |
-
#~
|
319 |
-
#~
|
320 |
-
#~ "
|
321 |
-
#~ "
|
322 |
-
#~ "
|
323 |
-
#~ "
|
324 |
-
#~ "
|
325 |
-
|
326 |
-
|
327 |
-
#~
|
328 |
-
#~ "
|
329 |
-
#~ "
|
330 |
-
#~ "
|
331 |
-
#~
|
332 |
-
#~
|
333 |
-
#~ "
|
334 |
-
#~ "
|
335 |
-
#~ "
|
336 |
-
|
337 |
-
|
338 |
-
#~
|
339 |
-
|
340 |
-
|
341 |
-
#~
|
342 |
-
|
343 |
-
|
344 |
-
#~
|
345 |
-
#~
|
346 |
-
#~ "
|
347 |
-
|
348 |
-
|
349 |
-
#~
|
350 |
-
|
351 |
-
|
352 |
-
#~
|
353 |
-
#~ "
|
354 |
-
#~ "
|
355 |
-
#~
|
356 |
-
#~
|
357 |
-
#~ "
|
358 |
-
#~ "
|
359 |
-
#~ "
|
360 |
-
|
361 |
-
|
362 |
-
#~
|
363 |
-
|
364 |
-
|
365 |
-
#~
|
366 |
-
|
367 |
-
|
368 |
-
#~
|
369 |
-
|
370 |
-
|
371 |
-
#~
|
372 |
-
|
373 |
-
|
374 |
-
#~
|
375 |
-
|
376 |
-
|
377 |
-
#~
|
378 |
-
|
379 |
-
|
380 |
-
#~
|
381 |
-
|
382 |
-
|
383 |
-
#~
|
384 |
-
|
385 |
-
|
386 |
-
#~
|
387 |
-
|
388 |
-
|
389 |
-
#~
|
390 |
-
|
391 |
-
|
392 |
-
#~
|
393 |
-
|
394 |
-
|
395 |
-
#~
|
396 |
-
|
397 |
-
|
398 |
-
#~
|
399 |
-
|
400 |
-
|
401 |
-
#~
|
402 |
-
#~ "
|
403 |
-
#~ "
|
404 |
-
#~ "
|
405 |
-
#~
|
406 |
-
#~
|
407 |
-
#~ "
|
408 |
-
#~ "
|
409 |
-
#~ "
|
410 |
-
#~ "
|
411 |
-
|
412 |
-
|
413 |
-
#~
|
414 |
-
|
415 |
-
|
416 |
-
#~
|
417 |
-
|
418 |
-
|
419 |
-
#~
|
420 |
-
|
421 |
-
|
422 |
-
#~
|
423 |
-
#~ "
|
424 |
-
#~
|
425 |
-
#~
|
426 |
-
#~ "
|
427 |
-
|
428 |
-
|
429 |
-
#~
|
430 |
-
|
431 |
-
|
432 |
-
#~
|
433 |
-
|
434 |
-
|
435 |
-
#~
|
436 |
-
|
437 |
-
|
438 |
-
#~
|
439 |
-
#~ "
|
440 |
-
|
441 |
-
|
442 |
-
#~
|
443 |
-
#~ "
|
444 |
-
#~
|
445 |
-
#~
|
446 |
-
#~ "
|
447 |
-
#~ "
|
448 |
-
|
449 |
-
|
450 |
-
#~
|
451 |
-
|
452 |
-
|
453 |
-
#~
|
454 |
-
|
455 |
-
|
456 |
-
#~
|
457 |
-
|
458 |
-
|
459 |
-
#~
|
460 |
-
#~ "
|
461 |
-
#~
|
462 |
-
#~
|
463 |
-
#~ "
|
464 |
-
|
465 |
-
|
466 |
-
#~
|
467 |
-
|
468 |
-
|
469 |
-
#~
|
470 |
-
|
471 |
-
|
472 |
-
#~
|
473 |
-
|
474 |
-
|
475 |
-
#~
|
476 |
-
#~ "
|
477 |
-
#~ "
|
478 |
-
#~
|
479 |
-
#~ "
|
480 |
-
|
481 |
-
|
482 |
-
#~
|
483 |
-
|
484 |
-
|
485 |
-
#~
|
486 |
-
#~ "
|
487 |
-
#~ "
|
488 |
-
#~ "
|
489 |
-
#~
|
490 |
-
#~ "
|
491 |
-
#~ "
|
492 |
-
#~ "
|
493 |
-
|
494 |
-
|
495 |
-
#~
|
496 |
-
#~ "
|
497 |
-
#~ "
|
498 |
-
#~
|
499 |
-
#~
|
500 |
-
#~ "
|
501 |
-
#~ "
|
502 |
-
|
503 |
-
|
504 |
-
#~
|
505 |
-
#~ "
|
506 |
-
#~ "
|
507 |
-
#~ "
|
508 |
-
#~
|
509 |
-
#~
|
510 |
-
#~ "
|
511 |
-
#~ "
|
512 |
-
#~ "
|
513 |
-
|
514 |
-
|
515 |
-
#~
|
516 |
-
|
517 |
-
|
518 |
-
#~
|
519 |
-
#~ "
|
520 |
-
#~
|
521 |
-
#~
|
522 |
-
#~ "
|
523 |
-
|
524 |
-
|
525 |
-
#~
|
526 |
-
|
527 |
-
|
528 |
-
#~
|
529 |
-
#~ "
|
530 |
-
#~
|
531 |
-
#~
|
532 |
-
#~ "
|
533 |
-
|
534 |
-
|
535 |
-
#~
|
536 |
-
|
537 |
-
|
538 |
-
#~
|
539 |
-
#~ "
|
540 |
-
#~
|
541 |
-
#~
|
542 |
-
#~ "
|
543 |
-
|
544 |
-
|
545 |
-
#~
|
546 |
-
#~
|
547 |
-
#~ "
|
548 |
-
|
549 |
-
|
550 |
-
#~
|
551 |
-
#~ "
|
552 |
-
#~
|
553 |
-
#~
|
554 |
-
#~ "
|
555 |
-
|
556 |
-
|
557 |
-
#~
|
558 |
-
#~ "
|
559 |
-
#~
|
560 |
-
#~
|
561 |
-
#~ "
|
562 |
-
|
563 |
-
|
564 |
-
#~
|
565 |
-
|
566 |
-
|
567 |
-
#~
|
568 |
-
|
569 |
-
|
570 |
-
#~
|
571 |
-
#~ "A pingback is
|
572 |
-
#~ "
|
573 |
-
#~ "
|
574 |
-
#~
|
575 |
-
#~
|
576 |
-
#~ "
|
577 |
-
#~ "
|
578 |
-
#~ "
|
579 |
-
|
580 |
-
|
581 |
-
#~
|
582 |
-
|
583 |
-
|
584 |
-
#~
|
585 |
-
#~ "
|
586 |
-
#~ "
|
587 |
-
#~
|
588 |
-
#~
|
589 |
-
#~ "
|
590 |
-
#~ "
|
591 |
-
#~ "
|
592 |
-
|
593 |
-
|
594 |
-
#~
|
595 |
-
|
596 |
-
|
597 |
-
#~
|
598 |
-
|
599 |
-
|
600 |
-
#~
|
601 |
-
#~ "
|
602 |
-
#~ "
|
603 |
-
#~
|
604 |
-
#~
|
605 |
-
#~ "
|
606 |
-
#~ "
|
607 |
-
|
608 |
-
|
609 |
-
#~
|
610 |
-
#~ "
|
611 |
-
#~ "
|
612 |
-
#~
|
613 |
-
#~
|
614 |
-
#~ "
|
615 |
-
#~ "
|
616 |
-
|
617 |
-
|
618 |
-
#~
|
619 |
-
#~ msgstr "Webcraftic отключить комментарии"
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: clearfy\n"
|
4 |
+
"POT-Creation-Date: 2018-10-16 22:49+0300\n"
|
5 |
+
"PO-Revision-Date: 2018-10-16 22:49+0300\n"
|
6 |
+
"Last-Translator: alex.kovalevv@gmail.com <alex.kovalevv@gmail.com>\n"
|
7 |
+
"Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
|
8 |
+
"Language: ru_RU\n"
|
9 |
+
"MIME-Version: 1.0\n"
|
10 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
+
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"X-Generator: Poedit 2.1.1\n"
|
13 |
+
"X-Poedit-Basepath: ..\n"
|
14 |
+
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
15 |
+
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
16 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
17 |
+
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
18 |
+
"X-Poedit-SearchPath-0: .\n"
|
19 |
+
"X-Poedit-SearchPathExcluded-0: libs\n"
|
20 |
+
|
21 |
+
#: admin/boot.php:56
|
22 |
+
#, php-format
|
23 |
+
msgid ""
|
24 |
+
"We found that you have the plugin %s installed. The functions of this plugin "
|
25 |
+
"already exist in %s. Please deactivate plugin %s to avoid conflicts between "
|
26 |
+
"plugins functions."
|
27 |
+
msgstr ""
|
28 |
+
"Мы обнаружили, что у вас установлен плагин %s, функции этого плагина уже "
|
29 |
+
"есть в %s. Пожалуйста, деактивируйте плагин %s во избежание конфликтов между "
|
30 |
+
"функциями плагинов."
|
31 |
+
|
32 |
+
#: admin/boot.php:57
|
33 |
+
#, php-format
|
34 |
+
msgid ""
|
35 |
+
"If you do not want to deactivate the plugin %s for some reason, we strongly "
|
36 |
+
"recommend do not use the same plugins functions at the same time!"
|
37 |
+
msgstr ""
|
38 |
+
"Если по какой-то причине вы не хотите деактивировать плагин %s, то мы "
|
39 |
+
"настоятельно рекомендуем не использовать похожие функции плагинов "
|
40 |
+
"одновременно!"
|
41 |
+
|
42 |
+
#: admin/boot.php:117 admin/pages/cyrlitera.php:118
|
43 |
+
msgid "Use transliteration"
|
44 |
+
msgstr "Использовать транслитерацию"
|
45 |
+
|
46 |
+
#: admin/boot.php:123 admin/pages/cyrlitera.php:136
|
47 |
+
msgid "Force transliteration"
|
48 |
+
msgstr "Принудильная траслитерация"
|
49 |
+
|
50 |
+
#: admin/boot.php:129 admin/pages/cyrlitera.php:165
|
51 |
+
msgid "Don't use transliteration in frontend"
|
52 |
+
msgstr "Не использовать транслитерацию на фронтенде"
|
53 |
+
|
54 |
+
#: admin/boot.php:135 admin/pages/cyrlitera.php:127
|
55 |
+
msgid "Convert file names"
|
56 |
+
msgstr "Конвертировать имена файлов"
|
57 |
+
|
58 |
+
#: admin/boot.php:141 admin/pages/cyrlitera.php:145
|
59 |
+
msgid "Convert file names into lowercase"
|
60 |
+
msgstr "Преобразовывать имена файлов в нижний регистр"
|
61 |
+
|
62 |
+
#: admin/boot.php:147 admin/pages/cyrlitera.php:155
|
63 |
+
msgid "Redirection old URLs to new ones"
|
64 |
+
msgstr "Перенаправление со старых URL на новые"
|
65 |
+
|
66 |
+
#: admin/boot.php:153 admin/pages/cyrlitera.php:175
|
67 |
+
msgid "Character Sets"
|
68 |
+
msgstr "Наборы символов"
|
69 |
+
|
70 |
+
#: admin/boot.php:174
|
71 |
+
msgid "Get ultimate plugin free"
|
72 |
+
msgstr "Получите полную версию плагина бесплатно"
|
73 |
+
|
74 |
+
#: admin/pages/cyrlitera.php:39 admin/pages/cyrlitera.php:57
|
75 |
+
msgid "Transliteration"
|
76 |
+
msgstr "Транслитерация"
|
77 |
+
|
78 |
+
#: admin/pages/cyrlitera.php:57
|
79 |
+
msgid "General"
|
80 |
+
msgstr "Основные"
|
81 |
+
|
82 |
+
#: admin/pages/cyrlitera.php:111
|
83 |
+
msgid "Transliteration of Cyrillic alphabet."
|
84 |
+
msgstr "Транслитерация кириллицы."
|
85 |
+
|
86 |
+
#: admin/pages/cyrlitera.php:111
|
87 |
+
msgid ""
|
88 |
+
"Converts Cyrillic permalinks of post, pages, taxonomies and media files to "
|
89 |
+
"the Latin alphabet. Supports Russian, Ukrainian, Georgian, Bulgarian "
|
90 |
+
"languages. Example: http://site.dev/последние-новости -> http://site.dev/"
|
91 |
+
"poslednie-novosti"
|
92 |
+
msgstr ""
|
93 |
+
"Конвертирует кириллические постоянные ссылки записей, страниц, таксономий и "
|
94 |
+
"медиафайлов в латиницу. Поддерживает Русский, Украинский, Грузинский, "
|
95 |
+
"Болгарский языки. Пример: http://site.dev/последние-новости -> http://site."
|
96 |
+
"dev/poslednie-novosti"
|
97 |
+
|
98 |
+
#: admin/pages/cyrlitera.php:120
|
99 |
+
msgid ""
|
100 |
+
"If you enable this option, all URLs of new pages, posts, tags, and "
|
101 |
+
"categories will automatically be converted to Latin."
|
102 |
+
msgstr ""
|
103 |
+
"Если включить эту опцию, все URL новых страниц, записей, меток, рубрик будут "
|
104 |
+
"автоматически конвертироваться в латиницу."
|
105 |
+
|
106 |
+
#: admin/pages/cyrlitera.php:129
|
107 |
+
msgid ""
|
108 |
+
"This option works only for new media library files. All Cyrillic names of "
|
109 |
+
"the downloaded files will be converted to names with Latin characters."
|
110 |
+
msgstr ""
|
111 |
+
"Эта опция работает только для новых файлов медиа библиотеки. Все "
|
112 |
+
"кириллические имена загружаемых файлов, будут преобразованы в имена с "
|
113 |
+
"латинскими символами."
|
114 |
+
|
115 |
+
#: admin/pages/cyrlitera.php:138
|
116 |
+
#, php-format
|
117 |
+
msgid ""
|
118 |
+
"If any of your plugins affects transliteration of links and file names, you "
|
119 |
+
"can use this option to change the plugin of %s to overwrite the changes of "
|
120 |
+
"the other plugins."
|
121 |
+
msgstr ""
|
122 |
+
"Если какой-то из установленных у вас плагинов влияет на траслитерацию "
|
123 |
+
"постоянный ссылок и файловых имен, включите эту опцию, чтобы %s "
|
124 |
+
"перезаписывал изменения других плагинов."
|
125 |
+
|
126 |
+
#: admin/pages/cyrlitera.php:147
|
127 |
+
msgid ""
|
128 |
+
"This function works only for new upload files. Example: File_Name.jpg -> "
|
129 |
+
"file_name.jpg"
|
130 |
+
msgstr ""
|
131 |
+
"Эта функция работает только для новых загружаемых файлов. Пример: File_Name."
|
132 |
+
"jpg -> file_name.jpg"
|
133 |
+
|
134 |
+
#: admin/pages/cyrlitera.php:157
|
135 |
+
msgid ""
|
136 |
+
"If at the time of the plugin installation you had pages with unconverted "
|
137 |
+
"links, use this option to redirect users from old to new URLs with the Latin "
|
138 |
+
"alphabet."
|
139 |
+
msgstr ""
|
140 |
+
"Если на момент установки плагина у вас были страницы с не преобразованными "
|
141 |
+
"ссылками, используйте эту опцию, чтобы пользователи, перешедшие по старым "
|
142 |
+
"ссылкам, были перенаправлены на новые URL на латинице."
|
143 |
+
|
144 |
+
#: admin/pages/cyrlitera.php:167
|
145 |
+
msgid "Enable when have a problem in frontend."
|
146 |
+
msgstr "Включите эту опцию, если у вас есть проблемы с внешней стороны сайта."
|
147 |
+
|
148 |
+
#: admin/pages/cyrlitera.php:176
|
149 |
+
msgid ""
|
150 |
+
"You can supplement current base of transliteration characters. Write pairs "
|
151 |
+
"of values separated by commas. Example:"
|
152 |
+
msgstr ""
|
153 |
+
"Вы можете дополнить текущую базу символов транслитерации, пишите пары "
|
154 |
+
"значений через запятую. Пример: "
|
155 |
+
|
156 |
+
#: admin/pages/cyrlitera.php:242
|
157 |
+
msgid ""
|
158 |
+
"If at the time of the plugin installation you already had posts, pages, tags "
|
159 |
+
"and categories, click on this button and the plugin will automatically "
|
160 |
+
"convert URLs into Latin. Attention! Previously uploaded files will not be "
|
161 |
+
"converted."
|
162 |
+
msgstr ""
|
163 |
+
"Если на момент установки плагина у вас уже были созданы записи, страницы, "
|
164 |
+
"метки и рубрики, то нажмите на эту кнопку и плагин автоматически преобразует "
|
165 |
+
"URLы в латинские. Внимание! Ранее загруженные файлы преобразованы не будут."
|
166 |
+
|
167 |
+
#: admin/pages/cyrlitera.php:251
|
168 |
+
msgid "Convert already created posts and categories"
|
169 |
+
msgstr "Преобразовать уже созданные записи и рубрики"
|
170 |
+
|
171 |
+
#: admin/pages/cyrlitera.php:253
|
172 |
+
msgid "Url of old posts, pages,terms,tags successfully converted into Latin!"
|
173 |
+
msgstr ""
|
174 |
+
"Url старых записей, страниц, тегов и рубрик были успешно конвертированы в "
|
175 |
+
"литинские!"
|
176 |
+
|
177 |
+
#: admin/pages/cyrlitera.php:263
|
178 |
+
msgid ""
|
179 |
+
"Allows you to restore converted URLs by using the \"Convert already created "
|
180 |
+
"posts and categories\" button. This can be useful in case of incorrect URLs "
|
181 |
+
"or incorrect transliteration of some characters. You can roll back changes "
|
182 |
+
"and advance the character sets above to correct the plugin's work. "
|
183 |
+
msgstr ""
|
184 |
+
"Позволяет восстановить преобразованные с помощью кнопки “Преобразовать уже "
|
185 |
+
"созданные записи и рубрики” URLы. Это может быть полезно в случае появления "
|
186 |
+
"некорректных URL адресов или неправильной транслитерации определенных "
|
187 |
+
"символов. У вас есть возможность откатить изменения и изменить наборы "
|
188 |
+
"символов выше, чтобы скорректировать работу плагина."
|
189 |
+
|
190 |
+
#: admin/pages/cyrlitera.php:272
|
191 |
+
msgid "Rollback changes"
|
192 |
+
msgstr "Откатить изменения"
|
193 |
+
|
194 |
+
#: admin/pages/cyrlitera.php:274
|
195 |
+
msgid "The rollback of new changes was successful!"
|
196 |
+
msgstr "Откат новых изменений прошел успешно!"
|
197 |
+
|
198 |
+
#: cyrlitera.php:63
|
199 |
+
msgid "Webcraftic Cyrlitera"
|
200 |
+
msgstr "Webcraftic Cyrlitera"
|
201 |
+
|
202 |
+
#~ msgid ""
|
203 |
+
#~ "We found that you have the \"Clearfy - disable unused features\" plugin "
|
204 |
+
#~ "installed, this plugin already has disable comments functions, so you can "
|
205 |
+
#~ "deactivate plugin \"Webcraftic Cyrlitera\"!"
|
206 |
+
#~ msgstr ""
|
207 |
+
#~ "Мы обнаружили, что у вас установлен плагин «Clearfy - отключить "
|
208 |
+
#~ "неиспользуемые функции», этот плагин уже имеет функции отключения "
|
209 |
+
#~ "комментариев, поэтому вы можете отключить плагин «Webcraftic Cyrlitera»!"
|
210 |
+
|
211 |
+
#~ msgid ""
|
212 |
+
#~ "You can supplement current base of transliteration characters. Write "
|
213 |
+
#~ "pairs of values in lower case separated by commas. Example:"
|
214 |
+
#~ msgstr ""
|
215 |
+
#~ "Вы можете дополнить текущую базу символов транслитерации, пишите пары "
|
216 |
+
#~ "значений в нижнем регистре через запятую. Пример: ა=a,ბ=b"
|
217 |
+
|
218 |
+
#~ msgid ""
|
219 |
+
#~ "If any of your plugins affects transliteration of links, you can use this "
|
220 |
+
#~ "option to change the plugin of %s to overwrite the changes of the other "
|
221 |
+
#~ "plugins."
|
222 |
+
#~ msgstr ""
|
223 |
+
#~ "Если какой-то из установленных у вас плагинов влияет на траслитерацию "
|
224 |
+
#~ "постоянный ссылок, включите эту опцию, чтобы %s перезаписывал изменения "
|
225 |
+
#~ "других плагинов."
|
226 |
+
|
227 |
+
#~ msgid ""
|
228 |
+
#~ "We found that you have the \"Clearfy - disable unused features\" plugin "
|
229 |
+
#~ "installed, this plugin already has disable comments functions, so you can "
|
230 |
+
#~ "deactivate plugin \"Cyrilic transliteration\"!"
|
231 |
+
#~ msgstr ""
|
232 |
+
#~ "Мы обнаружили, что у вас установлен плагин «Clearfy - отключить "
|
233 |
+
#~ "неиспользуемые функции», этот плагин уже имеет функции отключения "
|
234 |
+
#~ "комментариев, поэтому вы можете отключить плагин «Транслитерация "
|
235 |
+
#~ "кириллицы»!"
|
236 |
+
|
237 |
+
#~ msgid "Webcraftic cyrilic transliteration"
|
238 |
+
#~ msgstr "Webcraftic транслитерация кириллицы"
|
239 |
+
|
240 |
+
#~ msgid ""
|
241 |
+
#~ "If you enable this option, the permanent URLs of all previously published "
|
242 |
+
#~ "posts and pages will be converted into URLs with Latin characters. All "
|
243 |
+
#~ "new pages and posts will also have a URL in the Latin alphabet."
|
244 |
+
#~ msgstr ""
|
245 |
+
#~ "Если включить эту опцию, постоянные URL всех ранее опубликованных записей "
|
246 |
+
#~ "и страниц будут преобразованы в URL с латинскими символами. Все новые "
|
247 |
+
#~ "страницы и записи, также будут иметь URL на латинице."
|
248 |
+
|
249 |
+
#~ msgid "You don't have enough capability to edit this information."
|
250 |
+
#~ msgstr "Вы не имеете разрешения на редактирование этого!"
|
251 |
+
|
252 |
+
#~ msgid "Undefinded notice id."
|
253 |
+
#~ msgstr "Не передан notice id."
|
254 |
+
|
255 |
+
#~ msgid "Success"
|
256 |
+
#~ msgstr "Успешно"
|
257 |
+
|
258 |
+
#~ msgid "Hide admin notices"
|
259 |
+
#~ msgstr "Скрыть уведомления"
|
260 |
+
|
261 |
+
#~ msgid "Enable hidden notices in adminbar"
|
262 |
+
#~ msgstr "Включить уведомления в админбаре"
|
263 |
+
|
264 |
+
#~ msgid "Admin notifications, Update nags"
|
265 |
+
#~ msgstr "Уведомления администратора, уведомления об обновлении Wordpress"
|
266 |
+
|
267 |
+
#~ msgid ""
|
268 |
+
#~ "Do you know the situation, when some plugin offers you to update to "
|
269 |
+
#~ "premium, to collect technical data and shows many annoying notices? You "
|
270 |
+
#~ "are close these notices every now and again but they newly appears and "
|
271 |
+
#~ "interfere your work with WordPress. Even worse, some plugin’s authors "
|
272 |
+
#~ "delete “close” button from notices and they shows in your admin panel "
|
273 |
+
#~ "forever."
|
274 |
+
#~ msgstr ""
|
275 |
+
#~ "Вам знакома ситуация, когда какой-то плагин просит вас обновиться до "
|
276 |
+
#~ "премиум-версии, получить права на сбор данных о вашем сайте и создает "
|
277 |
+
#~ "много раздражающих уведомлений? Вы закрываете эти уведомления раз за "
|
278 |
+
#~ "разом, но они вновь появляются и мешают вашей работе с WordPress. Хуже "
|
279 |
+
#~ "того, некоторые авторы и вовсе удаляют кнопку “закрыть” из уведомлений, и "
|
280 |
+
#~ "они висят в шапке вашей панели администратора целую вечность."
|
281 |
+
|
282 |
+
#~ msgid "All notices"
|
283 |
+
#~ msgstr "Все уведомления"
|
284 |
+
|
285 |
+
#~ msgid "Hide all notices globally."
|
286 |
+
#~ msgstr "Скрыть все уведомления глобально."
|
287 |
+
|
288 |
+
#~ msgid "Only selected"
|
289 |
+
#~ msgstr "Только выбранные"
|
290 |
+
|
291 |
+
#~ msgid ""
|
292 |
+
#~ "Hide selected notices only. You will see the link \"Hide notification "
|
293 |
+
#~ "forever\" in each notice. Push it and they will not bother you anymore."
|
294 |
+
#~ msgstr ""
|
295 |
+
#~ "Скрывать только выбранные уведомления. В каждом уведомлении вы увидите "
|
296 |
+
#~ "ссылку \"Скрыть уведомление навсегда\". Нажмите на неё и уведомление "
|
297 |
+
#~ "будет скрыто навсегда и перестанет вас беспокоить."
|
298 |
+
|
299 |
+
#~ msgid "Don't nide"
|
300 |
+
#~ msgstr "Не скрывать"
|
301 |
+
|
302 |
+
#~ msgid ""
|
303 |
+
#~ "Do not hide notices and do not show “Hide notification forever” link for "
|
304 |
+
#~ "admin."
|
305 |
+
#~ msgstr ""
|
306 |
+
#~ "Не скрывать уведомления и не показывать ссылку \"Скрыть уведомление "
|
307 |
+
#~ "навсегда\" в уведомлениях администратора."
|
308 |
+
|
309 |
+
#~ msgid ""
|
310 |
+
#~ "Some plugins shows notifications about premium version, data collecting "
|
311 |
+
#~ "or promote their services. Even if you push close button (that sometimes "
|
312 |
+
#~ "are impossible), notices are shows again in some time. This option allows "
|
313 |
+
#~ "you to control notices. Hide them all or each individually. Some plugins "
|
314 |
+
#~ "shows notifications about premium version, data collecting or promote "
|
315 |
+
#~ "their services. Even if you push close button (that sometimes are "
|
316 |
+
#~ "impossible), notices are shows again in some time. This option allows you "
|
317 |
+
#~ "to control notices. Hide them all or each individually."
|
318 |
+
#~ msgstr ""
|
319 |
+
#~ "Зачастую, плагины отображают уведомления о возможности перехода на "
|
320 |
+
#~ "премиум версию, просят разрешение на сбор данных, рекламируют свои "
|
321 |
+
#~ "услуги. Даже если вы нажмете кнопку закрыть (что не всегда возможно), "
|
322 |
+
#~ "уведомления всё равно отобразятся через какое-то время. С помощью этой "
|
323 |
+
#~ "настройки, вы можете контролировать эти уведомления. Скройте их все сразу "
|
324 |
+
#~ "или каждое по отдельности."
|
325 |
+
|
326 |
+
#~ msgid ""
|
327 |
+
#~ "By default, the plugin hides all notices, which you specified. If you "
|
328 |
+
#~ "enable this option, the plugin will collect all hidden notices and show "
|
329 |
+
#~ "them into the top admin toolbar. It will not disturb you but will allow "
|
330 |
+
#~ "to look notices at your convenience."
|
331 |
+
#~ msgstr ""
|
332 |
+
#~ "По умолчанию, плагин полностью скрывает отключенные вами уведомления. "
|
333 |
+
#~ "Если включить эту опцию, то плагин будет собирать все скрытые вами "
|
334 |
+
#~ "уведомления и выводить в верхней панели администратора. Это не будет вас "
|
335 |
+
#~ "раздражать, но и позволит просматривать уведомления, когда вам это удобно."
|
336 |
+
|
337 |
+
#~ msgid "Push reset hidden notices if you need to show hidden notices again."
|
338 |
+
#~ msgstr "Нажмите кнопку \\\"Сбросить скрытые уведомления\\\""
|
339 |
+
|
340 |
+
#~ msgid "Reset hidden notices (%s)"
|
341 |
+
#~ msgstr "Сбросить скрытые уведомления (%s)"
|
342 |
+
|
343 |
+
#~ msgid "Hidden notices are successfully reset, now you can see them again!"
|
344 |
+
#~ msgstr ""
|
345 |
+
#~ "Скрытые уведомления успешно восстановлены, теперь вы можете снова видеть "
|
346 |
+
#~ "их!"
|
347 |
+
|
348 |
+
#~ msgid "Notices"
|
349 |
+
#~ msgstr "Уведомления"
|
350 |
+
|
351 |
+
#~ msgid ""
|
352 |
+
#~ "We found that you have the \"Clearfy - disable unused features\" plugin "
|
353 |
+
#~ "installed, this plugin already has disable comments functions, so you can "
|
354 |
+
#~ "deactivate plugin \"Disable admin notices\"!"
|
355 |
+
#~ msgstr ""
|
356 |
+
#~ "Мы обнаружили, что у вас установлен плагин «Clearfy - отключить "
|
357 |
+
#~ "неиспользуемые функции», этот плагин уже имеет функции отключения "
|
358 |
+
#~ "комментариев, поэтому вы можете отключить плагин «Скрыть уведомления "
|
359 |
+
#~ "администратора»!"
|
360 |
+
|
361 |
+
#~ msgid "Webcraftic disable admin notices"
|
362 |
+
#~ msgstr "Webcraftic отключить уведомления администратора"
|
363 |
+
|
364 |
+
#~ msgid "Notifications %s"
|
365 |
+
#~ msgstr "Уведомления %s"
|
366 |
+
|
367 |
+
#~ msgid "Restore notice"
|
368 |
+
#~ msgstr "Восстановить уведомление"
|
369 |
+
|
370 |
+
#~ msgid "Hide notification forever"
|
371 |
+
#~ msgstr "Скрыть уведомление навсегда"
|
372 |
+
|
373 |
+
#~ msgid "Hidden notices"
|
374 |
+
#~ msgstr "Скрытые уведомления"
|
375 |
+
|
376 |
+
#~ msgid "Disable comments on the entire site"
|
377 |
+
#~ msgstr "Отключить комментарии на всем сайте"
|
378 |
+
|
379 |
+
#~ msgid "Select post types"
|
380 |
+
#~ msgstr "Выбрать тип записи"
|
381 |
+
|
382 |
+
#~ msgid "Replace external links in comments on the JavaScript code"
|
383 |
+
#~ msgstr "Заменить внешние ссылки в комментариях на JavaScript код"
|
384 |
+
|
385 |
+
#~ msgid "Replace external links from comment authors on the JavaScript code"
|
386 |
+
#~ msgstr "Заменить внешние ссылки от авторов комментариев на код JavaScript"
|
387 |
+
|
388 |
+
#~ msgid "Disable X-Pingback"
|
389 |
+
#~ msgstr "Убрать ссылку на X-Pingback и возможность спамить pingback-ами"
|
390 |
+
|
391 |
+
#~ msgid "Remove field \"site\" in comment form"
|
392 |
+
#~ msgstr "Удаляет поле \"Сайт\" в форме комментариев"
|
393 |
+
|
394 |
+
#~ msgid "Disable all comments"
|
395 |
+
#~ msgstr "Отключить все комментарии"
|
396 |
+
|
397 |
+
#~ msgid "Comments"
|
398 |
+
#~ msgstr "Комментарии"
|
399 |
+
|
400 |
+
#~ msgid ""
|
401 |
+
#~ "Hide selected notices only. You will see the link \"Hide notification "
|
402 |
+
#~ "forever\" in each notice. Push it and they will not bother you anymore. "
|
403 |
+
#~ "Push <a href=\"%s\">reset hidden notices (%d)</a> if you need to show "
|
404 |
+
#~ "hidden notices again."
|
405 |
+
#~ msgstr ""
|
406 |
+
#~ "Скрывать только выбранные уведомления. В каждом уведомлении вы увидите "
|
407 |
+
#~ "ссылку \"Скрыть уведомление навсегда\". Нажмите на неё и уведомление "
|
408 |
+
#~ "будет скрыто навсегда и перестанет вас беспокоить. Нажмите <a href=\"%s"
|
409 |
+
#~ "\">сбросить скрытые уведомления (%d)</a>, если вам нужно восстановить "
|
410 |
+
#~ "показ скрытых ранее уведомлений."
|
411 |
+
|
412 |
+
#~ msgid "Webcraftic hide admin notices"
|
413 |
+
#~ msgstr "Webcraftic скрыть уведомления администратора"
|
414 |
+
|
415 |
+
#~ msgid "Comments tweaks"
|
416 |
+
#~ msgstr "Инструменты комментариев"
|
417 |
+
|
418 |
+
#~ msgid "All comments have been deleted."
|
419 |
+
#~ msgstr "Все комментарии были удалены."
|
420 |
+
|
421 |
+
#~ msgid ""
|
422 |
+
#~ "An error occurred while trying to delete comments. Internal error "
|
423 |
+
#~ "occured. Please try again later."
|
424 |
+
#~ msgstr ""
|
425 |
+
#~ "При попытке удалить комментарии произошла ошибка. Пожалуйста, повторите "
|
426 |
+
#~ "попытку позже."
|
427 |
+
|
428 |
+
#~ msgid "You are not allowed to view this page."
|
429 |
+
#~ msgstr "Вам не разрешено просматривать эту страницу."
|
430 |
+
|
431 |
+
#~ msgid "You do not have the selected post types!"
|
432 |
+
#~ msgstr "Вы не выбрали еще ни одного типа записей!"
|
433 |
+
|
434 |
+
#~ msgid "No comments available for deletion."
|
435 |
+
#~ msgstr "Нет комментариев для удаления."
|
436 |
+
|
437 |
+
#~ msgid ""
|
438 |
+
#~ "Are you sure that you desire to delete all comments from the database?"
|
439 |
+
#~ msgstr "Вы уверены, что хотите удалить все комментарии из базы данных?"
|
440 |
+
|
441 |
+
#~ msgid ""
|
442 |
+
#~ "Deleting comments will remove existing comment entries in the database "
|
443 |
+
#~ "and cannot be reverted without a database backup."
|
444 |
+
#~ msgstr ""
|
445 |
+
#~ "При удалении комментариев удаляются существующие записи комментариев в "
|
446 |
+
#~ "базе данных, они не могут быть восстановлены без резервного копирования "
|
447 |
+
#~ "базы данных."
|
448 |
+
|
449 |
+
#~ msgid "You have %s comments"
|
450 |
+
#~ msgstr "У вас есть %s комментариев"
|
451 |
+
|
452 |
+
#~ msgid "Yes, I'm sure"
|
453 |
+
#~ msgstr "Да, я уверен"
|
454 |
+
|
455 |
+
#~ msgid "No, return back"
|
456 |
+
#~ msgstr "Нет, вернуться"
|
457 |
+
|
458 |
+
#~ msgid ""
|
459 |
+
#~ "Are you sure that you desire to delete all comments from the database for "
|
460 |
+
#~ "the selected post types (%s)?"
|
461 |
+
#~ msgstr ""
|
462 |
+
#~ "Вы уверены, что хотите удалить все комментарии из базы данных для "
|
463 |
+
#~ "выбранных типов записей (%s)?"
|
464 |
+
|
465 |
+
#~ msgid "Disable comments"
|
466 |
+
#~ msgstr "Отключить комментарии"
|
467 |
+
|
468 |
+
#~ msgid "Not disable"
|
469 |
+
#~ msgstr "Не отключать"
|
470 |
+
|
471 |
+
#~ msgid "Everywhere"
|
472 |
+
#~ msgstr "Повсюду"
|
473 |
+
|
474 |
+
#~ msgid ""
|
475 |
+
#~ "You can delete all comments in the database by clicking on this link (<a "
|
476 |
+
#~ "href=\"%s\">cleaning comments in database</a>)."
|
477 |
+
#~ msgstr ""
|
478 |
+
#~ "Вы можете удалить все комментарии в базе данных, нажав на эту ссылку ( <a "
|
479 |
+
#~ "href=\"%s\">очистка комментариев в базе данных</a> )."
|
480 |
+
|
481 |
+
#~ msgid "On certain post types"
|
482 |
+
#~ msgstr "Только выбранные типы записей"
|
483 |
+
|
484 |
+
#~ msgid ""
|
485 |
+
#~ "You can delete all comments for the selected post types. Select the post "
|
486 |
+
#~ "types below and save the settings. After that, click the link (<a href="
|
487 |
+
#~ "\"%s\">delete all comments for the selected post types in database</a>)."
|
488 |
+
#~ msgstr ""
|
489 |
+
#~ "Вы можете удалить все комментарии для выбранных типов записей. Выберите "
|
490 |
+
#~ "типы записей ниже и сохраните настройки. После этого нажмите ссылку ( <a "
|
491 |
+
#~ "href=\"%s\">удалите все комментарии для выбранных типов записей в базе "
|
492 |
+
#~ "данных</a> )."
|
493 |
+
|
494 |
+
#~ msgid ""
|
495 |
+
#~ "Everywhere - Warning: This option is global and will affect your entire "
|
496 |
+
#~ "site. Use it only if you want to disable comments everywhere. A complete "
|
497 |
+
#~ "description of what this option does is available here"
|
498 |
+
#~ msgstr ""
|
499 |
+
#~ "Повсюду - предупреждение: этот параметр является глобальным и повлияет на "
|
500 |
+
#~ "весь ваш сайт. Используйте его только в том случае, если вы хотите "
|
501 |
+
#~ "отключить комментарии повсюду. "
|
502 |
+
|
503 |
+
#~ msgid ""
|
504 |
+
#~ "On certain post types - Disabling comments will also disable trackbacks "
|
505 |
+
#~ "and pingbacks. All comment-related fields will also be hidden from the "
|
506 |
+
#~ "edit/quick-edit screens of the affected posts. These settings cannot be "
|
507 |
+
#~ "overridden for individual posts."
|
508 |
+
#~ msgstr ""
|
509 |
+
#~ "В некоторых типах сообщений - отключение комментариев также отключает "
|
510 |
+
#~ "трекбэки и pingback. Все поля, связанные с комментариями, также будут "
|
511 |
+
#~ "скрыты от экранов редактирования / быстрого редактирования затронутых "
|
512 |
+
#~ "сообщений. Эти настройки нельзя переопределять для отдельных сообщений."
|
513 |
+
|
514 |
+
#~ msgid "Select the post types for which comments will be disabled"
|
515 |
+
#~ msgstr "Выберите типы записей, для которых комментарии будут отключены."
|
516 |
+
|
517 |
+
#~ msgid ""
|
518 |
+
#~ "Tired of spam in the comments? Do visitors leave \"blank\" comments for "
|
519 |
+
#~ "the sake of a link to their site?"
|
520 |
+
#~ msgstr ""
|
521 |
+
#~ "Надоел спам в комментариях? Посетители оставляют «пустые» комментарии "
|
522 |
+
#~ "ради ссылки на свой сайт?"
|
523 |
+
|
524 |
+
#~ msgid "Removes the \"Site\" field from the comment form."
|
525 |
+
#~ msgstr "Убирает поле «Сайт» из формы комментирования."
|
526 |
+
|
527 |
+
#~ msgid ""
|
528 |
+
#~ "Works with the standard comment form, if the form is manually written in "
|
529 |
+
#~ "your theme-it probably will not work!"
|
530 |
+
#~ msgstr ""
|
531 |
+
#~ "Работает со стандартной формой комментирования, если в Вашей теме форма "
|
532 |
+
#~ "прописана вручную - скорей всего не сработает!"
|
533 |
+
|
534 |
+
#~ msgid "Recommended"
|
535 |
+
#~ msgstr "Рекомендовано"
|
536 |
+
|
537 |
+
#~ msgid ""
|
538 |
+
#~ "Superfluous external links from comments, which can be typed from a dozen "
|
539 |
+
#~ "and more for one article, do not bring anything good for promotion."
|
540 |
+
#~ msgstr ""
|
541 |
+
#~ "Внешние ссылки в комментариях, которых может быть десятки или больше на "
|
542 |
+
#~ "одной странице, могут ухудшить продвижение вашего сайта."
|
543 |
+
|
544 |
+
#~ msgid "Replaces the links of this kind of %s, on links of this kind %s"
|
545 |
+
#~ msgstr ""
|
546 |
+
#~ "Заменяет ссылки %s, на span тег и устанавливает переход с помощью "
|
547 |
+
#~ "JavaScript %s"
|
548 |
+
|
549 |
+
#~ msgid ""
|
550 |
+
#~ "Up to 90 percent of comments in the blog can be left for the sake of an "
|
551 |
+
#~ "external link. Even nofollow from page weight loss here does not help."
|
552 |
+
#~ msgstr ""
|
553 |
+
#~ "До 90 процентов комментариев в блоге оставляют ради внешней ссылки. Не "
|
554 |
+
#~ "поможет даже nofollow от потери веса страницы."
|
555 |
+
|
556 |
+
#~ msgid ""
|
557 |
+
#~ "Replaces the links of the authors of comments on the JavaScript code, it "
|
558 |
+
#~ "is impossible to distinguish it from usual links."
|
559 |
+
#~ msgstr ""
|
560 |
+
#~ "Заменяет ссылки авторов комментариев на JavaScript код, его невозможно "
|
561 |
+
#~ "отличить от обычной ссылки."
|
562 |
+
|
563 |
+
#~ msgid "In some Wordpress topics this may not work."
|
564 |
+
#~ msgstr "В некоторых темах Wordpress это может не сработать."
|
565 |
+
|
566 |
+
#~ msgid "Disable XML-RPC"
|
567 |
+
#~ msgstr "Отключить XML-RPC"
|
568 |
+
|
569 |
+
#~ msgid ""
|
570 |
+
#~ "A pingback is basically an automated comment that gets created when "
|
571 |
+
#~ "another blog links to you. A self-pingback is created when you link to an "
|
572 |
+
#~ "article within your own blog. Pingbacks are essentially nothing more than "
|
573 |
+
#~ "spam and simply waste resources."
|
574 |
+
#~ msgstr ""
|
575 |
+
#~ "Pingback по-существу автоматизированных комментарий, который создается, "
|
576 |
+
#~ "когда другой блог ссылается на вас. Self-pingback создается, когда вы "
|
577 |
+
#~ "оставили ссылку на статью в своем блоге. Pingbacks по существу являются "
|
578 |
+
#~ "не более чем спам и пустая трата ресурсов вашего сайта."
|
579 |
+
|
580 |
+
#~ msgid "Removes the server responses a reference to the xmlrpc file."
|
581 |
+
#~ msgstr "Удаляет ссылку на xmlrpc-файл и ответ сервера."
|
582 |
+
|
583 |
+
#~ msgid ""
|
584 |
+
#~ "We found that you have the \"Clearfy - disable unused features\" plugin "
|
585 |
+
#~ "installed, this plugin already has disable comments functions, so you can "
|
586 |
+
#~ "deactivate plugin \"Comments tweaks\"!"
|
587 |
+
#~ msgstr ""
|
588 |
+
#~ "Мы обнаружили, что у вас установлен плагин «Clearfy - отключить "
|
589 |
+
#~ "неиспользуемые функции», этот плагин уже имеет функции отключения "
|
590 |
+
#~ "комментариев, поэтому вы можете отключить плагин «Инструменты "
|
591 |
+
#~ "комментариев»!"
|
592 |
+
|
593 |
+
#~ msgid "Webcraftic comments tweaks"
|
594 |
+
#~ msgstr "Webcraftic инструменты комментариев"
|
595 |
+
|
596 |
+
#~ msgid "Comments are closed."
|
597 |
+
#~ msgstr "Комментарии Закрыты."
|
598 |
+
|
599 |
+
#~ msgid ""
|
600 |
+
#~ "Note: The <em>%s</em> plugin is currently active, and comments are "
|
601 |
+
#~ "completely disabled on: %s. Many of the settings below will not be "
|
602 |
+
#~ "applicable for those post types."
|
603 |
+
#~ msgstr ""
|
604 |
+
#~ "Примечание. Плагин <em>%s</em> в настоящий момент активен, и комментарии "
|
605 |
+
#~ "полностью отключены: %s. Многие из приведенных ниже настроек не будут "
|
606 |
+
#~ "применяться для этих типов сообщений."
|
607 |
+
|
608 |
+
#~ msgid ""
|
609 |
+
#~ "We found that you have the \"Clearfy - disable unused features\" plugin "
|
610 |
+
#~ "installed, this plugin already has disable comments functions, so you can "
|
611 |
+
#~ "deactivate plugin \"Disable comments\"!"
|
612 |
+
#~ msgstr ""
|
613 |
+
#~ "Мы обнаружили, что у вас установлен плагин «Clearfy - отключить "
|
614 |
+
#~ "неиспользуемые функции», этот плагин уже имеет функции отключения "
|
615 |
+
#~ "комментариев, поэтому вы можете отключить плагин «Отключить комментарии»!"
|
616 |
+
|
617 |
+
#~ msgid "Webcraftic Disable comments"
|
618 |
+
#~ msgstr "Webcraftic отключить комментарии"
|
|
components/cyrlitera/updates/010004.php
CHANGED
@@ -4,10 +4,10 @@
|
|
4 |
* Updates for altering the table used to store statistics data.
|
5 |
* Adds new columns and renames existing ones in order to add support for the new social buttons.
|
6 |
*/
|
7 |
-
class WCTR_Update010004 extends
|
8 |
|
9 |
public function install()
|
10 |
{
|
11 |
-
WCTR_Plugin::app()->
|
12 |
}
|
13 |
}
|
4 |
* Updates for altering the table used to store statistics data.
|
5 |
* Adds new columns and renames existing ones in order to add support for the new social buttons.
|
6 |
*/
|
7 |
+
class WCTR_Update010004 extends Wbcr_Factory409_Update {
|
8 |
|
9 |
public function install()
|
10 |
{
|
11 |
+
WCTR_Plugin::app()->deletePopulateOption('custom_symbols_pack');
|
12 |
}
|
13 |
}
|
components/disable-admin-notices/admin/ajax/hide-notice.php
CHANGED
@@ -15,36 +15,30 @@
|
|
15 |
{
|
16 |
check_ajax_referer(WDN_Plugin::app()->getPluginName() . '_ajax_hide_notices_nonce', 'security');
|
17 |
|
18 |
-
if(
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
$notice_id = isset($_POST['notice_id'])
|
24 |
-
? sanitize_text_field($_POST['notice_id'])
|
25 |
-
: null;
|
26 |
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
|
31 |
-
|
32 |
-
|
33 |
-
exit;
|
34 |
-
}
|
35 |
|
36 |
-
|
|
|
|
|
37 |
|
38 |
-
|
39 |
-
$get_hidden_notices = array();
|
40 |
-
}
|
41 |
|
42 |
-
|
43 |
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
}
|
49 |
|
50 |
-
add_action('
|
15 |
{
|
16 |
check_ajax_referer(WDN_Plugin::app()->getPluginName() . '_ajax_hide_notices_nonce', 'security');
|
17 |
|
18 |
+
if( current_user_can('manage_options') || current_user_can('manage_network') ) {
|
19 |
+
$notice_id = WDN_Plugin::app()->request->post('notice_id', null, true);
|
20 |
+
$notice_html = WDN_Plugin::app()->request->post('notice_html', null);
|
21 |
+
$notice_html = wp_kses($notice_html, array());
|
|
|
|
|
|
|
|
|
22 |
|
23 |
+
if( empty($notice_id) ) {
|
24 |
+
wp_send_json_error(array('error_message' => __('Undefinded notice id.', 'disable-admin-notices')));
|
25 |
+
}
|
26 |
|
27 |
+
$current_user_id = get_current_user_id();
|
28 |
+
$get_hidden_notices = get_user_meta($current_user_id, WDN_Plugin::app()->getOptionName('hidden_notices'), true);
|
|
|
|
|
29 |
|
30 |
+
if( !is_array($get_hidden_notices) ) {
|
31 |
+
$get_hidden_notices = array();
|
32 |
+
}
|
33 |
|
34 |
+
$get_hidden_notices[$notice_id] = rtrim(trim($notice_html));
|
|
|
|
|
35 |
|
36 |
+
update_user_meta($current_user_id, WDN_Plugin::app()->getOptionName('hidden_notices'), $get_hidden_notices);
|
37 |
|
38 |
+
wp_send_json_success();
|
39 |
+
} else {
|
40 |
+
wp_send_json_error(array('error_message' => __('You don\'t have enough capability to edit this information.', 'disable-admin-notices')));
|
41 |
+
}
|
42 |
}
|
43 |
|
44 |
+
add_action('wp_ajax_wbcr-dan-hide-notices', 'wbcr_dan_ajax_hide_notices');
|
components/disable-admin-notices/admin/ajax/restore-notice.php
CHANGED
@@ -15,30 +15,26 @@
|
|
15 |
{
|
16 |
check_ajax_referer(WDN_Plugin::app()->getPluginName() . '_ajax_restore_notice_nonce', 'security');
|
17 |
|
18 |
-
if(
|
19 |
-
|
20 |
-
exit;
|
21 |
-
}
|
22 |
-
|
23 |
-
$notice_id = isset($_POST['notice_id'])
|
24 |
-
? sanitize_text_field($_POST['notice_id'])
|
25 |
-
: null;
|
26 |
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
}
|
31 |
|
32 |
-
|
|
|
33 |
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
|
38 |
-
|
39 |
|
40 |
-
|
41 |
-
|
|
|
|
|
42 |
}
|
43 |
|
44 |
-
add_action('
|
15 |
{
|
16 |
check_ajax_referer(WDN_Plugin::app()->getPluginName() . '_ajax_restore_notice_nonce', 'security');
|
17 |
|
18 |
+
if( current_user_can('manage_options') || current_user_can('manage_network') ) {
|
19 |
+
$notice_id = WDN_Plugin::app()->request->post('notice_id', null, true);
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
|
21 |
+
if( empty($notice_id) ) {
|
22 |
+
wp_send_json_error(array('error_message' => __('Undefinded notice id.', 'disable-admin-notices')));
|
23 |
+
}
|
|
|
24 |
|
25 |
+
$current_user_id = get_current_user_id();
|
26 |
+
$get_hidden_notices = get_user_meta($current_user_id, WDN_Plugin::app()->getOptionName('hidden_notices'), true);
|
27 |
|
28 |
+
if( !empty($get_hidden_notices) && isset($get_hidden_notices[$notice_id]) ) {
|
29 |
+
unset($get_hidden_notices[$notice_id]);
|
30 |
+
}
|
31 |
|
32 |
+
update_user_meta($current_user_id, WDN_Plugin::app()->getOptionName('hidden_notices'), $get_hidden_notices);
|
33 |
|
34 |
+
wp_send_json_success();
|
35 |
+
} else {
|
36 |
+
wp_send_json_error(array('error_message' => __('You don\'t have enough capability to edit this information.', 'disable-admin-notices')));
|
37 |
+
}
|
38 |
}
|
39 |
|
40 |
+
add_action('wp_ajax_wbcr-dan-restore-notice', 'wbcr_dan_ajax_restore_notice');
|
components/disable-admin-notices/admin/assets/css/notifications-panel.css
CHANGED
@@ -1,65 +1,65 @@
|
|
1 |
-
/**
|
2 |
-
* Notification panel in admin bar
|
3 |
-
* @author Alex Kovalev <alex.kovalevv@gmail.com>
|
4 |
-
* @copyright Alex Kovalev 23.08.2017
|
5 |
-
*/
|
6 |
-
#wp-admin-bar-wbcr-han-notify-panel .wbcr-han-adminbar-counter {
|
7 |
-
background-color: #0073aa;
|
8 |
-
border-radius: 50%;
|
9 |
-
color: #fff;
|
10 |
-
font-weight: bold;
|
11 |
-
padding: 2px 6px;
|
12 |
-
font-size: 0.85em;
|
13 |
-
margin-left: 5px;
|
14 |
-
}
|
15 |
-
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper {
|
16 |
-
max-height: 500px;
|
17 |
-
overflow-y: scroll;
|
18 |
-
}
|
19 |
-
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu {
|
20 |
-
width: 400px;
|
21 |
-
padding: 0;
|
22 |
-
}
|
23 |
-
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li {
|
24 |
-
border-left: 4px solid #26292b;
|
25 |
-
padding: 0;
|
26 |
-
}
|
27 |
-
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li.wpnc-updated {
|
28 |
-
border-left-color: #7ad03a;
|
29 |
-
}
|
30 |
-
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li.wpnc-update-nag {
|
31 |
-
border-left-color: #ffba00;
|
32 |
-
}
|
33 |
-
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li.wpnc-error {
|
34 |
-
border-left-color: #dd3d36;
|
35 |
-
}
|
36 |
-
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .wbcr-han-panel-restore-notify-line {
|
37 |
-
text-align: right;
|
38 |
-
}
|
39 |
-
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .wbcr-han-panel-restore-notify-line a {
|
40 |
-
color: #ffba00 !important;
|
41 |
-
text-decoration: none !important;
|
42 |
-
}
|
43 |
-
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .wbcr-han-panel-restore-notify-line a:hover {
|
44 |
-
text-decoration: underline !important;
|
45 |
-
color: #ffc11a !important;
|
46 |
-
}
|
47 |
-
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .ab-item {
|
48 |
-
height: 100% !important;
|
49 |
-
white-space: normal !important;
|
50 |
-
padding: .5em 1em;
|
51 |
-
border-bottom: 1px solid #4a4f55;
|
52 |
-
color: #949494;
|
53 |
-
line-height: .5em;
|
54 |
-
}
|
55 |
-
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .ab-item a {
|
56 |
-
display: inline;
|
57 |
-
padding: 0;
|
58 |
-
margin: 0;
|
59 |
-
text-decoration: underline;
|
60 |
-
line-height: .5em;
|
61 |
-
color: #949494;
|
62 |
-
}
|
63 |
-
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu li:nth-child(2n) {
|
64 |
-
background: #26292b;
|
65 |
-
}
|
1 |
+
/**
|
2 |
+
* Notification panel in admin bar
|
3 |
+
* @author Alex Kovalev <alex.kovalevv@gmail.com>
|
4 |
+
* @copyright Alex Kovalev 23.08.2017
|
5 |
+
*/
|
6 |
+
#wp-admin-bar-wbcr-han-notify-panel .wbcr-han-adminbar-counter {
|
7 |
+
background-color: #0073aa;
|
8 |
+
border-radius: 50%;
|
9 |
+
color: #fff;
|
10 |
+
font-weight: bold;
|
11 |
+
padding: 2px 6px;
|
12 |
+
font-size: 0.85em;
|
13 |
+
margin-left: 5px;
|
14 |
+
}
|
15 |
+
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper {
|
16 |
+
max-height: 500px;
|
17 |
+
overflow-y: scroll;
|
18 |
+
}
|
19 |
+
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu {
|
20 |
+
width: 400px;
|
21 |
+
padding: 0;
|
22 |
+
}
|
23 |
+
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li {
|
24 |
+
border-left: 4px solid #26292b;
|
25 |
+
padding: 0;
|
26 |
+
}
|
27 |
+
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li.wpnc-updated {
|
28 |
+
border-left-color: #7ad03a;
|
29 |
+
}
|
30 |
+
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li.wpnc-update-nag {
|
31 |
+
border-left-color: #ffba00;
|
32 |
+
}
|
33 |
+
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li.wpnc-error {
|
34 |
+
border-left-color: #dd3d36;
|
35 |
+
}
|
36 |
+
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .wbcr-han-panel-restore-notify-line {
|
37 |
+
text-align: right;
|
38 |
+
}
|
39 |
+
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .wbcr-han-panel-restore-notify-line a {
|
40 |
+
color: #ffba00 !important;
|
41 |
+
text-decoration: none !important;
|
42 |
+
}
|
43 |
+
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .wbcr-han-panel-restore-notify-line a:hover {
|
44 |
+
text-decoration: underline !important;
|
45 |
+
color: #ffc11a !important;
|
46 |
+
}
|
47 |
+
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .ab-item {
|
48 |
+
height: 100% !important;
|
49 |
+
white-space: normal !important;
|
50 |
+
padding: .5em 1em;
|
51 |
+
border-bottom: 1px solid #4a4f55;
|
52 |
+
color: #949494;
|
53 |
+
line-height: .5em;
|
54 |
+
}
|
55 |
+
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .ab-item a {
|
56 |
+
display: inline;
|
57 |
+
padding: 0;
|
58 |
+
margin: 0;
|
59 |
+
text-decoration: underline;
|
60 |
+
line-height: .5em;
|
61 |
+
color: #949494;
|
62 |
+
}
|
63 |
+
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu li:nth-child(2n) {
|
64 |
+
background: #26292b;
|
65 |
+
}
|
components/disable-admin-notices/admin/assets/js/notifications-panel.js
CHANGED
@@ -13,6 +13,7 @@
|
|
13 |
|
14 |
var self = $(this),
|
15 |
noticeID = $(this).data('notice-id'),
|
|
|
16 |
counterEl = $('.wbcr-han-adminbar-counter');
|
17 |
|
18 |
if( !noticeID ) {
|
@@ -25,21 +26,34 @@
|
|
25 |
type: 'post',
|
26 |
dataType: 'json',
|
27 |
data: {
|
28 |
-
action: '
|
29 |
-
security:
|
30 |
notice_id: noticeID
|
31 |
},
|
32 |
-
success: function(
|
33 |
-
if(
|
34 |
-
|
35 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
return;
|
37 |
}
|
38 |
|
39 |
counterEl.text(counterEl.text() - 1);
|
40 |
self.closest('li').remove();
|
|
|
|
|
|
|
|
|
|
|
41 |
}
|
42 |
});
|
|
|
|
|
43 |
});
|
44 |
});
|
45 |
})(jQuery);
|
13 |
|
14 |
var self = $(this),
|
15 |
noticeID = $(this).data('notice-id'),
|
16 |
+
nonce = $(this).data('nonce'),
|
17 |
counterEl = $('.wbcr-han-adminbar-counter');
|
18 |
|
19 |
if( !noticeID ) {
|
26 |
type: 'post',
|
27 |
dataType: 'json',
|
28 |
data: {
|
29 |
+
action: 'wbcr-dan-restore-notice',
|
30 |
+
security: nonce,
|
31 |
notice_id: noticeID
|
32 |
},
|
33 |
+
success: function(response) {
|
34 |
+
if( !response || !response.success ) {
|
35 |
+
|
36 |
+
if( response.data.error_message ) {
|
37 |
+
console.log(response.data.error_message);
|
38 |
+
self.closest('li').show();
|
39 |
+
} else {
|
40 |
+
console.log(response);
|
41 |
+
}
|
42 |
+
|
43 |
return;
|
44 |
}
|
45 |
|
46 |
counterEl.text(counterEl.text() - 1);
|
47 |
self.closest('li').remove();
|
48 |
+
},
|
49 |
+
error: function(xhr, ajaxOptions, thrownError) {
|
50 |
+
console.log(xhr.status);
|
51 |
+
console.log(xhr.responseText);
|
52 |
+
console.log(thrownError);
|
53 |
}
|
54 |
});
|
55 |
+
|
56 |
+
return false;
|
57 |
});
|
58 |
});
|
59 |
})(jQuery);
|
components/disable-admin-notices/admin/boot.php
CHANGED
@@ -64,7 +64,7 @@
|
|
64 |
return $page_url;
|
65 |
}
|
66 |
|
67 |
-
add_filter('
|
68 |
|
69 |
|
70 |
|
64 |
return $page_url;
|
65 |
}
|
66 |
|
67 |
+
add_filter('wbcr_factory_pages_410_imppage_rating_widget_url', 'wbcr_dan_rating_widget_url', 10, 2);
|
68 |
|
69 |
|
70 |
|
components/disable-admin-notices/admin/options.php
CHANGED
@@ -63,6 +63,39 @@
|
|
63 |
)
|
64 |
);
|
65 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
$options[] = array(
|
67 |
'type' => 'checkbox',
|
68 |
'way' => 'buttons',
|
@@ -78,16 +111,12 @@
|
|
78 |
'html' => 'wbcr_dan_reset_notices_button'
|
79 |
);
|
80 |
|
81 |
-
$options[] = array(
|
82 |
-
'type' => 'separator'
|
83 |
-
);
|
84 |
-
|
85 |
return $options;
|
86 |
}
|
87 |
|
88 |
/**
|
89 |
* @param $form
|
90 |
-
* @param $page
|
91 |
* @return mixed
|
92 |
*/
|
93 |
function wbcr_dan_additionally_form_options($form, $page)
|
@@ -108,41 +137,53 @@
|
|
108 |
add_filter('wbcr_clr_additionally_form_options', 'wbcr_dan_additionally_form_options', 10, 2);
|
109 |
|
110 |
/**
|
111 |
-
* @param $html_builder
|
112 |
*/
|
113 |
function wbcr_dan_reset_notices_button($html_builder)
|
114 |
{
|
|
|
|
|
115 |
$form_name = $html_builder->getFormName();
|
116 |
$reseted = false;
|
117 |
|
118 |
if( isset($_POST['wbcr_dan_reset_action']) ) {
|
119 |
check_admin_referer($form_name, 'wbcr_dan_reset_nonce');
|
|
|
120 |
|
121 |
-
|
|
|
|
|
|
|
|
|
|
|
122 |
|
123 |
$reseted = true;
|
124 |
}
|
125 |
|
126 |
-
$count_hidden_notices = 0;
|
127 |
-
$hidden_notices = WDN_Plugin::app()->getOption('hidden_notices');
|
128 |
-
|
129 |
-
if( !empty($hidden_notices) ) {
|
130 |
-
$count_hidden_notices = sizeof($hidden_notices);
|
131 |
-
}
|
132 |
-
|
133 |
?>
|
134 |
<div class="form-group form-group-checkbox factory-control-reset_notices_button">
|
135 |
-
<label for="wbcr_clearfy_reset_notices_button" class="col-sm-
|
|
|
136 |
<span class="factory-hint-icon factory-hint-icon-grey" data-toggle="factory-tooltip" data-placement="right" title="" data-original-title="<?php _e('Push reset hidden notices if you need to show hidden notices again.', 'disable-admin-notices') ?>">
|
137 |
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAUUlEQVQIHU3BsQ1AQABA0X/komIrnQHYwyhqQ1hBo9KZRKL9CBfeAwy2ri42JA4mPQ9rJ6OVt0BisFM3Po7qbEliru7m/FkY+TN64ZVxEzh4ndrMN7+Z+jXCAAAAAElFTkSuQmCC" alt="">
|
138 |
</span>
|
139 |
</label>
|
140 |
|
141 |
-
<div class="control-group col-sm-
|
142 |
<div class="factory-checkbox factory-from-control-checkbox factory-buttons-way btn-group">
|
143 |
<form method="post">
|
144 |
<?php wp_nonce_field($form_name, 'wbcr_dan_reset_nonce'); ?>
|
145 |
-
<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
146 |
<?php if( $reseted ): ?>
|
147 |
<div style="color:green;margin-top:5px;"><?php _e('Hidden notices are successfully reset, now you can see them again!', 'disable-admin-notices') ?></div>
|
148 |
<?php endif; ?>
|
63 |
)
|
64 |
);
|
65 |
|
66 |
+
/*$options[] = array(
|
67 |
+
'type' => 'dropdown',
|
68 |
+
'name' => 'hide_admin_notices_for',
|
69 |
+
'way' => 'buttons',
|
70 |
+
'title' => __('Hide admin notices only for', 'disable-admin-notices'),
|
71 |
+
'data' => array(
|
72 |
+
array(
|
73 |
+
'user',
|
74 |
+
__('Current user', 'disable-admin-notices')
|
75 |
+
),
|
76 |
+
array(
|
77 |
+
'all_users',
|
78 |
+
__('All users', 'disable-admin-notices')
|
79 |
+
)
|
80 |
+
),
|
81 |
+
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'green'),
|
82 |
+
'hint' => __('Choose who to hide notifications for?', 'disable-admin-notices'),
|
83 |
+
'default' => 'user',
|
84 |
+
'events' => array(
|
85 |
+
'all' => array(
|
86 |
+
'show' => '.factory-control-hide_admin_notices_user_roles',
|
87 |
+
'hide' => '.factory-control-reset_notices_button'
|
88 |
+
),
|
89 |
+
'only_selected' => array(
|
90 |
+
'hide' => '.factory-control-hide_admin_notices_user_roles',
|
91 |
+
'show' => '.factory-control-reset_notices_button'
|
92 |
+
),
|
93 |
+
'not_hide' => array(
|
94 |
+
'hide' => '.factory-control-hide_admin_notices_user_roles, .factory-control-reset_notices_button'
|
95 |
+
)
|
96 |
+
)
|
97 |
+
);*/
|
98 |
+
|
99 |
$options[] = array(
|
100 |
'type' => 'checkbox',
|
101 |
'way' => 'buttons',
|
111 |
'html' => 'wbcr_dan_reset_notices_button'
|
112 |
);
|
113 |
|
|
|
|
|
|
|
|
|
114 |
return $options;
|
115 |
}
|
116 |
|
117 |
/**
|
118 |
* @param $form
|
119 |
+
* @param $page Wbcr_FactoryPages410_ImpressiveThemplate
|
120 |
* @return mixed
|
121 |
*/
|
122 |
function wbcr_dan_additionally_form_options($form, $page)
|
137 |
add_filter('wbcr_clr_additionally_form_options', 'wbcr_dan_additionally_form_options', 10, 2);
|
138 |
|
139 |
/**
|
140 |
+
* @param $html_builder Wbcr_FactoryForms410_Html
|
141 |
*/
|
142 |
function wbcr_dan_reset_notices_button($html_builder)
|
143 |
{
|
144 |
+
global $wpdb;
|
145 |
+
|
146 |
$form_name = $html_builder->getFormName();
|
147 |
$reseted = false;
|
148 |
|
149 |
if( isset($_POST['wbcr_dan_reset_action']) ) {
|
150 |
check_admin_referer($form_name, 'wbcr_dan_reset_nonce');
|
151 |
+
$reset_for_users = WDN_Plugin::app()->request->post('wbcr_dan_reset_for_users', 'current_user', true);
|
152 |
|
153 |
+
if( $reset_for_users == 'current_user' ) {
|
154 |
+
delete_user_meta(get_current_user_id(), WDN_Plugin::app()->getOptionName('hidden_notices'));
|
155 |
+
} else {
|
156 |
+
$meta_key = sanitize_key(WDN_Plugin::app()->getOptionName('hidden_notices'));
|
157 |
+
$wpdb->query("DELETE FROM {$wpdb->usermeta} WHERE meta_key = '{$meta_key}'");
|
158 |
+
}
|
159 |
|
160 |
$reseted = true;
|
161 |
}
|
162 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
163 |
?>
|
164 |
<div class="form-group form-group-checkbox factory-control-reset_notices_button">
|
165 |
+
<label for="wbcr_clearfy_reset_notices_button" class="col-sm-4 control-label">
|
166 |
+
<?= __('Reset hidden notices for', 'disable-admin-notices'); ?>
|
167 |
<span class="factory-hint-icon factory-hint-icon-grey" data-toggle="factory-tooltip" data-placement="right" title="" data-original-title="<?php _e('Push reset hidden notices if you need to show hidden notices again.', 'disable-admin-notices') ?>">
|
168 |
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAUUlEQVQIHU3BsQ1AQABA0X/komIrnQHYwyhqQ1hBo9KZRKL9CBfeAwy2ri42JA4mPQ9rJ6OVt0BisFM3Po7qbEliru7m/FkY+TN64ZVxEzh4ndrMN7+Z+jXCAAAAAElFTkSuQmCC" alt="">
|
169 |
</span>
|
170 |
</label>
|
171 |
|
172 |
+
<div class="control-group col-sm-8">
|
173 |
<div class="factory-checkbox factory-from-control-checkbox factory-buttons-way btn-group">
|
174 |
<form method="post">
|
175 |
<?php wp_nonce_field($form_name, 'wbcr_dan_reset_nonce'); ?>
|
176 |
+
<p>
|
177 |
+
<input type="radio" name="wbcr_dan_reset_for_users" value="current_user" checked/> <?= __('current user', 'disable-admin-notices'); ?>
|
178 |
+
</p>
|
179 |
+
|
180 |
+
<p>
|
181 |
+
<input type="radio" name="wbcr_dan_reset_for_users" value="all"/> <?= __('all users', 'disable-admin-notices'); ?>
|
182 |
+
</p>
|
183 |
+
|
184 |
+
<p>
|
185 |
+
<input type="submit" name="wbcr_dan_reset_action" value="<?= __('Reset notices', 'disable-admin-notices'); ?>" class="button button-default"/>
|
186 |
+
</p>
|
187 |
<?php if( $reseted ): ?>
|
188 |
<div style="color:green;margin-top:5px;"><?php _e('Hidden notices are successfully reset, now you can see them again!', 'disable-admin-notices') ?></div>
|
189 |
<?php endif; ?>
|
components/disable-admin-notices/admin/pages/more-features.php
CHANGED
@@ -11,6 +11,6 @@
|
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
-
class WDN_MoreFeaturesPage extends
|
15 |
|
16 |
}
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
+
class WDN_MoreFeaturesPage extends Wbcr_FactoryClearfy206_MoreFeaturesPage {
|
15 |
|
16 |
}
|
components/disable-admin-notices/admin/pages/notices.php
CHANGED
@@ -11,24 +11,29 @@
|
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
-
class WDN_NoticesPage extends
|
15 |
|
16 |
/**
|
17 |
* The id of the page in the admin menu.
|
18 |
*
|
19 |
* Mainly used to navigate between pages.
|
20 |
-
* @see
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
* @var string
|
24 |
*/
|
25 |
public $id = "notices";
|
26 |
public $page_menu_dashicon = 'dashicons-testimonial';
|
|
|
|
|
|
|
|
|
|
|
27 |
|
28 |
/**
|
29 |
-
* @param
|
30 |
*/
|
31 |
-
public function __construct(
|
32 |
{
|
33 |
$this->menu_title = __('Hide admin notices', 'disable-admin-notices');
|
34 |
|
@@ -50,29 +55,10 @@
|
|
50 |
: __('General', 'disable-admin-notices');
|
51 |
}
|
52 |
|
53 |
-
/**
|
54 |
-
* Requests assets (js and css) for the page.
|
55 |
-
*
|
56 |
-
* @see Wbcr_FactoryPages407_AdminPage
|
57 |
-
*
|
58 |
-
* @since 1.0.0
|
59 |
-
* @return void
|
60 |
-
*/
|
61 |
-
public function assets($scripts, $styles)
|
62 |
-
{
|
63 |
-
parent::assets($scripts, $styles);
|
64 |
-
|
65 |
-
// Add Clearfy styles for HMWP pages
|
66 |
-
if( defined('WBCR_CLEARFY_PLUGIN_ACTIVE') ) {
|
67 |
-
$this->styles->add(WCL_PLUGIN_URL . '/admin/assets/css/general.css');
|
68 |
-
}
|
69 |
-
}
|
70 |
-
|
71 |
-
|
72 |
/**
|
73 |
* We register notifications for some actions
|
74 |
* @param array $notices
|
75 |
-
* @param
|
76 |
* @return array
|
77 |
*/
|
78 |
public function actionsNotice($notices)
|
@@ -91,7 +77,7 @@
|
|
91 |
'wbcr_dan_code' => 'interal_error'
|
92 |
),
|
93 |
'type' => 'danger',
|
94 |
-
'message' => __('An error occurred while trying to delete comments. Internal error occured. Please try again later.', '
|
95 |
);*/
|
96 |
|
97 |
return $notices;
|
@@ -103,7 +89,7 @@
|
|
103 |
* @since 1.0.0
|
104 |
* @return mixed[]
|
105 |
*/
|
106 |
-
public function
|
107 |
{
|
108 |
$options = wbcr_dan_get_plugin_options();
|
109 |
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
+
class WDN_NoticesPage extends Wbcr_FactoryClearfy206_PageBase {
|
15 |
|
16 |
/**
|
17 |
* The id of the page in the admin menu.
|
18 |
*
|
19 |
* Mainly used to navigate between pages.
|
20 |
+
* @see FactoryPages410_AdminPage
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
* @var string
|
24 |
*/
|
25 |
public $id = "notices";
|
26 |
public $page_menu_dashicon = 'dashicons-testimonial';
|
27 |
+
/**
|
28 |
+
* Доступена для мультисайтов
|
29 |
+
* @var bool
|
30 |
+
*/
|
31 |
+
public $available_for_multisite = true;
|
32 |
|
33 |
/**
|
34 |
+
* @param Wbcr_Factory409_Plugin $plugin
|
35 |
*/
|
36 |
+
public function __construct(Wbcr_Factory409_Plugin $plugin)
|
37 |
{
|
38 |
$this->menu_title = __('Hide admin notices', 'disable-admin-notices');
|
39 |
|
55 |
: __('General', 'disable-admin-notices');
|
56 |
}
|
57 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
/**
|
59 |
* We register notifications for some actions
|
60 |
* @param array $notices
|
61 |
+
* @param Wbcr_Factory409_Plugin $plugin
|
62 |
* @return array
|
63 |
*/
|
64 |
public function actionsNotice($notices)
|
77 |
'wbcr_dan_code' => 'interal_error'
|
78 |
),
|
79 |
'type' => 'danger',
|
80 |
+
'message' => __('An error occurred while trying to delete comments. Internal error occured. Please try again later.', 'factory_pages_410')
|
81 |
);*/
|
82 |
|
83 |
return $notices;
|
89 |
* @since 1.0.0
|
90 |
* @return mixed[]
|
91 |
*/
|
92 |
+
public function getPopulateOptions()
|
93 |
{
|
94 |
$options = wbcr_dan_get_plugin_options();
|
95 |
|
components/disable-admin-notices/disable-admin-notices.php
CHANGED
@@ -8,6 +8,7 @@
|
|
8 |
* Text Domain: disable-admin-notices
|
9 |
* Domain Path: /languages/
|
10 |
* Author URI: https://clearfy.pro
|
|
|
11 |
*/
|
12 |
|
13 |
// Exit if accessed directly
|
@@ -15,45 +16,58 @@
|
|
15 |
exit;
|
16 |
}
|
17 |
|
18 |
-
|
19 |
-
function wbcr_dan_admin_notice_error()
|
20 |
-
{
|
21 |
-
?>
|
22 |
-
<div class="notice notice-error">
|
23 |
-
<p><?php _e('We found that you have the "Clearfy - disable unused features" plugin installed, this plugin already has disable comments functions, so you can deactivate plugin "Disable admin notices"!'); ?></p>
|
24 |
-
</div>
|
25 |
-
<?php
|
26 |
-
}
|
27 |
|
28 |
-
|
|
|
|
|
29 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
return;
|
31 |
-
}
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
require_once(WDN_PLUGIN_DIR . '/includes/class.plugin.php');
|
45 |
-
|
46 |
-
if( !defined('LOADING_DISABLE_ADMIN_NOTICES_AS_ADDON') ) {
|
47 |
-
|
48 |
-
new WDN_Plugin(__FILE__, array(
|
49 |
-
'prefix' => 'wbcr_dan_',
|
50 |
-
'plugin_name' => 'wbcr_dan',
|
51 |
-
'plugin_title' => __('Webcraftic disable admin notices', 'disable-admin-notices'),
|
52 |
-
'plugin_version' => '1.0.6',
|
53 |
-
'required_php_version' => '5.2',
|
54 |
-
'required_wp_version' => '4.2',
|
55 |
-
'plugin_build' => 'free',
|
56 |
-
'updates' => WDN_PLUGIN_DIR . '/updates/'
|
57 |
-
));
|
58 |
-
}
|
59 |
-
}
|
8 |
* Text Domain: disable-admin-notices
|
9 |
* Domain Path: /languages/
|
10 |
* Author URI: https://clearfy.pro
|
11 |
+
* Framework Version: FACTORY_409_VERSION
|
12 |
*/
|
13 |
|
14 |
// Exit if accessed directly
|
16 |
exit;
|
17 |
}
|
18 |
|
19 |
+
define('WDN_PLUGIN_VERSION', '1.0.7');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
|
21 |
+
define('WDN_PLUGIN_DIR', dirname(__FILE__));
|
22 |
+
define('WDN_PLUGIN_BASE', plugin_basename(__FILE__));
|
23 |
+
define('WDN_PLUGIN_URL', plugins_url(null, __FILE__));
|
24 |
|
25 |
+
|
26 |
+
|
27 |
+
if( !defined('LOADING_DISABLE_ADMIN_NOTICES_AS_ADDON') ) {
|
28 |
+
require_once(WDN_PLUGIN_DIR . '/libs/factory/core/includes/check-compatibility.php');
|
29 |
+
require_once(WDN_PLUGIN_DIR . '/libs/factory/clearfy/includes/check-clearfy-compatibility.php');
|
30 |
+
}
|
31 |
+
|
32 |
+
$plugin_info = array(
|
33 |
+
'prefix' => 'wbcr_dan_',
|
34 |
+
'plugin_name' => 'wbcr_dan',
|
35 |
+
'plugin_title' => __('Webcraftic disable admin notices', 'disable-admin-notices'),
|
36 |
+
'plugin_version' => WDN_PLUGIN_VERSION,
|
37 |
+
'plugin_build' => 'free',
|
38 |
+
'updates' => WDN_PLUGIN_DIR . '/updates/'
|
39 |
+
);
|
40 |
+
|
41 |
+
/**
|
42 |
+
* Проверяет совместимость с Wordpress, php и другими плагинами.
|
43 |
+
*/
|
44 |
+
$compatibility = new Wbcr_FactoryClearfy_Compatibility(array_merge($plugin_info, array(
|
45 |
+
'plugin_already_activate' => defined('WDN_PLUGIN_ACTIVE'),
|
46 |
+
'plugin_as_component' => defined('LOADING_DISABLE_ADMIN_NOTICES_AS_ADDON'),
|
47 |
+
'plugin_dir' => WDN_PLUGIN_DIR,
|
48 |
+
'plugin_base' => WDN_PLUGIN_BASE,
|
49 |
+
'plugin_url' => WDN_PLUGIN_URL,
|
50 |
+
'required_php_version' => '5.3',
|
51 |
+
'required_wp_version' => '4.2.0',
|
52 |
+
'required_clearfy_check_component' => true
|
53 |
+
)));
|
54 |
+
|
55 |
+
/**
|
56 |
+
* Если плагин совместим, то он продолжит свою работу, иначе будет остановлен,
|
57 |
+
* а пользователь получит предупреждение.
|
58 |
+
*/
|
59 |
+
if( !$compatibility->check() ) {
|
60 |
return;
|
61 |
+
}
|
62 |
+
|
63 |
+
define('WDN_PLUGIN_ACTIVE', true);
|
64 |
+
|
65 |
+
if( !defined('LOADING_DISABLE_ADMIN_NOTICES_AS_ADDON') ) {
|
66 |
+
require_once(WDN_PLUGIN_DIR . '/libs/factory/core/boot.php');
|
67 |
+
}
|
68 |
+
|
69 |
+
require_once(WDN_PLUGIN_DIR . '/includes/class.plugin.php');
|
70 |
+
|
71 |
+
if( !defined('LOADING_DISABLE_ADMIN_NOTICES_AS_ADDON') ) {
|
72 |
+
new WDN_Plugin(__FILE__, $plugin_info);
|
73 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
components/disable-admin-notices/includes/class.plugin.php
CHANGED
@@ -19,7 +19,7 @@
|
|
19 |
|
20 |
}
|
21 |
} else {
|
22 |
-
class WDN_PluginFactory extends
|
23 |
|
24 |
}
|
25 |
}
|
@@ -28,7 +28,7 @@
|
|
28 |
class WDN_Plugin extends WDN_PluginFactory {
|
29 |
|
30 |
/**
|
31 |
-
* @var
|
32 |
*/
|
33 |
private static $app;
|
34 |
|
@@ -47,11 +47,9 @@
|
|
47 |
$this->as_addon = isset($data['as_addon']);
|
48 |
|
49 |
if( $this->as_addon ) {
|
50 |
-
$plugin_parent = isset($data['plugin_parent'])
|
51 |
-
? $data['plugin_parent']
|
52 |
-
: null;
|
53 |
|
54 |
-
if( !($plugin_parent instanceof
|
55 |
throw new Exception('An invalid instance of the class was passed.');
|
56 |
}
|
57 |
|
@@ -64,7 +62,6 @@
|
|
64 |
parent::__construct($plugin_path, $data);
|
65 |
}
|
66 |
|
67 |
-
$this->setTextDomain();
|
68 |
$this->setModules();
|
69 |
|
70 |
$this->globalScripts();
|
@@ -72,41 +69,31 @@
|
|
72 |
if( is_admin() ) {
|
73 |
$this->adminScripts();
|
74 |
}
|
|
|
|
|
75 |
}
|
76 |
|
77 |
/**
|
78 |
-
* @return
|
79 |
*/
|
80 |
public static function app()
|
81 |
{
|
82 |
return self::$app;
|
83 |
}
|
84 |
|
85 |
-
|
86 |
-
protected function setTextDomain()
|
87 |
{
|
88 |
-
|
89 |
-
//load_plugin_textdomain('disable-admin-notices', false, dirname(WCL_PLUGIN_BASE) . '/languages/');
|
90 |
-
|
91 |
-
$domain = 'disable-admin-notices';
|
92 |
-
$locale = apply_filters('plugin_locale', is_admin()
|
93 |
-
? get_user_locale()
|
94 |
-
: get_locale(), $domain);
|
95 |
-
$mofile = $domain . '-' . $locale . '.mo';
|
96 |
-
|
97 |
-
if( !load_textdomain($domain, WDN_PLUGIN_DIR . '/languages/' . $mofile) ) {
|
98 |
-
load_muplugin_textdomain($domain);
|
99 |
-
}
|
100 |
}
|
101 |
-
|
102 |
protected function setModules()
|
103 |
{
|
104 |
if( !$this->as_addon ) {
|
105 |
self::app()->load(array(
|
106 |
-
array('libs/factory/bootstrap', '
|
107 |
-
array('libs/factory/forms', '
|
108 |
-
array('libs/factory/pages', '
|
109 |
-
array('libs/factory/clearfy', '
|
110 |
));
|
111 |
}
|
112 |
}
|
@@ -124,11 +111,8 @@
|
|
124 |
{
|
125 |
require(WDN_PLUGIN_DIR . '/admin/options.php');
|
126 |
|
127 |
-
if( defined('DOING_AJAX') && DOING_AJAX
|
128 |
require(WDN_PLUGIN_DIR . '/admin/ajax/hide-notice.php');
|
129 |
-
}
|
130 |
-
|
131 |
-
if( defined('DOING_AJAX') && DOING_AJAX && isset($_REQUEST['action']) && $_REQUEST['action'] == 'wbcr_dan_restore_notice' ) {
|
132 |
require(WDN_PLUGIN_DIR . '/admin/ajax/restore-notice.php');
|
133 |
}
|
134 |
|
19 |
|
20 |
}
|
21 |
} else {
|
22 |
+
class WDN_PluginFactory extends Wbcr_Factory409_Plugin {
|
23 |
|
24 |
}
|
25 |
}
|
28 |
class WDN_Plugin extends WDN_PluginFactory {
|
29 |
|
30 |
/**
|
31 |
+
* @var Wbcr_Factory409_Plugin
|
32 |
*/
|
33 |
private static $app;
|
34 |
|
47 |
$this->as_addon = isset($data['as_addon']);
|
48 |
|
49 |
if( $this->as_addon ) {
|
50 |
+
$plugin_parent = isset($data['plugin_parent']) ? $data['plugin_parent'] : null;
|
|
|
|
|
51 |
|
52 |
+
if( !($plugin_parent instanceof Wbcr_Factory409_Plugin) ) {
|
53 |
throw new Exception('An invalid instance of the class was passed.');
|
54 |
}
|
55 |
|
62 |
parent::__construct($plugin_path, $data);
|
63 |
}
|
64 |
|
|
|
65 |
$this->setModules();
|
66 |
|
67 |
$this->globalScripts();
|
69 |
if( is_admin() ) {
|
70 |
$this->adminScripts();
|
71 |
}
|
72 |
+
|
73 |
+
add_action('plugins_loaded', array($this, 'pluginsLoaded'));
|
74 |
}
|
75 |
|
76 |
/**
|
77 |
+
* @return Wbcr_Factory409_Plugin
|
78 |
*/
|
79 |
public static function app()
|
80 |
{
|
81 |
return self::$app;
|
82 |
}
|
83 |
|
84 |
+
public function pluginsLoaded()
|
|
|
85 |
{
|
86 |
+
self::app()->setTextDomain('disable-admin-notices', WDN_PLUGIN_DIR);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
87 |
}
|
88 |
+
|
89 |
protected function setModules()
|
90 |
{
|
91 |
if( !$this->as_addon ) {
|
92 |
self::app()->load(array(
|
93 |
+
array('libs/factory/bootstrap', 'factory_bootstrap_409', 'admin'),
|
94 |
+
array('libs/factory/forms', 'factory_forms_410', 'admin'),
|
95 |
+
array('libs/factory/pages', 'factory_pages_410', 'admin'),
|
96 |
+
array('libs/factory/clearfy', 'factory_clearfy_206', 'all')
|
97 |
));
|
98 |
}
|
99 |
}
|
111 |
{
|
112 |
require(WDN_PLUGIN_DIR . '/admin/options.php');
|
113 |
|
114 |
+
if( defined('DOING_AJAX') && DOING_AJAX ) {
|
115 |
require(WDN_PLUGIN_DIR . '/admin/ajax/hide-notice.php');
|
|
|
|
|
|
|
116 |
require(WDN_PLUGIN_DIR . '/admin/ajax/restore-notice.php');
|
117 |
}
|
118 |
|
components/disable-admin-notices/includes/classes/class.configurate-notices.php
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
/**
|
4 |
* This class configures hide admin notices
|
5 |
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
@@ -12,12 +12,13 @@
|
|
12 |
exit;
|
13 |
}
|
14 |
|
15 |
-
class WDN_ConfigHideNotices extends
|
16 |
|
17 |
public function registerActionsAndFilters()
|
18 |
{
|
19 |
if( is_admin() ) {
|
20 |
-
$hide_notices_type = $this->
|
|
|
21 |
if( $hide_notices_type != 'not_hide' ) {
|
22 |
add_action('admin_print_scripts', array($this, 'catchNotices'), 999);
|
23 |
|
@@ -25,79 +26,82 @@
|
|
25 |
add_action('admin_head', array($this, 'printNotices'), 999);
|
26 |
}
|
27 |
|
28 |
-
if( !empty($hide_notices_type)
|
29 |
add_action('admin_bar_menu', array($this, 'notificationsPanel'), 999);
|
30 |
add_action('admin_enqueue_scripts', array($this, 'notificationsPanelStyles'));
|
31 |
}
|
32 |
-
|
33 |
-
add_action('admin_head', array($this, 'printNonce'), 999);
|
34 |
}
|
35 |
}
|
36 |
}
|
37 |
|
38 |
public function printNotices()
|
39 |
{
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
?>
|
46 |
-
<!-- Disable admin notices plugin (Clearfy tools) -->
|
47 |
-
<script>
|
48 |
-
var wbcr_dan_ajax_restore_nonce = "<?=wp_create_nonce($this->plugin->getPluginName() . '_ajax_restore_notice_nonce')?>";
|
49 |
-
var wbcr_dan_ajax_hide_notice_nonce = "<?=wp_create_nonce($this->plugin->getPluginName() . '_ajax_hide_notices_nonce')?>";
|
50 |
-
</script>
|
51 |
-
<?php
|
52 |
}
|
53 |
|
54 |
|
55 |
public function notificationsPanelStyles()
|
56 |
{
|
|
|
|
|
|
|
|
|
57 |
wp_enqueue_style('wbcr-notification-panel-styles', WDN_PLUGIN_URL . '/admin/assets/css/notifications-panel.css', array(), $this->plugin->getPluginVersion());
|
58 |
wp_enqueue_script('wbcr-notification-panel-scripts', WDN_PLUGIN_URL . '/admin/assets/js/notifications-panel.js', array(), $this->plugin->getPluginVersion());
|
59 |
}
|
60 |
|
61 |
public function notificationsPanel(&$wp_admin_bar)
|
62 |
{
|
63 |
-
if(
|
64 |
return;
|
65 |
}
|
66 |
|
67 |
-
|
|
|
68 |
|
69 |
-
|
70 |
-
return;
|
71 |
-
}
|
72 |
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
$
|
91 |
-
|
92 |
-
|
93 |
-
'
|
94 |
-
'
|
95 |
-
'
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
101 |
}
|
102 |
}
|
103 |
}
|
@@ -146,6 +150,7 @@
|
|
146 |
$(document).on('click', '.wbcr-dan-hide-notice-link', function() {
|
147 |
var self = $(this),
|
148 |
noticeID = self.data('notice-id'),
|
|
|
149 |
noticeHtml = self.closest('.wbcr-dan-hide-notices').clone(),
|
150 |
contanierEl = self.closest('.wbcr-dan-hide-notices').parent();
|
151 |
|
@@ -161,22 +166,35 @@
|
|
161 |
type: 'post',
|
162 |
dataType: 'json',
|
163 |
data: {
|
164 |
-
action: '
|
165 |
-
security:
|
166 |
notice_id: noticeID,
|
167 |
notice_html: noticeHtml.html()
|
168 |
},
|
169 |
-
success: function(
|
170 |
-
if(
|
171 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
172 |
|
173 |
contanierEl.show();
|
174 |
return;
|
175 |
}
|
176 |
|
177 |
contanierEl.remove();
|
|
|
|
|
|
|
|
|
|
|
178 |
}
|
179 |
});
|
|
|
|
|
180 |
});
|
181 |
});
|
182 |
</script>
|
@@ -188,15 +206,21 @@
|
|
188 |
|
189 |
public function catchNotices()
|
190 |
{
|
191 |
-
global $
|
|
|
|
|
|
|
|
|
|
|
|
|
192 |
|
193 |
-
$hide_notices_type = $this->
|
194 |
|
195 |
if( empty($hide_notices_type) || $hide_notices_type == 'only_selected' ) {
|
196 |
-
$get_hidden_notices =
|
197 |
|
198 |
$content = array();
|
199 |
-
foreach((array)$
|
200 |
foreach($filters as $callback_name => $callback) {
|
201 |
|
202 |
if( 'usof_hide_admin_notices_start' == $callback_name || 'usof_hide_admin_notices_end' == $callback_name ) {
|
@@ -208,9 +232,7 @@
|
|
208 |
// #CLRF-140 fix bug for php7
|
209 |
// when the developers forgot to delete the argument in the function of implementing the notification.
|
210 |
$args = array();
|
211 |
-
$accepted_args = isset($callback['accepted_args']) && !empty($callback['accepted_args'])
|
212 |
-
? $callback['accepted_args']
|
213 |
-
: 0;
|
214 |
|
215 |
if( $accepted_args > 0 ) {
|
216 |
for($i = 0; $i < (int)$accepted_args; $i++) {
|
@@ -226,8 +248,9 @@
|
|
226 |
continue;
|
227 |
}
|
228 |
|
229 |
-
$
|
230 |
-
$
|
|
|
231 |
|
232 |
if( is_array($callback['function']) && sizeof($callback['function']) == 2 ) {
|
233 |
$class = $callback['function'][0];
|
@@ -264,7 +287,7 @@
|
|
264 |
}
|
265 |
}
|
266 |
|
267 |
-
$hide_link = '<a href="#" data-notice-id="' . $uniq_id1 . '_' . $uniq_id2 . '" class="wbcr-dan-hide-notice-link">[' . __('Hide notification forever', 'disable-admin-notices') . ']</a>';
|
268 |
|
269 |
$cont = preg_replace('/<(script|style)([^>]+)?>(.*?)<\/(script|style)>/is', '', $cont);
|
270 |
$cont = rtrim(trim($cont));
|
@@ -280,12 +303,39 @@
|
|
280 |
$wbcr_dan_plugin_all_notices = $content;
|
281 |
}
|
282 |
|
283 |
-
|
284 |
-
|
285 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
286 |
}
|
287 |
-
} elseif(
|
288 |
-
foreach($
|
289 |
foreach($f as $c_name => $clback) {
|
290 |
if( is_array($clback['function']) && sizeof($clback['function']) == 2 ) {
|
291 |
$class = $clback['function'][0];
|
@@ -297,15 +347,22 @@
|
|
297 |
}
|
298 |
}
|
299 |
|
300 |
-
unset($
|
301 |
}
|
302 |
}
|
303 |
|
304 |
unset($f_key);
|
305 |
unset($f);
|
306 |
}
|
307 |
-
|
308 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
309 |
foreach($f as $c_name => $clback) {
|
310 |
if( is_array($clback['function']) && sizeof($clback['function']) == 2 ) {
|
311 |
$class = $clback['function'][0];
|
@@ -324,7 +381,7 @@
|
|
324 |
continue;
|
325 |
}
|
326 |
|
327 |
-
unset($
|
328 |
}
|
329 |
}
|
330 |
|
@@ -355,4 +412,26 @@
|
|
355 |
|
356 |
return $excerpt;
|
357 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
358 |
}
|
1 |
<?php
|
2 |
+
|
3 |
/**
|
4 |
* This class configures hide admin notices
|
5 |
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
12 |
exit;
|
13 |
}
|
14 |
|
15 |
+
class WDN_ConfigHideNotices extends Wbcr_FactoryClearfy206_Configurate {
|
16 |
|
17 |
public function registerActionsAndFilters()
|
18 |
{
|
19 |
if( is_admin() ) {
|
20 |
+
$hide_notices_type = $this->getPopulateOption('hide_admin_notices');
|
21 |
+
|
22 |
if( $hide_notices_type != 'not_hide' ) {
|
23 |
add_action('admin_print_scripts', array($this, 'catchNotices'), 999);
|
24 |
|
26 |
add_action('admin_head', array($this, 'printNotices'), 999);
|
27 |
}
|
28 |
|
29 |
+
if( !empty($hide_notices_type) ) {
|
30 |
add_action('admin_bar_menu', array($this, 'notificationsPanel'), 999);
|
31 |
add_action('admin_enqueue_scripts', array($this, 'notificationsPanelStyles'));
|
32 |
}
|
|
|
|
|
33 |
}
|
34 |
}
|
35 |
}
|
36 |
|
37 |
public function printNotices()
|
38 |
{
|
39 |
+
if( is_multisite() && is_network_admin() ) {
|
40 |
+
add_action('network_admin_notices', array($this, 'noticesCollection'));
|
41 |
+
} else {
|
42 |
+
add_action('admin_notices', array($this, 'noticesCollection'));
|
43 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
}
|
45 |
|
46 |
|
47 |
public function notificationsPanelStyles()
|
48 |
{
|
49 |
+
if( !$this->getPopulateOption('show_notices_in_adminbar', false) && current_user_can('manage_network') ) {
|
50 |
+
return;
|
51 |
+
}
|
52 |
+
|
53 |
wp_enqueue_style('wbcr-notification-panel-styles', WDN_PLUGIN_URL . '/admin/assets/css/notifications-panel.css', array(), $this->plugin->getPluginVersion());
|
54 |
wp_enqueue_script('wbcr-notification-panel-scripts', WDN_PLUGIN_URL . '/admin/assets/js/notifications-panel.js', array(), $this->plugin->getPluginVersion());
|
55 |
}
|
56 |
|
57 |
public function notificationsPanel(&$wp_admin_bar)
|
58 |
{
|
59 |
+
if( !$this->getPopulateOption('show_notices_in_adminbar', false) && current_user_can('manage_network') ) {
|
60 |
return;
|
61 |
}
|
62 |
|
63 |
+
if( current_user_can('manage_options') || current_user_can('manage_network') ) {
|
64 |
+
$titles = array();
|
65 |
|
66 |
+
$notifications = get_user_meta(get_current_user_id(), WDN_Plugin::app()->getOptionName('hidden_notices'), true);
|
|
|
|
|
67 |
|
68 |
+
if( empty($notifications) ) {
|
69 |
+
return;
|
70 |
+
}
|
71 |
+
|
72 |
+
$cont_notifications = sizeof($notifications);
|
73 |
+
|
74 |
+
// Add top menu
|
75 |
+
$wp_admin_bar->add_menu(array(
|
76 |
+
'id' => 'wbcr-han-notify-panel',
|
77 |
+
'parent' => 'top-secondary',
|
78 |
+
'title' => sprintf(__('Notifications %s', 'disable-admin-notices'), '<span class="wbcr-han-adminbar-counter">' . $cont_notifications . '</span>'),
|
79 |
+
'href' => false
|
80 |
+
));
|
81 |
+
|
82 |
+
// loop
|
83 |
+
if( !empty($notifications) ) {
|
84 |
+
$i = 0;
|
85 |
+
foreach($notifications as $notice_id => $message) {
|
86 |
+
$message = $this->getExcerpt(stripslashes($message), 0, 350);
|
87 |
+
$message .= '<div class="wbcr-han-panel-restore-notify-line">';
|
88 |
+
$message .= '<a href="#" data-nonce="' . wp_create_nonce($this->plugin->getPluginName() . '_ajax_restore_notice_nonce');
|
89 |
+
$message .= '" data-notice-id="' . esc_attr($notice_id) . '" class="wbcr-han-panel-restore-notify-link">';
|
90 |
+
$message .= __('Restore notice', 'clearfy') . (isset($titles[$notice_id]) ? ' (' . $titles[$notice_id] . ')' : '');
|
91 |
+
$message .= '</a></div>';
|
92 |
+
|
93 |
+
$wp_admin_bar->add_menu(array(
|
94 |
+
'id' => 'wbcr-han-notify-panel-item-' . $i,
|
95 |
+
'parent' => 'wbcr-han-notify-panel',
|
96 |
+
'title' => $message,
|
97 |
+
'href' => false,
|
98 |
+
'meta' => array(
|
99 |
+
'class' => ''
|
100 |
+
)
|
101 |
+
));
|
102 |
+
|
103 |
+
$i++;
|
104 |
+
}
|
105 |
}
|
106 |
}
|
107 |
}
|
150 |
$(document).on('click', '.wbcr-dan-hide-notice-link', function() {
|
151 |
var self = $(this),
|
152 |
noticeID = self.data('notice-id'),
|
153 |
+
nonce = self.data('nonce'),
|
154 |
noticeHtml = self.closest('.wbcr-dan-hide-notices').clone(),
|
155 |
contanierEl = self.closest('.wbcr-dan-hide-notices').parent();
|
156 |
|
166 |
type: 'post',
|
167 |
dataType: 'json',
|
168 |
data: {
|
169 |
+
action: 'wbcr-dan-hide-notices',
|
170 |
+
security: nonce,
|
171 |
notice_id: noticeID,
|
172 |
notice_html: noticeHtml.html()
|
173 |
},
|
174 |
+
success: function(response) {
|
175 |
+
if( !response || !response.success ) {
|
176 |
+
|
177 |
+
if( response.data.error_message ) {
|
178 |
+
console.log(response.data.error_message);
|
179 |
+
self.closest('li').show();
|
180 |
+
} else {
|
181 |
+
console.log(response);
|
182 |
+
}
|
183 |
|
184 |
contanierEl.show();
|
185 |
return;
|
186 |
}
|
187 |
|
188 |
contanierEl.remove();
|
189 |
+
},
|
190 |
+
error: function(xhr, ajaxOptions, thrownError) {
|
191 |
+
console.log(xhr.status);
|
192 |
+
console.log(xhr.responseText);
|
193 |
+
console.log(thrownError);
|
194 |
}
|
195 |
});
|
196 |
+
|
197 |
+
return false;
|
198 |
});
|
199 |
});
|
200 |
</script>
|
206 |
|
207 |
public function catchNotices()
|
208 |
{
|
209 |
+
global $wbcr_dan_plugin_all_notices;
|
210 |
+
|
211 |
+
try{
|
212 |
+
$wp_filter_admin_notices = & $this->getWPFilter('admin_notices');
|
213 |
+
}catch (Exception $e){
|
214 |
+
$wp_filter_admin_notices = null;
|
215 |
+
}
|
216 |
|
217 |
+
$hide_notices_type = $this->getPopulateOption('hide_admin_notices');
|
218 |
|
219 |
if( empty($hide_notices_type) || $hide_notices_type == 'only_selected' ) {
|
220 |
+
$get_hidden_notices = get_user_meta(get_current_user_id(), WDN_Plugin::app()->getOptionName('hidden_notices'), true);
|
221 |
|
222 |
$content = array();
|
223 |
+
foreach((array)$wp_filter_admin_notices as $filters) {
|
224 |
foreach($filters as $callback_name => $callback) {
|
225 |
|
226 |
if( 'usof_hide_admin_notices_start' == $callback_name || 'usof_hide_admin_notices_end' == $callback_name ) {
|
232 |
// #CLRF-140 fix bug for php7
|
233 |
// when the developers forgot to delete the argument in the function of implementing the notification.
|
234 |
$args = array();
|
235 |
+
$accepted_args = isset($callback['accepted_args']) && !empty($callback['accepted_args']) ? $callback['accepted_args'] : 0;
|
|
|
|
|
236 |
|
237 |
if( $accepted_args > 0 ) {
|
238 |
for($i = 0; $i < (int)$accepted_args; $i++) {
|
248 |
continue;
|
249 |
}
|
250 |
|
251 |
+
$salt = is_multisite() ? get_current_blog_id() : '';
|
252 |
+
$uniq_id1 = md5($cont . $salt);
|
253 |
+
$uniq_id2 = md5($callback_name . $salt);
|
254 |
|
255 |
if( is_array($callback['function']) && sizeof($callback['function']) == 2 ) {
|
256 |
$class = $callback['function'][0];
|
287 |
}
|
288 |
}
|
289 |
|
290 |
+
$hide_link = '<a href="#" data-nonce="' . wp_create_nonce($this->plugin->getPluginName() . '_ajax_hide_notices_nonce') . '" data-notice-id="' . $uniq_id1 . '_' . $uniq_id2 . '" class="wbcr-dan-hide-notice-link">[' . __('Hide notification forever', 'disable-admin-notices') . ']</a>';
|
291 |
|
292 |
$cont = preg_replace('/<(script|style)([^>]+)?>(.*?)<\/(script|style)>/is', '', $cont);
|
293 |
$cont = rtrim(trim($cont));
|
303 |
$wbcr_dan_plugin_all_notices = $content;
|
304 |
}
|
305 |
|
306 |
+
try{
|
307 |
+
$wp_filter_user_admin_notices = & $this->getWPFilter('user_admin_notices');
|
308 |
+
}catch (Exception $e){
|
309 |
+
$wp_filter_user_admin_notices = null;
|
310 |
+
}
|
311 |
+
|
312 |
+
try{
|
313 |
+
$wp_filter_network_admin_notices = & $this->getWPFilter('network_admin_notices');
|
314 |
+
}catch (Exception $e){
|
315 |
+
$wp_filter_network_admin_notices = null;
|
316 |
+
}
|
317 |
+
|
318 |
+
if( is_user_admin() && $wp_filter_user_admin_notices !== null) {
|
319 |
+
$wp_filter_user_admin_notices = null;
|
320 |
+
} else if( is_network_admin() && $wp_filter_network_admin_notices !== null ) {
|
321 |
+
//unset($wp_filter['network_admin_notices']);
|
322 |
+
foreach($wp_filter_network_admin_notices as $f_key => $f) {
|
323 |
+
foreach($f as $c_name => $clback) {
|
324 |
+
if( is_array($clback['function']) && sizeof($clback['function']) == 2 ) {
|
325 |
+
$class = $clback['function'][0];
|
326 |
+
if( is_object($class) ) {
|
327 |
+
$class_name = get_class($class);
|
328 |
+
if( strpos($class_name, 'Wbcr_FactoryNotices') !== false ) {
|
329 |
+
continue;
|
330 |
+
}
|
331 |
+
}
|
332 |
+
}
|
333 |
+
|
334 |
+
unset($wp_filter_network_admin_notices[$f_key][$c_name]);
|
335 |
+
}
|
336 |
}
|
337 |
+
} elseif( $wp_filter_admin_notices !== null ) {
|
338 |
+
foreach($wp_filter_admin_notices as $f_key => $f) {
|
339 |
foreach($f as $c_name => $clback) {
|
340 |
if( is_array($clback['function']) && sizeof($clback['function']) == 2 ) {
|
341 |
$class = $clback['function'][0];
|
347 |
}
|
348 |
}
|
349 |
|
350 |
+
unset($wp_filter_admin_notices[$f_key][$c_name]);
|
351 |
}
|
352 |
}
|
353 |
|
354 |
unset($f_key);
|
355 |
unset($f);
|
356 |
}
|
357 |
+
|
358 |
+
try{
|
359 |
+
$wp_filter_all_admin_notices = & $this->getWPfilter('all_admin_notices');
|
360 |
+
}catch (Exception $e){
|
361 |
+
$wp_filter_all_admin_notices = null;
|
362 |
+
}
|
363 |
+
|
364 |
+
if($wp_filter_all_admin_notices !== null ) {
|
365 |
+
foreach($wp_filter_all_admin_notices as $f_key => $f) {
|
366 |
foreach($f as $c_name => $clback) {
|
367 |
if( is_array($clback['function']) && sizeof($clback['function']) == 2 ) {
|
368 |
$class = $clback['function'][0];
|
381 |
continue;
|
382 |
}
|
383 |
|
384 |
+
unset($wp_filter_all_admin_notices[$f_key][$c_name]);
|
385 |
}
|
386 |
}
|
387 |
|
412 |
|
413 |
return $excerpt;
|
414 |
}
|
415 |
+
|
416 |
+
/**
|
417 |
+
* Access to global variable $wp_filter in WP core.
|
418 |
+
* Migration from WP 4.2 to 4.9
|
419 |
+
* @see https://codex.wordpress.org/Version_4.7 WP 4.7 changelog (WP_Hook)
|
420 |
+
* @param $key string filter name
|
421 |
+
* @return array $wp_filter callbacks array by link
|
422 |
+
* @throws Exception if key not exists
|
423 |
+
*/
|
424 |
+
private function &getWPFilter($key)
|
425 |
+
{
|
426 |
+
global $wp_version, $wp_filter;
|
427 |
+
|
428 |
+
if(!isset($wp_filter[$key])) {
|
429 |
+
throw new Exception('key not exists');
|
430 |
+
}
|
431 |
+
if(version_compare($wp_version, '4.7.0', '>=')) {
|
432 |
+
return $wp_filter[$key]->callbacks;
|
433 |
+
}else{
|
434 |
+
return $wp_filter[$key];
|
435 |
+
}
|
436 |
+
}
|
437 |
}
|
components/disable-admin-notices/languages/disable-admin-notices-nl_BE.po
CHANGED
@@ -1,173 +1,173 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: Clearfy\n"
|
4 |
-
"POT-Creation-Date: 2018-09-06 18:31+0300\n"
|
5 |
-
"PO-Revision-Date: \n"
|
6 |
-
"Last-Translator: \n"
|
7 |
-
"Language-Team: \n"
|
8 |
-
"Language: nl_BE\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"X-Generator: Poedit 2.1.1\n"
|
13 |
-
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
14 |
-
"X-Generator: Poedit 2.1.1\n"
|
15 |
-
"X-Poedit-Basepath: ..\n"
|
16 |
-
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
17 |
-
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
18 |
-
"X-Poedit-SourceCharset: UTF-8\n"
|
19 |
-
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
20 |
-
"X-Poedit-SearchPath-0: .\n"
|
21 |
-
"X-Poedit-SearchPathExcluded-0: libs\n"
|
22 |
-
"X-Poedit-SearchPathExcluded-1: components\n"
|
23 |
-
"X-Poedit-SearchPathExcluded-2: cache\n"
|
24 |
-
|
25 |
-
#: admin/ajax/hide-notice.php:19 admin/ajax/restore-notice.php:19
|
26 |
-
msgid "You don't have enough capability to edit this information."
|
27 |
-
msgstr "Je hebt niet voldoende mogelijkheden om deze informatie te bewerken."
|
28 |
-
|
29 |
-
#: admin/ajax/hide-notice.php:32 admin/ajax/restore-notice.php:28
|
30 |
-
msgid "Undefinded notice id."
|
31 |
-
msgstr "Ongedefinieerde mededeling id."
|
32 |
-
|
33 |
-
#: admin/ajax/hide-notice.php:46 admin/ajax/restore-notice.php:40
|
34 |
-
msgid "Success"
|
35 |
-
msgstr "Succes"
|
36 |
-
|
37 |
-
#: admin/boot.php:18 admin/options.php:30 admin/pages/notices.php:33
|
38 |
-
msgid "Hide admin notices"
|
39 |
-
msgstr "Verberg admin meldingen"
|
40 |
-
|
41 |
-
#: admin/boot.php:24 admin/options.php:70
|
42 |
-
msgid "Enable hidden notices in adminbar"
|
43 |
-
msgstr "Schakel verborgen meldingen in de beheer balk in"
|
44 |
-
|
45 |
-
#: admin/boot.php:46
|
46 |
-
msgid "Get ultimate plugin free"
|
47 |
-
msgstr "Krijg ultieme plugin gratis"
|
48 |
-
|
49 |
-
#: admin/options.php:23
|
50 |
-
msgid "Admin notifications, Update nags"
|
51 |
-
msgstr "Admin mededelingen, Update meldingen"
|
52 |
-
|
53 |
-
#: admin/options.php:23
|
54 |
-
msgid ""
|
55 |
-
"Do you know the situation, when some plugin offers you to update to premium, "
|
56 |
-
"to collect technical data and shows many annoying notices? You are close these "
|
57 |
-
"notices every now and again but they newly appears and interfere your work "
|
58 |
-
"with WordPress. Even worse, some plugin’s authors delete “close” button from "
|
59 |
-
"notices and they shows in your admin panel forever."
|
60 |
-
msgstr ""
|
61 |
-
"Herkent u de situatie, waarin sommige plugins u aanbieden om te updaten naar "
|
62 |
-
"premium, om technische gegevens te verzamelen en veel vervelende meldingen "
|
63 |
-
"weergeven? Zo nu en dan sluit u deze meldingen, maar ze verschijnen keer op "
|
64 |
-
"keer opnieuw en belemmeren uw werk met WordPress. Erger nog, de auteurs van "
|
65 |
-
"sommige plugins verwijderen de knop \"Sluiten\" uit meldingen en blijven "
|
66 |
-
"continu zichtbaar in uw beheer venster."
|
67 |
-
|
68 |
-
#: admin/options.php:34
|
69 |
-
msgid "All notices"
|
70 |
-
msgstr "Alle mededelingen"
|
71 |
-
|
72 |
-
#: admin/options.php:35
|
73 |
-
msgid "Hide all notices globally."
|
74 |
-
msgstr "Alle meldingen globaal verbergen."
|
75 |
-
|
76 |
-
#: admin/options.php:39
|
77 |
-
msgid "Only selected"
|
78 |
-
msgstr "Enkel geselecteerd"
|
79 |
-
|
80 |
-
#: admin/options.php:40
|
81 |
-
msgid ""
|
82 |
-
"Hide selected notices only. You will see the link \"Hide notification forever"
|
83 |
-
"\" in each notice. Push it and they will not bother you anymore."
|
84 |
-
msgstr ""
|
85 |
-
"Slechts bepaalde meldingen verbergen. U ziet in elke melding de link \"Verberg "
|
86 |
-
"melding voor altijd\". Klik erop en ze zullen je niet meer lastig vallen."
|
87 |
-
|
88 |
-
#: admin/options.php:44
|
89 |
-
msgid "Don't nide"
|
90 |
-
msgstr "Niet verbergen"
|
91 |
-
|
92 |
-
#: admin/options.php:45
|
93 |
-
msgid ""
|
94 |
-
"Do not hide notices and do not show “Hide notification forever” link for admin."
|
95 |
-
msgstr ""
|
96 |
-
"Meldingen niet verbergen en laat de link 'Verberg melding voor altijd' niet "
|
97 |
-
"zien voor beheerder."
|
98 |
-
|
99 |
-
#: admin/options.php:49
|
100 |
-
msgid ""
|
101 |
-
"Some plugins shows notifications about premium version, data collecting or "
|
102 |
-
"promote their services. Even if you push close button (that sometimes are "
|
103 |
-
"impossible), notices are shows again in some time. This option allows you to "
|
104 |
-
"control notices. Hide them all or each individually. Some plugins shows "
|
105 |
-
"notifications about premium version, data collecting or promote their "
|
106 |
-
"services. Even if you push close button (that sometimes are impossible), "
|
107 |
-
"notices are shows again in some time. This option allows you to control "
|
108 |
-
"notices. Hide them all or each individually."
|
109 |
-
msgstr ""
|
110 |
-
"Sommige plugins tonen meldingen over de premium versie, het verzamelen van "
|
111 |
-
"gegevens of het promoten van hun diensten. Zelfs als je op afsluiten klikt "
|
112 |
-
"(wat soms niet eens mogelijk is), worden mededelingen binnen afzienbare tijd "
|
113 |
-
"opnieuw getoond. Met deze optie kunt u mededelingen beheren. Verberg ze "
|
114 |
-
"allemaal of elk afzonderlijk."
|
115 |
-
|
116 |
-
#: admin/options.php:72
|
117 |
-
msgid ""
|
118 |
-
"By default, the plugin hides all notices, which you specified. If you enable "
|
119 |
-
"this option, the plugin will collect all hidden notices and show them into the "
|
120 |
-
"top admin toolbar. It will not disturb you but will allow to look notices at "
|
121 |
-
"your convenience."
|
122 |
-
msgstr ""
|
123 |
-
"Standaard verbergt de plugin alle kennisgevingen die u hebt opgegeven. Als u "
|
124 |
-
"deze optie inschakelt, verzamelt de plugin alle verborgen mededelingen en "
|
125 |
-
"toont deze in de bovenste beheer werkbalk. Het zal niet storend zijn, maar zal "
|
126 |
-
"je toelaten om aankondigingen op je gemak te bekijken."
|
127 |
-
|
128 |
-
#: admin/options.php:136
|
129 |
-
msgid "Push reset hidden notices if you need to show hidden notices again."
|
130 |
-
msgstr ""
|
131 |
-
"Druk op reset verborgen mededelingen als u verborgen mededelingen opnieuw wilt "
|
132 |
-
"weergeven."
|
133 |
-
|
134 |
-
#: admin/options.php:145
|
135 |
-
#, php-format
|
136 |
-
msgid "Reset hidden notices (%s)"
|
137 |
-
msgstr "Reset verborgen mededelingen (%s)"
|
138 |
-
|
139 |
-
#: admin/options.php:147 admin/pages/notices.php:85
|
140 |
-
msgid "Hidden notices are successfully reset, now you can see them again!"
|
141 |
-
msgstr "Verborgen meldingen zijn succesvol gereset, nu kun je ze opnieuw zien!"
|
142 |
-
|
143 |
-
#: admin/pages/notices.php:49
|
144 |
-
msgid "Notices"
|
145 |
-
msgstr "Mededelingen"
|
146 |
-
|
147 |
-
#: admin/pages/notices.php:50
|
148 |
-
msgid "General"
|
149 |
-
msgstr "Algemeen"
|
150 |
-
|
151 |
-
#: disable-admin-notices.php:23
|
152 |
-
msgid ""
|
153 |
-
"We found that you have the \"Clearfy - disable unused features\" plugin "
|
154 |
-
"installed, this plugin already has disable comments functions, so you can "
|
155 |
-
"deactivate plugin \"Disable admin notices\"!"
|
156 |
-
msgstr ""
|
157 |
-
|
158 |
-
#: disable-admin-notices.php:80
|
159 |
-
msgid "Webcraftic disable admin notices"
|
160 |
-
msgstr "Webcraftic uitschakelen admin mededelingen"
|
161 |
-
|
162 |
-
#: includes/classes/class.configurate-notices.php:79
|
163 |
-
#, php-format
|
164 |
-
msgid "Notifications %s"
|
165 |
-
msgstr "Meldingen %s"
|
166 |
-
|
167 |
-
#: includes/classes/class.configurate-notices.php:88
|
168 |
-
msgid "Restore notice"
|
169 |
-
msgstr "Herstel mededelingen"
|
170 |
-
|
171 |
-
#: includes/classes/class.configurate-notices.php:267
|
172 |
-
msgid "Hide notification forever"
|
173 |
msgstr "Verberg melding voor altijd"
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: Clearfy\n"
|
4 |
+
"POT-Creation-Date: 2018-09-06 18:31+0300\n"
|
5 |
+
"PO-Revision-Date: \n"
|
6 |
+
"Last-Translator: \n"
|
7 |
+
"Language-Team: \n"
|
8 |
+
"Language: nl_BE\n"
|
9 |
+
"MIME-Version: 1.0\n"
|
10 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
+
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"X-Generator: Poedit 2.1.1\n"
|
13 |
+
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
14 |
+
"X-Generator: Poedit 2.1.1\n"
|
15 |
+
"X-Poedit-Basepath: ..\n"
|
16 |
+
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
17 |
+
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
18 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
19 |
+
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
20 |
+
"X-Poedit-SearchPath-0: .\n"
|
21 |
+
"X-Poedit-SearchPathExcluded-0: libs\n"
|
22 |
+
"X-Poedit-SearchPathExcluded-1: components\n"
|
23 |
+
"X-Poedit-SearchPathExcluded-2: cache\n"
|
24 |
+
|
25 |
+
#: admin/ajax/hide-notice.php:19 admin/ajax/restore-notice.php:19
|
26 |
+
msgid "You don't have enough capability to edit this information."
|
27 |
+
msgstr "Je hebt niet voldoende mogelijkheden om deze informatie te bewerken."
|
28 |
+
|
29 |
+
#: admin/ajax/hide-notice.php:32 admin/ajax/restore-notice.php:28
|
30 |
+
msgid "Undefinded notice id."
|
31 |
+
msgstr "Ongedefinieerde mededeling id."
|
32 |
+
|
33 |
+
#: admin/ajax/hide-notice.php:46 admin/ajax/restore-notice.php:40
|
34 |
+
msgid "Success"
|
35 |
+
msgstr "Succes"
|
36 |
+
|
37 |
+
#: admin/boot.php:18 admin/options.php:30 admin/pages/notices.php:33
|
38 |
+
msgid "Hide admin notices"
|
39 |
+
msgstr "Verberg admin meldingen"
|
40 |
+
|
41 |
+
#: admin/boot.php:24 admin/options.php:70
|
42 |
+
msgid "Enable hidden notices in adminbar"
|
43 |
+
msgstr "Schakel verborgen meldingen in de beheer balk in"
|
44 |
+
|
45 |
+
#: admin/boot.php:46
|
46 |
+
msgid "Get ultimate plugin free"
|
47 |
+
msgstr "Krijg ultieme plugin gratis"
|
48 |
+
|
49 |
+
#: admin/options.php:23
|
50 |
+
msgid "Admin notifications, Update nags"
|
51 |
+
msgstr "Admin mededelingen, Update meldingen"
|
52 |
+
|
53 |
+
#: admin/options.php:23
|
54 |
+
msgid ""
|
55 |
+
"Do you know the situation, when some plugin offers you to update to premium, "
|
56 |
+
"to collect technical data and shows many annoying notices? You are close these "
|
57 |
+
"notices every now and again but they newly appears and interfere your work "
|
58 |
+
"with WordPress. Even worse, some plugin’s authors delete “close” button from "
|
59 |
+
"notices and they shows in your admin panel forever."
|
60 |
+
msgstr ""
|
61 |
+
"Herkent u de situatie, waarin sommige plugins u aanbieden om te updaten naar "
|
62 |
+
"premium, om technische gegevens te verzamelen en veel vervelende meldingen "
|
63 |
+
"weergeven? Zo nu en dan sluit u deze meldingen, maar ze verschijnen keer op "
|
64 |
+
"keer opnieuw en belemmeren uw werk met WordPress. Erger nog, de auteurs van "
|
65 |
+
"sommige plugins verwijderen de knop \"Sluiten\" uit meldingen en blijven "
|
66 |
+
"continu zichtbaar in uw beheer venster."
|
67 |
+
|
68 |
+
#: admin/options.php:34
|
69 |
+
msgid "All notices"
|
70 |
+
msgstr "Alle mededelingen"
|
71 |
+
|
72 |
+
#: admin/options.php:35
|
73 |
+
msgid "Hide all notices globally."
|
74 |
+
msgstr "Alle meldingen globaal verbergen."
|
75 |
+
|
76 |
+
#: admin/options.php:39
|
77 |
+
msgid "Only selected"
|
78 |
+
msgstr "Enkel geselecteerd"
|
79 |
+
|
80 |
+
#: admin/options.php:40
|
81 |
+
msgid ""
|
82 |
+
"Hide selected notices only. You will see the link \"Hide notification forever"
|
83 |
+
"\" in each notice. Push it and they will not bother you anymore."
|
84 |
+
msgstr ""
|
85 |
+
"Slechts bepaalde meldingen verbergen. U ziet in elke melding de link \"Verberg "
|
86 |
+
"melding voor altijd\". Klik erop en ze zullen je niet meer lastig vallen."
|
87 |
+
|
88 |
+
#: admin/options.php:44
|
89 |
+
msgid "Don't nide"
|
90 |
+
msgstr "Niet verbergen"
|
91 |
+
|
92 |
+
#: admin/options.php:45
|
93 |
+
msgid ""
|
94 |
+
"Do not hide notices and do not show “Hide notification forever” link for admin."
|
95 |
+
msgstr ""
|
96 |
+
"Meldingen niet verbergen en laat de link 'Verberg melding voor altijd' niet "
|
97 |
+
"zien voor beheerder."
|
98 |
+
|
99 |
+
#: admin/options.php:49
|
100 |
+
msgid ""
|
101 |
+
"Some plugins shows notifications about premium version, data collecting or "
|
102 |
+
"promote their services. Even if you push close button (that sometimes are "
|
103 |
+
"impossible), notices are shows again in some time. This option allows you to "
|
104 |
+
"control notices. Hide them all or each individually. Some plugins shows "
|
105 |
+
"notifications about premium version, data collecting or promote their "
|
106 |
+
"services. Even if you push close button (that sometimes are impossible), "
|
107 |
+
"notices are shows again in some time. This option allows you to control "
|
108 |
+
"notices. Hide them all or each individually."
|
109 |
+
msgstr ""
|
110 |
+
"Sommige plugins tonen meldingen over de premium versie, het verzamelen van "
|
111 |
+
"gegevens of het promoten van hun diensten. Zelfs als je op afsluiten klikt "
|
112 |
+
"(wat soms niet eens mogelijk is), worden mededelingen binnen afzienbare tijd "
|
113 |
+
"opnieuw getoond. Met deze optie kunt u mededelingen beheren. Verberg ze "
|
114 |
+
"allemaal of elk afzonderlijk."
|
115 |
+
|
116 |
+
#: admin/options.php:72
|
117 |
+
msgid ""
|
118 |
+
"By default, the plugin hides all notices, which you specified. If you enable "
|
119 |
+
"this option, the plugin will collect all hidden notices and show them into the "
|
120 |
+
"top admin toolbar. It will not disturb you but will allow to look notices at "
|
121 |
+
"your convenience."
|
122 |
+
msgstr ""
|
123 |
+
"Standaard verbergt de plugin alle kennisgevingen die u hebt opgegeven. Als u "
|
124 |
+
"deze optie inschakelt, verzamelt de plugin alle verborgen mededelingen en "
|
125 |
+
"toont deze in de bovenste beheer werkbalk. Het zal niet storend zijn, maar zal "
|
126 |
+
"je toelaten om aankondigingen op je gemak te bekijken."
|
127 |
+
|
128 |
+
#: admin/options.php:136
|
129 |
+
msgid "Push reset hidden notices if you need to show hidden notices again."
|
130 |
+
msgstr ""
|
131 |
+
"Druk op reset verborgen mededelingen als u verborgen mededelingen opnieuw wilt "
|
132 |
+
"weergeven."
|
133 |
+
|
134 |
+
#: admin/options.php:145
|
135 |
+
#, php-format
|
136 |
+
msgid "Reset hidden notices (%s)"
|
137 |
+
msgstr "Reset verborgen mededelingen (%s)"
|
138 |
+
|
139 |
+
#: admin/options.php:147 admin/pages/notices.php:85
|
140 |
+
msgid "Hidden notices are successfully reset, now you can see them again!"
|
141 |
+
msgstr "Verborgen meldingen zijn succesvol gereset, nu kun je ze opnieuw zien!"
|
142 |
+
|
143 |
+
#: admin/pages/notices.php:49
|
144 |
+
msgid "Notices"
|
145 |
+
msgstr "Mededelingen"
|
146 |
+
|
147 |
+
#: admin/pages/notices.php:50
|
148 |
+
msgid "General"
|
149 |
+
msgstr "Algemeen"
|
150 |
+
|
151 |
+
#: disable-admin-notices.php:23
|
152 |
+
msgid ""
|
153 |
+
"We found that you have the \"Clearfy - disable unused features\" plugin "
|
154 |
+
"installed, this plugin already has disable comments functions, so you can "
|
155 |
+
"deactivate plugin \"Disable admin notices\"!"
|
156 |
+
msgstr ""
|
157 |
+
|
158 |
+
#: disable-admin-notices.php:80
|
159 |
+
msgid "Webcraftic disable admin notices"
|
160 |
+
msgstr "Webcraftic uitschakelen admin mededelingen"
|
161 |
+
|
162 |
+
#: includes/classes/class.configurate-notices.php:79
|
163 |
+
#, php-format
|
164 |
+
msgid "Notifications %s"
|
165 |
+
msgstr "Meldingen %s"
|
166 |
+
|
167 |
+
#: includes/classes/class.configurate-notices.php:88
|
168 |
+
msgid "Restore notice"
|
169 |
+
msgstr "Herstel mededelingen"
|
170 |
+
|
171 |
+
#: includes/classes/class.configurate-notices.php:267
|
172 |
+
msgid "Hide notification forever"
|
173 |
msgstr "Verberg melding voor altijd"
|
components/disable-admin-notices/languages/disable-admin-notices-pt_BR.po
CHANGED
@@ -1,181 +1,181 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: clearfy\n"
|
4 |
-
"POT-Creation-Date: 2018-09-06 18:31+0300\n"
|
5 |
-
"PO-Revision-Date: 2018-09-06 18:31+0300\n"
|
6 |
-
"Last-Translator: alex.kovalevv@gmail.com <alex.kovalevv@gmail.com>\n"
|
7 |
-
"Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
|
8 |
-
"Language: pt_BR\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"X-Generator: Poedit 2.1.1\n"
|
13 |
-
"X-Poedit-Basepath: ..\n"
|
14 |
-
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
15 |
-
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
16 |
-
"X-Poedit-SourceCharset: UTF-8\n"
|
17 |
-
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
18 |
-
"X-Poedit-SearchPath-0: .\n"
|
19 |
-
"X-Poedit-SearchPathExcluded-0: libs\n"
|
20 |
-
"X-Poedit-SearchPathExcluded-1: components\n"
|
21 |
-
"X-Poedit-SearchPathExcluded-2: cache\n"
|
22 |
-
|
23 |
-
#: admin/ajax/hide-notice.php:19 admin/ajax/restore-notice.php:19
|
24 |
-
msgid "You don't have enough capability to edit this information."
|
25 |
-
msgstr "Você não tem capacidade suficiente para editar essas informações."
|
26 |
-
|
27 |
-
#: admin/ajax/hide-notice.php:32 admin/ajax/restore-notice.php:28
|
28 |
-
msgid "Undefinded notice id."
|
29 |
-
msgstr "ID de aviso não identificada."
|
30 |
-
|
31 |
-
#: admin/ajax/hide-notice.php:46 admin/ajax/restore-notice.php:40
|
32 |
-
msgid "Success"
|
33 |
-
msgstr "Sucesso"
|
34 |
-
|
35 |
-
#: admin/boot.php:18 admin/options.php:30 admin/pages/notices.php:33
|
36 |
-
msgid "Hide admin notices"
|
37 |
-
msgstr "Ocultar avisos de administrador"
|
38 |
-
|
39 |
-
#: admin/boot.php:24 admin/options.php:70
|
40 |
-
msgid "Enable hidden notices in adminbar"
|
41 |
-
msgstr "Ativar avisos ocultos no adminbar"
|
42 |
-
|
43 |
-
#: admin/boot.php:46
|
44 |
-
msgid "Get ultimate plugin free"
|
45 |
-
msgstr "Obtenha o melhor plugin grátis"
|
46 |
-
|
47 |
-
#: admin/options.php:23
|
48 |
-
msgid "Admin notifications, Update nags"
|
49 |
-
msgstr "Notificações de administrador, Atualizações nags"
|
50 |
-
|
51 |
-
#: admin/options.php:23
|
52 |
-
msgid ""
|
53 |
-
"Do you know the situation, when some plugin offers you to update to premium, "
|
54 |
-
"to collect technical data and shows many annoying notices? You are close "
|
55 |
-
"these notices every now and again but they newly appears and interfere your "
|
56 |
-
"work with WordPress. Even worse, some plugin’s authors delete “close” button "
|
57 |
-
"from notices and they shows in your admin panel forever."
|
58 |
-
msgstr ""
|
59 |
-
"Você conhece a situação, quando algum plugin lhe oferece para atualizar para "
|
60 |
-
"premium, para coletar dados técnicos e mostra muitos avisos irritantes? Você "
|
61 |
-
"está próximo desses avisos de vez em quando, mas eles aparecem recentemente "
|
62 |
-
"e interferem no seu trabalho com o WordPress. Pior ainda, alguns autores de "
|
63 |
-
"plug-in excluem o botão “fechar” dos avisos e eles são exibidos no seu "
|
64 |
-
"painel de administração para sempre."
|
65 |
-
|
66 |
-
#: admin/options.php:34
|
67 |
-
msgid "All notices"
|
68 |
-
msgstr "Todos os avisos"
|
69 |
-
|
70 |
-
#: admin/options.php:35
|
71 |
-
msgid "Hide all notices globally."
|
72 |
-
msgstr "Esconda todos os avisos globalmente."
|
73 |
-
|
74 |
-
#: admin/options.php:39
|
75 |
-
msgid "Only selected"
|
76 |
-
msgstr "Apenas selecionado"
|
77 |
-
|
78 |
-
#: admin/options.php:40
|
79 |
-
msgid ""
|
80 |
-
"Hide selected notices only. You will see the link \"Hide notification forever"
|
81 |
-
"\" in each notice. Push it and they will not bother you anymore."
|
82 |
-
msgstr ""
|
83 |
-
"Ocultar apenas avisos selecionados. Você verá o link \"Ocultar notificação "
|
84 |
-
"para sempre\" em cada aviso. Empurre-o e eles não vão incomodá-lo mais."
|
85 |
-
|
86 |
-
#: admin/options.php:44
|
87 |
-
msgid "Don't nide"
|
88 |
-
msgstr "Não nide"
|
89 |
-
|
90 |
-
#: admin/options.php:45
|
91 |
-
msgid ""
|
92 |
-
"Do not hide notices and do not show “Hide notification forever” link for "
|
93 |
-
"admin."
|
94 |
-
msgstr ""
|
95 |
-
"Não oculte avisos e não mostre o link \"Ocultar notificação para sempre\" "
|
96 |
-
"para o administrador."
|
97 |
-
|
98 |
-
#: admin/options.php:49
|
99 |
-
msgid ""
|
100 |
-
"Some plugins shows notifications about premium version, data collecting or "
|
101 |
-
"promote their services. Even if you push close button (that sometimes are "
|
102 |
-
"impossible), notices are shows again in some time. This option allows you to "
|
103 |
-
"control notices. Hide them all or each individually. Some plugins shows "
|
104 |
-
"notifications about premium version, data collecting or promote their "
|
105 |
-
"services. Even if you push close button (that sometimes are impossible), "
|
106 |
-
"notices are shows again in some time. This option allows you to control "
|
107 |
-
"notices. Hide them all or each individually."
|
108 |
-
msgstr ""
|
109 |
-
"Alguns plugins mostram notificações sobre a versão premium, coleta de dados "
|
110 |
-
"ou promover seus serviços. Mesmo se você apertar o botão fechar (que às "
|
111 |
-
"vezes são impossíveis), os avisos são exibidos novamente em algum momento. "
|
112 |
-
"Esta opção permite controlar avisos. Esconda-os todos ou cada um "
|
113 |
-
"individualmente. Alguns plugins mostram notificações sobre a versão premium, "
|
114 |
-
"coleta de dados ou promover seus serviços. Mesmo se você apertar o botão "
|
115 |
-
"fechar (que às vezes são impossíveis), os avisos são exibidos novamente em "
|
116 |
-
"algum momento. Esta opção permite controlar avisos. Esconda-os todos ou cada "
|
117 |
-
"um individualmente."
|
118 |
-
|
119 |
-
#: admin/options.php:72
|
120 |
-
msgid ""
|
121 |
-
"By default, the plugin hides all notices, which you specified. If you enable "
|
122 |
-
"this option, the plugin will collect all hidden notices and show them into "
|
123 |
-
"the top admin toolbar. It will not disturb you but will allow to look "
|
124 |
-
"notices at your convenience."
|
125 |
-
msgstr ""
|
126 |
-
"Por padrão, o plug-in oculta todos os avisos especificados. Se você ativar "
|
127 |
-
"essa opção, o plug-in coletará todos os avisos ocultos e os mostrará na "
|
128 |
-
"barra de ferramentas superior do administrador. Não o incomodará, mas "
|
129 |
-
"permitirá que você veja avisos de acordo com sua conveniência."
|
130 |
-
|
131 |
-
#: admin/options.php:136
|
132 |
-
msgid "Push reset hidden notices if you need to show hidden notices again."
|
133 |
-
msgstr ""
|
134 |
-
"Envie os avisos ocultos redefinidos se precisar mostrar avisos ocultos "
|
135 |
-
"novamente."
|
136 |
-
|
137 |
-
#: admin/options.php:145
|
138 |
-
#, php-format
|
139 |
-
msgid "Reset hidden notices (%s)"
|
140 |
-
msgstr "Redefinir avisos ocultos ( %s )"
|
141 |
-
|
142 |
-
#: admin/options.php:147 admin/pages/notices.php:85
|
143 |
-
msgid "Hidden notices are successfully reset, now you can see them again!"
|
144 |
-
msgstr ""
|
145 |
-
"Avisos ocultos são redefinidos com sucesso, agora você pode vê-los novamente!"
|
146 |
-
|
147 |
-
#: admin/pages/notices.php:49
|
148 |
-
msgid "Notices"
|
149 |
-
msgstr "Avisos"
|
150 |
-
|
151 |
-
#: admin/pages/notices.php:50
|
152 |
-
msgid "General"
|
153 |
-
msgstr "Geral"
|
154 |
-
|
155 |
-
#: disable-admin-notices.php:23
|
156 |
-
msgid ""
|
157 |
-
"We found that you have the \"Clearfy - disable unused features\" plugin "
|
158 |
-
"installed, this plugin already has disable comments functions, so you can "
|
159 |
-
"deactivate plugin \"Disable admin notices\"!"
|
160 |
-
msgstr ""
|
161 |
-
"Descobrimos que você tem o plug-in \"Clearfy - desativar recursos não "
|
162 |
-
"utilizados \" instalado, este plugin já tem funções de desabilitar "
|
163 |
-
"comentários, então você pode desativar o plugin \"Desativar avisos do "
|
164 |
-
"administrador \"!"
|
165 |
-
|
166 |
-
#: disable-admin-notices.php:80
|
167 |
-
msgid "Webcraftic disable admin notices"
|
168 |
-
msgstr "Webcraftic desabilitar avisos de administração"
|
169 |
-
|
170 |
-
#: includes/classes/class.configurate-notices.php:79
|
171 |
-
#, php-format
|
172 |
-
msgid "Notifications %s"
|
173 |
-
msgstr "Notificações %s"
|
174 |
-
|
175 |
-
#: includes/classes/class.configurate-notices.php:88
|
176 |
-
msgid "Restore notice"
|
177 |
-
msgstr "Aviso de restauração"
|
178 |
-
|
179 |
-
#: includes/classes/class.configurate-notices.php:267
|
180 |
-
msgid "Hide notification forever"
|
181 |
msgstr "Ocultar a notificação para sempre"
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: clearfy\n"
|
4 |
+
"POT-Creation-Date: 2018-09-06 18:31+0300\n"
|
5 |
+
"PO-Revision-Date: 2018-09-06 18:31+0300\n"
|
6 |
+
"Last-Translator: alex.kovalevv@gmail.com <alex.kovalevv@gmail.com>\n"
|
7 |
+
"Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
|
8 |
+
"Language: pt_BR\n"
|
9 |
+
"MIME-Version: 1.0\n"
|
10 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
+
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"X-Generator: Poedit 2.1.1\n"
|
13 |
+
"X-Poedit-Basepath: ..\n"
|
14 |
+
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
15 |
+
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
16 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
17 |
+
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
18 |
+
"X-Poedit-SearchPath-0: .\n"
|
19 |
+
"X-Poedit-SearchPathExcluded-0: libs\n"
|
20 |
+
"X-Poedit-SearchPathExcluded-1: components\n"
|
21 |
+
"X-Poedit-SearchPathExcluded-2: cache\n"
|
22 |
+
|
23 |
+
#: admin/ajax/hide-notice.php:19 admin/ajax/restore-notice.php:19
|
24 |
+
msgid "You don't have enough capability to edit this information."
|
25 |
+
msgstr "Você não tem capacidade suficiente para editar essas informações."
|
26 |
+
|
27 |
+
#: admin/ajax/hide-notice.php:32 admin/ajax/restore-notice.php:28
|
28 |
+
msgid "Undefinded notice id."
|
29 |
+
msgstr "ID de aviso não identificada."
|
30 |
+
|
31 |
+
#: admin/ajax/hide-notice.php:46 admin/ajax/restore-notice.php:40
|
32 |
+
msgid "Success"
|
33 |
+
msgstr "Sucesso"
|
34 |
+
|
35 |
+
#: admin/boot.php:18 admin/options.php:30 admin/pages/notices.php:33
|
36 |
+
msgid "Hide admin notices"
|
37 |
+
msgstr "Ocultar avisos de administrador"
|
38 |
+
|
39 |
+
#: admin/boot.php:24 admin/options.php:70
|
40 |
+
msgid "Enable hidden notices in adminbar"
|
41 |
+
msgstr "Ativar avisos ocultos no adminbar"
|
42 |
+
|
43 |
+
#: admin/boot.php:46
|
44 |
+
msgid "Get ultimate plugin free"
|
45 |
+
msgstr "Obtenha o melhor plugin grátis"
|
46 |
+
|
47 |
+
#: admin/options.php:23
|
48 |
+
msgid "Admin notifications, Update nags"
|
49 |
+
msgstr "Notificações de administrador, Atualizações nags"
|
50 |
+
|
51 |
+
#: admin/options.php:23
|
52 |
+
msgid ""
|
53 |
+
"Do you know the situation, when some plugin offers you to update to premium, "
|
54 |
+
"to collect technical data and shows many annoying notices? You are close "
|
55 |
+
"these notices every now and again but they newly appears and interfere your "
|
56 |
+
"work with WordPress. Even worse, some plugin’s authors delete “close” button "
|
57 |
+
"from notices and they shows in your admin panel forever."
|
58 |
+
msgstr ""
|
59 |
+
"Você conhece a situação, quando algum plugin lhe oferece para atualizar para "
|
60 |
+
"premium, para coletar dados técnicos e mostra muitos avisos irritantes? Você "
|
61 |
+
"está próximo desses avisos de vez em quando, mas eles aparecem recentemente "
|
62 |
+
"e interferem no seu trabalho com o WordPress. Pior ainda, alguns autores de "
|
63 |
+
"plug-in excluem o botão “fechar” dos avisos e eles são exibidos no seu "
|
64 |
+
"painel de administração para sempre."
|
65 |
+
|
66 |
+
#: admin/options.php:34
|
67 |
+
msgid "All notices"
|
68 |
+
msgstr "Todos os avisos"
|
69 |
+
|
70 |
+
#: admin/options.php:35
|
71 |
+
msgid "Hide all notices globally."
|
72 |
+
msgstr "Esconda todos os avisos globalmente."
|
73 |
+
|
74 |
+
#: admin/options.php:39
|
75 |
+
msgid "Only selected"
|
76 |
+
msgstr "Apenas selecionado"
|
77 |
+
|
78 |
+
#: admin/options.php:40
|
79 |
+
msgid ""
|
80 |
+
"Hide selected notices only. You will see the link \"Hide notification forever"
|
81 |
+
"\" in each notice. Push it and they will not bother you anymore."
|
82 |
+
msgstr ""
|
83 |
+
"Ocultar apenas avisos selecionados. Você verá o link \"Ocultar notificação "
|
84 |
+
"para sempre\" em cada aviso. Empurre-o e eles não vão incomodá-lo mais."
|
85 |
+
|
86 |
+
#: admin/options.php:44
|
87 |
+
msgid "Don't nide"
|
88 |
+
msgstr "Não nide"
|
89 |
+
|
90 |
+
#: admin/options.php:45
|
91 |
+
msgid ""
|
92 |
+
"Do not hide notices and do not show “Hide notification forever” link for "
|
93 |
+
"admin."
|
94 |
+
msgstr ""
|
95 |
+
"Não oculte avisos e não mostre o link \"Ocultar notificação para sempre\" "
|
96 |
+
"para o administrador."
|
97 |
+
|
98 |
+
#: admin/options.php:49
|
99 |
+
msgid ""
|
100 |
+
"Some plugins shows notifications about premium version, data collecting or "
|
101 |
+
"promote their services. Even if you push close button (that sometimes are "
|
102 |
+
"impossible), notices are shows again in some time. This option allows you to "
|
103 |
+
"control notices. Hide them all or each individually. Some plugins shows "
|
104 |
+
"notifications about premium version, data collecting or promote their "
|
105 |
+
"services. Even if you push close button (that sometimes are impossible), "
|
106 |
+
"notices are shows again in some time. This option allows you to control "
|
107 |
+
"notices. Hide them all or each individually."
|
108 |
+
msgstr ""
|
109 |
+
"Alguns plugins mostram notificações sobre a versão premium, coleta de dados "
|
110 |
+
"ou promover seus serviços. Mesmo se você apertar o botão fechar (que às "
|
111 |
+
"vezes são impossíveis), os avisos são exibidos novamente em algum momento. "
|
112 |
+
"Esta opção permite controlar avisos. Esconda-os todos ou cada um "
|
113 |
+
"individualmente. Alguns plugins mostram notificações sobre a versão premium, "
|
114 |
+
"coleta de dados ou promover seus serviços. Mesmo se você apertar o botão "
|
115 |
+
"fechar (que às vezes são impossíveis), os avisos são exibidos novamente em "
|
116 |
+
"algum momento. Esta opção permite controlar avisos. Esconda-os todos ou cada "
|
117 |
+
"um individualmente."
|
118 |
+
|
119 |
+
#: admin/options.php:72
|
120 |
+
msgid ""
|
121 |
+
"By default, the plugin hides all notices, which you specified. If you enable "
|
122 |
+
"this option, the plugin will collect all hidden notices and show them into "
|
123 |
+
"the top admin toolbar. It will not disturb you but will allow to look "
|
124 |
+
"notices at your convenience."
|
125 |
+
msgstr ""
|
126 |
+
"Por padrão, o plug-in oculta todos os avisos especificados. Se você ativar "
|
127 |
+
"essa opção, o plug-in coletará todos os avisos ocultos e os mostrará na "
|
128 |
+
"barra de ferramentas superior do administrador. Não o incomodará, mas "
|
129 |
+
"permitirá que você veja avisos de acordo com sua conveniência."
|
130 |
+
|
131 |
+
#: admin/options.php:136
|
132 |
+
msgid "Push reset hidden notices if you need to show hidden notices again."
|
133 |
+
msgstr ""
|
134 |
+
"Envie os avisos ocultos redefinidos se precisar mostrar avisos ocultos "
|
135 |
+
"novamente."
|
136 |
+
|
137 |
+
#: admin/options.php:145
|
138 |
+
#, php-format
|
139 |
+
msgid "Reset hidden notices (%s)"
|
140 |
+
msgstr "Redefinir avisos ocultos ( %s )"
|
141 |
+
|
142 |
+
#: admin/options.php:147 admin/pages/notices.php:85
|
143 |
+
msgid "Hidden notices are successfully reset, now you can see them again!"
|
144 |
+
msgstr ""
|
145 |
+
"Avisos ocultos são redefinidos com sucesso, agora você pode vê-los novamente!"
|
146 |
+
|
147 |
+
#: admin/pages/notices.php:49
|
148 |
+
msgid "Notices"
|
149 |
+
msgstr "Avisos"
|
150 |
+
|
151 |
+
#: admin/pages/notices.php:50
|
152 |
+
msgid "General"
|
153 |
+
msgstr "Geral"
|
154 |
+
|
155 |
+
#: disable-admin-notices.php:23
|
156 |
+
msgid ""
|
157 |
+
"We found that you have the \"Clearfy - disable unused features\" plugin "
|
158 |
+
"installed, this plugin already has disable comments functions, so you can "
|
159 |
+
"deactivate plugin \"Disable admin notices\"!"
|
160 |
+
msgstr ""
|
161 |
+
"Descobrimos que você tem o plug-in \"Clearfy - desativar recursos não "
|
162 |
+
"utilizados \" instalado, este plugin já tem funções de desabilitar "
|
163 |
+
"comentários, então você pode desativar o plugin \"Desativar avisos do "
|
164 |
+
"administrador \"!"
|
165 |
+
|
166 |
+
#: disable-admin-notices.php:80
|
167 |
+
msgid "Webcraftic disable admin notices"
|
168 |
+
msgstr "Webcraftic desabilitar avisos de administração"
|
169 |
+
|
170 |
+
#: includes/classes/class.configurate-notices.php:79
|
171 |
+
#, php-format
|
172 |
+
msgid "Notifications %s"
|
173 |
+
msgstr "Notificações %s"
|
174 |
+
|
175 |
+
#: includes/classes/class.configurate-notices.php:88
|
176 |
+
msgid "Restore notice"
|
177 |
+
msgstr "Aviso de restauração"
|
178 |
+
|
179 |
+
#: includes/classes/class.configurate-notices.php:267
|
180 |
+
msgid "Hide notification forever"
|
181 |
msgstr "Ocultar a notificação para sempre"
|
components/disable-admin-notices/uninstall.php
CHANGED
@@ -8,6 +8,17 @@
|
|
8 |
// remove plugin options
|
9 |
global $wpdb;
|
10 |
|
11 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
|
13 |
|
8 |
// remove plugin options
|
9 |
global $wpdb;
|
10 |
|
11 |
+
if( !function_exists('is_plugin_active_for_network') ) {
|
12 |
+
require_once(ABSPATH . 'wp-admin/includes/plugin.php');
|
13 |
+
}
|
14 |
+
|
15 |
+
if( is_multisite() ) {
|
16 |
+
$wpdb->query("DELETE FROM {$wpdb->sitemeta} WHERE meta_key LIKE 'wbcr_dan_%';");
|
17 |
+
}
|
18 |
+
|
19 |
+
$wpdb->query("DELETE FROM {$wpdb->options} WHERE option_name LIKE 'wbcr_dan_%';");
|
20 |
+
$wpdb->query("DELETE FROM {$wpdb->usermeta} WHERE meta_key LIKE 'wbcr_dan_%'");
|
21 |
+
|
22 |
+
|
23 |
|
24 |
|
components/disable-admin-notices/updates/010007.php
ADDED
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php #comp-page builds: premium
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Updates for altering the table used to store statistics data.
|
5 |
+
* Adds new columns and renames existing ones in order to add support for the new social buttons.
|
6 |
+
*/
|
7 |
+
class WDNUpdate010007 extends Wbcr_Factory409_Update {
|
8 |
+
|
9 |
+
public function install()
|
10 |
+
{
|
11 |
+
global $wpdb;
|
12 |
+
|
13 |
+
$hidden_notices = $this->plugin->getPopulateOption('hidden_notices');
|
14 |
+
|
15 |
+
$all_users = $wpdb->get_col("SELECT ID FROM {$wpdb->users}");
|
16 |
+
|
17 |
+
if( !empty($all_users) && !empty($hidden_notices) ) {
|
18 |
+
foreach($all_users as $user_id) {
|
19 |
+
update_user_meta($user_id, $this->plugin->getOptionName('hidden_notices'), $hidden_notices);
|
20 |
+
}
|
21 |
+
}
|
22 |
+
}
|
23 |
+
}
|
components/ga-cache/admin/activation.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
* Activator for the GA cache
|
5 |
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
6 |
* @copyright (c) 09.09.2017, Webcraftic
|
7 |
-
* @see
|
8 |
* @version 1.0
|
9 |
*/
|
10 |
|
@@ -13,7 +13,7 @@
|
|
13 |
exit;
|
14 |
}
|
15 |
|
16 |
-
class WGA_Activation extends
|
17 |
|
18 |
/**
|
19 |
* Runs activation actions.
|
@@ -26,13 +26,13 @@
|
|
26 |
// Caching google analytics on a schedule
|
27 |
// -------------
|
28 |
|
29 |
-
$ga_cache = WGA_Plugin::app()->
|
30 |
|
31 |
if( $ga_cache ) {
|
32 |
wp_clear_scheduled_hook('wbcr_clearfy_update_local_ga');
|
33 |
|
34 |
if( !wp_next_scheduled('wbcr_clearfy_update_local_ga') ) {
|
35 |
-
$ga_caos_remove_wp_cron = WGA_Plugin::app()->
|
36 |
|
37 |
if( !$ga_caos_remove_wp_cron ) {
|
38 |
wp_schedule_event(time(), 'daily', 'wbcr_clearfy_update_local_ga');
|
@@ -48,7 +48,7 @@
|
|
48 |
*/
|
49 |
public function deactivate()
|
50 |
{
|
51 |
-
//WGA_Plugin::app()->
|
52 |
|
53 |
if( wp_next_scheduled('wbcr_clearfy_update_local_ga') ) {
|
54 |
wp_clear_scheduled_hook('wbcr_clearfy_update_local_ga');
|
4 |
* Activator for the GA cache
|
5 |
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
6 |
* @copyright (c) 09.09.2017, Webcraftic
|
7 |
+
* @see Factory409_Activator
|
8 |
* @version 1.0
|
9 |
*/
|
10 |
|
13 |
exit;
|
14 |
}
|
15 |
|
16 |
+
class WGA_Activation extends Wbcr_Factory409_Activator {
|
17 |
|
18 |
/**
|
19 |
* Runs activation actions.
|
26 |
// Caching google analytics on a schedule
|
27 |
// -------------
|
28 |
|
29 |
+
$ga_cache = WGA_Plugin::app()->getPopulateOption('ga_cache');
|
30 |
|
31 |
if( $ga_cache ) {
|
32 |
wp_clear_scheduled_hook('wbcr_clearfy_update_local_ga');
|
33 |
|
34 |
if( !wp_next_scheduled('wbcr_clearfy_update_local_ga') ) {
|
35 |
+
$ga_caos_remove_wp_cron = WGA_Plugin::app()->getPopulateOption('ga_caos_remove_wp_cron');
|
36 |
|
37 |
if( !$ga_caos_remove_wp_cron ) {
|
38 |
wp_schedule_event(time(), 'daily', 'wbcr_clearfy_update_local_ga');
|
48 |
*/
|
49 |
public function deactivate()
|
50 |
{
|
51 |
+
//WGA_Plugin::app()->updatePopulateOption('ga_cache', 0);
|
52 |
|
53 |
if( wp_next_scheduled('wbcr_clearfy_update_local_ga') ) {
|
54 |
wp_clear_scheduled_hook('wbcr_clearfy_update_local_ga');
|
components/ga-cache/admin/assets/css/notifications-panel.css
CHANGED
@@ -1,65 +1,65 @@
|
|
1 |
-
/**
|
2 |
-
* Notification panel in admin bar
|
3 |
-
* @author Alex Kovalev <alex.kovalevv@gmail.com>
|
4 |
-
* @copyright Alex Kovalev 23.08.2017
|
5 |
-
*/
|
6 |
-
#wp-admin-bar-wbcr-han-notify-panel .wbcr-han-adminbar-counter {
|
7 |
-
background-color: #0073aa;
|
8 |
-
border-radius: 50%;
|
9 |
-
color: #fff;
|
10 |
-
font-weight: bold;
|
11 |
-
padding: 2px 6px;
|
12 |
-
font-size: 0.85em;
|
13 |
-
margin-left: 5px;
|
14 |
-
}
|
15 |
-
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper {
|
16 |
-
max-height: 500px;
|
17 |
-
overflow-y: scroll;
|
18 |
-
}
|
19 |
-
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu {
|
20 |
-
width: 400px;
|
21 |
-
padding: 0;
|
22 |
-
}
|
23 |
-
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li {
|
24 |
-
border-left: 4px solid #26292b;
|
25 |
-
padding: 0;
|
26 |
-
}
|
27 |
-
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li.wpnc-updated {
|
28 |
-
border-left-color: #7ad03a;
|
29 |
-
}
|
30 |
-
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li.wpnc-update-nag {
|
31 |
-
border-left-color: #ffba00;
|
32 |
-
}
|
33 |
-
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li.wpnc-error {
|
34 |
-
border-left-color: #dd3d36;
|
35 |
-
}
|
36 |
-
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .wbcr-han-panel-restore-notify-line {
|
37 |
-
text-align: right;
|
38 |
-
}
|
39 |
-
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .wbcr-han-panel-restore-notify-line a {
|
40 |
-
color: #ffba00 !important;
|
41 |
-
text-decoration: none !important;
|
42 |
-
}
|
43 |
-
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .wbcr-han-panel-restore-notify-line a:hover {
|
44 |
-
text-decoration: underline !important;
|
45 |
-
color: #ffc11a !important;
|
46 |
-
}
|
47 |
-
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .ab-item {
|
48 |
-
height: 100% !important;
|
49 |
-
white-space: normal !important;
|
50 |
-
padding: .5em 1em;
|
51 |
-
border-bottom: 1px solid #4a4f55;
|
52 |
-
color: #949494;
|
53 |
-
line-height: .5em;
|
54 |
-
}
|
55 |
-
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .ab-item a {
|
56 |
-
display: inline;
|
57 |
-
padding: 0;
|
58 |
-
margin: 0;
|
59 |
-
text-decoration: underline;
|
60 |
-
line-height: .5em;
|
61 |
-
color: #949494;
|
62 |
-
}
|
63 |
-
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu li:nth-child(2n) {
|
64 |
-
background: #26292b;
|
65 |
-
}
|
1 |
+
/**
|
2 |
+
* Notification panel in admin bar
|
3 |
+
* @author Alex Kovalev <alex.kovalevv@gmail.com>
|
4 |
+
* @copyright Alex Kovalev 23.08.2017
|
5 |
+
*/
|
6 |
+
#wp-admin-bar-wbcr-han-notify-panel .wbcr-han-adminbar-counter {
|
7 |
+
background-color: #0073aa;
|
8 |
+
border-radius: 50%;
|
9 |
+
color: #fff;
|
10 |
+
font-weight: bold;
|
11 |
+
padding: 2px 6px;
|
12 |
+
font-size: 0.85em;
|
13 |
+
margin-left: 5px;
|
14 |
+
}
|
15 |
+
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper {
|
16 |
+
max-height: 500px;
|
17 |
+
overflow-y: scroll;
|
18 |
+
}
|
19 |
+
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu {
|
20 |
+
width: 400px;
|
21 |
+
padding: 0;
|
22 |
+
}
|
23 |
+
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li {
|
24 |
+
border-left: 4px solid #26292b;
|
25 |
+
padding: 0;
|
26 |
+
}
|
27 |
+
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li.wpnc-updated {
|
28 |
+
border-left-color: #7ad03a;
|
29 |
+
}
|
30 |
+
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li.wpnc-update-nag {
|
31 |
+
border-left-color: #ffba00;
|
32 |
+
}
|
33 |
+
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li.wpnc-error {
|
34 |
+
border-left-color: #dd3d36;
|
35 |
+
}
|
36 |
+
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .wbcr-han-panel-restore-notify-line {
|
37 |
+
text-align: right;
|
38 |
+
}
|
39 |
+
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .wbcr-han-panel-restore-notify-line a {
|
40 |
+
color: #ffba00 !important;
|
41 |
+
text-decoration: none !important;
|
42 |
+
}
|
43 |
+
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .wbcr-han-panel-restore-notify-line a:hover {
|
44 |
+
text-decoration: underline !important;
|
45 |
+
color: #ffc11a !important;
|
46 |
+
}
|
47 |
+
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .ab-item {
|
48 |
+
height: 100% !important;
|
49 |
+
white-space: normal !important;
|
50 |
+
padding: .5em 1em;
|
51 |
+
border-bottom: 1px solid #4a4f55;
|
52 |
+
color: #949494;
|
53 |
+
line-height: .5em;
|
54 |
+
}
|
55 |
+
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .ab-item a {
|
56 |
+
display: inline;
|
57 |
+
padding: 0;
|
58 |
+
margin: 0;
|
59 |
+
text-decoration: underline;
|
60 |
+
line-height: .5em;
|
61 |
+
color: #949494;
|
62 |
+
}
|
63 |
+
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu li:nth-child(2n) {
|
64 |
+
background: #26292b;
|
65 |
+
}
|
components/ga-cache/admin/boot.php
CHANGED
@@ -44,7 +44,7 @@
|
|
44 |
return $notices;
|
45 |
}
|
46 |
|
47 |
-
add_filter('
|
48 |
|
49 |
/**
|
50 |
* Migrate settings from the old plugin to the new one.
|
@@ -57,7 +57,7 @@
|
|
57 |
return;
|
58 |
}
|
59 |
|
60 |
-
$is_migrate_up_to_230 = WGA_Plugin::app()->
|
61 |
|
62 |
if( !$is_migrate_up_to_230 ) {
|
63 |
$old_plugin_tracking_id = get_option('sga_analytics_id');
|
@@ -66,8 +66,8 @@
|
|
66 |
$old_plugin_sga_render_when_loggedin = (int)get_option('sga_render_when_loggedin');
|
67 |
|
68 |
if( !empty($old_plugin_tracking_id) ) {
|
69 |
-
WGA_Plugin::app()->
|
70 |
-
WGA_Plugin::app()->
|
71 |
|
72 |
$script_position = 'footer';
|
73 |
|
@@ -75,14 +75,14 @@
|
|
75 |
$script_position = 'header';
|
76 |
}
|
77 |
|
78 |
-
WGA_Plugin::app()->
|
79 |
-
WGA_Plugin::app()->
|
80 |
-
WGA_Plugin::app()->
|
81 |
|
82 |
$wpdb->query("DELETE FROM {$wpdb->prefix}options WHERE option_name LIKE 'sga_%';");
|
83 |
}
|
84 |
|
85 |
-
WGA_Plugin::app()->
|
86 |
}
|
87 |
}
|
88 |
|
44 |
return $notices;
|
45 |
}
|
46 |
|
47 |
+
add_filter('wbcr_factory_notices_407_list', 'wbcr_ga_admin_conflict_notices_error', 10, 2);
|
48 |
|
49 |
/**
|
50 |
* Migrate settings from the old plugin to the new one.
|
57 |
return;
|
58 |
}
|
59 |
|
60 |
+
$is_migrate_up_to_230 = WGA_Plugin::app()->getPopulateOption('is_migrate_up_to_230', false);
|
61 |
|
62 |
if( !$is_migrate_up_to_230 ) {
|
63 |
$old_plugin_tracking_id = get_option('sga_analytics_id');
|
66 |
$old_plugin_sga_render_when_loggedin = (int)get_option('sga_render_when_loggedin');
|
67 |
|
68 |
if( !empty($old_plugin_tracking_id) ) {
|
69 |
+
WGA_Plugin::app()->updatePopulateOption('ga_cache', 1);
|
70 |
+
WGA_Plugin::app()->updatePopulateOption('ga_tracking_id', $old_plugin_tracking_id);
|
71 |
|
72 |
$script_position = 'footer';
|
73 |
|
75 |
$script_position = 'header';
|
76 |
}
|
77 |
|
78 |
+
WGA_Plugin::app()->updatePopulateOption('ga_script_position', $script_position);
|
79 |
+
WGA_Plugin::app()->updatePopulateOption('ga_anonymize_ip', $old_plugin_demographic_and_interest);
|
80 |
+
WGA_Plugin::app()->updatePopulateOption('ga_track_admin', $old_plugin_sga_render_when_loggedin);
|
81 |
|
82 |
$wpdb->query("DELETE FROM {$wpdb->prefix}options WHERE option_name LIKE 'sga_%';");
|
83 |
}
|
84 |
|
85 |
+
WGA_Plugin::app()->updatePopulateOption('is_migrate_up_to_230', 1);
|
86 |
}
|
87 |
}
|
88 |
|
components/ga-cache/admin/options.php
CHANGED
@@ -126,7 +126,7 @@
|
|
126 |
|
127 |
/**
|
128 |
* @param $form
|
129 |
-
* @param $page
|
130 |
* @return mixed
|
131 |
*/
|
132 |
function wbcr_ga_additionally_form_options($form, $page)
|
126 |
|
127 |
/**
|
128 |
* @param $form
|
129 |
+
* @param $page FactoryPages410_ImpressiveThemplate
|
130 |
* @return mixed
|
131 |
*/
|
132 |
function wbcr_ga_additionally_form_options($form, $page)
|
components/ga-cache/admin/pages/ga_cache.php
CHANGED
@@ -11,24 +11,29 @@
|
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
-
class WGA_CachePage extends
|
15 |
|
16 |
/**
|
17 |
* The id of the page in the admin menu.
|
18 |
*
|
19 |
* Mainly used to navigate between pages.
|
20 |
-
* @see
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
* @var string
|
24 |
*/
|
25 |
public $id = "ga_cache";
|
26 |
public $page_menu_dashicon = 'dashicons-testimonial';
|
|
|
|
|
|
|
|
|
|
|
27 |
|
28 |
/**
|
29 |
-
* @param
|
30 |
*/
|
31 |
-
public function __construct(
|
32 |
{
|
33 |
$this->menu_title = __('Local Google Analytics', 'simple-google-analytics');
|
34 |
|
@@ -50,32 +55,13 @@
|
|
50 |
: __('General', 'simple-google-analytics');
|
51 |
}
|
52 |
|
53 |
-
/**
|
54 |
-
* Requests assets (js and css) for the page.
|
55 |
-
*
|
56 |
-
* @see Wbcr_FactoryPages407_AdminPage
|
57 |
-
*
|
58 |
-
* @since 1.0.0
|
59 |
-
* @return void
|
60 |
-
*/
|
61 |
-
public function assets($scripts, $styles)
|
62 |
-
{
|
63 |
-
parent::assets($scripts, $styles);
|
64 |
-
|
65 |
-
// Add Clearfy styles for HMWP pages
|
66 |
-
if( defined('WBCR_CLEARFY_PLUGIN_ACTIVE') ) {
|
67 |
-
$this->styles->add(WCL_PLUGIN_URL . '/admin/assets/css/general.css');
|
68 |
-
}
|
69 |
-
}
|
70 |
-
|
71 |
-
|
72 |
/**
|
73 |
* Permalinks options.
|
74 |
*
|
75 |
* @since 1.0.0
|
76 |
* @return mixed[]
|
77 |
*/
|
78 |
-
public function
|
79 |
{
|
80 |
$options = wbcr_ga_get_plugin_options();
|
81 |
|
@@ -89,4 +75,4 @@
|
|
89 |
|
90 |
return apply_filters('wbcr_ga_notices_form_options', $formOptions, $this);
|
91 |
}
|
92 |
-
}
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
+
class WGA_CachePage extends Wbcr_FactoryClearfy206_PageBase {
|
15 |
|
16 |
/**
|
17 |
* The id of the page in the admin menu.
|
18 |
*
|
19 |
* Mainly used to navigate between pages.
|
20 |
+
* @see FactoryPages410_AdminPage
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
* @var string
|
24 |
*/
|
25 |
public $id = "ga_cache";
|
26 |
public $page_menu_dashicon = 'dashicons-testimonial';
|
27 |
+
/**
|
28 |
+
* Доступена для мультисайтов
|
29 |
+
* @var bool
|
30 |
+
*/
|
31 |
+
public $available_for_multisite = true;
|
32 |
|
33 |
/**
|
34 |
+
* @param Wbcr_Factory409_Plugin $plugin
|
35 |
*/
|
36 |
+
public function __construct(Wbcr_Factory409_Plugin $plugin)
|
37 |
{
|
38 |
$this->menu_title = __('Local Google Analytics', 'simple-google-analytics');
|
39 |
|
55 |
: __('General', 'simple-google-analytics');
|
56 |
}
|
57 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
/**
|
59 |
* Permalinks options.
|
60 |
*
|
61 |
* @since 1.0.0
|
62 |
* @return mixed[]
|
63 |
*/
|
64 |
+
public function getPageOptions()
|
65 |
{
|
66 |
$options = wbcr_ga_get_plugin_options();
|
67 |
|
75 |
|
76 |
return apply_filters('wbcr_ga_notices_form_options', $formOptions, $this);
|
77 |
}
|
78 |
+
}
|
components/ga-cache/admin/pages/more-features.php
CHANGED
@@ -11,6 +11,6 @@
|
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
-
class WGA_MoreFeaturesPage extends
|
15 |
|
16 |
}
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
+
class WGA_MoreFeaturesPage extends Wbcr_FactoryClearfy206_MoreFeaturesPage {
|
15 |
|
16 |
}
|
components/ga-cache/cache/local-ga.js
CHANGED
@@ -1,58 +1,58 @@
|
|
1 |
-
(function(){var $c=function(a){this.w=a||[]};$c.prototype.set=function(a){this.w[a]=!0};$c.prototype.encode=function(){for(var a=[],b=0;b<this.w.length;b++)this.w[b]&&(a[Math.floor(b/6)]^=1<<b%6);for(b=0;b<a.length;b++)a[b]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_".charAt(a[b]||0);return a.join("")+"~"};var vd=new $c;function J(a){vd.set(a)}var Td=function(a){a=Dd(a);a=new $c(a);for(var b=vd.w.slice(),c=0;c<a.w.length;c++)b[c]=b[c]||a.w[c];return(new $c(b)).encode()},Dd=function(a){a=a.get(Gd);ka(a)||(a=[]);return a};var ea=function(a){return"function"==typeof a},ka=function(a){return"[object Array]"==Object.prototype.toString.call(Object(a))},qa=function(a){return void 0!=a&&-1<(a.constructor+"").indexOf("String")},D=function(a,b){return 0==a.indexOf(b)},sa=function(a){return a?a.replace(/^[\s\xa0]+|[\s\xa0]+$/g,""):""},ra=function(){for(var a=O.navigator.userAgent+(M.cookie?M.cookie:"")+(M.referrer?M.referrer:""),b=a.length,c=O.history.length;0<c;)a+=c--^b++;return[hd()^La(a)&2147483647,Math.round((new Date).getTime()/
|
2 |
-
1E3)].join(".")},ta=function(a){var b=M.createElement("img");b.width=1;b.height=1;b.src=a;return b},ua=function(){},K=function(a){if(encodeURIComponent instanceof Function)return encodeURIComponent(a);J(28);return a},L=function(a,b,c,d){try{a.addEventListener?a.addEventListener(b,c,!!d):a.attachEvent&&a.attachEvent("on"+b,c)}catch(e){J(27)}},f=/^[\w\-:/.?=&%!]+$/,wa=function(a,b,c){a&&(c?(c="",b&&f.test(b)&&(c=' id="'+b+'"'),f.test(a)&&M.write("<script"+c+' src="'+a+'">\x3c/script>')):(c=M.createElement("script"),
|
3 |
-
c.type="text/javascript",c.async=!0,c.src=a,b&&(c.id=b),a=M.getElementsByTagName("script")[0],a.parentNode.insertBefore(c,a)))},be=function(a,b){return E(M.location[b?"href":"search"],a)},E=function(a,b){return(a=a.match("(?:&|#|\\?)"+K(b).replace(/([.*+?^=!:${}()|\[\]\/\\])/g,"\\$1")+"=([^&#]*)"))&&2==a.length?a[1]:""},xa=function(){var a=""+M.location.hostname;return 0==a.indexOf("www.")?a.substring(4):a},de=function(a,b){var c=a.indexOf(b);if(5==c||6==c)if(a=a.charAt(c+b.length),"/"==a||"?"==a||
|
4 |
-
""==a||":"==a)return!0;return!1},ya=function(a,b){var c=M.referrer;if(/^(https?|android-app):\/\//i.test(c)){if(a)return c;a="//"+M.location.hostname;if(!de(c,a))return b&&(b=a.replace(/\./g,"-")+".cdn.ampproject.org",de(c,b))?void 0:c}},za=function(a,b){if(1==b.length&&null!=b[0]&&"object"===typeof b[0])return b[0];for(var c={},d=Math.min(a.length+1,b.length),e=0;e<d;e++)if("object"===typeof b[e]){for(var g in b[e])b[e].hasOwnProperty(g)&&(c[g]=b[e][g]);break}else e<a.length&&(c[a[e]]=b[e]);return c};var ee=function(){this.keys=[];this.values={};this.m={}};ee.prototype.set=function(a,b,c){this.keys.push(a);c?this.m[":"+a]=b:this.values[":"+a]=b};ee.prototype.get=function(a){return this.m.hasOwnProperty(":"+a)?this.m[":"+a]:this.values[":"+a]};ee.prototype.map=function(a){for(var b=0;b<this.keys.length;b++){var c=this.keys[b],d=this.get(c);d&&a(c,d)}};var O=window,M=document,va=function(a,b){return setTimeout(a,b)};var F=window,Ea=document,G=function(a){var b=F._gaUserPrefs;if(b&&b.ioo&&b.ioo()||a&&!0===F["ga-disable-"+a])return!0;try{var c=F.external;if(c&&c._gaUserPrefs&&"oo"==c._gaUserPrefs)return!0}catch(g){}a=[];b=Ea.cookie.split(";");c=/^\s*AMP_TOKEN=\s*(.*?)\s*$/;for(var d=0;d<b.length;d++){var e=b[d].match(c);e&&a.push(e[1])}for(b=0;b<a.length;b++)if("$OPT_OUT"==decodeURIComponent(a[b]))return!0;return!1};var Ca=function(a){var b=[],c=M.cookie.split(";");a=new RegExp("^\\s*"+a+"=\\s*(.*?)\\s*$");for(var d=0;d<c.length;d++){var e=c[d].match(a);e&&b.push(e[1])}return b},zc=function(a,b,c,d,e,g){e=G(e)?!1:eb.test(M.location.hostname)||"/"==c&&vc.test(d)?!1:!0;if(!e)return!1;b&&1200<b.length&&(b=b.substring(0,1200));c=a+"="+b+"; path="+c+"; ";g&&(c+="expires="+(new Date((new Date).getTime()+g)).toGMTString()+"; ");d&&"none"!==d&&(c+="domain="+d+";");d=M.cookie;M.cookie=c;if(!(d=d!=M.cookie))a:{a=Ca(a);
|
5 |
-
for(d=0;d<a.length;d++)if(b==a[d]){d=!0;break a}d=!1}return d},Cc=function(a){return encodeURIComponent?encodeURIComponent(a).replace(/\(/g,"%28").replace(/\)/g,"%29"):a},vc=/^(www\.)?google(\.com?)?(\.[a-z]{2})?$/,eb=/(^|\.)doubleclick\.net$/i;var oc,Id=/^.*Version\/?(\d+)[^\d].*$/i,ne=function(){if(void 0!==O.__ga4__)return O.__ga4__;if(void 0===oc){var a=O.navigator.userAgent;if(a){var b=a;try{b=decodeURIComponent(a)}catch(c){}if(a=!(0<=b.indexOf("Chrome"))&&!(0<=b.indexOf("CriOS"))&&(0<=b.indexOf("Safari/")||0<=b.indexOf("Safari,")))b=Id.exec(b),a=11<=(b?Number(b[1]):-1);oc=a}else oc=!1}return oc};var Fa,Ga,fb,Ab,ja=/^https?:\/\/[^/]*cdn\.ampproject\.org\//,Ub=[],ic=function(){Z.D([ua])},tc=function(a,b){var c=Ca("AMP_TOKEN");if(1<c.length)return J(55),!1;c=decodeURIComponent(c[0]||"");if("$OPT_OUT"==c||"$ERROR"==c||G(b))return J(62),!1;if(!ja.test(M.referrer)&&"$NOT_FOUND"==c)return J(68),!1;if(void 0!==Ab)return J(56),va(function(){a(Ab)},0),!0;if(Fa)return Ub.push(a),!0;if("$RETRIEVING"==c)return J(57),va(function(){tc(a,b)},1E4),!0;Fa=!0;c&&"$"!=c[0]||(xc("$RETRIEVING",3E4),setTimeout(Mc,
|
6 |
-
3E4),c="");return Pc(c,b)?(Ub.push(a),!0):!1},Pc=function(a,b,c){if(!window.JSON)return J(58),!1;var d=O.XMLHttpRequest;if(!d)return J(59),!1;var e=new d;if(!("withCredentials"in e))return J(60),!1;e.open("POST",(c||"https://ampcid.google.com/v1/publisher:getClientId")+"?key=AIzaSyA65lEHUEizIsNtlbNo-l2K18dT680nsaM",!0);e.withCredentials=!0;e.setRequestHeader("Content-Type","text/plain");e.onload=function(){Fa=!1;if(4==e.readyState){try{200!=e.status&&(J(61),Qc("","$ERROR",3E4));var d=JSON.parse(e.responseText);
|
7 |
-
d.optOut?(J(63),Qc("","$OPT_OUT",31536E6)):d.clientId?Qc(d.clientId,d.securityToken,31536E6):!c&&d.alternateUrl?(Ga&&clearTimeout(Ga),Fa=!0,Pc(a,b,d.alternateUrl)):(J(64),Qc("","$NOT_FOUND",36E5))}catch(ca){J(65),Qc("","$ERROR",3E4)}e=null}};d={originScope:"AMP_ECID_GOOGLE"};a&&(d.securityToken=a);e.send(JSON.stringify(d));Ga=va(function(){J(66);Qc("","$ERROR",3E4)},1E4);return!0},Mc=function(){Fa=!1},xc=function(a,b){if(void 0===fb){fb="";for(var c=id(),d=0;d<c.length;d++){var e=c[d];if(zc("AMP_TOKEN",
|
8 |
-
encodeURIComponent(a),"/",e,"",b)){fb=e;return}}}zc("AMP_TOKEN",encodeURIComponent(a),"/",fb,"",b)},Qc=function(a,b,c){Ga&&clearTimeout(Ga);b&&xc(b,c);Ab=a;b=Ub;Ub=[];for(c=0;c<b.length;c++)b[c](a)};var oe=function(){return(Ba||"https:"==M.location.protocol?"https:":"http:")+"//www.google-analytics.com"},Da=function(a){this.name="len";this.message=a+"-8192"},ba=function(a,b,c){c=c||ua;if(2036>=b.length)wc(a,b,c);else if(8192>=b.length)x(a,b,c)||wd(a,b,c)||wc(a,b,c);else throw ge("len",b.length),new Da(b.length);},pe=function(a,b,c,d){d=d||ua;wd(a+"?"+b,"",d,c)},wc=function(a,b,c){var d=ta(a+"?"+b);d.onload=d.onerror=function(){d.onload=null;d.onerror=null;c()}},wd=function(a,b,c,d){var e=O.XMLHttpRequest;
|
9 |
-
if(!e)return!1;var g=new e;if(!("withCredentials"in g))return!1;a=a.replace(/^http:/,"https:");g.open("POST",a,!0);g.withCredentials=!0;g.setRequestHeader("Content-Type","text/plain");g.onreadystatechange=function(){if(4==g.readyState){if(d)try{var a=g.responseText;if(1>a.length)ge("xhr","ver","0"),c();else if("1"!=a.charAt(0))ge("xhr","ver",String(a.length)),c();else if(3<d.count++)ge("xhr","tmr",""+d.count),c();else if(1==a.length)c();else{var b=a.charAt(1);if("d"==b)pe("https://stats.g.doubleclick.net/j/collect",
|
10 |
-
d.U,d,c);else if("g"==b){var e="https://www.google.%/ads/ga-audiences".replace("%","com");wc(e,d.google,c);var w=a.substring(2);if(w)if(/^[a-z.]{1,6}$/.test(w)){var ha="https://www.google.%/ads/ga-audiences".replace("%",w);wc(ha,d.google,ua)}else ge("tld","bcc",w)}else ge("xhr","brc",b),c()}}catch(ue){ge("xhr","rsp"),c()}else c();g=null}};g.send(b);return!0},x=function(a,b,c){return O.navigator.sendBeacon?O.navigator.sendBeacon(a,b)?(c(),!0):!1:!1},ge=function(a,b,c){1<=100*Math.random()||G("?")||
|
11 |
-
(a=["t=error","_e="+a,"_v=j68","sr=1"],b&&a.push("_f="+b),c&&a.push("_m="+K(c.substring(0,100))),a.push("aip=1"),a.push("z="+hd()),wc("https://www.google-analytics.com/u/d",a.join("&"),ua))};var h=function(a){var b=O.gaData=O.gaData||{};return b[a]=b[a]||{}};var Ha=function(){this.M=[]};Ha.prototype.add=function(a){this.M.push(a)};Ha.prototype.D=function(a){try{for(var b=0;b<this.M.length;b++){var c=a.get(this.M[b]);c&&ea(c)&&c.call(O,a)}}catch(d){}b=a.get(Ia);b!=ua&&ea(b)&&(a.set(Ia,ua,!0),setTimeout(b,10))};function Ja(a){if(100!=a.get(Ka)&&La(P(a,Q))%1E4>=100*R(a,Ka))throw"abort";}function Ma(a){if(G(P(a,Na)))throw"abort";}function Oa(){var a=M.location.protocol;if("http:"!=a&&"https:"!=a)throw"abort";}
|
12 |
-
function Pa(a){try{O.navigator.sendBeacon?J(42):O.XMLHttpRequest&&"withCredentials"in new O.XMLHttpRequest&&J(40)}catch(c){}a.set(ld,Td(a),!0);a.set(Ac,R(a,Ac)+1);var b=[];Qa.map(function(c,d){d.F&&(c=a.get(c),void 0!=c&&c!=d.defaultValue&&("boolean"==typeof c&&(c*=1),b.push(d.F+"="+K(""+c))))});b.push("z="+Bd());a.set(Ra,b.join("&"),!0)}
|
13 |
-
function Sa(a){var b=P(a,gd)||oe()+"/collect",c=a.get(qe),d=P(a,fa);!d&&a.get(Vd)&&(d="beacon");if(c)pe(b,P(a,Ra),c,a.get(Ia));else if(d){c=d;d=P(a,Ra);var e=a.get(Ia);e=e||ua;"image"==c?wc(b,d,e):"xhr"==c&&wd(b,d,e)||"beacon"==c&&x(b,d,e)||ba(b,d,e)}else ba(b,P(a,Ra),a.get(Ia));b=a.get(Na);b=h(b);c=b.hitcount;b.hitcount=c?c+1:1;b=a.get(Na);delete h(b).pending_experiments;a.set(Ia,ua,!0)}
|
14 |
-
function Hc(a){(O.gaData=O.gaData||{}).expId&&a.set(Nc,(O.gaData=O.gaData||{}).expId);(O.gaData=O.gaData||{}).expVar&&a.set(Oc,(O.gaData=O.gaData||{}).expVar);var b=a.get(Na);if(b=h(b).pending_experiments){var c=[];for(d in b)b.hasOwnProperty(d)&&b[d]&&c.push(encodeURIComponent(d)+"."+encodeURIComponent(b[d]));var d=c.join("!")}else d=void 0;d&&a.set(m,d,!0)}function cd(){if(O.navigator&&"preview"==O.navigator.loadPurpose)throw"abort";}
|
15 |
-
function yd(a){var b=O.gaDevIds;ka(b)&&0!=b.length&&a.set("&did",b.join(","),!0)}function vb(a){if(!a.get(Na))throw"abort";};var hd=function(){return Math.round(2147483647*Math.random())},Bd=function(){try{var a=new Uint32Array(1);O.crypto.getRandomValues(a);return a[0]&2147483647}catch(b){return hd()}};function Ta(a){var b=R(a,Ua);500<=b&&J(15);var c=P(a,Va);if("transaction"!=c&&"item"!=c){c=R(a,Wa);var d=(new Date).getTime(),e=R(a,Xa);0==e&&a.set(Xa,d);e=Math.round(2*(d-e)/1E3);0<e&&(c=Math.min(c+e,20),a.set(Xa,d));if(0>=c)throw"abort";a.set(Wa,--c)}a.set(Ua,++b)};var Ya=function(){this.data=new ee},Qa=new ee,Za=[];Ya.prototype.get=function(a){var b=$a(a),c=this.data.get(a);b&&void 0==c&&(c=ea(b.defaultValue)?b.defaultValue():b.defaultValue);return b&&b.Z?b.Z(this,a,c):c};var P=function(a,b){a=a.get(b);return void 0==a?"":""+a},R=function(a,b){a=a.get(b);return void 0==a||""===a?0:1*a};Ya.prototype.set=function(a,b,c){if(a)if("object"==typeof a)for(var d in a)a.hasOwnProperty(d)&&ab(this,d,a[d],c);else ab(this,a,b,c)};
|
16 |
-
var ab=function(a,b,c,d){if(void 0!=c)switch(b){case Na:wb.test(c)}var e=$a(b);e&&e.o?e.o(a,b,c,d):a.data.set(b,c,d)},bb=function(a,b,c,d,e){this.name=a;this.F=b;this.Z=d;this.o=e;this.defaultValue=c},$a=function(a){var b=Qa.get(a);if(!b)for(var c=0;c<Za.length;c++){var d=Za[c],e=d[0].exec(a);if(e){b=d[1](e);Qa.set(b.name,b);break}}return b},yc=function(a){var b;Qa.map(function(c,d){d.F==a&&(b=d)});return b&&b.name},S=function(a,b,c,d,e){a=new bb(a,b,c,d,e);Qa.set(a.name,a);return a.name},cb=function(a,
|
17 |
-
b){Za.push([new RegExp("^"+a+"$"),b])},T=function(a,b,c){return S(a,b,c,void 0,db)},db=function(){};var gb=qa(window.GoogleAnalyticsObject)&&sa(window.GoogleAnalyticsObject)||"ga",jd=/^(?:utma\.)?\d+\.\d+$/,kd=/^amp-[\w.-]{22,64}$/,Ba=!1,hb=T("apiVersion","v"),ib=T("clientVersion","_v");S("anonymizeIp","aip");var jb=S("adSenseId","a"),Va=S("hitType","t"),Ia=S("hitCallback"),Ra=S("hitPayload");S("nonInteraction","ni");S("currencyCode","cu");S("dataSource","ds");var Vd=S("useBeacon",void 0,!1),fa=S("transport");S("sessionControl","sc","");S("sessionGroup","sg");S("queueTime","qt");var Ac=S("_s","_s");
|
18 |
-
S("screenName","cd");var kb=S("location","dl",""),lb=S("referrer","dr"),mb=S("page","dp","");S("hostname","dh");var nb=S("language","ul"),ob=S("encoding","de");S("title","dt",function(){return M.title||void 0});cb("contentGroup([0-9]+)",function(a){return new bb(a[0],"cg"+a[1])});var pb=S("screenColors","sd"),qb=S("screenResolution","sr"),rb=S("viewportSize","vp"),sb=S("javaEnabled","je"),tb=S("flashVersion","fl");S("campaignId","ci");S("campaignName","cn");S("campaignSource","cs");
|
19 |
-
S("campaignMedium","cm");S("campaignKeyword","ck");S("campaignContent","cc");var ub=S("eventCategory","ec"),xb=S("eventAction","ea"),yb=S("eventLabel","el"),zb=S("eventValue","ev"),Bb=S("socialNetwork","sn"),Cb=S("socialAction","sa"),Db=S("socialTarget","st"),Eb=S("l1","plt"),Fb=S("l2","pdt"),Gb=S("l3","dns"),Hb=S("l4","rrt"),Ib=S("l5","srt"),Jb=S("l6","tcp"),Kb=S("l7","dit"),Lb=S("l8","clt"),Mb=S("timingCategory","utc"),Nb=S("timingVar","utv"),Ob=S("timingLabel","utl"),Pb=S("timingValue","utt");
|
20 |
-
S("appName","an");S("appVersion","av","");S("appId","aid","");S("appInstallerId","aiid","");S("exDescription","exd");S("exFatal","exf");var Nc=S("expId","xid"),Oc=S("expVar","xvar"),m=S("exp","exp"),Rc=S("_utma","_utma"),Sc=S("_utmz","_utmz"),Tc=S("_utmht","_utmht"),Ua=S("_hc",void 0,0),Xa=S("_ti",void 0,0),Wa=S("_to",void 0,20);cb("dimension([0-9]+)",function(a){return new bb(a[0],"cd"+a[1])});cb("metric([0-9]+)",function(a){return new bb(a[0],"cm"+a[1])});S("linkerParam",void 0,void 0,Bc,db);
|
21 |
-
var ld=S("usage","_u"),Gd=S("_um");S("forceSSL",void 0,void 0,function(){return Ba},function(a,b,c){J(34);Ba=!!c});var ed=S("_j1","jid"),ia=S("_j2","gjid");cb("\\&(.*)",function(a){var b=new bb(a[0],a[1]),c=yc(a[0].substring(1));c&&(b.Z=function(a){return a.get(c)},b.o=function(a,b,g,ca){a.set(c,g,ca)},b.F=void 0);return b});
|
22 |
-
var Qb=T("_oot"),dd=S("previewTask"),Rb=S("checkProtocolTask"),md=S("validationTask"),Sb=S("checkStorageTask"),Uc=S("historyImportTask"),Tb=S("samplerTask"),Vb=S("_rlt"),Wb=S("buildHitTask"),Xb=S("sendHitTask"),Vc=S("ceTask"),zd=S("devIdTask"),Cd=S("timingTask"),Ld=S("displayFeaturesTask"),oa=S("customTask"),V=T("name"),Q=T("clientId","cid"),n=T("clientIdTime"),xd=T("storedClientId"),Ad=S("userId","uid"),Na=T("trackingId","tid"),U=T("cookieName",void 0,"_ga"),W=T("cookieDomain"),Yb=T("cookiePath",
|
23 |
-
void 0,"/"),Zb=T("cookieExpires",void 0,63072E3),Hd=T("cookieUpdate",void 0,!0),$b=T("legacyCookieDomain"),Wc=T("legacyHistoryImport",void 0,!0),ac=T("storage",void 0,"cookie"),bc=T("allowLinker",void 0,!1),cc=T("allowAnchor",void 0,!0),Ka=T("sampleRate","sf",100),dc=T("siteSpeedSampleRate",void 0,1),ec=T("alwaysSendReferrer",void 0,!1),I=T("_gid","_gid"),la=T("_gcn"),Kd=T("useAmpClientId"),ce=T("_gclid"),fe=T("_gt"),he=T("_ge",void 0,7776E6),ie=T("_gclsrc"),je=T("storeGac",void 0,!0),gd=S("transportUrl"),
|
24 |
-
Md=S("_r","_r"),qe=S("_dp"),Ud=S("allowAdFeatures",void 0,!0);function X(a,b,c,d){b[a]=function(){try{return d&&J(d),c.apply(this,arguments)}catch(e){throw ge("exc",a,e&&e.name),e;}}};var Od=function(){this.V=100;this.$=this.fa=!1;this.oa="detourexp";this.groups=1},Ed=function(a){var b=new Od,c;if(b.fa&&b.$)return 0;b.$=!0;if(a){if(b.oa&&void 0!==a.get(b.oa))return R(a,b.oa);if(0==a.get(dc))return 0}if(0==b.V)return 0;void 0===c&&(c=Bd());return 0==c%b.V?Math.floor(c/b.V)%b.groups+1:0};function fc(){var a,b;if((b=(b=O.navigator)?b.plugins:null)&&b.length)for(var c=0;c<b.length&&!a;c++){var d=b[c];-1<d.name.indexOf("Shockwave Flash")&&(a=d.description)}if(!a)try{var e=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");a=e.GetVariable("$version")}catch(g){}if(!a)try{e=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6"),a="WIN 6,0,21,0",e.AllowScriptAccess="always",a=e.GetVariable("$version")}catch(g){}if(!a)try{e=new ActiveXObject("ShockwaveFlash.ShockwaveFlash"),a=e.GetVariable("$version")}catch(g){}a&&
|
25 |
-
(e=a.match(/[\d]+/g))&&3<=e.length&&(a=e[0]+"."+e[1]+" r"+e[2]);return a||void 0};var aa=function(a){var b=Math.min(R(a,dc),100);return La(P(a,Q))%100>=b?!1:!0},gc=function(a){var b={};if(Ec(b)||Fc(b)){var c=b[Eb];void 0==c||Infinity==c||isNaN(c)||(0<c?(Y(b,Gb),Y(b,Jb),Y(b,Ib),Y(b,Fb),Y(b,Hb),Y(b,Kb),Y(b,Lb),va(function(){a(b)},10)):L(O,"load",function(){gc(a)},!1))}},Ec=function(a){var b=O.performance||O.webkitPerformance;b=b&&b.timing;if(!b)return!1;var c=b.navigationStart;if(0==c)return!1;a[Eb]=b.loadEventStart-c;a[Gb]=b.domainLookupEnd-b.domainLookupStart;a[Jb]=b.connectEnd-
|
26 |
-
b.connectStart;a[Ib]=b.responseStart-b.requestStart;a[Fb]=b.responseEnd-b.responseStart;a[Hb]=b.fetchStart-c;a[Kb]=b.domInteractive-c;a[Lb]=b.domContentLoadedEventStart-c;return!0},Fc=function(a){if(O.top!=O)return!1;var b=O.external,c=b&&b.onloadT;b&&!b.isValidLoadTime&&(c=void 0);2147483648<c&&(c=void 0);0<c&&b.setPageReadyTime();if(void 0==c)return!1;a[Eb]=c;return!0},Y=function(a,b){var c=a[b];if(isNaN(c)||Infinity==c||0>c)a[b]=void 0},Fd=function(a){return function(b){if("pageview"==b.get(Va)&&
|
27 |
-
!a.I){a.I=!0;var c=aa(b),d=0<E(b.get(kb),"gclid").length;(c||d)&&gc(function(b){c&&a.send("timing",b);d&&a.send("adtiming",b)})}}};var hc=!1,mc=function(a){if("cookie"==P(a,ac)){if(a.get(Hd)||P(a,xd)!=P(a,Q)){var b=1E3*R(a,Zb);ma(a,Q,U,b)}ma(a,I,la,864E5);if(a.get(je)){var c=a.get(ce);if(c){var d=Math.min(R(a,he),1E3*R(a,Zb));d=Math.min(d,1E3*R(a,fe)+d-(new Date).getTime());a.data.set(he,d);b={};var e=a.get(fe),g=a.get(ie),ca=kc(P(a,Yb)),l=lc(P(a,W)),k=P(a,Na);g&&"aw.ds"!=g?b&&(b.ua=!0):(c=["1",e,Cc(c)].join("."),0<d&&(b&&(b.ta=!0),zc("_gac_"+Cc(k),c,ca,l,k,d)));le(b)}}else J(75);if(a="none"===lc(P(a,W)))a=M.location.hostname,
|
28 |
-
a=eb.test(a)||vc.test(a);a&&J(30)}},ma=function(a,b,c,d){var e=nd(a,b);if(e){c=P(a,c);var g=kc(P(a,Yb)),ca=lc(P(a,W)),l=P(a,Na);if("auto"!=ca)zc(c,e,g,ca,l,d)&&(hc=!0);else{J(32);for(var k=id(),w=0;w<k.length;w++)if(ca=k[w],a.data.set(W,ca),e=nd(a,b),zc(c,e,g,ca,l,d)){hc=!0;return}a.data.set(W,"auto")}}},nc=function(a){if("cookie"==P(a,ac)&&!hc&&(mc(a),!hc))throw"abort";},Yc=function(a){if(a.get(Wc)){var b=P(a,W),c=P(a,$b)||xa(),d=Xc("__utma",c,b);d&&(J(19),a.set(Tc,(new Date).getTime(),!0),a.set(Rc,
|
29 |
-
d.R),(b=Xc("__utmz",c,b))&&d.hash==b.hash&&a.set(Sc,b.R))}},nd=function(a,b){b=Cc(P(a,b));var c=lc(P(a,W)).split(".").length;a=jc(P(a,Yb));1<a&&(c+="-"+a);return b?["GA1",c,b].join("."):""},Xd=function(a,b){return na(b,P(a,W),P(a,Yb))},na=function(a,b,c){if(!a||1>a.length)J(12);else{for(var d=[],e=0;e<a.length;e++){var g=a[e];var ca=g.split(".");var l=ca.shift();("GA1"==l||"1"==l)&&1<ca.length?(g=ca.shift().split("-"),1==g.length&&(g[1]="1"),g[0]*=1,g[1]*=1,ca={H:g,s:ca.join(".")}):ca=kd.test(g)?
|
30 |
-
{H:[0,0],s:g}:void 0;ca&&d.push(ca)}if(1==d.length)return J(13),d[0].s;if(0==d.length)J(12);else{J(14);d=Gc(d,lc(b).split(".").length,0);if(1==d.length)return d[0].s;d=Gc(d,jc(c),1);1<d.length&&J(41);return d[0]&&d[0].s}}},Gc=function(a,b,c){for(var d=[],e=[],g,ca=0;ca<a.length;ca++){var l=a[ca];l.H[c]==b?d.push(l):void 0==g||l.H[c]<g?(e=[l],g=l.H[c]):l.H[c]==g&&e.push(l)}return 0<d.length?d:e},lc=function(a){return 0==a.indexOf(".")?a.substr(1):a},id=function(){var a=[],b=xa().split(".");if(4==b.length){var c=
|
31 |
-
b[b.length-1];if(parseInt(c,10)==c)return["none"]}for(c=b.length-2;0<=c;c--)a.push(b.slice(c).join("."));a.push("none");return a},kc=function(a){if(!a)return"/";1<a.length&&a.lastIndexOf("/")==a.length-1&&(a=a.substr(0,a.length-1));0!=a.indexOf("/")&&(a="/"+a);return a},jc=function(a){a=kc(a);return"/"==a?1:a.split("/").length},le=function(a){a.ta&&J(77);a.na&&J(74);a.pa&&J(73);a.ua&&J(69)};function Xc(a,b,c){"none"==b&&(b="");var d=[],e=Ca(a);a="__utma"==a?6:2;for(var g=0;g<e.length;g++){var ca=(""+e[g]).split(".");ca.length>=a&&d.push({hash:ca[0],R:e[g],O:ca})}if(0!=d.length)return 1==d.length?d[0]:Zc(b,d)||Zc(c,d)||Zc(null,d)||d[0]}function Zc(a,b){if(null==a)var c=a=1;else c=La(a),a=La(D(a,".")?a.substring(1):"."+a);for(var d=0;d<b.length;d++)if(b[d].hash==c||b[d].hash==a)return b[d]};var od=new RegExp(/^https?:\/\/([^\/:]+)/),pd=/(.*)([?&#])(?:_ga=[^&#]*)(?:&?)(.*)/,me=/(.*)([?&#])(?:_gac=[^&#]*)(?:&?)(.*)/;function Bc(a){var b=a.get(Q),c=a.get(I)||"";b="_ga=2."+K(pa(c+b,0)+"."+c+"-"+b);if((c=a.get(ce))&&a.get(je)){var d=R(a,fe);1E3*d+R(a,he)<=(new Date).getTime()?(J(76),a=""):(J(44),a="&_gac=1."+K([pa(c,0),d,c].join(".")))}else a="";return b+a}
|
32 |
-
function Ic(a,b){var c=new Date,d=O.navigator,e=d.plugins||[];a=[a,d.userAgent,c.getTimezoneOffset(),c.getYear(),c.getDate(),c.getHours(),c.getMinutes()+b];for(b=0;b<e.length;++b)a.push(e[b].description);return La(a.join("."))}function pa(a,b){var c=new Date,d=O.navigator,e=c.getHours()+Math.floor((c.getMinutes()+b)/60);return La([a,d.userAgent,d.language||"",c.getTimezoneOffset(),c.getYear(),c.getDate()+Math.floor(e/24),(24+e)%24,(60+c.getMinutes()+b)%60].join("."))}
|
33 |
-
var Dc=function(a){J(48);this.target=a;this.T=!1};Dc.prototype.ca=function(a,b){if(a.tagName){if("a"==a.tagName.toLowerCase()){a.href&&(a.href=qd(this,a.href,b));return}if("form"==a.tagName.toLowerCase())return rd(this,a)}if("string"==typeof a)return qd(this,a,b)};
|
34 |
-
var qd=function(a,b,c){var d=pd.exec(b);d&&3<=d.length&&(b=d[1]+(d[3]?d[2]+d[3]:""));(d=me.exec(b))&&3<=d.length&&(b=d[1]+(d[3]?d[2]+d[3]:""));a=a.target.get("linkerParam");var e=b.indexOf("?");d=b.indexOf("#");c?b+=(-1==d?"#":"&")+a:(c=-1==e?"?":"&",b=-1==d?b+(c+a):b.substring(0,d)+c+a+b.substring(d));b=b.replace(/&+_ga=/,"&_ga=");return b=b.replace(/&+_gac=/,"&_gac=")},rd=function(a,b){if(b&&b.action)if("get"==b.method.toLowerCase()){a=a.target.get("linkerParam").split("&");for(var c=0;c<a.length;c++){var d=
|
35 |
-
a[c].split("="),e=d[1];d=d[0];for(var g=b.childNodes||[],ca=!1,l=0;l<g.length;l++)if(g[l].name==d){g[l].setAttribute("value",e);ca=!0;break}ca||(g=M.createElement("input"),g.setAttribute("type","hidden"),g.setAttribute("name",d),g.setAttribute("value",e),b.appendChild(g))}}else"post"==b.method.toLowerCase()&&(b.action=qd(a,b.action))};
|
36 |
-
Dc.prototype.S=function(a,b,c){function d(c){try{c=c||O.event;a:{var d=c.target||c.srcElement;for(c=100;d&&0<c;){if(d.href&&d.nodeName.match(/^a(?:rea)?$/i)){var g=d;break a}d=d.parentNode;c--}g={}}("http:"==g.protocol||"https:"==g.protocol)&&sd(a,g.hostname||"")&&g.href&&(g.href=qd(e,g.href,b))}catch(k){J(26)}}var e=this;this.T||(this.T=!0,L(M,"mousedown",d,!1),L(M,"keyup",d,!1));c&&L(M,"submit",function(b){b=b||O.event;if((b=b.target||b.srcElement)&&b.action){var c=b.action.match(od);c&&sd(a,c[1])&&
|
37 |
-
rd(e,b)}})};function sd(a,b){if(b==M.location.hostname)return!1;for(var c=0;c<a.length;c++)if(a[c]instanceof RegExp){if(a[c].test(b))return!0}else if(0<=b.indexOf(a[c]))return!0;return!1}function ke(a,b){return b!=Ic(a,0)&&b!=Ic(a,-1)&&b!=Ic(a,-2)&&b!=pa(a,0)&&b!=pa(a,-1)&&b!=pa(a,-2)};var p=/^(GTM|OPT)-[A-Z0-9]+$/,q=/;_gaexp=[^;]*/g,r=/;((__utma=)|([^;=]+=GAX?\d+\.))[^;]*/g,Aa=/^https?:\/\/[\w\-.]+\.google.com(:\d+)?\/optimize\/opt-launch\.html\?.*$/,t=function(a){function b(a,b){b&&(c+="&"+a+"="+K(b))}var c="https://www.google-analytics.com/gtm/js?id="+K(a.id);"dataLayer"!=a.B&&b("l",a.B);b("t",a.target);b("cid",a.clientId);b("cidt",a.ka);b("gac",a.la);b("aip",a.ia);a.sync&&b("m","sync");b("cycle",a.G);a.qa&&b("gclid",a.qa);Aa.test(M.referrer)&&b("cb",String(hd()));return c};var Jd=function(a,b,c){this.aa=b;(b=c)||(b=(b=P(a,V))&&"t0"!=b?Wd.test(b)?"_gat_"+Cc(P(a,Na)):"_gat_"+Cc(b):"_gat");this.Y=b;this.ra=null},Rd=function(a,b){var c=b.get(Wb);b.set(Wb,function(b){Pd(a,b,ed);Pd(a,b,ia);var d=c(b);Qd(a,b);return d});var d=b.get(Xb);b.set(Xb,function(b){var c=d(b);if(se(b)){if(ne()!==H(a,b)){J(80);var e={U:re(a,b,1),google:re(a,b,2),count:0};pe("https://stats.g.doubleclick.net/j/collect",e.U,e)}else ta(re(a,b,0));b.set(ed,"",!0)}return c})},Pd=function(a,b,c){!1===b.get(Ud)||
|
38 |
-
b.get(c)||("1"==Ca(a.Y)[0]?b.set(c,"",!0):b.set(c,""+hd(),!0))},Qd=function(a,b){se(b)&&zc(a.Y,"1",b.get(Yb),b.get(W),b.get(Na),6E4)},se=function(a){return!!a.get(ed)&&a.get(Ud)},re=function(a,b,c){var d=new ee,e=function(a){$a(a).F&&d.set($a(a).F,b.get(a))};e(hb);e(ib);e(Na);e(Q);e(ed);if(0==c||1==c)e(Ad),e(ia),e(I);d.set($a(ld).F,Td(b));var g="";d.map(function(a,b){g+=K(a)+"=";g+=K(""+b)+"&"});g+="z="+hd();0==c?g=a.aa+g:1==c?g="t=dc&aip=1&_r=3&"+g:2==c&&(g="t=sr&aip=1&_r=4&slf_rd=1&"+g);return g},
|
39 |
-
H=function(a,b){null===a.ra&&(a.ra=1===Ed(b),a.ra&&J(33));return a.ra},Wd=/^gtm\d+$/;var fd=function(a,b){a=a.b;if(!a.get("dcLoaded")){var c=new $c(Dd(a));c.set(29);a.set(Gd,c.w);b=b||{};var d;b[U]&&(d=Cc(b[U]));b=new Jd(a,"https://stats.g.doubleclick.net/r/collect?t=dc&aip=1&_r=3&",d);Rd(b,a);a.set("dcLoaded",!0)}};var Sd=function(a){if(!a.get("dcLoaded")&&"cookie"==a.get(ac)){var b=new Jd(a);Pd(b,a,ed);Pd(b,a,ia);Qd(b,a);if(se(a)){var c=ne()!==H(b,a);a.set(Md,1,!0);c?(J(79),a.set(gd,oe()+"/j/collect",!0),a.set(qe,{U:re(b,a,1),google:re(b,a,2),count:0},!0)):a.set(gd,oe()+"/r/collect",!0)}}};var Lc=function(){var a=O.gaGlobal=O.gaGlobal||{};return a.hid=a.hid||hd()};var ad,bd=function(a,b,c){if(!ad){var d=M.location.hash;var e=O.name,g=/^#?gaso=([^&]*)/;if(e=(d=(d=d&&d.match(g)||e&&e.match(g))?d[1]:Ca("GASO")[0]||"")&&d.match(/^(?:!([-0-9a-z.]{1,40})!)?([-.\w]{10,1200})$/i))zc("GASO",""+d,c,b,a,0),window._udo||(window._udo=b),window._utcp||(window._utcp=c),a=e[1],wa("https://www.google.com/analytics/web/inpage/pub/inpage.js?"+(a?"prefix="+a+"&":"")+hd(),"_gasojs");ad=!0}};var wb=/^(UA|YT|MO|GP)-(\d+)-(\d+)$/,pc=function(a){function b(a,b){d.b.data.set(a,b)}function c(a,c){b(a,c);d.filters.add(a)}var d=this;this.b=new Ya;this.filters=new Ha;b(V,a[V]);b(Na,sa(a[Na]));b(U,a[U]);b(W,a[W]||xa());b(Yb,a[Yb]);b(Zb,a[Zb]);b(Hd,a[Hd]);b($b,a[$b]);b(Wc,a[Wc]);b(bc,a[bc]);b(cc,a[cc]);b(Ka,a[Ka]);b(dc,a[dc]);b(ec,a[ec]);b(ac,a[ac]);b(Ad,a[Ad]);b(n,a[n]);b(Kd,a[Kd]);b(je,a[je]);b(hb,1);b(ib,"j68");c(Qb,Ma);c(oa,ua);c(dd,cd);c(Rb,Oa);c(md,vb);c(Sb,nc);c(Uc,Yc);c(Tb,Ja);c(Vb,Ta);
|
40 |
-
c(Vc,Hc);c(zd,yd);c(Ld,Sd);c(Wb,Pa);c(Xb,Sa);c(Cd,Fd(this));Kc(this.b);Jc(this.b,a[Q]);this.b.set(jb,Lc());bd(this.b.get(Na),this.b.get(W),this.b.get(Yb))},Jc=function(a,b){var c=P(a,U);a.data.set(la,"_ga"==c?"_gid":c+"_gid");if("cookie"==P(a,ac)){hc=!1;c=Ca(P(a,U));c=Xd(a,c);if(!c){c=P(a,W);var d=P(a,$b)||xa();c=Xc("__utma",d,c);void 0!=c?(J(10),c=c.O[1]+"."+c.O[2]):c=void 0}c&&(hc=!0);if(d=c&&!a.get(Hd))if(d=c.split("."),2!=d.length)d=!1;else if(d=Number(d[1])){var e=R(a,Zb);d=d+e<(new Date).getTime()/
|
41 |
-
1E3}else d=!1;d&&(c=void 0);c&&(a.data.set(xd,c),a.data.set(Q,c),c=Ca(P(a,la)),(c=Xd(a,c))&&a.data.set(I,c));if(a.get(je)&&(c=a.get(ce),d=a.get(ie),!c||d&&"aw.ds"!=d)){c={};if(M){d=[];e=M.cookie.split(";");for(var g=/^\s*_gac_(UA-\d+-\d+)=\s*(.+?)\s*$/,ca=0;ca<e.length;ca++){var l=e[ca].match(g);l&&d.push({ja:l[1],value:l[2]})}e={};if(d&&d.length)for(g=0;g<d.length;g++)(ca=d[g].value.split("."),"1"!=ca[0]||3!=ca.length)?c&&(c.na=!0):ca[1]&&(e[d[g].ja]?c&&(c.pa=!0):e[d[g].ja]=[],e[d[g].ja].push({timestamp:ca[1],
|
42 |
-
qa:ca[2]}));d=e}else d={};d=d[P(a,Na)];le(c);d&&0!=d.length&&(c=d[0],a.data.set(fe,c.timestamp),a.data.set(ce,c.qa))}}if(a.get(Hd))a:if(d=be("_ga",a.get(cc)))if(a.get(bc))if(c=d.indexOf("."),-1==c)J(22);else{e=d.substring(0,c);g=d.substring(c+1);c=g.indexOf(".");d=g.substring(0,c);g=g.substring(c+1);if("1"==e){if(c=g,ke(c,d)){J(23);break a}}else if("2"==e){c=g.indexOf("-");e="";0<c?(e=g.substring(0,c),c=g.substring(c+1)):c=g.substring(1);if(ke(e+c,d)){J(53);break a}e&&(J(2),a.data.set(I,e))}else{J(22);
|
43 |
-
break a}J(11);a.data.set(Q,c);if(c=be("_gac",a.get(cc)))c=c.split("."),"1"!=c[0]||4!=c.length?J(72):ke(c[3],c[1])?J(71):(a.data.set(ce,c[3]),a.data.set(fe,c[2]),J(70))}else J(21);b&&(J(9),a.data.set(Q,K(b)));a.get(Q)||((b=(b=O.gaGlobal&&O.gaGlobal.vid)&&-1!=b.search(jd)?b:void 0)?(J(17),a.data.set(Q,b)):(J(8),a.data.set(Q,ra())));a.get(I)||(J(3),a.data.set(I,ra()));mc(a)},Kc=function(a){var b=O.navigator,c=O.screen,d=M.location;a.set(lb,ya(a.get(ec),a.get(Kd)));if(d){var e=d.pathname||"";"/"!=e.charAt(0)&&
|
44 |
-
(J(31),e="/"+e);a.set(kb,d.protocol+"//"+d.hostname+e+d.search)}c&&a.set(qb,c.width+"x"+c.height);c&&a.set(pb,c.colorDepth+"-bit");c=M.documentElement;var g=(e=M.body)&&e.clientWidth&&e.clientHeight,ca=[];c&&c.clientWidth&&c.clientHeight&&("CSS1Compat"===M.compatMode||!g)?ca=[c.clientWidth,c.clientHeight]:g&&(ca=[e.clientWidth,e.clientHeight]);c=0>=ca[0]||0>=ca[1]?"":ca.join("x");a.set(rb,c);a.set(tb,fc());a.set(ob,M.characterSet||M.charset);a.set(sb,b&&"function"===typeof b.javaEnabled&&b.javaEnabled()||
|
45 |
-
!1);a.set(nb,(b&&(b.language||b.browserLanguage)||"").toLowerCase());a.data.set(ce,be("gclid",!0));a.data.set(ie,be("gclsrc",!0));a.data.set(fe,Math.round((new Date).getTime()/1E3));if(d&&a.get(cc)&&(b=M.location.hash)){b=b.split(/[?&#]+/);d=[];for(c=0;c<b.length;++c)(D(b[c],"utm_id")||D(b[c],"utm_campaign")||D(b[c],"utm_source")||D(b[c],"utm_medium")||D(b[c],"utm_term")||D(b[c],"utm_content")||D(b[c],"gclid")||D(b[c],"dclid")||D(b[c],"gclsrc"))&&d.push(b[c]);0<d.length&&(b="#"+d.join("&"),a.set(kb,
|
46 |
-
a.get(kb)+b))}};pc.prototype.get=function(a){return this.b.get(a)};pc.prototype.set=function(a,b){this.b.set(a,b)};var qc={pageview:[mb],event:[ub,xb,yb,zb],social:[Bb,Cb,Db],timing:[Mb,Nb,Pb,Ob]};pc.prototype.send=function(a){if(!(1>arguments.length)){if("string"===typeof arguments[0]){var b=arguments[0];var c=[].slice.call(arguments,1)}else b=arguments[0]&&arguments[0][Va],c=arguments;b&&(c=za(qc[b]||[],c),c[Va]=b,this.b.set(c,void 0,!0),this.filters.D(this.b),this.b.data.m={})}};
|
47 |
-
pc.prototype.ma=function(a,b){var c=this;u(a,c,b)||(v(a,function(){u(a,c,b)}),y(String(c.get(V)),a,void 0,b,!0))};var rc=function(a){if("prerender"==M.visibilityState)return!1;a();return!0},z=function(a){if(!rc(a)){J(16);var b=!1,c=function(){if(!b&&rc(a)){b=!0;var d=c,e=M;e.removeEventListener?e.removeEventListener("visibilitychange",d,!1):e.detachEvent&&e.detachEvent("onvisibilitychange",d)}};L(M,"visibilitychange",c)}};var td=/^(?:(\w+)\.)?(?:(\w+):)?(\w+)$/,sc=function(a){if(ea(a[0]))this.u=a[0];else{var b=td.exec(a[0]);null!=b&&4==b.length&&(this.c=b[1]||"t0",this.K=b[2]||"",this.C=b[3],this.a=[].slice.call(a,1),this.K||(this.A="create"==this.C,this.i="require"==this.C,this.g="provide"==this.C,this.ba="remove"==this.C),this.i&&(3<=this.a.length?(this.X=this.a[1],this.W=this.a[2]):this.a[1]&&(qa(this.a[1])?this.X=this.a[1]:this.W=this.a[1])));b=a[1];a=a[2];if(!this.C)throw"abort";if(this.i&&(!qa(b)||""==b))throw"abort";
|
48 |
-
if(this.g&&(!qa(b)||""==b||!ea(a)))throw"abort";if(ud(this.c)||ud(this.K))throw"abort";if(this.g&&"t0"!=this.c)throw"abort";}};function ud(a){return 0<=a.indexOf(".")||0<=a.indexOf(":")};var Yd,Zd,$d,A;Yd=new ee;$d=new ee;A=new ee;Zd={ec:45,ecommerce:46,linkid:47};
|
49 |
-
var u=function(a,b,c){b==N||b.get(V);var d=Yd.get(a);if(!ea(d))return!1;b.plugins_=b.plugins_||new ee;if(b.plugins_.get(a))return!0;b.plugins_.set(a,new d(b,c||{}));return!0},y=function(a,b,c,d,e){if(!ea(Yd.get(b))&&!$d.get(b)){Zd.hasOwnProperty(b)&&J(Zd[b]);if(p.test(b)){J(52);a=N.j(a);if(!a)return!0;c=d||{};d={id:b,B:c.dataLayer||"dataLayer",ia:!!a.get("anonymizeIp"),sync:e,G:!1};a.get(">m")==b&&(d.G=!0);var g=String(a.get("name"));"t0"!=g&&(d.target=g);G(String(a.get("trackingId")))||(d.clientId=
|
50 |
-
String(a.get(Q)),d.ka=Number(a.get(n)),c=c.palindrome?r:q,c=(c=M.cookie.replace(/^|(; +)/g,";").match(c))?c.sort().join("").substring(1):void 0,d.la=c,d.qa=E(a.b.get(kb)||"","gclid"));a=d.B;c=(new Date).getTime();O[a]=O[a]||[];c={"gtm.start":c};e||(c.event="gtm.js");O[a].push(c);c=t(d)}!c&&Zd.hasOwnProperty(b)?(J(39),c=b+".js"):J(43);c&&(c&&0<=c.indexOf("/")||(c=(Ba||"https:"==M.location.protocol?"https:":"http:")+"//www.google-analytics.com/plugins/ua/"+c),d=ae(c),a=d.protocol,c=M.location.protocol,
|
51 |
-
("https:"==a||a==c||("http:"!=a?0:"http:"==c))&&B(d)&&(wa(d.url,void 0,e),$d.set(b,!0)))}},v=function(a,b){var c=A.get(a)||[];c.push(b);A.set(a,c)},C=function(a,b){Yd.set(a,b);b=A.get(a)||[];for(var c=0;c<b.length;c++)b[c]();A.set(a,[])},B=function(a){var b=ae(M.location.href);if(D(a.url,"https://www.google-analytics.com/gtm/js?id="))return!0;if(a.query||0<=a.url.indexOf("?")||0<=a.path.indexOf("://"))return!1;if(a.host==b.host&&a.port==b.port)return!0;b="http:"==a.protocol?80:443;return"www.google-analytics.com"==
|
52 |
-
a.host&&(a.port||b)==b&&D(a.path,"/plugins/")?!0:!1},ae=function(a){function b(a){var b=(a.hostname||"").split(":")[0].toLowerCase(),c=(a.protocol||"").toLowerCase();c=1*a.port||("http:"==c?80:"https:"==c?443:"");a=a.pathname||"";D(a,"/")||(a="/"+a);return[b,""+c,a]}var c=M.createElement("a");c.href=M.location.href;var d=(c.protocol||"").toLowerCase(),e=b(c),g=c.search||"",ca=d+"//"+e[0]+(e[1]?":"+e[1]:"");D(a,"//")?a=d+a:D(a,"/")?a=ca+a:!a||D(a,"?")?a=ca+e[2]+(a||g):0>a.split("/")[0].indexOf(":")&&
|
53 |
-
(a=ca+e[2].substring(0,e[2].lastIndexOf("/"))+"/"+a);c.href=a;d=b(c);return{protocol:(c.protocol||"").toLowerCase(),host:d[0],port:d[1],path:d[2],query:c.search||"",url:a||""}};var Z={ga:function(){Z.f=[]}};Z.ga();Z.D=function(a){var b=Z.J.apply(Z,arguments);b=Z.f.concat(b);for(Z.f=[];0<b.length&&!Z.v(b[0])&&!(b.shift(),0<Z.f.length););Z.f=Z.f.concat(b)};Z.J=function(a){for(var b=[],c=0;c<arguments.length;c++)try{var d=new sc(arguments[c]);d.g?C(d.a[0],d.a[1]):(d.i&&(d.ha=y(d.c,d.a[0],d.X,d.W)),b.push(d))}catch(e){}return b};
|
54 |
-
Z.v=function(a){try{if(a.u)a.u.call(O,N.j("t0"));else{var b=a.c==gb?N:N.j(a.c);if(a.A){if("t0"==a.c&&(b=N.create.apply(N,a.a),null===b))return!0}else if(a.ba)N.remove(a.c);else if(b)if(a.i){if(a.ha&&(a.ha=y(a.c,a.a[0],a.X,a.W)),!u(a.a[0],b,a.W))return!0}else if(a.K){var c=a.C,d=a.a,e=b.plugins_.get(a.K);e[c].apply(e,d)}else b[a.C].apply(b,a.a)}}catch(g){}};var N=function(a){J(1);Z.D.apply(Z,[arguments])};N.h={};N.P=[];N.L=0;N.answer=42;var uc=[Na,W,V];
|
55 |
-
N.create=function(a){var b=za(uc,[].slice.call(arguments));b[V]||(b[V]="t0");var c=""+b[V];if(N.h[c])return N.h[c];a:{if(b[Kd]){J(67);if(b[ac]&&"cookie"!=b[ac]){var d=!1;break a}if(void 0!==Ab)b[Q]||(b[Q]=Ab);else{b:{d=String(b[W]||xa());var e=String(b[Yb]||"/"),g=Ca(String(b[U]||"_ga"));d=na(g,d,e);if(!d||jd.test(d))d=!0;else if(d=Ca("AMP_TOKEN"),0==d.length)d=!0;else{if(1==d.length&&(d=decodeURIComponent(d[0]),"$RETRIEVING"==d||"$OPT_OUT"==d||"$ERROR"==d||"$NOT_FOUND"==d)){d=!0;break b}d=!1}}if(d&&
|
56 |
-
tc(ic,String(b[Na]))){d=!0;break a}}}d=!1}if(d)return null;b=new pc(b);N.h[c]=b;N.P.push(b);return b};N.remove=function(a){for(var b=0;b<N.P.length;b++)if(N.P[b].get(V)==a){N.P.splice(b,1);N.h[a]=null;break}};N.j=function(a){return N.h[a]};N.getAll=function(){return N.P.slice(0)};
|
57 |
-
N.N=function(){"ga"!=gb&&J(49);var a=O[gb];if(!a||42!=a.answer){N.L=a&&a.l;N.loaded=!0;var b=O[gb]=N;X("create",b,b.create);X("remove",b,b.remove);X("getByName",b,b.j,5);X("getAll",b,b.getAll,6);b=pc.prototype;X("get",b,b.get,7);X("set",b,b.set,4);X("send",b,b.send);X("requireSync",b,b.ma);b=Ya.prototype;X("get",b,b.get);X("set",b,b.set);if("https:"!=M.location.protocol&&!Ba){a:{b=M.getElementsByTagName("script");for(var c=0;c<b.length&&100>c;c++){var d=b[c].src;if(d&&0==d.indexOf("https://www.google-analytics.com/analytics")){b=
|
58 |
-
!0;break a}}b=!1}b&&(Ba=!0)}(O.gaplugins=O.gaplugins||{}).Linker=Dc;b=Dc.prototype;C("linker",Dc);X("decorate",b,b.ca,20);X("autoLink",b,b.S,25);C("displayfeatures",fd);C("adfeatures",fd);a=a&&a.q;ka(a)?Z.D.apply(N,a):J(50)}};N.da=function(){for(var a=N.getAll(),b=0;b<a.length;b++)a[b].get(V)};var da=N.N,Nd=O[gb];Nd&&Nd.r?da():z(da);z(function(){Z.D(["provide","render",ua])});function La(a){var b=1,c;if(a)for(b=0,c=a.length-1;0<=c;c--){var d=a.charCodeAt(c);b=(b<<6&268435455)+d+(d<<14);d=b&266338304;b=0!=d?b^d>>21:b}return b};})(window);
|
1 |
+
(function(){var $c=function(a){this.w=a||[]};$c.prototype.set=function(a){this.w[a]=!0};$c.prototype.encode=function(){for(var a=[],b=0;b<this.w.length;b++)this.w[b]&&(a[Math.floor(b/6)]^=1<<b%6);for(b=0;b<a.length;b++)a[b]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_".charAt(a[b]||0);return a.join("")+"~"};var vd=new $c;function J(a){vd.set(a)}var Td=function(a){a=Dd(a);a=new $c(a);for(var b=vd.w.slice(),c=0;c<a.w.length;c++)b[c]=b[c]||a.w[c];return(new $c(b)).encode()},Dd=function(a){a=a.get(Gd);ka(a)||(a=[]);return a};var ea=function(a){return"function"==typeof a},ka=function(a){return"[object Array]"==Object.prototype.toString.call(Object(a))},qa=function(a){return void 0!=a&&-1<(a.constructor+"").indexOf("String")},D=function(a,b){return 0==a.indexOf(b)},sa=function(a){return a?a.replace(/^[\s\xa0]+|[\s\xa0]+$/g,""):""},ra=function(){for(var a=O.navigator.userAgent+(M.cookie?M.cookie:"")+(M.referrer?M.referrer:""),b=a.length,c=O.history.length;0<c;)a+=c--^b++;return[hd()^La(a)&2147483647,Math.round((new Date).getTime()/
|
2 |
+
1E3)].join(".")},ta=function(a){var b=M.createElement("img");b.width=1;b.height=1;b.src=a;return b},ua=function(){},K=function(a){if(encodeURIComponent instanceof Function)return encodeURIComponent(a);J(28);return a},L=function(a,b,c,d){try{a.addEventListener?a.addEventListener(b,c,!!d):a.attachEvent&&a.attachEvent("on"+b,c)}catch(e){J(27)}},f=/^[\w\-:/.?=&%!]+$/,wa=function(a,b,c){a&&(c?(c="",b&&f.test(b)&&(c=' id="'+b+'"'),f.test(a)&&M.write("<script"+c+' src="'+a+'">\x3c/script>')):(c=M.createElement("script"),
|
3 |
+
c.type="text/javascript",c.async=!0,c.src=a,b&&(c.id=b),a=M.getElementsByTagName("script")[0],a.parentNode.insertBefore(c,a)))},be=function(a,b){return E(M.location[b?"href":"search"],a)},E=function(a,b){return(a=a.match("(?:&|#|\\?)"+K(b).replace(/([.*+?^=!:${}()|\[\]\/\\])/g,"\\$1")+"=([^&#]*)"))&&2==a.length?a[1]:""},xa=function(){var a=""+M.location.hostname;return 0==a.indexOf("www.")?a.substring(4):a},de=function(a,b){var c=a.indexOf(b);if(5==c||6==c)if(a=a.charAt(c+b.length),"/"==a||"?"==a||
|
4 |
+
""==a||":"==a)return!0;return!1},ya=function(a,b){var c=M.referrer;if(/^(https?|android-app):\/\//i.test(c)){if(a)return c;a="//"+M.location.hostname;if(!de(c,a))return b&&(b=a.replace(/\./g,"-")+".cdn.ampproject.org",de(c,b))?void 0:c}},za=function(a,b){if(1==b.length&&null!=b[0]&&"object"===typeof b[0])return b[0];for(var c={},d=Math.min(a.length+1,b.length),e=0;e<d;e++)if("object"===typeof b[e]){for(var g in b[e])b[e].hasOwnProperty(g)&&(c[g]=b[e][g]);break}else e<a.length&&(c[a[e]]=b[e]);return c};var ee=function(){this.keys=[];this.values={};this.m={}};ee.prototype.set=function(a,b,c){this.keys.push(a);c?this.m[":"+a]=b:this.values[":"+a]=b};ee.prototype.get=function(a){return this.m.hasOwnProperty(":"+a)?this.m[":"+a]:this.values[":"+a]};ee.prototype.map=function(a){for(var b=0;b<this.keys.length;b++){var c=this.keys[b],d=this.get(c);d&&a(c,d)}};var O=window,M=document,va=function(a,b){return setTimeout(a,b)};var F=window,Ea=document,G=function(a){var b=F._gaUserPrefs;if(b&&b.ioo&&b.ioo()||a&&!0===F["ga-disable-"+a])return!0;try{var c=F.external;if(c&&c._gaUserPrefs&&"oo"==c._gaUserPrefs)return!0}catch(g){}a=[];b=Ea.cookie.split(";");c=/^\s*AMP_TOKEN=\s*(.*?)\s*$/;for(var d=0;d<b.length;d++){var e=b[d].match(c);e&&a.push(e[1])}for(b=0;b<a.length;b++)if("$OPT_OUT"==decodeURIComponent(a[b]))return!0;return!1};var Ca=function(a){var b=[],c=M.cookie.split(";");a=new RegExp("^\\s*"+a+"=\\s*(.*?)\\s*$");for(var d=0;d<c.length;d++){var e=c[d].match(a);e&&b.push(e[1])}return b},zc=function(a,b,c,d,e,g){e=G(e)?!1:eb.test(M.location.hostname)||"/"==c&&vc.test(d)?!1:!0;if(!e)return!1;b&&1200<b.length&&(b=b.substring(0,1200));c=a+"="+b+"; path="+c+"; ";g&&(c+="expires="+(new Date((new Date).getTime()+g)).toGMTString()+"; ");d&&"none"!==d&&(c+="domain="+d+";");d=M.cookie;M.cookie=c;if(!(d=d!=M.cookie))a:{a=Ca(a);
|
5 |
+
for(d=0;d<a.length;d++)if(b==a[d]){d=!0;break a}d=!1}return d},Cc=function(a){return encodeURIComponent?encodeURIComponent(a).replace(/\(/g,"%28").replace(/\)/g,"%29"):a},vc=/^(www\.)?google(\.com?)?(\.[a-z]{2})?$/,eb=/(^|\.)doubleclick\.net$/i;var oc,Id=/^.*Version\/?(\d+)[^\d].*$/i,ne=function(){if(void 0!==O.__ga4__)return O.__ga4__;if(void 0===oc){var a=O.navigator.userAgent;if(a){var b=a;try{b=decodeURIComponent(a)}catch(c){}if(a=!(0<=b.indexOf("Chrome"))&&!(0<=b.indexOf("CriOS"))&&(0<=b.indexOf("Safari/")||0<=b.indexOf("Safari,")))b=Id.exec(b),a=11<=(b?Number(b[1]):-1);oc=a}else oc=!1}return oc};var Fa,Ga,fb,Ab,ja=/^https?:\/\/[^/]*cdn\.ampproject\.org\//,Ub=[],ic=function(){Z.D([ua])},tc=function(a,b){var c=Ca("AMP_TOKEN");if(1<c.length)return J(55),!1;c=decodeURIComponent(c[0]||"");if("$OPT_OUT"==c||"$ERROR"==c||G(b))return J(62),!1;if(!ja.test(M.referrer)&&"$NOT_FOUND"==c)return J(68),!1;if(void 0!==Ab)return J(56),va(function(){a(Ab)},0),!0;if(Fa)return Ub.push(a),!0;if("$RETRIEVING"==c)return J(57),va(function(){tc(a,b)},1E4),!0;Fa=!0;c&&"$"!=c[0]||(xc("$RETRIEVING",3E4),setTimeout(Mc,
|
6 |
+
3E4),c="");return Pc(c,b)?(Ub.push(a),!0):!1},Pc=function(a,b,c){if(!window.JSON)return J(58),!1;var d=O.XMLHttpRequest;if(!d)return J(59),!1;var e=new d;if(!("withCredentials"in e))return J(60),!1;e.open("POST",(c||"https://ampcid.google.com/v1/publisher:getClientId")+"?key=AIzaSyA65lEHUEizIsNtlbNo-l2K18dT680nsaM",!0);e.withCredentials=!0;e.setRequestHeader("Content-Type","text/plain");e.onload=function(){Fa=!1;if(4==e.readyState){try{200!=e.status&&(J(61),Qc("","$ERROR",3E4));var d=JSON.parse(e.responseText);
|
7 |
+
d.optOut?(J(63),Qc("","$OPT_OUT",31536E6)):d.clientId?Qc(d.clientId,d.securityToken,31536E6):!c&&d.alternateUrl?(Ga&&clearTimeout(Ga),Fa=!0,Pc(a,b,d.alternateUrl)):(J(64),Qc("","$NOT_FOUND",36E5))}catch(ca){J(65),Qc("","$ERROR",3E4)}e=null}};d={originScope:"AMP_ECID_GOOGLE"};a&&(d.securityToken=a);e.send(JSON.stringify(d));Ga=va(function(){J(66);Qc("","$ERROR",3E4)},1E4);return!0},Mc=function(){Fa=!1},xc=function(a,b){if(void 0===fb){fb="";for(var c=id(),d=0;d<c.length;d++){var e=c[d];if(zc("AMP_TOKEN",
|
8 |
+
encodeURIComponent(a),"/",e,"",b)){fb=e;return}}}zc("AMP_TOKEN",encodeURIComponent(a),"/",fb,"",b)},Qc=function(a,b,c){Ga&&clearTimeout(Ga);b&&xc(b,c);Ab=a;b=Ub;Ub=[];for(c=0;c<b.length;c++)b[c](a)};var oe=function(){return(Ba||"https:"==M.location.protocol?"https:":"http:")+"//www.google-analytics.com"},Da=function(a){this.name="len";this.message=a+"-8192"},ba=function(a,b,c){c=c||ua;if(2036>=b.length)wc(a,b,c);else if(8192>=b.length)x(a,b,c)||wd(a,b,c)||wc(a,b,c);else throw ge("len",b.length),new Da(b.length);},pe=function(a,b,c,d){d=d||ua;wd(a+"?"+b,"",d,c)},wc=function(a,b,c){var d=ta(a+"?"+b);d.onload=d.onerror=function(){d.onload=null;d.onerror=null;c()}},wd=function(a,b,c,d){var e=O.XMLHttpRequest;
|
9 |
+
if(!e)return!1;var g=new e;if(!("withCredentials"in g))return!1;a=a.replace(/^http:/,"https:");g.open("POST",a,!0);g.withCredentials=!0;g.setRequestHeader("Content-Type","text/plain");g.onreadystatechange=function(){if(4==g.readyState){if(d)try{var a=g.responseText;if(1>a.length)ge("xhr","ver","0"),c();else if("1"!=a.charAt(0))ge("xhr","ver",String(a.length)),c();else if(3<d.count++)ge("xhr","tmr",""+d.count),c();else if(1==a.length)c();else{var b=a.charAt(1);if("d"==b)pe("https://stats.g.doubleclick.net/j/collect",
|
10 |
+
d.U,d,c);else if("g"==b){var e="https://www.google.%/ads/ga-audiences".replace("%","com");wc(e,d.google,c);var w=a.substring(2);if(w)if(/^[a-z.]{1,6}$/.test(w)){var ha="https://www.google.%/ads/ga-audiences".replace("%",w);wc(ha,d.google,ua)}else ge("tld","bcc",w)}else ge("xhr","brc",b),c()}}catch(ue){ge("xhr","rsp"),c()}else c();g=null}};g.send(b);return!0},x=function(a,b,c){return O.navigator.sendBeacon?O.navigator.sendBeacon(a,b)?(c(),!0):!1:!1},ge=function(a,b,c){1<=100*Math.random()||G("?")||
|
11 |
+
(a=["t=error","_e="+a,"_v=j68","sr=1"],b&&a.push("_f="+b),c&&a.push("_m="+K(c.substring(0,100))),a.push("aip=1"),a.push("z="+hd()),wc("https://www.google-analytics.com/u/d",a.join("&"),ua))};var h=function(a){var b=O.gaData=O.gaData||{};return b[a]=b[a]||{}};var Ha=function(){this.M=[]};Ha.prototype.add=function(a){this.M.push(a)};Ha.prototype.D=function(a){try{for(var b=0;b<this.M.length;b++){var c=a.get(this.M[b]);c&&ea(c)&&c.call(O,a)}}catch(d){}b=a.get(Ia);b!=ua&&ea(b)&&(a.set(Ia,ua,!0),setTimeout(b,10))};function Ja(a){if(100!=a.get(Ka)&&La(P(a,Q))%1E4>=100*R(a,Ka))throw"abort";}function Ma(a){if(G(P(a,Na)))throw"abort";}function Oa(){var a=M.location.protocol;if("http:"!=a&&"https:"!=a)throw"abort";}
|
12 |
+
function Pa(a){try{O.navigator.sendBeacon?J(42):O.XMLHttpRequest&&"withCredentials"in new O.XMLHttpRequest&&J(40)}catch(c){}a.set(ld,Td(a),!0);a.set(Ac,R(a,Ac)+1);var b=[];Qa.map(function(c,d){d.F&&(c=a.get(c),void 0!=c&&c!=d.defaultValue&&("boolean"==typeof c&&(c*=1),b.push(d.F+"="+K(""+c))))});b.push("z="+Bd());a.set(Ra,b.join("&"),!0)}
|
13 |
+
function Sa(a){var b=P(a,gd)||oe()+"/collect",c=a.get(qe),d=P(a,fa);!d&&a.get(Vd)&&(d="beacon");if(c)pe(b,P(a,Ra),c,a.get(Ia));else if(d){c=d;d=P(a,Ra);var e=a.get(Ia);e=e||ua;"image"==c?wc(b,d,e):"xhr"==c&&wd(b,d,e)||"beacon"==c&&x(b,d,e)||ba(b,d,e)}else ba(b,P(a,Ra),a.get(Ia));b=a.get(Na);b=h(b);c=b.hitcount;b.hitcount=c?c+1:1;b=a.get(Na);delete h(b).pending_experiments;a.set(Ia,ua,!0)}
|
14 |
+
function Hc(a){(O.gaData=O.gaData||{}).expId&&a.set(Nc,(O.gaData=O.gaData||{}).expId);(O.gaData=O.gaData||{}).expVar&&a.set(Oc,(O.gaData=O.gaData||{}).expVar);var b=a.get(Na);if(b=h(b).pending_experiments){var c=[];for(d in b)b.hasOwnProperty(d)&&b[d]&&c.push(encodeURIComponent(d)+"."+encodeURIComponent(b[d]));var d=c.join("!")}else d=void 0;d&&a.set(m,d,!0)}function cd(){if(O.navigator&&"preview"==O.navigator.loadPurpose)throw"abort";}
|
15 |
+
function yd(a){var b=O.gaDevIds;ka(b)&&0!=b.length&&a.set("&did",b.join(","),!0)}function vb(a){if(!a.get(Na))throw"abort";};var hd=function(){return Math.round(2147483647*Math.random())},Bd=function(){try{var a=new Uint32Array(1);O.crypto.getRandomValues(a);return a[0]&2147483647}catch(b){return hd()}};function Ta(a){var b=R(a,Ua);500<=b&&J(15);var c=P(a,Va);if("transaction"!=c&&"item"!=c){c=R(a,Wa);var d=(new Date).getTime(),e=R(a,Xa);0==e&&a.set(Xa,d);e=Math.round(2*(d-e)/1E3);0<e&&(c=Math.min(c+e,20),a.set(Xa,d));if(0>=c)throw"abort";a.set(Wa,--c)}a.set(Ua,++b)};var Ya=function(){this.data=new ee},Qa=new ee,Za=[];Ya.prototype.get=function(a){var b=$a(a),c=this.data.get(a);b&&void 0==c&&(c=ea(b.defaultValue)?b.defaultValue():b.defaultValue);return b&&b.Z?b.Z(this,a,c):c};var P=function(a,b){a=a.get(b);return void 0==a?"":""+a},R=function(a,b){a=a.get(b);return void 0==a||""===a?0:1*a};Ya.prototype.set=function(a,b,c){if(a)if("object"==typeof a)for(var d in a)a.hasOwnProperty(d)&&ab(this,d,a[d],c);else ab(this,a,b,c)};
|
16 |
+
var ab=function(a,b,c,d){if(void 0!=c)switch(b){case Na:wb.test(c)}var e=$a(b);e&&e.o?e.o(a,b,c,d):a.data.set(b,c,d)},bb=function(a,b,c,d,e){this.name=a;this.F=b;this.Z=d;this.o=e;this.defaultValue=c},$a=function(a){var b=Qa.get(a);if(!b)for(var c=0;c<Za.length;c++){var d=Za[c],e=d[0].exec(a);if(e){b=d[1](e);Qa.set(b.name,b);break}}return b},yc=function(a){var b;Qa.map(function(c,d){d.F==a&&(b=d)});return b&&b.name},S=function(a,b,c,d,e){a=new bb(a,b,c,d,e);Qa.set(a.name,a);return a.name},cb=function(a,
|
17 |
+
b){Za.push([new RegExp("^"+a+"$"),b])},T=function(a,b,c){return S(a,b,c,void 0,db)},db=function(){};var gb=qa(window.GoogleAnalyticsObject)&&sa(window.GoogleAnalyticsObject)||"ga",jd=/^(?:utma\.)?\d+\.\d+$/,kd=/^amp-[\w.-]{22,64}$/,Ba=!1,hb=T("apiVersion","v"),ib=T("clientVersion","_v");S("anonymizeIp","aip");var jb=S("adSenseId","a"),Va=S("hitType","t"),Ia=S("hitCallback"),Ra=S("hitPayload");S("nonInteraction","ni");S("currencyCode","cu");S("dataSource","ds");var Vd=S("useBeacon",void 0,!1),fa=S("transport");S("sessionControl","sc","");S("sessionGroup","sg");S("queueTime","qt");var Ac=S("_s","_s");
|
18 |
+
S("screenName","cd");var kb=S("location","dl",""),lb=S("referrer","dr"),mb=S("page","dp","");S("hostname","dh");var nb=S("language","ul"),ob=S("encoding","de");S("title","dt",function(){return M.title||void 0});cb("contentGroup([0-9]+)",function(a){return new bb(a[0],"cg"+a[1])});var pb=S("screenColors","sd"),qb=S("screenResolution","sr"),rb=S("viewportSize","vp"),sb=S("javaEnabled","je"),tb=S("flashVersion","fl");S("campaignId","ci");S("campaignName","cn");S("campaignSource","cs");
|
19 |
+
S("campaignMedium","cm");S("campaignKeyword","ck");S("campaignContent","cc");var ub=S("eventCategory","ec"),xb=S("eventAction","ea"),yb=S("eventLabel","el"),zb=S("eventValue","ev"),Bb=S("socialNetwork","sn"),Cb=S("socialAction","sa"),Db=S("socialTarget","st"),Eb=S("l1","plt"),Fb=S("l2","pdt"),Gb=S("l3","dns"),Hb=S("l4","rrt"),Ib=S("l5","srt"),Jb=S("l6","tcp"),Kb=S("l7","dit"),Lb=S("l8","clt"),Mb=S("timingCategory","utc"),Nb=S("timingVar","utv"),Ob=S("timingLabel","utl"),Pb=S("timingValue","utt");
|
20 |
+
S("appName","an");S("appVersion","av","");S("appId","aid","");S("appInstallerId","aiid","");S("exDescription","exd");S("exFatal","exf");var Nc=S("expId","xid"),Oc=S("expVar","xvar"),m=S("exp","exp"),Rc=S("_utma","_utma"),Sc=S("_utmz","_utmz"),Tc=S("_utmht","_utmht"),Ua=S("_hc",void 0,0),Xa=S("_ti",void 0,0),Wa=S("_to",void 0,20);cb("dimension([0-9]+)",function(a){return new bb(a[0],"cd"+a[1])});cb("metric([0-9]+)",function(a){return new bb(a[0],"cm"+a[1])});S("linkerParam",void 0,void 0,Bc,db);
|
21 |
+
var ld=S("usage","_u"),Gd=S("_um");S("forceSSL",void 0,void 0,function(){return Ba},function(a,b,c){J(34);Ba=!!c});var ed=S("_j1","jid"),ia=S("_j2","gjid");cb("\\&(.*)",function(a){var b=new bb(a[0],a[1]),c=yc(a[0].substring(1));c&&(b.Z=function(a){return a.get(c)},b.o=function(a,b,g,ca){a.set(c,g,ca)},b.F=void 0);return b});
|
22 |
+
var Qb=T("_oot"),dd=S("previewTask"),Rb=S("checkProtocolTask"),md=S("validationTask"),Sb=S("checkStorageTask"),Uc=S("historyImportTask"),Tb=S("samplerTask"),Vb=S("_rlt"),Wb=S("buildHitTask"),Xb=S("sendHitTask"),Vc=S("ceTask"),zd=S("devIdTask"),Cd=S("timingTask"),Ld=S("displayFeaturesTask"),oa=S("customTask"),V=T("name"),Q=T("clientId","cid"),n=T("clientIdTime"),xd=T("storedClientId"),Ad=S("userId","uid"),Na=T("trackingId","tid"),U=T("cookieName",void 0,"_ga"),W=T("cookieDomain"),Yb=T("cookiePath",
|
23 |
+
void 0,"/"),Zb=T("cookieExpires",void 0,63072E3),Hd=T("cookieUpdate",void 0,!0),$b=T("legacyCookieDomain"),Wc=T("legacyHistoryImport",void 0,!0),ac=T("storage",void 0,"cookie"),bc=T("allowLinker",void 0,!1),cc=T("allowAnchor",void 0,!0),Ka=T("sampleRate","sf",100),dc=T("siteSpeedSampleRate",void 0,1),ec=T("alwaysSendReferrer",void 0,!1),I=T("_gid","_gid"),la=T("_gcn"),Kd=T("useAmpClientId"),ce=T("_gclid"),fe=T("_gt"),he=T("_ge",void 0,7776E6),ie=T("_gclsrc"),je=T("storeGac",void 0,!0),gd=S("transportUrl"),
|
24 |
+
Md=S("_r","_r"),qe=S("_dp"),Ud=S("allowAdFeatures",void 0,!0);function X(a,b,c,d){b[a]=function(){try{return d&&J(d),c.apply(this,arguments)}catch(e){throw ge("exc",a,e&&e.name),e;}}};var Od=function(){this.V=100;this.$=this.fa=!1;this.oa="detourexp";this.groups=1},Ed=function(a){var b=new Od,c;if(b.fa&&b.$)return 0;b.$=!0;if(a){if(b.oa&&void 0!==a.get(b.oa))return R(a,b.oa);if(0==a.get(dc))return 0}if(0==b.V)return 0;void 0===c&&(c=Bd());return 0==c%b.V?Math.floor(c/b.V)%b.groups+1:0};function fc(){var a,b;if((b=(b=O.navigator)?b.plugins:null)&&b.length)for(var c=0;c<b.length&&!a;c++){var d=b[c];-1<d.name.indexOf("Shockwave Flash")&&(a=d.description)}if(!a)try{var e=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");a=e.GetVariable("$version")}catch(g){}if(!a)try{e=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6"),a="WIN 6,0,21,0",e.AllowScriptAccess="always",a=e.GetVariable("$version")}catch(g){}if(!a)try{e=new ActiveXObject("ShockwaveFlash.ShockwaveFlash"),a=e.GetVariable("$version")}catch(g){}a&&
|
25 |
+
(e=a.match(/[\d]+/g))&&3<=e.length&&(a=e[0]+"."+e[1]+" r"+e[2]);return a||void 0};var aa=function(a){var b=Math.min(R(a,dc),100);return La(P(a,Q))%100>=b?!1:!0},gc=function(a){var b={};if(Ec(b)||Fc(b)){var c=b[Eb];void 0==c||Infinity==c||isNaN(c)||(0<c?(Y(b,Gb),Y(b,Jb),Y(b,Ib),Y(b,Fb),Y(b,Hb),Y(b,Kb),Y(b,Lb),va(function(){a(b)},10)):L(O,"load",function(){gc(a)},!1))}},Ec=function(a){var b=O.performance||O.webkitPerformance;b=b&&b.timing;if(!b)return!1;var c=b.navigationStart;if(0==c)return!1;a[Eb]=b.loadEventStart-c;a[Gb]=b.domainLookupEnd-b.domainLookupStart;a[Jb]=b.connectEnd-
|
26 |
+
b.connectStart;a[Ib]=b.responseStart-b.requestStart;a[Fb]=b.responseEnd-b.responseStart;a[Hb]=b.fetchStart-c;a[Kb]=b.domInteractive-c;a[Lb]=b.domContentLoadedEventStart-c;return!0},Fc=function(a){if(O.top!=O)return!1;var b=O.external,c=b&&b.onloadT;b&&!b.isValidLoadTime&&(c=void 0);2147483648<c&&(c=void 0);0<c&&b.setPageReadyTime();if(void 0==c)return!1;a[Eb]=c;return!0},Y=function(a,b){var c=a[b];if(isNaN(c)||Infinity==c||0>c)a[b]=void 0},Fd=function(a){return function(b){if("pageview"==b.get(Va)&&
|
27 |
+
!a.I){a.I=!0;var c=aa(b),d=0<E(b.get(kb),"gclid").length;(c||d)&&gc(function(b){c&&a.send("timing",b);d&&a.send("adtiming",b)})}}};var hc=!1,mc=function(a){if("cookie"==P(a,ac)){if(a.get(Hd)||P(a,xd)!=P(a,Q)){var b=1E3*R(a,Zb);ma(a,Q,U,b)}ma(a,I,la,864E5);if(a.get(je)){var c=a.get(ce);if(c){var d=Math.min(R(a,he),1E3*R(a,Zb));d=Math.min(d,1E3*R(a,fe)+d-(new Date).getTime());a.data.set(he,d);b={};var e=a.get(fe),g=a.get(ie),ca=kc(P(a,Yb)),l=lc(P(a,W)),k=P(a,Na);g&&"aw.ds"!=g?b&&(b.ua=!0):(c=["1",e,Cc(c)].join("."),0<d&&(b&&(b.ta=!0),zc("_gac_"+Cc(k),c,ca,l,k,d)));le(b)}}else J(75);if(a="none"===lc(P(a,W)))a=M.location.hostname,
|
28 |
+
a=eb.test(a)||vc.test(a);a&&J(30)}},ma=function(a,b,c,d){var e=nd(a,b);if(e){c=P(a,c);var g=kc(P(a,Yb)),ca=lc(P(a,W)),l=P(a,Na);if("auto"!=ca)zc(c,e,g,ca,l,d)&&(hc=!0);else{J(32);for(var k=id(),w=0;w<k.length;w++)if(ca=k[w],a.data.set(W,ca),e=nd(a,b),zc(c,e,g,ca,l,d)){hc=!0;return}a.data.set(W,"auto")}}},nc=function(a){if("cookie"==P(a,ac)&&!hc&&(mc(a),!hc))throw"abort";},Yc=function(a){if(a.get(Wc)){var b=P(a,W),c=P(a,$b)||xa(),d=Xc("__utma",c,b);d&&(J(19),a.set(Tc,(new Date).getTime(),!0),a.set(Rc,
|
29 |
+
d.R),(b=Xc("__utmz",c,b))&&d.hash==b.hash&&a.set(Sc,b.R))}},nd=function(a,b){b=Cc(P(a,b));var c=lc(P(a,W)).split(".").length;a=jc(P(a,Yb));1<a&&(c+="-"+a);return b?["GA1",c,b].join("."):""},Xd=function(a,b){return na(b,P(a,W),P(a,Yb))},na=function(a,b,c){if(!a||1>a.length)J(12);else{for(var d=[],e=0;e<a.length;e++){var g=a[e];var ca=g.split(".");var l=ca.shift();("GA1"==l||"1"==l)&&1<ca.length?(g=ca.shift().split("-"),1==g.length&&(g[1]="1"),g[0]*=1,g[1]*=1,ca={H:g,s:ca.join(".")}):ca=kd.test(g)?
|
30 |
+
{H:[0,0],s:g}:void 0;ca&&d.push(ca)}if(1==d.length)return J(13),d[0].s;if(0==d.length)J(12);else{J(14);d=Gc(d,lc(b).split(".").length,0);if(1==d.length)return d[0].s;d=Gc(d,jc(c),1);1<d.length&&J(41);return d[0]&&d[0].s}}},Gc=function(a,b,c){for(var d=[],e=[],g,ca=0;ca<a.length;ca++){var l=a[ca];l.H[c]==b?d.push(l):void 0==g||l.H[c]<g?(e=[l],g=l.H[c]):l.H[c]==g&&e.push(l)}return 0<d.length?d:e},lc=function(a){return 0==a.indexOf(".")?a.substr(1):a},id=function(){var a=[],b=xa().split(".");if(4==b.length){var c=
|
31 |
+
b[b.length-1];if(parseInt(c,10)==c)return["none"]}for(c=b.length-2;0<=c;c--)a.push(b.slice(c).join("."));a.push("none");return a},kc=function(a){if(!a)return"/";1<a.length&&a.lastIndexOf("/")==a.length-1&&(a=a.substr(0,a.length-1));0!=a.indexOf("/")&&(a="/"+a);return a},jc=function(a){a=kc(a);return"/"==a?1:a.split("/").length},le=function(a){a.ta&&J(77);a.na&&J(74);a.pa&&J(73);a.ua&&J(69)};function Xc(a,b,c){"none"==b&&(b="");var d=[],e=Ca(a);a="__utma"==a?6:2;for(var g=0;g<e.length;g++){var ca=(""+e[g]).split(".");ca.length>=a&&d.push({hash:ca[0],R:e[g],O:ca})}if(0!=d.length)return 1==d.length?d[0]:Zc(b,d)||Zc(c,d)||Zc(null,d)||d[0]}function Zc(a,b){if(null==a)var c=a=1;else c=La(a),a=La(D(a,".")?a.substring(1):"."+a);for(var d=0;d<b.length;d++)if(b[d].hash==c||b[d].hash==a)return b[d]};var od=new RegExp(/^https?:\/\/([^\/:]+)/),pd=/(.*)([?&#])(?:_ga=[^&#]*)(?:&?)(.*)/,me=/(.*)([?&#])(?:_gac=[^&#]*)(?:&?)(.*)/;function Bc(a){var b=a.get(Q),c=a.get(I)||"";b="_ga=2."+K(pa(c+b,0)+"."+c+"-"+b);if((c=a.get(ce))&&a.get(je)){var d=R(a,fe);1E3*d+R(a,he)<=(new Date).getTime()?(J(76),a=""):(J(44),a="&_gac=1."+K([pa(c,0),d,c].join(".")))}else a="";return b+a}
|
32 |
+
function Ic(a,b){var c=new Date,d=O.navigator,e=d.plugins||[];a=[a,d.userAgent,c.getTimezoneOffset(),c.getYear(),c.getDate(),c.getHours(),c.getMinutes()+b];for(b=0;b<e.length;++b)a.push(e[b].description);return La(a.join("."))}function pa(a,b){var c=new Date,d=O.navigator,e=c.getHours()+Math.floor((c.getMinutes()+b)/60);return La([a,d.userAgent,d.language||"",c.getTimezoneOffset(),c.getYear(),c.getDate()+Math.floor(e/24),(24+e)%24,(60+c.getMinutes()+b)%60].join("."))}
|
33 |
+
var Dc=function(a){J(48);this.target=a;this.T=!1};Dc.prototype.ca=function(a,b){if(a.tagName){if("a"==a.tagName.toLowerCase()){a.href&&(a.href=qd(this,a.href,b));return}if("form"==a.tagName.toLowerCase())return rd(this,a)}if("string"==typeof a)return qd(this,a,b)};
|
34 |
+
var qd=function(a,b,c){var d=pd.exec(b);d&&3<=d.length&&(b=d[1]+(d[3]?d[2]+d[3]:""));(d=me.exec(b))&&3<=d.length&&(b=d[1]+(d[3]?d[2]+d[3]:""));a=a.target.get("linkerParam");var e=b.indexOf("?");d=b.indexOf("#");c?b+=(-1==d?"#":"&")+a:(c=-1==e?"?":"&",b=-1==d?b+(c+a):b.substring(0,d)+c+a+b.substring(d));b=b.replace(/&+_ga=/,"&_ga=");return b=b.replace(/&+_gac=/,"&_gac=")},rd=function(a,b){if(b&&b.action)if("get"==b.method.toLowerCase()){a=a.target.get("linkerParam").split("&");for(var c=0;c<a.length;c++){var d=
|
35 |
+
a[c].split("="),e=d[1];d=d[0];for(var g=b.childNodes||[],ca=!1,l=0;l<g.length;l++)if(g[l].name==d){g[l].setAttribute("value",e);ca=!0;break}ca||(g=M.createElement("input"),g.setAttribute("type","hidden"),g.setAttribute("name",d),g.setAttribute("value",e),b.appendChild(g))}}else"post"==b.method.toLowerCase()&&(b.action=qd(a,b.action))};
|
36 |
+
Dc.prototype.S=function(a,b,c){function d(c){try{c=c||O.event;a:{var d=c.target||c.srcElement;for(c=100;d&&0<c;){if(d.href&&d.nodeName.match(/^a(?:rea)?$/i)){var g=d;break a}d=d.parentNode;c--}g={}}("http:"==g.protocol||"https:"==g.protocol)&&sd(a,g.hostname||"")&&g.href&&(g.href=qd(e,g.href,b))}catch(k){J(26)}}var e=this;this.T||(this.T=!0,L(M,"mousedown",d,!1),L(M,"keyup",d,!1));c&&L(M,"submit",function(b){b=b||O.event;if((b=b.target||b.srcElement)&&b.action){var c=b.action.match(od);c&&sd(a,c[1])&&
|
37 |
+
rd(e,b)}})};function sd(a,b){if(b==M.location.hostname)return!1;for(var c=0;c<a.length;c++)if(a[c]instanceof RegExp){if(a[c].test(b))return!0}else if(0<=b.indexOf(a[c]))return!0;return!1}function ke(a,b){return b!=Ic(a,0)&&b!=Ic(a,-1)&&b!=Ic(a,-2)&&b!=pa(a,0)&&b!=pa(a,-1)&&b!=pa(a,-2)};var p=/^(GTM|OPT)-[A-Z0-9]+$/,q=/;_gaexp=[^;]*/g,r=/;((__utma=)|([^;=]+=GAX?\d+\.))[^;]*/g,Aa=/^https?:\/\/[\w\-.]+\.google.com(:\d+)?\/optimize\/opt-launch\.html\?.*$/,t=function(a){function b(a,b){b&&(c+="&"+a+"="+K(b))}var c="https://www.google-analytics.com/gtm/js?id="+K(a.id);"dataLayer"!=a.B&&b("l",a.B);b("t",a.target);b("cid",a.clientId);b("cidt",a.ka);b("gac",a.la);b("aip",a.ia);a.sync&&b("m","sync");b("cycle",a.G);a.qa&&b("gclid",a.qa);Aa.test(M.referrer)&&b("cb",String(hd()));return c};var Jd=function(a,b,c){this.aa=b;(b=c)||(b=(b=P(a,V))&&"t0"!=b?Wd.test(b)?"_gat_"+Cc(P(a,Na)):"_gat_"+Cc(b):"_gat");this.Y=b;this.ra=null},Rd=function(a,b){var c=b.get(Wb);b.set(Wb,function(b){Pd(a,b,ed);Pd(a,b,ia);var d=c(b);Qd(a,b);return d});var d=b.get(Xb);b.set(Xb,function(b){var c=d(b);if(se(b)){if(ne()!==H(a,b)){J(80);var e={U:re(a,b,1),google:re(a,b,2),count:0};pe("https://stats.g.doubleclick.net/j/collect",e.U,e)}else ta(re(a,b,0));b.set(ed,"",!0)}return c})},Pd=function(a,b,c){!1===b.get(Ud)||
|
38 |
+
b.get(c)||("1"==Ca(a.Y)[0]?b.set(c,"",!0):b.set(c,""+hd(),!0))},Qd=function(a,b){se(b)&&zc(a.Y,"1",b.get(Yb),b.get(W),b.get(Na),6E4)},se=function(a){return!!a.get(ed)&&a.get(Ud)},re=function(a,b,c){var d=new ee,e=function(a){$a(a).F&&d.set($a(a).F,b.get(a))};e(hb);e(ib);e(Na);e(Q);e(ed);if(0==c||1==c)e(Ad),e(ia),e(I);d.set($a(ld).F,Td(b));var g="";d.map(function(a,b){g+=K(a)+"=";g+=K(""+b)+"&"});g+="z="+hd();0==c?g=a.aa+g:1==c?g="t=dc&aip=1&_r=3&"+g:2==c&&(g="t=sr&aip=1&_r=4&slf_rd=1&"+g);return g},
|
39 |
+
H=function(a,b){null===a.ra&&(a.ra=1===Ed(b),a.ra&&J(33));return a.ra},Wd=/^gtm\d+$/;var fd=function(a,b){a=a.b;if(!a.get("dcLoaded")){var c=new $c(Dd(a));c.set(29);a.set(Gd,c.w);b=b||{};var d;b[U]&&(d=Cc(b[U]));b=new Jd(a,"https://stats.g.doubleclick.net/r/collect?t=dc&aip=1&_r=3&",d);Rd(b,a);a.set("dcLoaded",!0)}};var Sd=function(a){if(!a.get("dcLoaded")&&"cookie"==a.get(ac)){var b=new Jd(a);Pd(b,a,ed);Pd(b,a,ia);Qd(b,a);if(se(a)){var c=ne()!==H(b,a);a.set(Md,1,!0);c?(J(79),a.set(gd,oe()+"/j/collect",!0),a.set(qe,{U:re(b,a,1),google:re(b,a,2),count:0},!0)):a.set(gd,oe()+"/r/collect",!0)}}};var Lc=function(){var a=O.gaGlobal=O.gaGlobal||{};return a.hid=a.hid||hd()};var ad,bd=function(a,b,c){if(!ad){var d=M.location.hash;var e=O.name,g=/^#?gaso=([^&]*)/;if(e=(d=(d=d&&d.match(g)||e&&e.match(g))?d[1]:Ca("GASO")[0]||"")&&d.match(/^(?:!([-0-9a-z.]{1,40})!)?([-.\w]{10,1200})$/i))zc("GASO",""+d,c,b,a,0),window._udo||(window._udo=b),window._utcp||(window._utcp=c),a=e[1],wa("https://www.google.com/analytics/web/inpage/pub/inpage.js?"+(a?"prefix="+a+"&":"")+hd(),"_gasojs");ad=!0}};var wb=/^(UA|YT|MO|GP)-(\d+)-(\d+)$/,pc=function(a){function b(a,b){d.b.data.set(a,b)}function c(a,c){b(a,c);d.filters.add(a)}var d=this;this.b=new Ya;this.filters=new Ha;b(V,a[V]);b(Na,sa(a[Na]));b(U,a[U]);b(W,a[W]||xa());b(Yb,a[Yb]);b(Zb,a[Zb]);b(Hd,a[Hd]);b($b,a[$b]);b(Wc,a[Wc]);b(bc,a[bc]);b(cc,a[cc]);b(Ka,a[Ka]);b(dc,a[dc]);b(ec,a[ec]);b(ac,a[ac]);b(Ad,a[Ad]);b(n,a[n]);b(Kd,a[Kd]);b(je,a[je]);b(hb,1);b(ib,"j68");c(Qb,Ma);c(oa,ua);c(dd,cd);c(Rb,Oa);c(md,vb);c(Sb,nc);c(Uc,Yc);c(Tb,Ja);c(Vb,Ta);
|
40 |
+
c(Vc,Hc);c(zd,yd);c(Ld,Sd);c(Wb,Pa);c(Xb,Sa);c(Cd,Fd(this));Kc(this.b);Jc(this.b,a[Q]);this.b.set(jb,Lc());bd(this.b.get(Na),this.b.get(W),this.b.get(Yb))},Jc=function(a,b){var c=P(a,U);a.data.set(la,"_ga"==c?"_gid":c+"_gid");if("cookie"==P(a,ac)){hc=!1;c=Ca(P(a,U));c=Xd(a,c);if(!c){c=P(a,W);var d=P(a,$b)||xa();c=Xc("__utma",d,c);void 0!=c?(J(10),c=c.O[1]+"."+c.O[2]):c=void 0}c&&(hc=!0);if(d=c&&!a.get(Hd))if(d=c.split("."),2!=d.length)d=!1;else if(d=Number(d[1])){var e=R(a,Zb);d=d+e<(new Date).getTime()/
|
41 |
+
1E3}else d=!1;d&&(c=void 0);c&&(a.data.set(xd,c),a.data.set(Q,c),c=Ca(P(a,la)),(c=Xd(a,c))&&a.data.set(I,c));if(a.get(je)&&(c=a.get(ce),d=a.get(ie),!c||d&&"aw.ds"!=d)){c={};if(M){d=[];e=M.cookie.split(";");for(var g=/^\s*_gac_(UA-\d+-\d+)=\s*(.+?)\s*$/,ca=0;ca<e.length;ca++){var l=e[ca].match(g);l&&d.push({ja:l[1],value:l[2]})}e={};if(d&&d.length)for(g=0;g<d.length;g++)(ca=d[g].value.split("."),"1"!=ca[0]||3!=ca.length)?c&&(c.na=!0):ca[1]&&(e[d[g].ja]?c&&(c.pa=!0):e[d[g].ja]=[],e[d[g].ja].push({timestamp:ca[1],
|
42 |
+
qa:ca[2]}));d=e}else d={};d=d[P(a,Na)];le(c);d&&0!=d.length&&(c=d[0],a.data.set(fe,c.timestamp),a.data.set(ce,c.qa))}}if(a.get(Hd))a:if(d=be("_ga",a.get(cc)))if(a.get(bc))if(c=d.indexOf("."),-1==c)J(22);else{e=d.substring(0,c);g=d.substring(c+1);c=g.indexOf(".");d=g.substring(0,c);g=g.substring(c+1);if("1"==e){if(c=g,ke(c,d)){J(23);break a}}else if("2"==e){c=g.indexOf("-");e="";0<c?(e=g.substring(0,c),c=g.substring(c+1)):c=g.substring(1);if(ke(e+c,d)){J(53);break a}e&&(J(2),a.data.set(I,e))}else{J(22);
|
43 |
+
break a}J(11);a.data.set(Q,c);if(c=be("_gac",a.get(cc)))c=c.split("."),"1"!=c[0]||4!=c.length?J(72):ke(c[3],c[1])?J(71):(a.data.set(ce,c[3]),a.data.set(fe,c[2]),J(70))}else J(21);b&&(J(9),a.data.set(Q,K(b)));a.get(Q)||((b=(b=O.gaGlobal&&O.gaGlobal.vid)&&-1!=b.search(jd)?b:void 0)?(J(17),a.data.set(Q,b)):(J(8),a.data.set(Q,ra())));a.get(I)||(J(3),a.data.set(I,ra()));mc(a)},Kc=function(a){var b=O.navigator,c=O.screen,d=M.location;a.set(lb,ya(a.get(ec),a.get(Kd)));if(d){var e=d.pathname||"";"/"!=e.charAt(0)&&
|
44 |
+
(J(31),e="/"+e);a.set(kb,d.protocol+"//"+d.hostname+e+d.search)}c&&a.set(qb,c.width+"x"+c.height);c&&a.set(pb,c.colorDepth+"-bit");c=M.documentElement;var g=(e=M.body)&&e.clientWidth&&e.clientHeight,ca=[];c&&c.clientWidth&&c.clientHeight&&("CSS1Compat"===M.compatMode||!g)?ca=[c.clientWidth,c.clientHeight]:g&&(ca=[e.clientWidth,e.clientHeight]);c=0>=ca[0]||0>=ca[1]?"":ca.join("x");a.set(rb,c);a.set(tb,fc());a.set(ob,M.characterSet||M.charset);a.set(sb,b&&"function"===typeof b.javaEnabled&&b.javaEnabled()||
|
45 |
+
!1);a.set(nb,(b&&(b.language||b.browserLanguage)||"").toLowerCase());a.data.set(ce,be("gclid",!0));a.data.set(ie,be("gclsrc",!0));a.data.set(fe,Math.round((new Date).getTime()/1E3));if(d&&a.get(cc)&&(b=M.location.hash)){b=b.split(/[?&#]+/);d=[];for(c=0;c<b.length;++c)(D(b[c],"utm_id")||D(b[c],"utm_campaign")||D(b[c],"utm_source")||D(b[c],"utm_medium")||D(b[c],"utm_term")||D(b[c],"utm_content")||D(b[c],"gclid")||D(b[c],"dclid")||D(b[c],"gclsrc"))&&d.push(b[c]);0<d.length&&(b="#"+d.join("&"),a.set(kb,
|
46 |
+
a.get(kb)+b))}};pc.prototype.get=function(a){return this.b.get(a)};pc.prototype.set=function(a,b){this.b.set(a,b)};var qc={pageview:[mb],event:[ub,xb,yb,zb],social:[Bb,Cb,Db],timing:[Mb,Nb,Pb,Ob]};pc.prototype.send=function(a){if(!(1>arguments.length)){if("string"===typeof arguments[0]){var b=arguments[0];var c=[].slice.call(arguments,1)}else b=arguments[0]&&arguments[0][Va],c=arguments;b&&(c=za(qc[b]||[],c),c[Va]=b,this.b.set(c,void 0,!0),this.filters.D(this.b),this.b.data.m={})}};
|
47 |
+
pc.prototype.ma=function(a,b){var c=this;u(a,c,b)||(v(a,function(){u(a,c,b)}),y(String(c.get(V)),a,void 0,b,!0))};var rc=function(a){if("prerender"==M.visibilityState)return!1;a();return!0},z=function(a){if(!rc(a)){J(16);var b=!1,c=function(){if(!b&&rc(a)){b=!0;var d=c,e=M;e.removeEventListener?e.removeEventListener("visibilitychange",d,!1):e.detachEvent&&e.detachEvent("onvisibilitychange",d)}};L(M,"visibilitychange",c)}};var td=/^(?:(\w+)\.)?(?:(\w+):)?(\w+)$/,sc=function(a){if(ea(a[0]))this.u=a[0];else{var b=td.exec(a[0]);null!=b&&4==b.length&&(this.c=b[1]||"t0",this.K=b[2]||"",this.C=b[3],this.a=[].slice.call(a,1),this.K||(this.A="create"==this.C,this.i="require"==this.C,this.g="provide"==this.C,this.ba="remove"==this.C),this.i&&(3<=this.a.length?(this.X=this.a[1],this.W=this.a[2]):this.a[1]&&(qa(this.a[1])?this.X=this.a[1]:this.W=this.a[1])));b=a[1];a=a[2];if(!this.C)throw"abort";if(this.i&&(!qa(b)||""==b))throw"abort";
|
48 |
+
if(this.g&&(!qa(b)||""==b||!ea(a)))throw"abort";if(ud(this.c)||ud(this.K))throw"abort";if(this.g&&"t0"!=this.c)throw"abort";}};function ud(a){return 0<=a.indexOf(".")||0<=a.indexOf(":")};var Yd,Zd,$d,A;Yd=new ee;$d=new ee;A=new ee;Zd={ec:45,ecommerce:46,linkid:47};
|
49 |
+
var u=function(a,b,c){b==N||b.get(V);var d=Yd.get(a);if(!ea(d))return!1;b.plugins_=b.plugins_||new ee;if(b.plugins_.get(a))return!0;b.plugins_.set(a,new d(b,c||{}));return!0},y=function(a,b,c,d,e){if(!ea(Yd.get(b))&&!$d.get(b)){Zd.hasOwnProperty(b)&&J(Zd[b]);if(p.test(b)){J(52);a=N.j(a);if(!a)return!0;c=d||{};d={id:b,B:c.dataLayer||"dataLayer",ia:!!a.get("anonymizeIp"),sync:e,G:!1};a.get(">m")==b&&(d.G=!0);var g=String(a.get("name"));"t0"!=g&&(d.target=g);G(String(a.get("trackingId")))||(d.clientId=
|
50 |
+
String(a.get(Q)),d.ka=Number(a.get(n)),c=c.palindrome?r:q,c=(c=M.cookie.replace(/^|(; +)/g,";").match(c))?c.sort().join("").substring(1):void 0,d.la=c,d.qa=E(a.b.get(kb)||"","gclid"));a=d.B;c=(new Date).getTime();O[a]=O[a]||[];c={"gtm.start":c};e||(c.event="gtm.js");O[a].push(c);c=t(d)}!c&&Zd.hasOwnProperty(b)?(J(39),c=b+".js"):J(43);c&&(c&&0<=c.indexOf("/")||(c=(Ba||"https:"==M.location.protocol?"https:":"http:")+"//www.google-analytics.com/plugins/ua/"+c),d=ae(c),a=d.protocol,c=M.location.protocol,
|
51 |
+
("https:"==a||a==c||("http:"!=a?0:"http:"==c))&&B(d)&&(wa(d.url,void 0,e),$d.set(b,!0)))}},v=function(a,b){var c=A.get(a)||[];c.push(b);A.set(a,c)},C=function(a,b){Yd.set(a,b);b=A.get(a)||[];for(var c=0;c<b.length;c++)b[c]();A.set(a,[])},B=function(a){var b=ae(M.location.href);if(D(a.url,"https://www.google-analytics.com/gtm/js?id="))return!0;if(a.query||0<=a.url.indexOf("?")||0<=a.path.indexOf("://"))return!1;if(a.host==b.host&&a.port==b.port)return!0;b="http:"==a.protocol?80:443;return"www.google-analytics.com"==
|
52 |
+
a.host&&(a.port||b)==b&&D(a.path,"/plugins/")?!0:!1},ae=function(a){function b(a){var b=(a.hostname||"").split(":")[0].toLowerCase(),c=(a.protocol||"").toLowerCase();c=1*a.port||("http:"==c?80:"https:"==c?443:"");a=a.pathname||"";D(a,"/")||(a="/"+a);return[b,""+c,a]}var c=M.createElement("a");c.href=M.location.href;var d=(c.protocol||"").toLowerCase(),e=b(c),g=c.search||"",ca=d+"//"+e[0]+(e[1]?":"+e[1]:"");D(a,"//")?a=d+a:D(a,"/")?a=ca+a:!a||D(a,"?")?a=ca+e[2]+(a||g):0>a.split("/")[0].indexOf(":")&&
|
53 |
+
(a=ca+e[2].substring(0,e[2].lastIndexOf("/"))+"/"+a);c.href=a;d=b(c);return{protocol:(c.protocol||"").toLowerCase(),host:d[0],port:d[1],path:d[2],query:c.search||"",url:a||""}};var Z={ga:function(){Z.f=[]}};Z.ga();Z.D=function(a){var b=Z.J.apply(Z,arguments);b=Z.f.concat(b);for(Z.f=[];0<b.length&&!Z.v(b[0])&&!(b.shift(),0<Z.f.length););Z.f=Z.f.concat(b)};Z.J=function(a){for(var b=[],c=0;c<arguments.length;c++)try{var d=new sc(arguments[c]);d.g?C(d.a[0],d.a[1]):(d.i&&(d.ha=y(d.c,d.a[0],d.X,d.W)),b.push(d))}catch(e){}return b};
|
54 |
+
Z.v=function(a){try{if(a.u)a.u.call(O,N.j("t0"));else{var b=a.c==gb?N:N.j(a.c);if(a.A){if("t0"==a.c&&(b=N.create.apply(N,a.a),null===b))return!0}else if(a.ba)N.remove(a.c);else if(b)if(a.i){if(a.ha&&(a.ha=y(a.c,a.a[0],a.X,a.W)),!u(a.a[0],b,a.W))return!0}else if(a.K){var c=a.C,d=a.a,e=b.plugins_.get(a.K);e[c].apply(e,d)}else b[a.C].apply(b,a.a)}}catch(g){}};var N=function(a){J(1);Z.D.apply(Z,[arguments])};N.h={};N.P=[];N.L=0;N.answer=42;var uc=[Na,W,V];
|
55 |
+
N.create=function(a){var b=za(uc,[].slice.call(arguments));b[V]||(b[V]="t0");var c=""+b[V];if(N.h[c])return N.h[c];a:{if(b[Kd]){J(67);if(b[ac]&&"cookie"!=b[ac]){var d=!1;break a}if(void 0!==Ab)b[Q]||(b[Q]=Ab);else{b:{d=String(b[W]||xa());var e=String(b[Yb]||"/"),g=Ca(String(b[U]||"_ga"));d=na(g,d,e);if(!d||jd.test(d))d=!0;else if(d=Ca("AMP_TOKEN"),0==d.length)d=!0;else{if(1==d.length&&(d=decodeURIComponent(d[0]),"$RETRIEVING"==d||"$OPT_OUT"==d||"$ERROR"==d||"$NOT_FOUND"==d)){d=!0;break b}d=!1}}if(d&&
|
56 |
+
tc(ic,String(b[Na]))){d=!0;break a}}}d=!1}if(d)return null;b=new pc(b);N.h[c]=b;N.P.push(b);return b};N.remove=function(a){for(var b=0;b<N.P.length;b++)if(N.P[b].get(V)==a){N.P.splice(b,1);N.h[a]=null;break}};N.j=function(a){return N.h[a]};N.getAll=function(){return N.P.slice(0)};
|
57 |
+
N.N=function(){"ga"!=gb&&J(49);var a=O[gb];if(!a||42!=a.answer){N.L=a&&a.l;N.loaded=!0;var b=O[gb]=N;X("create",b,b.create);X("remove",b,b.remove);X("getByName",b,b.j,5);X("getAll",b,b.getAll,6);b=pc.prototype;X("get",b,b.get,7);X("set",b,b.set,4);X("send",b,b.send);X("requireSync",b,b.ma);b=Ya.prototype;X("get",b,b.get);X("set",b,b.set);if("https:"!=M.location.protocol&&!Ba){a:{b=M.getElementsByTagName("script");for(var c=0;c<b.length&&100>c;c++){var d=b[c].src;if(d&&0==d.indexOf("https://www.google-analytics.com/analytics")){b=
|
58 |
+
!0;break a}}b=!1}b&&(Ba=!0)}(O.gaplugins=O.gaplugins||{}).Linker=Dc;b=Dc.prototype;C("linker",Dc);X("decorate",b,b.ca,20);X("autoLink",b,b.S,25);C("displayfeatures",fd);C("adfeatures",fd);a=a&&a.q;ka(a)?Z.D.apply(N,a):J(50)}};N.da=function(){for(var a=N.getAll(),b=0;b<a.length;b++)a[b].get(V)};var da=N.N,Nd=O[gb];Nd&&Nd.r?da():z(da);z(function(){Z.D(["provide","render",ua])});function La(a){var b=1,c;if(a)for(b=0,c=a.length-1;0<=c;c--){var d=a.charCodeAt(c);b=(b<<6&268435455)+d+(d<<14);d=b&266338304;b=0!=d?b^d>>21:b}return b};})(window);
|
components/ga-cache/includes/class.plugin.php
CHANGED
@@ -19,7 +19,7 @@
|
|
19 |
|
20 |
}
|
21 |
} else {
|
22 |
-
class WGA_PluginFactory extends
|
23 |
|
24 |
}
|
25 |
}
|
@@ -28,7 +28,7 @@
|
|
28 |
class WGA_Plugin extends WGA_PluginFactory {
|
29 |
|
30 |
/**
|
31 |
-
* @var
|
32 |
*/
|
33 |
private static $app;
|
34 |
|
@@ -37,6 +37,8 @@
|
|
37 |
*/
|
38 |
private $as_addon;
|
39 |
|
|
|
|
|
40 |
/**
|
41 |
* @param string $plugin_path
|
42 |
* @param array $data
|
@@ -46,12 +48,12 @@
|
|
46 |
{
|
47 |
$this->as_addon = isset($data['as_addon']);
|
48 |
|
|
|
|
|
49 |
if( $this->as_addon ) {
|
50 |
-
$plugin_parent = isset($data['plugin_parent'])
|
51 |
-
? $data['plugin_parent']
|
52 |
-
: null;
|
53 |
|
54 |
-
if( !($plugin_parent instanceof
|
55 |
throw new Exception('An invalid instance of the class was passed.');
|
56 |
}
|
57 |
|
@@ -64,7 +66,6 @@
|
|
64 |
parent::__construct($plugin_path, $data);
|
65 |
}
|
66 |
|
67 |
-
$this->setTextDomain();
|
68 |
$this->setModules();
|
69 |
|
70 |
$this->globalScripts();
|
@@ -73,46 +74,45 @@
|
|
73 |
$this->initActivation();
|
74 |
$this->adminScripts();
|
75 |
}
|
|
|
|
|
76 |
}
|
77 |
|
78 |
/**
|
79 |
-
* @return
|
80 |
*/
|
81 |
public static function app()
|
82 |
{
|
83 |
return self::$app;
|
84 |
}
|
85 |
|
86 |
-
|
87 |
-
protected function setTextDomain()
|
88 |
{
|
89 |
-
|
90 |
-
//load_plugin_textdomain('simple-google-analytics', false, dirname(WCL_PLUGIN_BASE) . '/languages/');
|
91 |
-
|
92 |
-
$domain = 'simple-google-analytics';
|
93 |
-
$locale = apply_filters('plugin_locale', is_admin()
|
94 |
-
? get_user_locale()
|
95 |
-
: get_locale(), $domain);
|
96 |
-
$mofile = $domain . '-' . $locale . '.mo';
|
97 |
-
|
98 |
-
if( !load_textdomain($domain, WGA_PLUGIN_DIR . '/languages/' . $mofile) ) {
|
99 |
-
load_muplugin_textdomain($domain);
|
100 |
-
}
|
101 |
}
|
102 |
|
103 |
protected function setModules()
|
104 |
{
|
105 |
if( !$this->as_addon ) {
|
106 |
self::app()->load(array(
|
107 |
-
array('libs/factory/bootstrap', '
|
108 |
-
array('libs/factory/forms', '
|
109 |
-
array('libs/factory/pages', '
|
110 |
-
array('libs/factory/notices', '
|
111 |
-
array('libs/factory/clearfy', '
|
112 |
|
113 |
));
|
114 |
}
|
115 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
116 |
|
117 |
protected function initActivation()
|
118 |
{
|
@@ -125,6 +125,10 @@
|
|
125 |
if( $this->as_addon ) {
|
126 |
return;
|
127 |
}
|
|
|
|
|
|
|
|
|
128 |
self::app()->registerPage('WGA_CachePage', WGA_PLUGIN_DIR . '/admin/pages/ga_cache.php');
|
129 |
self::app()->registerPage('WGA_MoreFeaturesPage', WGA_PLUGIN_DIR . '/admin/pages/more-features.php');
|
130 |
}
|
@@ -143,4 +147,4 @@
|
|
143 |
new WGA_ConfigGACache(self::$app);
|
144 |
}
|
145 |
}
|
146 |
-
}
|
19 |
|
20 |
}
|
21 |
} else {
|
22 |
+
class WGA_PluginFactory extends Wbcr_Factory409_Plugin {
|
23 |
|
24 |
}
|
25 |
}
|
28 |
class WGA_Plugin extends WGA_PluginFactory {
|
29 |
|
30 |
/**
|
31 |
+
* @var Wbcr_Factory409_Plugin
|
32 |
*/
|
33 |
private static $app;
|
34 |
|
37 |
*/
|
38 |
private $as_addon;
|
39 |
|
40 |
+
private $network_active;
|
41 |
+
|
42 |
/**
|
43 |
* @param string $plugin_path
|
44 |
* @param array $data
|
48 |
{
|
49 |
$this->as_addon = isset($data['as_addon']);
|
50 |
|
51 |
+
$this->network_active = (is_multisite() && array_key_exists(WGA_PLUGIN_BASE, (array)get_site_option('active_sitewide_plugins')));
|
52 |
+
|
53 |
if( $this->as_addon ) {
|
54 |
+
$plugin_parent = isset($data['plugin_parent']) ? $data['plugin_parent'] : null;
|
|
|
|
|
55 |
|
56 |
+
if( !($plugin_parent instanceof Wbcr_Factory409_Plugin) ) {
|
57 |
throw new Exception('An invalid instance of the class was passed.');
|
58 |
}
|
59 |
|
66 |
parent::__construct($plugin_path, $data);
|
67 |
}
|
68 |
|
|
|
69 |
$this->setModules();
|
70 |
|
71 |
$this->globalScripts();
|
74 |
$this->initActivation();
|
75 |
$this->adminScripts();
|
76 |
}
|
77 |
+
|
78 |
+
add_action('plugins_loaded', array($this, 'pluginsLoaded'));
|
79 |
}
|
80 |
|
81 |
/**
|
82 |
+
* @return Wbcr_Factory409_Plugin
|
83 |
*/
|
84 |
public static function app()
|
85 |
{
|
86 |
return self::$app;
|
87 |
}
|
88 |
|
89 |
+
public function pluginsLoaded()
|
|
|
90 |
{
|
91 |
+
self::app()->setTextDomain('simple-google-analytics', WGA_PLUGIN_DIR);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
92 |
}
|
93 |
|
94 |
protected function setModules()
|
95 |
{
|
96 |
if( !$this->as_addon ) {
|
97 |
self::app()->load(array(
|
98 |
+
array('libs/factory/bootstrap', 'factory_bootstrap_409', 'admin'),
|
99 |
+
array('libs/factory/forms', 'factory_forms_410', 'admin'),
|
100 |
+
array('libs/factory/pages', 'factory_pages_410', 'admin'),
|
101 |
+
array('libs/factory/notices', 'factory_notices_407', 'admin'),
|
102 |
+
array('libs/factory/clearfy', 'factory_clearfy_206', 'all')
|
103 |
|
104 |
));
|
105 |
}
|
106 |
}
|
107 |
+
|
108 |
+
public function isNetworkActive()
|
109 |
+
{
|
110 |
+
if( $this->network_active ) {
|
111 |
+
return true;
|
112 |
+
}
|
113 |
+
|
114 |
+
return false;
|
115 |
+
}
|
116 |
|
117 |
protected function initActivation()
|
118 |
{
|
125 |
if( $this->as_addon ) {
|
126 |
return;
|
127 |
}
|
128 |
+
|
129 |
+
if( $this->isNetworkActive() and !is_network_admin() ) {
|
130 |
+
return;
|
131 |
+
}
|
132 |
self::app()->registerPage('WGA_CachePage', WGA_PLUGIN_DIR . '/admin/pages/ga_cache.php');
|
133 |
self::app()->registerPage('WGA_MoreFeaturesPage', WGA_PLUGIN_DIR . '/admin/pages/more-features.php');
|
134 |
}
|
147 |
new WGA_ConfigGACache(self::$app);
|
148 |
}
|
149 |
}
|
150 |
+
}
|
components/ga-cache/includes/classes/class.configurate-ga.php
CHANGED
@@ -11,13 +11,13 @@
|
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
-
class WGA_ConfigGACache extends
|
15 |
|
16 |
|
17 |
public function registerActionsAndFilters()
|
18 |
{
|
19 |
|
20 |
-
if( $this->
|
21 |
add_filter('cron_schedules', array($this, 'cronAdditions'));
|
22 |
|
23 |
// Load update script to schedule in wp_cron.
|
@@ -57,7 +57,7 @@
|
|
57 |
|
58 |
private function addGoogleAnaliticsScript()
|
59 |
{
|
60 |
-
$ga_tracking_id = $this->
|
61 |
|
62 |
if( !empty($ga_tracking_id) ) {
|
63 |
$local_ga_file = WGA_PLUGIN_DIR . '/cache/local-ga.js';
|
@@ -68,8 +68,8 @@
|
|
68 |
ob_end_clean();
|
69 |
}
|
70 |
|
71 |
-
$ga_script_position = $this->
|
72 |
-
$ga_enqueue_order = $this->
|
73 |
|
74 |
switch( $ga_script_position ) {
|
75 |
case 'header':
|
@@ -86,17 +86,17 @@
|
|
86 |
*/
|
87 |
public function printGoogleAnalitics()
|
88 |
{
|
89 |
-
$ga_tracking_id = $this->
|
90 |
-
$ga_track_admin = $this->
|
91 |
|
92 |
// If user is admin we don't want to render the tracking code, when option is disabled.
|
93 |
if( empty($ga_tracking_id) || (current_user_can('manage_options') && (!$ga_track_admin)) ) {
|
94 |
return;
|
95 |
}
|
96 |
|
97 |
-
$ga_adjusted_bounce_rate = $this->
|
98 |
-
$ga_anonymize_ip = $this->
|
99 |
-
$ga_caos_disable_display_features = $this->
|
100 |
|
101 |
echo "<!-- Google Analytics Local by " . $this->plugin->getPluginTitle() . " -->" . PHP_EOL;
|
102 |
|
@@ -126,4 +126,4 @@
|
|
126 |
|
127 |
echo "<!-- end Google Analytics Local by " . $this->plugin->getPluginTitle() . " -->" . PHP_EOL;
|
128 |
}
|
129 |
-
}
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
+
class WGA_ConfigGACache extends Wbcr_FactoryClearfy206_Configurate {
|
15 |
|
16 |
|
17 |
public function registerActionsAndFilters()
|
18 |
{
|
19 |
|
20 |
+
if( $this->getPopulateOption('ga_cache') ) {
|
21 |
add_filter('cron_schedules', array($this, 'cronAdditions'));
|
22 |
|
23 |
// Load update script to schedule in wp_cron.
|
57 |
|
58 |
private function addGoogleAnaliticsScript()
|
59 |
{
|
60 |
+
$ga_tracking_id = $this->getPopulateOption('ga_tracking_id');
|
61 |
|
62 |
if( !empty($ga_tracking_id) ) {
|
63 |
$local_ga_file = WGA_PLUGIN_DIR . '/cache/local-ga.js';
|
68 |
ob_end_clean();
|
69 |
}
|
70 |
|
71 |
+
$ga_script_position = $this->getPopulateOption('ga_script_position', 'footer');
|
72 |
+
$ga_enqueue_order = $this->getPopulateOption('ga_enqueue_order', 0);
|
73 |
|
74 |
switch( $ga_script_position ) {
|
75 |
case 'header':
|
86 |
*/
|
87 |
public function printGoogleAnalitics()
|
88 |
{
|
89 |
+
$ga_tracking_id = $this->getPopulateOption('ga_tracking_id');
|
90 |
+
$ga_track_admin = $this->getPopulateOption('ga_track_admin');
|
91 |
|
92 |
// If user is admin we don't want to render the tracking code, when option is disabled.
|
93 |
if( empty($ga_tracking_id) || (current_user_can('manage_options') && (!$ga_track_admin)) ) {
|
94 |
return;
|
95 |
}
|
96 |
|
97 |
+
$ga_adjusted_bounce_rate = $this->getPopulateOption('ga_adjusted_bounce_rate', 0);
|
98 |
+
$ga_anonymize_ip = $this->getPopulateOption('ga_anonymize_ip', false);
|
99 |
+
$ga_caos_disable_display_features = $this->getPopulateOption('ga_caos_disable_display_features', false);
|
100 |
|
101 |
echo "<!-- Google Analytics Local by " . $this->plugin->getPluginTitle() . " -->" . PHP_EOL;
|
102 |
|
126 |
|
127 |
echo "<!-- end Google Analytics Local by " . $this->plugin->getPluginTitle() . " -->" . PHP_EOL;
|
128 |
}
|
129 |
+
}
|
components/ga-cache/languages/simple-google-analytics-nl_BE.po
CHANGED
@@ -1,243 +1,243 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: Clearfy\n"
|
4 |
-
"POT-Creation-Date: 2018-09-06 18:33+0300\n"
|
5 |
-
"PO-Revision-Date: \n"
|
6 |
-
"Last-Translator: \n"
|
7 |
-
"Language-Team: \n"
|
8 |
-
"Language: nl_BE\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"X-Generator: Poedit 2.1.1\n"
|
13 |
-
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
14 |
-
"X-Generator: Poedit 2.1.1\n"
|
15 |
-
"X-Poedit-Basepath: ..\n"
|
16 |
-
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
17 |
-
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
18 |
-
"X-Poedit-SourceCharset: UTF-8\n"
|
19 |
-
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
20 |
-
"X-Poedit-SearchPath-0: .\n"
|
21 |
-
"X-Poedit-SearchPathExcluded-0: libs\n"
|
22 |
-
"X-Poedit-SearchPathExcluded-1: components\n"
|
23 |
-
"X-Poedit-SearchPathExcluded-2: cache\n"
|
24 |
-
|
25 |
-
#: admin/boot.php:27
|
26 |
-
msgid "The <b>Simple Google Analytics</b> plugin has some major changes!"
|
27 |
-
msgstr ""
|
28 |
-
|
29 |
-
#: admin/boot.php:28
|
30 |
-
msgid ""
|
31 |
-
"Unfortunately, the old version of the plugin (2.2.2) is no longer supported, "
|
32 |
-
"but you still can download it from the WordPress repository in case if the new "
|
33 |
-
"release doesn’t work for you."
|
34 |
-
msgstr ""
|
35 |
-
|
36 |
-
#: admin/boot.php:29
|
37 |
-
msgid ""
|
38 |
-
"We’ve updated the code and fixed the compatibility issue for the latest "
|
39 |
-
"WordPress and PHP versions. We’ve also added additional feature of the Local "
|
40 |
-
"Google Analytics – this way your website will load faster. The plugin’s name "
|
41 |
-
"has been changed to Local Google Analytics, but all features remained the same."
|
42 |
-
msgstr ""
|
43 |
-
|
44 |
-
#: admin/boot.php:30
|
45 |
-
#, php-format
|
46 |
-
msgid ""
|
47 |
-
"Please, check <a href=\"%s\">plugin settings</a> and its performance on your "
|
48 |
-
"website. We do care about you and want to avoid any problems with the new "
|
49 |
-
"version."
|
50 |
-
msgstr ""
|
51 |
-
|
52 |
-
#: admin/boot.php:32
|
53 |
-
#, php-format
|
54 |
-
msgid ""
|
55 |
-
"We are aimed to pay more attention to the speed and security aspects of your "
|
56 |
-
"website. That’s why you should definitely try our basic WordPress optimization "
|
57 |
-
"plugin as well. Clearfy includes functionality of this plugin and has many "
|
58 |
-
"additional features for the website optimization:\n"
|
59 |
-
"<a href=\"%s\">Donwload Clearfy for free</a>"
|
60 |
-
msgstr ""
|
61 |
-
|
62 |
-
#: admin/boot.php:121 admin/options.php:30 admin/pages/ga_cache.php:49
|
63 |
-
msgid "Google Analytics Cache"
|
64 |
-
msgstr ""
|
65 |
-
|
66 |
-
#: admin/boot.php:127 admin/options.php:50
|
67 |
-
msgid "Google analytic Code"
|
68 |
-
msgstr "Google analytics Code"
|
69 |
-
|
70 |
-
#: admin/boot.php:132 admin/options.php:71
|
71 |
-
msgid "Use adjusted bounce rate?"
|
72 |
-
msgstr "Aangepast bounce percentage gebruiken?"
|
73 |
-
|
74 |
-
#: admin/boot.php:137 admin/options.php:80
|
75 |
-
msgid "Change enqueue order?"
|
76 |
-
msgstr "Enqueue volgorde wijzigen?"
|
77 |
-
|
78 |
-
#: admin/boot.php:142 admin/options.php:89
|
79 |
-
msgid "Disable all display features functionality?"
|
80 |
-
msgstr "Alle weergave functionaliteit uitschakelen?"
|
81 |
-
|
82 |
-
#: admin/boot.php:147 admin/options.php:98
|
83 |
-
msgid "Use Anonymize IP? (Required by law for some countries)"
|
84 |
-
msgstr "Gebruik anonimiseren IP? (Voor sommige landen wettelijk verplicht)"
|
85 |
-
|
86 |
-
#: admin/boot.php:152 admin/options.php:107 admin/options.php:109
|
87 |
-
msgid "Track logged in Administrators?"
|
88 |
-
msgstr "Track ingelogde Beheerders?"
|
89 |
-
|
90 |
-
#: admin/boot.php:157 admin/options.php:116
|
91 |
-
msgid "Remove script from wp-cron?"
|
92 |
-
msgstr "Verwijder script van wp-cron?"
|
93 |
-
|
94 |
-
#: admin/boot.php:185
|
95 |
-
msgid "Get ultimate plugin free"
|
96 |
-
msgstr "Krijg ultieme plugin gratis"
|
97 |
-
|
98 |
-
#: admin/options.php:23
|
99 |
-
msgid "<strong>Google Analytics cache</strong>."
|
100 |
-
msgstr "<strong>Google Analytics cache</strong>."
|
101 |
-
|
102 |
-
#: admin/options.php:23
|
103 |
-
msgid ""
|
104 |
-
"To improve Google Page Speed indicators Analytics caching is needed. However, "
|
105 |
-
"it can also slightly increase your website loading speed, because Analytics js "
|
106 |
-
"files will load locally. The second case that you might need these settings is "
|
107 |
-
"the usual Google Analytics connection to your website. You do not need to do "
|
108 |
-
"this with other plugins or insert the tracking code into your theme."
|
109 |
-
msgstr ""
|
110 |
-
"Om de pagina snelheid indicatoren van Google te verbeteren, is caching in "
|
111 |
-
"Analytics nodig. Het kan echter ook de laadsnelheid van uw website enigszins "
|
112 |
-
"verhogen, omdat de Analytics js bestanden lokaal worden geladen. Het tweede "
|
113 |
-
"geval waarvoor u deze instellingen nodig heeft, is de gebruikelijke Google "
|
114 |
-
"Analytics verbinding met uw website. U hoeft dit niet met andere plugins te "
|
115 |
-
"doen of de tracking code in uw thema in te voegen."
|
116 |
-
|
117 |
-
#: admin/options.php:32
|
118 |
-
msgid ""
|
119 |
-
"If you enable this option, the plugin will begin to save a local copy of "
|
120 |
-
"Google Analytics to speed up the loading of your website and improve Google "
|
121 |
-
"Page Speed."
|
122 |
-
msgstr ""
|
123 |
-
"Als u deze optie inschakelt, zal de plugin beginnen met het opslaan van een "
|
124 |
-
"lokale kopie van Google Analytics om het laden van uw website te versnellen en "
|
125 |
-
"de Google Page Speed te verbeteren."
|
126 |
-
|
127 |
-
#: admin/options.php:32
|
128 |
-
msgid ""
|
129 |
-
"ATTENTION! Before using this option, remove the previously installed Google "
|
130 |
-
"Analytics code inside your theme or plugins associated with this feature!"
|
131 |
-
msgstr ""
|
132 |
-
"AANDACHT! Voordat u deze optie gebruikt, verwijdert u de eerder geïnstalleerde "
|
133 |
-
"Google Analytics code in uw thema of plugins die aan deze functie zijn "
|
134 |
-
"gekoppeld!"
|
135 |
-
|
136 |
-
#: admin/options.php:52
|
137 |
-
msgid "Set the Google Analytics tracking code."
|
138 |
-
msgstr "Stel de Google Analytics tracking code in."
|
139 |
-
|
140 |
-
#: admin/options.php:63
|
141 |
-
msgid "Save GA in"
|
142 |
-
msgstr "Bewaar GA in"
|
143 |
-
|
144 |
-
#: admin/options.php:64
|
145 |
-
msgid "Select location for the Google Analytics code."
|
146 |
-
msgstr "Selecteer een locatie voor de Google Analytics code."
|
147 |
-
|
148 |
-
#: admin/options.php:74
|
149 |
-
msgid ""
|
150 |
-
"Essentially, you set up an event which is triggered after a user spends a "
|
151 |
-
"certain amount of time on the landing page, telling Google Analytics not to "
|
152 |
-
"count these users as bounces. A user may come to your website, find all of the "
|
153 |
-
"information they need (a phone number, for example) and then leave the site "
|
154 |
-
"without visiting another page. Without adjusted bounce rate, such a user would "
|
155 |
-
"be considered a bounce, even though they had a successful experience. By "
|
156 |
-
"defining a time limit after which you can consider a user to be \"engaged,\" "
|
157 |
-
"that user would no longer count as a bounce, and you'd get a more accurate "
|
158 |
-
"idea of whether they found what they were looking for."
|
159 |
-
msgstr ""
|
160 |
-
"In essentie stelt u een gebeurtenis in die wordt geactiveerd nadat een "
|
161 |
-
"gebruiker een bepaalde hoeveelheid tijd op de bestemmingspagina heeft "
|
162 |
-
"doorgebracht, waarmee u Google Analytics vertelt om deze gebruikers niet als "
|
163 |
-
"bounces te tellen. Een gebruiker kan naar uw website komen, alle benodigde "
|
164 |
-
"informatie vinden (bijvoorbeeld een telefoonnummer) en vervolgens de website "
|
165 |
-
"verlaten zonder een andere pagina te bezoeken. Zonder aangepast bounce "
|
166 |
-
"percentage zou een dergelijke gebruiker als een bounce worden beschouwd, ook "
|
167 |
-
"al hadden ze een succesvolle ervaring. Door een tijdslimiet te definiëren "
|
168 |
-
"waarna u kunt concluderen dat een gebruiker \"geëngageerd\" is, telt die "
|
169 |
-
"gebruiker niet mee als een bounce en krijgt u een beter beeld van het feit of "
|
170 |
-
"ze hebben gevonden waarnaar ze op zoek waren."
|
171 |
-
|
172 |
-
#: admin/options.php:83
|
173 |
-
msgid ""
|
174 |
-
"By default, Google Analytics code is loaded before other scripts and "
|
175 |
-
"javasscript code, but if you set the value to 100, the GA code will be loaded "
|
176 |
-
"after all other scripts. By changing the priority, you can set code position "
|
177 |
-
"on the page."
|
178 |
-
msgstr ""
|
179 |
-
"Standaard wordt de Google Analytics code geladen voor andere scripts en "
|
180 |
-
"javasscript code, maar als u de waarde instelt op 100, wordt de GA code "
|
181 |
-
"geladen na alle andere scripts. Door de prioriteit te wijzigen, kunt u de "
|
182 |
-
"codepositie op de pagina instellen."
|
183 |
-
|
184 |
-
#: admin/options.php:91
|
185 |
-
#, php-format
|
186 |
-
msgid "Disable all <a href=\"%s\">display features functionality?</a>"
|
187 |
-
msgstr "Alle <a href=\"%s\">van weergave functies uitschakelen?</a>"
|
188 |
-
|
189 |
-
#: admin/options.php:100
|
190 |
-
#, php-format
|
191 |
-
msgid "Use <a href=\"%s\">Anonymize IP?</a> (Required by law for some countries)"
|
192 |
-
msgstr ""
|
193 |
-
"Gebruik <a href=\"%s\">Anoniem maken van IP?</a> (Wettelijk vereist voor "
|
194 |
-
"sommige landen)"
|
195 |
-
|
196 |
-
#: admin/options.php:118
|
197 |
-
msgid ""
|
198 |
-
"Clearfy creates a cron job to daily update Google Analytics cache scripts. "
|
199 |
-
"After enabling this option, the plugin will not update Google Analytics cache "
|
200 |
-
"file. Do not use this option if you do not understand why you need it!"
|
201 |
-
msgstr ""
|
202 |
-
"Clearfy maakt een cron-taak om dagelijks de cache scripts van Google Analytics "
|
203 |
-
"bij te werken. Nadat u deze optie hebt ingeschakeld, werkt de plugin het cache "
|
204 |
-
"bestand van Google Analytics niet bij. Gebruik deze optie niet als u niet "
|
205 |
-
"begrijpt waarom u het nodig hebt!"
|
206 |
-
|
207 |
-
#: admin/pages/ga_cache.php:33
|
208 |
-
msgid "Local Google Analytics"
|
209 |
-
msgstr ""
|
210 |
-
|
211 |
-
#: admin/pages/ga_cache.php:50
|
212 |
-
msgid "General"
|
213 |
-
msgstr "Algemeen"
|
214 |
-
|
215 |
-
#: includes/classes/class.configurate-ga.php:37
|
216 |
-
msgid "Once Weekly"
|
217 |
-
msgstr "Eénmaal per week"
|
218 |
-
|
219 |
-
#: includes/classes/class.configurate-ga.php:42
|
220 |
-
msgid "Twice Monthly"
|
221 |
-
msgstr "Tweemaal per maand"
|
222 |
-
|
223 |
-
#: includes/classes/class.configurate-ga.php:47
|
224 |
-
msgid "Once Monthly"
|
225 |
-
msgstr "Eénmaal per maand"
|
226 |
-
|
227 |
-
#: simple_google_analytics.php:32
|
228 |
-
msgid ""
|
229 |
-
"We found that you have the \"Clearfy - disable unused features\" plugin "
|
230 |
-
"installed, this plugin already has Google Analytics cache functions, so you "
|
231 |
-
"can deactivate plugin \"Google Analytics Cache\"!"
|
232 |
-
msgstr ""
|
233 |
-
|
234 |
-
#: simple_google_analytics.php:40
|
235 |
-
msgid ""
|
236 |
-
"You use the old version of Wordpress to use the <b>Webcraftic Local Google "
|
237 |
-
"Analytics (Old name: Simple Google Analytics)</b> plugin, you must upgrade "
|
238 |
-
"your Wordpress to the minimum version 4.2!"
|
239 |
-
msgstr ""
|
240 |
-
|
241 |
-
#: simple_google_analytics.php:65
|
242 |
-
msgid "Webcraftic Local Google Analytics"
|
243 |
msgstr ""
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: Clearfy\n"
|
4 |
+
"POT-Creation-Date: 2018-09-06 18:33+0300\n"
|
5 |
+
"PO-Revision-Date: \n"
|
6 |
+
"Last-Translator: \n"
|
7 |
+
"Language-Team: \n"
|
8 |
+
"Language: nl_BE\n"
|
9 |
+
"MIME-Version: 1.0\n"
|
10 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
+
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"X-Generator: Poedit 2.1.1\n"
|
13 |
+
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
14 |
+
"X-Generator: Poedit 2.1.1\n"
|
15 |
+
"X-Poedit-Basepath: ..\n"
|
16 |
+
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
17 |
+
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
18 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
19 |
+
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
20 |
+
"X-Poedit-SearchPath-0: .\n"
|
21 |
+
"X-Poedit-SearchPathExcluded-0: libs\n"
|
22 |
+
"X-Poedit-SearchPathExcluded-1: components\n"
|
23 |
+
"X-Poedit-SearchPathExcluded-2: cache\n"
|
24 |
+
|
25 |
+
#: admin/boot.php:27
|
26 |
+
msgid "The <b>Simple Google Analytics</b> plugin has some major changes!"
|
27 |
+
msgstr ""
|
28 |
+
|
29 |
+
#: admin/boot.php:28
|
30 |
+
msgid ""
|
31 |
+
"Unfortunately, the old version of the plugin (2.2.2) is no longer supported, "
|
32 |
+
"but you still can download it from the WordPress repository in case if the new "
|
33 |
+
"release doesn’t work for you."
|
34 |
+
msgstr ""
|
35 |
+
|
36 |
+
#: admin/boot.php:29
|
37 |
+
msgid ""
|
38 |
+
"We’ve updated the code and fixed the compatibility issue for the latest "
|
39 |
+
"WordPress and PHP versions. We’ve also added additional feature of the Local "
|
40 |
+
"Google Analytics – this way your website will load faster. The plugin’s name "
|
41 |
+
"has been changed to Local Google Analytics, but all features remained the same."
|
42 |
+
msgstr ""
|
43 |
+
|
44 |
+
#: admin/boot.php:30
|
45 |
+
#, php-format
|
46 |
+
msgid ""
|
47 |
+
"Please, check <a href=\"%s\">plugin settings</a> and its performance on your "
|
48 |
+
"website. We do care about you and want to avoid any problems with the new "
|
49 |
+
"version."
|
50 |
+
msgstr ""
|
51 |
+
|
52 |
+
#: admin/boot.php:32
|
53 |
+
#, php-format
|
54 |
+
msgid ""
|
55 |
+
"We are aimed to pay more attention to the speed and security aspects of your "
|
56 |
+
"website. That’s why you should definitely try our basic WordPress optimization "
|
57 |
+
"plugin as well. Clearfy includes functionality of this plugin and has many "
|
58 |
+
"additional features for the website optimization:\n"
|
59 |
+
"<a href=\"%s\">Donwload Clearfy for free</a>"
|
60 |
+
msgstr ""
|
61 |
+
|
62 |
+
#: admin/boot.php:121 admin/options.php:30 admin/pages/ga_cache.php:49
|
63 |
+
msgid "Google Analytics Cache"
|
64 |
+
msgstr ""
|
65 |
+
|
66 |
+
#: admin/boot.php:127 admin/options.php:50
|
67 |
+
msgid "Google analytic Code"
|
68 |
+
msgstr "Google analytics Code"
|
69 |
+
|
70 |
+
#: admin/boot.php:132 admin/options.php:71
|
71 |
+
msgid "Use adjusted bounce rate?"
|
72 |
+
msgstr "Aangepast bounce percentage gebruiken?"
|
73 |
+
|
74 |
+
#: admin/boot.php:137 admin/options.php:80
|
75 |
+
msgid "Change enqueue order?"
|
76 |
+
msgstr "Enqueue volgorde wijzigen?"
|
77 |
+
|
78 |
+
#: admin/boot.php:142 admin/options.php:89
|
79 |
+
msgid "Disable all display features functionality?"
|
80 |
+
msgstr "Alle weergave functionaliteit uitschakelen?"
|
81 |
+
|
82 |
+
#: admin/boot.php:147 admin/options.php:98
|
83 |
+
msgid "Use Anonymize IP? (Required by law for some countries)"
|
84 |
+
msgstr "Gebruik anonimiseren IP? (Voor sommige landen wettelijk verplicht)"
|
85 |
+
|
86 |
+
#: admin/boot.php:152 admin/options.php:107 admin/options.php:109
|
87 |
+
msgid "Track logged in Administrators?"
|
88 |
+
msgstr "Track ingelogde Beheerders?"
|
89 |
+
|
90 |
+
#: admin/boot.php:157 admin/options.php:116
|
91 |
+
msgid "Remove script from wp-cron?"
|
92 |
+
msgstr "Verwijder script van wp-cron?"
|
93 |
+
|
94 |
+
#: admin/boot.php:185
|
95 |
+
msgid "Get ultimate plugin free"
|
96 |
+
msgstr "Krijg ultieme plugin gratis"
|
97 |
+
|
98 |
+
#: admin/options.php:23
|
99 |
+
msgid "<strong>Google Analytics cache</strong>."
|
100 |
+
msgstr "<strong>Google Analytics cache</strong>."
|
101 |
+
|
102 |
+
#: admin/options.php:23
|
103 |
+
msgid ""
|
104 |
+
"To improve Google Page Speed indicators Analytics caching is needed. However, "
|
105 |
+
"it can also slightly increase your website loading speed, because Analytics js "
|
106 |
+
"files will load locally. The second case that you might need these settings is "
|
107 |
+
"the usual Google Analytics connection to your website. You do not need to do "
|
108 |
+
"this with other plugins or insert the tracking code into your theme."
|
109 |
+
msgstr ""
|
110 |
+
"Om de pagina snelheid indicatoren van Google te verbeteren, is caching in "
|
111 |
+
"Analytics nodig. Het kan echter ook de laadsnelheid van uw website enigszins "
|
112 |
+
"verhogen, omdat de Analytics js bestanden lokaal worden geladen. Het tweede "
|
113 |
+
"geval waarvoor u deze instellingen nodig heeft, is de gebruikelijke Google "
|
114 |
+
"Analytics verbinding met uw website. U hoeft dit niet met andere plugins te "
|
115 |
+
"doen of de tracking code in uw thema in te voegen."
|
116 |
+
|
117 |
+
#: admin/options.php:32
|
118 |
+
msgid ""
|
119 |
+
"If you enable this option, the plugin will begin to save a local copy of "
|
120 |
+
"Google Analytics to speed up the loading of your website and improve Google "
|
121 |
+
"Page Speed."
|
122 |
+
msgstr ""
|
123 |
+
"Als u deze optie inschakelt, zal de plugin beginnen met het opslaan van een "
|
124 |
+
"lokale kopie van Google Analytics om het laden van uw website te versnellen en "
|
125 |
+
"de Google Page Speed te verbeteren."
|
126 |
+
|
127 |
+
#: admin/options.php:32
|
128 |
+
msgid ""
|
129 |
+
"ATTENTION! Before using this option, remove the previously installed Google "
|
130 |
+
"Analytics code inside your theme or plugins associated with this feature!"
|
131 |
+
msgstr ""
|
132 |
+
"AANDACHT! Voordat u deze optie gebruikt, verwijdert u de eerder geïnstalleerde "
|
133 |
+
"Google Analytics code in uw thema of plugins die aan deze functie zijn "
|
134 |
+
"gekoppeld!"
|
135 |
+
|
136 |
+
#: admin/options.php:52
|
137 |
+
msgid "Set the Google Analytics tracking code."
|
138 |
+
msgstr "Stel de Google Analytics tracking code in."
|
139 |
+
|
140 |
+
#: admin/options.php:63
|
141 |
+
msgid "Save GA in"
|
142 |
+
msgstr "Bewaar GA in"
|
143 |
+
|
144 |
+
#: admin/options.php:64
|
145 |
+
msgid "Select location for the Google Analytics code."
|
146 |
+
msgstr "Selecteer een locatie voor de Google Analytics code."
|
147 |
+
|
148 |
+
#: admin/options.php:74
|
149 |
+
msgid ""
|
150 |
+
"Essentially, you set up an event which is triggered after a user spends a "
|
151 |
+
"certain amount of time on the landing page, telling Google Analytics not to "
|
152 |
+
"count these users as bounces. A user may come to your website, find all of the "
|
153 |
+
"information they need (a phone number, for example) and then leave the site "
|
154 |
+
"without visiting another page. Without adjusted bounce rate, such a user would "
|
155 |
+
"be considered a bounce, even though they had a successful experience. By "
|
156 |
+
"defining a time limit after which you can consider a user to be \"engaged,\" "
|
157 |
+
"that user would no longer count as a bounce, and you'd get a more accurate "
|
158 |
+
"idea of whether they found what they were looking for."
|
159 |
+
msgstr ""
|
160 |
+
"In essentie stelt u een gebeurtenis in die wordt geactiveerd nadat een "
|
161 |
+
"gebruiker een bepaalde hoeveelheid tijd op de bestemmingspagina heeft "
|
162 |
+
"doorgebracht, waarmee u Google Analytics vertelt om deze gebruikers niet als "
|
163 |
+
"bounces te tellen. Een gebruiker kan naar uw website komen, alle benodigde "
|
164 |
+
"informatie vinden (bijvoorbeeld een telefoonnummer) en vervolgens de website "
|
165 |
+
"verlaten zonder een andere pagina te bezoeken. Zonder aangepast bounce "
|
166 |
+
"percentage zou een dergelijke gebruiker als een bounce worden beschouwd, ook "
|
167 |
+
"al hadden ze een succesvolle ervaring. Door een tijdslimiet te definiëren "
|
168 |
+
"waarna u kunt concluderen dat een gebruiker \"geëngageerd\" is, telt die "
|
169 |
+
"gebruiker niet mee als een bounce en krijgt u een beter beeld van het feit of "
|
170 |
+
"ze hebben gevonden waarnaar ze op zoek waren."
|
171 |
+
|
172 |
+
#: admin/options.php:83
|
173 |
+
msgid ""
|
174 |
+
"By default, Google Analytics code is loaded before other scripts and "
|
175 |
+
"javasscript code, but if you set the value to 100, the GA code will be loaded "
|
176 |
+
"after all other scripts. By changing the priority, you can set code position "
|
177 |
+
"on the page."
|
178 |
+
msgstr ""
|
179 |
+
"Standaard wordt de Google Analytics code geladen voor andere scripts en "
|
180 |
+
"javasscript code, maar als u de waarde instelt op 100, wordt de GA code "
|
181 |
+
"geladen na alle andere scripts. Door de prioriteit te wijzigen, kunt u de "
|
182 |
+
"codepositie op de pagina instellen."
|
183 |
+
|
184 |
+
#: admin/options.php:91
|
185 |
+
#, php-format
|
186 |
+
msgid "Disable all <a href=\"%s\">display features functionality?</a>"
|
187 |
+
msgstr "Alle <a href=\"%s\">van weergave functies uitschakelen?</a>"
|
188 |
+
|
189 |
+
#: admin/options.php:100
|
190 |
+
#, php-format
|
191 |
+
msgid "Use <a href=\"%s\">Anonymize IP?</a> (Required by law for some countries)"
|
192 |
+
msgstr ""
|
193 |
+
"Gebruik <a href=\"%s\">Anoniem maken van IP?</a> (Wettelijk vereist voor "
|
194 |
+
"sommige landen)"
|
195 |
+
|
196 |
+
#: admin/options.php:118
|
197 |
+
msgid ""
|
198 |
+
"Clearfy creates a cron job to daily update Google Analytics cache scripts. "
|
199 |
+
"After enabling this option, the plugin will not update Google Analytics cache "
|
200 |
+
"file. Do not use this option if you do not understand why you need it!"
|
201 |
+
msgstr ""
|
202 |
+
"Clearfy maakt een cron-taak om dagelijks de cache scripts van Google Analytics "
|
203 |
+
"bij te werken. Nadat u deze optie hebt ingeschakeld, werkt de plugin het cache "
|
204 |
+
"bestand van Google Analytics niet bij. Gebruik deze optie niet als u niet "
|
205 |
+
"begrijpt waarom u het nodig hebt!"
|
206 |
+
|
207 |
+
#: admin/pages/ga_cache.php:33
|
208 |
+
msgid "Local Google Analytics"
|
209 |
+
msgstr ""
|
210 |
+
|
211 |
+
#: admin/pages/ga_cache.php:50
|
212 |
+
msgid "General"
|
213 |
+
msgstr "Algemeen"
|
214 |
+
|
215 |
+
#: includes/classes/class.configurate-ga.php:37
|
216 |
+
msgid "Once Weekly"
|
217 |
+
msgstr "Eénmaal per week"
|
218 |
+
|
219 |
+
#: includes/classes/class.configurate-ga.php:42
|
220 |
+
msgid "Twice Monthly"
|
221 |
+
msgstr "Tweemaal per maand"
|
222 |
+
|
223 |
+
#: includes/classes/class.configurate-ga.php:47
|
224 |
+
msgid "Once Monthly"
|
225 |
+
msgstr "Eénmaal per maand"
|
226 |
+
|
227 |
+
#: simple_google_analytics.php:32
|
228 |
+
msgid ""
|
229 |
+
"We found that you have the \"Clearfy - disable unused features\" plugin "
|
230 |
+
"installed, this plugin already has Google Analytics cache functions, so you "
|
231 |
+
"can deactivate plugin \"Google Analytics Cache\"!"
|
232 |
+
msgstr ""
|
233 |
+
|
234 |
+
#: simple_google_analytics.php:40
|
235 |
+
msgid ""
|
236 |
+
"You use the old version of Wordpress to use the <b>Webcraftic Local Google "
|
237 |
+
"Analytics (Old name: Simple Google Analytics)</b> plugin, you must upgrade "
|
238 |
+
"your Wordpress to the minimum version 4.2!"
|
239 |
+
msgstr ""
|
240 |
+
|
241 |
+
#: simple_google_analytics.php:65
|
242 |
+
msgid "Webcraftic Local Google Analytics"
|
243 |
msgstr ""
|
components/ga-cache/languages/simple-google-analytics-pt_BR.po
CHANGED
@@ -1,247 +1,247 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: clearfy\n"
|
4 |
-
"POT-Creation-Date: 2018-09-06 18:33+0300\n"
|
5 |
-
"PO-Revision-Date: 2018-09-06 18:33+0300\n"
|
6 |
-
"Last-Translator: alex.kovalevv@gmail.com <alex.kovalevv@gmail.com>\n"
|
7 |
-
"Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
|
8 |
-
"Language: pt_BR\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"X-Generator: Poedit 2.1.1\n"
|
13 |
-
"X-Poedit-Basepath: ..\n"
|
14 |
-
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
15 |
-
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
16 |
-
"X-Poedit-SourceCharset: UTF-8\n"
|
17 |
-
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
18 |
-
"X-Poedit-SearchPath-0: .\n"
|
19 |
-
"X-Poedit-SearchPathExcluded-0: libs\n"
|
20 |
-
"X-Poedit-SearchPathExcluded-1: components\n"
|
21 |
-
"X-Poedit-SearchPathExcluded-2: cache\n"
|
22 |
-
|
23 |
-
#: admin/boot.php:27
|
24 |
-
msgid "The <b>Simple Google Analytics</b> plugin has some major changes!"
|
25 |
-
msgstr ""
|
26 |
-
|
27 |
-
#: admin/boot.php:28
|
28 |
-
msgid ""
|
29 |
-
"Unfortunately, the old version of the plugin (2.2.2) is no longer supported, "
|
30 |
-
"but you still can download it from the WordPress repository in case if the "
|
31 |
-
"new release doesn’t work for you."
|
32 |
-
msgstr ""
|
33 |
-
|
34 |
-
#: admin/boot.php:29
|
35 |
-
msgid ""
|
36 |
-
"We’ve updated the code and fixed the compatibility issue for the latest "
|
37 |
-
"WordPress and PHP versions. We’ve also added additional feature of the Local "
|
38 |
-
"Google Analytics – this way your website will load faster. The plugin’s name "
|
39 |
-
"has been changed to Local Google Analytics, but all features remained the "
|
40 |
-
"same."
|
41 |
-
msgstr ""
|
42 |
-
|
43 |
-
#: admin/boot.php:30
|
44 |
-
#, php-format
|
45 |
-
msgid ""
|
46 |
-
"Please, check <a href=\"%s\">plugin settings</a> and its performance on your "
|
47 |
-
"website. We do care about you and want to avoid any problems with the new "
|
48 |
-
"version."
|
49 |
-
msgstr ""
|
50 |
-
|
51 |
-
#: admin/boot.php:32
|
52 |
-
#, php-format
|
53 |
-
msgid ""
|
54 |
-
"We are aimed to pay more attention to the speed and security aspects of your "
|
55 |
-
"website. That’s why you should definitely try our basic WordPress "
|
56 |
-
"optimization plugin as well. Clearfy includes functionality of this plugin "
|
57 |
-
"and has many additional features for the website optimization:\n"
|
58 |
-
"<a href=\"%s\">Donwload Clearfy for free</a>"
|
59 |
-
msgstr ""
|
60 |
-
|
61 |
-
#: admin/boot.php:121 admin/options.php:30 admin/pages/ga_cache.php:49
|
62 |
-
msgid "Google Analytics Cache"
|
63 |
-
msgstr "Cache analítico do Google"
|
64 |
-
|
65 |
-
#: admin/boot.php:127 admin/options.php:50
|
66 |
-
msgid "Google analytic Code"
|
67 |
-
msgstr "Código analítico do Google"
|
68 |
-
|
69 |
-
#: admin/boot.php:132 admin/options.php:71
|
70 |
-
msgid "Use adjusted bounce rate?"
|
71 |
-
msgstr "Use taxa de rejeição ajustada?"
|
72 |
-
|
73 |
-
#: admin/boot.php:137 admin/options.php:80
|
74 |
-
msgid "Change enqueue order?"
|
75 |
-
msgstr "Alterar ordem de enfileiramento?"
|
76 |
-
|
77 |
-
#: admin/boot.php:142 admin/options.php:89
|
78 |
-
msgid "Disable all display features functionality?"
|
79 |
-
msgstr "Desativar todas as funcionalidades dos recursos de exibição?"
|
80 |
-
|
81 |
-
#: admin/boot.php:147 admin/options.php:98
|
82 |
-
msgid "Use Anonymize IP? (Required by law for some countries)"
|
83 |
-
msgstr "Use Anonymize IP? (Obrigatório por lei para alguns países)"
|
84 |
-
|
85 |
-
#: admin/boot.php:152 admin/options.php:107 admin/options.php:109
|
86 |
-
msgid "Track logged in Administrators?"
|
87 |
-
msgstr "Track logado em Administradores?"
|
88 |
-
|
89 |
-
#: admin/boot.php:157 admin/options.php:116
|
90 |
-
msgid "Remove script from wp-cron?"
|
91 |
-
msgstr "Remover script do wp-cron?"
|
92 |
-
|
93 |
-
#: admin/boot.php:185
|
94 |
-
msgid "Get ultimate plugin free"
|
95 |
-
msgstr "Obtenha o melhor plugin grátis"
|
96 |
-
|
97 |
-
#: admin/options.php:23
|
98 |
-
msgid "<strong>Google Analytics cache</strong>."
|
99 |
-
msgstr "<strong>cache do Google Analytics</strong>."
|
100 |
-
|
101 |
-
#: admin/options.php:23
|
102 |
-
msgid ""
|
103 |
-
"To improve Google Page Speed indicators Analytics caching is needed. "
|
104 |
-
"However, it can also slightly increase your website loading speed, because "
|
105 |
-
"Analytics js files will load locally. The second case that you might need "
|
106 |
-
"these settings is the usual Google Analytics connection to your website. You "
|
107 |
-
"do not need to do this with other plugins or insert the tracking code into "
|
108 |
-
"your theme."
|
109 |
-
msgstr ""
|
110 |
-
"Para melhorar os indicadores do Google Page Speed, é necessário o "
|
111 |
-
"armazenamento em cache do Analytics. No entanto, também pode aumentar "
|
112 |
-
"ligeiramente a velocidade de carregamento do seu site, porque os arquivos do "
|
113 |
-
"Google Analytics js serão carregados localmente. O segundo caso em que você "
|
114 |
-
"pode precisar dessas configurações é a conexão normal do Google Analytics "
|
115 |
-
"com seu website. Você não precisa fazer isso com outros plug-ins ou inserir "
|
116 |
-
"o código de acompanhamento em seu tema."
|
117 |
-
|
118 |
-
#: admin/options.php:32
|
119 |
-
msgid ""
|
120 |
-
"If you enable this option, the plugin will begin to save a local copy of "
|
121 |
-
"Google Analytics to speed up the loading of your website and improve Google "
|
122 |
-
"Page Speed."
|
123 |
-
msgstr ""
|
124 |
-
"Se você ativar essa opção, o plug-in começará a salvar uma cópia local do "
|
125 |
-
"Google Analytics para acelerar o carregamento de seu website e melhorar a "
|
126 |
-
"velocidade da página do Google."
|
127 |
-
|
128 |
-
#: admin/options.php:32
|
129 |
-
msgid ""
|
130 |
-
"ATTENTION! Before using this option, remove the previously installed Google "
|
131 |
-
"Analytics code inside your theme or plugins associated with this feature!"
|
132 |
-
msgstr ""
|
133 |
-
"ATENÇÃO! Antes de usar essa opção, remova o código do Google Analytics "
|
134 |
-
"instalado anteriormente no seu tema ou plug-ins associados a esse recurso."
|
135 |
-
|
136 |
-
#: admin/options.php:52
|
137 |
-
msgid "Set the Google Analytics tracking code."
|
138 |
-
msgstr "Definir o código de acompanhamento do Google Analytics."
|
139 |
-
|
140 |
-
#: admin/options.php:63
|
141 |
-
msgid "Save GA in"
|
142 |
-
msgstr "Salvar o GA em"
|
143 |
-
|
144 |
-
#: admin/options.php:64
|
145 |
-
msgid "Select location for the Google Analytics code."
|
146 |
-
msgstr "Selecione o local para o código do Google Analytics."
|
147 |
-
|
148 |
-
#: admin/options.php:74
|
149 |
-
msgid ""
|
150 |
-
"Essentially, you set up an event which is triggered after a user spends a "
|
151 |
-
"certain amount of time on the landing page, telling Google Analytics not to "
|
152 |
-
"count these users as bounces. A user may come to your website, find all of "
|
153 |
-
"the information they need (a phone number, for example) and then leave the "
|
154 |
-
"site without visiting another page. Without adjusted bounce rate, such a "
|
155 |
-
"user would be considered a bounce, even though they had a successful "
|
156 |
-
"experience. By defining a time limit after which you can consider a user to "
|
157 |
-
"be \"engaged,\" that user would no longer count as a bounce, and you'd get a "
|
158 |
-
"more accurate idea of whether they found what they were looking for."
|
159 |
-
msgstr ""
|
160 |
-
"Essencialmente, você configura um evento que é acionado depois que um "
|
161 |
-
"usuário passa um determinado período de tempo na página de destino, dizendo "
|
162 |
-
"ao Google Analytics para não contabilizar esses usuários como rejeições. Um "
|
163 |
-
"usuário pode acessar seu site, encontrar todas as informações necessárias "
|
164 |
-
"(um número de telefone, por exemplo) e sair do site sem visitar outra "
|
165 |
-
"página. Sem a taxa de rejeição ajustada, esse usuário seria considerado uma "
|
166 |
-
"rejeição, mesmo que tivesse uma experiência bem-sucedida. Ao definir um "
|
167 |
-
"limite de tempo após o qual você pode considerar um usuário \"engajado\", "
|
168 |
-
"esse usuário não será mais considerado uma rejeição, e você terá uma ideia "
|
169 |
-
"mais precisa sobre se encontrou o que estava procurando."
|
170 |
-
|
171 |
-
#: admin/options.php:83
|
172 |
-
msgid ""
|
173 |
-
"By default, Google Analytics code is loaded before other scripts and "
|
174 |
-
"javasscript code, but if you set the value to 100, the GA code will be "
|
175 |
-
"loaded after all other scripts. By changing the priority, you can set code "
|
176 |
-
"position on the page."
|
177 |
-
msgstr ""
|
178 |
-
"Por padrão, o código do Google Analytics é carregado antes de outros scripts "
|
179 |
-
"e código javasscript, mas se você definir o valor como 100, o código do GA "
|
180 |
-
"será carregado depois de todos os outros scripts. Ao alterar a prioridade, "
|
181 |
-
"você pode definir a posição do código na página."
|
182 |
-
|
183 |
-
#: admin/options.php:91
|
184 |
-
#, php-format
|
185 |
-
msgid "Disable all <a href=\"%s\">display features functionality?</a>"
|
186 |
-
msgstr ""
|
187 |
-
"Desativar todas as <a href=\"%s\"> funcionalidades dos recursos de exibição? "
|
188 |
-
"</a>"
|
189 |
-
|
190 |
-
#: admin/options.php:100
|
191 |
-
#, php-format
|
192 |
-
msgid ""
|
193 |
-
"Use <a href=\"%s\">Anonymize IP?</a> (Required by law for some countries)"
|
194 |
-
msgstr ""
|
195 |
-
"Usar <a href=\"%s\">Anonimizar IP?</a> (exigido por lei para alguns países)"
|
196 |
-
|
197 |
-
#: admin/options.php:118
|
198 |
-
msgid ""
|
199 |
-
"Clearfy creates a cron job to daily update Google Analytics cache scripts. "
|
200 |
-
"After enabling this option, the plugin will not update Google Analytics "
|
201 |
-
"cache file. Do not use this option if you do not understand why you need it!"
|
202 |
-
msgstr ""
|
203 |
-
"O Clearfy cria uma tarefa cron para atualizar diariamente os scripts de "
|
204 |
-
"cache do Google Analytics. Depois de ativar essa opção, o plug-in não "
|
205 |
-
"atualizará o arquivo de cache do Google Analytics. Não use essa opção se "
|
206 |
-
"você não entender por que precisa!"
|
207 |
-
|
208 |
-
#: admin/pages/ga_cache.php:33
|
209 |
-
msgid "Local Google Analytics"
|
210 |
-
msgstr ""
|
211 |
-
|
212 |
-
#: admin/pages/ga_cache.php:50
|
213 |
-
msgid "General"
|
214 |
-
msgstr "Geral"
|
215 |
-
|
216 |
-
#: includes/classes/class.configurate-ga.php:37
|
217 |
-
msgid "Once Weekly"
|
218 |
-
msgstr "Uma vez por semana"
|
219 |
-
|
220 |
-
#: includes/classes/class.configurate-ga.php:42
|
221 |
-
msgid "Twice Monthly"
|
222 |
-
msgstr "Duas vezes por mês"
|
223 |
-
|
224 |
-
#: includes/classes/class.configurate-ga.php:47
|
225 |
-
msgid "Once Monthly"
|
226 |
-
msgstr "Uma vez por mês"
|
227 |
-
|
228 |
-
#: simple_google_analytics.php:32
|
229 |
-
msgid ""
|
230 |
-
"We found that you have the \"Clearfy - disable unused features\" plugin "
|
231 |
-
"installed, this plugin already has Google Analytics cache functions, so you "
|
232 |
-
"can deactivate plugin \"Google Analytics Cache\"!"
|
233 |
-
msgstr ""
|
234 |
-
"Descobrimos que você tem o \"Clearfy - desativar os recursos não utilizados "
|
235 |
-
"\" plugin instalado, este plugin já tem desativar as funções de comentários, "
|
236 |
-
"assim você pode desativar o plugin \"Hide Login Page \"!"
|
237 |
-
|
238 |
-
#: simple_google_analytics.php:40
|
239 |
-
msgid ""
|
240 |
-
"You use the old version of Wordpress to use the <b>Webcraftic Local Google "
|
241 |
-
"Analytics (Old name: Simple Google Analytics)</b> plugin, you must upgrade "
|
242 |
-
"your Wordpress to the minimum version 4.2!"
|
243 |
-
msgstr ""
|
244 |
-
|
245 |
-
#: simple_google_analytics.php:65
|
246 |
-
msgid "Webcraftic Local Google Analytics"
|
247 |
msgstr ""
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: clearfy\n"
|
4 |
+
"POT-Creation-Date: 2018-09-06 18:33+0300\n"
|
5 |
+
"PO-Revision-Date: 2018-09-06 18:33+0300\n"
|
6 |
+
"Last-Translator: alex.kovalevv@gmail.com <alex.kovalevv@gmail.com>\n"
|
7 |
+
"Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
|
8 |
+
"Language: pt_BR\n"
|
9 |
+
"MIME-Version: 1.0\n"
|
10 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
+
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"X-Generator: Poedit 2.1.1\n"
|
13 |
+
"X-Poedit-Basepath: ..\n"
|
14 |
+
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
15 |
+
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
16 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
17 |
+
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
18 |
+
"X-Poedit-SearchPath-0: .\n"
|
19 |
+
"X-Poedit-SearchPathExcluded-0: libs\n"
|
20 |
+
"X-Poedit-SearchPathExcluded-1: components\n"
|
21 |
+
"X-Poedit-SearchPathExcluded-2: cache\n"
|
22 |
+
|
23 |
+
#: admin/boot.php:27
|
24 |
+
msgid "The <b>Simple Google Analytics</b> plugin has some major changes!"
|
25 |
+
msgstr ""
|
26 |
+
|
27 |
+
#: admin/boot.php:28
|
28 |
+
msgid ""
|
29 |
+
"Unfortunately, the old version of the plugin (2.2.2) is no longer supported, "
|
30 |
+
"but you still can download it from the WordPress repository in case if the "
|
31 |
+
"new release doesn’t work for you."
|
32 |
+
msgstr ""
|
33 |
+
|
34 |
+
#: admin/boot.php:29
|
35 |
+
msgid ""
|
36 |
+
"We’ve updated the code and fixed the compatibility issue for the latest "
|
37 |
+
"WordPress and PHP versions. We’ve also added additional feature of the Local "
|
38 |
+
"Google Analytics – this way your website will load faster. The plugin’s name "
|
39 |
+
"has been changed to Local Google Analytics, but all features remained the "
|
40 |
+
"same."
|
41 |
+
msgstr ""
|
42 |
+
|
43 |
+
#: admin/boot.php:30
|
44 |
+
#, php-format
|
45 |
+
msgid ""
|
46 |
+
"Please, check <a href=\"%s\">plugin settings</a> and its performance on your "
|
47 |
+
"website. We do care about you and want to avoid any problems with the new "
|
48 |
+
"version."
|
49 |
+
msgstr ""
|
50 |
+
|
51 |
+
#: admin/boot.php:32
|
52 |
+
#, php-format
|
53 |
+
msgid ""
|
54 |
+
"We are aimed to pay more attention to the speed and security aspects of your "
|
55 |
+
"website. That’s why you should definitely try our basic WordPress "
|
56 |
+
"optimization plugin as well. Clearfy includes functionality of this plugin "
|
57 |
+
"and has many additional features for the website optimization:\n"
|
58 |
+
"<a href=\"%s\">Donwload Clearfy for free</a>"
|
59 |
+
msgstr ""
|
60 |
+
|
61 |
+
#: admin/boot.php:121 admin/options.php:30 admin/pages/ga_cache.php:49
|
62 |
+
msgid "Google Analytics Cache"
|
63 |
+
msgstr "Cache analítico do Google"
|
64 |
+
|
65 |
+
#: admin/boot.php:127 admin/options.php:50
|
66 |
+
msgid "Google analytic Code"
|
67 |
+
msgstr "Código analítico do Google"
|
68 |
+
|
69 |
+
#: admin/boot.php:132 admin/options.php:71
|
70 |
+
msgid "Use adjusted bounce rate?"
|
71 |
+
msgstr "Use taxa de rejeição ajustada?"
|
72 |
+
|
73 |
+
#: admin/boot.php:137 admin/options.php:80
|
74 |
+
msgid "Change enqueue order?"
|
75 |
+
msgstr "Alterar ordem de enfileiramento?"
|
76 |
+
|
77 |
+
#: admin/boot.php:142 admin/options.php:89
|
78 |
+
msgid "Disable all display features functionality?"
|
79 |
+
msgstr "Desativar todas as funcionalidades dos recursos de exibição?"
|
80 |
+
|
81 |
+
#: admin/boot.php:147 admin/options.php:98
|
82 |
+
msgid "Use Anonymize IP? (Required by law for some countries)"
|
83 |
+
msgstr "Use Anonymize IP? (Obrigatório por lei para alguns países)"
|
84 |
+
|
85 |
+
#: admin/boot.php:152 admin/options.php:107 admin/options.php:109
|
86 |
+
msgid "Track logged in Administrators?"
|
87 |
+
msgstr "Track logado em Administradores?"
|
88 |
+
|
89 |
+
#: admin/boot.php:157 admin/options.php:116
|
90 |
+
msgid "Remove script from wp-cron?"
|
91 |
+
msgstr "Remover script do wp-cron?"
|
92 |
+
|
93 |
+
#: admin/boot.php:185
|
94 |
+
msgid "Get ultimate plugin free"
|
95 |
+
msgstr "Obtenha o melhor plugin grátis"
|
96 |
+
|
97 |
+
#: admin/options.php:23
|
98 |
+
msgid "<strong>Google Analytics cache</strong>."
|
99 |
+
msgstr "<strong>cache do Google Analytics</strong>."
|
100 |
+
|
101 |
+
#: admin/options.php:23
|
102 |
+
msgid ""
|
103 |
+
"To improve Google Page Speed indicators Analytics caching is needed. "
|
104 |
+
"However, it can also slightly increase your website loading speed, because "
|
105 |
+
"Analytics js files will load locally. The second case that you might need "
|
106 |
+
"these settings is the usual Google Analytics connection to your website. You "
|
107 |
+
"do not need to do this with other plugins or insert the tracking code into "
|
108 |
+
"your theme."
|
109 |
+
msgstr ""
|
110 |
+
"Para melhorar os indicadores do Google Page Speed, é necessário o "
|
111 |
+
"armazenamento em cache do Analytics. No entanto, também pode aumentar "
|
112 |
+
"ligeiramente a velocidade de carregamento do seu site, porque os arquivos do "
|
113 |
+
"Google Analytics js serão carregados localmente. O segundo caso em que você "
|
114 |
+
"pode precisar dessas configurações é a conexão normal do Google Analytics "
|
115 |
+
"com seu website. Você não precisa fazer isso com outros plug-ins ou inserir "
|
116 |
+
"o código de acompanhamento em seu tema."
|
117 |
+
|
118 |
+
#: admin/options.php:32
|
119 |
+
msgid ""
|
120 |
+
"If you enable this option, the plugin will begin to save a local copy of "
|
121 |
+
"Google Analytics to speed up the loading of your website and improve Google "
|
122 |
+
"Page Speed."
|
123 |
+
msgstr ""
|
124 |
+
"Se você ativar essa opção, o plug-in começará a salvar uma cópia local do "
|
125 |
+
"Google Analytics para acelerar o carregamento de seu website e melhorar a "
|
126 |
+
"velocidade da página do Google."
|
127 |
+
|
128 |
+
#: admin/options.php:32
|
129 |
+
msgid ""
|
130 |
+
"ATTENTION! Before using this option, remove the previously installed Google "
|
131 |
+
"Analytics code inside your theme or plugins associated with this feature!"
|
132 |
+
msgstr ""
|
133 |
+
"ATENÇÃO! Antes de usar essa opção, remova o código do Google Analytics "
|
134 |
+
"instalado anteriormente no seu tema ou plug-ins associados a esse recurso."
|
135 |
+
|
136 |
+
#: admin/options.php:52
|
137 |
+
msgid "Set the Google Analytics tracking code."
|
138 |
+
msgstr "Definir o código de acompanhamento do Google Analytics."
|
139 |
+
|
140 |
+
#: admin/options.php:63
|
141 |
+
msgid "Save GA in"
|
142 |
+
msgstr "Salvar o GA em"
|
143 |
+
|
144 |
+
#: admin/options.php:64
|
145 |
+
msgid "Select location for the Google Analytics code."
|
146 |
+
msgstr "Selecione o local para o código do Google Analytics."
|
147 |
+
|
148 |
+
#: admin/options.php:74
|
149 |
+
msgid ""
|
150 |
+
"Essentially, you set up an event which is triggered after a user spends a "
|
151 |
+
"certain amount of time on the landing page, telling Google Analytics not to "
|
152 |
+
"count these users as bounces. A user may come to your website, find all of "
|
153 |
+
"the information they need (a phone number, for example) and then leave the "
|
154 |
+
"site without visiting another page. Without adjusted bounce rate, such a "
|
155 |
+
"user would be considered a bounce, even though they had a successful "
|
156 |
+
"experience. By defining a time limit after which you can consider a user to "
|
157 |
+
"be \"engaged,\" that user would no longer count as a bounce, and you'd get a "
|
158 |
+
"more accurate idea of whether they found what they were looking for."
|
159 |
+
msgstr ""
|
160 |
+
"Essencialmente, você configura um evento que é acionado depois que um "
|
161 |
+
"usuário passa um determinado período de tempo na página de destino, dizendo "
|
162 |
+
"ao Google Analytics para não contabilizar esses usuários como rejeições. Um "
|
163 |
+
"usuário pode acessar seu site, encontrar todas as informações necessárias "
|
164 |
+
"(um número de telefone, por exemplo) e sair do site sem visitar outra "
|
165 |
+
"página. Sem a taxa de rejeição ajustada, esse usuário seria considerado uma "
|
166 |
+
"rejeição, mesmo que tivesse uma experiência bem-sucedida. Ao definir um "
|
167 |
+
"limite de tempo após o qual você pode considerar um usuário \"engajado\", "
|
168 |
+
"esse usuário não será mais considerado uma rejeição, e você terá uma ideia "
|
169 |
+
"mais precisa sobre se encontrou o que estava procurando."
|
170 |
+
|
171 |
+
#: admin/options.php:83
|
172 |
+
msgid ""
|
173 |
+
"By default, Google Analytics code is loaded before other scripts and "
|
174 |
+
"javasscript code, but if you set the value to 100, the GA code will be "
|
175 |
+
"loaded after all other scripts. By changing the priority, you can set code "
|
176 |
+
"position on the page."
|
177 |
+
msgstr ""
|
178 |
+
"Por padrão, o código do Google Analytics é carregado antes de outros scripts "
|
179 |
+
"e código javasscript, mas se você definir o valor como 100, o código do GA "
|
180 |
+
"será carregado depois de todos os outros scripts. Ao alterar a prioridade, "
|
181 |
+
"você pode definir a posição do código na página."
|
182 |
+
|
183 |
+
#: admin/options.php:91
|
184 |
+
#, php-format
|
185 |
+
msgid "Disable all <a href=\"%s\">display features functionality?</a>"
|
186 |
+
msgstr ""
|
187 |
+
"Desativar todas as <a href=\"%s\"> funcionalidades dos recursos de exibição? "
|
188 |
+
"</a>"
|
189 |
+
|
190 |
+
#: admin/options.php:100
|
191 |
+
#, php-format
|
192 |
+
msgid ""
|
193 |
+
"Use <a href=\"%s\">Anonymize IP?</a> (Required by law for some countries)"
|
194 |
+
msgstr ""
|
195 |
+
"Usar <a href=\"%s\">Anonimizar IP?</a> (exigido por lei para alguns países)"
|
196 |
+
|
197 |
+
#: admin/options.php:118
|
198 |
+
msgid ""
|
199 |
+
"Clearfy creates a cron job to daily update Google Analytics cache scripts. "
|
200 |
+
"After enabling this option, the plugin will not update Google Analytics "
|
201 |
+
"cache file. Do not use this option if you do not understand why you need it!"
|
202 |
+
msgstr ""
|
203 |
+
"O Clearfy cria uma tarefa cron para atualizar diariamente os scripts de "
|
204 |
+
"cache do Google Analytics. Depois de ativar essa opção, o plug-in não "
|
205 |
+
"atualizará o arquivo de cache do Google Analytics. Não use essa opção se "
|
206 |
+
"você não entender por que precisa!"
|
207 |
+
|
208 |
+
#: admin/pages/ga_cache.php:33
|
209 |
+
msgid "Local Google Analytics"
|
210 |
+
msgstr ""
|
211 |
+
|
212 |
+
#: admin/pages/ga_cache.php:50
|
213 |
+
msgid "General"
|
214 |
+
msgstr "Geral"
|
215 |
+
|
216 |
+
#: includes/classes/class.configurate-ga.php:37
|
217 |
+
msgid "Once Weekly"
|
218 |
+
msgstr "Uma vez por semana"
|
219 |
+
|
220 |
+
#: includes/classes/class.configurate-ga.php:42
|
221 |
+
msgid "Twice Monthly"
|
222 |
+
msgstr "Duas vezes por mês"
|
223 |
+
|
224 |
+
#: includes/classes/class.configurate-ga.php:47
|
225 |
+
msgid "Once Monthly"
|
226 |
+
msgstr "Uma vez por mês"
|
227 |
+
|
228 |
+
#: simple_google_analytics.php:32
|
229 |
+
msgid ""
|
230 |
+
"We found that you have the \"Clearfy - disable unused features\" plugin "
|
231 |
+
"installed, this plugin already has Google Analytics cache functions, so you "
|
232 |
+
"can deactivate plugin \"Google Analytics Cache\"!"
|
233 |
+
msgstr ""
|
234 |
+
"Descobrimos que você tem o \"Clearfy - desativar os recursos não utilizados "
|
235 |
+
"\" plugin instalado, este plugin já tem desativar as funções de comentários, "
|
236 |
+
"assim você pode desativar o plugin \"Hide Login Page \"!"
|
237 |
+
|
238 |
+
#: simple_google_analytics.php:40
|
239 |
+
msgid ""
|
240 |
+
"You use the old version of Wordpress to use the <b>Webcraftic Local Google "
|
241 |
+
"Analytics (Old name: Simple Google Analytics)</b> plugin, you must upgrade "
|
242 |
+
"your Wordpress to the minimum version 4.2!"
|
243 |
+
msgstr ""
|
244 |
+
|
245 |
+
#: simple_google_analytics.php:65
|
246 |
+
msgid "Webcraftic Local Google Analytics"
|
247 |
msgstr ""
|
components/ga-cache/simple_google_analytics.php
CHANGED
@@ -14,60 +14,60 @@
|
|
14 |
if( !defined('ABSPATH') ) {
|
15 |
exit;
|
16 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
|
58 |
-
|
|
|
|
|
59 |
|
60 |
-
|
61 |
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
'plugin_version' => '3.0.1',
|
67 |
-
'required_php_version' => '5.2',
|
68 |
-
'required_wp_version' => '4.2',
|
69 |
-
'plugin_build' => 'free',
|
70 |
-
//'updates' => WGA_PLUGIN_DIR . '/updates/'
|
71 |
-
));
|
72 |
-
}
|
73 |
-
}
|
14 |
if( !defined('ABSPATH') ) {
|
15 |
exit;
|
16 |
}
|
17 |
+
|
18 |
+
define('WGA_PLUGIN_VERSION', '3.0.1');
|
19 |
+
|
20 |
+
define('WGA_PLUGIN_DIR', dirname(__FILE__));
|
21 |
+
define('WGA_PLUGIN_BASE', plugin_basename(__FILE__));
|
22 |
+
define('WGA_PLUGIN_URL', plugins_url(null, __FILE__));
|
23 |
|
24 |
+
|
25 |
+
|
26 |
+
if( !defined('LOADING_GA_CACHE_AS_ADDON') ) {
|
27 |
+
require_once(WGA_PLUGIN_DIR . '/libs/factory/core/includes/check-compatibility.php');
|
28 |
+
require_once(WGA_PLUGIN_DIR . '/libs/factory/clearfy/includes/check-clearfy-compatibility.php');
|
29 |
+
}
|
30 |
+
|
31 |
+
$plugin_info = array(
|
32 |
+
'prefix' => 'wbcr_gac_',
|
33 |
+
'plugin_name' => 'wbcr_gac',
|
34 |
+
'plugin_title' => __('Webcraftic Local Google Analytics', 'simple-google-analytics'),
|
35 |
+
'plugin_version' => WGA_PLUGIN_VERSION,
|
36 |
+
'plugin_build' => 'free',
|
37 |
+
//'updates' => WGA_PLUGIN_DIR . '/updates/'
|
38 |
+
);
|
39 |
+
|
40 |
+
/**
|
41 |
+
* Проверяет совместимость с Wordpress, php и другими плагинами.
|
42 |
+
*/
|
43 |
+
$compatibility = new Wbcr_FactoryClearfy_Compatibility(array_merge($plugin_info, array(
|
44 |
+
'plugin_already_activate' => defined('WGA_PLUGIN_ACTIVE'),
|
45 |
+
'plugin_as_component' => defined('LOADING_GA_CACHE_AS_ADDON'),
|
46 |
+
'plugin_dir' => WGA_PLUGIN_DIR,
|
47 |
+
'plugin_base' => WGA_PLUGIN_BASE,
|
48 |
+
'plugin_url' => WGA_PLUGIN_URL,
|
49 |
+
'required_php_version' => '5.3',
|
50 |
+
'required_wp_version' => '4.2.0',
|
51 |
+
'required_clearfy_check_component' => true
|
52 |
+
)));
|
53 |
+
|
54 |
+
/**
|
55 |
+
* Если плагин совместим, то он продолжит свою работу, иначе будет остановлен,
|
56 |
+
* а пользователь получит предупреждение.
|
57 |
+
*/
|
58 |
+
if( !$compatibility->check() ) {
|
59 |
+
return;
|
60 |
+
}
|
61 |
+
|
62 |
+
define('WGA_PLUGIN_ACTIVE', true);
|
63 |
|
64 |
+
if( !defined('LOADING_GA_CACHE_AS_ADDON') ) {
|
65 |
+
require_once(WGA_PLUGIN_DIR . '/libs/factory/core/boot.php');
|
66 |
+
}
|
67 |
|
68 |
+
require_once(WGA_PLUGIN_DIR . '/includes/class.plugin.php');
|
69 |
|
70 |
+
if( !defined('LOADING_GA_CACHE_AS_ADDON') ) {
|
71 |
+
new WGA_Plugin(__FILE__, $plugin_info);
|
72 |
+
}
|
73 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
components/html-minify/admin/boot.php
CHANGED
@@ -14,7 +14,7 @@
|
|
14 |
/**
|
15 |
* Печатает ошибки совместимости с похожими плагинами
|
16 |
*/
|
17 |
-
add_action('
|
18 |
if( $plugin_name != WHTM_Plugin::app()->getPluginName() ) {
|
19 |
return $notices;
|
20 |
}
|
@@ -79,4 +79,52 @@
|
|
79 |
return $mod + $mods;
|
80 |
});
|
81 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
82 |
|
14 |
/**
|
15 |
* Печатает ошибки совместимости с похожими плагинами
|
16 |
*/
|
17 |
+
add_action('wbcr_factory_notices_407_list', function ($notices, $plugin_name) {
|
18 |
if( $plugin_name != WHTM_Plugin::app()->getPluginName() ) {
|
19 |
return $notices;
|
20 |
}
|
79 |
return $mod + $mods;
|
80 |
});
|
81 |
|
82 |
+
function wbcr_htm_settings_form_options()
|
83 |
+
{
|
84 |
+
$options = array();
|
85 |
+
|
86 |
+
$options[] = array(
|
87 |
+
'type' => 'html',
|
88 |
+
'html' => '<div class="wbcr-factory-page-group-header"><strong>' . __('HTML Options', 'html-minify') . '</strong><p>' . __('Ever look at the HTML markup of your website and notice how sloppy and amateurish it looks? The Minify HTML options cleans up sloppy looking markup and minifies, which also speeds up download.', 'html-minify') . '</p></div>'
|
89 |
+
);
|
90 |
+
|
91 |
+
// Переключатель
|
92 |
+
$options[] = array(
|
93 |
+
'type' => 'checkbox',
|
94 |
+
'way' => 'buttons',
|
95 |
+
'name' => 'html_optimize',
|
96 |
+
'title' => __('Optimize HTML Code?', 'html-minify'),
|
97 |
+
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
|
98 |
+
'default' => false,
|
99 |
+
);
|
100 |
+
|
101 |
+
// Переключатель
|
102 |
+
$options[] = array(
|
103 |
+
'type' => 'checkbox',
|
104 |
+
'way' => 'buttons',
|
105 |
+
'name' => 'html_keepcomments',
|
106 |
+
'title' => __('Keep HTML comments?', 'html-minify'),
|
107 |
+
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
|
108 |
+
'hint' => __('Enable this if you want HTML comments to remain in the page.', 'html-minify'),
|
109 |
+
'default' => false
|
110 |
+
);
|
111 |
+
|
112 |
+
return $options;
|
113 |
+
}
|
114 |
+
|
115 |
+
add_filter('wbcr_mac_settings_form_options', function ($form) {
|
116 |
+
|
117 |
+
if( empty($form) ) {
|
118 |
+
return $form;
|
119 |
+
}
|
120 |
+
|
121 |
+
$options = wbcr_htm_settings_form_options();
|
122 |
+
|
123 |
+
foreach(array_reverse($options) as $option) {
|
124 |
+
array_unshift($form[0]['items'], $option);
|
125 |
+
}
|
126 |
+
|
127 |
+
return $form;
|
128 |
+
});
|
129 |
+
|
130 |
|
components/html-minify/admin/pages/settings.php
CHANGED
@@ -11,13 +11,13 @@
|
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
-
class WHTM_SettingsPage extends
|
15 |
|
16 |
/**
|
17 |
* The id of the page in the admin menu.
|
18 |
*
|
19 |
* Mainly used to navigate between pages.
|
20 |
-
* @see
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
* @var string
|
@@ -25,11 +25,16 @@
|
|
25 |
public $id = "html_minify"; // Уникальный идентификатор страницы
|
26 |
public $page_menu_dashicon = 'dashicons-testimonial'; // Иконка для закладки страницы, дашикон
|
27 |
public $page_parent_page = "performance"; // Уникальный идентификатор родительской страницы
|
|
|
|
|
|
|
|
|
|
|
28 |
|
29 |
/**
|
30 |
-
* @param
|
31 |
*/
|
32 |
-
public function __construct(
|
33 |
{
|
34 |
// Заголовок страницы
|
35 |
$this->menu_title = __('HTML Minify', 'html-minify');
|
@@ -59,24 +64,6 @@
|
|
59 |
: __('General', 'html-minify');
|
60 |
}
|
61 |
|
62 |
-
/**
|
63 |
-
* Requests assets (js and css) for the page.
|
64 |
-
*
|
65 |
-
* @see Wbcr_FactoryPages407_AdminPage
|
66 |
-
*
|
67 |
-
* @since 1.0.0
|
68 |
-
* @return void
|
69 |
-
*/
|
70 |
-
public function assets($scripts, $styles)
|
71 |
-
{
|
72 |
-
parent::assets($scripts, $styles);
|
73 |
-
|
74 |
-
// Add Clearfy styles for HMWP pages
|
75 |
-
if( defined('WBCR_CLEARFY_PLUGIN_ACTIVE') ) {
|
76 |
-
$this->styles->add(WCL_PLUGIN_URL . '/admin/assets/css/general.css');
|
77 |
-
}
|
78 |
-
}
|
79 |
-
|
80 |
/**
|
81 |
* Метод должен передать массив опций для создания формы с полями.
|
82 |
* Созданием страницы и формы занимается фреймворк
|
@@ -84,35 +71,9 @@
|
|
84 |
* @since 1.0.0
|
85 |
* @return mixed[]
|
86 |
*/
|
87 |
-
public function
|
88 |
{
|
89 |
-
$options =
|
90 |
-
|
91 |
-
$options[] = array(
|
92 |
-
'type' => 'html',
|
93 |
-
'html' => '<div class="wbcr-factory-page-group-header"><strong>' . __('HTML Options', 'html-minify') . '</strong><p>' . __('Ever look at the HTML markup of your website and notice how sloppy and amateurish it looks? The Minify HTML options cleans up sloppy looking markup and minifies, which also speeds up download.', 'html-minify') . '</p></div>'
|
94 |
-
);
|
95 |
-
|
96 |
-
// Переключатель
|
97 |
-
$options[] = array(
|
98 |
-
'type' => 'checkbox',
|
99 |
-
'way' => 'buttons',
|
100 |
-
'name' => 'html_optimize',
|
101 |
-
'title' => __('Optimize HTML Code?', 'html-minify'),
|
102 |
-
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
|
103 |
-
'default' => false,
|
104 |
-
);
|
105 |
-
|
106 |
-
// Переключатель
|
107 |
-
$options[] = array(
|
108 |
-
'type' => 'checkbox',
|
109 |
-
'way' => 'buttons',
|
110 |
-
'name' => 'html_keepcomments',
|
111 |
-
'title' => __('Keep HTML comments?', 'html-minify'),
|
112 |
-
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
|
113 |
-
'hint' => __('Enable this if you want HTML comments to remain in the page.', 'html-minify'),
|
114 |
-
'default' => false
|
115 |
-
);
|
116 |
|
117 |
$formOptions = array();
|
118 |
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
+
class WHTM_SettingsPage extends Wbcr_FactoryClearfy206_PageBase {
|
15 |
|
16 |
/**
|
17 |
* The id of the page in the admin menu.
|
18 |
*
|
19 |
* Mainly used to navigate between pages.
|
20 |
+
* @see Wbcr_FactoryPages410_AdminPage
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
* @var string
|
25 |
public $id = "html_minify"; // Уникальный идентификатор страницы
|
26 |
public $page_menu_dashicon = 'dashicons-testimonial'; // Иконка для закладки страницы, дашикон
|
27 |
public $page_parent_page = "performance"; // Уникальный идентификатор родительской страницы
|
28 |
+
/**
|
29 |
+
* Доступена для мультисайтов
|
30 |
+
* @var bool
|
31 |
+
*/
|
32 |
+
public $available_for_multisite = true;
|
33 |
|
34 |
/**
|
35 |
+
* @param Wbcr_Factory409_Plugin $plugin
|
36 |
*/
|
37 |
+
public function __construct(Wbcr_Factory409_Plugin $plugin)
|
38 |
{
|
39 |
// Заголовок страницы
|
40 |
$this->menu_title = __('HTML Minify', 'html-minify');
|
64 |
: __('General', 'html-minify');
|
65 |
}
|
66 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
67 |
/**
|
68 |
* Метод должен передать массив опций для создания формы с полями.
|
69 |
* Созданием страницы и формы занимается фреймворк
|
71 |
* @since 1.0.0
|
72 |
* @return mixed[]
|
73 |
*/
|
74 |
+
public function getPageOptions()
|
75 |
{
|
76 |
+
$options = wbcr_htm_settings_form_options();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
77 |
|
78 |
$formOptions = array();
|
79 |
|
components/html-minify/html-minify.php
CHANGED
@@ -8,6 +8,7 @@
|
|
8 |
* Text Domain: html-minify
|
9 |
* Domain Path: /languages/
|
10 |
* Author URI: https://clearfy.pro
|
|
|
11 |
*/
|
12 |
|
13 |
/*
|
@@ -23,81 +24,75 @@
|
|
23 |
exit;
|
24 |
}
|
25 |
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
|
|
41 |
}
|
42 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
/**
|
44 |
-
*
|
45 |
-
* Мы блокируем работу этого плагина, чтобы не вызывать конфликт.
|
46 |
*/
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
add_action('admin_notices', 'wbcr_htm_admin_notice_error');
|
58 |
|
|
|
|
|
|
|
|
|
|
|
59 |
return;
|
60 |
-
}
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
// Основной класс плагина
|
86 |
-
require_once(WHTM_PLUGIN_DIR . '/includes/class.plugin.php');
|
87 |
-
|
88 |
-
// Класс WHTM_Plugin создается только, если этот плагин работает, как самостоятельный плагин.
|
89 |
-
// Если плагин работает, как аддон, то класс создается родительским плагином.
|
90 |
-
|
91 |
-
if( !defined('LOADING_HTML_MINIFY_AS_ADDON') ) {
|
92 |
-
new WHTM_Plugin(__FILE__, array(
|
93 |
-
'prefix' => 'wbcr_htm_', // префикс для базы данных и полей формы
|
94 |
-
'plugin_name' => 'wbcr_html_minify', // имя плагина, как уникальный идентификатор
|
95 |
-
'plugin_title' => __('Webcraftic HTML Minify', 'html-minify'), // заголовок плагина
|
96 |
-
'plugin_version' => '1.0.1', // текущая версия плагина
|
97 |
-
'required_php_version' => '5.2', // минимальная версия php для работы плагина
|
98 |
-
'required_wp_version' => '4.2', // минимальная версия wp для работы плагина
|
99 |
-
'plugin_build' => 'free', // сборка плагина
|
100 |
-
//'updates' => WHTM_PLUGIN_DIR . '/updates/' в этой папке хранятся миграции для разных версий плагина
|
101 |
-
));
|
102 |
-
}
|
103 |
-
}
|
8 |
* Text Domain: html-minify
|
9 |
* Domain Path: /languages/
|
10 |
* Author URI: https://clearfy.pro
|
11 |
+
* Framework Version: FACTORY_409_VERSION
|
12 |
*/
|
13 |
|
14 |
/*
|
24 |
exit;
|
25 |
}
|
26 |
|
27 |
+
define('WHTM_PLUGIN_VERSION', '1.0.1');
|
28 |
+
|
29 |
+
// Директория плагина
|
30 |
+
define('WHTM_PLUGIN_DIR', dirname(__FILE__));
|
31 |
+
|
32 |
+
// Относительный путь к плагину
|
33 |
+
define('WHTM_PLUGIN_BASE', plugin_basename(__FILE__));
|
34 |
+
|
35 |
+
// Ссылка к директории плагина
|
36 |
+
define('WHTM_PLUGIN_URL', plugins_url(null, __FILE__));
|
37 |
+
|
38 |
+
|
39 |
+
|
40 |
+
if( !defined('LOADING_HTML_MINIFY_AS_ADDON') ) {
|
41 |
+
require_once(WHTM_PLUGIN_DIR . '/libs/factory/core/includes/check-compatibility.php');
|
42 |
+
require_once(WHTM_PLUGIN_DIR . '/libs/factory/clearfy/includes/check-clearfy-compatibility.php');
|
43 |
}
|
44 |
|
45 |
+
$plugin_info = array(
|
46 |
+
'prefix' => 'wbcr_htm_', // префикс для базы данных и полей формы
|
47 |
+
'plugin_name' => 'wbcr_html_minify', // имя плагина, как уникальный идентификатор
|
48 |
+
'plugin_title' => __('Webcraftic HTML Minify', 'html-minify'), // заголовок плагина
|
49 |
+
'plugin_version' => WHTM_PLUGIN_VERSION, // текущая версия плагина
|
50 |
+
'plugin_build' => 'free', // сборка плагина
|
51 |
+
//'updates' => WHTM_PLUGIN_DIR . '/updates/' в этой папке хранятся миграции для разных версий плагина
|
52 |
+
);
|
53 |
+
|
54 |
/**
|
55 |
+
* Проверяет совместимость с Wordpress, php и другими плагинами.
|
|
|
56 |
*/
|
57 |
+
$compatibility = new Wbcr_FactoryClearfy_Compatibility(array_merge($plugin_info, array(
|
58 |
+
'plugin_already_activate' => defined('WHTM_PLUGIN_ACTIVE'),
|
59 |
+
'plugin_as_component' => defined('LOADING_HTML_MINIFY_AS_ADDON'),
|
60 |
+
'plugin_dir' => WHTM_PLUGIN_DIR,
|
61 |
+
'plugin_base' => WHTM_PLUGIN_BASE,
|
62 |
+
'plugin_url' => WHTM_PLUGIN_URL,
|
63 |
+
'required_php_version' => '5.4',
|
64 |
+
'required_wp_version' => '4.2.0',
|
65 |
+
'required_clearfy_check_component' => true
|
66 |
+
)));
|
|
|
67 |
|
68 |
+
/**
|
69 |
+
* Если плагин совместим, то он продолжит свою работу, иначе будет остановлен,
|
70 |
+
* а пользователь получит предупреждение.
|
71 |
+
*/
|
72 |
+
if( !$compatibility->check() ) {
|
73 |
return;
|
74 |
+
}
|
75 |
+
|
76 |
+
// Устанавливаем контстанту, что плагин уже используется
|
77 |
+
define('WHTM_PLUGIN_ACTIVE', true);
|
78 |
+
|
79 |
+
// Этот плагин может быть аддоном плагина Clearfy, если он загружен, как аддон, то мы не подключаем фреймворк,
|
80 |
+
// а наследуем функции фреймворка от плагина Clearfy. Если плагин скомпилирован, как отдельный плагин, то он использует собственный фреймворк для работы.
|
81 |
+
// Константа LOADING_HTML_MINIFY_AS_ADDON утсанавливается в классе libs/factory/core/includes/Wbcr_Factory409_Plugin
|
82 |
+
|
83 |
+
if( !defined('LOADING_HTML_MINIFY_AS_ADDON') ) {
|
84 |
+
// Фреймворк - отвечает за интерфейс, содержит общие функции для серии плагинов и готовые шаблоны для быстрого развертывания плагина.
|
85 |
+
require_once(WHTM_PLUGIN_DIR . '/libs/factory/core/boot.php');
|
86 |
+
}
|
87 |
+
|
88 |
+
// Основной класс плагина
|
89 |
+
require_once(WHTM_PLUGIN_DIR . '/includes/class.plugin.php');
|
90 |
+
|
91 |
+
// Класс WHTM_Plugin создается только, если этот плагин работает, как самостоятельный плагин.
|
92 |
+
// Если плагин работает, как аддон, то класс создается родительским плагином.
|
93 |
+
|
94 |
+
if( !defined('LOADING_HTML_MINIFY_AS_ADDON') ) {
|
95 |
+
new WHTM_Plugin(__FILE__, $plugin_info);
|
96 |
+
}
|
97 |
+
|
98 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
components/html-minify/includes/class.plugin.php
CHANGED
@@ -15,14 +15,14 @@
|
|
15 |
if( !class_exists('WHTM_PluginFactory') ) {
|
16 |
// Этот плагин может быть аддоном плагина Clearfy, если он загружен, как аддон, то мы не подключаем фреймворк,
|
17 |
// а наследуем функции фреймворка от плагина Clearfy. Если плагин скомпилирован, как отдельный плагин, то он использует собственный фреймворк для работы.
|
18 |
-
// Константа LOADING_HTML_MINIFY_AS_ADDON утсанавливается в классе libs/factory/core/includes/
|
19 |
|
20 |
if( defined('LOADING_HTML_MINIFY_AS_ADDON') ) {
|
21 |
class WHTM_PluginFactory {
|
22 |
|
23 |
}
|
24 |
} else {
|
25 |
-
class WHTM_PluginFactory extends
|
26 |
|
27 |
}
|
28 |
}
|
@@ -31,7 +31,7 @@
|
|
31 |
class WHTM_Plugin extends WHTM_PluginFactory {
|
32 |
|
33 |
/**
|
34 |
-
* @var
|
35 |
*/
|
36 |
private static $app;
|
37 |
|
@@ -50,11 +50,9 @@
|
|
50 |
$this->as_addon = isset($data['as_addon']);
|
51 |
|
52 |
if( $this->as_addon ) {
|
53 |
-
$plugin_parent = isset($data['plugin_parent'])
|
54 |
-
? $data['plugin_parent']
|
55 |
-
: null;
|
56 |
|
57 |
-
if( !($plugin_parent instanceof
|
58 |
throw new Exception('An invalid instance of the class was passed.');
|
59 |
}
|
60 |
|
@@ -63,14 +61,14 @@
|
|
63 |
} else {
|
64 |
// Если плагин самостоятельный, то записываем в app сслыку на текущий класс
|
65 |
self::$app = $this;
|
|
|
66 |
|
|
|
67 |
parent::__construct($plugin_path, $data);
|
68 |
}
|
69 |
|
70 |
-
$this->setTextDomain();
|
71 |
$this->setModules();
|
72 |
-
|
73 |
-
|
74 |
if( is_admin() ) {
|
75 |
$this->adminScripts();
|
76 |
}
|
@@ -82,33 +80,39 @@
|
|
82 |
* Статический метод для быстрого доступа к информации о плагине, а также часто использумых методах.
|
83 |
*
|
84 |
* Пример:
|
85 |
-
* WHTM_Plugin::app()->
|
86 |
-
* WHTM_Plugin::app()->
|
87 |
-
* WHTM_Plugin::app()->
|
88 |
* WHTM_Plugin::app()->getPluginName()
|
89 |
*
|
90 |
-
* @return
|
91 |
*/
|
92 |
public static function app()
|
93 |
{
|
94 |
return self::$app;
|
95 |
}
|
96 |
|
97 |
-
// todo: перенести этот медот в фреймворк
|
98 |
-
protected function setTextDomain()
|
99 |
-
{
|
100 |
-
// Localization plugin
|
101 |
-
//load_plugin_textdomain('html-minify', false, dirname(WCL_PLUGIN_BASE) . '/languages/');
|
102 |
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
|
|
|
|
108 |
|
109 |
-
if(
|
110 |
-
|
111 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
112 |
}
|
113 |
|
114 |
/**
|
@@ -119,13 +123,13 @@
|
|
119 |
if( !$this->as_addon ) {
|
120 |
self::app()->load(array(
|
121 |
// Модуль отвечает за подключение скриптов и стилей для интерфейса
|
122 |
-
array('libs/factory/bootstrap', '
|
123 |
// Модуль отвечает за создание форм и полей
|
124 |
-
array('libs/factory/forms', '
|
125 |
// Модуль отвечает за создание шаблонов страниц плагина
|
126 |
-
array('libs/factory/pages', '
|
127 |
// Модуль в котором хранится общий функционал плагина Clearfy и его аддонов
|
128 |
-
array('libs/factory/clearfy', '
|
129 |
));
|
130 |
}
|
131 |
}
|
@@ -135,14 +139,14 @@
|
|
135 |
*/
|
136 |
private function registerPages()
|
137 |
{
|
|
|
|
|
|
|
138 |
|
139 |
$admin_path = WHTM_PLUGIN_DIR . '/admin/pages';
|
140 |
|
141 |
// Пример основной страницы настроек
|
142 |
self::app()->registerPage('WHTM_SettingsPage', $admin_path . '/settings.php');
|
143 |
-
|
144 |
-
// Пример внутренней страницы настроек
|
145 |
-
//self::app()->registerPage('WHTM_StatisticPage', $admin_path . '/statistic.php');
|
146 |
}
|
147 |
|
148 |
/**
|
@@ -151,32 +155,6 @@
|
|
151 |
private function adminScripts()
|
152 |
{
|
153 |
require(WHTM_PLUGIN_DIR . '/admin/boot.php');
|
154 |
-
$this->registerPages();
|
155 |
-
}
|
156 |
-
|
157 |
-
/**
|
158 |
-
* Подключаем глобальные функции
|
159 |
-
*/
|
160 |
-
private function globalScripts()
|
161 |
-
{
|
162 |
-
//require(WHTM_PLUGIN_DIR . '/includes/classes/class.configurate-comments.php');
|
163 |
-
//new WHTM_ConfigComments(self::$app);
|
164 |
-
}
|
165 |
-
|
166 |
-
/**
|
167 |
-
* Выполнение действий после загрузки плагина
|
168 |
-
* Подключаем все классы оптимизации и запускаем процесс
|
169 |
-
*/
|
170 |
-
public function pluginsLoaded()
|
171 |
-
{
|
172 |
-
require_once(WHTM_PLUGIN_DIR . '/includes/classes/class.mac-base.php');
|
173 |
-
require_once(WHTM_PLUGIN_DIR . '/includes/classes/class.mac-html.php');
|
174 |
-
require_once(WHTM_PLUGIN_DIR . '/includes/classes/class.mac-main.php');
|
175 |
-
|
176 |
-
require_once(WHTM_PLUGIN_DIR . '/includes/classes/ext/php/minify-html.php');
|
177 |
-
|
178 |
-
$plugin = new WHTM_PluginMain();
|
179 |
-
$plugin->start();
|
180 |
}
|
181 |
}
|
182 |
}
|
15 |
if( !class_exists('WHTM_PluginFactory') ) {
|
16 |
// Этот плагин может быть аддоном плагина Clearfy, если он загружен, как аддон, то мы не подключаем фреймворк,
|
17 |
// а наследуем функции фреймворка от плагина Clearfy. Если плагин скомпилирован, как отдельный плагин, то он использует собственный фреймворк для работы.
|
18 |
+
// Константа LOADING_HTML_MINIFY_AS_ADDON утсанавливается в классе libs/factory/core/includes/Wbcr_Factory409_Plugin
|
19 |
|
20 |
if( defined('LOADING_HTML_MINIFY_AS_ADDON') ) {
|
21 |
class WHTM_PluginFactory {
|
22 |
|
23 |
}
|
24 |
} else {
|
25 |
+
class WHTM_PluginFactory extends Wbcr_Factory409_Plugin {
|
26 |
|
27 |
}
|
28 |
}
|
31 |
class WHTM_Plugin extends WHTM_PluginFactory {
|
32 |
|
33 |
/**
|
34 |
+
* @var Wbcr_Factory409_Plugin
|
35 |
*/
|
36 |
private static $app;
|
37 |
|
50 |
$this->as_addon = isset($data['as_addon']);
|
51 |
|
52 |
if( $this->as_addon ) {
|
53 |
+
$plugin_parent = isset($data['plugin_parent']) ? $data['plugin_parent'] : null;
|
|
|
|
|
54 |
|
55 |
+
if( !($plugin_parent instanceof Wbcr_Factory409_Plugin) ) {
|
56 |
throw new Exception('An invalid instance of the class was passed.');
|
57 |
}
|
58 |
|
61 |
} else {
|
62 |
// Если плагин самостоятельный, то записываем в app сслыку на текущий класс
|
63 |
self::$app = $this;
|
64 |
+
}
|
65 |
|
66 |
+
if( !$this->as_addon ) {
|
67 |
parent::__construct($plugin_path, $data);
|
68 |
}
|
69 |
|
|
|
70 |
$this->setModules();
|
71 |
+
|
|
|
72 |
if( is_admin() ) {
|
73 |
$this->adminScripts();
|
74 |
}
|
80 |
* Статический метод для быстрого доступа к информации о плагине, а также часто использумых методах.
|
81 |
*
|
82 |
* Пример:
|
83 |
+
* WHTM_Plugin::app()->getPopulateOption()
|
84 |
+
* WHTM_Plugin::app()->updatePopulateOption()
|
85 |
+
* WHTM_Plugin::app()->deletePopulateOption()
|
86 |
* WHTM_Plugin::app()->getPluginName()
|
87 |
*
|
88 |
+
* @return Wbcr_Factory409_Plugin
|
89 |
*/
|
90 |
public static function app()
|
91 |
{
|
92 |
return self::$app;
|
93 |
}
|
94 |
|
|
|
|
|
|
|
|
|
|
|
95 |
|
96 |
+
/**
|
97 |
+
* Выполнение действий после загрузки плагина
|
98 |
+
* Подключаем все классы оптимизации и запускаем процесс
|
99 |
+
*/
|
100 |
+
public function pluginsLoaded()
|
101 |
+
{
|
102 |
+
self::app()->setTextDomain('html-minify', WHTM_PLUGIN_DIR);
|
103 |
|
104 |
+
if( is_admin() ) {
|
105 |
+
$this->registerPages();
|
106 |
}
|
107 |
+
|
108 |
+
require_once(WHTM_PLUGIN_DIR . '/includes/classes/class.mac-base.php');
|
109 |
+
require_once(WHTM_PLUGIN_DIR . '/includes/classes/class.mac-html.php');
|
110 |
+
require_once(WHTM_PLUGIN_DIR . '/includes/classes/class.mac-main.php');
|
111 |
+
|
112 |
+
require_once(WHTM_PLUGIN_DIR . '/includes/classes/ext/php/minify-html.php');
|
113 |
+
|
114 |
+
$plugin = new WHTM_PluginMain();
|
115 |
+
$plugin->start();
|
116 |
}
|
117 |
|
118 |
/**
|
123 |
if( !$this->as_addon ) {
|
124 |
self::app()->load(array(
|
125 |
// Модуль отвечает за подключение скриптов и стилей для интерфейса
|
126 |
+
array('libs/factory/bootstrap', 'factory_bootstrap_409', 'admin'),
|
127 |
// Модуль отвечает за создание форм и полей
|
128 |
+
array('libs/factory/forms', 'factory_forms_410', 'admin'),
|
129 |
// Модуль отвечает за создание шаблонов страниц плагина
|
130 |
+
array('libs/factory/pages', 'factory_pages_410', 'admin'),
|
131 |
// Модуль в котором хранится общий функционал плагина Clearfy и его аддонов
|
132 |
+
array('libs/factory/clearfy', 'factory_clearfy_206', 'all')
|
133 |
));
|
134 |
}
|
135 |
}
|
139 |
*/
|
140 |
private function registerPages()
|
141 |
{
|
142 |
+
if( defined('WMAC_PLUGIN_ACTIVE') ) {
|
143 |
+
return;
|
144 |
+
}
|
145 |
|
146 |
$admin_path = WHTM_PLUGIN_DIR . '/admin/pages';
|
147 |
|
148 |
// Пример основной страницы настроек
|
149 |
self::app()->registerPage('WHTM_SettingsPage', $admin_path . '/settings.php');
|
|
|
|
|
|
|
150 |
}
|
151 |
|
152 |
/**
|
155 |
private function adminScripts()
|
156 |
{
|
157 |
require(WHTM_PLUGIN_DIR . '/admin/boot.php');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
158 |
}
|
159 |
}
|
160 |
}
|
components/html-minify/includes/classes/class.mac-main.php
CHANGED
@@ -39,7 +39,7 @@ class WHTM_PluginMain
|
|
39 |
* Initialization hooks
|
40 |
*/
|
41 |
public function hook() {
|
42 |
-
if ( WHTM_Plugin::app()->
|
43 |
add_action( 'wp_loaded', array( $this, 'removeCacheMessage' ) );
|
44 |
}
|
45 |
}
|
@@ -88,7 +88,7 @@ class WHTM_PluginMain
|
|
88 |
*/
|
89 |
public function run()
|
90 |
{
|
91 |
-
if ( WHTM_Plugin::app()->
|
92 |
// Hook into WordPress frontend.
|
93 |
if ( defined( 'WHTM_INIT_EARLIER' ) ) {
|
94 |
add_action( 'init', array( $this, 'startBuffering' ), self::INIT_EARLIER_PRIORITY );
|
@@ -250,13 +250,13 @@ class WHTM_PluginMain
|
|
250 |
|
251 |
// Determine what needs to be ran.
|
252 |
$classes = array();
|
253 |
-
if ( WHTM_Plugin::app()->
|
254 |
$classes[] = 'WHTM_PluginHTML';
|
255 |
}
|
256 |
|
257 |
$classoptions = array(
|
258 |
'WHTM_PluginHTML' => array(
|
259 |
-
'keepcomments' => WHTM_Plugin::app()->
|
260 |
),
|
261 |
);
|
262 |
|
39 |
* Initialization hooks
|
40 |
*/
|
41 |
public function hook() {
|
42 |
+
if ( WHTM_Plugin::app()->getPopulateOption('html_optimize') ) {
|
43 |
add_action( 'wp_loaded', array( $this, 'removeCacheMessage' ) );
|
44 |
}
|
45 |
}
|
88 |
*/
|
89 |
public function run()
|
90 |
{
|
91 |
+
if ( WHTM_Plugin::app()->getPopulateOption('html_optimize') ) {
|
92 |
// Hook into WordPress frontend.
|
93 |
if ( defined( 'WHTM_INIT_EARLIER' ) ) {
|
94 |
add_action( 'init', array( $this, 'startBuffering' ), self::INIT_EARLIER_PRIORITY );
|
250 |
|
251 |
// Determine what needs to be ran.
|
252 |
$classes = array();
|
253 |
+
if ( WHTM_Plugin::app()->getPopulateOption( 'html_optimize' ) ) {
|
254 |
$classes[] = 'WHTM_PluginHTML';
|
255 |
}
|
256 |
|
257 |
$classoptions = array(
|
258 |
'WHTM_PluginHTML' => array(
|
259 |
+
'keepcomments' => WHTM_Plugin::app()->getPopulateOption( 'html_keepcomments' ),
|
260 |
),
|
261 |
);
|
262 |
|
components/html-minify/languages/html-minify-ru_RU.po
CHANGED
@@ -1,417 +1,417 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: clearfy\n"
|
4 |
-
"POT-Creation-Date: 2018-08-19 03:46+0300\n"
|
5 |
-
"PO-Revision-Date: 2018-08-19 03:48+0300\n"
|
6 |
-
"Last-Translator: alex.kovalevv@gmail.com <alex.kovalevv@gmail.com>\n"
|
7 |
-
"Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
|
8 |
-
"Language: ru_RU\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"X-Generator: Poedit 2.1.1\n"
|
13 |
-
"X-Poedit-Basepath: ..\n"
|
14 |
-
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
15 |
-
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
16 |
-
"X-Poedit-SourceCharset: UTF-8\n"
|
17 |
-
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
18 |
-
"X-Poedit-SearchPath-0: .\n"
|
19 |
-
"X-Poedit-SearchPathExcluded-0: libs\n"
|
20 |
-
|
21 |
-
#: admin/boot.php:23
|
22 |
-
msgid ""
|
23 |
-
"Clearfy: Html minify component is not compatible with the Autoptimize "
|
24 |
-
"plugin, please do not use them together to avoid conflicts. Please disable "
|
25 |
-
"the Html minify component"
|
26 |
-
msgstr ""
|
27 |
-
"Clearfy: Компонент HTML сжатие не совместим с плагином Autoptimize, "
|
28 |
-
"пожалуйста, не используйте их вместе, чтобы избежать конфликтов. Отключите "
|
29 |
-
"компонент HTML сжатие"
|
30 |
-
|
31 |
-
#: admin/boot.php:46 admin/pages/settings.php:101
|
32 |
-
msgid "Optimize HTML Code?"
|
33 |
-
msgstr "Оптимизировать HTML код?"
|
34 |
-
|
35 |
-
#: admin/boot.php:52 admin/pages/settings.php:111
|
36 |
-
msgid "Keep HTML comments?"
|
37 |
-
msgstr "Оставлять HTML комментарии?"
|
38 |
-
|
39 |
-
#: admin/boot.php:69
|
40 |
-
msgid "One click optimize html code"
|
41 |
-
msgstr "Оптимизировать html код одним нажатием"
|
42 |
-
|
43 |
-
#: admin/boot.php:71
|
44 |
-
msgid "One click optimize html code and scripts"
|
45 |
-
msgstr "Оптимизировать html код и скрипты одним нажатием"
|
46 |
-
|
47 |
-
#: admin/pages/settings.php:35 admin/pages/settings.php:58
|
48 |
-
msgid "HTML Minify"
|
49 |
-
msgstr "HTML сжатие"
|
50 |
-
|
51 |
-
#: admin/pages/settings.php:59
|
52 |
-
msgid "General"
|
53 |
-
msgstr "Основные"
|
54 |
-
|
55 |
-
#: admin/pages/settings.php:93
|
56 |
-
msgid "HTML Options"
|
57 |
-
msgstr "Настройки HTML сжатия"
|
58 |
-
|
59 |
-
#: admin/pages/settings.php:93
|
60 |
-
msgid ""
|
61 |
-
"Ever look at the HTML markup of your website and notice how sloppy and "
|
62 |
-
"amateurish it looks? The Minify HTML options cleans up sloppy looking markup "
|
63 |
-
"and minifies, which also speeds up download."
|
64 |
-
msgstr ""
|
65 |
-
"Вы когда-нибудь видели HTML разметку на своем веб-сайте, замечали насколько "
|
66 |
-
"она неаккуратна и раздута? Настройки HTML сжатия позволят грамотно "
|
67 |
-
"установить правила формирования html разметки, а также регулировать вес "
|
68 |
-
"ваших страниц."
|
69 |
-
|
70 |
-
#: admin/pages/settings.php:113
|
71 |
-
msgid "Enable this if you want
|
72 |
-
msgstr ""
|
73 |
-
"Включите эту опцию, если хотите, чтобы при сжатии страницы, не удалялясь "
|
74 |
-
"Html комментарии."
|
75 |
-
|
76 |
-
#: html-minify.php:34
|
77 |
-
msgid ""
|
78 |
-
"The job of the component \"Html minify\" component has been suspended! You "
|
79 |
-
"are using the old version of PHP. Please update the PHP version to 5.4 or "
|
80 |
-
"later to continue to use this component!"
|
81 |
-
msgstr ""
|
82 |
-
"Работа компонента «Скрыть мой wp» была приостановлена! Вы используете старую "
|
83 |
-
"версию PHP. Обновите версию PHP до версии 5.4 или новее, чтобы продолжить "
|
84 |
-
"использование этого компонента!"
|
85 |
-
|
86 |
-
#: html-minify.php:52
|
87 |
-
msgid ""
|
88 |
-
"We found that you have the \"Clearfy - wordpress optimization plugin\" "
|
89 |
-
"plugin installed, this plugin already has Html minify functions, so you can "
|
90 |
-
"deactivate plugin \"Html minify\"!"
|
91 |
-
msgstr ""
|
92 |
-
"Мы обнаружили, что у вас установлен плагин «Clearfy - wordpress optimization "
|
93 |
-
"plugin», этот плагин уже имеет функции Html minify, поэтому вы можете "
|
94 |
-
"отключить плагин «Html minify»!"
|
95 |
-
|
96 |
-
#: html-minify.php:129
|
97 |
-
msgid "Webcraftic HTML Minify"
|
98 |
-
msgstr "Webcraftic HTML сжатие"
|
99 |
-
|
100 |
-
#~ msgid "Comments are closed."
|
101 |
-
#~ msgstr "Комментарии Закрыты."
|
102 |
-
|
103 |
-
#~ msgid ""
|
104 |
-
#~ "Note: The <em>%s</em> plugin is currently active, and comments are "
|
105 |
-
#~ "completely disabled on: %s. Many of the settings below will not be "
|
106 |
-
#~ "applicable for those post types."
|
107 |
-
#~ msgstr ""
|
108 |
-
#~ "Примечание. Плагин <em>%s</em> в настоящий момент активен, и комментарии "
|
109 |
-
#~ "полностью отключены: %s. Многие из приведенных ниже настроек не будут "
|
110 |
-
#~ "применяться для этих типов сообщений."
|
111 |
-
|
112 |
-
#~ msgid "Disable comments on the entire site"
|
113 |
-
#~ msgstr "Отключить комментарии на всем сайте"
|
114 |
-
|
115 |
-
#~ msgid "Select post types"
|
116 |
-
#~ msgstr "Выбрать тип записи"
|
117 |
-
|
118 |
-
#~ msgid "Replace external links in comments on the JavaScript code"
|
119 |
-
#~ msgstr "Заменить внешние ссылки в комментариях на JavaScript код"
|
120 |
-
|
121 |
-
#~ msgid "Replace external links from comment authors on the JavaScript code"
|
122 |
-
#~ msgstr "Заменить внешние ссылки от авторов комментариев на код JavaScript"
|
123 |
-
|
124 |
-
#~ msgid "Disable X-Pingback"
|
125 |
-
#~ msgstr "Убрать ссылку на X-Pingback и возможность спамить pingback-ами"
|
126 |
-
|
127 |
-
#~ msgid "Remove field \"site\" in comment form"
|
128 |
-
#~ msgstr "Удаляет поле \"Сайт\" в форме комментариев"
|
129 |
-
|
130 |
-
#~ msgid "One click disable all comments"
|
131 |
-
#~ msgstr "Отключить все комментарии в один клик"
|
132 |
-
|
133 |
-
#~ msgid "Get ultimate plugin free"
|
134 |
-
#~ msgstr "Получите полную версию плагина бесплатно"
|
135 |
-
|
136 |
-
#~ msgid "Disable comments"
|
137 |
-
#~ msgstr "Отключить комментарии"
|
138 |
-
|
139 |
-
#~ msgid "Comments"
|
140 |
-
#~ msgstr "Комментарии"
|
141 |
-
|
142 |
-
#~ msgid "Global disabling of comments"
|
143 |
-
#~ msgstr "Глобальное отключение комментариев"
|
144 |
-
|
145 |
-
#~ msgid ""
|
146 |
-
#~ "What is the difference between these and native WordPress functions? "
|
147 |
-
#~ "WordPress disables comments only for new posts! Using the functions "
|
148 |
-
#~ "below, you can disable comments globally, even for old posts, and you can "
|
149 |
-
#~ "choose which post types comments to disable. The plugin also disables the "
|
150 |
-
#~ "comment functionality itself, which creates a certain load on the site."
|
151 |
-
#~ msgstr ""
|
152 |
-
#~ "Чем отличается эти функции от нативных функций Wordpress? Wordpress "
|
153 |
-
#~ "отключает комментарии только для новых записей! С помощью функций ниже, "
|
154 |
-
#~ "вы можете отключить комментарии глобально, даже для старых записей, "
|
155 |
-
#~ "причем вы можете выбрать для каких типов записей нужно отключить "
|
156 |
-
#~ "комментарии. Плагин также отключает сам функционал комментариев, который "
|
157 |
-
#~ "создает определенную нагрузку на сайт."
|
158 |
-
|
159 |
-
#~ msgid "Not disable"
|
160 |
-
#~ msgstr "Не отключать"
|
161 |
-
|
162 |
-
#~ msgid "Everywhere"
|
163 |
-
#~ msgstr "Повсюду"
|
164 |
-
|
165 |
-
#~ msgid ""
|
166 |
-
#~ "You can delete all comments in the database by clicking on this link (<a "
|
167 |
-
#~ "href=\"%s\">cleaning comments in database</a>)."
|
168 |
-
#~ msgstr ""
|
169 |
-
#~ "Вы можете удалить все комментарии в базе данных, нажав на эту ссылку ( <a "
|
170 |
-
#~ "href=\"%s\">очистка комментариев в базе данных</a> )."
|
171 |
-
|
172 |
-
#~ msgid "On certain post types"
|
173 |
-
#~ msgstr "Только выбранные типы записей"
|
174 |
-
|
175 |
-
#~ msgid ""
|
176 |
-
#~ "You can delete all comments for the selected post types. Select the post "
|
177 |
-
#~ "types below and save the settings. After that, click the link (<a href="
|
178 |
-
#~ "\"%s\">delete all comments for the selected post types in database</a>)."
|
179 |
-
#~ msgstr ""
|
180 |
-
#~ "Вы можете удалить все комментарии для выбранных типов записей. Выберите "
|
181 |
-
#~ "типы записей ниже и сохраните настройки. После этого нажмите ссылку ( <a "
|
182 |
-
#~ "href=\"%s\">удалите все комментарии для выбранных типов записей в базе "
|
183 |
-
#~ "данных</a> )."
|
184 |
-
|
185 |
-
#~ msgid ""
|
186 |
-
#~ "Everywhere - Warning: This option is global and will affect your entire "
|
187 |
-
#~ "site. Use it only if you want to disable comments everywhere. A complete "
|
188 |
-
#~ "description of what this option does is available here"
|
189 |
-
#~ msgstr ""
|
190 |
-
#~ "Повсюду - предупреждение: этот параметр является глобальным и повлияет на "
|
191 |
-
#~ "весь ваш сайт. Используйте его только в том случае, если вы хотите "
|
192 |
-
#~ "отключить комментарии повсюду. "
|
193 |
-
|
194 |
-
#~ msgid ""
|
195 |
-
#~ "On certain post types - Disabling comments will also disable trackbacks "
|
196 |
-
#~ "and pingbacks. All comment-related fields will also be hidden from the "
|
197 |
-
#~ "edit/quick-edit screens of the affected posts. These settings cannot be "
|
198 |
-
#~ "overridden for individual posts."
|
199 |
-
#~ msgstr ""
|
200 |
-
#~ "В некоторых типах сообщений - отключение комментариев также отключает "
|
201 |
-
#~ "трекбэки и pingback. Все поля, связанные с комментариями, также будут "
|
202 |
-
#~ "скрыты от экранов редактирования / быстрого редактирования затронутых "
|
203 |
-
#~ "сообщений. Эти настройки нельзя переопределять для отдельных сообщений."
|
204 |
-
|
205 |
-
#~ msgid "Select the post types for which comments will be disabled"
|
206 |
-
#~ msgstr "Выберите типы записей, для которых комментарии будут отключены."
|
207 |
-
|
208 |
-
#~ msgid "General settings for comments"
|
209 |
-
#~ msgstr "Общие настройки комментариев"
|
210 |
-
|
211 |
-
#~ msgid ""
|
212 |
-
#~ "These settings will help you improve SEO and reduce the amount of spam."
|
213 |
-
#~ msgstr ""
|
214 |
-
#~ "Эти настройки помогут вам улучшить SEO и уменьшить количество спама."
|
215 |
-
|
216 |
-
#~ msgid ""
|
217 |
-
#~ "Tired of spam in the comments? Do visitors leave \"blank\" comments for "
|
218 |
-
#~ "the sake of a link to their site?"
|
219 |
-
#~ msgstr ""
|
220 |
-
#~ "Надоел спам в комментариях? Посетители оставляют «пустые» комментарии "
|
221 |
-
#~ "ради ссылки на свой сайт?"
|
222 |
-
|
223 |
-
#~ msgid "Removes the \"Site\" field from the comment form."
|
224 |
-
#~ msgstr "Убирает поле «Сайт» из формы комментирования."
|
225 |
-
|
226 |
-
#~ msgid ""
|
227 |
-
#~ "Works with the standard comment form, if the form is manually written in "
|
228 |
-
#~ "your theme-it probably will not work!"
|
229 |
-
#~ msgstr ""
|
230 |
-
#~ "Работает со стандартной формой комментирования, если в Вашей теме форма "
|
231 |
-
#~ "прописана вручную - скорей всего не сработает!"
|
232 |
-
|
233 |
-
#~ msgid ""
|
234 |
-
#~ "Superfluous external links from comments, which can be typed from a dozen "
|
235 |
-
#~ "and more for one article, do not bring anything good for promotion."
|
236 |
-
#~ msgstr ""
|
237 |
-
#~ "Внешние ссылки в комментариях, которых может быть десятки или больше на "
|
238 |
-
#~ "одной странице, могут ухудшить продвижение вашего сайта."
|
239 |
-
|
240 |
-
#~ msgid "Replaces the links of this kind of %s, on links of this kind %s"
|
241 |
-
#~ msgstr ""
|
242 |
-
#~ "Заменяет ссылки %s, на span тег и устанавливает переход с помощью "
|
243 |
-
#~ "JavaScript %s"
|
244 |
-
|
245 |
-
#~ msgid ""
|
246 |
-
#~ "Up to 90 percent of comments in the blog can be left for the sake of an "
|
247 |
-
#~ "external link. Even nofollow from page weight loss here does not help."
|
248 |
-
#~ msgstr ""
|
249 |
-
#~ "До 90 процентов комментариев в блоге оставляют ради внешней ссылки. Не "
|
250 |
-
#~ "поможет даже nofollow от потери веса страницы."
|
251 |
-
|
252 |
-
#~ msgid ""
|
253 |
-
#~ "Replaces the links of the authors of comments on the JavaScript code, it "
|
254 |
-
#~ "is impossible to distinguish it from usual links."
|
255 |
-
#~ msgstr ""
|
256 |
-
#~ "Заменяет ссылки авторов комментариев на JavaScript код, его невозможно "
|
257 |
-
#~ "отличить от обычной ссылки."
|
258 |
-
|
259 |
-
#~ msgid "In some Wordpress topics this may not work."
|
260 |
-
#~ msgstr "В некоторых темах Wordpress это может не сработать."
|
261 |
-
|
262 |
-
#~ msgid "Disable XML-RPC"
|
263 |
-
#~ msgstr "Отключить XML-RPC"
|
264 |
-
|
265 |
-
#~ msgid ""
|
266 |
-
#~ "A pingback is basically an automated comment that gets created when "
|
267 |
-
#~ "another blog links to you. A self-pingback is created when you link to an "
|
268 |
-
#~ "article within your own blog. Pingbacks are essentially nothing more than "
|
269 |
-
#~ "spam and simply waste resources."
|
270 |
-
#~ msgstr ""
|
271 |
-
#~ "Pingback по-существу автоматизированных комментарий, который создается, "
|
272 |
-
#~ "когда другой блог ссылается на вас. Self-pingback создается, когда вы "
|
273 |
-
#~ "оставили ссылку на статью в своем блоге. Pingbacks по существу являются "
|
274 |
-
#~ "не более чем спам и пустая трата ресурсов вашего сайта."
|
275 |
-
|
276 |
-
#~ msgid "Removes the server responses a reference to the xmlrpc file."
|
277 |
-
#~ msgstr "Удаляет ссылку на xmlrpc-файл и ответ сервера."
|
278 |
-
|
279 |
-
#~ msgid "Comments cleaner"
|
280 |
-
#~ msgstr "Очистка комментариев"
|
281 |
-
|
282 |
-
#~ msgid "All comments have been deleted."
|
283 |
-
#~ msgstr "Все комментарии были удалены."
|
284 |
-
|
285 |
-
#~ msgid ""
|
286 |
-
#~ "An error occurred while trying to delete comments. Internal error "
|
287 |
-
#~ "occured. Please try again later."
|
288 |
-
#~ msgstr ""
|
289 |
-
#~ "При попытке удалить комментарии произошла ошибка. Пожалуйста, повторите "
|
290 |
-
#~ "попытку позже."
|
291 |
-
|
292 |
-
#~ msgid ""
|
293 |
-
#~ "Are you sure you want to delete comments from the database without "
|
294 |
-
#~ "restoring?"
|
295 |
-
#~ msgstr ""
|
296 |
-
#~ "Вы уверены, что вы хотите удалить комментарии из базы данных без "
|
297 |
-
#~ "восстановления?"
|
298 |
-
|
299 |
-
#~ msgid "Comments clearing tools"
|
300 |
-
#~ msgstr "Комментарии очищающие инструменты"
|
301 |
-
|
302 |
-
#~ msgid ""
|
303 |
-
#~ "These functions can be useful for global disabling comments or bulk "
|
304 |
-
#~ "cleaning spam comments."
|
305 |
-
#~ msgstr ""
|
306 |
-
#~ "Эти функции могут быть полезны для глобальных отключений комментариев или "
|
307 |
-
#~ "массовой очистки спама комментариев."
|
308 |
-
|
309 |
-
#~ msgid "Remove all comments"
|
310 |
-
#~ msgstr "Удалить все комментарии"
|
311 |
-
|
312 |
-
#~ msgid "You can delete all comments in your database with one click."
|
313 |
-
#~ msgstr ""
|
314 |
-
#~ "Вы можете удалить все комментарии в базе данных с одним щелчком мыши."
|
315 |
-
|
316 |
-
#~ msgid "Choose post types"
|
317 |
-
#~ msgstr "Выберите типы записей"
|
318 |
-
|
319 |
-
#~ msgid "Select all"
|
320 |
-
#~ msgstr "Выбрать все"
|
321 |
-
|
322 |
-
#~ msgid "Delete Woocommerce order notices? (%d)"
|
323 |
-
#~ msgstr "Удалять заметки от заказов Woocommerce? (%d)"
|
324 |
-
|
325 |
-
#~ msgid "Delete (%d)"
|
326 |
-
#~ msgstr "Удалить (%d)"
|
327 |
-
|
328 |
-
#~ msgid "Remove spam comments"
|
329 |
-
#~ msgstr "Удалить спам комментарии"
|
330 |
-
|
331 |
-
#~ msgid "You can remove only spam comments from the database with one click."
|
332 |
-
#~ msgstr ""
|
333 |
-
#~ "Вы можете одним нажатием удалить только спам комментарии из базы данных."
|
334 |
-
|
335 |
-
#~ msgid "Remove unapproved comments"
|
336 |
-
#~ msgstr "Удалить неподтвержденные комментарии"
|
337 |
-
|
338 |
-
#~ msgid ""
|
339 |
-
#~ "You can remove only unapproved comments from the database with one click."
|
340 |
-
#~ msgstr ""
|
341 |
-
#~ "Вы можете одним нажатием удалить только не подтвержденные комментарии из "
|
342 |
-
#~ "базы данных."
|
343 |
-
|
344 |
-
#~ msgid "Remove trashed comments"
|
345 |
-
#~ msgstr "Удалить комментарии из корзины"
|
346 |
-
|
347 |
-
#~ msgid ""
|
348 |
-
#~ "You can remove only trashed comments from the database with one click."
|
349 |
-
#~ msgstr "Вы можете одним нажатием удалить только комментарии из корзины."
|
350 |
-
|
351 |
-
#~ msgid ""
|
352 |
-
#~ "We found that you have the \"Clearfy - disable unused features\" plugin "
|
353 |
-
#~ "installed, this plugin already has disable comments functions, so you can "
|
354 |
-
#~ "deactivate plugin \"Disable comments\"!"
|
355 |
-
#~ msgstr ""
|
356 |
-
#~ "Мы обнаружили, что у вас установлен плагин «Clearfy - отключить "
|
357 |
-
#~ "неиспользуемые функции», этот плагин уже имеет функции отключения "
|
358 |
-
#~ "комментариев, поэтому вы можете отключить плагин «Отключить комментарии»!"
|
359 |
-
|
360 |
-
#~ msgid "Webcraftic Disable comments"
|
361 |
-
#~ msgstr "Webcraftic отключить комментарии"
|
362 |
-
|
363 |
-
#~ msgid "Recommended"
|
364 |
-
#~ msgstr "Рекомендовано"
|
365 |
-
|
366 |
-
#~ msgid "You are not allowed to view this page."
|
367 |
-
#~ msgstr "Вам не разрешено просматривать эту страницу."
|
368 |
-
|
369 |
-
#~ msgid "You do not have the selected post types!"
|
370 |
-
#~ msgstr "Вы не выбрали еще ни одного типа записей!"
|
371 |
-
|
372 |
-
#~ msgid "No comments available for deletion."
|
373 |
-
#~ msgstr "Нет комментариев для удаления."
|
374 |
-
|
375 |
-
#~ msgid ""
|
376 |
-
#~ "Are you sure that you desire to delete all comments from the database?"
|
377 |
-
#~ msgstr "Вы уверены, что хотите удалить все комментарии из базы данных?"
|
378 |
-
|
379 |
-
#~ msgid ""
|
380 |
-
#~ "Deleting comments will remove existing comment entries in the database "
|
381 |
-
#~ "and cannot be reverted without a database backup."
|
382 |
-
#~ msgstr ""
|
383 |
-
#~ "При удалении комментариев удаляются существующие записи комментариев в "
|
384 |
-
#~ "базе данных, они не могут быть восстановлены без резервного копирования "
|
385 |
-
#~ "базы данных."
|
386 |
-
|
387 |
-
#~ msgid "You have %s comments"
|
388 |
-
#~ msgstr "У вас есть %s комментариев"
|
389 |
-
|
390 |
-
#~ msgid "Yes, I'm sure"
|
391 |
-
#~ msgstr "Да, я уверен"
|
392 |
-
|
393 |
-
#~ msgid "No, return back"
|
394 |
-
#~ msgstr "Нет, вернуться"
|
395 |
-
|
396 |
-
#~ msgid ""
|
397 |
-
#~ "Are you sure that you desire to delete all comments from the database for "
|
398 |
-
#~ "the selected post types (%s)?"
|
399 |
-
#~ msgstr ""
|
400 |
-
#~ "Вы уверены, что хотите удалить все комментарии из базы данных для "
|
401 |
-
#~ "выбранных типов записей (%s)?"
|
402 |
-
|
403 |
-
#~ msgid "Webcraftic comments tweaks"
|
404 |
-
#~ msgstr "Webcraftic инструменты комментариев"
|
405 |
-
|
406 |
-
#~ msgid ""
|
407 |
-
#~ "We found that you have the \"Clearfy - disable unused features\" plugin "
|
408 |
-
#~ "installed, this plugin already has disable comments functions, so you can "
|
409 |
-
#~ "deactivate plugin \"Comments tweaks\"!"
|
410 |
-
#~ msgstr ""
|
411 |
-
#~ "Мы обнаружили, что у вас установлен плагин «Clearfy - отключить "
|
412 |
-
#~ "неиспользуемые функции», этот плагин уже имеет функции отключения "
|
413 |
-
#~ "комментариев, поэтому вы можете отключить плагин «Инструменты "
|
414 |
-
#~ "комментариев»!"
|
415 |
-
|
416 |
-
#~ msgid "Disable all comments"
|
417 |
-
#~ msgstr "Отключить все комментарии"
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: clearfy\n"
|
4 |
+
"POT-Creation-Date: 2018-08-19 03:46+0300\n"
|
5 |
+
"PO-Revision-Date: 2018-08-19 03:48+0300\n"
|
6 |
+
"Last-Translator: alex.kovalevv@gmail.com <alex.kovalevv@gmail.com>\n"
|
7 |
+
"Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
|
8 |
+
"Language: ru_RU\n"
|
9 |
+
"MIME-Version: 1.0\n"
|
10 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
+
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"X-Generator: Poedit 2.1.1\n"
|
13 |
+
"X-Poedit-Basepath: ..\n"
|
14 |
+
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
15 |
+
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
16 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
17 |
+
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
18 |
+
"X-Poedit-SearchPath-0: .\n"
|
19 |
+
"X-Poedit-SearchPathExcluded-0: libs\n"
|
20 |
+
|
21 |
+
#: admin/boot.php:23
|
22 |
+
msgid ""
|
23 |
+
"Clearfy: Html minify component is not compatible with the Autoptimize "
|
24 |
+
"plugin, please do not use them together to avoid conflicts. Please disable "
|
25 |
+
"the Html minify component"
|
26 |
+
msgstr ""
|
27 |
+
"Clearfy: Компонент HTML сжатие не совместим с плагином Autoptimize, "
|
28 |
+
"пожалуйста, не используйте их вместе, чтобы избежать конфликтов. Отключите "
|
29 |
+
"компонент HTML сжатие"
|
30 |
+
|
31 |
+
#: admin/boot.php:46 admin/pages/settings.php:101
|
32 |
+
msgid "Optimize HTML Code?"
|
33 |
+
msgstr "Оптимизировать HTML код?"
|
34 |
+
|
35 |
+
#: admin/boot.php:52 admin/pages/settings.php:111
|
36 |
+
msgid "Keep HTML comments?"
|
37 |
+
msgstr "Оставлять HTML комментарии?"
|
38 |
+
|
39 |
+
#: admin/boot.php:69
|
40 |
+
msgid "One click optimize html code"
|
41 |
+
msgstr "Оптимизировать html код одним нажатием"
|
42 |
+
|
43 |
+
#: admin/boot.php:71
|
44 |
+
msgid "One click optimize html code and scripts"
|
45 |
+
msgstr "Оптимизировать html код и скрипты одним нажатием"
|
46 |
+
|
47 |
+
#: admin/pages/settings.php:35 admin/pages/settings.php:58
|
48 |
+
msgid "HTML Minify"
|
49 |
+
msgstr "HTML сжатие"
|
50 |
+
|
51 |
+
#: admin/pages/settings.php:59
|
52 |
+
msgid "General"
|
53 |
+
msgstr "Основные"
|
54 |
+
|
55 |
+
#: admin/pages/settings.php:93
|
56 |
+
msgid "HTML Options"
|
57 |
+
msgstr "Настройки HTML сжатия"
|
58 |
+
|
59 |
+
#: admin/pages/settings.php:93
|
60 |
+
msgid ""
|
61 |
+
"Ever look at the HTML markup of your website and notice how sloppy and "
|
62 |
+
"amateurish it looks? The Minify HTML options cleans up sloppy looking markup "
|
63 |
+
"and minifies, which also speeds up download."
|
64 |
+
msgstr ""
|
65 |
+
"Вы когда-нибудь видели HTML разметку на своем веб-сайте, замечали насколько "
|
66 |
+
"она неаккуратна и раздута? Настройки HTML сжатия позволят грамотно "
|
67 |
+
"установить правила формирования html разметки, а также регулировать вес "
|
68 |
+
"ваших страниц."
|
69 |
+
|
70 |
+
#: admin/pages/settings.php:113
|
71 |
+
msgid "Enable this if you want
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|