Version Description
- Fixed: Bug with Buddypress (forum issue BUG. Blank Edit buddypress page)
- Fixed: In version 1.2.0, changes were lost 1.9.1 and 1.9.2
- Fixed: Did not work function to remove XFN profiler
- Fixed: Changed the redirect type from 302 to 301 when you try go to through of page navigation.
- Fixed: Problems with translations
- Fixed: Remove comments function kill the tags <!--noindex--><!--/noindex-->
- Fixed: [Cyrlitera component] bug with transliteration of file names
- Added: [Cyrlitera component] - transliteration of cyrillic symbols into Latin alphabet, normalization of file names.
- Added: [Cyrlitera component] Forced transliteration for file names
- Added: [Cyrlitera component] Function of converting files to lowercase
- Added: [Cyrlitera component] Forced transliteration function
- Added: [Cyrlitera component] The function of redirecting old records to new ones
- Added: [Cyrlitera component] Ability to change the base of symbols of transliteration
- Added: [Cyrlitera component] Button for converting old posts, categories, tags
- Added: [Cyrlitera component] Button to restore old links
- Added: Compatibility with PHP 7.2
Download this release
Release Info
Developer | webcraftic |
Plugin | Clearfy – WordPress optimization plugin and disable ultimate tweaker |
Version | 1.2.1 |
Comparing to | |
See all releases |
Code changes from version 1.1.92 to 1.2.1
- admin/activation.php +43 -18
- admin/ajax/configurate.php +16 -10
- admin/ajax/import-settings.php +17 -5
- admin/ajax/index.php +0 -0
- admin/assets/css/components.css +43 -43
- admin/assets/css/general.css +338 -337
- admin/assets/css/index.php +0 -0
- admin/assets/img/asm-icon-128x128.png +0 -0
- admin/assets/img/ctr-icon-128x128.png +0 -0
- admin/assets/img/dan-icon-128x128.jpg +0 -0
- admin/assets/img/dan-icon-128x128.png +0 -0
- admin/assets/img/dic-icon-128x128.png +0 -0
- admin/assets/img/index.php +0 -0
- admin/assets/img/upm-icon-128x128.png +0 -0
- admin/assets/index.php +0 -0
- admin/assets/js/index.php +0 -0
- admin/boot.php +62 -37
- admin/includes/classes/class.group.php +23 -3
- admin/includes/classes/class.option.php +31 -4
- admin/includes/classes/class.pages.php +41 -4
- admin/includes/classes/index.php +0 -0
- admin/includes/index.php +0 -0
- admin/includes/options.php +100 -8
- admin/index.php +0 -0
- admin/pages/{additionally.php → advanced.php} +21 -31
- admin/pages/components.php +48 -28
- admin/pages/defence-privacy-code.php +90 -0
- admin/pages/defence.php +34 -47
- admin/pages/index.php +0 -0
- admin/pages/performance-google.php +258 -0
- admin/pages/performance-html-minify.php +154 -0
- admin/pages/{code-clean.php → performance.php} +120 -48
- admin/pages/privacy.php +0 -127
- admin/pages/quick-start.php +58 -50
- admin/pages/{double-pages.php → seo-double-pages.php} +47 -34
- admin/pages/seo.php +32 -36
- admin/pages/widgets.php +22 -9
- assets/js/css-lazy-load.js +101 -0
- assets/js/css-lazy-load.min.js +1 -0
- cache/local-ga.js +59 -0
- clearfy.php +26 -74
- components/assets-manager/admin/assets/css/general.css +455 -455
- components/assets-manager/admin/assets/css/index.php +0 -0
- components/assets-manager/admin/assets/index.php +0 -0
- components/assets-manager/admin/assets/js/index.php +0 -0
- components/assets-manager/admin/boot.php +46 -5
- components/assets-manager/admin/index.php +0 -0
- components/assets-manager/admin/pages/assets-manager.php +30 -72
- components/assets-manager/admin/pages/index.php +0 -0
- components/assets-manager/admin/pages/more-features.php +6 -2
- components/assets-manager/assets/css/assets-manager.css +229 -229
- components/assets-manager/assets/css/index.php +0 -0
- components/assets-manager/assets/img/index.php +0 -0
- components/assets-manager/assets/js/index.php +0 -0
- components/assets-manager/gonzales.php +25 -51
- components/assets-manager/includes/class.configurate-assets.php +32 -19
- components/assets-manager/includes/class.plugin.php +130 -0
- components/assets-manager/includes/index.php +0 -0
- components/assets-manager/index.php +0 -0
- components/assets-manager/languages/gonzales-fr_FR.mo +0 -0
- components/assets-manager/languages/gonzales-fr_FR.po +0 -171
- components/assets-manager/languages/gonzales-ru_RU.mo +0 -0
- components/assets-manager/languages/gonzales-ru_RU.po +85 -50
- components/assets-manager/languages/index.php +0 -0
- components/assets-manager/readme.txt +22 -2
- components/assets-manager/uninstall.php +1 -0
- components/comments-plus/admin/assets/css/general.css +455 -455
- components/comments-plus/admin/assets/css/index.php +0 -0
- components/comments-plus/admin/assets/index.php +0 -0
- components/comments-plus/admin/assets/js/index.php +0 -0
- components/comments-plus/admin/boot.php +6 -8
- components/comments-plus/admin/index.php +0 -0
- components/comments-plus/admin/pages/comments.php +83 -63
- components/comments-plus/admin/pages/delete-comments.php +52 -42
- components/comments-plus/admin/pages/index.php +0 -0
- components/comments-plus/admin/pages/more-features.php +6 -2
- components/comments-plus/assets/css/index.php +0 -0
- components/comments-plus/assets/index.php +0 -0
- components/comments-plus/assets/js/index.php +0 -0
- components/comments-plus/comments-plus.php +26 -52
- components/comments-plus/includes/class.plugin.php +133 -0
- components/comments-plus/includes/classes/class.configurate-comments.php +21 -15
- components/comments-plus/includes/classes/index.php +0 -0
- components/comments-plus/includes/index.php +0 -0
- components/comments-plus/index.php +0 -0
- components/comments-plus/languages/comments-plus-fr_FR.mo +0 -0
- components/comments-plus/languages/comments-plus-fr_FR.po +0 -302
- components/comments-plus/languages/comments-plus-ru_RU.mo +0 -0
- components/comments-plus/languages/comments-plus-ru_RU.po +95 -58
- components/comments-plus/languages/index.php +0 -0
- components/comments-plus/readme.txt +18 -2
- components/comments-plus/uninstall.php +1 -0
- components/cyrlitera/admin/activation.php +29 -0
- components/cyrlitera/admin/boot.php +180 -0
- components/cyrlitera/admin/index.php +0 -0
- components/cyrlitera/admin/options.php +229 -0
- components/cyrlitera/admin/pages/cyrlitera.php +85 -0
- components/cyrlitera/admin/pages/index.php +0 -0
- components/cyrlitera/admin/pages/more-features.php +16 -0
- components/cyrlitera/cyrlitera.php +60 -0
- components/cyrlitera/includes/class.helpers.php +257 -0
- components/cyrlitera/includes/class.plugin.php +136 -0
- components/cyrlitera/includes/classes/class.configurate-cyrlitera.php +227 -0
- components/cyrlitera/includes/classes/index.php +0 -0
- components/cyrlitera/includes/index.php +0 -0
- components/cyrlitera/index.php +0 -0
- components/cyrlitera/languages/cyrlitera-ru_RU.mo +0 -0
- components/cyrlitera/languages/cyrlitera-ru_RU.po +611 -0
- components/cyrlitera/languages/index.php +0 -0
- components/cyrlitera/libs/index.php +0 -0
- components/cyrlitera/readme.txt +108 -0
- components/cyrlitera/uninstall.php +14 -0
- components/cyrlitera/updates/010004.php +13 -0
- components/cyrlitera/updates/index.php +0 -0
- components/disable-admin-notices/admin/ajax/hide-notice.php +8 -5
- components/disable-admin-notices/admin/ajax/index.php +0 -0
- components/disable-admin-notices/admin/ajax/restore-notice.php +8 -5
- components/disable-admin-notices/admin/assets/css/index.php +0 -0
- components/disable-admin-notices/admin/assets/css/notifications-panel.css +65 -65
- components/disable-admin-notices/admin/assets/index.php +0 -0
- components/disable-admin-notices/admin/assets/js/index.php +0 -0
- components/disable-admin-notices/admin/boot.php +6 -16
- components/disable-admin-notices/admin/options.php +13 -12
- components/disable-admin-notices/admin/pages/index.php +0 -0
- components/disable-admin-notices/admin/pages/more-features.php +6 -2
- components/disable-admin-notices/admin/pages/notices.php +22 -21
- components/disable-admin-notices/disable-admin-notices.php +26 -52
- components/disable-admin-notices/includes/class.plugin.php +135 -0
- components/disable-admin-notices/includes/classes/class.configurate-notices.php +28 -8
- components/disable-admin-notices/includes/classes/index.php +0 -0
- components/disable-admin-notices/includes/index.php +0 -0
- components/disable-admin-notices/languages/disable-admin-notices-ru_RU.mo +0 -0
- components/disable-admin-notices/languages/disable-admin-notices-ru_RU.po +28 -28
- components/disable-admin-notices/languages/index.php +0 -0
- components/disable-admin-notices/libs/index.php +0 -0
- components/disable-admin-notices/readme.txt +12 -3
- components/disable-admin-notices/uninstall.php +1 -0
- components/hide-login-page/admin/boot.php +136 -0
- components/hide-login-page/admin/index.php +0 -0
- components/hide-login-page/admin/options.php +255 -0
- components/hide-login-page/admin/pages/hide-login.php +73 -0
- components/hide-login-page/admin/pages/index.php +0 -0
- components/hide-login-page/admin/pages/more-features.php +16 -0
- components/hide-login-page/hide-login-page.php +59 -0
- components/hide-login-page/includes/class.plugin.php +127 -0
- components/hide-login-page/includes/classes/class.configurate-hide-login-page.php +247 -0
- components/hide-login-page/includes/classes/index.php +0 -0
- components/hide-login-page/includes/index.php +0 -0
- components/hide-login-page/index.php +0 -0
- components/hide-login-page/languages/hide_login_page-ru_RU.mo +0 -0
- components/hide-login-page/languages/hide_login_page-ru_RU.po +191 -0
- components/hide-login-page/languages/index.php +0 -0
- components/hide-login-page/libs/index.php +0 -0
- components/hide-login-page/readme.txt +34 -0
- components/hide-login-page/uninstall.php +13 -0
- components/index.php +0 -0
- components/updates-manager/admin/assets/css/general.css +35 -35
- components/updates-manager/admin/assets/css/index.php +0 -0
- components/updates-manager/admin/assets/index.php +0 -0
- components/updates-manager/admin/assets/js/index.php +0 -0
- components/updates-manager/admin/boot.php +48 -8
- components/updates-manager/admin/index.php +0 -0
- components/updates-manager/admin/pages/advanced.php +36 -31
- components/updates-manager/admin/pages/index.php +0 -0
- components/updates-manager/admin/pages/more-features.php +6 -2
- components/updates-manager/admin/pages/plugins.php +52 -21
- components/updates-manager/admin/pages/updates.php +23 -7
- components/updates-manager/includes/class.plugin.php +135 -0
- components/updates-manager/includes/classes/class.configurate-updates.php +85 -10
- components/updates-manager/includes/classes/index.php +0 -0
- components/updates-manager/includes/index.php +0 -0
- components/updates-manager/index.php +0 -0
- components/updates-manager/languages/index.php +0 -0
- components/updates-manager/languages/webcraftic-updates-manager-fr_FR.mo +0 -0
- components/updates-manager/languages/webcraftic-updates-manager-fr_FR.po +0 -247
- components/updates-manager/languages/webcraftic-updates-manager-it-IT.mo +0 -0
- components/updates-manager/languages/webcraftic-updates-manager-it-IT.po +0 -184
- components/updates-manager/languages/webcraftic-updates-manager-ru_RU.mo +0 -0
- components/updates-manager/languages/webcraftic-updates-manager-ru_RU.po +115 -57
- components/updates-manager/libs/index.php +0 -0
- components/updates-manager/readme.txt +18 -13
- components/updates-manager/uninstall.php +2 -2
- components/updates-manager/webcraftic-updates-manager.php +20 -51
- includes/class.plugin.php +255 -0
- includes/classes/class.configurate-advanced.php +33 -23
- includes/classes/class.configurate-google-performance.php +490 -0
- includes/classes/{class.configurate-code-clean.php → class.configurate-performance.php} +243 -117
- includes/classes/class.configurate-privacy.php +35 -35
- includes/classes/class.configurate-security.php +26 -9
- includes/classes/class.configurate-seo.php +58 -41
- includes/classes/class.wordpress-sanitize.php +0 -320
- includes/classes/class.zip-archive.php +5 -0
- includes/classes/index.php +0 -0
- includes/functions.php +0 -277
- includes/helpers.php +320 -0
- includes/index.php +0 -0
- includes/update-local-ga.php +81 -0
- index.php +0 -0
- languages/clearfy-fr_FR.mo +0 -0
- languages/clearfy-fr_FR.po +0 -1312
- languages/clearfy-it_IT.mo +0 -0
- languages/clearfy-it_IT.po +0 -1324
- languages/clearfy-ru_RU.mo +0 -0
- languages/clearfy-ru_RU.po +3067 -2362
admin/activation.php
CHANGED
@@ -4,35 +4,60 @@
|
|
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 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
|
12 |
/**
|
13 |
* Runs activation actions.
|
14 |
*
|
15 |
* @since 1.0.0
|
16 |
*/
|
17 |
-
|
18 |
-
|
19 |
-
|
|
|
|
|
|
|
20 |
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
}*/
|
26 |
|
27 |
-
|
|
|
|
|
28 |
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
}
|
34 |
|
35 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
}
|
37 |
-
|
38 |
-
add_filter('factory_cancel_plugin_deactivation_bizpanda', 'bizpanda_cancel_plugin_deactivation');*/
|
4 |
* Activator for the clearfy
|
5 |
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
6 |
* @copyright (c) 09.09.2017, Webcraftic
|
7 |
+
* @see Factory400_Activator
|
8 |
* @version 1.0
|
9 |
*/
|
10 |
+
|
11 |
+
// Exit if accessed directly
|
12 |
+
if( !defined('ABSPATH') ) {
|
13 |
+
exit;
|
14 |
+
}
|
15 |
+
|
16 |
+
class WCL_Activation extends Wbcr_Factory400_Activator {
|
17 |
|
18 |
/**
|
19 |
* Runs activation actions.
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
*/
|
23 |
+
public function activate()
|
24 |
+
{
|
25 |
+
// Deactivate yoast component features if it is not activated
|
26 |
+
if( !defined('WPSEO_VERSION') ) {
|
27 |
+
WCL_Plugin::app()->deactivateComponent('yoast_seo');
|
28 |
+
}
|
29 |
|
30 |
+
// Deactivate cyrlitera component for all languages except selected
|
31 |
+
if( !in_array(get_locale(), array('ru_RU', 'bel', 'kk', 'uk', 'bg', 'bg_BG', 'ka_GE')) ) {
|
32 |
+
WCL_Plugin::app()->deactivateComponent('cyrlitera');
|
33 |
+
}
|
|
|
34 |
|
35 |
+
// Caching google analytics on a schedule
|
36 |
+
//----------------------------------------
|
37 |
+
$ga_cache = WCL_Plugin::app()->getOption('ga_cache');
|
38 |
|
39 |
+
if( $ga_cache ) {
|
40 |
+
wp_clear_scheduled_hook('wbcr_clearfy_update_local_ga');
|
41 |
+
|
42 |
+
if( !wp_next_scheduled('wbcr_clearfy_update_local_ga') ) {
|
43 |
+
$ga_caos_remove_wp_cron = WCL_Plugin::app()->getOption('ga_caos_remove_wp_cron');
|
44 |
+
|
45 |
+
if( !$ga_caos_remove_wp_cron ) {
|
46 |
+
wp_schedule_event(time(), 'daily', 'wbcr_clearfy_update_local_ga');
|
47 |
+
}
|
48 |
+
}
|
49 |
+
}
|
50 |
}
|
51 |
|
52 |
+
/**
|
53 |
+
* Runs activation actions.
|
54 |
+
*
|
55 |
+
* @since 1.0.0
|
56 |
+
*/
|
57 |
+
public function deactivate()
|
58 |
+
{
|
59 |
+
if( wp_next_scheduled('wbcr_clearfy_update_local_ga') ) {
|
60 |
+
wp_clear_scheduled_hook('wbcr_clearfy_update_local_ga');
|
61 |
+
}
|
62 |
+
}
|
63 |
}
|
|
|
|
admin/ajax/configurate.php
CHANGED
@@ -6,10 +6,13 @@
|
|
6 |
* @version 1.0
|
7 |
*/
|
8 |
|
|
|
|
|
|
|
|
|
|
|
9 |
function wbcr_clearfy_configurate_plugin()
|
10 |
{
|
11 |
-
global $wbcr_clearfy_plugin;
|
12 |
-
|
13 |
check_ajax_referer('wbcr_clearfy_ajax_quick_start_nonce', 'security');
|
14 |
|
15 |
if( !current_user_can('manage_options') ) {
|
@@ -26,11 +29,10 @@
|
|
26 |
exit;
|
27 |
}
|
28 |
|
29 |
-
$opt_prefix = $wbcr_clearfy_plugin->pluginName . '_';
|
30 |
-
|
31 |
if( $mode_name != 'reset' ) {
|
32 |
|
33 |
-
$
|
|
|
34 |
$mode_options = $group->getOptions();
|
35 |
|
36 |
if( empty($mode_options) ) {
|
@@ -48,16 +50,20 @@
|
|
48 |
$set_value = $option_value;
|
49 |
}
|
50 |
|
51 |
-
|
|
|
|
|
52 |
}
|
53 |
} else {
|
54 |
-
$
|
|
|
55 |
|
56 |
if( !empty($all_options) ) {
|
57 |
foreach($all_options as $option) {
|
58 |
-
|
59 |
-
delete_option($opt_prefix . $option->getName() . '_is_active');
|
60 |
}
|
|
|
|
|
61 |
}
|
62 |
}
|
63 |
|
@@ -72,7 +78,7 @@
|
|
72 |
$GLOBALS['wp_fastest_cache']->deleteCache();
|
73 |
}
|
74 |
|
75 |
-
echo json_encode(array('status' => 'success', 'export_options' =>
|
76 |
exit;
|
77 |
}
|
78 |
|
6 |
* @version 1.0
|
7 |
*/
|
8 |
|
9 |
+
// Exit if accessed directly
|
10 |
+
if( !defined('ABSPATH') ) {
|
11 |
+
exit;
|
12 |
+
}
|
13 |
+
|
14 |
function wbcr_clearfy_configurate_plugin()
|
15 |
{
|
|
|
|
|
16 |
check_ajax_referer('wbcr_clearfy_ajax_quick_start_nonce', 'security');
|
17 |
|
18 |
if( !current_user_can('manage_options') ) {
|
29 |
exit;
|
30 |
}
|
31 |
|
|
|
|
|
32 |
if( $mode_name != 'reset' ) {
|
33 |
|
34 |
+
$update_options = array();
|
35 |
+
$group = WCL_Group::getInstance($mode_name);
|
36 |
$mode_options = $group->getOptions();
|
37 |
|
38 |
if( empty($mode_options) ) {
|
50 |
$set_value = $option_value;
|
51 |
}
|
52 |
|
53 |
+
$update_options[$option_name] = $set_value;
|
54 |
+
|
55 |
+
WCL_Plugin::app()->updateOptions($update_options);
|
56 |
}
|
57 |
} else {
|
58 |
+
$delete_options = array();
|
59 |
+
$all_options = WCL_Option::getAllOptions();
|
60 |
|
61 |
if( !empty($all_options) ) {
|
62 |
foreach($all_options as $option) {
|
63 |
+
$delete_options[] = $option->getName();
|
|
|
64 |
}
|
65 |
+
|
66 |
+
WCL_Plugin::app()->deleteOptions($delete_options);
|
67 |
}
|
68 |
}
|
69 |
|
78 |
$GLOBALS['wp_fastest_cache']->deleteCache();
|
79 |
}
|
80 |
|
81 |
+
echo json_encode(array('status' => 'success', 'export_options' => WCL_Helper::getExportOptions()));
|
82 |
exit;
|
83 |
}
|
84 |
|
admin/ajax/import-settings.php
CHANGED
@@ -6,9 +6,14 @@
|
|
6 |
* @version 1.0
|
7 |
*/
|
8 |
|
|
|
|
|
|
|
|
|
|
|
9 |
function wbcr_clearfy_import_settings()
|
10 |
{
|
11 |
-
global $wpdb
|
12 |
|
13 |
check_ajax_referer('wbcr_clearfy_ajax_quick_start_nonce', 'security');
|
14 |
|
@@ -17,7 +22,7 @@
|
|
17 |
exit;
|
18 |
}
|
19 |
|
20 |
-
$settings =
|
21 |
|
22 |
if( empty($settings) ) {
|
23 |
echo json_encode(array('error' => __('Settings are not defined or do not exist.', 'clearfy')));
|
@@ -32,7 +37,7 @@
|
|
32 |
$option_name = sanitize_text_field($option_name);
|
33 |
$option_value = wp_kses_post($option_value);
|
34 |
|
35 |
-
if(
|
36 |
$site_url = get_home_url();
|
37 |
$dir_host_without_scheme = preg_replace("(^https?://)", "", $site_url);
|
38 |
$dir_host = $dir_host_without_scheme;
|
@@ -48,7 +53,7 @@
|
|
48 |
}
|
49 |
|
50 |
if( preg_match('/Sitemap:\s?(.*)/', $option_value, $matches) ) {
|
51 |
-
$site_map_url =
|
52 |
|
53 |
if( filter_var($site_map_url, FILTER_VALIDATE_URL) ) {
|
54 |
$url_parts = parse_url($site_map_url);
|
@@ -67,7 +72,14 @@
|
|
67 |
|
68 |
$query .= implode(', ', $place_holders);
|
69 |
|
70 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
71 |
$wpdb->query($wpdb->prepare("$query ", $values));
|
72 |
|
73 |
echo json_encode(array('status' => 'success'));
|
6 |
* @version 1.0
|
7 |
*/
|
8 |
|
9 |
+
// Exit if accessed directly
|
10 |
+
if( !defined('ABSPATH') ) {
|
11 |
+
exit;
|
12 |
+
}
|
13 |
+
|
14 |
function wbcr_clearfy_import_settings()
|
15 |
{
|
16 |
+
global $wpdb;
|
17 |
|
18 |
check_ajax_referer('wbcr_clearfy_ajax_quick_start_nonce', 'security');
|
19 |
|
22 |
exit;
|
23 |
}
|
24 |
|
25 |
+
$settings = WCL_Helper::maybeGetPostJson('settings');
|
26 |
|
27 |
if( empty($settings) ) {
|
28 |
echo json_encode(array('error' => __('Settings are not defined or do not exist.', 'clearfy')));
|
37 |
$option_name = sanitize_text_field($option_name);
|
38 |
$option_value = wp_kses_post($option_value);
|
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);
|
43 |
$dir_host = $dir_host_without_scheme;
|
53 |
}
|
54 |
|
55 |
if( preg_match('/Sitemap:\s?(.*)/', $option_value, $matches) ) {
|
56 |
+
$site_map_url = $matches[1];
|
57 |
|
58 |
if( filter_var($site_map_url, FILTER_VALIDATE_URL) ) {
|
59 |
$url_parts = parse_url($site_map_url);
|
72 |
|
73 |
$query .= implode(', ', $place_holders);
|
74 |
|
75 |
+
// Очищаем все опции
|
76 |
+
$wpdb->query("DELETE FROM {$wpdb->prefix}options WHERE option_name LIKE '%" . WCL_Plugin::app()
|
77 |
+
->getPrefix() . "_%';");
|
78 |
+
|
79 |
+
// Сбрасываем кеш опций
|
80 |
+
WCL_Plugin::app()->flushOptionsCache();
|
81 |
+
|
82 |
+
// Импортируем опции
|
83 |
$wpdb->query($wpdb->prepare("$query ", $values));
|
84 |
|
85 |
echo json_encode(array('status' => 'success'));
|
admin/ajax/index.php
ADDED
File without changes
|
admin/assets/css/components.css
CHANGED
@@ -1,43 +1,43 @@
|
|
1 |
-
/**
|
2 |
-
* Page components
|
3 |
-
* @author Alex Kovalev <alex.kovalevv@gmail.com>
|
4 |
-
* @copyright Alex Kovalev 30.09.2017
|
5 |
-
*/
|
6 |
-
#WBCR .wbcr-clearfy-components {
|
7 |
-
padding: 20px;
|
8 |
-
}
|
9 |
-
#WBCR .wbcr-clearfy-components .plugin-card .plugin-card-top {
|
10 |
-
min-height: 163px;
|
11 |
-
}
|
12 |
-
#WBCR .wbcr-clearfy-components .plugin-card .desc,
|
13 |
-
#WBCR .wbcr-clearfy-components .plugin-card .name {
|
14 |
-
margin-right: 0 !important;
|
15 |
-
}
|
16 |
-
#WBCR .wbcr-clearfy-components .plugin-card .name h3 {
|
17 |
-
font-size: 17px;
|
18 |
-
margin-top: 0 !important;
|
19 |
-
}
|
20 |
-
#WBCR .wbcr-clearfy-components .plugin-card .install-now {
|
21 |
-
float: right;
|
22 |
-
}
|
23 |
-
#WBCR .wbcr-clearfy-components .plugin-card a.open-plugin-details-modal {
|
24 |
-
color: #5c5d5f;
|
25 |
-
text-decoration: none;
|
26 |
-
font-weight: 600;
|
27 |
-
font-size: 15px;
|
28 |
-
}
|
29 |
-
#WBCR .wbcr-clearfy-components .plugin-card.plugin-status-deactive {
|
30 |
-
background-color: #f9f2f1;
|
31 |
-
}
|
32 |
-
#WBCR .wbcr-clearfy-components .plugin-card.plugin-status-deactive a.open-plugin-details-modal {
|
33 |
-
color: #ababab;
|
34 |
-
text-decoration: none;
|
35 |
-
font-weight: 600;
|
36 |
-
font-size: 15px;
|
37 |
-
}
|
38 |
-
#WBCR .wbcr-clearfy-components .plugin-card.plugin-status-deactive .plugin-icon {
|
39 |
-
opacity: 0.3;
|
40 |
-
}
|
41 |
-
#WBCR .wbcr-clearfy-components .plugin-card.plugin-status-deactive .desc {
|
42 |
-
color: #afafaf;
|
43 |
-
}
|
1 |
+
/**
|
2 |
+
* Page components
|
3 |
+
* @author Alex Kovalev <alex.kovalevv@gmail.com>
|
4 |
+
* @copyright Alex Kovalev 30.09.2017
|
5 |
+
*/
|
6 |
+
#WBCR .wbcr-clearfy-components {
|
7 |
+
padding: 20px;
|
8 |
+
}
|
9 |
+
#WBCR .wbcr-clearfy-components .plugin-card .plugin-card-top {
|
10 |
+
min-height: 163px;
|
11 |
+
}
|
12 |
+
#WBCR .wbcr-clearfy-components .plugin-card .desc,
|
13 |
+
#WBCR .wbcr-clearfy-components .plugin-card .name {
|
14 |
+
margin-right: 0 !important;
|
15 |
+
}
|
16 |
+
#WBCR .wbcr-clearfy-components .plugin-card .name h3 {
|
17 |
+
font-size: 17px;
|
18 |
+
margin-top: 0 !important;
|
19 |
+
}
|
20 |
+
#WBCR .wbcr-clearfy-components .plugin-card .install-now {
|
21 |
+
float: right;
|
22 |
+
}
|
23 |
+
#WBCR .wbcr-clearfy-components .plugin-card a.open-plugin-details-modal {
|
24 |
+
color: #5c5d5f;
|
25 |
+
text-decoration: none;
|
26 |
+
font-weight: 600;
|
27 |
+
font-size: 15px;
|
28 |
+
}
|
29 |
+
#WBCR .wbcr-clearfy-components .plugin-card.plugin-status-deactive {
|
30 |
+
background-color: #f9f2f1;
|
31 |
+
}
|
32 |
+
#WBCR .wbcr-clearfy-components .plugin-card.plugin-status-deactive a.open-plugin-details-modal {
|
33 |
+
color: #ababab;
|
34 |
+
text-decoration: none;
|
35 |
+
font-weight: 600;
|
36 |
+
font-size: 15px;
|
37 |
+
}
|
38 |
+
#WBCR .wbcr-clearfy-components .plugin-card.plugin-status-deactive .plugin-icon {
|
39 |
+
opacity: 0.3;
|
40 |
+
}
|
41 |
+
#WBCR .wbcr-clearfy-components .plugin-card.plugin-status-deactive .desc {
|
42 |
+
color: #afafaf;
|
43 |
+
}
|
admin/assets/css/general.css
CHANGED
@@ -1,337 +1,338 @@
|
|
1 |
-
/**
|
2 |
-
* General styles
|
3 |
-
* @author Alex Kovalev <alex.kovalevv@gmail.com>
|
4 |
-
* @copyright Alex Kovalev 23.08.2017
|
5 |
-
*/
|
6 |
-
#WBCR .wbcr-content-section,
|
7 |
-
#WBCR .wbcr-right-sidebar-section {
|
8 |
-
display: inline-block;
|
9 |
-
vertical-align: top;
|
10 |
-
}
|
11 |
-
#WBCR .wbcr-content-section {
|
12 |
-
width: 50%;
|
13 |
-
}
|
14 |
-
#WBCR .wbcr-right-sidebar-section {
|
15 |
-
width: 49%;
|
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 |
-
#WBCR .wbcr-clearfy-switch-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
font-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
border:
|
81 |
-
border
|
82 |
-
|
83 |
-
color: #
|
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 |
-
transition: all 0.2s ease-out;
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
color:
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
}
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch .
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch .
|
130 |
-
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
margin-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
}
|
149 |
-
|
150 |
-
|
151 |
-
color: #
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
color: #
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-switch-mode-recommended .
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
color: #
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
color: #
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
-
|
189 |
-
-
|
190 |
-
-
|
191 |
-
transition: all 0.3s ease-out;
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
font-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
color: #
|
206 |
-
|
207 |
-
|
208 |
-
color: #
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
color: #
|
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 |
-
overflow-
|
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 |
-
#WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-popup-buttons button
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
#WBCR .wbcr-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
}
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
#WBCR .wbcr-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
}
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
}
|
|
1 |
+
/**
|
2 |
+
* General styles
|
3 |
+
* @author Alex Kovalev <alex.kovalevv@gmail.com>
|
4 |
+
* @copyright Alex Kovalev 23.08.2017
|
5 |
+
*/
|
6 |
+
#WBCR .wbcr-content-section,
|
7 |
+
#WBCR .wbcr-right-sidebar-section {
|
8 |
+
display: inline-block;
|
9 |
+
vertical-align: top;
|
10 |
+
}
|
11 |
+
#WBCR .wbcr-content-section {
|
12 |
+
width: 50%;
|
13 |
+
}
|
14 |
+
#WBCR .wbcr-right-sidebar-section {
|
15 |
+
width: 49%;
|
16 |
+
padding-top: 20px;
|
17 |
+
}
|
18 |
+
#WBCR .wbcr-clearfy-group-header {
|
19 |
+
background: #efefef;
|
20 |
+
padding: 20px 0 10px 20px;
|
21 |
+
margin: 30px 0;
|
22 |
+
box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
|
23 |
+
}
|
24 |
+
#WBCR .wbcr-clearfy-group-header:first-child {
|
25 |
+
margin-top: 0;
|
26 |
+
}
|
27 |
+
#WBCR .wbcr-clearfy-group-header strong {
|
28 |
+
font-size: 15px;
|
29 |
+
}
|
30 |
+
#WBCR .wbcr-clearfy-group-header p {
|
31 |
+
color: #8c8888;
|
32 |
+
font-size: 12px;
|
33 |
+
}
|
34 |
+
#WBCR .wbcr-clearfy-board {
|
35 |
+
background: #f9f8f8;
|
36 |
+
box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.1);
|
37 |
+
padding: 20px;
|
38 |
+
margin-bottom: 20px;
|
39 |
+
min-width: 350px;
|
40 |
+
}
|
41 |
+
#WBCR #wbcr-clearfy-quick-mode-board h4 {
|
42 |
+
margin-top: 30px;
|
43 |
+
}
|
44 |
+
#WBCR .wbcr-clearfy-switch-success-message,
|
45 |
+
#WBCR .wbcr-clearfy-switch-error-message {
|
46 |
+
display: none;
|
47 |
+
padding: 15px 20px;
|
48 |
+
font-size: 13px;
|
49 |
+
font-weight: bold;
|
50 |
+
margin: 0 0 15px;
|
51 |
+
border-radius: 4px;
|
52 |
+
}
|
53 |
+
#WBCR .wbcr-clearfy-switch-success-message {
|
54 |
+
background: #e5f9ce;
|
55 |
+
border-bottom: 3px solid #d3eab9;
|
56 |
+
color: #56614a;
|
57 |
+
}
|
58 |
+
#WBCR .wbcr-clearfy-switch-error-message {
|
59 |
+
background: #fdc6c2;
|
60 |
+
border-bottom: 3px solid #e2a19c;
|
61 |
+
color: #bd6963;
|
62 |
+
}
|
63 |
+
#WBCR .wbcr-clearfy-export-import-board {
|
64 |
+
text-align: right;
|
65 |
+
}
|
66 |
+
#WBCR .wbcr-clearfy-export-import-board label {
|
67 |
+
display: block;
|
68 |
+
width: 100%;
|
69 |
+
text-align: left;
|
70 |
+
padding: 7px 0;
|
71 |
+
}
|
72 |
+
#WBCR .wbcr-clearfy-export-import-board #wbcr-clearfy-import-export {
|
73 |
+
width: 100%;
|
74 |
+
box-sizing: border-box;
|
75 |
+
height: 150px;
|
76 |
+
line-height: inherit;
|
77 |
+
margin: 0;
|
78 |
+
padding: 7px 14px;
|
79 |
+
box-shadow: none;
|
80 |
+
border-radius: 3px;
|
81 |
+
border: 1px solid #eee;
|
82 |
+
border-top-color: #dedede;
|
83 |
+
background-color: #f1f1f1;
|
84 |
+
color: #444;
|
85 |
+
transition: border-color 0.3s;
|
86 |
+
-webkit-appearance: none;
|
87 |
+
}
|
88 |
+
#WBCR .wbcr-clearfy-export-import-board .wbcr-clearfy-import-options-button {
|
89 |
+
display: inline-block;
|
90 |
+
margin-top: 10px;
|
91 |
+
}
|
92 |
+
#WBCR #wbcr-clearfy-quick-mode-board {
|
93 |
+
padding: 20px;
|
94 |
+
}
|
95 |
+
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch {
|
96 |
+
position: relative;
|
97 |
+
padding: 15px 20px;
|
98 |
+
font-size: 12px;
|
99 |
+
text-transform: uppercase;
|
100 |
+
background: #f1f1f1;
|
101 |
+
color: #6d6d6d;
|
102 |
+
font-weight: bold;
|
103 |
+
border-radius: 5px;
|
104 |
+
margin-top: 10px;
|
105 |
+
text-align: left;
|
106 |
+
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
|
107 |
+
-webkit-transition: all 0.2s ease-out;
|
108 |
+
-moz-transition: all 0.2s ease-out;
|
109 |
+
-o-transition: all 0.2s ease-out;
|
110 |
+
transition: all 0.2s ease-out;
|
111 |
+
/*&.wbcr-clearfy-mode-reset:hover {
|
112 |
+
& .wbcr-clearfy-button-activate-mode {
|
113 |
+
background-color: #fb7976;
|
114 |
+
color: darken(#fb7976, 50%);
|
115 |
+
&:hover {
|
116 |
+
background-color: lighten(#fb7976, 3%);
|
117 |
+
}
|
118 |
+
}
|
119 |
+
}*/
|
120 |
+
}
|
121 |
+
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch:after {
|
122 |
+
display: block;
|
123 |
+
clear: both;
|
124 |
+
}
|
125 |
+
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch .fa,
|
126 |
+
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch .dashicons {
|
127 |
+
font-size: 25px;
|
128 |
+
}
|
129 |
+
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch .fa,
|
130 |
+
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch .dashicons,
|
131 |
+
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch span {
|
132 |
+
display: inline-block !important;
|
133 |
+
}
|
134 |
+
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch span {
|
135 |
+
margin-left: 15px;
|
136 |
+
margin-top: 3px;
|
137 |
+
}
|
138 |
+
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-active {
|
139 |
+
/*.fa, .dashicons:before {
|
140 |
+
color: #8bc34a;
|
141 |
+
}
|
142 |
+
|
143 |
+
& .wbcr-clearfy-button-activate-mode {
|
144 |
+
display: none !important;
|
145 |
+
}
|
146 |
+
& .wbcr-clearfy-button-deativate-mode {
|
147 |
+
display: inline-block !important;
|
148 |
+
}*/
|
149 |
+
}
|
150 |
+
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-active .wbcr-clearfy-button-activate-mode {
|
151 |
+
background-color: #f7f7f7 !important;
|
152 |
+
color: #e0e0e0 !important;
|
153 |
+
cursor: default;
|
154 |
+
}
|
155 |
+
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-switch-mode-reset .wbcr-clearfy-switch-confirmation {
|
156 |
+
width: 130px;
|
157 |
+
}
|
158 |
+
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-switch-mode-reset .wbcr-clearfy-switch-confirmation .wbcr-clearfy-button-activate-mode {
|
159 |
+
width: 130px;
|
160 |
+
background-color: #fdd599;
|
161 |
+
color: #a57b3c;
|
162 |
+
}
|
163 |
+
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-switch-mode-reset .wbcr-clearfy-switch-confirmation .wbcr-clearfy-button-activate-mode:hover {
|
164 |
+
background-color: #fddba8;
|
165 |
+
}
|
166 |
+
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-switch-mode-recommended .fa,
|
167 |
+
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-switch-mode-recommended .dashicons:before {
|
168 |
+
color: #8bc34a;
|
169 |
+
}
|
170 |
+
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-switch-mode-recommended .wbcr-clearfy-button-activate-mode {
|
171 |
+
background-color: #c9deb2;
|
172 |
+
color: #586549;
|
173 |
+
}
|
174 |
+
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-switch-mode-recommended .wbcr-clearfy-button-activate-mode:hover {
|
175 |
+
background-color: #d1e3bd;
|
176 |
+
}
|
177 |
+
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-loading .wbcr-clearfy-switch-confirmation button {
|
178 |
+
background-color: #f7f7f7 !important;
|
179 |
+
color: #e0e0e0 !important;
|
180 |
+
cursor: default !important;
|
181 |
+
}
|
182 |
+
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch .wbcr-clearfy-switch-confirmation {
|
183 |
+
position: absolute;
|
184 |
+
top: 0;
|
185 |
+
right: 20px;
|
186 |
+
bottom: 0;
|
187 |
+
width: 100px;
|
188 |
+
text-align: right;
|
189 |
+
-webkit-transition: all 0.3s ease-out;
|
190 |
+
-moz-transition: all 0.3s ease-out;
|
191 |
+
-o-transition: all 0.3s ease-out;
|
192 |
+
transition: all 0.3s ease-out;
|
193 |
+
}
|
194 |
+
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch .wbcr-clearfy-switch-confirmation button {
|
195 |
+
display: inline-block;
|
196 |
+
width: 100px;
|
197 |
+
margin: 12px 0 0;
|
198 |
+
border: 0;
|
199 |
+
box-shadow: none;
|
200 |
+
padding: 5px 10px;
|
201 |
+
font-weight: bold;
|
202 |
+
font-size: 13px;
|
203 |
+
border-radius: 3px;
|
204 |
+
outline: none;
|
205 |
+
background-color: #dedede;
|
206 |
+
color: #808080;
|
207 |
+
/*&.wbcr-clearfy-button-activate-mode {
|
208 |
+
background-color: #c9deb2;
|
209 |
+
color: #586549;
|
210 |
+
&:hover {
|
211 |
+
background-color: lighten(#c9deb2, 3%);
|
212 |
+
}
|
213 |
+
}
|
214 |
+
&.wbcr-clearfy-button-deativate-mode {
|
215 |
+
display: none;
|
216 |
+
background-color: #fdd599;
|
217 |
+
color: #a57b3c;
|
218 |
+
margin-right: 0;
|
219 |
+
&:hover {
|
220 |
+
background-color: lighten(#fdd599, 3%);
|
221 |
+
}
|
222 |
+
}*/
|
223 |
+
}
|
224 |
+
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch .wbcr-clearfy-switch-confirmation button:hover {
|
225 |
+
background-color: #d6d6d6;
|
226 |
+
}
|
227 |
+
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch .wbcr-clearfy-switch-confirmation button:active {
|
228 |
+
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.5);
|
229 |
+
}
|
230 |
+
#WBCR .wbcr-clearfy-layer {
|
231 |
+
display: none;
|
232 |
+
position: absolute;
|
233 |
+
top: 0;
|
234 |
+
left: 0;
|
235 |
+
right: 0;
|
236 |
+
bottom: 0;
|
237 |
+
background: rgba(255, 235, 59, 0.18);
|
238 |
+
z-index: 9;
|
239 |
+
}
|
240 |
+
#WBCR .wbcr-clearfy-confirm-popup {
|
241 |
+
display: none;
|
242 |
+
position: absolute;
|
243 |
+
top: 50%;
|
244 |
+
left: 50%;
|
245 |
+
width: 500px;
|
246 |
+
height: 400px;
|
247 |
+
margin: -200px 0 0 -250px;
|
248 |
+
padding: 20px;
|
249 |
+
background: rgba(255, 255, 255, 0.82);
|
250 |
+
box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
|
251 |
+
border: 4px solid rgba(216, 210, 171, 0.44);
|
252 |
+
z-index: 99;
|
253 |
+
}
|
254 |
+
#WBCR .wbcr-clearfy-confirm-popup h3 {
|
255 |
+
font-size: 17px;
|
256 |
+
text-align: center;
|
257 |
+
font-weight: bold;
|
258 |
+
margin: 5px 0 0;
|
259 |
+
}
|
260 |
+
#WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-reset-warning-message {
|
261 |
+
display: none;
|
262 |
+
text-align: center;
|
263 |
+
}
|
264 |
+
#WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-list-options {
|
265 |
+
display: none;
|
266 |
+
height: 230px;
|
267 |
+
overflow-y: auto;
|
268 |
+
overflow-x: hidden;
|
269 |
+
padding-left: 40px;
|
270 |
+
list-style: decimal;
|
271 |
+
margin: 20px 0;
|
272 |
+
}
|
273 |
+
#WBCR .wbcr-clearfy-confirm-popup.wbcr-clearfy-default-warning-options .wbcr-clearfy-list-options {
|
274 |
+
display: block;
|
275 |
+
}
|
276 |
+
#WBCR .wbcr-clearfy-confirm-popup.wbcr-clearfy-reset-warning-options {
|
277 |
+
height: 200px;
|
278 |
+
margin: -100px 0 0 -250px;
|
279 |
+
}
|
280 |
+
#WBCR .wbcr-clearfy-confirm-popup.wbcr-clearfy-reset-warning-options .wbcr-clearfy-reset-warning-message {
|
281 |
+
display: block;
|
282 |
+
margin: 10px 0;
|
283 |
+
}
|
284 |
+
#WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-popup-buttons {
|
285 |
+
text-align: center;
|
286 |
+
padding: 10px;
|
287 |
+
}
|
288 |
+
#WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-popup-buttons button {
|
289 |
+
display: inline-block;
|
290 |
+
padding: 7px 25px;
|
291 |
+
box-shadow: none;
|
292 |
+
border: 0;
|
293 |
+
font-weight: bold;
|
294 |
+
}
|
295 |
+
#WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-popup-buttons button,
|
296 |
+
#WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-popup-buttons button:focus {
|
297 |
+
outline: 0 !important;
|
298 |
+
box-shadow: none !important;
|
299 |
+
}
|
300 |
+
#WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-popup-buttons button.wbcr-clearfy-popup-button-ok {
|
301 |
+
background: #FFEB3B;
|
302 |
+
color: #564f0d;
|
303 |
+
}
|
304 |
+
#WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-popup-buttons button.wbcr-clearfy-cancel-mode {
|
305 |
+
background: #d6d6d6;
|
306 |
+
color: #5f5d5d;
|
307 |
+
}
|
308 |
+
@media screen and (max-width: 1380px) {
|
309 |
+
#WBCR #wbcr-clearfy-quick-mode-board {
|
310 |
+
min-width: 450px;
|
311 |
+
padding-right: 0;
|
312 |
+
}
|
313 |
+
#WBCR .wbcr-content-section,
|
314 |
+
#WBCR .wbcr-right-sidebar-section {
|
315 |
+
width: 100%;
|
316 |
+
}
|
317 |
+
#WBCR .wbcr-clearfy-export-import-board {
|
318 |
+
margin-top: 20px;
|
319 |
+
}
|
320 |
+
}
|
321 |
+
@media screen and (max-width: 950px) {
|
322 |
+
#WBCR #wbcr-clearfy-quick-mode-board {
|
323 |
+
min-width: 100%;
|
324 |
+
}
|
325 |
+
#WBCR .wbcr-content-section,
|
326 |
+
#WBCR .wbcr-right-sidebar-section {
|
327 |
+
width: 100%;
|
328 |
+
}
|
329 |
+
#WBCR .wbcr-clearfy-board {
|
330 |
+
width: 100%;
|
331 |
+
min-width: 100%;
|
332 |
+
}
|
333 |
+
}
|
334 |
+
@media screen and (max-width: 550px) {
|
335 |
+
#WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch span {
|
336 |
+
font-size: 0 !important;
|
337 |
+
}
|
338 |
+
}
|
admin/assets/css/index.php
ADDED
File without changes
|
admin/assets/img/asm-icon-128x128.png
CHANGED
Binary file
|
admin/assets/img/ctr-icon-128x128.png
ADDED
Binary file
|
admin/assets/img/dan-icon-128x128.jpg
DELETED
Binary file
|
admin/assets/img/dan-icon-128x128.png
ADDED
Binary file
|
admin/assets/img/dic-icon-128x128.png
CHANGED
Binary file
|
admin/assets/img/index.php
ADDED
File without changes
|
admin/assets/img/upm-icon-128x128.png
CHANGED
Binary file
|
admin/assets/index.php
ADDED
File without changes
|
admin/assets/js/index.php
ADDED
File without changes
|
admin/boot.php
CHANGED
@@ -6,38 +6,44 @@
|
|
6 |
* @version 1.0
|
7 |
*/
|
8 |
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
require_once(WBCR_CLR_PLUGIN_DIR . '/admin/activation.php');
|
14 |
-
require_once(WBCR_CLR_PLUGIN_DIR . '/admin/pages/quick-start.php');
|
15 |
-
require_once(WBCR_CLR_PLUGIN_DIR . '/admin/pages/code-clean.php');
|
16 |
-
require_once(WBCR_CLR_PLUGIN_DIR . '/admin/pages/privacy.php');
|
17 |
-
require_once(WBCR_CLR_PLUGIN_DIR . '/admin/pages/seo.php');
|
18 |
-
require_once(WBCR_CLR_PLUGIN_DIR . '/admin/pages/double-pages.php');
|
19 |
-
require_once(WBCR_CLR_PLUGIN_DIR . '/admin/pages/defence.php');
|
20 |
-
|
21 |
-
$preinsatall_components = (array)$wbcr_clearfy_plugin->options['deactive_preinstall_components'];
|
22 |
-
|
23 |
-
//============================================================
|
24 |
-
// WIDGETS TOOLS COMPONENT
|
25 |
-
//============================================================
|
26 |
-
if( empty($preinsatall_components) || !in_array('widget_tools', $preinsatall_components) ) {
|
27 |
-
require_once(WBCR_CLR_PLUGIN_DIR . '/admin/pages/widgets.php');
|
28 |
}
|
29 |
|
30 |
-
|
31 |
-
|
|
|
|
|
|
|
|
|
32 |
|
33 |
-
|
34 |
-
|
35 |
-
|
|
|
|
|
|
|
|
|
|
|
36 |
|
37 |
-
|
38 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
39 |
}
|
40 |
|
|
|
|
|
41 |
/**
|
42 |
* Welcome guid
|
43 |
* @param string $hook_suffix
|
@@ -47,7 +53,7 @@
|
|
47 |
$enqueue_pointer_script_style = false;
|
48 |
$dismissed_pointers = explode(',', get_user_meta(get_current_user_id(), 'dismissed_wp_pointers', true));
|
49 |
|
50 |
-
if( !in_array('
|
51 |
$enqueue_pointer_script_style = true;
|
52 |
add_action('admin_print_footer_scripts', 'wbcr_pointer_print_scripts');
|
53 |
}
|
@@ -63,18 +69,21 @@
|
|
63 |
{
|
64 |
$dismissed_pointers = explode(',', get_user_meta(get_current_user_id(), 'dismissed_wp_pointers', true));
|
65 |
|
66 |
-
$pointer_setting_content = "<h3>" . __('Welcome to Clearfy (
|
67 |
-
$pointer_setting_content .= "<p>" . __('
|
|
|
|
|
|
|
68 |
|
69 |
-
$
|
70 |
-
$
|
71 |
|
72 |
?>
|
73 |
|
74 |
<script type="text/javascript">
|
75 |
//<![CDATA[
|
76 |
jQuery(document).ready(function($) {
|
77 |
-
<?php if(!in_array('
|
78 |
$('#menu-settings').pointer({
|
79 |
content: '<?php echo $pointer_setting_content; ?>',
|
80 |
position: {
|
@@ -84,15 +93,31 @@
|
|
84 |
pointerWidth: 350,
|
85 |
close: function() {
|
86 |
$.post(ajaxurl, {
|
87 |
-
pointer: '
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
88 |
action: 'dismiss-wp-pointer'
|
89 |
});
|
90 |
}
|
91 |
}).pointer('open');
|
92 |
<?php endif; ?>
|
93 |
-
<?php if(!in_array('
|
94 |
-
$('#
|
95 |
-
content: '<?php echo $
|
96 |
position: {
|
97 |
edge: 'left', // arrow direction
|
98 |
align: 'center' // vertical alignment
|
@@ -100,7 +125,7 @@
|
|
100 |
pointerWidth: 350,
|
101 |
close: function() {
|
102 |
$.post(ajaxurl, {
|
103 |
-
pointer: '
|
104 |
action: 'dismiss-wp-pointer'
|
105 |
});
|
106 |
}
|
6 |
* @version 1.0
|
7 |
*/
|
8 |
|
9 |
+
// Exit if accessed directly
|
10 |
+
if( !defined('ABSPATH') ) {
|
11 |
+
exit;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
}
|
13 |
|
14 |
+
/**
|
15 |
+
* Ошибки совместимости с похожими плагинами
|
16 |
+
*/
|
17 |
+
function wbcr_clearfy_admin_conflict_notices_error()
|
18 |
+
{
|
19 |
+
$notices = array();
|
20 |
|
21 |
+
$default_notice = WCL_Plugin::app()
|
22 |
+
->getPluginTitle() . ': ' . __('We found that you have the plugin %s installed. The functions of this plugin already exist in %s. Please deactivate plugin %s to avoid conflicts between plugins functions.', 'clearfy');
|
23 |
+
$default_notice .= ' ' . __('If you do not want to deactivate the plugin %s for some reason, we strongly recommend do not use the same plugins functions at the same time!', 'clearfy');
|
24 |
+
|
25 |
+
if( is_plugin_active('wp-disable/wpperformance.php') ) {
|
26 |
+
$notices[] = sprintf($default_notice, 'WP Disable', WCL_Plugin::app()
|
27 |
+
->getPluginTitle(), 'WP Disable', 'WP Disable');
|
28 |
+
}
|
29 |
|
30 |
+
if( empty($notices) ) {
|
31 |
+
return;
|
32 |
+
}
|
33 |
+
|
34 |
+
?>
|
35 |
+
<div id="wbcr-clearfy-conflict-error" class="notice notice-error is-dismissible">
|
36 |
+
<?php foreach((array)$notices as $notice): ?>
|
37 |
+
<p>
|
38 |
+
<?= $notice ?>
|
39 |
+
</p>
|
40 |
+
<?php endforeach; ?>
|
41 |
+
</div>
|
42 |
+
<?php
|
43 |
}
|
44 |
|
45 |
+
add_action('admin_notices', 'wbcr_clearfy_admin_conflict_notices_error');
|
46 |
+
|
47 |
/**
|
48 |
* Welcome guid
|
49 |
* @param string $hook_suffix
|
53 |
$enqueue_pointer_script_style = false;
|
54 |
$dismissed_pointers = explode(',', get_user_meta(get_current_user_id(), 'dismissed_wp_pointers', true));
|
55 |
|
56 |
+
if( !in_array('wbcr_clearfy_defence_pointer_1_2_0', $dismissed_pointers) || !in_array('wbcr_clearfy_settings_pointer_1_2_0', $dismissed_pointers) || !in_array('wbcr_clearfy_components_pointer_1_2_0', $dismissed_pointers) ) {
|
57 |
$enqueue_pointer_script_style = true;
|
58 |
add_action('admin_print_footer_scripts', 'wbcr_pointer_print_scripts');
|
59 |
}
|
69 |
{
|
70 |
$dismissed_pointers = explode(',', get_user_meta(get_current_user_id(), 'dismissed_wp_pointers', true));
|
71 |
|
72 |
+
$pointer_setting_content = "<h3>" . sprintf(__('Welcome to Clearfy (%s)', 'clearfy'), '1.2.0') . "</h3>";
|
73 |
+
$pointer_setting_content .= "<p>" . __('There are new optimization and protection features in the plugin. We recommend you to look at them maybe they will be useful!', 'clearfy') . "</p>";
|
74 |
+
|
75 |
+
$pointer_performance_content = "<h3>" . __('The section "Code cleaning" was renamed', 'clearfy') . "</h3>";
|
76 |
+
$pointer_performance_content .= "<p>" . __('Asynchronous Google fonts loading, Google Analytics optimization, disabling Google Fonts and Maps, disabling of gravatars, Font Awesome icons was added.', 'clearfy') . "</p>";
|
77 |
|
78 |
+
$pointer_defence_content = "<h3>" . __('Login page protection added', 'clearfy') . "</h3>";
|
79 |
+
$pointer_defence_content .= "<p>" . __('With the new Clearfy version, you can use the hide login page function. Nobody will know the address of your login page, which means there will be no password bruteforce and the attempts of your website hack will decrease.', 'clearfy') . "</p>";
|
80 |
|
81 |
?>
|
82 |
|
83 |
<script type="text/javascript">
|
84 |
//<![CDATA[
|
85 |
jQuery(document).ready(function($) {
|
86 |
+
<?php if(!in_array('wbcr_clearfy_settings_pointer_1_2_0', $dismissed_pointers)): ?>
|
87 |
$('#menu-settings').pointer({
|
88 |
content: '<?php echo $pointer_setting_content; ?>',
|
89 |
position: {
|
93 |
pointerWidth: 350,
|
94 |
close: function() {
|
95 |
$.post(ajaxurl, {
|
96 |
+
pointer: 'wbcr_clearfy_settings_pointer_1_2_0', // pointer ID
|
97 |
+
action: 'dismiss-wp-pointer'
|
98 |
+
});
|
99 |
+
}
|
100 |
+
}).pointer('open');
|
101 |
+
<?php endif; ?>
|
102 |
+
<?php if(!in_array('wbcr_clearfy_performance_pointer_1_2_0', $dismissed_pointers) && in_array('wbcr_clearfy_settings_pointer_1_2_0', $dismissed_pointers)): ?>
|
103 |
+
$('#performance-clearfy-tab').pointer({
|
104 |
+
content: '<?php echo $pointer_performance_content; ?>',
|
105 |
+
position: {
|
106 |
+
edge: 'left', // arrow direction
|
107 |
+
align: 'center' // vertical alignment
|
108 |
+
},
|
109 |
+
pointerWidth: 350,
|
110 |
+
close: function() {
|
111 |
+
$.post(ajaxurl, {
|
112 |
+
pointer: 'wbcr_clearfy_performance_pointer_1_2_0', // pointer ID
|
113 |
action: 'dismiss-wp-pointer'
|
114 |
});
|
115 |
}
|
116 |
}).pointer('open');
|
117 |
<?php endif; ?>
|
118 |
+
<?php if(!in_array('wbcr_clearfy_defence_pointer_1_2_0', $dismissed_pointers) && in_array('wbcr_clearfy_performance_pointer_1_2_0', $dismissed_pointers)): ?>
|
119 |
+
$('#defence-clearfy-tab').pointer({
|
120 |
+
content: '<?php echo $pointer_defence_content; ?>',
|
121 |
position: {
|
122 |
edge: 'left', // arrow direction
|
123 |
align: 'center' // vertical alignment
|
125 |
pointerWidth: 350,
|
126 |
close: function() {
|
127 |
$.post(ajaxurl, {
|
128 |
+
pointer: 'wbcr_clearfy_defence_pointer_1_2_0', // pointer ID
|
129 |
action: 'dismiss-wp-pointer'
|
130 |
});
|
131 |
}
|
admin/includes/classes/class.group.php
CHANGED
@@ -6,10 +6,20 @@
|
|
6 |
* @copyright (c) 16.09.2017, Webcraftic
|
7 |
* @version 1.0
|
8 |
*/
|
9 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
|
11 |
private $group_name;
|
12 |
|
|
|
|
|
|
|
|
|
13 |
public function __construct($group_name)
|
14 |
{
|
15 |
if( empty($group_name) || !is_string($group_name) ) {
|
@@ -18,19 +28,29 @@
|
|
18 |
$this->group_name = $group_name;
|
19 |
}
|
20 |
|
|
|
|
|
|
|
|
|
21 |
public static function getInstance($group_name)
|
22 |
{
|
23 |
-
return new
|
24 |
}
|
25 |
|
|
|
|
|
|
|
26 |
public function getName()
|
27 |
{
|
28 |
return $this->group_name;
|
29 |
}
|
30 |
|
|
|
|
|
|
|
31 |
public function getOptions()
|
32 |
{
|
33 |
-
$options =
|
34 |
$filter = array();
|
35 |
|
36 |
foreach($options as $option) {
|
6 |
* @copyright (c) 16.09.2017, Webcraftic
|
7 |
* @version 1.0
|
8 |
*/
|
9 |
+
|
10 |
+
// Exit if accessed directly
|
11 |
+
if( !defined('ABSPATH') ) {
|
12 |
+
exit;
|
13 |
+
}
|
14 |
+
|
15 |
+
class WCL_Group {
|
16 |
|
17 |
private $group_name;
|
18 |
|
19 |
+
/**
|
20 |
+
* @param string $group_name
|
21 |
+
* @throws Exception
|
22 |
+
*/
|
23 |
public function __construct($group_name)
|
24 |
{
|
25 |
if( empty($group_name) || !is_string($group_name) ) {
|
28 |
$this->group_name = $group_name;
|
29 |
}
|
30 |
|
31 |
+
/**
|
32 |
+
* @param string $group_name
|
33 |
+
* @return WCL_Group
|
34 |
+
*/
|
35 |
public static function getInstance($group_name)
|
36 |
{
|
37 |
+
return new WCL_Group($group_name);
|
38 |
}
|
39 |
|
40 |
+
/**
|
41 |
+
* @return string
|
42 |
+
*/
|
43 |
public function getName()
|
44 |
{
|
45 |
return $this->group_name;
|
46 |
}
|
47 |
|
48 |
+
/**
|
49 |
+
* @return WCL_Option[]
|
50 |
+
*/
|
51 |
public function getOptions()
|
52 |
{
|
53 |
+
$options = WCL_Option::getAllOptions();
|
54 |
$filter = array();
|
55 |
|
56 |
foreach($options as $option) {
|
admin/includes/classes/class.option.php
CHANGED
@@ -6,13 +6,23 @@
|
|
6 |
* @copyright (c) 16.09.2017, Webcraftic
|
7 |
* @version 1.0
|
8 |
*/
|
9 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
|
11 |
private $name;
|
12 |
private $title;
|
13 |
private $values;
|
14 |
private $tags;
|
15 |
|
|
|
|
|
|
|
|
|
16 |
public function __construct(array $option_data)
|
17 |
{
|
18 |
if( empty($option_data) ) {
|
@@ -24,16 +34,26 @@
|
|
24 |
}
|
25 |
}
|
26 |
|
|
|
|
|
|
|
27 |
public function getName()
|
28 |
{
|
29 |
return $this->name;
|
30 |
}
|
31 |
|
|
|
|
|
|
|
32 |
public function getTitle()
|
33 |
{
|
34 |
return $this->title;
|
35 |
}
|
36 |
|
|
|
|
|
|
|
|
|
37 |
public function getValue($group_name = null)
|
38 |
{
|
39 |
if( !empty($group_name) && isset($this->values[$group_name]) ) {
|
@@ -45,11 +65,18 @@
|
|
45 |
: array();
|
46 |
}
|
47 |
|
|
|
|
|
|
|
48 |
public function getTags()
|
49 |
{
|
50 |
return $this->tags;
|
51 |
}
|
52 |
|
|
|
|
|
|
|
|
|
53 |
public function hasGroup($group_name)
|
54 |
{
|
55 |
if( !empty($this->tags) && in_array($group_name, $this->tags) ) {
|
@@ -60,16 +87,16 @@
|
|
60 |
}
|
61 |
|
62 |
/**
|
63 |
-
* @return
|
64 |
*/
|
65 |
public static function getAllOptions()
|
66 |
{
|
67 |
-
$all_options = require(
|
68 |
$result = array();
|
69 |
|
70 |
if( !empty($all_options) ) {
|
71 |
foreach($all_options as $option_data) {
|
72 |
-
$result[] = new
|
73 |
}
|
74 |
}
|
75 |
|
6 |
* @copyright (c) 16.09.2017, Webcraftic
|
7 |
* @version 1.0
|
8 |
*/
|
9 |
+
|
10 |
+
// Exit if accessed directly
|
11 |
+
if( !defined('ABSPATH') ) {
|
12 |
+
exit;
|
13 |
+
}
|
14 |
+
|
15 |
+
class WCL_Option {
|
16 |
|
17 |
private $name;
|
18 |
private $title;
|
19 |
private $values;
|
20 |
private $tags;
|
21 |
|
22 |
+
/**
|
23 |
+
* @param array $option_data
|
24 |
+
* @throws Exception
|
25 |
+
*/
|
26 |
public function __construct(array $option_data)
|
27 |
{
|
28 |
if( empty($option_data) ) {
|
34 |
}
|
35 |
}
|
36 |
|
37 |
+
/**
|
38 |
+
* @return mixed
|
39 |
+
*/
|
40 |
public function getName()
|
41 |
{
|
42 |
return $this->name;
|
43 |
}
|
44 |
|
45 |
+
/**
|
46 |
+
* @return mixed
|
47 |
+
*/
|
48 |
public function getTitle()
|
49 |
{
|
50 |
return $this->title;
|
51 |
}
|
52 |
|
53 |
+
/**
|
54 |
+
* @param null $group_name
|
55 |
+
* @return array
|
56 |
+
*/
|
57 |
public function getValue($group_name = null)
|
58 |
{
|
59 |
if( !empty($group_name) && isset($this->values[$group_name]) ) {
|
65 |
: array();
|
66 |
}
|
67 |
|
68 |
+
/**
|
69 |
+
* @return mixed
|
70 |
+
*/
|
71 |
public function getTags()
|
72 |
{
|
73 |
return $this->tags;
|
74 |
}
|
75 |
|
76 |
+
/**
|
77 |
+
* @param $group_name
|
78 |
+
* @return bool
|
79 |
+
*/
|
80 |
public function hasGroup($group_name)
|
81 |
{
|
82 |
if( !empty($this->tags) && in_array($group_name, $this->tags) ) {
|
87 |
}
|
88 |
|
89 |
/**
|
90 |
+
* @return WCL_Option[]
|
91 |
*/
|
92 |
public static function getAllOptions()
|
93 |
{
|
94 |
+
$all_options = require(WCL_PLUGIN_DIR . '/admin/includes/options.php');
|
95 |
$result = array();
|
96 |
|
97 |
if( !empty($all_options) ) {
|
98 |
foreach($all_options as $option_data) {
|
99 |
+
$result[] = new WCL_Option($option_data);
|
100 |
}
|
101 |
}
|
102 |
|
admin/includes/classes/class.pages.php
CHANGED
@@ -5,9 +5,17 @@
|
|
5 |
* Author: Webcraftic <wordpress.webraftic@gmail.com>
|
6 |
* Version: 1.0.0
|
7 |
*/
|
8 |
-
|
|
|
|
|
|
|
|
|
|
|
9 |
|
10 |
-
|
|
|
|
|
|
|
11 |
{
|
12 |
parent::__construct($plugin);
|
13 |
}
|
@@ -15,7 +23,7 @@
|
|
15 |
/**
|
16 |
* Requests assets (js and css) for the page.
|
17 |
*
|
18 |
-
* @see
|
19 |
*
|
20 |
* @since 1.0.0
|
21 |
* @return void
|
@@ -24,7 +32,36 @@
|
|
24 |
{
|
25 |
parent::assets($scripts, $styles);
|
26 |
|
27 |
-
$this->styles->add(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
}
|
29 |
}
|
30 |
|
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_FactoryPages401_ImpressiveThemplate {
|
14 |
|
15 |
+
/**
|
16 |
+
* @param WCL_Plugin $plugin
|
17 |
+
*/
|
18 |
+
public function __construct(WCL_Plugin $plugin)
|
19 |
{
|
20 |
parent::__construct($plugin);
|
21 |
}
|
23 |
/**
|
24 |
* Requests assets (js and css) for the page.
|
25 |
*
|
26 |
+
* @see Wbcr_FactoryPages401_AdminPage
|
27 |
*
|
28 |
* @since 1.0.0
|
29 |
* @return void
|
32 |
{
|
33 |
parent::assets($scripts, $styles);
|
34 |
|
35 |
+
$this->styles->add(WCL_PLUGIN_URL . '/admin/assets/css/general.css');
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* @param $option_name
|
40 |
+
* @param bool $default
|
41 |
+
* @return mixed|void
|
42 |
+
*/
|
43 |
+
public function getOption($option_name, $default = false)
|
44 |
+
{
|
45 |
+
return $this->plugin->getOption($option_name, $default);
|
46 |
+
}
|
47 |
+
|
48 |
+
/**
|
49 |
+
* @param $option_name
|
50 |
+
* @param $value
|
51 |
+
* @return bool
|
52 |
+
*/
|
53 |
+
public function updateOption($option_name, $value)
|
54 |
+
{
|
55 |
+
return $this->plugin->updateOption($option_name, $value);
|
56 |
+
}
|
57 |
+
|
58 |
+
/**
|
59 |
+
* @param $option_name
|
60 |
+
* @return bool
|
61 |
+
*/
|
62 |
+
public function deleteOption($option_name)
|
63 |
+
{
|
64 |
+
return $this->plugin->deleteOption($option_name);
|
65 |
}
|
66 |
}
|
67 |
|
admin/includes/classes/index.php
ADDED
File without changes
|
admin/includes/index.php
ADDED
File without changes
|
admin/includes/options.php
CHANGED
@@ -6,7 +6,100 @@
|
|
6 |
* @version 1.0
|
7 |
*/
|
8 |
|
|
|
|
|
|
|
|
|
|
|
9 |
return apply_filters('wbcr_clearfy_group_options', array(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
array(
|
11 |
'name' => 'disable_json_rest_api',
|
12 |
'title' => __('Remove REST API Links', 'clearfy'),
|
@@ -17,11 +110,12 @@
|
|
17 |
'title' => __('Disable Emojis', 'clearfy'),
|
18 |
'tags' => array('recommended', 'clear_code')
|
19 |
),
|
20 |
-
array(
|
21 |
'name' => 'remove_dns_prefetch',
|
22 |
'title' => __('Remove dns-prefetch', 'clearfy'),
|
23 |
'tags' => array('recommended', 'clear_code')
|
24 |
-
)
|
|
|
25 |
array(
|
26 |
'name' => 'remove_rsd_link',
|
27 |
'title' => __('Remove RSD Link', 'clearfy'),
|
@@ -47,6 +141,7 @@
|
|
47 |
'title' => __('Remove .recentcomments styles', 'clearfy'),
|
48 |
'tags' => array('recommended', 'clear_code')
|
49 |
),
|
|
|
50 |
array(
|
51 |
'name' => 'content_image_auto_alt',
|
52 |
'title' => __('Automatically set the alt attribute', 'clearfy'),
|
@@ -70,7 +165,9 @@
|
|
70 |
array(
|
71 |
'name' => 'yoast_remove_image_from_xml_sitemap',
|
72 |
'title' => sprintf(__('Remove the tag %s from XML site map', 'clearfy'), 'image:image'),
|
73 |
-
'tags' =>
|
|
|
|
|
74 |
),
|
75 |
array(
|
76 |
'name' => 'yoast_remove_json_ld_search',
|
@@ -329,9 +426,4 @@
|
|
329 |
'title' => __('Remove html comments', 'clearfy'),
|
330 |
'tags' => array()
|
331 |
),
|
332 |
-
array(
|
333 |
-
'name' => 'deactive_preinstall_components',
|
334 |
-
'title' => __('Deactivate components', 'clearfy'),
|
335 |
-
'tags' => array()
|
336 |
-
),
|
337 |
));
|
6 |
* @version 1.0
|
7 |
*/
|
8 |
|
9 |
+
// Exit if accessed directly
|
10 |
+
if( !defined('ABSPATH') ) {
|
11 |
+
exit;
|
12 |
+
}
|
13 |
+
|
14 |
return apply_filters('wbcr_clearfy_group_options', array(
|
15 |
+
/** ------------------------ Google services ----------------------------- */
|
16 |
+
array(
|
17 |
+
'name' => 'lazy_load_google_fonts',
|
18 |
+
'title' => __('Google Fonts asynchronous', 'clearfy'),
|
19 |
+
'tags' => array()
|
20 |
+
),
|
21 |
+
array(
|
22 |
+
'name' => 'disable_google_fonts',
|
23 |
+
'title' => __('Disable Google Fonts', 'clearfy'),
|
24 |
+
'tags' => array()
|
25 |
+
),
|
26 |
+
array(
|
27 |
+
'name' => 'remove_iframe_google_maps',
|
28 |
+
'title' => __('Remove iframe Google maps', 'clearfy'),
|
29 |
+
'tags' => array()
|
30 |
+
),
|
31 |
+
array(
|
32 |
+
'name' => 'exclude_from_disable_google_maps',
|
33 |
+
'title' => __('Exclude pages from Disable Google Maps filter', 'clearfy'),
|
34 |
+
'tags' => array()
|
35 |
+
),
|
36 |
+
array(
|
37 |
+
'name' => 'ga_cache',
|
38 |
+
'title' => __('Google analytic cache', 'clearfy'),
|
39 |
+
'tags' => array()
|
40 |
+
),
|
41 |
+
array(
|
42 |
+
'name' => 'ga_tracking_id',
|
43 |
+
'title' => __('Google analytic Code', 'clearfy'),
|
44 |
+
'tags' => array()
|
45 |
+
),
|
46 |
+
array(
|
47 |
+
'name' => 'ga_adjusted_bounce_rate',
|
48 |
+
'title' => __('Use adjusted bounce rate?', 'clearfy'),
|
49 |
+
'tags' => array()
|
50 |
+
),
|
51 |
+
array(
|
52 |
+
'name' => 'ga_enqueue_order',
|
53 |
+
'title' => __('Change enqueue order?', 'clearfy'),
|
54 |
+
'tags' => array()
|
55 |
+
),
|
56 |
+
array(
|
57 |
+
'name' => 'ga_caos_disable_display_features',
|
58 |
+
'title' => __('Disable all display features functionality?', 'clearfy'),
|
59 |
+
'tags' => array()
|
60 |
+
),
|
61 |
+
array(
|
62 |
+
'name' => 'ga_anonymize_ip',
|
63 |
+
'title' => __('Use Anonymize IP? (Required by law for some countries)', 'clearfy'),
|
64 |
+
'tags' => array()
|
65 |
+
),
|
66 |
+
array(
|
67 |
+
'name' => 'ga_track_admin',
|
68 |
+
'title' => __('Track logged in Administrators?', 'clearfy'),
|
69 |
+
'tags' => array()
|
70 |
+
),
|
71 |
+
array(
|
72 |
+
'name' => 'ga_caos_remove_wp_cron',
|
73 |
+
'title' => __('Remove script from wp-cron?', 'clearfy'),
|
74 |
+
'tags' => array()
|
75 |
+
),
|
76 |
+
/** ------------------------ End google services ----------------------------- */
|
77 |
+
array(
|
78 |
+
'name' => 'disable_google_maps',
|
79 |
+
'title' => __('Disable Google maps', 'clearfy'),
|
80 |
+
'tags' => array()
|
81 |
+
),
|
82 |
+
/** ------------------------ Performance page ----------------------------- */
|
83 |
+
array(
|
84 |
+
'name' => 'remove_xfn_link',
|
85 |
+
'title' => __('Removing XFN (XHTML Friends Network) Profile Link', 'clearfy'),
|
86 |
+
'tags' => array()
|
87 |
+
),
|
88 |
+
array(
|
89 |
+
'name' => 'lazy_load_font_awesome',
|
90 |
+
'title' => __('Font Awesome asynchronous', 'clearfy'),
|
91 |
+
'tags' => array()
|
92 |
+
),
|
93 |
+
array(
|
94 |
+
'name' => 'disable_dashicons',
|
95 |
+
'title' => __('Disable Dashicons', 'clearfy'),
|
96 |
+
'tags' => array()
|
97 |
+
),
|
98 |
+
array(
|
99 |
+
'name' => 'disable_gravatars',
|
100 |
+
'title' => __('Disable gravatars', 'clearfy'),
|
101 |
+
'tags' => array()
|
102 |
+
),
|
103 |
array(
|
104 |
'name' => 'disable_json_rest_api',
|
105 |
'title' => __('Remove REST API Links', 'clearfy'),
|
110 |
'title' => __('Disable Emojis', 'clearfy'),
|
111 |
'tags' => array('recommended', 'clear_code')
|
112 |
),
|
113 |
+
/*array(
|
114 |
'name' => 'remove_dns_prefetch',
|
115 |
'title' => __('Remove dns-prefetch', 'clearfy'),
|
116 |
'tags' => array('recommended', 'clear_code')
|
117 |
+
),*/
|
118 |
+
|
119 |
array(
|
120 |
'name' => 'remove_rsd_link',
|
121 |
'title' => __('Remove RSD Link', 'clearfy'),
|
141 |
'title' => __('Remove .recentcomments styles', 'clearfy'),
|
142 |
'tags' => array('recommended', 'clear_code')
|
143 |
),
|
144 |
+
/** ------------------------ End Performance page ----------------------------- */
|
145 |
array(
|
146 |
'name' => 'content_image_auto_alt',
|
147 |
'title' => __('Automatically set the alt attribute', 'clearfy'),
|
165 |
array(
|
166 |
'name' => 'yoast_remove_image_from_xml_sitemap',
|
167 |
'title' => sprintf(__('Remove the tag %s from XML site map', 'clearfy'), 'image:image'),
|
168 |
+
'tags' => get_locale() == 'ru_RU'
|
169 |
+
? array('recommended', 'clear_code')
|
170 |
+
: array()
|
171 |
),
|
172 |
array(
|
173 |
'name' => 'yoast_remove_json_ld_search',
|
426 |
'title' => __('Remove html comments', 'clearfy'),
|
427 |
'tags' => array()
|
428 |
),
|
|
|
|
|
|
|
|
|
|
|
429 |
));
|
admin/index.php
ADDED
File without changes
|
admin/pages/{additionally.php → advanced.php}
RENAMED
@@ -5,28 +5,39 @@
|
|
5 |
*
|
6 |
* @since 1.0.0
|
7 |
*/
|
8 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
|
10 |
/**
|
11 |
* The id of the page in the admin menu.
|
12 |
*
|
13 |
* Mainly used to navigate between pages.
|
14 |
-
* @see
|
15 |
*
|
16 |
* @since 1.0.0
|
17 |
* @var string
|
18 |
*/
|
19 |
-
public $id = "
|
20 |
|
21 |
public $page_menu_dashicon = 'dashicons-list-view';
|
22 |
|
23 |
-
public $page_menu_position =
|
24 |
|
25 |
-
|
|
|
|
|
|
|
26 |
{
|
27 |
-
$this->
|
28 |
|
29 |
parent::__construct($plugin);
|
|
|
|
|
30 |
}
|
31 |
|
32 |
protected function isPostRevisionConstant()
|
@@ -64,10 +75,6 @@
|
|
64 |
public function getOptions()
|
65 |
{
|
66 |
|
67 |
-
global $wbcr_clearfy_plugin;
|
68 |
-
|
69 |
-
$preinsatall_components = (array)$wbcr_clearfy_plugin->options['deactive_preinstall_components'];
|
70 |
-
|
71 |
$options = array();
|
72 |
|
73 |
$options[] = array(
|
@@ -127,7 +134,7 @@
|
|
127 |
array('250', '250 ' . __('seconds', 'clearfy')),
|
128 |
array('300', '300 ' . __('seconds', 'clearfy')),
|
129 |
array('400', '400 ' . __('seconds', 'clearfy')),
|
130 |
-
array('500', '500 ' . __('seconds', 'clearfy'))
|
131 |
),
|
132 |
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
|
133 |
'hint' => __('Select the heartbeat frequency wordpress. We recommend you 60 seconds, default is 20 seconds.', 'clearfy'),
|
@@ -138,7 +145,7 @@
|
|
138 |
// ADMINBAR MANAGER COMPONENT
|
139 |
//============================================================
|
140 |
|
141 |
-
if(
|
142 |
$options[] = array(
|
143 |
'type' => 'html',
|
144 |
'html' => '<div class="wbcr-clearfy-group-header">' . '<strong>' . __('Admin bar', 'clearfy') . '</strong>' . '<p>' . __('In this group of settings, you can manage the adminbar.', 'clearfy') . '</p>' . '</div>'
|
@@ -187,7 +194,7 @@
|
|
187 |
// POST TOOLS COMPONENT
|
188 |
//============================================================
|
189 |
|
190 |
-
if(
|
191 |
$options[] = array(
|
192 |
'type' => 'html',
|
193 |
'html' => '<div class="wbcr-clearfy-group-header">' . '<strong>' . __('Posts', 'clearfy') . '</strong>' . '<p>' . __('In this group of options, you can manage revisions and post autosave.', 'clearfy') . '</p>' . '</div>'
|
@@ -271,21 +278,6 @@ So we recommend either disabling or limiting your revisions. ', 'clearfy'),
|
|
271 |
);
|
272 |
}
|
273 |
|
274 |
-
$options[] = array(
|
275 |
-
'type' => 'html',
|
276 |
-
'html' => '<div class="wbcr-clearfy-group-header">' . '<strong>' . __('Others', 'clearfy') . '</strong>' . '<p>' . __('Other useful features.', 'clearfy') . '</p>' . '</div>'
|
277 |
-
);
|
278 |
-
|
279 |
-
$options[] = array(
|
280 |
-
'type' => 'checkbox',
|
281 |
-
'way' => 'buttons',
|
282 |
-
'name' => 'enable_wordpres_sanitize',
|
283 |
-
'title' => __('Enable Sanitization of WordPress', 'clearfy'),
|
284 |
-
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
|
285 |
-
'hint' => __('File names and some titles can have special characters, which can cause problems when creating permalinks.', 'clearfy') . '<br><b>Clearfy</b>: ' . __('Removes symbols, spaces, latin and other languages characters from uploaded files and gives them "permalink" structure (clean characters, only lowercase and dahes).', 'clearfy'),
|
286 |
-
'default' => false
|
287 |
-
);
|
288 |
-
|
289 |
$formOptions = array();
|
290 |
|
291 |
$formOptions[] = array(
|
@@ -296,6 +288,4 @@ So we recommend either disabling or limiting your revisions. ', 'clearfy'),
|
|
296 |
|
297 |
return apply_filters('wbcr_clr_additionally_form_options', $formOptions, $this);
|
298 |
}
|
299 |
-
}
|
300 |
-
|
301 |
-
FactoryPages324::register($wbcr_clearfy_plugin, 'WbcrClr_AdditionallyPage');
|
5 |
*
|
6 |
* @since 1.0.0
|
7 |
*/
|
8 |
+
|
9 |
+
// Exit if accessed directly
|
10 |
+
if( !defined('ABSPATH') ) {
|
11 |
+
exit;
|
12 |
+
}
|
13 |
+
|
14 |
+
class WCL_AdvancedPage extends WCL_Page {
|
15 |
|
16 |
/**
|
17 |
* The id of the page in the admin menu.
|
18 |
*
|
19 |
* Mainly used to navigate between pages.
|
20 |
+
* @see FactoryPages401_AdminPage
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
* @var string
|
24 |
*/
|
25 |
+
public $id = "advanced";
|
26 |
|
27 |
public $page_menu_dashicon = 'dashicons-list-view';
|
28 |
|
29 |
+
public $page_menu_position = 1;
|
30 |
|
31 |
+
/**
|
32 |
+
* @param WCL_Plugin $plugin
|
33 |
+
*/
|
34 |
+
public function __construct(WCL_Plugin $plugin)
|
35 |
{
|
36 |
+
$this->menu_title = __('Advanced', 'clearfy');
|
37 |
|
38 |
parent::__construct($plugin);
|
39 |
+
|
40 |
+
$this->plugin = $plugin;
|
41 |
}
|
42 |
|
43 |
protected function isPostRevisionConstant()
|
75 |
public function getOptions()
|
76 |
{
|
77 |
|
|
|
|
|
|
|
|
|
78 |
$options = array();
|
79 |
|
80 |
$options[] = array(
|
134 |
array('250', '250 ' . __('seconds', 'clearfy')),
|
135 |
array('300', '300 ' . __('seconds', 'clearfy')),
|
136 |
array('400', '400 ' . __('seconds', 'clearfy')),
|
137 |
+
array('500', '500 ' . __('seconds', 'clearfy'))
|
138 |
),
|
139 |
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
|
140 |
'hint' => __('Select the heartbeat frequency wordpress. We recommend you 60 seconds, default is 20 seconds.', 'clearfy'),
|
145 |
// ADMINBAR MANAGER COMPONENT
|
146 |
//============================================================
|
147 |
|
148 |
+
if( $this->plugin->isActivateComponent('adminbar_manager') ) {
|
149 |
$options[] = array(
|
150 |
'type' => 'html',
|
151 |
'html' => '<div class="wbcr-clearfy-group-header">' . '<strong>' . __('Admin bar', 'clearfy') . '</strong>' . '<p>' . __('In this group of settings, you can manage the adminbar.', 'clearfy') . '</p>' . '</div>'
|
194 |
// POST TOOLS COMPONENT
|
195 |
//============================================================
|
196 |
|
197 |
+
if( $this->plugin->isActivateComponent('post_tools') ) {
|
198 |
$options[] = array(
|
199 |
'type' => 'html',
|
200 |
'html' => '<div class="wbcr-clearfy-group-header">' . '<strong>' . __('Posts', 'clearfy') . '</strong>' . '<p>' . __('In this group of options, you can manage revisions and post autosave.', 'clearfy') . '</p>' . '</div>'
|
278 |
);
|
279 |
}
|
280 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
281 |
$formOptions = array();
|
282 |
|
283 |
$formOptions[] = array(
|
288 |
|
289 |
return apply_filters('wbcr_clr_additionally_form_options', $formOptions, $this);
|
290 |
}
|
291 |
+
}
|
|
|
|
admin/pages/components.php
CHANGED
@@ -1,5 +1,4 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
/**
|
4 |
* This file is the add-ons page.
|
5 |
*
|
@@ -8,13 +7,19 @@
|
|
8 |
*
|
9 |
* @since 1.0.0
|
10 |
*/
|
11 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
|
13 |
/**
|
14 |
* The id of the page in the admin menu.
|
15 |
*
|
16 |
* Mainly used to navigate between pages.
|
17 |
-
* @see
|
18 |
*
|
19 |
* @since 1.0.0
|
20 |
* @var string
|
@@ -27,17 +32,22 @@
|
|
27 |
|
28 |
public $type = 'page';
|
29 |
|
30 |
-
|
|
|
|
|
|
|
31 |
{
|
32 |
-
$this->
|
33 |
|
34 |
parent::__construct($plugin);
|
|
|
|
|
35 |
}
|
36 |
|
37 |
/**
|
38 |
* Requests assets (js and css) for the page.
|
39 |
*
|
40 |
-
* @see
|
41 |
*
|
42 |
* @since 1.0.0
|
43 |
* @return void
|
@@ -46,30 +56,35 @@
|
|
46 |
{
|
47 |
parent::assets($scripts, $styles);
|
48 |
|
49 |
-
$this->styles->add(
|
50 |
}
|
51 |
|
52 |
public function showPageContent()
|
53 |
{
|
54 |
-
|
55 |
-
|
56 |
-
$preinsatall_components = (array)$wbcr_clearfy_plugin->options['deactive_preinstall_components'];
|
57 |
|
58 |
$default_image = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzNjAiIGhlaWdodD0iMzYwIiB2aWV3Ym94PSIwIDAgMzYwIDM2MCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0icmdiKDcwLCA4MSwgOTMpIiAvPjxwb2x5bGluZSBwb2ludHM9IjE5LjgsMCw0MC4yLDAsNjAsMTkuOCw2MCw0MC4yLDQwLjIsNjAsMTkuOCw2MCwwLDQwLjIsMCwxOS44LDE5LjgsMCIgZmlsbD0iIzIyMiIgZmlsbC1vcGFjaXR5PSIwLjE1IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLCAwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiNkZGQiIGZpbGwtb3BhY2l0eT0iMC4wNTQ2NjY2NjY2NjY2NjciIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYwLCAwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiMyMjIiIGZpbGwtb3BhY2l0eT0iMC4wNDYiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyMCwgMCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjZGRkIiBmaWxsLW9wYWNpdHk9IjAuMDIiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4MCwgMCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjZGRkIiBmaWxsLW9wYWNpdHk9IjAuMDU0NjY2NjY2NjY2NjY3IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNDAsIDApIiAvPjxwb2x5bGluZSBwb2ludHM9IjE5LjgsMCw0MC4yLDAsNjAsMTkuOCw2MCw0MC4yLDQwLjIsNjAsMTkuOCw2MCwwLDQwLjIsMCwxOS44LDE5LjgsMCIgZmlsbD0iIzIyMiIgZmlsbC1vcGFjaXR5PSIwLjAyODY2NjY2NjY2NjY2NyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzAwLCAwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiNkZGQiIGZpbGwtb3BhY2l0eT0iMC4xMDY2NjY2NjY2NjY2NyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwgNjApIiAvPjxwb2x5bGluZSBwb2ludHM9IjE5LjgsMCw0MC4yLDAsNjAsMTkuOCw2MCw0MC4yLDQwLjIsNjAsMTkuOCw2MCwwLDQwLjIsMCwxOS44LDE5LjgsMCIgZmlsbD0iIzIyMiIgZmlsbC1vcGFjaXR5PSIwLjA5OCIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjAsIDYwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiMyMjIiIGZpbGwtb3BhY2l0eT0iMC4xMTUzMzMzMzMzMzMzMyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTIwLCA2MCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjMjIyIiBmaWxsLW9wYWNpdHk9IjAuMDYzMzMzMzMzMzMzMzMzIiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxODAsIDYwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiNkZGQiIGZpbGwtb3BhY2l0eT0iMC4wMzczMzMzMzMzMzMzMzMiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI0MCwgNjApIiAvPjxwb2x5bGluZSBwb2ludHM9IjE5LjgsMCw0MC4yLDAsNjAsMTkuOCw2MCw0MC4yLDQwLjIsNjAsMTkuOCw2MCwwLDQwLjIsMCwxOS44LDE5LjgsMCIgZmlsbD0iI2RkZCIgZmlsbC1vcGFjaXR5PSIwLjE0MTMzMzMzMzMzMzMzIiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMDAsIDYwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiNkZGQiIGZpbGwtb3BhY2l0eT0iMC4wMzczMzMzMzMzMzMzMzMiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsIDEyMCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjZGRkIiBmaWxsLW9wYWNpdHk9IjAuMDg5MzMzMzMzMzMzMzMzIiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2MCwgMTIwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiNkZGQiIGZpbGwtb3BhY2l0eT0iMC4wODkzMzMzMzMzMzMzMzMiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyMCwgMTIwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiMyMjIiIGZpbGwtb3BhY2l0eT0iMC4wODA2NjY2NjY2NjY2NjciIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4MCwgMTIwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiMyMjIiIGZpbGwtb3BhY2l0eT0iMC4xMzI2NjY2NjY2NjY2NyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjQwLCAxMjApIiAvPjxwb2x5bGluZSBwb2ludHM9IjE5LjgsMCw0MC4yLDAsNjAsMTkuOCw2MCw0MC4yLDQwLjIsNjAsMTkuOCw2MCwwLDQwLjIsMCwxOS44LDE5LjgsMCIgZmlsbD0iIzIyMiIgZmlsbC1vcGFjaXR5PSIwLjE1IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMDAsIDEyMCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjMjIyIiBmaWxsLW9wYWNpdHk9IjAuMDk4IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLCAxODApIiAvPjxwb2x5bGluZSBwb2ludHM9IjE5LjgsMCw0MC4yLDAsNjAsMTkuOCw2MCw0MC4yLDQwLjIsNjAsMTkuOCw2MCwwLDQwLjIsMCwxOS44LDE5LjgsMCIgZmlsbD0iIzIyMiIgZmlsbC1vcGFjaXR5PSIwLjA2MzMzMzMzMzMzMzMzMyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjAsIDE4MCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjZGRkIiBmaWxsLW9wYWNpdHk9IjAuMDIiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyMCwgMTgwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiNkZGQiIGZpbGwtb3BhY2l0eT0iMC4wMzczMzMzMzMzMzMzMzMiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4MCwgMTgwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiMyMjIiIGZpbGwtb3BhY2l0eT0iMC4xMTUzMzMzMzMzMzMzMyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjQwLCAxODApIiAvPjxwb2x5bGluZSBwb2ludHM9IjE5LjgsMCw0MC4yLDAsNjAsMTkuOCw2MCw0MC4yLDQwLjIsNjAsMTkuOCw2MCwwLDQwLjIsMCwxOS44LDE5LjgsMCIgZmlsbD0iIzIyMiIgZmlsbC1vcGFjaXR5PSIwLjA2MzMzMzMzMzMzMzMzMyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzAwLCAxODApIiAvPjxwb2x5bGluZSBwb2ludHM9IjE5LjgsMCw0MC4yLDAsNjAsMTkuOCw2MCw0MC4yLDQwLjIsNjAsMTkuOCw2MCwwLDQwLjIsMCwxOS44LDE5LjgsMCIgZmlsbD0iI2RkZCIgZmlsbC1vcGFjaXR5PSIwLjA1NDY2NjY2NjY2NjY2NyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwgMjQwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiNkZGQiIGZpbGwtb3BhY2l0eT0iMC4xMDY2NjY2NjY2NjY2NyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjAsIDI0MCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjZGRkIiBmaWxsLW9wYWNpdHk9IjAuMDcyIiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMjAsIDI0MCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjMjIyIiBmaWxsLW9wYWNpdHk9IjAuMTE1MzMzMzMzMzMzMzMiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4MCwgMjQwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiMyMjIiIGZpbGwtb3BhY2l0eT0iMC4xMzI2NjY2NjY2NjY2NyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjQwLCAyNDApIiAvPjxwb2x5bGluZSBwb2ludHM9IjE5LjgsMCw0MC4yLDAsNjAsMTkuOCw2MCw0MC4yLDQwLjIsNjAsMTkuOCw2MCwwLDQwLjIsMCwxOS44LDE5LjgsMCIgZmlsbD0iIzIyMiIgZmlsbC1vcGFjaXR5PSIwLjA4MDY2NjY2NjY2NjY2NyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzAwLCAyNDApIiAvPjxwb2x5bGluZSBwb2ludHM9IjE5LjgsMCw0MC4yLDAsNjAsMTkuOCw2MCw0MC4yLDQwLjIsNjAsMTkuOCw2MCwwLDQwLjIsMCwxOS44LDE5LjgsMCIgZmlsbD0iIzIyMiIgZmlsbC1vcGFjaXR5PSIwLjEzMjY2NjY2NjY2NjY3IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLCAzMDApIiAvPjxwb2x5bGluZSBwb2ludHM9IjE5LjgsMCw0MC4yLDAsNjAsMTkuOCw2MCw0MC4yLDQwLjIsNjAsMTkuOCw2MCwwLDQwLjIsMCwxOS44LDE5LjgsMCIgZmlsbD0iI2RkZCIgZmlsbC1vcGFjaXR5PSIwLjAzNzMzMzMzMzMzMzMzMyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjAsIDMwMCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjZGRkIiBmaWxsLW9wYWNpdHk9IjAuMTI0IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMjAsIDMwMCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjMjIyIiBmaWxsLW9wYWNpdHk9IjAuMDI4NjY2NjY2NjY2NjY3IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxODAsIDMwMCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjZGRkIiBmaWxsLW9wYWNpdHk9IjAuMDcyIiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNDAsIDMwMCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjMjIyIiBmaWxsLW9wYWNpdHk9IjAuMDI4NjY2NjY2NjY2NjY3IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMDAsIDMwMCkiIC8+PC9zdmc+';
|
59 |
|
60 |
$response = array(
|
61 |
array(
|
62 |
-
'id' => '
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
63 |
'title' => __('Updates manager', 'clearfy'),
|
64 |
'url' => '#',
|
65 |
-
'icon' =>
|
66 |
'description' => __('Disable updates enable auto updates for themes, plugins and WordPress.', 'clearfy')
|
67 |
),
|
68 |
array(
|
69 |
'id' => 'comments_tools',
|
70 |
'title' => __('Comments tools', 'clearfy'),
|
71 |
'url' => '#',
|
72 |
-
'icon' =>
|
73 |
'description' => __('Bulk disable and remove comments, disable “Website” field, hides external links, disable XML-RPC.', 'clearfy')
|
74 |
),
|
75 |
array(
|
@@ -83,14 +98,14 @@
|
|
83 |
'id' => 'asset_manager',
|
84 |
'title' => __('Asset manager', 'clearfy'),
|
85 |
'url' => '#',
|
86 |
-
'icon' =>
|
87 |
'description' => __('Selectively disable unused scripts and styles on the pages of your website.', 'clearfy')
|
88 |
),
|
89 |
array(
|
90 |
'id' => 'disable_notices',
|
91 |
'title' => __('Disable admin notices', 'clearfy'),
|
92 |
'url' => '#',
|
93 |
-
'icon' =>
|
94 |
'description' => __('Disables admin notices bulk or individually. Collects notices into the admin bar.', 'clearfy')
|
95 |
),
|
96 |
array(
|
@@ -115,9 +130,20 @@
|
|
115 |
'description' => __('Set of optimization functions for the popular Yoast SEO plugin.', 'clearfy')
|
116 |
)
|
117 |
);
|
118 |
-
?>
|
119 |
|
120 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
121 |
|
122 |
<div class="wbcr-clearfy-components">
|
123 |
<?php foreach($response as $addon): ?>
|
@@ -161,30 +187,25 @@
|
|
161 |
|
162 |
public function deactivateAction()
|
163 |
{
|
164 |
-
global $wbcr_clearfy_plugin;
|
165 |
-
|
166 |
$plugin_id = $this->request->get('id', null, true);
|
167 |
check_admin_referer('deactivate_' . $this->getResultId() . '_' . $plugin_id);
|
168 |
|
169 |
-
$preinsatall_components =
|
170 |
|
171 |
if( !in_array($plugin_id, $preinsatall_components) ) {
|
172 |
$preinsatall_components[] = $plugin_id;
|
173 |
}
|
174 |
|
175 |
-
|
176 |
-
|
177 |
$this->redirectToAction('index');
|
178 |
}
|
179 |
|
180 |
public function activateAction()
|
181 |
{
|
182 |
-
global $wbcr_clearfy_plugin;
|
183 |
-
|
184 |
$plugin_id = $this->request->get('id', null, true);
|
185 |
check_admin_referer('activate_' . $this->getResultId() . '_' . $plugin_id);
|
186 |
|
187 |
-
$preinsatall_components =
|
188 |
|
189 |
if( in_array($plugin_id, $preinsatall_components) ) {
|
190 |
foreach($preinsatall_components as $key => $component) {
|
@@ -194,10 +215,9 @@
|
|
194 |
}
|
195 |
}
|
196 |
|
197 |
-
|
198 |
-
|
199 |
$this->redirectToAction('index');
|
200 |
}
|
201 |
}
|
202 |
|
203 |
-
|
1 |
<?php
|
|
|
2 |
/**
|
3 |
* This file is the add-ons page.
|
4 |
*
|
7 |
*
|
8 |
* @since 1.0.0
|
9 |
*/
|
10 |
+
|
11 |
+
// Exit if accessed directly
|
12 |
+
if( !defined('ABSPATH') ) {
|
13 |
+
exit;
|
14 |
+
}
|
15 |
+
|
16 |
+
class WCL_ComponentsPage extends WCL_Page {
|
17 |
|
18 |
/**
|
19 |
* The id of the page in the admin menu.
|
20 |
*
|
21 |
* Mainly used to navigate between pages.
|
22 |
+
* @see FactoryPages401_AdminPage
|
23 |
*
|
24 |
* @since 1.0.0
|
25 |
* @var string
|
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 |
+
|
44 |
+
$this->plugin = $plugin;
|
45 |
}
|
46 |
|
47 |
/**
|
48 |
* Requests assets (js and css) for the page.
|
49 |
*
|
50 |
+
* @see FactoryPages401_AdminPage
|
51 |
*
|
52 |
* @since 1.0.0
|
53 |
* @return void
|
56 |
{
|
57 |
parent::assets($scripts, $styles);
|
58 |
|
59 |
+
$this->styles->add(WCL_PLUGIN_URL . '/admin/assets/css/components.css');
|
60 |
}
|
61 |
|
62 |
public function showPageContent()
|
63 |
{
|
64 |
+
$preinsatall_components = $this->plugin->getOption('deactive_preinstall_components', array());
|
|
|
|
|
65 |
|
66 |
$default_image = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzNjAiIGhlaWdodD0iMzYwIiB2aWV3Ym94PSIwIDAgMzYwIDM2MCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0icmdiKDcwLCA4MSwgOTMpIiAvPjxwb2x5bGluZSBwb2ludHM9IjE5LjgsMCw0MC4yLDAsNjAsMTkuOCw2MCw0MC4yLDQwLjIsNjAsMTkuOCw2MCwwLDQwLjIsMCwxOS44LDE5LjgsMCIgZmlsbD0iIzIyMiIgZmlsbC1vcGFjaXR5PSIwLjE1IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLCAwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiNkZGQiIGZpbGwtb3BhY2l0eT0iMC4wNTQ2NjY2NjY2NjY2NjciIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYwLCAwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiMyMjIiIGZpbGwtb3BhY2l0eT0iMC4wNDYiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyMCwgMCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjZGRkIiBmaWxsLW9wYWNpdHk9IjAuMDIiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4MCwgMCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjZGRkIiBmaWxsLW9wYWNpdHk9IjAuMDU0NjY2NjY2NjY2NjY3IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNDAsIDApIiAvPjxwb2x5bGluZSBwb2ludHM9IjE5LjgsMCw0MC4yLDAsNjAsMTkuOCw2MCw0MC4yLDQwLjIsNjAsMTkuOCw2MCwwLDQwLjIsMCwxOS44LDE5LjgsMCIgZmlsbD0iIzIyMiIgZmlsbC1vcGFjaXR5PSIwLjAyODY2NjY2NjY2NjY2NyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzAwLCAwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiNkZGQiIGZpbGwtb3BhY2l0eT0iMC4xMDY2NjY2NjY2NjY2NyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwgNjApIiAvPjxwb2x5bGluZSBwb2ludHM9IjE5LjgsMCw0MC4yLDAsNjAsMTkuOCw2MCw0MC4yLDQwLjIsNjAsMTkuOCw2MCwwLDQwLjIsMCwxOS44LDE5LjgsMCIgZmlsbD0iIzIyMiIgZmlsbC1vcGFjaXR5PSIwLjA5OCIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjAsIDYwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiMyMjIiIGZpbGwtb3BhY2l0eT0iMC4xMTUzMzMzMzMzMzMzMyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTIwLCA2MCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjMjIyIiBmaWxsLW9wYWNpdHk9IjAuMDYzMzMzMzMzMzMzMzMzIiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxODAsIDYwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiNkZGQiIGZpbGwtb3BhY2l0eT0iMC4wMzczMzMzMzMzMzMzMzMiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI0MCwgNjApIiAvPjxwb2x5bGluZSBwb2ludHM9IjE5LjgsMCw0MC4yLDAsNjAsMTkuOCw2MCw0MC4yLDQwLjIsNjAsMTkuOCw2MCwwLDQwLjIsMCwxOS44LDE5LjgsMCIgZmlsbD0iI2RkZCIgZmlsbC1vcGFjaXR5PSIwLjE0MTMzMzMzMzMzMzMzIiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMDAsIDYwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiNkZGQiIGZpbGwtb3BhY2l0eT0iMC4wMzczMzMzMzMzMzMzMzMiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsIDEyMCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjZGRkIiBmaWxsLW9wYWNpdHk9IjAuMDg5MzMzMzMzMzMzMzMzIiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2MCwgMTIwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiNkZGQiIGZpbGwtb3BhY2l0eT0iMC4wODkzMzMzMzMzMzMzMzMiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyMCwgMTIwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiMyMjIiIGZpbGwtb3BhY2l0eT0iMC4wODA2NjY2NjY2NjY2NjciIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4MCwgMTIwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiMyMjIiIGZpbGwtb3BhY2l0eT0iMC4xMzI2NjY2NjY2NjY2NyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjQwLCAxMjApIiAvPjxwb2x5bGluZSBwb2ludHM9IjE5LjgsMCw0MC4yLDAsNjAsMTkuOCw2MCw0MC4yLDQwLjIsNjAsMTkuOCw2MCwwLDQwLjIsMCwxOS44LDE5LjgsMCIgZmlsbD0iIzIyMiIgZmlsbC1vcGFjaXR5PSIwLjE1IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMDAsIDEyMCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjMjIyIiBmaWxsLW9wYWNpdHk9IjAuMDk4IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLCAxODApIiAvPjxwb2x5bGluZSBwb2ludHM9IjE5LjgsMCw0MC4yLDAsNjAsMTkuOCw2MCw0MC4yLDQwLjIsNjAsMTkuOCw2MCwwLDQwLjIsMCwxOS44LDE5LjgsMCIgZmlsbD0iIzIyMiIgZmlsbC1vcGFjaXR5PSIwLjA2MzMzMzMzMzMzMzMzMyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjAsIDE4MCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjZGRkIiBmaWxsLW9wYWNpdHk9IjAuMDIiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyMCwgMTgwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiNkZGQiIGZpbGwtb3BhY2l0eT0iMC4wMzczMzMzMzMzMzMzMzMiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4MCwgMTgwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiMyMjIiIGZpbGwtb3BhY2l0eT0iMC4xMTUzMzMzMzMzMzMzMyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjQwLCAxODApIiAvPjxwb2x5bGluZSBwb2ludHM9IjE5LjgsMCw0MC4yLDAsNjAsMTkuOCw2MCw0MC4yLDQwLjIsNjAsMTkuOCw2MCwwLDQwLjIsMCwxOS44LDE5LjgsMCIgZmlsbD0iIzIyMiIgZmlsbC1vcGFjaXR5PSIwLjA2MzMzMzMzMzMzMzMzMyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzAwLCAxODApIiAvPjxwb2x5bGluZSBwb2ludHM9IjE5LjgsMCw0MC4yLDAsNjAsMTkuOCw2MCw0MC4yLDQwLjIsNjAsMTkuOCw2MCwwLDQwLjIsMCwxOS44LDE5LjgsMCIgZmlsbD0iI2RkZCIgZmlsbC1vcGFjaXR5PSIwLjA1NDY2NjY2NjY2NjY2NyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwgMjQwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiNkZGQiIGZpbGwtb3BhY2l0eT0iMC4xMDY2NjY2NjY2NjY2NyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjAsIDI0MCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjZGRkIiBmaWxsLW9wYWNpdHk9IjAuMDcyIiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMjAsIDI0MCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjMjIyIiBmaWxsLW9wYWNpdHk9IjAuMTE1MzMzMzMzMzMzMzMiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4MCwgMjQwKSIgLz48cG9seWxpbmUgcG9pbnRzPSIxOS44LDAsNDAuMiwwLDYwLDE5LjgsNjAsNDAuMiw0MC4yLDYwLDE5LjgsNjAsMCw0MC4yLDAsMTkuOCwxOS44LDAiIGZpbGw9IiMyMjIiIGZpbGwtb3BhY2l0eT0iMC4xMzI2NjY2NjY2NjY2NyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjQwLCAyNDApIiAvPjxwb2x5bGluZSBwb2ludHM9IjE5LjgsMCw0MC4yLDAsNjAsMTkuOCw2MCw0MC4yLDQwLjIsNjAsMTkuOCw2MCwwLDQwLjIsMCwxOS44LDE5LjgsMCIgZmlsbD0iIzIyMiIgZmlsbC1vcGFjaXR5PSIwLjA4MDY2NjY2NjY2NjY2NyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzAwLCAyNDApIiAvPjxwb2x5bGluZSBwb2ludHM9IjE5LjgsMCw0MC4yLDAsNjAsMTkuOCw2MCw0MC4yLDQwLjIsNjAsMTkuOCw2MCwwLDQwLjIsMCwxOS44LDE5LjgsMCIgZmlsbD0iIzIyMiIgZmlsbC1vcGFjaXR5PSIwLjEzMjY2NjY2NjY2NjY3IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLCAzMDApIiAvPjxwb2x5bGluZSBwb2ludHM9IjE5LjgsMCw0MC4yLDAsNjAsMTkuOCw2MCw0MC4yLDQwLjIsNjAsMTkuOCw2MCwwLDQwLjIsMCwxOS44LDE5LjgsMCIgZmlsbD0iI2RkZCIgZmlsbC1vcGFjaXR5PSIwLjAzNzMzMzMzMzMzMzMzMyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjAsIDMwMCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjZGRkIiBmaWxsLW9wYWNpdHk9IjAuMTI0IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMjAsIDMwMCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjMjIyIiBmaWxsLW9wYWNpdHk9IjAuMDI4NjY2NjY2NjY2NjY3IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxODAsIDMwMCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjZGRkIiBmaWxsLW9wYWNpdHk9IjAuMDcyIiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNDAsIDMwMCkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMTkuOCwwLDQwLjIsMCw2MCwxOS44LDYwLDQwLjIsNDAuMiw2MCwxOS44LDYwLDAsNDAuMiwwLDE5LjgsMTkuOCwwIiBmaWxsPSIjMjIyIiBmaWxsLW9wYWNpdHk9IjAuMDI4NjY2NjY2NjY2NjY3IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMDAsIDMwMCkiIC8+PC9zdmc+';
|
67 |
|
68 |
$response = array(
|
69 |
array(
|
70 |
+
'id' => 'hide_login_page',
|
71 |
+
'title' => __('Hide login page', 'clearfy'),
|
72 |
+
'url' => '#',
|
73 |
+
'icon' => $default_image,
|
74 |
+
'description' => __('Hide Login Page is a very light plugin that lets you easily and safely change the url of the login form page to anything you want.', 'clearfy')
|
75 |
+
),
|
76 |
+
array(
|
77 |
+
'id' => 'updates_manager',
|
78 |
'title' => __('Updates manager', 'clearfy'),
|
79 |
'url' => '#',
|
80 |
+
'icon' => WCL_PLUGIN_URL . '/admin/assets/img/upm-icon-128x128.png',
|
81 |
'description' => __('Disable updates enable auto updates for themes, plugins and WordPress.', 'clearfy')
|
82 |
),
|
83 |
array(
|
84 |
'id' => 'comments_tools',
|
85 |
'title' => __('Comments tools', 'clearfy'),
|
86 |
'url' => '#',
|
87 |
+
'icon' => WCL_PLUGIN_URL . '/admin/assets/img/dic-icon-128x128.png',
|
88 |
'description' => __('Bulk disable and remove comments, disable “Website” field, hides external links, disable XML-RPC.', 'clearfy')
|
89 |
),
|
90 |
array(
|
98 |
'id' => 'asset_manager',
|
99 |
'title' => __('Asset manager', 'clearfy'),
|
100 |
'url' => '#',
|
101 |
+
'icon' => WCL_PLUGIN_URL . '/admin/assets/img/asm-icon-128x128.png',
|
102 |
'description' => __('Selectively disable unused scripts and styles on the pages of your website.', 'clearfy')
|
103 |
),
|
104 |
array(
|
105 |
'id' => 'disable_notices',
|
106 |
'title' => __('Disable admin notices', 'clearfy'),
|
107 |
'url' => '#',
|
108 |
+
'icon' => WCL_PLUGIN_URL . '/admin/assets/img/dan-icon-128x128.png',
|
109 |
'description' => __('Disables admin notices bulk or individually. Collects notices into the admin bar.', 'clearfy')
|
110 |
),
|
111 |
array(
|
130 |
'description' => __('Set of optimization functions for the popular Yoast SEO plugin.', 'clearfy')
|
131 |
)
|
132 |
);
|
|
|
133 |
|
134 |
+
$response[] = array(
|
135 |
+
'id' => 'cyrlitera',
|
136 |
+
'title' => __('Transliteration of Cyrillic alphabet', 'clearfy'),
|
137 |
+
'url' => '#',
|
138 |
+
'icon' => WCL_PLUGIN_URL . '/admin/assets/img/ctr-icon-128x128.png',
|
139 |
+
'description' => __('Converts Cyrillic permalinks of post, pages, taxonomies and media files to the Latin alphabet. Supports Russian, Ukrainian, Georgian, Bulgarian languages.', 'clearfy')
|
140 |
+
);
|
141 |
+
?>
|
142 |
+
<div class="wbcr-factory-page-group-header"><?php _e('<strong>Plugin Components</strong>.', 'clearfy') ?>
|
143 |
+
<p>
|
144 |
+
<?php _e('These are components of the plugin bundle. When you activate the plugin, all the components turned on by default. If you don’t need some function, you can easily turn it off on this page.', 'clearfy') ?>
|
145 |
+
</p>
|
146 |
+
</div>
|
147 |
|
148 |
<div class="wbcr-clearfy-components">
|
149 |
<?php foreach($response as $addon): ?>
|
187 |
|
188 |
public function deactivateAction()
|
189 |
{
|
|
|
|
|
190 |
$plugin_id = $this->request->get('id', null, true);
|
191 |
check_admin_referer('deactivate_' . $this->getResultId() . '_' . $plugin_id);
|
192 |
|
193 |
+
$preinsatall_components = $this->plugin->getOption('deactive_preinstall_components', array());
|
194 |
|
195 |
if( !in_array($plugin_id, $preinsatall_components) ) {
|
196 |
$preinsatall_components[] = $plugin_id;
|
197 |
}
|
198 |
|
199 |
+
$this->plugin->updateOption('deactive_preinstall_components', $preinsatall_components);
|
|
|
200 |
$this->redirectToAction('index');
|
201 |
}
|
202 |
|
203 |
public function activateAction()
|
204 |
{
|
|
|
|
|
205 |
$plugin_id = $this->request->get('id', null, true);
|
206 |
check_admin_referer('activate_' . $this->getResultId() . '_' . $plugin_id);
|
207 |
|
208 |
+
$preinsatall_components = $this->plugin->getOption('deactive_preinstall_components', array());
|
209 |
|
210 |
if( in_array($plugin_id, $preinsatall_components) ) {
|
211 |
foreach($preinsatall_components as $key => $component) {
|
215 |
}
|
216 |
}
|
217 |
|
218 |
+
$this->plugin->updateOption('deactive_preinstall_components', $preinsatall_components);
|
|
|
219 |
$this->redirectToAction('index');
|
220 |
}
|
221 |
}
|
222 |
|
223 |
+
|
admin/pages/defence-privacy-code.php
ADDED
@@ -0,0 +1,90 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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_PrivacyContentPage extends WCL_Page {
|
15 |
+
|
16 |
+
/**
|
17 |
+
* The id of the page in the admin menu.
|
18 |
+
*
|
19 |
+
* Mainly used to navigate between pages.
|
20 |
+
* @see FactoryPages401_AdminPage
|
21 |
+
*
|
22 |
+
* @since 1.0.0
|
23 |
+
* @var string
|
24 |
+
*/
|
25 |
+
public $id = "privacy";
|
26 |
+
|
27 |
+
public $page_parent_page = 'defence';
|
28 |
+
|
29 |
+
public $page_menu_position = 15;
|
30 |
+
|
31 |
+
public $page_menu_dashicon = 'dashicons-hidden';
|
32 |
+
|
33 |
+
/**
|
34 |
+
* @param WCL_Plugin $plugin
|
35 |
+
*/
|
36 |
+
public function __construct(WCL_Plugin $plugin)
|
37 |
+
{
|
38 |
+
$this->menu_title = __('Code privacy', 'clearfy');
|
39 |
+
|
40 |
+
parent::__construct($plugin);
|
41 |
+
|
42 |
+
$this->plugin = $plugin;
|
43 |
+
}
|
44 |
+
|
45 |
+
/**
|
46 |
+
* Permalinks options.
|
47 |
+
*
|
48 |
+
* @since 1.0.0
|
49 |
+
* @return mixed[]
|
50 |
+
*/
|
51 |
+
public function getOptions()
|
52 |
+
{
|
53 |
+
$options = array();
|
54 |
+
|
55 |
+
$options[] = array(
|
56 |
+
'type' => 'html',
|
57 |
+
'html' => '<div class="wbcr-factory-page-group-header">' . __('<strong>Hide WordPress plugins 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>'
|
58 |
+
);
|
59 |
+
|
60 |
+
$options[] = array(
|
61 |
+
'type' => 'checkbox',
|
62 |
+
'way' => 'buttons',
|
63 |
+
'name' => 'remove_html_comments',
|
64 |
+
'title' => __('Remove html comments', 'clearfy'),
|
65 |
+
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
|
66 |
+
'hint' => __('This function will remove all html comments in the source code, except for special and hidden comments. This is necessary to hide the version of installed plugins.', 'clearfy') . '<br><br><b>Clearfy: </b>' . __('Remove html comments in source code.', 'clearfy'),
|
67 |
+
'default' => false
|
68 |
+
);
|
69 |
+
|
70 |
+
$options[] = array(
|
71 |
+
'type' => 'checkbox',
|
72 |
+
'way' => 'buttons',
|
73 |
+
'name' => 'remove_meta_generator',
|
74 |
+
'title' => __('Remove meta generator', 'clearfy') . ' <span class="wbcr-clearfy-recomended-text">(' . __('Recommended', 'clearfy') . ')</span>',
|
75 |
+
'layout' => array('hint-type' => 'icon'),
|
76 |
+
'hint' => __('Allows attacker to learn the version of WP installed on the site. This meta tag has no useful function.', 'clearfy') . '<br><b>Clearfy: </b>' . sprintf(__('Removes the meta tag from the %s section', 'clearfy'), '<head>'),
|
77 |
+
'default' => false
|
78 |
+
);
|
79 |
+
|
80 |
+
$form_options = array();
|
81 |
+
|
82 |
+
$form_options[] = array(
|
83 |
+
'type' => 'form-group',
|
84 |
+
'items' => $options,
|
85 |
+
//'cssClass' => 'postbox'
|
86 |
+
);
|
87 |
+
|
88 |
+
return apply_filters('wbcr_clr_privacy_form_options', $form_options, $this);
|
89 |
+
}
|
90 |
+
}
|
admin/pages/defence.php
CHANGED
@@ -1,46 +1,42 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
/**
|
4 |
* The page Settings.
|
5 |
*
|
6 |
* @since 1.0.0
|
7 |
*/
|
8 |
-
|
9 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
/**
|
11 |
* The id of the page in the admin menu.
|
12 |
*
|
13 |
* Mainly used to navigate between pages.
|
14 |
-
* @see
|
15 |
*
|
16 |
* @since 1.0.0
|
17 |
* @var string
|
18 |
*/
|
19 |
public $id = "defence";
|
20 |
-
|
21 |
public $page_menu_dashicon = 'dashicons-shield-alt';
|
22 |
-
|
23 |
-
public function __construct(Factory326_Plugin $plugin)
|
24 |
-
{
|
25 |
-
$this->menuTitle = __('Defence', 'clearfy');
|
26 |
-
|
27 |
-
parent::__construct($plugin);
|
28 |
-
}
|
29 |
-
|
30 |
/**
|
31 |
-
*
|
32 |
-
*
|
33 |
-
* @since 1.0.0
|
34 |
-
* @return void
|
35 |
*/
|
36 |
-
|
37 |
{
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
}
|
44 |
|
45 |
/**
|
46 |
* Permalinks options.
|
@@ -51,62 +47,53 @@
|
|
51 |
public function getOptions()
|
52 |
{
|
53 |
$options = array();
|
54 |
-
|
55 |
-
|
56 |
'type' => 'html',
|
57 |
-
'html' =>
|
58 |
-
)
|
59 |
-
|
60 |
$options[] = array(
|
61 |
'type' => 'checkbox',
|
62 |
'way' => 'buttons',
|
63 |
'name' => 'protect_author_get',
|
64 |
-
'title' => __('Hide author login', 'clearfy')
|
65 |
'layout' => array('hint-type' => 'icon'),
|
66 |
'hint' => __('An attacker can find out the author\'s login, using a similar request to get your site. mysite.com/?author=1', 'clearfy') . '<br><b>Clearfy: </b>' . __('Sets the redirect to exclude the possibility of obtaining a login.', 'clearfy'),
|
67 |
'default' => false
|
68 |
);
|
69 |
-
|
70 |
$options[] = array(
|
71 |
'type' => 'checkbox',
|
72 |
'way' => 'buttons',
|
73 |
'name' => 'change_login_errors',
|
74 |
-
'title' => __('Hide errors when logging into the site', 'clearfy')
|
75 |
'layout' => array('hint-type' => 'icon'),
|
76 |
'hint' => __('WP by default shows whether you entered a wrong login or incorrect password, which allows attackers to understand if there is a certain user on the site, and then start searching through the passwords.', 'clearfy') . '<br><b>Clearfy: </b>' . __('Changes in the text of the error so that attackers could not find the login.', 'clearfy'),
|
77 |
'default' => false
|
78 |
);
|
79 |
-
|
80 |
$options[] = array(
|
81 |
'type' => 'checkbox',
|
82 |
'way' => 'buttons',
|
83 |
'name' => 'remove_x_pingback',
|
84 |
-
'title' => __('Disable XML-RPC', 'clearfy')
|
85 |
'layout' => array('hint-type' => 'icon'),
|
86 |
'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.', 'clearfy') . '<br><b>Clearfy: </b>' . __('Removes the server responses a reference to the xmlrpc file.', 'clearfy'),
|
87 |
'default' => false
|
88 |
);
|
89 |
|
90 |
-
|
91 |
-
|
92 |
-
'cssClass' => 'factory-separator-dashed'
|
93 |
-
);*/
|
94 |
-
|
95 |
-
/*$options[] = array(
|
96 |
-
'type' => 'html',
|
97 |
-
'html' => array($this, '_showFormButton')
|
98 |
-
);*/
|
99 |
|
100 |
$form_options = array();
|
101 |
-
|
102 |
$form_options[] = array(
|
103 |
'type' => 'form-group',
|
104 |
'items' => $options,
|
105 |
//'cssClass' => 'postbox'
|
106 |
);
|
107 |
-
|
108 |
return apply_filters('wbcr_clr_defence_form_options', $form_options, $this);
|
109 |
}
|
110 |
}
|
111 |
-
|
112 |
-
FactoryPages324::register($wbcr_clearfy_plugin, 'WbcrClr_DefencePage');
|
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_DefencePage extends WCL_Page {
|
15 |
+
|
16 |
/**
|
17 |
* The id of the page in the admin menu.
|
18 |
*
|
19 |
* Mainly used to navigate between pages.
|
20 |
+
* @see FactoryPages401_AdminPage
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
* @var string
|
24 |
*/
|
25 |
public $id = "defence";
|
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;
|
39 |
+
}
|
40 |
|
41 |
/**
|
42 |
* Permalinks options.
|
47 |
public function getOptions()
|
48 |
{
|
49 |
$options = array();
|
50 |
+
|
51 |
+
$options[] = array(
|
52 |
'type' => 'html',
|
53 |
+
'html' => '<div class="wbcr-factory-page-group-header">' . __('<strong>Base settings</strong>.', 'clearfy') . '<p>' . __('Basic recommended security settings.', 'clearfy') . '</p></div>'
|
54 |
+
);
|
55 |
+
|
56 |
$options[] = array(
|
57 |
'type' => 'checkbox',
|
58 |
'way' => 'buttons',
|
59 |
'name' => 'protect_author_get',
|
60 |
+
'title' => __('Hide author login', 'clearfy'),
|
61 |
'layout' => array('hint-type' => 'icon'),
|
62 |
'hint' => __('An attacker can find out the author\'s login, using a similar request to get your site. mysite.com/?author=1', 'clearfy') . '<br><b>Clearfy: </b>' . __('Sets the redirect to exclude the possibility of obtaining a login.', 'clearfy'),
|
63 |
'default' => false
|
64 |
);
|
65 |
+
|
66 |
$options[] = array(
|
67 |
'type' => 'checkbox',
|
68 |
'way' => 'buttons',
|
69 |
'name' => 'change_login_errors',
|
70 |
+
'title' => __('Hide errors when logging into the site', 'clearfy'),
|
71 |
'layout' => array('hint-type' => 'icon'),
|
72 |
'hint' => __('WP by default shows whether you entered a wrong login or incorrect password, which allows attackers to understand if there is a certain user on the site, and then start searching through the passwords.', 'clearfy') . '<br><b>Clearfy: </b>' . __('Changes in the text of the error so that attackers could not find the login.', 'clearfy'),
|
73 |
'default' => false
|
74 |
);
|
75 |
+
|
76 |
$options[] = array(
|
77 |
'type' => 'checkbox',
|
78 |
'way' => 'buttons',
|
79 |
'name' => 'remove_x_pingback',
|
80 |
+
'title' => __('Disable XML-RPC', 'clearfy'),
|
81 |
'layout' => array('hint-type' => 'icon'),
|
82 |
'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.', 'clearfy') . '<br><b>Clearfy: </b>' . __('Removes the server responses a reference to the xmlrpc file.', 'clearfy'),
|
83 |
'default' => false
|
84 |
);
|
85 |
|
86 |
+
//todo: убрать этот хук в hide my wp
|
87 |
+
//$options = apply_filters('wbcr_clr_defence_form_base_options', $options);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
88 |
|
89 |
$form_options = array();
|
90 |
+
|
91 |
$form_options[] = array(
|
92 |
'type' => 'form-group',
|
93 |
'items' => $options,
|
94 |
//'cssClass' => 'postbox'
|
95 |
);
|
96 |
+
|
97 |
return apply_filters('wbcr_clr_defence_form_options', $form_options, $this);
|
98 |
}
|
99 |
}
|
|
|
|
admin/pages/index.php
ADDED
File without changes
|
admin/pages/performance-google.php
ADDED
@@ -0,0 +1,258 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* The page Settings.
|
4 |
+
*
|
5 |
+
* @since 1.0.0
|
6 |
+
*/
|
7 |
+
|
8 |
+
// Exit if accessed directly
|
9 |
+
if( !defined('ABSPATH') ) {
|
10 |
+
exit;
|
11 |
+
}
|
12 |
+
|
13 |
+
class WCL_PerformanceGooglePage extends WCL_Page {
|
14 |
+
|
15 |
+
/**
|
16 |
+
* The id of the page in the admin menu.
|
17 |
+
*
|
18 |
+
* Mainly used to navigate between pages.
|
19 |
+
* @see FactoryPages401_AdminPage
|
20 |
+
*
|
21 |
+
* @since 1.0.0
|
22 |
+
* @var string
|
23 |
+
*/
|
24 |
+
public $id = "performance_google";
|
25 |
+
|
26 |
+
/**
|
27 |
+
* @var string
|
28 |
+
*/
|
29 |
+
public $page_parent_page = 'performance';
|
30 |
+
|
31 |
+
/**
|
32 |
+
* @var string
|
33 |
+
*/
|
34 |
+
public $page_menu_dashicon = 'dashicons-performance';
|
35 |
+
|
36 |
+
/**
|
37 |
+
* @var int
|
38 |
+
*/
|
39 |
+
public $page_menu_position = 20;
|
40 |
+
|
41 |
+
/**
|
42 |
+
* @param WCL_Plugin $plugin
|
43 |
+
*/
|
44 |
+
public function __construct(WCL_Plugin $plugin)
|
45 |
+
{
|
46 |
+
$this->menu_title = __('Google services', 'clearfy');
|
47 |
+
|
48 |
+
parent::__construct($plugin);
|
49 |
+
|
50 |
+
$this->plugin = $plugin;
|
51 |
+
}
|
52 |
+
|
53 |
+
public function afterFormSave()
|
54 |
+
{
|
55 |
+
$ga_cache = $this->getOption('ga_cache');
|
56 |
+
$ga_caos_remove_wp_cron = $this->getOption('ga_caos_remove_wp_cron');
|
57 |
+
|
58 |
+
if( $ga_cache ) {
|
59 |
+
if( !$ga_caos_remove_wp_cron ) {
|
60 |
+
if( !wp_next_scheduled('wbcr_clearfy_update_local_ga') ) {
|
61 |
+
wp_schedule_event(time(), 'daily', 'wbcr_clearfy_update_local_ga');
|
62 |
+
}
|
63 |
+
|
64 |
+
return;
|
65 |
+
}
|
66 |
+
}
|
67 |
+
|
68 |
+
if( (!$ga_cache || $ga_caos_remove_wp_cron) && wp_next_scheduled('wbcr_clearfy_update_local_ga') ) {
|
69 |
+
wp_clear_scheduled_hook('wbcr_clearfy_update_local_ga');
|
70 |
+
}
|
71 |
+
}
|
72 |
+
|
73 |
+
/**
|
74 |
+
* Permalinks options.
|
75 |
+
*
|
76 |
+
* @since 1.0.0
|
77 |
+
* @return mixed[]
|
78 |
+
*/
|
79 |
+
public function getOptions()
|
80 |
+
{
|
81 |
+
$options = array();
|
82 |
+
|
83 |
+
$options[] = array(
|
84 |
+
'type' => 'html',
|
85 |
+
'html' => '<div class="wbcr-factory-page-group-header">' . __('<strong>Fonts and Maps</strong>.', 'clearfy') . '<p>' . __('Google Fonts and Maps strongly affect your website loading speed. Use settings below to disable or optimize Google fonts and Maps.', 'clearfy') . '</p></div>'
|
86 |
+
);
|
87 |
+
|
88 |
+
$options[] = array(
|
89 |
+
'type' => 'checkbox',
|
90 |
+
'way' => 'buttons',
|
91 |
+
'name' => 'lazy_load_google_fonts',
|
92 |
+
'title' => __('Google Fonts asynchronous', 'clearfy'),
|
93 |
+
'layout' => array('hint-type' => 'icon'),
|
94 |
+
'hint' => __('By default, WordPress loads Google fonts synchronously, that is, your page will not be fully loaded until Google Fonts are loaded. This algorithm slows down the loading of your page and leads to errors when checking the site in Google Page Speed. Using this option, your Google Fonts will be loaded after your page is fully loaded. This method has a negative — you and visitors of your site will see how the font changes while loading a page, from the system to the downloadable one.', 'clearfy'),
|
95 |
+
'default' => false
|
96 |
+
);
|
97 |
+
|
98 |
+
$options[] = array(
|
99 |
+
'type' => 'checkbox',
|
100 |
+
'way' => 'buttons',
|
101 |
+
'name' => 'disable_google_fonts',
|
102 |
+
'title' => __('Disable Google Fonts', 'clearfy'),
|
103 |
+
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
|
104 |
+
'hint' => __('This function stops loading of Open Sans and other fonts used by WordPress and bundled themes (Twenty Twelve, Twenty Thirteen, Twenty Fourteen, Twenty Fifteen, Twenty Sixteen, Twenty Seventeen) from Google Fonts.
|
105 |
+
Reasons for not using Google Fonts might be privacy and security, local development or production, blocking of Google’s servers, characters not supported by font, performance.', 'clearfy'),
|
106 |
+
'default' => false
|
107 |
+
);
|
108 |
+
|
109 |
+
$options[] = array(
|
110 |
+
'type' => 'checkbox',
|
111 |
+
'way' => 'buttons',
|
112 |
+
'name' => 'disable_google_maps',
|
113 |
+
'title' => __('Disable Google maps', 'clearfy'),
|
114 |
+
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
|
115 |
+
'hint' => __('This function stops loading of Google Maps used by some themes or plugins.
|
116 |
+
Reasons for not using Google Maps might be privacy and security, local development or production, blocking of Google’s servers, performance, not necessary, etc.', 'clearfy'),
|
117 |
+
'default' => false,
|
118 |
+
'eventsOn' => array(
|
119 |
+
'show' => '.factory-control-exclude_from_disable_google_maps,.factory-control-remove_iframe_google_maps'
|
120 |
+
),
|
121 |
+
'eventsOff' => array(
|
122 |
+
'hide' => '.factory-control-exclude_from_disable_google_maps,.factory-control-remove_iframe_google_maps'
|
123 |
+
)
|
124 |
+
);
|
125 |
+
|
126 |
+
$options[] = array(
|
127 |
+
'type' => 'checkbox',
|
128 |
+
'way' => 'buttons',
|
129 |
+
'name' => 'remove_iframe_google_maps',
|
130 |
+
'title' => __('Remove iframe Google maps', 'clearfy'),
|
131 |
+
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
|
132 |
+
'hint' => __('By default, the "Disable Google Maps" option removes maps inserted with the SCRIPT tag from the page source code. However, you can also cut out all maps inserted via the iframe by enabling this option.', 'clearfy'),
|
133 |
+
'default' => false
|
134 |
+
);
|
135 |
+
|
136 |
+
$options[] = array(
|
137 |
+
'type' => 'textbox',
|
138 |
+
'way' => 'buttons',
|
139 |
+
'name' => 'exclude_from_disable_google_maps',
|
140 |
+
'title' => __('Exclude pages from Disable Google Maps filter', 'clearfy'),
|
141 |
+
'hint' => __('Posts or Pages IDs separated by a ,', 'clearfy')
|
142 |
+
);
|
143 |
+
|
144 |
+
$options[] = array(
|
145 |
+
'type' => 'html',
|
146 |
+
'html' => '<div class="wbcr-factory-page-group-header">' . __('<strong>Google Analytics cache</strong>.', 'clearfy') . '<p>' . __('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. The second case that you might need these settings is the usual Google Analytics connection to your website. You do not need to do this with other plugins or insert the tracking code into your theme.', 'clearfy') . '</p></div>'
|
147 |
+
);
|
148 |
+
|
149 |
+
$options[] = array(
|
150 |
+
'type' => 'checkbox',
|
151 |
+
'way' => 'buttons',
|
152 |
+
'name' => 'ga_cache',
|
153 |
+
'title' => __('Google analytic cache', 'clearfy'),
|
154 |
+
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
|
155 |
+
'hint' => __('If you enable this option, the plugin will begin to save a local copy of Google Analytics to speed up the loading of your website and improve Google Page Speed.', 'clearfy') . '<br>--<br><span class="hint-warnign-color">' . __('ATTENTION! Before using this option, remove the previously installed Google Analytics code inside your theme or plugins associated with this feature!', 'clearfy') . '</span>',
|
156 |
+
'default' => false,
|
157 |
+
'eventsOn' => array(
|
158 |
+
'show' => '#wbcr-clearfy-performance-ga-block'
|
159 |
+
),
|
160 |
+
'eventsOff' => array(
|
161 |
+
'hide' => '#wbcr-clearfy-performance-ga-block'
|
162 |
+
)
|
163 |
+
|
164 |
+
);
|
165 |
+
|
166 |
+
$options[] = array(
|
167 |
+
'type' => 'div',
|
168 |
+
'id' => 'wbcr-clearfy-performance-ga-block',
|
169 |
+
'items' => array(
|
170 |
+
array(
|
171 |
+
'type' => 'textbox',
|
172 |
+
'way' => 'buttons',
|
173 |
+
'name' => 'ga_tracking_id',
|
174 |
+
'title' => __('Google analytic Code', 'clearfy'),
|
175 |
+
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
|
176 |
+
'hint' => __('Set the Google Analytics tracking code.', 'clearfy'),
|
177 |
+
'placeholder' => 'UA-XXXXX-Y'
|
178 |
+
),
|
179 |
+
array(
|
180 |
+
'type' => 'dropdown',
|
181 |
+
'way' => 'buttons',
|
182 |
+
'name' => 'ga_script_position',
|
183 |
+
'data' => array(
|
184 |
+
array('header', 'Header'),
|
185 |
+
array('footer', 'Footer'),
|
186 |
+
),
|
187 |
+
'title' => __('Save GA in', 'clearfy'),
|
188 |
+
'hint' => __('Select location for the Google Analytics code.', 'clearfy'),
|
189 |
+
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
|
190 |
+
'default' => 'footer'
|
191 |
+
),
|
192 |
+
array(
|
193 |
+
'type' => 'integer',
|
194 |
+
'name' => 'ga_adjusted_bounce_rate',
|
195 |
+
'title' => __('Use adjusted bounce rate?', 'clearfy'),
|
196 |
+
'default' => 0,
|
197 |
+
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
|
198 |
+
'hint' => __('Essentially, you set up an event which is triggered after a user spends a certain amount of time on the landing page, telling Google Analytics not to count these users as bounces. A user may come to your website, find all of the information they need (a phone number, for example) and then leave the site without visiting another page. Without adjusted bounce rate, such a user would be considered a bounce, even though they had a successful experience. By defining a time limit after which you can consider a user to be "engaged," that user would no longer count as a bounce, and you\'d get a more accurate idea of whether they found what they were looking for.', 'clearfy')
|
199 |
+
),
|
200 |
+
array(
|
201 |
+
'type' => 'integer',
|
202 |
+
'way' => 'buttons',
|
203 |
+
'name' => 'ga_enqueue_order',
|
204 |
+
'title' => __('Change enqueue order?', 'clearfy'),
|
205 |
+
'default' => 0,
|
206 |
+
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
|
207 |
+
'hint' => __('By default, Google Analytics code is loaded before other scripts and javasscript code, but if you set the value to 100, the GA code will be loaded after all other scripts. By changing the priority, you can set code position on the page.', 'clearfy')
|
208 |
+
),
|
209 |
+
array(
|
210 |
+
'type' => 'checkbox',
|
211 |
+
'way' => 'buttons',
|
212 |
+
'name' => 'ga_caos_disable_display_features',
|
213 |
+
'title' => __('Disable all display features functionality?', 'clearfy'),
|
214 |
+
//'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
|
215 |
+
'hint' => sprintf(__('Disable all <a href="%s">display features functionality?</a>', 'clearfy'), 'https://developers.google.com/analytics/devguides/collection/analyticsjs/display-features'),
|
216 |
+
'default' => false
|
217 |
+
),
|
218 |
+
array(
|
219 |
+
'type' => 'checkbox',
|
220 |
+
'way' => 'buttons',
|
221 |
+
'name' => 'ga_anonymize_ip',
|
222 |
+
'title' => __('Use Anonymize IP? (Required by law for some countries)', 'clearfy'),
|
223 |
+
//'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
|
224 |
+
'hint' => sprintf(__('Use <a href="%s">Anonymize IP?</a> (Required by law for some countries)', 'clearfy'), 'https://developers.google.com/analytics/devguides/collection/analyticsjs/display-features'),
|
225 |
+
'default' => false
|
226 |
+
),
|
227 |
+
array(
|
228 |
+
'type' => 'checkbox',
|
229 |
+
'way' => 'buttons',
|
230 |
+
'name' => 'ga_track_admin',
|
231 |
+
'title' => __('Track logged in Administrators?', 'clearfy'),
|
232 |
+
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
|
233 |
+
'hint' => __('Track logged in Administrators?', 'clearfy'),
|
234 |
+
'default' => false
|
235 |
+
),
|
236 |
+
array(
|
237 |
+
'type' => 'checkbox',
|
238 |
+
'way' => 'buttons',
|
239 |
+
'name' => 'ga_caos_remove_wp_cron',
|
240 |
+
'title' => __('Remove script from wp-cron?', 'clearfy'),
|
241 |
+
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
|
242 |
+
'hint' => __('Clearfy creates a cron job to daily update Google Analytics cache scripts. After enabling this option, the plugin will not update Google Analytics cache file. Do not use this option if you do not understand why you need it!', 'clearfy'),
|
243 |
+
'default' => false
|
244 |
+
)
|
245 |
+
)
|
246 |
+
);
|
247 |
+
|
248 |
+
$form_options = array();
|
249 |
+
|
250 |
+
$form_options[] = array(
|
251 |
+
'type' => 'form-group',
|
252 |
+
'items' => $options,
|
253 |
+
//'cssClass' => 'postbox'
|
254 |
+
);
|
255 |
+
|
256 |
+
return apply_filters('wbcr_clr_code_clean_form_options', $form_options, $this);
|
257 |
+
}
|
258 |
+
}
|
admin/pages/performance-html-minify.php
ADDED
@@ -0,0 +1,154 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* The page Settings.
|
4 |
+
*
|
5 |
+
* @since 1.0.0
|
6 |
+
*/
|
7 |
+
|
8 |
+
// Exit if accessed directly
|
9 |
+
if( !defined('ABSPATH') ) {
|
10 |
+
exit;
|
11 |
+
}
|
12 |
+
|
13 |
+
class WCL_PerformanceHtmlMinifyPage extends WCL_Page {
|
14 |
+
|
15 |
+
/**
|
16 |
+
* The id of the page in the admin menu.
|
17 |
+
*
|
18 |
+
* Mainly used to navigate between pages.
|
19 |
+
* @see FactoryPages401_AdminPage
|
20 |
+
*
|
21 |
+
* @since 1.0.0
|
22 |
+
* @var string
|
23 |
+
*/
|
24 |
+
public $id = "performance_html_minify";
|
25 |
+
|
26 |
+
/**
|
27 |
+
* @var string
|
28 |
+
*/
|
29 |
+
public $page_parent_page = 'performance';
|
30 |
+
|
31 |
+
/**
|
32 |
+
* @var string
|
33 |
+
*/
|
34 |
+
public $page_menu_dashicon = 'dashicons-performance';
|
35 |
+
|
36 |
+
/**
|
37 |
+
* @var int
|
38 |
+
*/
|
39 |
+
public $page_menu_position = 20;
|
40 |
+
|
41 |
+
/**
|
42 |
+
* @param WCL_Plugin $plugin
|
43 |
+
*/
|
44 |
+
public function __construct(WCL_Plugin $plugin)
|
45 |
+
{
|
46 |
+
$this->menu_title = __('Html Minify', 'clearfy');
|
47 |
+
|
48 |
+
parent::__construct($plugin);
|
49 |
+
|
50 |
+
$this->plugin = $plugin;
|
51 |
+
}
|
52 |
+
|
53 |
+
/**
|
54 |
+
* Permalinks options.
|
55 |
+
*
|
56 |
+
* @since 1.0.0
|
57 |
+
* @return mixed[]
|
58 |
+
*/
|
59 |
+
public function getOptions()
|
60 |
+
{
|
61 |
+
$options = array();
|
62 |
+
|
63 |
+
$options[] = array(
|
64 |
+
'type' => 'html',
|
65 |
+
'html' => '<div class="wbcr-factory-page-group-header">' . __('<strong>Make your website’s markup look professional by using Minify HTML options</strong>.', 'clearfy') . '<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 time.', 'clearfy') . '</p></div>'
|
66 |
+
);
|
67 |
+
|
68 |
+
$options[] = array(
|
69 |
+
'type' => 'checkbox',
|
70 |
+
'way' => 'buttons',
|
71 |
+
'name' => 'html_minify',
|
72 |
+
'title' => __('HTML minify', 'clearfy'),
|
73 |
+
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
|
74 |
+
'hint' => __('Reduces the weight of the page by removing line breaks, tabs, spaces, etc.', 'clearfy') . '<br><br><b>Clearfy: </b>' . __('Minify pages.', 'clearfy'),
|
75 |
+
'default' => false,
|
76 |
+
'eventsOn' => array(
|
77 |
+
'show' => '#wbcr-clearfy-performance-html-minify-options'
|
78 |
+
),
|
79 |
+
'eventsOff' => array(
|
80 |
+
'hide' => '#wbcr-clearfy-performance-html-minify-options'
|
81 |
+
)
|
82 |
+
);
|
83 |
+
|
84 |
+
$options[] = array(
|
85 |
+
'type' => 'separator'
|
86 |
+
);
|
87 |
+
|
88 |
+
$sub_options[] = array(
|
89 |
+
'type' => 'checkbox',
|
90 |
+
'way' => 'buttons',
|
91 |
+
'name' => 'minify_javascript',
|
92 |
+
'title' => __('Minify inline JavaScript', 'clearfy'),
|
93 |
+
'default' => true
|
94 |
+
);
|
95 |
+
|
96 |
+
$sub_options[] = array(
|
97 |
+
'type' => 'checkbox',
|
98 |
+
'way' => 'buttons',
|
99 |
+
'name' => 'minify_html_comments',
|
100 |
+
'title' => __('Remove HTML, JavaScript and CSS comments', 'clearfy'),
|
101 |
+
'default' => true
|
102 |
+
);
|
103 |
+
|
104 |
+
$sub_options[] = array(
|
105 |
+
'type' => 'checkbox',
|
106 |
+
'way' => 'buttons',
|
107 |
+
'name' => 'minify_html_xhtml',
|
108 |
+
'title' => __('Remove XHTML closing tags from HTML5 void elements', 'clearfy'),
|
109 |
+
'default' => false
|
110 |
+
);
|
111 |
+
|
112 |
+
$sub_options[] = array(
|
113 |
+
'type' => 'checkbox',
|
114 |
+
'way' => 'buttons',
|
115 |
+
'name' => 'minify_html_relative',
|
116 |
+
'title' => __('Remove relative domain from internal URLs', 'clearfy'),
|
117 |
+
'default' => false
|
118 |
+
);
|
119 |
+
|
120 |
+
$sub_options[] = array(
|
121 |
+
'type' => 'checkbox',
|
122 |
+
'way' => 'buttons',
|
123 |
+
'name' => 'minify_html_scheme',
|
124 |
+
'title' => __('Remove schemes (HTTP: and HTTPS:) from all URLs', 'clearfy'),
|
125 |
+
'default' => false
|
126 |
+
);
|
127 |
+
|
128 |
+
$sub_options[] = array(
|
129 |
+
'type' => 'checkbox',
|
130 |
+
'way' => 'buttons',
|
131 |
+
'name' => 'minify_html_utf8',
|
132 |
+
'title' => __('Support multi-byte UTF-8 encoding (if you see odd characters)', 'clearfy'),
|
133 |
+
'default' => in_array(get_locale(), array('ru_RU', 'bel', 'kk', 'hy', 'uk', 'bg', 'bg_BG', 'ka_GE'))
|
134 |
+
? true
|
135 |
+
: false
|
136 |
+
);
|
137 |
+
|
138 |
+
$options[] = array(
|
139 |
+
'type' => 'div',
|
140 |
+
'id' => 'wbcr-clearfy-performance-html-minify-options',
|
141 |
+
'items' => $sub_options
|
142 |
+
);
|
143 |
+
|
144 |
+
$form_options = array();
|
145 |
+
|
146 |
+
$form_options[] = array(
|
147 |
+
'type' => 'form-group',
|
148 |
+
'items' => $options,
|
149 |
+
//'cssClass' => 'postbox'
|
150 |
+
);
|
151 |
+
|
152 |
+
return apply_filters('wbcr_clr_code_clean_form_options', $form_options, $this);
|
153 |
+
}
|
154 |
+
}
|
admin/pages/{code-clean.php → performance.php}
RENAMED
@@ -1,48 +1,58 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
/**
|
4 |
* The page Settings.
|
5 |
*
|
6 |
* @since 1.0.0
|
7 |
*/
|
8 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
|
10 |
/**
|
11 |
* The id of the page in the admin menu.
|
12 |
*
|
13 |
* Mainly used to navigate between pages.
|
14 |
-
* @see
|
15 |
*
|
16 |
* @since 1.0.0
|
17 |
* @var string
|
18 |
*/
|
19 |
-
public $id = "
|
20 |
|
21 |
-
|
|
|
|
|
|
|
22 |
|
|
|
|
|
|
|
23 |
public $page_menu_position = 20;
|
24 |
|
25 |
-
|
|
|
|
|
|
|
26 |
{
|
27 |
-
$this->
|
28 |
|
29 |
parent::__construct($plugin);
|
|
|
|
|
30 |
}
|
31 |
|
32 |
-
|
33 |
-
* Shows the description above the options.
|
34 |
-
*
|
35 |
-
* @since 1.0.0
|
36 |
-
* @return void
|
37 |
-
*/
|
38 |
-
/*public function _showHeader()
|
39 |
{
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
}
|
46 |
|
47 |
/**
|
48 |
* Permalinks options.
|
@@ -54,10 +64,10 @@
|
|
54 |
{
|
55 |
$options = array();
|
56 |
|
57 |
-
|
58 |
'type' => 'html',
|
59 |
-
'html' =>
|
60 |
-
)
|
61 |
|
62 |
$options[] = array(
|
63 |
'type' => 'checkbox',
|
@@ -66,7 +76,27 @@
|
|
66 |
'title' => __('Disable RSS feeds', 'clearfy'),
|
67 |
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
|
68 |
'hint' => __('By default, WordPress generates all types of different RSS feeds for your site. While RSS feeds can be useful if you are running a blog, businesses might not always utilize these. Not every site out there has a blog.', 'clearfy') . '<br><b>Clearfy: </b>' . sprintf(__('Removes a link to the RSS-feed from the %s section, closes and puts the redirect from all RSS-feeds.', 'clearfy'), '<head>'),
|
69 |
-
'default' => false
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
);
|
71 |
|
72 |
$options[] = array(
|
@@ -83,7 +113,7 @@
|
|
83 |
'type' => 'checkbox',
|
84 |
'way' => 'buttons',
|
85 |
'name' => 'disable_emoji',
|
86 |
-
'title' => __('Disable Emojis', 'clearfy')
|
87 |
'layout' => array('hint-type' => 'icon'),
|
88 |
'hint' => __('Emojis are fun and all, but if you are aren’t using them they actually load a JavaScript file (wp-emoji-release.min.js) on every page of your website. For a lot of businesses, this is not needed and simply adds load time to your site. So we recommend disabling this.', 'clearfy') . '<br><br><b>Clearfy: </b>' . __('Removes WordPress Emojis JavaScript file (wp-emoji-release.min.js).', 'clearfy'),
|
89 |
'default' => false
|
@@ -109,30 +139,41 @@
|
|
109 |
'default' => false
|
110 |
);
|
111 |
|
112 |
-
|
113 |
'type' => 'checkbox',
|
114 |
'way' => 'buttons',
|
115 |
'name' => 'remove_dns_prefetch',
|
116 |
-
'title' => __('Remove dns-prefetch', 'clearfy')
|
117 |
'layout' => array('hint-type' => 'icon'),
|
118 |
'hint' => sprintf(__('Since version 4.6.1 in WordPress there are new links in the section %s this type of: ', 'clearfy'), 'head') . ' <code>link rel="dns-prefetch" href="//s.w.org"</code><br><br><b>Clearfy: </b>' . sprintf(__('Removes dns-prefetch links from the %s section', 'clearfy'), 'head'),
|
119 |
'default' => false
|
120 |
-
)
|
121 |
$options[] = array(
|
122 |
'type' => 'checkbox',
|
123 |
'way' => 'buttons',
|
124 |
'name' => 'remove_rsd_link',
|
125 |
-
'title' => __('Remove RSD Link', 'clearfy')
|
126 |
'layout' => array('hint-type' => 'icon'),
|
127 |
'hint' => __('The above link is used by blog clients. If you edit your site from your browser then you don’t need this. It is also used by some 3rd party applications that utilize XML-RPC requests. In most cases, this is just unnecessary code.', 'clearfy') . '<br><code>link rel="EditURI" type="application/rsd+xml" title="RSD"</code><br><br><b>Clearfy: </b>' . __('Remove RSD (Real Simple Discovery) link tag.', 'clearfy'),
|
128 |
'default' => false
|
129 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
130 |
|
131 |
$options[] = array(
|
132 |
'type' => 'checkbox',
|
133 |
'way' => 'buttons',
|
134 |
'name' => 'remove_wlw_link',
|
135 |
-
'title' => __('Remove wlwmanifest Link', 'clearfy')
|
136 |
'layout' => array('hint-type' => 'icon'),
|
137 |
'hint' => '<code>link rel="wlwmanifest" type="application/wlwmanifest+xml"</code><br>' . __('This link is actually used by Windows Live Writer. If you don’t know use Windows Live Writer, which we are guessing you don’t, this is just unnecessary code.', 'clearfy') . '<br><br><b>Clearfy: </b>' . __('Remove wlwmanifest (Windows Live Writer) link tag.', 'clearfy'),
|
138 |
'default' => false
|
@@ -142,7 +183,7 @@
|
|
142 |
'type' => 'checkbox',
|
143 |
'way' => 'buttons',
|
144 |
'name' => 'remove_shortlink_link',
|
145 |
-
'title' => __('Remove Shortlink', 'clearfy')
|
146 |
'layout' => array('hint-type' => 'icon'),
|
147 |
'hint' => sprintf(__('By default, the following tag shows up in every WordPress install. %s This is used for a shortlink to your pages and posts. However, if you are already using pretty permalinks, such as domain.com/post, then there is no reason to keep this, it is just unnecessary code.', 'clearfy'), '<br><code>link rel="shortlink" href="https://domain.com?p=712"</code><br>') . '<br><br><b>Clearfy: </b>' . __('Remove Shortlink link tag.', 'clearfy'),
|
148 |
'default' => false
|
@@ -152,7 +193,7 @@
|
|
152 |
'type' => 'checkbox',
|
153 |
'way' => 'buttons',
|
154 |
'name' => 'remove_adjacent_posts_link',
|
155 |
-
'title' => __('Remove links to previous, next post', 'clearfy')
|
156 |
'layout' => array('hint-type' => 'icon'),
|
157 |
'hint' => __('If you use Wordpress as a CMS, then you can delete these links, they can only come in handy for a blog.', 'clearfy') . '<br><br><b>Clearfy: </b>' . __('Remove the previous and next post links within the wp_head of your wordpress theme.', 'clearfy'),
|
158 |
'default' => false
|
@@ -162,7 +203,7 @@
|
|
162 |
'type' => 'checkbox',
|
163 |
'way' => 'buttons',
|
164 |
'name' => 'remove_recent_comments_style',
|
165 |
-
'title' => __('Remove .recentcomments styles', 'clearfy')
|
166 |
'layout' => array('hint-type' => 'icon'),
|
167 |
'hint' => __('WP by default for the widget "recent comments" prescribes in the code styles that are almost impossible to change, because to them apply! important.', 'clearfy') . '<br><br><b>Clearfy: </b>' . __('Removes .recentcomments styles from head section.', 'clearfy'),
|
168 |
'default' => false
|
@@ -171,32 +212,65 @@
|
|
171 |
$options[] = array(
|
172 |
'type' => 'checkbox',
|
173 |
'way' => 'buttons',
|
174 |
-
'name' => '
|
175 |
-
'title' => __('
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
176 |
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
|
177 |
-
'hint' => __('
|
178 |
'default' => false
|
179 |
);
|
180 |
|
181 |
$options[] = array(
|
182 |
'type' => 'checkbox',
|
183 |
'way' => 'buttons',
|
184 |
-
'name' => '
|
185 |
-
'title' => __('
|
186 |
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
|
187 |
-
'hint' => __('This function
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
188 |
'default' => false
|
189 |
);
|
190 |
|
191 |
-
|
192 |
-
'type' => '
|
193 |
-
'
|
|
|
|
|
|
|
|
|
|
|
|
|
194 |
);
|
195 |
|
196 |
$options[] = array(
|
197 |
-
'type' => '
|
198 |
-
'
|
199 |
-
|
|
|
|
|
|
|
|
|
200 |
|
201 |
$form_options = array();
|
202 |
|
@@ -208,6 +282,4 @@
|
|
208 |
|
209 |
return apply_filters('wbcr_clr_code_clean_form_options', $form_options, $this);
|
210 |
}
|
211 |
-
}
|
212 |
-
|
213 |
-
FactoryPages324::register($wbcr_clearfy_plugin, 'WbcrClr_CodeCleanPage');
|
1 |
<?php
|
|
|
2 |
/**
|
3 |
* The page Settings.
|
4 |
*
|
5 |
* @since 1.0.0
|
6 |
*/
|
7 |
+
|
8 |
+
// Exit if accessed directly
|
9 |
+
if( !defined('ABSPATH') ) {
|
10 |
+
exit;
|
11 |
+
}
|
12 |
+
|
13 |
+
class WCL_PerformancePage extends WCL_Page {
|
14 |
|
15 |
/**
|
16 |
* The id of the page in the admin menu.
|
17 |
*
|
18 |
* Mainly used to navigate between pages.
|
19 |
+
* @see FactoryPages401_AdminPage
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
* @var string
|
23 |
*/
|
24 |
+
public $id = "performance";
|
25 |
|
26 |
+
/**
|
27 |
+
* @var string
|
28 |
+
*/
|
29 |
+
public $page_menu_dashicon = 'dashicons-performance';
|
30 |
|
31 |
+
/**
|
32 |
+
* @var int
|
33 |
+
*/
|
34 |
public $page_menu_position = 20;
|
35 |
|
36 |
+
/**
|
37 |
+
* @param WCL_Plugin $plugin
|
38 |
+
*/
|
39 |
+
public function __construct(WCL_Plugin $plugin)
|
40 |
{
|
41 |
+
$this->menu_title = __('Performance', 'clearfy');
|
42 |
|
43 |
parent::__construct($plugin);
|
44 |
+
|
45 |
+
$this->plugin = $plugin;
|
46 |
}
|
47 |
|
48 |
+
public function afterFormSave()
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
{
|
50 |
+
if( $this->getOption('disable_gravatars') ) {
|
51 |
+
update_option('show_avatars', false);
|
52 |
+
} else {
|
53 |
+
update_option('show_avatars', true);
|
54 |
+
}
|
55 |
+
}
|
56 |
|
57 |
/**
|
58 |
* Permalinks options.
|
64 |
{
|
65 |
$options = array();
|
66 |
|
67 |
+
$options[] = array(
|
68 |
'type' => 'html',
|
69 |
+
'html' => '<div class="wbcr-factory-page-group-header">' . __('<strong>Clear the unnecessary scripts</strong>', 'clearfy') . '<p>' . __('This set of settings will help you remove unnecessary links and code from the head section, as well as reduce your website\'s pages weight.', 'clearfy') . '</p></div>'
|
70 |
+
);
|
71 |
|
72 |
$options[] = array(
|
73 |
'type' => 'checkbox',
|
76 |
'title' => __('Disable RSS feeds', 'clearfy'),
|
77 |
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
|
78 |
'hint' => __('By default, WordPress generates all types of different RSS feeds for your site. While RSS feeds can be useful if you are running a blog, businesses might not always utilize these. Not every site out there has a blog.', 'clearfy') . '<br><b>Clearfy: </b>' . sprintf(__('Removes a link to the RSS-feed from the %s section, closes and puts the redirect from all RSS-feeds.', 'clearfy'), '<head>'),
|
79 |
+
'default' => false,
|
80 |
+
'eventsOn' => array(
|
81 |
+
'show' => '.factory-control-disabled_feed_behaviour'
|
82 |
+
),
|
83 |
+
'eventsOff' => array(
|
84 |
+
'hide' => '.factory-control-disabled_feed_behaviour'
|
85 |
+
)
|
86 |
+
);
|
87 |
+
|
88 |
+
$options[] = array(
|
89 |
+
'type' => 'dropdown',
|
90 |
+
'way' => 'buttons',
|
91 |
+
'name' => 'disabled_feed_behaviour',
|
92 |
+
'data' => array(
|
93 |
+
array('redirect_301', __('Redirect 301', 'clearfy')),
|
94 |
+
array('redirect_404', __('Page 404', 'clearfy')),
|
95 |
+
),
|
96 |
+
'title' => __('Redirect feed requests', 'clearfy'),
|
97 |
+
'hint' => __('Forward all requests to page 404 or to the main page through 301 redirects.', 'clearfy'),
|
98 |
+
//'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
|
99 |
+
'default' => 'redirect_301'
|
100 |
);
|
101 |
|
102 |
$options[] = array(
|
113 |
'type' => 'checkbox',
|
114 |
'way' => 'buttons',
|
115 |
'name' => 'disable_emoji',
|
116 |
+
'title' => __('Disable Emojis', 'clearfy'),
|
117 |
'layout' => array('hint-type' => 'icon'),
|
118 |
'hint' => __('Emojis are fun and all, but if you are aren’t using them they actually load a JavaScript file (wp-emoji-release.min.js) on every page of your website. For a lot of businesses, this is not needed and simply adds load time to your site. So we recommend disabling this.', 'clearfy') . '<br><br><b>Clearfy: </b>' . __('Removes WordPress Emojis JavaScript file (wp-emoji-release.min.js).', 'clearfy'),
|
119 |
'default' => false
|
139 |
'default' => false
|
140 |
);
|
141 |
|
142 |
+
/*$options[] = array(
|
143 |
'type' => 'checkbox',
|
144 |
'way' => 'buttons',
|
145 |
'name' => 'remove_dns_prefetch',
|
146 |
+
'title' => __('Remove dns-prefetch', 'clearfy'),
|
147 |
'layout' => array('hint-type' => 'icon'),
|
148 |
'hint' => sprintf(__('Since version 4.6.1 in WordPress there are new links in the section %s this type of: ', 'clearfy'), 'head') . ' <code>link rel="dns-prefetch" href="//s.w.org"</code><br><br><b>Clearfy: </b>' . sprintf(__('Removes dns-prefetch links from the %s section', 'clearfy'), 'head'),
|
149 |
'default' => false
|
150 |
+
);*/
|
151 |
$options[] = array(
|
152 |
'type' => 'checkbox',
|
153 |
'way' => 'buttons',
|
154 |
'name' => 'remove_rsd_link',
|
155 |
+
'title' => __('Remove RSD Link', 'clearfy'),
|
156 |
'layout' => array('hint-type' => 'icon'),
|
157 |
'hint' => __('The above link is used by blog clients. If you edit your site from your browser then you don’t need this. It is also used by some 3rd party applications that utilize XML-RPC requests. In most cases, this is just unnecessary code.', 'clearfy') . '<br><code>link rel="EditURI" type="application/rsd+xml" title="RSD"</code><br><br><b>Clearfy: </b>' . __('Remove RSD (Real Simple Discovery) link tag.', 'clearfy'),
|
158 |
'default' => false
|
159 |
);
|
160 |
+
$options[] = array(
|
161 |
+
'type' => 'checkbox',
|
162 |
+
'way' => 'buttons',
|
163 |
+
'name' => 'remove_xfn_link',
|
164 |
+
'title' => __('Removing XFN (XHTML Friends Network) Profile Link', 'clearfy'),
|
165 |
+
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
|
166 |
+
'hint' => __('The profile attribute specifies the metadata profile address. Usually, the browser recognizes the value of this attribute and executes some conventions related to the specified profile. Loading the document itself at the specified address does not really happen, moreover, it may not exist at all.
|
167 |
+
In particular, the profile is used for the XFN microformat (XHTML Friends Network) - a way of representing relationships between people using links and rel attributes with different values. WordPress also actively uses profile in its templates.
|
168 |
+
', 'clearfy') . '<br><br><b>Clearfy: </b>' . __('Remove link tag', 'clearfy') . '<br><code>link rel="profile" href="http://gmpg.org/xfn/11"</code>',
|
169 |
+
'default' => false
|
170 |
+
);
|
171 |
|
172 |
$options[] = array(
|
173 |
'type' => 'checkbox',
|
174 |
'way' => 'buttons',
|
175 |
'name' => 'remove_wlw_link',
|
176 |
+
'title' => __('Remove wlwmanifest Link', 'clearfy'),
|
177 |
'layout' => array('hint-type' => 'icon'),
|
178 |
'hint' => '<code>link rel="wlwmanifest" type="application/wlwmanifest+xml"</code><br>' . __('This link is actually used by Windows Live Writer. If you don’t know use Windows Live Writer, which we are guessing you don’t, this is just unnecessary code.', 'clearfy') . '<br><br><b>Clearfy: </b>' . __('Remove wlwmanifest (Windows Live Writer) link tag.', 'clearfy'),
|
179 |
'default' => false
|
183 |
'type' => 'checkbox',
|
184 |
'way' => 'buttons',
|
185 |
'name' => 'remove_shortlink_link',
|
186 |
+
'title' => __('Remove Shortlink', 'clearfy'),
|
187 |
'layout' => array('hint-type' => 'icon'),
|
188 |
'hint' => sprintf(__('By default, the following tag shows up in every WordPress install. %s This is used for a shortlink to your pages and posts. However, if you are already using pretty permalinks, such as domain.com/post, then there is no reason to keep this, it is just unnecessary code.', 'clearfy'), '<br><code>link rel="shortlink" href="https://domain.com?p=712"</code><br>') . '<br><br><b>Clearfy: </b>' . __('Remove Shortlink link tag.', 'clearfy'),
|
189 |
'default' => false
|
193 |
'type' => 'checkbox',
|
194 |
'way' => 'buttons',
|
195 |
'name' => 'remove_adjacent_posts_link',
|
196 |
+
'title' => __('Remove links to previous, next post', 'clearfy'),
|
197 |
'layout' => array('hint-type' => 'icon'),
|
198 |
'hint' => __('If you use Wordpress as a CMS, then you can delete these links, they can only come in handy for a blog.', 'clearfy') . '<br><br><b>Clearfy: </b>' . __('Remove the previous and next post links within the wp_head of your wordpress theme.', 'clearfy'),
|
199 |
'default' => false
|
203 |
'type' => 'checkbox',
|
204 |
'way' => 'buttons',
|
205 |
'name' => 'remove_recent_comments_style',
|
206 |
+
'title' => __('Remove .recentcomments styles', 'clearfy'),
|
207 |
'layout' => array('hint-type' => 'icon'),
|
208 |
'hint' => __('WP by default for the widget "recent comments" prescribes in the code styles that are almost impossible to change, because to them apply! important.', 'clearfy') . '<br><br><b>Clearfy: </b>' . __('Removes .recentcomments styles from head section.', 'clearfy'),
|
209 |
'default' => false
|
212 |
$options[] = array(
|
213 |
'type' => 'checkbox',
|
214 |
'way' => 'buttons',
|
215 |
+
'name' => 'lazy_load_font_awesome',
|
216 |
+
'title' => __('Font Awesome asynchronous', 'clearfy'),
|
217 |
+
'layout' => array('hint-type' => 'icon'),
|
218 |
+
'hint' => __('By default, WordPress loads Font Awesome icons synchronously, that is, your page will not be fully loaded until Font Awesome icons are loaded. This algorithm slows down the loading of your page and leads to errors when checking the site in Google Page Speed. Using this option, your Font Awesome icons will be loaded after your page is fully loaded. This method has a negative — you and visitors of your site will see changes while loading a page, from the placeholders to icons.', 'clearfy'),
|
219 |
+
'default' => false
|
220 |
+
);
|
221 |
+
|
222 |
+
$options[] = array(
|
223 |
+
'type' => 'checkbox',
|
224 |
+
'way' => 'buttons',
|
225 |
+
'name' => 'disable_dashicons',
|
226 |
+
'title' => __('Disable Dashicons', 'clearfy'),
|
227 |
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
|
228 |
+
'hint' => __('Dashicons is the official icon font of the WordPress admin as of 3.8. Some of you have requested that we add a feature to remove Dashicons. Some themes and developers utilize this (dashicons.min.css) on the front-end of their sites.', 'clearfy'),
|
229 |
'default' => false
|
230 |
);
|
231 |
|
232 |
$options[] = array(
|
233 |
'type' => 'checkbox',
|
234 |
'way' => 'buttons',
|
235 |
+
'name' => 'disable_gravatars',
|
236 |
+
'title' => __('Disable gravatars', 'clearfy'),
|
237 |
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
|
238 |
+
'hint' => __('This function that prevents the user’s gravatar being automatically obtained from gravatar.com based on their registered email. This would be useful for sites where users require an extra layer of privacy, or if you just want to prevent potentially silly or embarrasing avatar accidents.
|
239 |
+
If you’re using Identicons or any other generated default avatar, the user should keep a consistent avatar unless they change their registered email.
|
240 |
+
', 'clearfy'),
|
241 |
+
'default' => false
|
242 |
+
);
|
243 |
+
|
244 |
+
$options[] = array(
|
245 |
+
'type' => 'checkbox',
|
246 |
+
'way' => 'buttons',
|
247 |
+
'name' => 'remove_style_version',
|
248 |
+
'title' => __('Remove Version from Stylesheet', 'clearfy') . ' <span class="wbcr-clearfy-recomended-text">(' . __('Recommended', 'clearfy') . ')</span>',
|
249 |
+
'layout' => array('hint-type' => 'icon'),
|
250 |
+
'hint' => __('To make it more difficult for others to hack your website you can remove the WordPress version number from your site, your css and js. Without that number it\'s not possible to see if you run not the current version to exploit bugs from the older versions. <br><br>
|
251 |
+
Additionally it can improve the loading speed of your site, because without query strings in the URL the css and js files can be cached.', 'clearfy') . '<br><br><b>Clearfy: </b>' . __('Removes the wordpress version number from stylesheets (not logged in user only).', 'clearfy'),
|
252 |
'default' => false
|
253 |
);
|
254 |
|
255 |
+
$options[] = array(
|
256 |
+
'type' => 'checkbox',
|
257 |
+
'way' => 'buttons',
|
258 |
+
'name' => 'remove_js_version',
|
259 |
+
'title' => __('Remove Version from Script', 'clearfy') . ' <span class="wbcr-clearfy-recomended-text">(' . __('Recommended', 'clearfy') . ')</span>',
|
260 |
+
'layout' => array('hint-type' => 'icon'),
|
261 |
+
'hint' => __('To make it more difficult for others to hack your website you can remove the WordPress version number from your site, your css and js. Without that number it\'s not possible to see if you run not the current version to exploit bugs from the older versions. <br><br>
|
262 |
+
Additionally it can improve the loading speed of your site, because without query strings in the URL the css and js files can be cached.', 'clearfy') . '<br><br><b>Clearfy: </b>' . __('Removes wordpress version number from scripts (not logged in user only).', 'clearfy'),
|
263 |
+
'default' => false
|
264 |
);
|
265 |
|
266 |
$options[] = array(
|
267 |
+
'type' => 'textarea',
|
268 |
+
'name' => 'remove_version_exclude',
|
269 |
+
'height' => '120',
|
270 |
+
'title' => __('Exclude stylesheet/script file names', 'clearfy'),
|
271 |
+
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
|
272 |
+
'hint' => __('Enter Stylesheet/Script file names to exclude from version removal (each exclude file starts with a new line)', 'clearfy') . '<br><br><b>' . __('Example', 'clearfy') . ':</b>' . ' http://testwp.dev/wp-includes/js/jquery/jquery.js',
|
273 |
+
);
|
274 |
|
275 |
$form_options = array();
|
276 |
|
282 |
|
283 |
return apply_filters('wbcr_clr_code_clean_form_options', $form_options, $this);
|
284 |
}
|
285 |
+
}
|
|
|
|
admin/pages/privacy.php
DELETED
@@ -1,127 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
* The page Settings.
|
5 |
-
*
|
6 |
-
* @since 1.0.0
|
7 |
-
*/
|
8 |
-
class WbcrClr_PrivacyPage extends WbcrClr_Page {
|
9 |
-
|
10 |
-
/**
|
11 |
-
* The id of the page in the admin menu.
|
12 |
-
*
|
13 |
-
* Mainly used to navigate between pages.
|
14 |
-
* @see FactoryPages324_AdminPage
|
15 |
-
*
|
16 |
-
* @since 1.0.0
|
17 |
-
* @var string
|
18 |
-
*/
|
19 |
-
public $id = "privacy";
|
20 |
-
|
21 |
-
public $page_parent_page = 'defence';
|
22 |
-
|
23 |
-
public $page_menu_position = 15;
|
24 |
-
|
25 |
-
public $page_menu_dashicon = 'dashicons-hidden';
|
26 |
-
|
27 |
-
public function __construct(Factory326_Plugin $plugin)
|
28 |
-
{
|
29 |
-
$this->menuTitle = __('Privacy Settings', 'clearfy');
|
30 |
-
|
31 |
-
parent::__construct($plugin);
|
32 |
-
}
|
33 |
-
|
34 |
-
/**
|
35 |
-
* Shows the description above the options.
|
36 |
-
*
|
37 |
-
* @since 1.0.0
|
38 |
-
* @return void
|
39 |
-
*/
|
40 |
-
/*public function _showHeader()
|
41 |
-
{
|
42 |
-
?>
|
43 |
-
<div class="wbcr-clearfy-header">
|
44 |
-
<?php _e('On this page you can configure the privacy settings of your site.', 'clearfy') ?>
|
45 |
-
</div>
|
46 |
-
<?php
|
47 |
-
}*/
|
48 |
-
|
49 |
-
/**
|
50 |
-
* Permalinks options.
|
51 |
-
*
|
52 |
-
* @since 1.0.0
|
53 |
-
* @return mixed[]
|
54 |
-
*/
|
55 |
-
public function getOptions()
|
56 |
-
{
|
57 |
-
$options = array();
|
58 |
-
|
59 |
-
/*$options[] = array(
|
60 |
-
'type' => 'html',
|
61 |
-
'html' => array($this, '_showHeader')
|
62 |
-
);*/
|
63 |
-
|
64 |
-
$options[] = array(
|
65 |
-
'type' => 'checkbox',
|
66 |
-
'way' => 'buttons',
|
67 |
-
'name' => 'remove_meta_generator',
|
68 |
-
'title' => __('Remove meta generator', 'clearfy') . ' <span class="wbcr-clearfy-recomended-text">(' . __('Recommended', 'clearfy') . ')</span>',
|
69 |
-
'layout' => array('hint-type' => 'icon'),
|
70 |
-
'hint' => __('Allows attacker to learn the version of WP installed on the site. This meta tag has no useful function.', 'clearfy') . '<br><b>Clearfy: </b>' . sprintf(__('Removes the meta tag from the %s section', 'clearfy'), '<head>'),
|
71 |
-
'default' => false
|
72 |
-
);
|
73 |
-
|
74 |
-
$options[] = array(
|
75 |
-
'type' => 'checkbox',
|
76 |
-
'way' => 'buttons',
|
77 |
-
'name' => 'remove_style_version',
|
78 |
-
'title' => __('Remove Version from Stylesheet', 'clearfy') . ' <span class="wbcr-clearfy-recomended-text">(' . __('Recommended', 'clearfy') . ')</span>',
|
79 |
-
'layout' => array('hint-type' => 'icon'),
|
80 |
-
'hint' => __('To make it more difficult for others to hack your website you can remove the WordPress version number from your site, your css and js. Without that number it\'s not possible to see if you run not the current version to exploit bugs from the older versions. <br><br>
|
81 |
-
Additionally it can improve the loading speed of your site, because without query strings in the URL the css and js files can be cached.', 'clearfy') . '<br><br><b>Clearfy: </b>' . __('Removes the wordpress version number from stylesheets (not logged in user only).', 'clearfy'),
|
82 |
-
'default' => false
|
83 |
-
);
|
84 |
-
|
85 |
-
$options[] = array(
|
86 |
-
'type' => 'checkbox',
|
87 |
-
'way' => 'buttons',
|
88 |
-
'name' => 'remove_js_version',
|
89 |
-
'title' => __('Remove Version from Script', 'clearfy') . ' <span class="wbcr-clearfy-recomended-text">(' . __('Recommended', 'clearfy') . ')</span>',
|
90 |
-
'layout' => array('hint-type' => 'icon'),
|
91 |
-
'hint' => __('To make it more difficult for others to hack your website you can remove the WordPress version number from your site, your css and js. Without that number it\'s not possible to see if you run not the current version to exploit bugs from the older versions. <br><br>
|
92 |
-
Additionally it can improve the loading speed of your site, because without query strings in the URL the css and js files can be cached.', 'clearfy') . '<br><br><b>Clearfy: </b>' . __('Removes wordpress version number from scripts (not logged in user only).', 'clearfy'),
|
93 |
-
'default' => false
|
94 |
-
);
|
95 |
-
|
96 |
-
$options[] = array(
|
97 |
-
'type' => 'textarea',
|
98 |
-
'name' => 'remove_version_exclude',
|
99 |
-
'height' => '120',
|
100 |
-
'title' => __('Eclude stylesheet/script file names', 'clearfy'),
|
101 |
-
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
|
102 |
-
'hint' => __('Enter Stylesheet/Script file names to exclude from version removal (each exclude file starts with a new line)', 'clearfy') . '<br><br><b>' . __('Example', 'clearfy') . ':</b>' . ' http://testwp.dev/wp-includes/js/jquery/jquery.js',
|
103 |
-
);
|
104 |
-
|
105 |
-
/*$options[] = array(
|
106 |
-
'type' => 'separator',
|
107 |
-
'cssClass' => 'factory-separator-dashed'
|
108 |
-
);
|
109 |
-
|
110 |
-
$options[] = array(
|
111 |
-
'type' => 'html',
|
112 |
-
'html' => array($this, '_showFormButton')
|
113 |
-
);*/
|
114 |
-
|
115 |
-
$form_options = array();
|
116 |
-
|
117 |
-
$form_options[] = array(
|
118 |
-
'type' => 'form-group',
|
119 |
-
'items' => $options,
|
120 |
-
//'cssClass' => 'postbox'
|
121 |
-
);
|
122 |
-
|
123 |
-
return apply_filters('wbcr_clr_privacy_form_options', $form_options, $this);
|
124 |
-
}
|
125 |
-
}
|
126 |
-
|
127 |
-
FactoryPages324::register($wbcr_clearfy_plugin, 'WbcrClr_PrivacyPage');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/pages/quick-start.php
CHANGED
@@ -5,38 +5,65 @@
|
|
5 |
*
|
6 |
* @since 1.0.0
|
7 |
*/
|
8 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
|
10 |
/**
|
11 |
* The id of the page in the admin menu.
|
12 |
*
|
13 |
* Mainly used to navigate between pages.
|
14 |
-
* @see
|
15 |
*
|
16 |
* @since 1.0.0
|
17 |
* @var string
|
18 |
*/
|
19 |
public $id = "quick_start";
|
20 |
-
|
21 |
-
|
22 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
public $page_menu_position = 100;
|
24 |
-
|
|
|
|
|
|
|
25 |
public $internal = false;
|
26 |
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
public $type = 'page';
|
34 |
-
|
35 |
-
|
|
|
|
|
|
|
36 |
{
|
37 |
-
$this->
|
38 |
|
39 |
parent::__construct($plugin);
|
|
|
|
|
40 |
}
|
41 |
|
42 |
public function getMenuTitle()
|
@@ -47,7 +74,7 @@
|
|
47 |
/**
|
48 |
* Requests assets (js and css) for the page.
|
49 |
*
|
50 |
-
* @see
|
51 |
*
|
52 |
* @since 1.0.0
|
53 |
* @return void
|
@@ -56,7 +83,7 @@
|
|
56 |
{
|
57 |
parent::assets($scripts, $styles);
|
58 |
|
59 |
-
$this->scripts->add(
|
60 |
|
61 |
$params = array(
|
62 |
'ajaxurl' => admin_url('admin-ajax.php'),
|
@@ -86,7 +113,7 @@
|
|
86 |
*/
|
87 |
public function getDebugReport()
|
88 |
{
|
89 |
-
$run_time = number_format(microtime(true)
|
90 |
$pps = number_format(1 / $run_time, 0);
|
91 |
$memory_avail = ini_get('memory_limit');
|
92 |
$memory_used = number_format(memory_get_usage(true) / (1024 * 1024), 2);
|
@@ -122,9 +149,9 @@
|
|
122 |
*/
|
123 |
public function gererateReportAction()
|
124 |
{
|
125 |
-
require_once(
|
126 |
|
127 |
-
$reposts_dir =
|
128 |
$reports_temp = $reposts_dir . '/temp';
|
129 |
|
130 |
if( !file_exists($reposts_dir) ) {
|
@@ -140,33 +167,18 @@
|
|
140 |
fclose($file);
|
141 |
|
142 |
$download_file_name = 'webcraftic-clearfy-report-' . date('Y.m.d-H.i.s') . '.zip';
|
143 |
-
$download_file_path =
|
144 |
|
145 |
-
Wbcr_ExtendedZip::zipTree(
|
146 |
|
147 |
-
array_map('unlink', glob(
|
148 |
|
149 |
-
wp_redirect(
|
150 |
exit;
|
151 |
}
|
152 |
-
|
153 |
-
/*public function selected($mode_name)
|
154 |
-
{
|
155 |
-
$get_modes = get_option($this->plugin->pluginName . '_quick_modes');
|
156 |
-
|
157 |
-
if( $mode_name == 'reset' ) {
|
158 |
-
return ' wbcr-clearfy-mode-reset';
|
159 |
-
}
|
160 |
-
|
161 |
-
return is_array($get_modes) && in_array($mode_name, $get_modes)
|
162 |
-
? ' wbcr-clearfy-active'
|
163 |
-
: '';
|
164 |
-
}*/
|
165 |
-
|
166 |
public function showPageContent()
|
167 |
{
|
168 |
-
global $wbcr_clearfy_plugin;
|
169 |
-
|
170 |
$allow_mods = apply_filters('wbcr_clearfy_allow_quick_mods', array(
|
171 |
'recommended' => array(
|
172 |
'title' => __('Set the recommened for me', 'clearfy'),
|
@@ -184,9 +196,7 @@
|
|
184 |
),
|
185 |
));
|
186 |
|
187 |
-
|
188 |
-
|
189 |
-
if( !empty($preinsatall_components) && in_array('widget_tools', $preinsatall_components) && isset($allow_mods['remove_default_widgets']) ) {
|
190 |
unset($allow_mods['remove_default_widgets']);
|
191 |
}
|
192 |
|
@@ -226,14 +236,14 @@
|
|
226 |
|
227 |
<div class="col-sm-12">
|
228 |
<?php
|
229 |
-
$group =
|
230 |
|
231 |
$filter_mode_options = array();
|
232 |
foreach($group->getOptions() as $option) {
|
233 |
$filter_mode_options[$option->getName()] = $option->getTitle();
|
234 |
}
|
235 |
|
236 |
-
$print_group_options =
|
237 |
?>
|
238 |
<?php if( $mode_name == 'reset' ): ?>
|
239 |
<h4><?php _e('Reset settings', 'clearfy') ?></h4>
|
@@ -277,7 +287,7 @@
|
|
277 |
<label for="wbcr-clearfy-import-export">
|
278 |
<strong><?php _e('Import/Export settings', 'clearfy') ?></strong>
|
279 |
</label>
|
280 |
-
<textarea id="wbcr-clearfy-import-export"><?=
|
281 |
<button class="button wbcr-clearfy-import-options-button"><?php _e('Import options', 'clearfy') ?></button>
|
282 |
</p>
|
283 |
</div>
|
@@ -292,7 +302,7 @@
|
|
292 |
<p><?php _e('Generate a debug report which will contains inforamtion about your configuratin and installed plugins', 'clearfy') ?></p>
|
293 |
|
294 |
<p>
|
295 |
-
<a href="<?= admin_url('options-general.php?page=quick_start-' . $
|
296 |
</p>
|
297 |
</li>
|
298 |
<li>
|
@@ -307,6 +317,4 @@
|
|
307 |
|
308 |
<?php
|
309 |
}
|
310 |
-
}
|
311 |
-
|
312 |
-
FactoryPages324::register($wbcr_clearfy_plugin, 'WbcrClr_QuickStartPage');
|
5 |
*
|
6 |
* @since 1.0.0
|
7 |
*/
|
8 |
+
|
9 |
+
// Exit if accessed directly
|
10 |
+
if( !defined('ABSPATH') ) {
|
11 |
+
exit;
|
12 |
+
}
|
13 |
+
|
14 |
+
class WCL_QuickStartPage extends WCL_Page {
|
15 |
|
16 |
/**
|
17 |
* The id of the page in the admin menu.
|
18 |
*
|
19 |
* Mainly used to navigate between pages.
|
20 |
+
* @see FactoryPages401_AdminPage
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
* @var string
|
24 |
*/
|
25 |
public $id = "quick_start";
|
26 |
+
|
27 |
+
/**
|
28 |
+
* @var string
|
29 |
+
*/
|
30 |
+
public $page_menu_dashicon = 'dashicons-clock';
|
31 |
+
|
32 |
+
/**
|
33 |
+
* @var int
|
34 |
+
*/
|
35 |
public $page_menu_position = 100;
|
36 |
+
|
37 |
+
/**
|
38 |
+
* @var bool
|
39 |
+
*/
|
40 |
public $internal = false;
|
41 |
|
42 |
+
/**
|
43 |
+
* @var string
|
44 |
+
*/
|
45 |
+
public $menu_target = 'options-general.php';
|
46 |
+
|
47 |
+
/**
|
48 |
+
* @var bool
|
49 |
+
*/
|
50 |
+
public $add_link_to_plugin_actions = true;
|
51 |
+
|
52 |
+
/**
|
53 |
+
* @var string
|
54 |
+
*/
|
55 |
public $type = 'page';
|
56 |
+
|
57 |
+
/**
|
58 |
+
* @param WCL_Plugin $plugin
|
59 |
+
*/
|
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 getMenuTitle()
|
74 |
/**
|
75 |
* Requests assets (js and css) for the page.
|
76 |
*
|
77 |
+
* @see FactoryPages401_AdminPage
|
78 |
*
|
79 |
* @since 1.0.0
|
80 |
* @return void
|
83 |
{
|
84 |
parent::assets($scripts, $styles);
|
85 |
|
86 |
+
$this->scripts->add(WCL_PLUGIN_URL . '/admin/assets/js/general.js');
|
87 |
|
88 |
$params = array(
|
89 |
'ajaxurl' => admin_url('admin-ajax.php'),
|
113 |
*/
|
114 |
public function getDebugReport()
|
115 |
{
|
116 |
+
$run_time = number_format(microtime(true), 3);
|
117 |
$pps = number_format(1 / $run_time, 0);
|
118 |
$memory_avail = ini_get('memory_limit');
|
119 |
$memory_used = number_format(memory_get_usage(true) / (1024 * 1024), 2);
|
149 |
*/
|
150 |
public function gererateReportAction()
|
151 |
{
|
152 |
+
require_once(WCL_PLUGIN_DIR . '/includes/classes/class.zip-archive.php');
|
153 |
|
154 |
+
$reposts_dir = WCL_PLUGIN_DIR . '/reports';
|
155 |
$reports_temp = $reposts_dir . '/temp';
|
156 |
|
157 |
if( !file_exists($reposts_dir) ) {
|
167 |
fclose($file);
|
168 |
|
169 |
$download_file_name = 'webcraftic-clearfy-report-' . date('Y.m.d-H.i.s') . '.zip';
|
170 |
+
$download_file_path = WCL_PLUGIN_DIR . '/reports/' . $download_file_name;
|
171 |
|
172 |
+
Wbcr_ExtendedZip::zipTree(WCL_PLUGIN_DIR . '/reports/temp', $download_file_path, ZipArchive::CREATE);
|
173 |
|
174 |
+
array_map('unlink', glob(WCL_PLUGIN_DIR . "/reports/temp/*"));
|
175 |
|
176 |
+
wp_redirect(WCL_PLUGIN_URL . '/reports/' . $download_file_name);
|
177 |
exit;
|
178 |
}
|
179 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
180 |
public function showPageContent()
|
181 |
{
|
|
|
|
|
182 |
$allow_mods = apply_filters('wbcr_clearfy_allow_quick_mods', array(
|
183 |
'recommended' => array(
|
184 |
'title' => __('Set the recommened for me', 'clearfy'),
|
196 |
),
|
197 |
));
|
198 |
|
199 |
+
if( !$this->plugin->isActivateComponent('widget_tools') ) {
|
|
|
|
|
200 |
unset($allow_mods['remove_default_widgets']);
|
201 |
}
|
202 |
|
236 |
|
237 |
<div class="col-sm-12">
|
238 |
<?php
|
239 |
+
$group = WCL_Group::getInstance($mode_name);
|
240 |
|
241 |
$filter_mode_options = array();
|
242 |
foreach($group->getOptions() as $option) {
|
243 |
$filter_mode_options[$option->getName()] = $option->getTitle();
|
244 |
}
|
245 |
|
246 |
+
$print_group_options = WCL_Helper::getEscapeJson($filter_mode_options);
|
247 |
?>
|
248 |
<?php if( $mode_name == 'reset' ): ?>
|
249 |
<h4><?php _e('Reset settings', 'clearfy') ?></h4>
|
287 |
<label for="wbcr-clearfy-import-export">
|
288 |
<strong><?php _e('Import/Export settings', 'clearfy') ?></strong>
|
289 |
</label>
|
290 |
+
<textarea id="wbcr-clearfy-import-export"><?= WCL_Helper::getExportOptions(); ?></textarea>
|
291 |
<button class="button wbcr-clearfy-import-options-button"><?php _e('Import options', 'clearfy') ?></button>
|
292 |
</p>
|
293 |
</div>
|
302 |
<p><?php _e('Generate a debug report which will contains inforamtion about your configuratin and installed plugins', 'clearfy') ?></p>
|
303 |
|
304 |
<p>
|
305 |
+
<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>
|
306 |
</p>
|
307 |
</li>
|
308 |
<li>
|
317 |
|
318 |
<?php
|
319 |
}
|
320 |
+
}
|
|
|
|
admin/pages/{double-pages.php → seo-double-pages.php}
RENAMED
@@ -1,36 +1,46 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
/**
|
4 |
* The page Settings.
|
5 |
*
|
6 |
* @since 1.0.0
|
7 |
*/
|
8 |
-
|
9 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
/**
|
11 |
* The id of the page in the admin menu.
|
12 |
*
|
13 |
* Mainly used to navigate between pages.
|
14 |
-
* @see
|
15 |
*
|
16 |
* @since 1.0.0
|
17 |
* @var string
|
18 |
*/
|
19 |
public $id = "double_pages";
|
20 |
-
|
21 |
public $page_parent_page = 'seo';
|
22 |
-
|
23 |
public $page_menu_dashicon = 'dashicons-admin-page';
|
24 |
-
|
25 |
public $page_menu_position = 16;
|
26 |
-
|
27 |
-
|
|
|
|
|
|
|
28 |
{
|
29 |
-
$this->
|
30 |
-
|
31 |
parent::__construct($plugin);
|
|
|
|
|
32 |
}
|
33 |
-
|
34 |
/**
|
35 |
* Shows the description above the options.
|
36 |
*
|
@@ -45,7 +55,7 @@
|
|
45 |
</div>
|
46 |
<?php
|
47 |
}*/
|
48 |
-
|
49 |
/**
|
50 |
* Permalinks options.
|
51 |
*
|
@@ -55,42 +65,47 @@
|
|
55 |
public function getOptions()
|
56 |
{
|
57 |
$options = array();
|
58 |
-
|
59 |
/*$options[] = array(
|
60 |
'type' => 'html',
|
61 |
'html' => array($this, '_showHeader')
|
62 |
);*/
|
63 |
-
|
64 |
/*$options[] = array(
|
65 |
'type' => 'checkbox',
|
66 |
'way' => 'buttons',
|
67 |
'name' => 'redirect_archives_date',
|
68 |
-
'title' => __('Disable search', 'clearfy')
|
69 |
'layout' => array('hint-type' => 'icon'),
|
70 |
'hint' => sprintf(__('Many duplicates in date archives. Imagine, in addition, that your article will be displayed in the main and in the category, you will still receive at least 3 duplicates: in archives by year, month and date, for example %s.', 'clearfy'), '/2016/2016/02 / /2016/02/15') . '<br><b>Clearfy: </b>' . __('Removes all pages with the date archives and puts a redirect.', 'clearfy'),
|
71 |
'default' => false
|
72 |
);*/
|
73 |
-
|
|
|
|
|
|
|
|
|
|
|
74 |
$options[] = array(
|
75 |
'type' => 'checkbox',
|
76 |
'way' => 'buttons',
|
77 |
'name' => 'redirect_archives_date',
|
78 |
-
'title' => __('Remove archives date', 'clearfy')
|
79 |
'layout' => array('hint-type' => 'icon'),
|
80 |
'hint' => sprintf(__('Many duplicates in date archives. Imagine, in addition, that your article will be displayed in the main and in the category, you will still receive at least 3 duplicates: in archives by year, month and date, for example %s.', 'clearfy'), '/2016/2016/02 / /2016/02/15') . '<br><b>Clearfy: </b>' . __('Removes all pages with the date archives and puts a redirect.', 'clearfy'),
|
81 |
'default' => false
|
82 |
);
|
83 |
-
|
84 |
$options[] = array(
|
85 |
'type' => 'checkbox',
|
86 |
'way' => 'buttons',
|
87 |
'name' => 'redirect_archives_author',
|
88 |
-
'title' => __('Remove author archives ', 'clearfy')
|
89 |
'layout' => array('hint-type' => 'icon'),
|
90 |
'hint' => sprintf(__('If the site is only filled by you - a mandatory item. Allows you to get rid of duplicates on user archives, for example %s.', 'clearfy'), '/author/admin/') . '<br><b>Clearfy: </b>' . __('Removes all pages with the author archives and puts a redirect.', 'clearfy'),
|
91 |
'default' => false
|
92 |
);
|
93 |
-
|
94 |
$options[] = array(
|
95 |
'type' => 'checkbox',
|
96 |
'way' => 'buttons',
|
@@ -100,37 +115,37 @@
|
|
100 |
'hint' => __('If you use tags only for the block Similar records, or do not use them at all - it will be more correct to close them to avoid duplicates.', 'clearfy') . '<br><b>Clearfy: </b>' . __('Removes all pages with the tag archives and puts a redirect.', 'clearfy'),
|
101 |
'default' => false
|
102 |
);
|
103 |
-
|
104 |
$options[] = array(
|
105 |
'type' => 'checkbox',
|
106 |
'way' => 'buttons',
|
107 |
'name' => 'attachment_pages_redirect',
|
108 |
-
'title' => __('Remove attachment pages', 'clearfy')
|
109 |
'layout' => array('hint-type' => 'icon'),
|
110 |
'hint' => __('Every of the pictures has its own page on the site. Such pages are successfully indexed and create duplicates. The site can have thousands of same-type attachment pages.', 'clearfy') . '<br><b>Clearfy: </b>' . __('Removes attachment pages and puts a redirect.', 'clearfy'),
|
111 |
'default' => false
|
112 |
);
|
113 |
-
|
114 |
$options[] = array(
|
115 |
'type' => 'checkbox',
|
116 |
'way' => 'buttons',
|
117 |
'name' => 'remove_single_pagination_duplicate',
|
118 |
-
'title' => __('Remove post pagination', 'clearfy')
|
119 |
'layout' => array('hint-type' => 'icon'),
|
120 |
'hint' => sprintf(__('In WordPress, any post can be divided into parts (pages), each part will have its own address. But this functionality is rarely used, but it can create trouble for you. For example, you can add a number to the address of any entry of your blog, %s - the post itself will open, which will be a duplicate. You can substitute any number.', 'clearfy'), '/privet-mir/1/') . '<br><b>Clearfy: </b>' . sprintf(__('Removes the pagination from the post and puts a redirect. Example: %s', 'clearfy'), '/post-name/number'),
|
121 |
'default' => false
|
122 |
);
|
123 |
-
|
124 |
$options[] = array(
|
125 |
'type' => 'checkbox',
|
126 |
'way' => 'buttons',
|
127 |
'name' => 'remove_replytocom',
|
128 |
-
'title' => __('Remove ?replytocom', 'clearfy')
|
129 |
'layout' => array('hint-type' => 'icon'),
|
130 |
'hint' => sprintf(__('WordPress adds %s to the link "Reply" in the comments, if you use hierarchical comments.', 'clearfy'), '?replytocom') . '<br><b>Clearfy: </b>' . __('?relpytocom remove and and puts a redirect.', 'clearfy'),
|
131 |
'default' => false
|
132 |
);
|
133 |
-
|
134 |
/*$options[] = array(
|
135 |
'type' => 'separator',
|
136 |
'cssClass' => 'factory-separator-dashed'
|
@@ -140,17 +155,15 @@
|
|
140 |
'type' => 'html',
|
141 |
'html' => array($this, '_showFormButton')
|
142 |
);*/
|
143 |
-
|
144 |
$form_options = array();
|
145 |
-
|
146 |
$form_options[] = array(
|
147 |
'type' => 'form-group',
|
148 |
'items' => $options,
|
149 |
//'cssClass' => 'postbox'
|
150 |
);
|
151 |
-
|
152 |
return apply_filters('wbcr_clr_double_form_options', $form_options, $this);
|
153 |
}
|
154 |
-
}
|
155 |
-
|
156 |
-
FactoryPages324::register($wbcr_clearfy_plugin, 'WbcrClr_DoublePagesPage');
|
1 |
<?php
|
|
|
2 |
/**
|
3 |
* The page Settings.
|
4 |
*
|
5 |
* @since 1.0.0
|
6 |
*/
|
7 |
+
|
8 |
+
// Exit if accessed directly
|
9 |
+
if( !defined('ABSPATH') ) {
|
10 |
+
exit;
|
11 |
+
}
|
12 |
+
|
13 |
+
class WCL_DoublePagesPage extends WCL_Page {
|
14 |
+
|
15 |
/**
|
16 |
* The id of the page in the admin menu.
|
17 |
*
|
18 |
* Mainly used to navigate between pages.
|
19 |
+
* @see FactoryPages401_AdminPage
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
* @var string
|
23 |
*/
|
24 |
public $id = "double_pages";
|
25 |
+
|
26 |
public $page_parent_page = 'seo';
|
27 |
+
|
28 |
public $page_menu_dashicon = 'dashicons-admin-page';
|
29 |
+
|
30 |
public $page_menu_position = 16;
|
31 |
+
|
32 |
+
/**
|
33 |
+
* @param WCL_Plugin $plugin
|
34 |
+
*/
|
35 |
+
public function __construct(WCL_Plugin $plugin)
|
36 |
{
|
37 |
+
$this->menu_title = __('Duplicate pages', 'clearfy');
|
38 |
+
|
39 |
parent::__construct($plugin);
|
40 |
+
|
41 |
+
$this->plugin = $plugin;
|
42 |
}
|
43 |
+
|
44 |
/**
|
45 |
* Shows the description above the options.
|
46 |
*
|
55 |
</div>
|
56 |
<?php
|
57 |
}*/
|
58 |
+
|
59 |
/**
|
60 |
* Permalinks options.
|
61 |
*
|
65 |
public function getOptions()
|
66 |
{
|
67 |
$options = array();
|
68 |
+
|
69 |
/*$options[] = array(
|
70 |
'type' => 'html',
|
71 |
'html' => array($this, '_showHeader')
|
72 |
);*/
|
73 |
+
|
74 |
/*$options[] = array(
|
75 |
'type' => 'checkbox',
|
76 |
'way' => 'buttons',
|
77 |
'name' => 'redirect_archives_date',
|
78 |
+
'title' => __('Disable search', 'clearfy'),
|
79 |
'layout' => array('hint-type' => 'icon'),
|
80 |
'hint' => sprintf(__('Many duplicates in date archives. Imagine, in addition, that your article will be displayed in the main and in the category, you will still receive at least 3 duplicates: in archives by year, month and date, for example %s.', 'clearfy'), '/2016/2016/02 / /2016/02/15') . '<br><b>Clearfy: </b>' . __('Removes all pages with the date archives and puts a redirect.', 'clearfy'),
|
81 |
'default' => false
|
82 |
);*/
|
83 |
+
|
84 |
+
$options[] = array(
|
85 |
+
'type' => 'html',
|
86 |
+
'html' => '<div class="wbcr-factory-page-group-header">' . __('<strong>Delete duplicate pages.</strong>.', 'clearfy') . '<p>' . __('Search engines perceive these pages as website separate pages, therefore their content ceases to be unique because of duplication. In addition, page reference weight is reduced if it has a duplicate. A small number of duplicated pages will not be a serious problem, but if there are more than 50 percents of them - you urgently need to correct the situation.', 'clearfy') . '</p></div>'
|
87 |
+
);
|
88 |
+
|
89 |
$options[] = array(
|
90 |
'type' => 'checkbox',
|
91 |
'way' => 'buttons',
|
92 |
'name' => 'redirect_archives_date',
|
93 |
+
'title' => __('Remove archives date', 'clearfy'),
|
94 |
'layout' => array('hint-type' => 'icon'),
|
95 |
'hint' => sprintf(__('Many duplicates in date archives. Imagine, in addition, that your article will be displayed in the main and in the category, you will still receive at least 3 duplicates: in archives by year, month and date, for example %s.', 'clearfy'), '/2016/2016/02 / /2016/02/15') . '<br><b>Clearfy: </b>' . __('Removes all pages with the date archives and puts a redirect.', 'clearfy'),
|
96 |
'default' => false
|
97 |
);
|
98 |
+
|
99 |
$options[] = array(
|
100 |
'type' => 'checkbox',
|
101 |
'way' => 'buttons',
|
102 |
'name' => 'redirect_archives_author',
|
103 |
+
'title' => __('Remove author archives ', 'clearfy'),
|
104 |
'layout' => array('hint-type' => 'icon'),
|
105 |
'hint' => sprintf(__('If the site is only filled by you - a mandatory item. Allows you to get rid of duplicates on user archives, for example %s.', 'clearfy'), '/author/admin/') . '<br><b>Clearfy: </b>' . __('Removes all pages with the author archives and puts a redirect.', 'clearfy'),
|
106 |
'default' => false
|
107 |
);
|
108 |
+
|
109 |
$options[] = array(
|
110 |
'type' => 'checkbox',
|
111 |
'way' => 'buttons',
|
115 |
'hint' => __('If you use tags only for the block Similar records, or do not use them at all - it will be more correct to close them to avoid duplicates.', 'clearfy') . '<br><b>Clearfy: </b>' . __('Removes all pages with the tag archives and puts a redirect.', 'clearfy'),
|
116 |
'default' => false
|
117 |
);
|
118 |
+
|
119 |
$options[] = array(
|
120 |
'type' => 'checkbox',
|
121 |
'way' => 'buttons',
|
122 |
'name' => 'attachment_pages_redirect',
|
123 |
+
'title' => __('Remove attachment pages', 'clearfy'),
|
124 |
'layout' => array('hint-type' => 'icon'),
|
125 |
'hint' => __('Every of the pictures has its own page on the site. Such pages are successfully indexed and create duplicates. The site can have thousands of same-type attachment pages.', 'clearfy') . '<br><b>Clearfy: </b>' . __('Removes attachment pages and puts a redirect.', 'clearfy'),
|
126 |
'default' => false
|
127 |
);
|
128 |
+
|
129 |
$options[] = array(
|
130 |
'type' => 'checkbox',
|
131 |
'way' => 'buttons',
|
132 |
'name' => 'remove_single_pagination_duplicate',
|
133 |
+
'title' => __('Remove post pagination', 'clearfy'),
|
134 |
'layout' => array('hint-type' => 'icon'),
|
135 |
'hint' => sprintf(__('In WordPress, any post can be divided into parts (pages), each part will have its own address. But this functionality is rarely used, but it can create trouble for you. For example, you can add a number to the address of any entry of your blog, %s - the post itself will open, which will be a duplicate. You can substitute any number.', 'clearfy'), '/privet-mir/1/') . '<br><b>Clearfy: </b>' . sprintf(__('Removes the pagination from the post and puts a redirect. Example: %s', 'clearfy'), '/post-name/number'),
|
136 |
'default' => false
|
137 |
);
|
138 |
+
|
139 |
$options[] = array(
|
140 |
'type' => 'checkbox',
|
141 |
'way' => 'buttons',
|
142 |
'name' => 'remove_replytocom',
|
143 |
+
'title' => __('Remove ?replytocom', 'clearfy'),
|
144 |
'layout' => array('hint-type' => 'icon'),
|
145 |
'hint' => sprintf(__('WordPress adds %s to the link "Reply" in the comments, if you use hierarchical comments.', 'clearfy'), '?replytocom') . '<br><b>Clearfy: </b>' . __('?relpytocom remove and and puts a redirect.', 'clearfy'),
|
146 |
'default' => false
|
147 |
);
|
148 |
+
|
149 |
/*$options[] = array(
|
150 |
'type' => 'separator',
|
151 |
'cssClass' => 'factory-separator-dashed'
|
155 |
'type' => 'html',
|
156 |
'html' => array($this, '_showFormButton')
|
157 |
);*/
|
158 |
+
|
159 |
$form_options = array();
|
160 |
+
|
161 |
$form_options[] = array(
|
162 |
'type' => 'form-group',
|
163 |
'items' => $options,
|
164 |
//'cssClass' => 'postbox'
|
165 |
);
|
166 |
+
|
167 |
return apply_filters('wbcr_clr_double_form_options', $form_options, $this);
|
168 |
}
|
169 |
+
}
|
|
|
|
admin/pages/seo.php
CHANGED
@@ -1,17 +1,22 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
/**
|
4 |
* The page Settings.
|
5 |
*
|
6 |
* @since 1.0.0
|
7 |
*/
|
8 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
|
10 |
/**
|
11 |
* The id of the page in the admin menu.
|
12 |
*
|
13 |
* Mainly used to navigate between pages.
|
14 |
-
* @see
|
15 |
*
|
16 |
* @since 1.0.0
|
17 |
* @var string
|
@@ -22,27 +27,32 @@
|
|
22 |
|
23 |
public $page_menu_position = 16;
|
24 |
|
25 |
-
|
|
|
|
|
|
|
26 |
{
|
27 |
-
$this->
|
28 |
|
29 |
parent::__construct($plugin);
|
|
|
|
|
30 |
}
|
31 |
|
32 |
/**
|
33 |
-
*
|
34 |
-
*
|
35 |
-
* @since 1.0.0
|
36 |
-
* @return void
|
37 |
*/
|
38 |
-
|
39 |
{
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
|
|
|
|
|
|
46 |
|
47 |
/**
|
48 |
* Permalinks options.
|
@@ -52,15 +62,12 @@
|
|
52 |
*/
|
53 |
public function getOptions()
|
54 |
{
|
55 |
-
global $wbcr_clearfy_plugin;
|
56 |
$options = array();
|
57 |
|
58 |
-
$
|
59 |
-
|
60 |
-
/*$options[] = array(
|
61 |
'type' => 'html',
|
62 |
-
'html' =>
|
63 |
-
)
|
64 |
|
65 |
$options[] = array(
|
66 |
'type' => 'checkbox',
|
@@ -92,21 +99,10 @@
|
|
92 |
'type' => 'textarea',
|
93 |
'name' => 'robots_txt_text',
|
94 |
'title' => __('You can edit the robots.txt file in the box below:', 'clearfy'),
|
95 |
-
'default' =>
|
96 |
'height' => '300'
|
97 |
-
|
98 |
);
|
99 |
|
100 |
-
/*$options[] = array(
|
101 |
-
'type' => 'checkbox',
|
102 |
-
'way' => 'buttons',
|
103 |
-
'name' => 'redirect_from_http_to_https',
|
104 |
-
'title' => __('Redirect Http to Https', 'clearfy'),
|
105 |
-
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'red'),
|
106 |
-
'hint' => __('If your site uses an SSL certificate, check this box to enable redirection from http to https.', 'clearfy') . '<br><br><b>Clearfy: </b>' . __('Puts the redirect from http to https.', 'clearfy') . '<br>--<br><span class="hint-warnign-color">' . __('Warning! Before activation, make sure your site is open https.', 'clearfy') . '</span>',
|
107 |
-
'default' => false
|
108 |
-
);*/
|
109 |
-
|
110 |
$options[] = array(
|
111 |
'type' => 'html',
|
112 |
'html' => '<div class="wbcr-clearfy-group-header">' . '<strong>' . __('Server headers and response', 'clearfy') . '</strong>' . '<p>' . __('WordPress does not know how to give the Last Modified header in the server\'s responses. You can do this using the settings below.', 'clearfy') . '</p>' . '</div>'
|
@@ -143,7 +139,7 @@
|
|
143 |
'default' => false
|
144 |
);
|
145 |
|
146 |
-
if(
|
147 |
$options[] = array(
|
148 |
'type' => 'html',
|
149 |
'html' => '<div class="wbcr-clearfy-group-header">' . '<strong>' . __('For the Yoast SEO plugin', 'clearfy') . '</strong>' . '<p>' . __('These settings will help you eliminate some problems associated with the popular Yoast SEO plugin', 'clearfy') . '</p>' . '</div>'
|
@@ -222,4 +218,4 @@ There is currently no UI to do so.', 'clearfy') . ' <br><b>Clearfy: </b>' . __('
|
|
222 |
}
|
223 |
}
|
224 |
|
225 |
-
|
1 |
<?php
|
|
|
2 |
/**
|
3 |
* The page Settings.
|
4 |
*
|
5 |
* @since 1.0.0
|
6 |
*/
|
7 |
+
|
8 |
+
// Exit if accessed directly
|
9 |
+
if( !defined('ABSPATH') ) {
|
10 |
+
exit;
|
11 |
+
}
|
12 |
+
|
13 |
+
class WCL_SeoPage extends WCL_Page {
|
14 |
|
15 |
/**
|
16 |
* The id of the page in the admin menu.
|
17 |
*
|
18 |
* Mainly used to navigate between pages.
|
19 |
+
* @see FactoryPages401_AdminPage
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
* @var string
|
27 |
|
28 |
public $page_menu_position = 16;
|
29 |
|
30 |
+
/**
|
31 |
+
* @param WCL_Plugin $plugin
|
32 |
+
*/
|
33 |
+
public function __construct(WCL_Plugin $plugin)
|
34 |
{
|
35 |
+
$this->menu_title = __('SEO', 'clearfy');
|
36 |
|
37 |
parent::__construct($plugin);
|
38 |
+
|
39 |
+
$this->plugin = $plugin;
|
40 |
}
|
41 |
|
42 |
/**
|
43 |
+
* Conflict notites
|
|
|
|
|
|
|
44 |
*/
|
45 |
+
public function warningNotice()
|
46 |
{
|
47 |
+
$notices = apply_filters('wbcr_clr_seo_page_warnings', array());
|
48 |
+
|
49 |
+
if( !empty($notices) ) {
|
50 |
+
foreach($notices as $message) {
|
51 |
+
$this->printWarningNotice($message);
|
52 |
+
}
|
53 |
+
}
|
54 |
+
}
|
55 |
+
|
56 |
|
57 |
/**
|
58 |
* Permalinks options.
|
62 |
*/
|
63 |
public function getOptions()
|
64 |
{
|
|
|
65 |
$options = array();
|
66 |
|
67 |
+
$options[] = array(
|
|
|
|
|
68 |
'type' => 'html',
|
69 |
+
'html' => '<div class="wbcr-factory-page-group-header">' . __('<strong>Basic SEO optimization settings</strong>.', 'clearfy') . '<p>' . __('Recommended settings that can complement your SEO plugin.', 'clearfy') . '</p></div>'
|
70 |
+
);
|
71 |
|
72 |
$options[] = array(
|
73 |
'type' => 'checkbox',
|
99 |
'type' => 'textarea',
|
100 |
'name' => 'robots_txt_text',
|
101 |
'title' => __('You can edit the robots.txt file in the box below:', 'clearfy'),
|
102 |
+
'default' => WCL_Helper::getRightRobotTxt(),
|
103 |
'height' => '300'
|
|
|
104 |
);
|
105 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
106 |
$options[] = array(
|
107 |
'type' => 'html',
|
108 |
'html' => '<div class="wbcr-clearfy-group-header">' . '<strong>' . __('Server headers and response', 'clearfy') . '</strong>' . '<p>' . __('WordPress does not know how to give the Last Modified header in the server\'s responses. You can do this using the settings below.', 'clearfy') . '</p>' . '</div>'
|
139 |
'default' => false
|
140 |
);
|
141 |
|
142 |
+
if( $this->plugin->isActivateComponent('yoast_seo') ) {
|
143 |
$options[] = array(
|
144 |
'type' => 'html',
|
145 |
'html' => '<div class="wbcr-clearfy-group-header">' . '<strong>' . __('For the Yoast SEO plugin', 'clearfy') . '</strong>' . '<p>' . __('These settings will help you eliminate some problems associated with the popular Yoast SEO plugin', 'clearfy') . '</p>' . '</div>'
|
218 |
}
|
219 |
}
|
220 |
|
221 |
+
|
admin/pages/widgets.php
CHANGED
@@ -1,17 +1,22 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
/**
|
4 |
* The page Settings.
|
5 |
*
|
6 |
* @since 1.0.0
|
7 |
*/
|
8 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
|
10 |
/**
|
11 |
* The id of the page in the admin menu.
|
12 |
*
|
13 |
* Mainly used to navigate between pages.
|
14 |
-
* @see
|
15 |
*
|
16 |
* @since 1.0.0
|
17 |
* @var string
|
@@ -20,11 +25,16 @@
|
|
20 |
|
21 |
public $page_menu_dashicon = 'dashicons-networking';
|
22 |
|
23 |
-
|
|
|
|
|
|
|
24 |
{
|
25 |
-
$this->
|
26 |
|
27 |
parent::__construct($plugin);
|
|
|
|
|
28 |
}
|
29 |
|
30 |
/**
|
@@ -37,6 +47,11 @@
|
|
37 |
{
|
38 |
$options = array();
|
39 |
|
|
|
|
|
|
|
|
|
|
|
40 |
$options[] = array(
|
41 |
'type' => 'checkbox',
|
42 |
'way' => 'buttons',
|
@@ -171,8 +186,6 @@
|
|
171 |
//'cssClass' => 'postbox'
|
172 |
);
|
173 |
|
174 |
-
return apply_filters('
|
175 |
}
|
176 |
-
}
|
177 |
-
|
178 |
-
FactoryPages324::register($wbcr_clearfy_plugin, 'WbcrClr_WidgetsPage');
|
1 |
<?php
|
|
|
2 |
/**
|
3 |
* The page Settings.
|
4 |
*
|
5 |
* @since 1.0.0
|
6 |
*/
|
7 |
+
|
8 |
+
// Exit if accessed directly
|
9 |
+
if( !defined('ABSPATH') ) {
|
10 |
+
exit;
|
11 |
+
}
|
12 |
+
|
13 |
+
class WCL_WidgetsPage extends WCL_Page {
|
14 |
|
15 |
/**
|
16 |
* The id of the page in the admin menu.
|
17 |
*
|
18 |
* Mainly used to navigate between pages.
|
19 |
+
* @see FactoryPages401_AdminPage
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
* @var string
|
25 |
|
26 |
public $page_menu_dashicon = 'dashicons-networking';
|
27 |
|
28 |
+
/**
|
29 |
+
* @param WCL_Plugin $plugin
|
30 |
+
*/
|
31 |
+
public function __construct(WCL_Plugin $plugin)
|
32 |
{
|
33 |
+
$this->menu_title = __('Widgets', 'clearfy');
|
34 |
|
35 |
parent::__construct($plugin);
|
36 |
+
|
37 |
+
$this->plugin = $plugin;
|
38 |
}
|
39 |
|
40 |
/**
|
47 |
{
|
48 |
$options = array();
|
49 |
|
50 |
+
$options[] = array(
|
51 |
+
'type' => 'html',
|
52 |
+
'html' => '<div class="wbcr-factory-page-group-header">' . __('<strong>Disable unused widgets</strong>.', 'clearfy') . '<p>' . __('Some widgets, such as the Calendar or Tag Cloud, create an extra query to the database, even if they are not displayed on the website. Of course, a couple of hits to the database will not do much harm to the whole site. However, if the resource contains a huge amount of content, and the speed of its work above all else, disabling unused functionality is the first step to optimizing and accelerating it.', 'clearfy') . '</p></div>'
|
53 |
+
);
|
54 |
+
|
55 |
$options[] = array(
|
56 |
'type' => 'checkbox',
|
57 |
'way' => 'buttons',
|
186 |
//'cssClass' => 'postbox'
|
187 |
);
|
188 |
|
189 |
+
return apply_filters('wbcr_clr_widgets_form_options', $form_options, $this);
|
190 |
}
|
191 |
+
}
|
|
|
|
assets/js/css-lazy-load.js
ADDED
@@ -0,0 +1,101 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*! loadCSS. [c]2017 Filament Group, Inc. MIT License */
|
2 |
+
|
3 |
+
// https://github.com/filamentgroup/loadCSS/blob/master/src/loadCSS.js
|
4 |
+
|
5 |
+
(function(w) {
|
6 |
+
"use strict";
|
7 |
+
/* exported loadCSS */
|
8 |
+
var loadCSS = function(href, before, media) {
|
9 |
+
// Arguments explained:
|
10 |
+
// `href` [REQUIRED] is the URL for your CSS file.
|
11 |
+
// `before` [OPTIONAL] is the element the script should use as a reference for injecting our stylesheet <link>
|
12 |
+
// before By default, loadCSS attempts to inject the link after the last stylesheet or script in the DOM.
|
13 |
+
// However, you might desire a more specific location in your document. `media` [OPTIONAL] is the media type or
|
14 |
+
// query of the stylesheet. By default it will be 'all'
|
15 |
+
var doc = w.document;
|
16 |
+
var ss = doc.createElement("link");
|
17 |
+
var ref;
|
18 |
+
if( before ) {
|
19 |
+
ref = before;
|
20 |
+
}
|
21 |
+
else {
|
22 |
+
var refs = ( doc.body || doc.getElementsByTagName("head")[0] ).childNodes;
|
23 |
+
ref = refs[refs.length - 1];
|
24 |
+
}
|
25 |
+
|
26 |
+
var sheets = doc.styleSheets;
|
27 |
+
ss.rel = "stylesheet";
|
28 |
+
ss.href = href;
|
29 |
+
// temporarily set media to something inapplicable to ensure it'll fetch without blocking render
|
30 |
+
ss.media = "only x";
|
31 |
+
|
32 |
+
// wait until body is defined before injecting link. This ensures a non-blocking load in IE11.
|
33 |
+
function ready(cb) {
|
34 |
+
if( doc.body ) {
|
35 |
+
return cb();
|
36 |
+
}
|
37 |
+
setTimeout(function() {
|
38 |
+
ready(cb);
|
39 |
+
});
|
40 |
+
}
|
41 |
+
|
42 |
+
// Inject link
|
43 |
+
// Note: the ternary preserves the existing behavior of "before" argument, but we could choose to change the
|
44 |
+
// argument to "after" in a later release and standardize on ref.nextSibling for all refs Note: `insertBefore`
|
45 |
+
// is used instead of `appendChild`, for safety re:
|
46 |
+
// http://www.paulirish.com/2011/surefire-dom-element-insertion/
|
47 |
+
ready(function() {
|
48 |
+
ref.parentNode.insertBefore(ss, ( before ? ref : ref.nextSibling ));
|
49 |
+
});
|
50 |
+
// A method (exposed on return object for external use) that mimics onload by polling document.styleSheets
|
51 |
+
// until it includes the new sheet.
|
52 |
+
var onloadcssdefined = function(cb) {
|
53 |
+
var resolvedHref = ss.href;
|
54 |
+
var i = sheets.length;
|
55 |
+
while( i-- ) {
|
56 |
+
if( sheets[i].href === resolvedHref ) {
|
57 |
+
return cb();
|
58 |
+
}
|
59 |
+
}
|
60 |
+
setTimeout(function() {
|
61 |
+
onloadcssdefined(cb);
|
62 |
+
});
|
63 |
+
};
|
64 |
+
|
65 |
+
function loadCB() {
|
66 |
+
if( ss.addEventListener ) {
|
67 |
+
ss.removeEventListener("load", loadCB);
|
68 |
+
}
|
69 |
+
ss.media = media || "all";
|
70 |
+
}
|
71 |
+
|
72 |
+
// once loaded, set link's media back to `all` so that the stylesheet applies once it loads
|
73 |
+
if( ss.addEventListener ) {
|
74 |
+
ss.addEventListener("load", loadCB);
|
75 |
+
}
|
76 |
+
ss.onloadcssdefined = onloadcssdefined;
|
77 |
+
onloadcssdefined(loadCB);
|
78 |
+
return ss;
|
79 |
+
};
|
80 |
+
// commonjs
|
81 |
+
if( typeof exports !== "undefined" ) {
|
82 |
+
exports.loadCSS = loadCSS;
|
83 |
+
}
|
84 |
+
else {
|
85 |
+
w.loadCSS = loadCSS;
|
86 |
+
}
|
87 |
+
}(typeof global !== "undefined" ? global : this));
|
88 |
+
|
89 |
+
/**/
|
90 |
+
jQuery(document).ready(function($) {
|
91 |
+
"use strict";
|
92 |
+
|
93 |
+
if( 'undefined' !== typeof wbcr_clearfy_async_links && Object.keys(wbcr_clearfy_async_links).length ) {
|
94 |
+
var key;
|
95 |
+
for( key in wbcr_clearfy_async_links ) {
|
96 |
+
if( wbcr_clearfy_async_links.hasOwnProperty(key) ) {
|
97 |
+
loadCSS(wbcr_clearfy_async_links[key]);
|
98 |
+
}
|
99 |
+
}
|
100 |
+
}
|
101 |
+
});
|
assets/js/css-lazy-load.min.js
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
!function(e){"use strict";var n=function(n,t,r){var i,a=e.document,o=a.createElement("link");if(t)i=t;else{var l=(a.body||a.getElementsByTagName("head")[0]).childNodes;i=l[l.length-1]}var s=a.styleSheets;o.rel="stylesheet",o.href=n,o.media="only x",function e(n){if(a.body)return n();setTimeout(function(){e(n)})}(function(){i.parentNode.insertBefore(o,t?i:i.nextSibling)});var c=function(e){for(var n=o.href,t=s.length;t--;)if(s[t].href===n)return e();setTimeout(function(){c(e)})};function d(){o.addEventListener&&o.removeEventListener("load",d),o.media=r||"all"}return o.addEventListener&&o.addEventListener("load",d),o.onloadcssdefined=c,c(d),o};"undefined"!=typeof exports?exports.loadCSS=n:e.loadCSS=n}("undefined"!=typeof global?global:this),jQuery(document).ready(function(e){"use strict";var n;if("undefined"!=typeof wbcr_clearfy_async_links&&Object.keys(wbcr_clearfy_async_links).length)for(n in wbcr_clearfy_async_links)wbcr_clearfy_async_links.hasOwnProperty(n)&&loadCSS(wbcr_clearfy_async_links[n])});
|
cache/local-ga.js
ADDED
@@ -0,0 +1,59 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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,d){a&&(c?(d="",b&&f.test(b)&&(d=' id="'+b+'"'),f.test(a)&&M.write("<script"+d+' src="'+a+'">\x3c/script>')):(c=M.createElement("script"),
|
3 |
+
c.type="text/javascript",c.async=!0,c.src=a,d&&(c.onload=d),b&&(c.id=b),a=M.getElementsByTagName("script")[0],a.parentNode.insertBefore(c,a)))},Ud=function(){return"https:"==M.location.protocol},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=
|
4 |
+
a.indexOf(b);if(5==c||6==c)if(a=a.charAt(c+b.length),"/"==a||"?"==a||""==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)&&
|
5 |
+
(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);
|
6 |
+
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,
|
7 |
+
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);
|
8 |
+
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",
|
9 |
+
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||Ud()?"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;if(!e)return!1;
|
10 |
+
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",
|
11 |
+
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("?")||
|
12 |
+
(a=["t=error","_e="+a,"_v=j66","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(oe()+"/collect",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";}
|
13 |
+
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)}
|
14 |
+
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)}
|
15 |
+
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";}
|
16 |
+
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)};
|
17 |
+
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,
|
18 |
+
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");
|
19 |
+
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");
|
20 |
+
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");
|
21 |
+
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);
|
22 |
+
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});
|
23 |
+
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",
|
24 |
+
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"),
|
25 |
+
Md=S("_r","_r"),qe=S("_dp");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(a,b){this.V=1E4;this.fa=a;this.$=!1;this.oa=b;this.ea=1},Ed=function(a,b){var c;if(a.fa&&a.$)return 0;a.$=!0;if(b){if(a.oa&&R(b,a.oa))return R(b,a.oa);if(0==b.get(dc))return 0}if(0==a.V)return 0;void 0===c&&(c=Bd());return 0==c%a.V?Math.floor(c/a.V)%a.ea+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&&
|
26 |
+
(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-
|
27 |
+
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)&&
|
28 |
+
!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);var e=a.get(fe),g=a.get(ie);b=kc(P(a,Yb));var ca=lc(P(a,W));a=P(a,Na);g&&"aw.ds"!=g||(c=["1",e,Cc(c)].join("."),0<d&&zc("_gac_"+Cc(a),c,b,ca,a,d));le({})}}else J(75)}},ma=function(a,b,c,d){var e=nd(a,b);if(e){c=P(a,c);var g=kc(P(a,Yb)),ca=
|
29 |
+
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,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,
|
30 |
+
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)?{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);
|
31 |
+
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=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("."));
|
32 |
+
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}
|
33 |
+
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("."))}
|
34 |
+
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)};
|
35 |
+
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=
|
36 |
+
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))};
|
37 |
+
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])&&
|
38 |
+
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},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(b.get(ed)){if(ne()){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){b.get(c)||("1"==Ca(a.Y)[0]?
|
39 |
+
b.set(c,"",!0):b.set(c,""+hd(),!0))},Qd=function(a,b){b.get(ed)&&zc(a.Y,"1",b.get(Yb),b.get(W),b.get(Na),6E4)},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},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);a.get(ed)&&(a.set(Md,1,!0),ne()?(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 H=function(a){return a?(1*a).toFixed(3):"0"},da=function(a){var b=O.performance;if(b&&b.getEntriesByName){J(35);var c="https://www.google-analytics.com/analytics.js?wpid="+a;wa(c,void 0,void 0,function(){try{var d=1,e=b.getEntriesByName("https://www.google-analytics.com/analytics.js");e&&0!=e.length||(e=b.getEntriesByName("http://www.google-analytics.com/analytics.js"),d=0);var g=b.getEntriesByName(c);if(e&&1==e.length&&g&&1==g.length){J(37);var ca=e[0],l=g[0],k={tid:a,ad:H(ca.duration),bd:H(l.duration),
|
40 |
+
ar:H(ca.responseEnd-ca.requestStart),br:H(l.responseEnd-l.requestStart),an:H(ca.domainLookupEnd-ca.domainLookupStart),bn:H(l.domainLookupEnd-l.domainLookupStart),ac:H(ca.connectEnd-ca.connectStart),bc:H(l.connectEnd-l.connectStart),as:d};d=[];d.push("_v=j66");d.push("id=10");for(var w in k)k.hasOwnProperty(w)&&d.push(w+"="+K(k[w]));d.push("z="+hd());wc("https://www.google-analytics.com/u/d",d.join("&"),ua)}}catch(ha){}})}};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,"j66");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);
|
41 |
+
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));this.ra=new Od(!0,"gaexp10")},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=
|
42 |
+
R(a,Zb);d=d+e<(new Date).getTime()/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):
|
43 |
+
e[d[g].ja]=[],e[d[g].ja].push({timestamp:ca[1],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);
|
44 |
+
break a}e&&(J(2),a.data.set(I,e))}else{J(22);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)));
|
45 |
+
if(d){var e=d.pathname||"";"/"!=e.charAt(0)&&(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&&
|
46 |
+
"function"===typeof b.javaEnabled&&b.javaEnabled()||!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"))&&
|
47 |
+
d.push(b[c]);0<d.length&&(b="#"+d.join("&"),a.set(kb,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]};
|
48 |
+
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={},Ed(this.ra,this.b)&&da(this.b.get(Na)))}};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";
|
49 |
+
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};
|
50 |
+
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=
|
51 |
+
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||Ud()?"https:":"http:")+"//www.google-analytics.com/plugins/ua/"+c),d=ae(c),a=d.protocol,c=M.location.protocol,("https:"==a||a==c||("http:"!=
|
52 |
+
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"==a.host&&(a.port||
|
53 |
+
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(":")&&(a=ca+e[2].substring(0,
|
54 |
+
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};
|
55 |
+
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];
|
56 |
+
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&&
|
57 |
+
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)};
|
58 |
+
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(!Ud()&&!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=
|
59 |
+
!0;break a}}b=!1}b&&(Ba=!0)}Ud()||Ba||!Ed(new Od)||(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 Nd=N.N,se=O[gb];se&&se.r?Nd():z(Nd);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);
|
clearfy.php
CHANGED
@@ -4,90 +4,42 @@
|
|
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.1
|
8 |
* Text Domain: clearfy
|
9 |
* Domain Path: /languages/
|
|
|
10 |
*/
|
11 |
|
|
|
|
|
|
|
|
|
|
|
12 |
if( defined('WBCR_CLEARFY_PLUGIN_ACTIVE') ) {
|
13 |
return;
|
14 |
}
|
15 |
define('WBCR_CLEARFY_PLUGIN_ACTIVE', true);
|
16 |
|
17 |
-
define('
|
18 |
-
define('
|
19 |
-
define('
|
20 |
|
21 |
|
22 |
|
23 |
-
|
24 |
-
require_once(WBCR_CLR_PLUGIN_DIR . '/libs/factory/core/boot.php');
|
25 |
-
|
26 |
-
add_action('plugins_loaded', 'wbcr_clearfy_plugin_init');
|
27 |
-
|
28 |
-
function wbcr_clearfy_plugin_init()
|
29 |
-
{
|
30 |
-
global $wbcr_clearfy_plugin;
|
31 |
-
|
32 |
-
// Localization plugin
|
33 |
-
load_plugin_textdomain('clearfy', false, dirname(WBCR_CLR_PLUGIN_BASE) . '/languages/');
|
34 |
-
|
35 |
-
$wbcr_clearfy_plugin = new Factory326_Plugin(__FILE__, array(
|
36 |
-
'name' => 'wbcr_clearfy',
|
37 |
-
'title' => __('Clearfy', 'clearfy'),
|
38 |
-
'version' => '1.1.92',
|
39 |
-
'host' => 'wordpress.org',
|
40 |
-
'url' => 'https://wordpress.org/plugins/clearfy/',
|
41 |
-
'assembly' => 'free',
|
42 |
-
'updates' => WBCR_CLR_PLUGIN_DIR . '/updates/',
|
43 |
-
'deactive_preinstall_components' => get_option('wbcr_clearfy_deactive_preinstall_components', array())
|
44 |
-
));
|
45 |
-
|
46 |
-
// requires factory modules
|
47 |
-
$wbcr_clearfy_plugin->load(array(
|
48 |
-
array('libs/factory/bootstrap', 'factory_bootstrap_330', 'admin'),
|
49 |
-
array('libs/factory/forms', 'factory_forms_329', 'admin'),
|
50 |
-
array('libs/factory/pages', 'factory_pages_324', 'admin'),
|
51 |
-
array('libs/factory/clearfy', 'factory_clearfy_102', 'all')
|
52 |
-
));
|
53 |
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
new WbcrClearfy_ConfigSecurity($wbcr_clearfy_plugin);
|
70 |
-
new WbcrClearfy_ConfigSeo($wbcr_clearfy_plugin);
|
71 |
-
new WbcrClearfy_ConfigAdvanced($wbcr_clearfy_plugin);
|
72 |
-
|
73 |
-
$addons = array();
|
74 |
-
$preinsatall_components = (array)$wbcr_clearfy_plugin->options['deactive_preinstall_components'];
|
75 |
-
|
76 |
-
if( empty($preinsatall_components) || !in_array('update_manager', $preinsatall_components) ) {
|
77 |
-
$addons['updates_manager'] = WBCR_CLR_PLUGIN_DIR . '/components/updates-manager/webcraftic-updates-manager.php';
|
78 |
-
}
|
79 |
-
if( empty($preinsatall_components) || !in_array('comments_tools', $preinsatall_components) ) {
|
80 |
-
$addons['comments_plus'] = WBCR_CLR_PLUGIN_DIR . '/components/comments-plus/comments-plus.php';
|
81 |
-
}
|
82 |
-
if( empty($preinsatall_components) || !in_array('asset_manager', $preinsatall_components) ) {
|
83 |
-
$addons['gonzales'] = WBCR_CLR_PLUGIN_DIR . '/components/assets-manager/gonzales.php';
|
84 |
-
}
|
85 |
-
if( empty($preinsatall_components) || !in_array('disable_notices', $preinsatall_components) ) {
|
86 |
-
$addons['disable_admin_notices'] = WBCR_CLR_PLUGIN_DIR . '/components/disable-admin-notices/disable-admin-notices.php';
|
87 |
-
}
|
88 |
-
|
89 |
-
/**
|
90 |
-
* Include plugin components
|
91 |
-
*/
|
92 |
-
$wbcr_clearfy_plugin->loadAddons($addons);
|
93 |
-
}
|
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.2.1
|
8 |
* Text Domain: clearfy
|
9 |
* Domain Path: /languages/
|
10 |
+
* Author URI: http://webcraftic.com
|
11 |
*/
|
12 |
|
13 |
+
// Exit if accessed directly
|
14 |
+
if( !defined('ABSPATH') ) {
|
15 |
+
exit;
|
16 |
+
}
|
17 |
+
|
18 |
if( defined('WBCR_CLEARFY_PLUGIN_ACTIVE') ) {
|
19 |
return;
|
20 |
}
|
21 |
define('WBCR_CLEARFY_PLUGIN_ACTIVE', true);
|
22 |
|
23 |
+
define('WCL_PLUGIN_DIR', dirname(__FILE__));
|
24 |
+
define('WCL_PLUGIN_BASE', plugin_basename(__FILE__));
|
25 |
+
define('WCL_PLUGIN_URL', plugins_url(null, __FILE__));
|
26 |
|
27 |
|
28 |
|
29 |
+
require_once(WCL_PLUGIN_DIR . '/includes/helpers.php');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
|
31 |
+
// creating a plugin via the factory
|
32 |
+
require_once(WCL_PLUGIN_DIR . '/libs/factory/core/boot.php');
|
33 |
+
require_once(WCL_PLUGIN_DIR . '/includes/class.plugin.php');
|
34 |
+
|
35 |
+
new WCL_Plugin(__FILE__, array(
|
36 |
+
'prefix' => 'wbcr_clearfy_',
|
37 |
+
'plugin_name' => 'wbcr_clearfy',
|
38 |
+
'plugin_title' => __('Clearfy', 'clearfy'),
|
39 |
+
'plugin_version' => '1.2.1',
|
40 |
+
'required_php_version' => '5.2',
|
41 |
+
'required_wp_version' => '4.2',
|
42 |
+
'plugin_build' => 'free',
|
43 |
+
'updates' => WCL_PLUGIN_DIR . '/updates/'
|
44 |
+
|
45 |
+
));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
components/assets-manager/admin/assets/css/general.css
CHANGED
@@ -1,455 +1,455 @@
|
|
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 .hint-warnign-color {
|
23 |
-
color: #ffeb3b;
|
24 |
-
}
|
25 |
-
#WBCR .wbcr-clearfy-header {
|
26 |
-
padding: 20px 20px 40px;
|
27 |
-
}
|
28 |
-
#WBCR .factory-bootstrap-
|
29 |
-
font-weight: normal;
|
30 |
-
}
|
31 |
-
#WBCR .factory-bootstrap-
|
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 |
-
}
|
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 .hint-warnign-color {
|
23 |
+
color: #ffeb3b;
|
24 |
+
}
|
25 |
+
#WBCR .wbcr-clearfy-header {
|
26 |
+
padding: 20px 20px 40px;
|
27 |
+
}
|
28 |
+
#WBCR .factory-bootstrap-400 label {
|
29 |
+
font-weight: normal;
|
30 |
+
}
|
31 |
+
#WBCR .factory-bootstrap-400 .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/css/index.php
ADDED
File without changes
|
components/assets-manager/admin/assets/index.php
ADDED
File without changes
|
components/assets-manager/admin/assets/js/index.php
ADDED
File without changes
|
components/assets-manager/admin/boot.php
CHANGED
@@ -6,15 +6,20 @@
|
|
6 |
* @version 1.0
|
7 |
*/
|
8 |
|
9 |
-
|
|
|
|
|
|
|
|
|
|
|
10 |
|
11 |
if( !defined('LOADING_GONZALES_AS_ADDON') ) {
|
12 |
-
require(
|
13 |
}
|
14 |
|
15 |
function wbcr_gnz_set_plugin_meta($links, $file)
|
16 |
{
|
17 |
-
if( $file ==
|
18 |
$links[] = '<a href="https://goo.gl/TcMcS4" style="color: #FF5722;font-weight: bold;" target="_blank">' . __('Get ultimate plugin free', 'gonzales') . '</a>';
|
19 |
}
|
20 |
|
@@ -27,14 +32,14 @@
|
|
27 |
|
28 |
function wbcr_gnz_rating_widget_url($page_url, $plugin_name)
|
29 |
{
|
30 |
-
if( $plugin_name ==
|
31 |
return 'https://goo.gl/zyNV6z';
|
32 |
}
|
33 |
|
34 |
return $page_url;
|
35 |
}
|
36 |
|
37 |
-
add_filter('
|
38 |
|
39 |
function wbcr_gnz_group_options($options)
|
40 |
{
|
@@ -74,5 +79,41 @@
|
|
74 |
|
75 |
add_filter("wbcr_clearfy_group_options", 'wbcr_gnz_group_options');
|
76 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
77 |
|
78 |
|
6 |
* @version 1.0
|
7 |
*/
|
8 |
|
9 |
+
// Exit if accessed directly
|
10 |
+
if( !defined('ABSPATH') ) {
|
11 |
+
exit;
|
12 |
+
}
|
13 |
+
|
14 |
+
require(WGZ_PLUGIN_DIR . '/admin/pages/assets-manager.php');
|
15 |
|
16 |
if( !defined('LOADING_GONZALES_AS_ADDON') ) {
|
17 |
+
require(WGZ_PLUGIN_DIR . '/admin/pages/more-features.php');
|
18 |
}
|
19 |
|
20 |
function wbcr_gnz_set_plugin_meta($links, $file)
|
21 |
{
|
22 |
+
if( $file == WGZ_PLUGIN_BASE ) {
|
23 |
$links[] = '<a href="https://goo.gl/TcMcS4" style="color: #FF5722;font-weight: bold;" target="_blank">' . __('Get ultimate plugin free', 'gonzales') . '</a>';
|
24 |
}
|
25 |
|
32 |
|
33 |
function wbcr_gnz_rating_widget_url($page_url, $plugin_name)
|
34 |
{
|
35 |
+
if( $plugin_name == WGZ_Plugin::app()->getPluginName() ) {
|
36 |
return 'https://goo.gl/zyNV6z';
|
37 |
}
|
38 |
|
39 |
return $page_url;
|
40 |
}
|
41 |
|
42 |
+
add_filter('wbcr_factory_pages_401_imppage_rating_widget_url', 'wbcr_gnz_rating_widget_url', 10, 2);
|
43 |
|
44 |
function wbcr_gnz_group_options($options)
|
45 |
{
|
79 |
|
80 |
add_filter("wbcr_clearfy_group_options", 'wbcr_gnz_group_options');
|
81 |
|
82 |
+
function wbcr_gnz_migrate_options()
|
83 |
+
{
|
84 |
+
global $wpdb;
|
85 |
+
|
86 |
+
if( WGZ_Plugin::app()->getOption('migrate_options_1_0_3') ) {
|
87 |
+
return;
|
88 |
+
}
|
89 |
+
$assets = get_option('wbcr_gonzales_manager_options');
|
90 |
+
|
91 |
+
if( !empty($assets) ) {
|
92 |
+
WGZ_Plugin::app()->updateOption('assets_manager_options', $assets);
|
93 |
+
}
|
94 |
+
|
95 |
+
delete_option('wbcr_gonzales_manager_options');
|
96 |
+
|
97 |
+
$request = $wpdb->get_results("SELECT option_id, option_name, option_value FROM {$wpdb->prefix}options WHERE option_name LIKE 'wbcr_gonzales_%'");
|
98 |
+
|
99 |
+
if( !empty($request) ) {
|
100 |
+
foreach($request as $option) {
|
101 |
+
$option_new_name = str_replace('wbcr_gonzales_', WGZ_Plugin::app()->getPrefix(), $option->option_name);
|
102 |
+
if( !get_option($option_new_name, false) ) {
|
103 |
+
$wpdb->query("UPDATE {$wpdb->prefix}options SET option_name='$option_new_name' WHERE option_id='{$option->option_id}'");
|
104 |
+
} else {
|
105 |
+
delete_option($option->option_name);
|
106 |
+
}
|
107 |
+
}
|
108 |
+
}
|
109 |
+
|
110 |
+
WGZ_Plugin::app()->updateOption('migrate_options_1_0_3', 1);
|
111 |
+
WGZ_Plugin::app()->flushOptionsCache();
|
112 |
+
}
|
113 |
+
|
114 |
+
wbcr_gnz_migrate_options();
|
115 |
+
|
116 |
+
|
117 |
+
|
118 |
|
119 |
|
components/assets-manager/admin/index.php
ADDED
File without changes
|
components/assets-manager/admin/pages/assets-manager.php
CHANGED
@@ -5,46 +5,56 @@
|
|
5 |
*
|
6 |
* @since 1.0.0
|
7 |
*/
|
8 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
|
10 |
/**
|
11 |
* The id of the page in the admin menu.
|
12 |
*
|
13 |
* Mainly used to navigate between pages.
|
14 |
-
* @see
|
15 |
*
|
16 |
* @since 1.0.0
|
17 |
* @var string
|
18 |
*/
|
19 |
public $id = "gonzales";
|
|
|
|
|
|
|
|
|
20 |
public $page_menu_dashicon = 'dashicons-image-filter';
|
21 |
-
//public $show_right_sidebar_in_options = true;
|
22 |
-
//public $show_bottom_sidebar = false;
|
23 |
|
|
|
|
|
|
|
24 |
public $page_menu_position = 95;
|
25 |
|
26 |
/**
|
27 |
-
*
|
28 |
-
*
|
29 |
-
* @var array
|
30 |
*/
|
31 |
-
|
32 |
-
|
33 |
-
public function __construct(Factory326_Plugin $plugin)
|
34 |
{
|
35 |
-
$this->
|
36 |
|
37 |
if( !defined('LOADING_GONZALES_AS_ADDON') ) {
|
38 |
$this->internal = false;
|
39 |
-
$this->
|
40 |
-
$this->
|
|
|
|
|
41 |
}
|
42 |
|
43 |
-
//add_filter('wbcr_factory_imppage_right_sidebar_widgets', array($this, 'rightSidebar'));
|
44 |
-
|
45 |
parent::__construct($plugin);
|
46 |
}
|
47 |
|
|
|
|
|
|
|
48 |
public function getMenuTitle()
|
49 |
{
|
50 |
return defined('LOADING_GONZALES_AS_ADDON')
|
@@ -52,49 +62,6 @@
|
|
52 |
: __('General', 'gonzales');
|
53 |
}
|
54 |
|
55 |
-
/**
|
56 |
-
* We register notifications for some actions
|
57 |
-
* @param $notices
|
58 |
-
* @return array
|
59 |
-
*/
|
60 |
-
/*public function rightSidebar($widgets)
|
61 |
-
{
|
62 |
-
//$widgets['configuration_widget'] = $this->showConfigurationWidget();
|
63 |
-
|
64 |
-
//unset($widgets['info_widget']);
|
65 |
-
unset($widgets['rating_widget']);
|
66 |
-
unset($widgets['donate_widget']);
|
67 |
-
|
68 |
-
return $widgets;
|
69 |
-
}*/
|
70 |
-
|
71 |
-
/*public function showConfigurationWidget()
|
72 |
-
{
|
73 |
-
?>
|
74 |
-
<div class="wbcr-factory-sidebar-widget wbcr-factory-configuration wbcr-factory-warning wbcr-factory-hide">
|
75 |
-
<p>
|
76 |
-
<strong><?php _e('Make manager quiet after setting optimal configuration', 'factory_pages_324'); ?></strong>
|
77 |
-
</p>
|
78 |
-
<ul>
|
79 |
-
<li><b>Q:</b> When I should implement this definition?</li>
|
80 |
-
<li><b>A:</b> When you have 100% sure that everything works after saving final plugin configuration
|
81 |
-
</li>
|
82 |
-
<li><b>Q:</b> Why I should implement it?</li>
|
83 |
-
<li><b>A:</b> Because a lot of HTML code is added to html body and 99% of time you won't use it.
|
84 |
-
Other
|
85 |
-
thing is
|
86 |
-
you'll save space in top admin bar.
|
87 |
-
</li>
|
88 |
-
<li><b>Q:</b> Gonzales menu/panel renders only for administrator, I don't care.</li>
|
89 |
-
<li><b>A:</b> It's OK but less memory is conumed and website renders a bit faster when implemented.
|
90 |
-
Less
|
91 |
-
it better right?
|
92 |
-
</li>
|
93 |
-
</ul>
|
94 |
-
</div>
|
95 |
-
<?php
|
96 |
-
}*/
|
97 |
-
|
98 |
/**
|
99 |
* Permalinks options.
|
100 |
*
|
@@ -104,11 +71,11 @@
|
|
104 |
public function getOptions()
|
105 |
{
|
106 |
$options = array();
|
107 |
-
$
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
$options[] = array(
|
113 |
'type' => 'checkbox',
|
114 |
'way' => 'buttons',
|
@@ -140,13 +107,6 @@
|
|
140 |
'title' => __('Disable assets manager panel', 'gonzales'),
|
141 |
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'green'),
|
142 |
'hint' => __('By default in your admin bar there is a button for control the assets scripts and styles. With this option, you can turn off the script manager on front and back-end.', 'gonzales'),
|
143 |
-
/*'eventsOn' => array(
|
144 |
-
'show' => '.wbcr-factory-sidebar-widget.wbcr-factory-configuration'
|
145 |
-
),
|
146 |
-
'eventsOff' => array(
|
147 |
-
|
148 |
-
'hide' => '.wbcr-factory-sidebar-widget.wbcr-factory-configuration'
|
149 |
-
),*/
|
150 |
'default' => false
|
151 |
),
|
152 |
array(
|
@@ -181,5 +141,3 @@
|
|
181 |
return apply_filters('wbcr_gnz_assets_manager_options', $formOptions);
|
182 |
}
|
183 |
}
|
184 |
-
|
185 |
-
FactoryPages324::register($wbcr_gonzales_plugin, 'WbcrGnz_AssetsManagerPage');
|
5 |
*
|
6 |
* @since 1.0.0
|
7 |
*/
|
8 |
+
|
9 |
+
// Exit if accessed directly
|
10 |
+
if( !defined('ABSPATH') ) {
|
11 |
+
exit;
|
12 |
+
}
|
13 |
+
|
14 |
+
class WbcrGnz_AssetsManagerPage extends Wbcr_FactoryPages401_ImpressiveThemplate {
|
15 |
|
16 |
/**
|
17 |
* The id of the page in the admin menu.
|
18 |
*
|
19 |
* Mainly used to navigate between pages.
|
20 |
+
* @see FactoryPages401_AdminPage
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
* @var string
|
24 |
*/
|
25 |
public $id = "gonzales";
|
26 |
+
|
27 |
+
/**
|
28 |
+
* @var string
|
29 |
+
*/
|
30 |
public $page_menu_dashicon = 'dashicons-image-filter';
|
|
|
|
|
31 |
|
32 |
+
/**
|
33 |
+
* @var int
|
34 |
+
*/
|
35 |
public $page_menu_position = 95;
|
36 |
|
37 |
/**
|
38 |
+
* @param Wbcr_Factory400_Plugin $plugin
|
|
|
|
|
39 |
*/
|
40 |
+
public function __construct(Wbcr_Factory400_Plugin $plugin)
|
|
|
|
|
41 |
{
|
42 |
+
$this->menu_title = __('Assets manager', 'gonzales');
|
43 |
|
44 |
if( !defined('LOADING_GONZALES_AS_ADDON') ) {
|
45 |
$this->internal = false;
|
46 |
+
$this->menu_target = 'options-general.php';
|
47 |
+
$this->add_link_to_plugin_actions = true;
|
48 |
+
} else {
|
49 |
+
$this->page_parent_page = 'performance';
|
50 |
}
|
51 |
|
|
|
|
|
52 |
parent::__construct($plugin);
|
53 |
}
|
54 |
|
55 |
+
/**
|
56 |
+
* @return string|void
|
57 |
+
*/
|
58 |
public function getMenuTitle()
|
59 |
{
|
60 |
return defined('LOADING_GONZALES_AS_ADDON')
|
62 |
: __('General', 'gonzales');
|
63 |
}
|
64 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
/**
|
66 |
* Permalinks options.
|
67 |
*
|
71 |
public function getOptions()
|
72 |
{
|
73 |
$options = array();
|
74 |
+
$options[] = array(
|
75 |
+
'type' => 'html',
|
76 |
+
'html' => '<div class="wbcr-factory-page-group-header"><strong>' . __('Disable unused scripts, styles, and fonts', 'gonzales') . '</strong><p>' . __('There is a button in the adminbar called "Script Manager". If you click on it you will see a list of loaded scripts, styles and fonts on the current page of your site. If you think that one of the assets is superfluous on this page, you can disable it individually, so that it does not create unnecessary queries when page loading. Use the script manager very carefull to non-corrupt your website. We recommend to test this function at a local server.', 'gonzales') . '</p></div>'
|
77 |
+
);
|
78 |
+
|
79 |
$options[] = array(
|
80 |
'type' => 'checkbox',
|
81 |
'way' => 'buttons',
|
107 |
'title' => __('Disable assets manager panel', 'gonzales'),
|
108 |
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'green'),
|
109 |
'hint' => __('By default in your admin bar there is a button for control the assets scripts and styles. With this option, you can turn off the script manager on front and back-end.', 'gonzales'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
110 |
'default' => false
|
111 |
),
|
112 |
array(
|
141 |
return apply_filters('wbcr_gnz_assets_manager_options', $formOptions);
|
142 |
}
|
143 |
}
|
|
|
|
components/assets-manager/admin/pages/index.php
ADDED
File without changes
|
components/assets-manager/admin/pages/more-features.php
CHANGED
@@ -5,8 +5,12 @@
|
|
5 |
*
|
6 |
* @since 1.0.0
|
7 |
*/
|
8 |
-
class WbcrGnz_MoreFeaturesPage extends FactoryClearfy102_MoreFeaturesPage {
|
9 |
|
|
|
|
|
|
|
10 |
}
|
11 |
|
12 |
-
|
|
|
|
5 |
*
|
6 |
* @since 1.0.0
|
7 |
*/
|
|
|
8 |
|
9 |
+
// Exit if accessed directly
|
10 |
+
if( !defined('ABSPATH') ) {
|
11 |
+
exit;
|
12 |
}
|
13 |
|
14 |
+
class WbcrGnz_MoreFeaturesPage extends Wbcr_FactoryClearfy200_MoreFeaturesPage {
|
15 |
+
|
16 |
+
}
|
components/assets-manager/assets/css/assets-manager.css
CHANGED
@@ -1,229 +1,229 @@
|
|
1 |
-
/**
|
2 |
-
* Assets manager styles
|
3 |
-
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
4 |
-
* @copyright Webcraftic 12.11.2017
|
5 |
-
*/
|
6 |
-
html,
|
7 |
-
body {
|
8 |
-
overflow: hidden !important;
|
9 |
-
}
|
10 |
-
#wbcr-assets-manager-wrapper {
|
11 |
-
display: none;
|
12 |
-
position: fixed;
|
13 |
-
z-index: 99999999;
|
14 |
-
top: 32px;
|
15 |
-
bottom: 0;
|
16 |
-
left: 0;
|
17 |
-
right: 0;
|
18 |
-
background: rgba(0, 0, 0, 0.5);
|
19 |
-
overflow-y: auto;
|
20 |
-
font-family: "Open Sans", Arial, sans-serif;
|
21 |
-
}
|
22 |
-
#wbcr-assets-manager {
|
23 |
-
background: #ffffff;
|
24 |
-
padding: 20px;
|
25 |
-
font-size: 14px;
|
26 |
-
line-height: 1.5em;
|
27 |
-
color: #4a545a;
|
28 |
-
}
|
29 |
-
#wbcr-assets-manager a {
|
30 |
-
text-decoration: none;
|
31 |
-
border: none;
|
32 |
-
}
|
33 |
-
#wbcr-assets-manager h3 {
|
34 |
-
padding: 10px;
|
35 |
-
margin: 20px 0 0;
|
36 |
-
font-size: 20px;
|
37 |
-
background: #ececec;
|
38 |
-
color: #696969;
|
39 |
-
border-radius: 5px 5px 0 0;
|
40 |
-
}
|
41 |
-
#wbcr-assets-manager .wbcr-header {
|
42 |
-
position: relative;
|
43 |
-
}
|
44 |
-
#wbcr-assets-manager .wbcr-header h2 {
|
45 |
-
font-size: 24px;
|
46 |
-
margin: 0 0 10px 0;
|
47 |
-
color: #4a545a;
|
48 |
-
font-weight: bold;
|
49 |
-
}
|
50 |
-
#wbcr-assets-manager .wbcr-header p {
|
51 |
-
font-size: 14px;
|
52 |
-
color: #a9a9a9;
|
53 |
-
margin: 0px auto 15px auto;
|
54 |
-
}
|
55 |
-
#wbcr-assets-manager .wbcr-header .wbcr-description {
|
56 |
-
padding-right: 300px;
|
57 |
-
}
|
58 |
-
#wbcr-assets-manager table {
|
59 |
-
table-layout: fixed;
|
60 |
-
width: 100%;
|
61 |
-
margin: 0px;
|
62 |
-
padding: 0px;
|
63 |
-
border: none;
|
64 |
-
text-align: left;
|
65 |
-
font-size: 14px;
|
66 |
-
border-collapse: collapse;
|
67 |
-
color: #737373;
|
68 |
-
}
|
69 |
-
#wbcr-assets-manager table thead {
|
70 |
-
background: none;
|
71 |
-
color: #9a9797;
|
72 |
-
font-weight: bold;
|
73 |
-
border: none;
|
74 |
-
}
|
75 |
-
#wbcr-assets-manager table thead tr {
|
76 |
-
border: none;
|
77 |
-
}
|
78 |
-
#wbcr-assets-manager table thead th {
|
79 |
-
padding: 10px;
|
80 |
-
vertical-align: middle;
|
81 |
-
border-bottom: 2px solid #ececec;
|
82 |
-
}
|
83 |
-
#wbcr-assets-manager table tr {
|
84 |
-
border: none;
|
85 |
-
border-bottom: 1px solid #ececec;
|
86 |
-
background: #ffffff;
|
87 |
-
}
|
88 |
-
#wbcr-assets-manager table tbody tr:last-child {
|
89 |
-
border-bottom: 0px;
|
90 |
-
}
|
91 |
-
#wbcr-assets-manager table td {
|
92 |
-
padding: 5px;
|
93 |
-
border: none;
|
94 |
-
vertical-align: middle;
|
95 |
-
font-size: 14px;
|
96 |
-
}
|
97 |
-
#wbcr-assets-manager table td.wbcr-assets-manager-size {
|
98 |
-
font-size: 12px;
|
99 |
-
}
|
100 |
-
#wbcr-assets-manager table td.wbcr-script {
|
101 |
-
white-space: nowrap;
|
102 |
-
}
|
103 |
-
#wbcr-assets-manager table .wbcr-assets-manager-disable *:after,
|
104 |
-
#wbcr-assets-manager table .wbcr-assets-manager-disable *:before {
|
105 |
-
display: none;
|
106 |
-
}
|
107 |
-
#wbcr-assets-manager table select {
|
108 |
-
height: auto;
|
109 |
-
width: auto;
|
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-assets-manager table .wbcr-assets-manager-enable-placeholder {
|
127 |
-
color: #bbbbbb;
|
128 |
-
font-style: italic;
|
129 |
-
font-size: 14px;
|
130 |
-
}
|
131 |
-
#wbcr-assets-manager table input[type='checkbox'] {
|
132 |
-
display: inline-block;
|
133 |
-
margin-right: 3px;
|
134 |
-
vertical-align: middle;
|
135 |
-
}
|
136 |
-
#wbcr-assets-manager table label {
|
137 |
-
display: inline-block;
|
138 |
-
margin: 0 10px 0 0;
|
139 |
-
width: auto;
|
140 |
-
font-weight: normal;
|
141 |
-
}
|
142 |
-
#wbcr-assets-manager .wbcr-state {
|
143 |
-
margin: 0 auto;
|
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 |
-
#wbcr-assets-manager .wbcr-state.wbcr-state-0 {
|
153 |
-
background: #dff5c4;
|
154 |
-
color: #798c64;
|
155 |
-
}
|
156 |
-
#wbcr-assets-manager .wbcr-state.wbcr-state-1 {
|
157 |
-
background: #ffb1af;
|
158 |
-
color: #a25f5f;
|
159 |
-
}
|
160 |
-
#wbcr-assets-manager .wbcr-use-by-comment {
|
161 |
-
color: #a25f5f;
|
162 |
-
}
|
163 |
-
#wbcr-assets-manager .wbcr-script span {
|
164 |
-
display: block;
|
165 |
-
max-width: 100%;
|
166 |
-
overflow: hidden;
|
167 |
-
text-overflow: ellipsis;
|
168 |
-
font-size: 16px;
|
169 |
-
font-weight: bold;
|
170 |
-
}
|
171 |
-
#wbcr-assets-manager .wbcr-script a {
|
172 |
-
display: inline-block;
|
173 |
-
max-width: 100%;
|
174 |
-
overflow: hidden;
|
175 |
-
text-overflow: ellipsis;
|
176 |
-
font-size: 12px;
|
177 |
-
color: #bbbbba;
|
178 |
-
}
|
179 |
-
#wbcr-assets-manager .wbcr-float-panel {
|
180 |
-
position: fixed;
|
181 |
-
top: 30px;
|
182 |
-
right: 35px;
|
183 |
-
background: #23282d;
|
184 |
-
padding: 15px 15px 5px;
|
185 |
-
border-radius: 0 0 5px 5px;
|
186 |
-
}
|
187 |
-
#wbcr-assets-manager .wbcr-float-panel input[type='submit'] {
|
188 |
-
display: inline-block;
|
189 |
-
width: 140px;
|
190 |
-
height: 35px;
|
191 |
-
padding: 0;
|
192 |
-
margin: 0 10px 0 0;
|
193 |
-
border-radius: 3px;
|
194 |
-
background: #FFC107;
|
195 |
-
color: #907010;
|
196 |
-
cursor: pointer;
|
197 |
-
border: none;
|
198 |
-
text-align: center;
|
199 |
-
font-size: 14px;
|
200 |
-
font-weight: 600;
|
201 |
-
vertical-align: top;
|
202 |
-
outline: none;
|
203 |
-
line-height: 2.6;
|
204 |
-
}
|
205 |
-
#wbcr-assets-manager .wbcr-float-panel input[type='submit']:after {
|
206 |
-
clear: both;
|
207 |
-
}
|
208 |
-
#wbcr-assets-manager .wbcr-float-panel input[type='submit']:hover {
|
209 |
-
background: #ffc721;
|
210 |
-
}
|
211 |
-
#wbcr-assets-manager .wbcr-float-panel .wbcr-close {
|
212 |
-
display: inline-block;
|
213 |
-
height: 35px;
|
214 |
-
width: 37px;
|
215 |
-
border-radius: 3px;
|
216 |
-
font-size: 0;
|
217 |
-
background: #9E9E9E url('../img/cancel.png') center center no-repeat;
|
218 |
-
vertical-align: top;
|
219 |
-
outline: none;
|
220 |
-
}
|
221 |
-
#wbcr-assets-manager .wbcr-float-panel .wbcr-hide-panel {
|
222 |
-
display: block;
|
223 |
-
margin-top: 5px;
|
224 |
-
font-size: 11px;
|
225 |
-
color: #929292;
|
226 |
-
text-decoration: underline;
|
227 |
-
text-align: center;
|
228 |
-
outline: none;
|
229 |
-
}
|
1 |
+
/**
|
2 |
+
* Assets manager styles
|
3 |
+
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
4 |
+
* @copyright Webcraftic 12.11.2017
|
5 |
+
*/
|
6 |
+
html,
|
7 |
+
body {
|
8 |
+
overflow: hidden !important;
|
9 |
+
}
|
10 |
+
#wbcr-assets-manager-wrapper {
|
11 |
+
display: none;
|
12 |
+
position: fixed;
|
13 |
+
z-index: 99999999;
|
14 |
+
top: 32px;
|
15 |
+
bottom: 0;
|
16 |
+
left: 0;
|
17 |
+
right: 0;
|
18 |
+
background: rgba(0, 0, 0, 0.5);
|
19 |
+
overflow-y: auto;
|
20 |
+
font-family: "Open Sans", Arial, sans-serif;
|
21 |
+
}
|
22 |
+
#wbcr-assets-manager {
|
23 |
+
background: #ffffff;
|
24 |
+
padding: 20px;
|
25 |
+
font-size: 14px;
|
26 |
+
line-height: 1.5em;
|
27 |
+
color: #4a545a;
|
28 |
+
}
|
29 |
+
#wbcr-assets-manager a {
|
30 |
+
text-decoration: none;
|
31 |
+
border: none;
|
32 |
+
}
|
33 |
+
#wbcr-assets-manager h3 {
|
34 |
+
padding: 10px;
|
35 |
+
margin: 20px 0 0;
|
36 |
+
font-size: 20px;
|
37 |
+
background: #ececec;
|
38 |
+
color: #696969;
|
39 |
+
border-radius: 5px 5px 0 0;
|
40 |
+
}
|
41 |
+
#wbcr-assets-manager .wbcr-header {
|
42 |
+
position: relative;
|
43 |
+
}
|
44 |
+
#wbcr-assets-manager .wbcr-header h2 {
|
45 |
+
font-size: 24px;
|
46 |
+
margin: 0 0 10px 0;
|
47 |
+
color: #4a545a;
|
48 |
+
font-weight: bold;
|
49 |
+
}
|
50 |
+
#wbcr-assets-manager .wbcr-header p {
|
51 |
+
font-size: 14px;
|
52 |
+
color: #a9a9a9;
|
53 |
+
margin: 0px auto 15px auto;
|
54 |
+
}
|
55 |
+
#wbcr-assets-manager .wbcr-header .wbcr-description {
|
56 |
+
padding-right: 300px;
|
57 |
+
}
|
58 |
+
#wbcr-assets-manager table {
|
59 |
+
table-layout: fixed;
|
60 |
+
width: 100%;
|
61 |
+
margin: 0px;
|
62 |
+
padding: 0px;
|
63 |
+
border: none;
|
64 |
+
text-align: left;
|
65 |
+
font-size: 14px;
|
66 |
+
border-collapse: collapse;
|
67 |
+
color: #737373;
|
68 |
+
}
|
69 |
+
#wbcr-assets-manager table thead {
|
70 |
+
background: none;
|
71 |
+
color: #9a9797;
|
72 |
+
font-weight: bold;
|
73 |
+
border: none;
|
74 |
+
}
|
75 |
+
#wbcr-assets-manager table thead tr {
|
76 |
+
border: none;
|
77 |
+
}
|
78 |
+
#wbcr-assets-manager table thead th {
|
79 |
+
padding: 10px;
|
80 |
+
vertical-align: middle;
|
81 |
+
border-bottom: 2px solid #ececec;
|
82 |
+
}
|
83 |
+
#wbcr-assets-manager table tr {
|
84 |
+
border: none;
|
85 |
+
border-bottom: 1px solid #ececec;
|
86 |
+
background: #ffffff;
|
87 |
+
}
|
88 |
+
#wbcr-assets-manager table tbody tr:last-child {
|
89 |
+
border-bottom: 0px;
|
90 |
+
}
|
91 |
+
#wbcr-assets-manager table td {
|
92 |
+
padding: 5px;
|
93 |
+
border: none;
|
94 |
+
vertical-align: middle;
|
95 |
+
font-size: 14px;
|
96 |
+
}
|
97 |
+
#wbcr-assets-manager table td.wbcr-assets-manager-size {
|
98 |
+
font-size: 12px;
|
99 |
+
}
|
100 |
+
#wbcr-assets-manager table td.wbcr-script {
|
101 |
+
white-space: nowrap;
|
102 |
+
}
|
103 |
+
#wbcr-assets-manager table .wbcr-assets-manager-disable *:after,
|
104 |
+
#wbcr-assets-manager table .wbcr-assets-manager-disable *:before {
|
105 |
+
display: none;
|
106 |
+
}
|
107 |
+
#wbcr-assets-manager table select {
|
108 |
+
height: auto;
|
109 |
+
width: auto;
|
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-assets-manager table .wbcr-assets-manager-enable-placeholder {
|
127 |
+
color: #bbbbbb;
|
128 |
+
font-style: italic;
|
129 |
+
font-size: 14px;
|
130 |
+
}
|
131 |
+
#wbcr-assets-manager table input[type='checkbox'] {
|
132 |
+
display: inline-block;
|
133 |
+
margin-right: 3px;
|
134 |
+
vertical-align: middle;
|
135 |
+
}
|
136 |
+
#wbcr-assets-manager table label {
|
137 |
+
display: inline-block;
|
138 |
+
margin: 0 10px 0 0;
|
139 |
+
width: auto;
|
140 |
+
font-weight: normal;
|
141 |
+
}
|
142 |
+
#wbcr-assets-manager .wbcr-state {
|
143 |
+
margin: 0 auto;
|
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 |
+
#wbcr-assets-manager .wbcr-state.wbcr-state-0 {
|
153 |
+
background: #dff5c4;
|
154 |
+
color: #798c64;
|
155 |
+
}
|
156 |
+
#wbcr-assets-manager .wbcr-state.wbcr-state-1 {
|
157 |
+
background: #ffb1af;
|
158 |
+
color: #a25f5f;
|
159 |
+
}
|
160 |
+
#wbcr-assets-manager .wbcr-use-by-comment {
|
161 |
+
color: #a25f5f;
|
162 |
+
}
|
163 |
+
#wbcr-assets-manager .wbcr-script span {
|
164 |
+
display: block;
|
165 |
+
max-width: 100%;
|
166 |
+
overflow: hidden;
|
167 |
+
text-overflow: ellipsis;
|
168 |
+
font-size: 16px;
|
169 |
+
font-weight: bold;
|
170 |
+
}
|
171 |
+
#wbcr-assets-manager .wbcr-script a {
|
172 |
+
display: inline-block;
|
173 |
+
max-width: 100%;
|
174 |
+
overflow: hidden;
|
175 |
+
text-overflow: ellipsis;
|
176 |
+
font-size: 12px;
|
177 |
+
color: #bbbbba;
|
178 |
+
}
|
179 |
+
#wbcr-assets-manager .wbcr-float-panel {
|
180 |
+
position: fixed;
|
181 |
+
top: 30px;
|
182 |
+
right: 35px;
|
183 |
+
background: #23282d;
|
184 |
+
padding: 15px 15px 5px;
|
185 |
+
border-radius: 0 0 5px 5px;
|
186 |
+
}
|
187 |
+
#wbcr-assets-manager .wbcr-float-panel input[type='submit'] {
|
188 |
+
display: inline-block;
|
189 |
+
width: 140px;
|
190 |
+
height: 35px;
|
191 |
+
padding: 0;
|
192 |
+
margin: 0 10px 0 0;
|
193 |
+
border-radius: 3px;
|
194 |
+
background: #FFC107;
|
195 |
+
color: #907010;
|
196 |
+
cursor: pointer;
|
197 |
+
border: none;
|
198 |
+
text-align: center;
|
199 |
+
font-size: 14px;
|
200 |
+
font-weight: 600;
|
201 |
+
vertical-align: top;
|
202 |
+
outline: none;
|
203 |
+
line-height: 2.6;
|
204 |
+
}
|
205 |
+
#wbcr-assets-manager .wbcr-float-panel input[type='submit']:after {
|
206 |
+
clear: both;
|
207 |
+
}
|
208 |
+
#wbcr-assets-manager .wbcr-float-panel input[type='submit']:hover {
|
209 |
+
background: #ffc721;
|
210 |
+
}
|
211 |
+
#wbcr-assets-manager .wbcr-float-panel .wbcr-close {
|
212 |
+
display: inline-block;
|
213 |
+
height: 35px;
|
214 |
+
width: 37px;
|
215 |
+
border-radius: 3px;
|
216 |
+
font-size: 0;
|
217 |
+
background: #9E9E9E url('../img/cancel.png') center center no-repeat;
|
218 |
+
vertical-align: top;
|
219 |
+
outline: none;
|
220 |
+
}
|
221 |
+
#wbcr-assets-manager .wbcr-float-panel .wbcr-hide-panel {
|
222 |
+
display: block;
|
223 |
+
margin-top: 5px;
|
224 |
+
font-size: 11px;
|
225 |
+
color: #929292;
|
226 |
+
text-decoration: underline;
|
227 |
+
text-align: center;
|
228 |
+
outline: none;
|
229 |
+
}
|
components/assets-manager/assets/css/index.php
ADDED
File without changes
|
components/assets-manager/assets/img/index.php
ADDED
File without changes
|
components/assets-manager/assets/js/index.php
ADDED
File without changes
|
components/assets-manager/gonzales.php
CHANGED
@@ -4,12 +4,18 @@
|
|
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 |
*/
|
11 |
|
12 |
-
|
|
|
|
|
|
|
|
|
|
|
13 |
function wbcr_gnz_admin_notice_error()
|
14 |
{
|
15 |
?>
|
@@ -24,63 +30,31 @@
|
|
24 |
return;
|
25 |
} else {
|
26 |
|
27 |
-
define('
|
28 |
|
29 |
-
define('
|
30 |
-
define('
|
31 |
-
define('
|
32 |
|
33 |
|
34 |
|
35 |
if( !defined('LOADING_GONZALES_AS_ADDON') ) {
|
36 |
-
require_once(
|
37 |
}
|
38 |
|
39 |
-
|
40 |
-
{
|
41 |
-
global $wbcr_gonzales_plugin;
|
42 |
-
|
43 |
-
// Localization plugin
|
44 |
-
load_plugin_textdomain('gonzales', false, dirname(WBCR_GNZ_PLUGIN_BASE) . '/languages/');
|
45 |
-
|
46 |
-
if( defined('LOADING_GONZALES_AS_ADDON') ) {
|
47 |
-
//return;
|
48 |
-
global $wbcr_clearfy_plugin;
|
49 |
-
$wbcr_gonzales_plugin = $wbcr_clearfy_plugin;
|
50 |
-
} else {
|
51 |
-
|
52 |
-
$wbcr_gonzales_plugin = new Factory326_Plugin(__FILE__, array(
|
53 |
-
'name' => 'wbcr_gonzales',
|
54 |
-
'title' => __('Webcraftic assets manager', 'gonzales'),
|
55 |
-
'version' => '1.0.1',
|
56 |
-
'host' => 'wordpress.org',
|
57 |
-
'url' => 'https://wordpress.org/plugins/gonzales/',
|
58 |
-
'assembly' => 'free',
|
59 |
-
'updates' => WBCR_GNZ_PLUGIN_DIR . '/updates/'
|
60 |
-
));
|
61 |
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
require(WBCR_GNZ_PLUGIN_DIR . '/admin/boot.php');
|
74 |
-
}
|
75 |
-
|
76 |
-
require(WBCR_GNZ_PLUGIN_DIR . '/includes/class.configurate-assets.php');
|
77 |
-
new WbcrGnz_ConfigAssetsManager($wbcr_gonzales_plugin);
|
78 |
-
}
|
79 |
-
|
80 |
-
if( defined('LOADING_GONZALES_AS_ADDON') ) {
|
81 |
-
wbcr_gnz_plugin_init();
|
82 |
-
} else {
|
83 |
-
add_action('plugins_loaded', 'wbcr_gnz_plugin_init');
|
84 |
}
|
85 |
}
|
86 |
|
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.3
|
8 |
* Text Domain: gonzales
|
9 |
* Domain Path: /languages/
|
10 |
+
* Author URI: http://webcraftic.com
|
11 |
*/
|
12 |
|
13 |
+
// Exit if accessed directly
|
14 |
+
if( !defined('ABSPATH') ) {
|
15 |
+
exit;
|
16 |
+
}
|
17 |
+
|
18 |
+
if( defined('WGZ_PLUGIN_ACTIVE') || (defined('WCL_PLUGIN_ACTIVE') && !defined('LOADING_GONZALES_AS_ADDON')) ) {
|
19 |
function wbcr_gnz_admin_notice_error()
|
20 |
{
|
21 |
?>
|
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.3',
|
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 |
|
components/assets-manager/includes/class.configurate-assets.php
CHANGED
@@ -6,7 +6,13 @@
|
|
6 |
* @copyright (c) 05.11.2017, Webcraftic
|
7 |
* @version 1.0
|
8 |
*/
|
9 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
|
11 |
/**
|
12 |
* Stores list of all available assets (used in rendering panel)
|
@@ -14,6 +20,15 @@
|
|
14 |
* @var array
|
15 |
*/
|
16 |
private $collection = array();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
|
18 |
|
19 |
/**
|
@@ -25,9 +40,9 @@
|
|
25 |
return;
|
26 |
}
|
27 |
|
28 |
-
$on_frontend =
|
29 |
-
$on_backend =
|
30 |
-
$is_panel =
|
31 |
|
32 |
if( (!is_admin() && !$on_frontend) || (is_admin() && !$on_backend) ) {
|
33 |
add_filter('script_loader_src', array($this, 'unloadAssets'), 10, 2);
|
@@ -66,7 +81,10 @@
|
|
66 |
add_action('admin_init', array($this, 'formSave'));
|
67 |
}
|
68 |
}
|
69 |
-
|
|
|
|
|
|
|
70 |
function assetsManagerAdminBar($wp_admin_bar)
|
71 |
{
|
72 |
if( !current_user_can('manage_options') ) {
|
@@ -85,13 +103,12 @@
|
|
85 |
|
86 |
function assetsManager()
|
87 |
{
|
88 |
-
global $wbcr_gonzales_plugin;
|
89 |
if( !current_user_can('manage_options') || !isset($_GET['wbcr_assets_manager']) ) {
|
90 |
return;
|
91 |
}
|
92 |
|
93 |
$current_url = esc_url($this->getCurrentUrl());
|
94 |
-
$options = $this->getOption('
|
95 |
|
96 |
echo "<div id='wbcr-assets-manager-wrapper' ";
|
97 |
if( isset($_GET['wbcr_assets_manager']) ) {
|
@@ -121,7 +138,7 @@
|
|
121 |
$setting_page_url = !defined('LOADING_GONZALES_AS_ADDON')
|
122 |
? 'options-general.php'
|
123 |
: 'admin.php';
|
124 |
-
$setting_page_url .= '?page=gonzales-' . $
|
125 |
echo "<a href='" . admin_url($setting_page_url) . "' class='wbcr-hide-panel'>" . __('Hide panel in adminbar?', 'gonzales') . "</a>";
|
126 |
echo "</div>";
|
127 |
|
@@ -286,15 +303,13 @@
|
|
286 |
|
287 |
public function formSave()
|
288 |
{
|
289 |
-
global $wbcr_gonzales_plugin;
|
290 |
-
|
291 |
if( isset($_GET['wbcr_assets_manager']) && isset($_POST['wbcr_assets_manager_save']) ) {
|
292 |
|
293 |
if( !current_user_can('manage_options') || !wp_verify_nonce(filter_input(INPUT_POST, 'wbcr_assets_manager_save'), 'wbcr_assets_manager_nonce') ) {
|
294 |
return false;
|
295 |
}
|
296 |
|
297 |
-
$options = $this->getOption('
|
298 |
$current_url = esc_url($this->getCurrentUrl());
|
299 |
|
300 |
if( isset($_POST['disabled']) && !empty($_POST['disabled']) ) {
|
@@ -413,9 +428,9 @@
|
|
413 |
}
|
414 |
}
|
415 |
}
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
// todo: test cache control
|
420 |
if( function_exists('w3tc_pgcache_flush') ) {
|
421 |
w3tc_pgcache_flush();
|
@@ -435,7 +450,7 @@
|
|
435 |
? 'js'
|
436 |
: 'css';
|
437 |
|
438 |
-
$options = $this->getOption('
|
439 |
$current_url = esc_url($this->getCurrentUrl());
|
440 |
|
441 |
$disabled = null;
|
@@ -532,11 +547,9 @@
|
|
532 |
*/
|
533 |
public function appendAsset()
|
534 |
{
|
535 |
-
global $wbcr_gonzales_plugin;
|
536 |
-
|
537 |
if( current_user_can('manage_options') && isset($_GET['wbcr_assets_manager']) ) {
|
538 |
-
wp_enqueue_style('wbcr-assets-manager',
|
539 |
-
wp_enqueue_script('wbcr-assets-manager',
|
540 |
}
|
541 |
}
|
542 |
|
6 |
* @copyright (c) 05.11.2017, Webcraftic
|
7 |
* @version 1.0
|
8 |
*/
|
9 |
+
|
10 |
+
// Exit if accessed directly
|
11 |
+
if( !defined('ABSPATH') ) {
|
12 |
+
exit;
|
13 |
+
}
|
14 |
+
|
15 |
+
class WbcrGnz_ConfigAssetsManager extends Wbcr_FactoryClearfy200_Configurate {
|
16 |
|
17 |
/**
|
18 |
* Stores list of all available assets (used in rendering panel)
|
20 |
* @var array
|
21 |
*/
|
22 |
private $collection = array();
|
23 |
+
|
24 |
+
/**
|
25 |
+
* @param Wbcr_Factory400_Plugin $plugin
|
26 |
+
*/
|
27 |
+
public function __construct(Wbcr_Factory400_Plugin $plugin)
|
28 |
+
{
|
29 |
+
parent::__construct($plugin);
|
30 |
+
$this->plugin = $plugin;
|
31 |
+
}
|
32 |
|
33 |
|
34 |
/**
|
40 |
return;
|
41 |
}
|
42 |
|
43 |
+
$on_frontend = $this->getOption('disable_assets_manager_on_front');
|
44 |
+
$on_backend = $this->getOption('disable_assets_manager_on_backend', true);
|
45 |
+
$is_panel = $this->getOption('disable_assets_manager_panel');
|
46 |
|
47 |
if( (!is_admin() && !$on_frontend) || (is_admin() && !$on_backend) ) {
|
48 |
add_filter('script_loader_src', array($this, 'unloadAssets'), 10, 2);
|
81 |
add_action('admin_init', array($this, 'formSave'));
|
82 |
}
|
83 |
}
|
84 |
+
|
85 |
+
/**
|
86 |
+
* @param WP_Admin_Bar $wp_admin_bar
|
87 |
+
*/
|
88 |
function assetsManagerAdminBar($wp_admin_bar)
|
89 |
{
|
90 |
if( !current_user_can('manage_options') ) {
|
103 |
|
104 |
function assetsManager()
|
105 |
{
|
|
|
106 |
if( !current_user_can('manage_options') || !isset($_GET['wbcr_assets_manager']) ) {
|
107 |
return;
|
108 |
}
|
109 |
|
110 |
$current_url = esc_url($this->getCurrentUrl());
|
111 |
+
$options = $this->getOption('assets_manager_options', array());
|
112 |
|
113 |
echo "<div id='wbcr-assets-manager-wrapper' ";
|
114 |
if( isset($_GET['wbcr_assets_manager']) ) {
|
138 |
$setting_page_url = !defined('LOADING_GONZALES_AS_ADDON')
|
139 |
? 'options-general.php'
|
140 |
: 'admin.php';
|
141 |
+
$setting_page_url .= '?page=gonzales-' . $this->plugin->getPluginName();
|
142 |
echo "<a href='" . admin_url($setting_page_url) . "' class='wbcr-hide-panel'>" . __('Hide panel in adminbar?', 'gonzales') . "</a>";
|
143 |
echo "</div>";
|
144 |
|
303 |
|
304 |
public function formSave()
|
305 |
{
|
|
|
|
|
306 |
if( isset($_GET['wbcr_assets_manager']) && isset($_POST['wbcr_assets_manager_save']) ) {
|
307 |
|
308 |
if( !current_user_can('manage_options') || !wp_verify_nonce(filter_input(INPUT_POST, 'wbcr_assets_manager_save'), 'wbcr_assets_manager_nonce') ) {
|
309 |
return false;
|
310 |
}
|
311 |
|
312 |
+
$options = $this->getOption('assets_manager_options', array());
|
313 |
$current_url = esc_url($this->getCurrentUrl());
|
314 |
|
315 |
if( isset($_POST['disabled']) && !empty($_POST['disabled']) ) {
|
428 |
}
|
429 |
}
|
430 |
}
|
431 |
+
|
432 |
+
$this->updateOption('assets_manager_options', $options);
|
433 |
+
|
434 |
// todo: test cache control
|
435 |
if( function_exists('w3tc_pgcache_flush') ) {
|
436 |
w3tc_pgcache_flush();
|
450 |
? 'js'
|
451 |
: 'css';
|
452 |
|
453 |
+
$options = $this->getOption('assets_manager_options', array());
|
454 |
$current_url = esc_url($this->getCurrentUrl());
|
455 |
|
456 |
$disabled = null;
|
547 |
*/
|
548 |
public function appendAsset()
|
549 |
{
|
|
|
|
|
550 |
if( current_user_can('manage_options') && isset($_GET['wbcr_assets_manager']) ) {
|
551 |
+
wp_enqueue_style('wbcr-assets-manager', WGZ_PLUGIN_URL . '/assets/css/assets-manager.css', array(), $this->plugin->getPluginVersion());
|
552 |
+
wp_enqueue_script('wbcr-assets-manager', WGZ_PLUGIN_URL . '/assets/js/assets-manager.js', array(), $this->plugin->getPluginVersion(), true);
|
553 |
}
|
554 |
}
|
555 |
|
components/assets-manager/includes/class.plugin.php
ADDED
@@ -0,0 +1,130 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Hide my wp core class
|
4 |
+
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
5 |
+
* @copyright (c) 19.02.2018, Webcraftic
|
6 |
+
* @version 1.0
|
7 |
+
*/
|
8 |
+
|
9 |
+
// Exit if accessed directly
|
10 |
+
if( !defined('ABSPATH') ) {
|
11 |
+
exit;
|
12 |
+
}
|
13 |
+
|
14 |
+
if( !class_exists('WGZ_Plugin') ) {
|
15 |
+
|
16 |
+
if( !class_exists('WGZ_PluginFactory') ) {
|
17 |
+
if( defined('LOADING_GONZALES_AS_ADDON') ) {
|
18 |
+
class WGZ_PluginFactory {
|
19 |
+
|
20 |
+
}
|
21 |
+
} else {
|
22 |
+
class WGZ_PluginFactory extends Wbcr_Factory400_Plugin {
|
23 |
+
|
24 |
+
}
|
25 |
+
}
|
26 |
+
}
|
27 |
+
|
28 |
+
class WGZ_Plugin extends WGZ_PluginFactory {
|
29 |
+
|
30 |
+
/**
|
31 |
+
* @var Wbcr_Factory400_Plugin
|
32 |
+
*/
|
33 |
+
private static $app;
|
34 |
+
|
35 |
+
/**
|
36 |
+
* @var bool
|
37 |
+
*/
|
38 |
+
private $as_addon;
|
39 |
+
|
40 |
+
/**
|
41 |
+
* @param string $plugin_path
|
42 |
+
* @param array $data
|
43 |
+
* @throws Exception
|
44 |
+
*/
|
45 |
+
public function __construct($plugin_path, $data)
|
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 Wbcr_Factory400_Plugin) ) {
|
55 |
+
throw new Exception('An invalid instance of the class was passed.');
|
56 |
+
}
|
57 |
+
|
58 |
+
self::$app = $plugin_parent;
|
59 |
+
} else {
|
60 |
+
self::$app = $this;
|
61 |
+
}
|
62 |
+
|
63 |
+
if( !$this->as_addon ) {
|
64 |
+
parent::__construct($plugin_path, $data);
|
65 |
+
}
|
66 |
+
|
67 |
+
$this->setTextDomain();
|
68 |
+
$this->setModules();
|
69 |
+
|
70 |
+
$this->globalScripts();
|
71 |
+
|
72 |
+
if( is_admin() ) {
|
73 |
+
$this->adminScripts();
|
74 |
+
}
|
75 |
+
//add_action('plugins_loaded', array($this, 'pluginsLoaded'));
|
76 |
+
}
|
77 |
+
|
78 |
+
/**
|
79 |
+
* @return Wbcr_Factory400_Plugin
|
80 |
+
*/
|
81 |
+
public static function app()
|
82 |
+
{
|
83 |
+
return self::$app;
|
84 |
+
}
|
85 |
+
|
86 |
+
protected function setTextDomain()
|
87 |
+
{
|
88 |
+
// Localization plugin
|
89 |
+
load_plugin_textdomain('gonzales', false, dirname(WGZ_PLUGIN_BASE) . '/languages/');
|
90 |
+
}
|
91 |
+
|
92 |
+
protected function setModules()
|
93 |
+
{
|
94 |
+
if( !$this->as_addon ) {
|
95 |
+
self::app()->load(array(
|
96 |
+
array('libs/factory/bootstrap', 'factory_bootstrap_400', 'admin'),
|
97 |
+
array('libs/factory/forms', 'factory_forms_400', 'admin'),
|
98 |
+
array('libs/factory/pages', 'factory_pages_401', 'admin'),
|
99 |
+
array('libs/factory/clearfy', 'factory_clearfy_200', 'all')
|
100 |
+
));
|
101 |
+
}
|
102 |
+
}
|
103 |
+
|
104 |
+
private function registerPages()
|
105 |
+
{
|
106 |
+
$admin_path = WGZ_PLUGIN_DIR . '/admin/pages';
|
107 |
+
self::app()->registerPage('WbcrGnz_AssetsManagerPage', $admin_path . '/assets-manager.php');
|
108 |
+
|
109 |
+
if( !$this->as_addon ) {
|
110 |
+
self::app()->registerPage('WbcrGnz_MoreFeaturesPage', $admin_path . '/more-features.php');
|
111 |
+
}
|
112 |
+
}
|
113 |
+
|
114 |
+
private function adminScripts()
|
115 |
+
{
|
116 |
+
require(WGZ_PLUGIN_DIR . '/admin/boot.php');
|
117 |
+
$this->registerPages();
|
118 |
+
}
|
119 |
+
|
120 |
+
private function globalScripts()
|
121 |
+
{
|
122 |
+
require(WGZ_PLUGIN_DIR . '/includes/class.configurate-assets.php');
|
123 |
+
new WbcrGnz_ConfigAssetsManager(self::$app);
|
124 |
+
}
|
125 |
+
/*public function pluginsLoaded()
|
126 |
+
{
|
127 |
+
|
128 |
+
}*/
|
129 |
+
}
|
130 |
+
}
|
components/assets-manager/includes/index.php
ADDED
File without changes
|
components/assets-manager/index.php
ADDED
File without changes
|
components/assets-manager/languages/gonzales-fr_FR.mo
DELETED
Binary file
|
components/assets-manager/languages/gonzales-fr_FR.po
DELETED
@@ -1,171 +0,0 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: clearfy\n"
|
4 |
-
"POT-Creation-Date: 2017-11-16 09:39+0300\n"
|
5 |
-
"PO-Revision-Date: 2017-11-17 13:22+0100\n"
|
6 |
-
"Last-Translator: Robert <soutien@bestgoodeal.eu>\n"
|
7 |
-
"Language-Team: Russian\n"
|
8 |
-
"Language: fr_FR\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.0.4\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 |
-
"Report-Msgid-Bugs-To: \n"
|
19 |
-
"X-Poedit-SearchPath-0: .\n"
|
20 |
-
"X-Poedit-SearchPathExcluded-0: libs\n"
|
21 |
-
|
22 |
-
#: admin/pages/assets-manager.php:50
|
23 |
-
msgid "Comments"
|
24 |
-
msgstr "Commentaires"
|
25 |
-
|
26 |
-
#: gonzales.php:82
|
27 |
-
msgid "Webcraftic assets cleanup"
|
28 |
-
msgstr "Nettoyage des actifs webcraftic"
|
29 |
-
|
30 |
-
#: admin/pages/assets-manager.php:33
|
31 |
-
msgid "Webcraftic Assets manager"
|
32 |
-
msgstr "Gestionnaire d'actifs webcraftic"
|
33 |
-
|
34 |
-
#: admin/pages/assets-manager.php:51
|
35 |
-
msgid "General"
|
36 |
-
msgstr "Général"
|
37 |
-
|
38 |
-
#: admin/pages/assets-manager.php:116
|
39 |
-
msgid "Disable assets manager"
|
40 |
-
msgstr "Désactiver le gestionnaire d'actifs"
|
41 |
-
|
42 |
-
#: admin/pages/assets-manager.php:118
|
43 |
-
msgid "Full disable of the module."
|
44 |
-
msgstr "Désactivation complète du module."
|
45 |
-
|
46 |
-
#: admin/pages/assets-manager.php:140
|
47 |
-
msgid "Disable assets manager panel"
|
48 |
-
msgstr "Désactiver le panneau gestion des actifs"
|
49 |
-
|
50 |
-
#: admin/pages/assets-manager.php:142
|
51 |
-
msgid ""
|
52 |
-
"By default in your admin bar there is a button for control the assets "
|
53 |
-
"scripts and styles. With this option, you can turn off the script manager on "
|
54 |
-
"front and back-end."
|
55 |
-
msgstr ""
|
56 |
-
"Par défaut dans votre barre d'administration il y a un bouton pour contrôler "
|
57 |
-
"les scripts et les styles des actifs. Avec cette option, vous pouvez "
|
58 |
-
"désactiver le gestionnaire de scripts à l'avant et back-end."
|
59 |
-
|
60 |
-
#: admin/pages/assets-manager.php:156
|
61 |
-
msgid "Disable assets manager on front"
|
62 |
-
msgstr "Désactiver le gestionnaire d'actifs à l'avant"
|
63 |
-
|
64 |
-
#: admin/pages/assets-manager.php:158
|
65 |
-
msgid "Disables assets manager initialization for frontend."
|
66 |
-
msgstr "Initialisation du gestionnaire d'actifs désactivés pour le frontend."
|
67 |
-
|
68 |
-
#: admin/pages/assets-manager.php:165
|
69 |
-
msgid "Disable assets manager on back-end"
|
70 |
-
msgstr "Désactiver le gestionnaire d'actifs sur back-end"
|
71 |
-
|
72 |
-
#: admin/pages/assets-manager.php:167
|
73 |
-
msgid "Disables assets manager initialization for backend."
|
74 |
-
msgstr "Initialisation du gestionnaire d'actifs désactivés pour backend."
|
75 |
-
|
76 |
-
#: gonzales.php:17
|
77 |
-
msgid ""
|
78 |
-
"We found that you use the plugin \"Clearfy - disable unused functions\", "
|
79 |
-
"this plugin already has the same functions as \"WP Asset CleanUp\", so you "
|
80 |
-
"can disable the \"WP Asset CleanUp\" plugin!"
|
81 |
-
msgstr ""
|
82 |
-
"Nous avons constaté que vous utilisez le plugin \"Clearfy-désactiver les "
|
83 |
-
"fonctions inutilisées\", ce plugin a déjà les mêmes fonctions que \"WP Asset "
|
84 |
-
"Cleanup\", de sorte que vous pouvez désactiver le \"WP Asset Cleanup\" "
|
85 |
-
"plugin!"
|
86 |
-
|
87 |
-
#: plugin/includes/class.configurate-assets.php:80
|
88 |
-
msgid "Script Manager"
|
89 |
-
msgstr "Gestionnaire de scripts"
|
90 |
-
|
91 |
-
#: plugin/includes/class.configurate-assets.php:106
|
92 |
-
msgid "Assets manager"
|
93 |
-
msgstr "Gestionnaire d'actifs"
|
94 |
-
|
95 |
-
#: plugin/includes/class.configurate-assets.php:108
|
96 |
-
msgid ""
|
97 |
-
"Below you can disable/enable CSS and JS files on a per page/post basis, as "
|
98 |
-
"well as by custom post types. We recommend testing this locally or on a "
|
99 |
-
"staging site first, as you could break the appearance of your live site. If "
|
100 |
-
"you aren't sure about a certain script, you can try clicking on it, as a lot "
|
101 |
-
"of authors will mention their plugin or theme in the header of the source "
|
102 |
-
"code."
|
103 |
-
msgstr ""
|
104 |
-
"Ci-dessous vous pouvez désactiver/activer les fichiers CSS et JS sur une "
|
105 |
-
"base par page/post, ainsi que par les types de postes personnalisés. Nous "
|
106 |
-
"vous recommandons de tester cela localement ou sur un site de mise en scène "
|
107 |
-
"d'abord, comme vous pourriez rompre l'apparence de votre site en direct. Si "
|
108 |
-
"vous n'êtes pas sûr d'un certain script, vous pouvez essayer de cliquer "
|
109 |
-
"dessus, comme beaucoup d'auteurs mentionneront leur plugin ou thème dans "
|
110 |
-
"l'en-tête du code source."
|
111 |
-
|
112 |
-
#: plugin/includes/class.configurate-assets.php:109
|
113 |
-
msgid ""
|
114 |
-
"If for some reason you run into trouble, you can always enable everything "
|
115 |
-
"again to reset the settings."
|
116 |
-
msgstr ""
|
117 |
-
"Si pour une raison quelconque vous avez des problèmes, vous pouvez toujours "
|
118 |
-
"activer tout à nouveau pour réinitialiser les paramètres."
|
119 |
-
|
120 |
-
#: plugin/includes/class.configurate-assets.php:118
|
121 |
-
msgid "Save settings"
|
122 |
-
msgstr "Enregistrer les paramètres"
|
123 |
-
|
124 |
-
#: plugin/includes/class.configurate-assets.php:124
|
125 |
-
msgid "Hide panel in adminbar?"
|
126 |
-
msgstr "Masquer le panneau dans la barre d'administration?"
|
127 |
-
|
128 |
-
#: plugin/includes/class.configurate-assets.php:135
|
129 |
-
msgid "State"
|
130 |
-
msgstr "État"
|
131 |
-
|
132 |
-
#: plugin/includes/class.configurate-assets.php:136
|
133 |
-
msgid "Size"
|
134 |
-
msgstr "Taille"
|
135 |
-
|
136 |
-
#: plugin/includes/class.configurate-assets.php:137
|
137 |
-
msgid "Script"
|
138 |
-
msgstr "Script"
|
139 |
-
|
140 |
-
#: plugin/includes/class.configurate-assets.php:138
|
141 |
-
msgid "In use"
|
142 |
-
msgstr "En cours d'utilisation"
|
143 |
-
|
144 |
-
#: plugin/includes/class.configurate-assets.php:139
|
145 |
-
msgid "Disable"
|
146 |
-
msgstr "Désactivé"
|
147 |
-
|
148 |
-
#: plugin/includes/class.configurate-assets.php:140
|
149 |
-
msgid "Enable"
|
150 |
-
msgstr "Activez"
|
151 |
-
|
152 |
-
#: plugin/includes/class.configurate-assets.php:187
|
153 |
-
msgid "In use by"
|
154 |
-
msgstr "Utilisé par"
|
155 |
-
|
156 |
-
#: plugin/includes/class.configurate-assets.php:214
|
157 |
-
msgid "Enabled"
|
158 |
-
msgstr "Activée"
|
159 |
-
|
160 |
-
#: plugin/includes/class.configurate-assets.php:219
|
161 |
-
msgid "Everywhere"
|
162 |
-
msgstr "Partout"
|
163 |
-
|
164 |
-
#: plugin/includes/class.configurate-assets.php:226
|
165 |
-
#: plugin/includes/class.configurate-assets.php:249
|
166 |
-
msgid "Current URL"
|
167 |
-
msgstr "URL actuelle"
|
168 |
-
|
169 |
-
#: plugin/includes/class.configurate-assets.php:235
|
170 |
-
msgid "Disable everwhere to view enable settings."
|
171 |
-
msgstr "Désactivez partout pour afficher les paramètres d'activation."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
components/assets-manager/languages/gonzales-ru_RU.mo
CHANGED
Binary file
|
components/assets-manager/languages/gonzales-ru_RU.po
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: clearfy\n"
|
4 |
-
"POT-Creation-Date:
|
5 |
-
"PO-Revision-Date:
|
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"
|
@@ -18,32 +18,66 @@ msgstr ""
|
|
18 |
"X-Poedit-SearchPath-0: .\n"
|
19 |
"X-Poedit-SearchPathExcluded-0: libs\n"
|
20 |
|
21 |
-
#: admin/
|
22 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
msgid "Assets manager"
|
24 |
msgstr "Менеджер скриптов"
|
25 |
|
26 |
-
#: admin/pages/assets-manager.php:
|
27 |
-
msgid "Comments"
|
28 |
-
msgstr ""
|
29 |
-
|
30 |
-
#: admin/pages/assets-manager.php:50
|
31 |
msgid "General"
|
32 |
msgstr "Основные"
|
33 |
|
34 |
-
#: admin/pages/assets-manager.php:
|
35 |
-
msgid "Disable
|
36 |
-
msgstr "
|
37 |
|
38 |
-
#: admin/pages/assets-manager.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
39 |
msgid "Full disable of the module."
|
40 |
msgstr "Полностью отключает работу модуля."
|
41 |
|
42 |
-
#: admin/pages/assets-manager.php:
|
43 |
-
msgid "Disable assets manager panel"
|
44 |
-
msgstr "Скрыть панель в админбаре"
|
45 |
-
|
46 |
-
#: admin/pages/assets-manager.php:141
|
47 |
msgid ""
|
48 |
"By default in your admin bar there is a button for control the assets "
|
49 |
"scripts and styles. With this option, you can turn off the script manager on "
|
@@ -53,41 +87,33 @@ msgstr ""
|
|
53 |
"скриптами и стилями. Используя эту настроку вы можете скрыть эту панель из "
|
54 |
"админбара, чтобы она не занимала место."
|
55 |
|
56 |
-
#: admin/pages/assets-manager.php:
|
57 |
-
msgid "Disable assets manager on front"
|
58 |
-
msgstr "Отключить менеджер скриптов на внешней стороне сайта"
|
59 |
-
|
60 |
-
#: admin/pages/assets-manager.php:157
|
61 |
msgid "Disables assets manager initialization for frontend."
|
62 |
msgstr "Отключает инициализацию менеджера лицензий на внешней стороне сайта."
|
63 |
|
64 |
-
#: admin/pages/assets-manager.php:
|
65 |
-
msgid "Disable assets manager on back-end"
|
66 |
-
msgstr "Отключить менеджер скриптов в админпанели"
|
67 |
-
|
68 |
-
#: admin/pages/assets-manager.php:166
|
69 |
msgid "Disables assets manager initialization for backend."
|
70 |
msgstr "Отключает инициализацию менеджера лицензий в админпанели сайта."
|
71 |
|
72 |
-
#: gonzales.php:
|
73 |
msgid ""
|
74 |
"We found that you use the plugin \"Clearfy - disable unused functions\", "
|
75 |
-
"this plugin already has the same functions as \"
|
76 |
-
"
|
77 |
msgstr ""
|
78 |
"Мы обнаружили, что вы используете плагин \"Clearfy - disable unused features"
|
79 |
"\", этот плагин включает функционал \"WP Asset CleanUp\", вы можете "
|
80 |
-
"деактивировать плагин \"
|
81 |
|
82 |
-
#: gonzales.php:
|
83 |
msgid "Webcraftic assets manager"
|
84 |
msgstr "Webcraftic менеджер скриптов"
|
85 |
|
86 |
-
#:
|
87 |
msgid "Script Manager"
|
88 |
msgstr "Менеджер скриптов"
|
89 |
|
90 |
-
#:
|
91 |
msgid ""
|
92 |
"Below you can disable/enable CSS and JS files on a per page/post basis, as "
|
93 |
"well as by custom post types. We recommend testing this locally or on a "
|
@@ -107,7 +133,7 @@ msgstr ""
|
|
107 |
"функциях плагина, вы сможете более уверенно включать или отключать его стили "
|
108 |
"и скрипты."
|
109 |
|
110 |
-
#:
|
111 |
msgid ""
|
112 |
"If for some reason you run into trouble, you can always enable everything "
|
113 |
"again to reset the settings."
|
@@ -115,60 +141,69 @@ msgstr ""
|
|
115 |
"Если по какой-то причине вы столкнулись с проблемами, вы всегда можете "
|
116 |
"включить все опции, чтобы сбросить настройки."
|
117 |
|
118 |
-
#:
|
119 |
msgid "Save settings"
|
120 |
msgstr "Сохранить"
|
121 |
|
122 |
-
#:
|
123 |
msgid "Hide panel in adminbar?"
|
124 |
msgstr "Скрыть панель из админбара?"
|
125 |
|
126 |
-
#:
|
127 |
msgid "State"
|
128 |
msgstr "Состояние"
|
129 |
|
130 |
-
#:
|
131 |
msgid "Size"
|
132 |
msgstr "Размер"
|
133 |
|
134 |
-
#:
|
135 |
msgid "Script"
|
136 |
msgstr "Скрипт"
|
137 |
|
138 |
-
#:
|
139 |
msgid "In use"
|
140 |
msgstr "Используется"
|
141 |
|
142 |
-
#:
|
143 |
msgid "Disable"
|
144 |
msgstr "Отключить"
|
145 |
|
146 |
-
#:
|
147 |
msgid "Enable"
|
148 |
msgstr "Включить"
|
149 |
|
150 |
-
#:
|
151 |
msgid "In use by"
|
152 |
msgstr "Используется "
|
153 |
|
154 |
-
#:
|
155 |
msgid "Enabled"
|
156 |
msgstr "Включить"
|
157 |
|
158 |
-
#:
|
159 |
msgid "Everywhere"
|
160 |
msgstr "Повсюду"
|
161 |
|
162 |
-
#:
|
163 |
-
#:
|
164 |
msgid "Current URL"
|
165 |
msgstr "Текущий URL"
|
166 |
|
167 |
-
#:
|
168 |
msgid "Disable everwhere to view enable settings."
|
169 |
msgstr ""
|
170 |
"Нужно включить опцию \"повсюду\", чтобы увидеть дополнительные настройки."
|
171 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
172 |
#~ msgid "Webcraftic Assets manager"
|
173 |
#~ msgstr "Webcraftic менеджер скриптов"
|
174 |
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: clearfy\n"
|
4 |
+
"POT-Creation-Date: 2018-03-14 17:11+0300\n"
|
5 |
+
"PO-Revision-Date: 2018-03-14 17:13+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"
|
18 |
"X-Poedit-SearchPath-0: .\n"
|
19 |
"X-Poedit-SearchPathExcluded-0: libs\n"
|
20 |
|
21 |
+
#: admin/boot.php:23
|
22 |
+
msgid "Get ultimate plugin free"
|
23 |
+
msgstr "Получите полную версию плагина бесплатно"
|
24 |
+
|
25 |
+
#: admin/boot.php:48 admin/pages/assets-manager.php:83
|
26 |
+
msgid "Disable assets manager"
|
27 |
+
msgstr "Отключить менеджер скриптов"
|
28 |
+
|
29 |
+
#: admin/boot.php:55 admin/pages/assets-manager.php:107
|
30 |
+
msgid "Disable assets manager panel"
|
31 |
+
msgstr "Скрыть панель в админбаре"
|
32 |
+
|
33 |
+
#: admin/boot.php:61 admin/pages/assets-manager.php:116
|
34 |
+
msgid "Disable assets manager on front"
|
35 |
+
msgstr "Отключить менеджер скриптов на внешней стороне сайта"
|
36 |
+
|
37 |
+
#: admin/boot.php:67 admin/pages/assets-manager.php:125
|
38 |
+
msgid "Disable assets manager on back-end"
|
39 |
+
msgstr "Отключить менеджер скриптов в админпанели"
|
40 |
+
|
41 |
+
#: admin/boot.php:73
|
42 |
+
msgid "Assets manager options"
|
43 |
+
msgstr "Настройки менеджера скриптов"
|
44 |
+
|
45 |
+
#: admin/pages/assets-manager.php:42 admin/pages/assets-manager.php:61
|
46 |
+
#: includes/class.configurate-assets.php:123
|
47 |
msgid "Assets manager"
|
48 |
msgstr "Менеджер скриптов"
|
49 |
|
50 |
+
#: admin/pages/assets-manager.php:62
|
|
|
|
|
|
|
|
|
51 |
msgid "General"
|
52 |
msgstr "Основные"
|
53 |
|
54 |
+
#: admin/pages/assets-manager.php:76
|
55 |
+
msgid "Disable unused scripts, styles, and fonts"
|
56 |
+
msgstr "Отключите неиспользуемые скрипты, стили и шрифты"
|
57 |
|
58 |
+
#: admin/pages/assets-manager.php:76
|
59 |
+
msgid ""
|
60 |
+
"There is a button in the adminbar called \"Script Manager\". If you click on "
|
61 |
+
"it you will see a list of loaded scripts, styles and fonts on the current "
|
62 |
+
"page of your site. If you think that one of the assets is superfluous on "
|
63 |
+
"this page, you can disable it individually, so that it does not create "
|
64 |
+
"unnecessary queries when page loading. Use the script manager very carefull "
|
65 |
+
"to non-corrupt your website. We recommend to test this function at a local "
|
66 |
+
"server."
|
67 |
+
msgstr ""
|
68 |
+
"В админбаре есть кнопка под названием “Менеджер скриптов”, если на нее "
|
69 |
+
"нажать вы увидите список загружаемых скриптов, стилей и шрифтов на текущей "
|
70 |
+
"странице вашего сайта. Если вы считаете, что какой-то из ресурсов лишний на "
|
71 |
+
"этой странице, вы можете индивидуально его отключить, чтобы он не создавал "
|
72 |
+
"лишних запросов при загрузке. Используйте менеджер скриптов аккуратно, чтобы "
|
73 |
+
"не нарушить работу вашего сайта. Мы рекомендуем вам использовать локальный "
|
74 |
+
"сервер для тестирования этой функции."
|
75 |
+
|
76 |
+
#: admin/pages/assets-manager.php:85
|
77 |
msgid "Full disable of the module."
|
78 |
msgstr "Полностью отключает работу модуля."
|
79 |
|
80 |
+
#: admin/pages/assets-manager.php:109
|
|
|
|
|
|
|
|
|
81 |
msgid ""
|
82 |
"By default in your admin bar there is a button for control the assets "
|
83 |
"scripts and styles. With this option, you can turn off the script manager on "
|
87 |
"скриптами и стилями. Используя эту настроку вы можете скрыть эту панель из "
|
88 |
"админбара, чтобы она не занимала место."
|
89 |
|
90 |
+
#: admin/pages/assets-manager.php:118
|
|
|
|
|
|
|
|
|
91 |
msgid "Disables assets manager initialization for frontend."
|
92 |
msgstr "Отключает инициализацию менеджера лицензий на внешней стороне сайта."
|
93 |
|
94 |
+
#: admin/pages/assets-manager.php:127
|
|
|
|
|
|
|
|
|
95 |
msgid "Disables assets manager initialization for backend."
|
96 |
msgstr "Отключает инициализацию менеджера лицензий в админпанели сайта."
|
97 |
|
98 |
+
#: gonzales.php:22
|
99 |
msgid ""
|
100 |
"We found that you use the plugin \"Clearfy - disable unused functions\", "
|
101 |
+
"this plugin already has the same functions as \"Assets manager\", so you can "
|
102 |
+
"disable the \"Assets manager\" plugin!"
|
103 |
msgstr ""
|
104 |
"Мы обнаружили, что вы используете плагин \"Clearfy - disable unused features"
|
105 |
"\", этот плагин включает функционал \"WP Asset CleanUp\", вы можете "
|
106 |
+
"деактивировать плагин \"Менеджер скриптов\"!"
|
107 |
|
108 |
+
#: gonzales.php:80
|
109 |
msgid "Webcraftic assets manager"
|
110 |
msgstr "Webcraftic менеджер скриптов"
|
111 |
|
112 |
+
#: includes/class.configurate-assets.php:98
|
113 |
msgid "Script Manager"
|
114 |
msgstr "Менеджер скриптов"
|
115 |
|
116 |
+
#: includes/class.configurate-assets.php:125
|
117 |
msgid ""
|
118 |
"Below you can disable/enable CSS and JS files on a per page/post basis, as "
|
119 |
"well as by custom post types. We recommend testing this locally or on a "
|
133 |
"функциях плагина, вы сможете более уверенно включать или отключать его стили "
|
134 |
"и скрипты."
|
135 |
|
136 |
+
#: includes/class.configurate-assets.php:126
|
137 |
msgid ""
|
138 |
"If for some reason you run into trouble, you can always enable everything "
|
139 |
"again to reset the settings."
|
141 |
"Если по какой-то причине вы столкнулись с проблемами, вы всегда можете "
|
142 |
"включить все опции, чтобы сбросить настройки."
|
143 |
|
144 |
+
#: includes/class.configurate-assets.php:135
|
145 |
msgid "Save settings"
|
146 |
msgstr "Сохранить"
|
147 |
|
148 |
+
#: includes/class.configurate-assets.php:142
|
149 |
msgid "Hide panel in adminbar?"
|
150 |
msgstr "Скрыть панель из админбара?"
|
151 |
|
152 |
+
#: includes/class.configurate-assets.php:153
|
153 |
msgid "State"
|
154 |
msgstr "Состояние"
|
155 |
|
156 |
+
#: includes/class.configurate-assets.php:154
|
157 |
msgid "Size"
|
158 |
msgstr "Размер"
|
159 |
|
160 |
+
#: includes/class.configurate-assets.php:155
|
161 |
msgid "Script"
|
162 |
msgstr "Скрипт"
|
163 |
|
164 |
+
#: includes/class.configurate-assets.php:156
|
165 |
msgid "In use"
|
166 |
msgstr "Используется"
|
167 |
|
168 |
+
#: includes/class.configurate-assets.php:157
|
169 |
msgid "Disable"
|
170 |
msgstr "Отключить"
|
171 |
|
172 |
+
#: includes/class.configurate-assets.php:158
|
173 |
msgid "Enable"
|
174 |
msgstr "Включить"
|
175 |
|
176 |
+
#: includes/class.configurate-assets.php:205
|
177 |
msgid "In use by"
|
178 |
msgstr "Используется "
|
179 |
|
180 |
+
#: includes/class.configurate-assets.php:232
|
181 |
msgid "Enabled"
|
182 |
msgstr "Включить"
|
183 |
|
184 |
+
#: includes/class.configurate-assets.php:237
|
185 |
msgid "Everywhere"
|
186 |
msgstr "Повсюду"
|
187 |
|
188 |
+
#: includes/class.configurate-assets.php:244
|
189 |
+
#: includes/class.configurate-assets.php:267
|
190 |
msgid "Current URL"
|
191 |
msgstr "Текущий URL"
|
192 |
|
193 |
+
#: includes/class.configurate-assets.php:253
|
194 |
msgid "Disable everwhere to view enable settings."
|
195 |
msgstr ""
|
196 |
"Нужно включить опцию \"повсюду\", чтобы увидеть дополнительные настройки."
|
197 |
|
198 |
+
#~ msgid ""
|
199 |
+
#~ "We found that you use the plugin \"Clearfy - disable unused functions\", "
|
200 |
+
#~ "this plugin already has the same functions as \"WP Asset CleanUp\", so "
|
201 |
+
#~ "you can disable the \"WP Asset CleanUp\" plugin!"
|
202 |
+
#~ msgstr ""
|
203 |
+
#~ "Мы обнаружили, что вы используете плагин \"Clearfy - disable unused "
|
204 |
+
#~ "features\", этот плагин включает функционал \"WP Asset CleanUp\", вы "
|
205 |
+
#~ "можете деактивировать плагин \"WP Asset CleanUp\"!"
|
206 |
+
|
207 |
#~ msgid "Webcraftic Assets manager"
|
208 |
#~ msgstr "Webcraftic менеджер скриптов"
|
209 |
|
components/assets-manager/languages/index.php
ADDED
File without changes
|
components/assets-manager/readme.txt
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
===
|
2 |
Tags: dequeue script, dequeue style, pagespeed, speed, unload style, gonzales, assets clean, assets, assets cleanup, page speed optimizer, perfmatters, disable script, disable style, disable jquery, disable jquery-migrate, disable fonts
|
3 |
Contributors: webcraftic
|
4 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VDX7JNTQPNPFW
|
@@ -14,7 +14,7 @@ Increase the speed of the pages by disabling unused scripts (.JS) and styles (.C
|
|
14 |
|
15 |
You should know that, a lot of WordPress plugins developers forget performance when creating plugins. This means that a lot of them load self scripts/styles on every single post and or page of your site. This is not good, because it slows your site down.
|
16 |
|
17 |
-
That's why we created the WP Asset
|
18 |
|
19 |
THIS PLUGIN’S BENEFITS INCLUDE
|
20 |
|
@@ -36,6 +36,16 @@ We used some useful functions from plugins <strong>Asset Queue Manager</strong>,
|
|
36 |
|
37 |
If you want to help with the translation, please contact me through this site or through the contacts inside the plugin.
|
38 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
39 |
== Installation ==
|
40 |
|
41 |
1. Upload the plugin folder to the `/wp-content/plugins/` directory
|
@@ -47,5 +57,15 @@ If you want to help with the translation, please contact me through this site or
|
|
47 |
2. Assets manager
|
48 |
|
49 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
= 1.0.0 =
|
51 |
* Plugin release
|
1 |
+
=== Wordpress Assets manager, dequeue scripts, dequeue styles ===
|
2 |
Tags: dequeue script, dequeue style, pagespeed, speed, unload style, gonzales, assets clean, assets, assets cleanup, page speed optimizer, perfmatters, disable script, disable style, disable jquery, disable jquery-migrate, disable fonts
|
3 |
Contributors: webcraftic
|
4 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VDX7JNTQPNPFW
|
14 |
|
15 |
You should know that, a lot of WordPress plugins developers forget performance when creating plugins. This means that a lot of them load self scripts/styles on every single post and or page of your site. This is not good, because it slows your site down.
|
16 |
|
17 |
+
That's why we created the WP Asset manager, with it, you can choose which scripts and styles should be loaded on the page, and which ones do not. One example of this would be with the Contact Form 7 plugin. With two clicks you can disable it everywhere except for on your contact page.
|
18 |
|
19 |
THIS PLUGIN’S BENEFITS INCLUDE
|
20 |
|
36 |
|
37 |
If you want to help with the translation, please contact me through this site or through the contacts inside the plugin.
|
38 |
|
39 |
+
#### Recommended separate modules ####
|
40 |
+
|
41 |
+
We invite you to check out a few other related free plugins that our team has also produced that you may find especially useful:
|
42 |
+
|
43 |
+
* [Clearfy – WordPress optimization plugin and disable ultimate tweaker](https://wordpress.org/plugins/clearfy/)
|
44 |
+
* [Disable Comments for Any Post Types (Remove Comments)](https://wordpress.org/plugins/comments-plus/)
|
45 |
+
* [Cyrlitera – transliteration of links and file names](https://wordpress.org/plugins/cyrlitera/)
|
46 |
+
* [Disable updates, Disable automatic updates, Updates manager](https://wordpress.org/plugins/webcraftic-updates-manager/)
|
47 |
+
* [Disable admin notices individually](https://wordpress.org/plugins/disable-admin-notices/ "Disable admin notices individually")
|
48 |
+
|
49 |
== Installation ==
|
50 |
|
51 |
1. Upload the plugin folder to the `/wp-content/plugins/` directory
|
57 |
2. Assets manager
|
58 |
|
59 |
== Changelog ==
|
60 |
+
= 1.0.3 =
|
61 |
+
* Fixed: Compatibility with Clearfy plugin
|
62 |
+
* Fixed: The plugin interface did not work and the styles were not loaded due to security settings
|
63 |
+
* ADDED: Plugin options caching to reduce database queries for 90%. Clearfy became lighter and faster.
|
64 |
+
* ADDED: Compress and cache the plugin core files, to reduce the load on the admin panel
|
65 |
+
|
66 |
+
= 1.0.2 =
|
67 |
+
* Fixed: Core bugs
|
68 |
+
* Fixed: Problems with the fonts in the assets manager
|
69 |
+
|
70 |
= 1.0.0 =
|
71 |
* Plugin release
|
components/assets-manager/uninstall.php
CHANGED
@@ -9,4 +9,5 @@
|
|
9 |
global $wpdb;
|
10 |
|
11 |
$wpdb->query("DELETE FROM {$wpdb->prefix}options WHERE option_name LIKE 'wbcr_gonzales_%';");
|
|
|
12 |
|
9 |
global $wpdb;
|
10 |
|
11 |
$wpdb->query("DELETE FROM {$wpdb->prefix}options WHERE option_name LIKE 'wbcr_gonzales_%';");
|
12 |
+
$wpdb->query("DELETE FROM {$wpdb->prefix}options WHERE option_name LIKE 'wbcr_gnz_%';");
|
13 |
|
components/comments-plus/admin/assets/css/general.css
CHANGED
@@ -1,455 +1,455 @@
|
|
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 .hint-warnign-color {
|
23 |
-
color: #ffeb3b;
|
24 |
-
}
|
25 |
-
#WBCR .wbcr-clearfy-header {
|
26 |
-
padding: 20px 20px 40px;
|
27 |
-
}
|
28 |
-
#WBCR .factory-bootstrap-
|
29 |
-
font-weight: normal;
|
30 |
-
}
|
31 |
-
#WBCR .factory-bootstrap-
|
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 |
-
}
|
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 .hint-warnign-color {
|
23 |
+
color: #ffeb3b;
|
24 |
+
}
|
25 |
+
#WBCR .wbcr-clearfy-header {
|
26 |
+
padding: 20px 20px 40px;
|
27 |
+
}
|
28 |
+
#WBCR .factory-bootstrap-400 label {
|
29 |
+
font-weight: normal;
|
30 |
+
}
|
31 |
+
#WBCR .factory-bootstrap-400 .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/css/index.php
ADDED
File without changes
|
components/comments-plus/admin/assets/index.php
ADDED
File without changes
|
components/comments-plus/admin/assets/js/index.php
ADDED
File without changes
|
components/comments-plus/admin/boot.php
CHANGED
@@ -6,23 +6,21 @@
|
|
6 |
* @version 1.0
|
7 |
*/
|
8 |
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
if( !defined('LOADING_COMMENTS_PLUS_AS_ADDON') ) {
|
13 |
-
require(WBCR_CMP_PLUGIN_DIR . '/admin/pages/more-features.php');
|
14 |
}
|
15 |
|
16 |
function wbcr_cmp_rating_widget_url($page_url, $plugin_name)
|
17 |
{
|
18 |
-
if( $plugin_name ==
|
19 |
return 'https://goo.gl/v4QkW5';
|
20 |
}
|
21 |
|
22 |
return $page_url;
|
23 |
}
|
24 |
|
25 |
-
add_filter('
|
26 |
|
27 |
function wbcr_cmp_group_options($options)
|
28 |
{
|
@@ -77,7 +75,7 @@
|
|
77 |
|
78 |
function wbcr_cmp_set_plugin_meta($links, $file)
|
79 |
{
|
80 |
-
if( $file ==
|
81 |
$links[] = '<a href="https://goo.gl/TcMcS4" style="color: #FF5722;font-weight: bold;" target="_blank">' . __('Get ultimate plugin free', 'comments-plus') . '</a>';
|
82 |
}
|
83 |
|
6 |
* @version 1.0
|
7 |
*/
|
8 |
|
9 |
+
// Exit if accessed directly
|
10 |
+
if( !defined('ABSPATH') ) {
|
11 |
+
exit;
|
|
|
|
|
12 |
}
|
13 |
|
14 |
function wbcr_cmp_rating_widget_url($page_url, $plugin_name)
|
15 |
{
|
16 |
+
if( $plugin_name == WCM_Plugin::app()->getPluginName() ) {
|
17 |
return 'https://goo.gl/v4QkW5';
|
18 |
}
|
19 |
|
20 |
return $page_url;
|
21 |
}
|
22 |
|
23 |
+
add_filter('wbcr_factory_pages_401_imppage_rating_widget_url', 'wbcr_cmp_rating_widget_url', 10, 2);
|
24 |
|
25 |
function wbcr_cmp_group_options($options)
|
26 |
{
|
75 |
|
76 |
function wbcr_cmp_set_plugin_meta($links, $file)
|
77 |
{
|
78 |
+
if( $file == WCM_PLUGIN_BASE ) {
|
79 |
$links[] = '<a href="https://goo.gl/TcMcS4" style="color: #FF5722;font-weight: bold;" target="_blank">' . __('Get ultimate plugin free', 'comments-plus') . '</a>';
|
80 |
}
|
81 |
|
components/comments-plus/admin/index.php
ADDED
File without changes
|
components/comments-plus/admin/pages/comments.php
CHANGED
@@ -1,45 +1,54 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
/**
|
4 |
* The page Settings.
|
5 |
*
|
6 |
* @since 1.0.0
|
7 |
*/
|
8 |
-
|
9 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
/**
|
11 |
* The id of the page in the admin menu.
|
12 |
*
|
13 |
* Mainly used to navigate between pages.
|
14 |
-
* @see
|
15 |
*
|
16 |
* @since 1.0.0
|
17 |
* @var string
|
18 |
*/
|
19 |
public $id = "comments";
|
20 |
public $page_menu_dashicon = 'dashicons-testimonial';
|
21 |
-
|
22 |
-
|
|
|
|
|
|
|
23 |
{
|
24 |
-
$this->
|
25 |
-
|
26 |
if( !defined('LOADING_COMMENTS_PLUS_AS_ADDON') ) {
|
27 |
$this->internal = false;
|
28 |
-
$this->
|
29 |
-
$this->
|
30 |
}
|
31 |
-
|
32 |
parent::__construct($plugin);
|
33 |
}
|
34 |
-
|
35 |
public function getMenuTitle()
|
36 |
{
|
37 |
return defined('LOADING_COMMENTS_PLUS_AS_ADDON')
|
38 |
? __('Comments', 'comments-plus')
|
39 |
: __('General', 'comments-plus');
|
40 |
}
|
41 |
-
|
42 |
-
|
43 |
/**
|
44 |
* Permalinks options.
|
45 |
*
|
@@ -49,12 +58,18 @@
|
|
49 |
public function getOptions()
|
50 |
{
|
51 |
$options = array();
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
$types = get_post_types(array('public' => true), 'objects');
|
53 |
$post_types = array();
|
54 |
foreach($types as $type_name => $type) {
|
55 |
$post_types[] = array($type_name, $type->label);
|
56 |
}
|
57 |
-
|
58 |
$options[] = array(
|
59 |
'type' => 'dropdown',
|
60 |
'name' => 'disable_comments',
|
@@ -65,12 +80,12 @@
|
|
65 |
array(
|
66 |
'disable_comments',
|
67 |
__('Everywhere', 'comments-plus'),
|
68 |
-
sprintf(__('You can delete all comments in the database by clicking on this link (<a href="%s">cleaning comments in database</a>).', 'comments-plus'), admin_url('admin.php?page=delete_comments-' . $this->plugin->
|
69 |
),
|
70 |
array(
|
71 |
'disable_certain_post_types_comments',
|
72 |
__('On certain post types', 'comments-plus'),
|
73 |
-
sprintf(__('You can delete all comments for the selected post types. Select the post types below and save the settings. After that, click the link (<a href="%s">delete all comments for the selected post types in database</a>).', 'comments-plus'), admin_url('admin.php?page=delete_comments-' . $this->plugin->
|
74 |
)
|
75 |
),
|
76 |
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
|
@@ -78,18 +93,18 @@
|
|
78 |
'default' => 'enable_comments',
|
79 |
'events' => array(
|
80 |
'disable_certain_post_types_comments' => array(
|
81 |
-
'show' => '.factory-control-disable_comments_for_post_types,
|
82 |
),
|
83 |
'enable_comments' => array(
|
84 |
-
'show' => '
|
85 |
'hide' => '.factory-control-disable_comments_for_post_types'
|
86 |
),
|
87 |
'disable_comments' => array(
|
88 |
-
'hide' => '.factory-control-disable_comments_for_post_types,
|
89 |
)
|
90 |
)
|
91 |
);
|
92 |
-
|
93 |
$options[] = array(
|
94 |
'type' => 'list',
|
95 |
'way' => 'checklist',
|
@@ -102,55 +117,60 @@
|
|
102 |
);
|
103 |
|
104 |
$options[] = array(
|
105 |
-
'type' => '
|
106 |
-
'
|
107 |
-
'
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
142 |
);
|
143 |
|
144 |
$formOptions = array();
|
145 |
-
|
146 |
$formOptions[] = array(
|
147 |
'type' => 'form-group',
|
148 |
'items' => $options,
|
149 |
//'cssClass' => 'postbox'
|
150 |
);
|
151 |
-
|
152 |
return apply_filters('wbcr_cmp_comments_form_options', $formOptions);
|
153 |
}
|
154 |
-
}
|
155 |
-
|
156 |
-
FactoryPages324::register($wbcr_comments_plus_plugin, 'WbcrCmp_CommentsPage');
|
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 WbcrCmp_CommentsPage extends Wbcr_FactoryPages401_ImpressiveThemplate {
|
15 |
+
|
16 |
/**
|
17 |
* The id of the page in the admin menu.
|
18 |
*
|
19 |
* Mainly used to navigate between pages.
|
20 |
+
* @see FactoryPages401_AdminPage
|
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 Wbcr_Factory400_Plugin $plugin
|
30 |
+
*/
|
31 |
+
public function __construct(Wbcr_Factory400_Plugin $plugin)
|
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';
|
38 |
+
$this->add_link_to_plugin_actions = true;
|
39 |
}
|
40 |
+
|
41 |
parent::__construct($plugin);
|
42 |
}
|
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 |
/**
|
53 |
* Permalinks options.
|
54 |
*
|
58 |
public function getOptions()
|
59 |
{
|
60 |
$options = array();
|
61 |
+
|
62 |
+
$options[] = array(
|
63 |
+
'type' => 'html',
|
64 |
+
'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>'
|
65 |
+
);
|
66 |
+
|
67 |
$types = get_post_types(array('public' => true), 'objects');
|
68 |
$post_types = array();
|
69 |
foreach($types as $type_name => $type) {
|
70 |
$post_types[] = array($type_name, $type->label);
|
71 |
}
|
72 |
+
|
73 |
$options[] = array(
|
74 |
'type' => 'dropdown',
|
75 |
'name' => 'disable_comments',
|
80 |
array(
|
81 |
'disable_comments',
|
82 |
__('Everywhere', 'comments-plus'),
|
83 |
+
sprintf(__('You can delete all comments in the database by clicking on this link (<a href="%s">cleaning comments in database</a>).', 'comments-plus'), admin_url('admin.php?page=delete_comments-' . $this->plugin->getPluginName()))
|
84 |
),
|
85 |
array(
|
86 |
'disable_certain_post_types_comments',
|
87 |
__('On certain post types', 'comments-plus'),
|
88 |
+
sprintf(__('You can delete all comments for the selected post types. Select the post types below and save the settings. After that, click the link (<a href="%s">delete all comments for the selected post types in database</a>).', 'comments-plus'), admin_url('admin.php?page=delete_comments-' . $this->plugin->getPluginName()))
|
89 |
)
|
90 |
),
|
91 |
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
|
93 |
'default' => 'enable_comments',
|
94 |
'events' => array(
|
95 |
'disable_certain_post_types_comments' => array(
|
96 |
+
'show' => '.factory-control-disable_comments_for_post_types, #wbcr-clearfy-comments-base-options'
|
97 |
),
|
98 |
'enable_comments' => array(
|
99 |
+
'show' => '#wbcr-clearfy-comments-base-options',
|
100 |
'hide' => '.factory-control-disable_comments_for_post_types'
|
101 |
),
|
102 |
'disable_comments' => array(
|
103 |
+
'hide' => '.factory-control-disable_comments_for_post_types, #wbcr-clearfy-comments-base-options'
|
104 |
)
|
105 |
)
|
106 |
);
|
107 |
+
|
108 |
$options[] = array(
|
109 |
'type' => 'list',
|
110 |
'way' => 'checklist',
|
117 |
);
|
118 |
|
119 |
$options[] = array(
|
120 |
+
'type' => 'div',
|
121 |
+
'id' => 'wbcr-clearfy-comments-base-options',
|
122 |
+
'items' => array(
|
123 |
+
array(
|
124 |
+
'type' => 'html',
|
125 |
+
'html' => '<div class="wbcr-factory-page-group-header"><strong>' . __('General settings for comments', 'comments-plus') . '</strong><p>' . __('These settings will help you improve SEO and reduce the amount of spam.', 'comments-plus') . '</p></div>'
|
126 |
+
),
|
127 |
+
array(
|
128 |
+
'type' => 'checkbox',
|
129 |
+
'way' => 'buttons',
|
130 |
+
'name' => 'remove_url_from_comment_form',
|
131 |
+
'title' => __('Remove field "site" in comment form', 'comments-plus'),
|
132 |
+
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
|
133 |
+
'hint' => __('Tired of spam in the comments? Do visitors leave "blank" comments for the sake of a link to their site?', 'comments-plus') . '<br><b>Clearfy: </b>' . __('Removes the "Site" field from the comment form.', 'comments-plus') . '<br>--<br><span class="hint-warnign-color"> *' . __('Works with the standard comment form, if the form is manually written in your theme-it probably will not work!', 'comments-plus') . '</span>',
|
134 |
+
'default' => false
|
135 |
+
),
|
136 |
+
array(
|
137 |
+
'type' => 'checkbox',
|
138 |
+
'way' => 'buttons',
|
139 |
+
'name' => 'comment_text_convert_links_pseudo',
|
140 |
+
'title' => __('Replace external links in comments on the JavaScript code', 'comments-plus'),
|
141 |
+
'layout' => array('hint-type' => 'icon'),
|
142 |
+
'hint' => __('Superfluous external links from comments, which can be typed from a dozen and more for one article, do not bring anything good for promotion.', 'comments-plus') . '<br><br><b>Clearfy: </b>' . sprintf(__('Replaces the links of this kind of %s, on links of this kind %s', 'comments-plus'), '<code>a href="http://yourdomain.com" rel="nofollow"</code>', '<code>span data-uri="http://yourdomain.com"</code>'),
|
143 |
+
'default' => false
|
144 |
+
),
|
145 |
+
array(
|
146 |
+
'type' => 'checkbox',
|
147 |
+
'way' => 'buttons',
|
148 |
+
'name' => 'pseudo_comment_author_link',
|
149 |
+
'title' => __('Replace external links from comment authors on the JavaScript code', 'comments-plus'),
|
150 |
+
'layout' => array('hint-type' => 'icon'),
|
151 |
+
'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>',
|
152 |
+
'default' => false
|
153 |
+
),
|
154 |
+
array(
|
155 |
+
'type' => 'checkbox',
|
156 |
+
'way' => 'buttons',
|
157 |
+
'name' => 'remove_x_pingback',
|
158 |
+
'title' => __('Disable XML-RPC', 'clearfy'),
|
159 |
+
'layout' => array('hint-type' => 'icon'),
|
160 |
+
'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'),
|
161 |
+
'default' => false
|
162 |
+
)
|
163 |
+
)
|
164 |
);
|
165 |
|
166 |
$formOptions = array();
|
167 |
+
|
168 |
$formOptions[] = array(
|
169 |
'type' => 'form-group',
|
170 |
'items' => $options,
|
171 |
//'cssClass' => 'postbox'
|
172 |
);
|
173 |
+
|
174 |
return apply_filters('wbcr_cmp_comments_form_options', $formOptions);
|
175 |
}
|
176 |
+
}
|
|
|
|
components/comments-plus/admin/pages/delete-comments.php
CHANGED
@@ -5,13 +5,20 @@
|
|
5 |
*
|
6 |
* @since 1.0.0
|
7 |
*/
|
8 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
|
10 |
/**
|
11 |
* The id of the page in the admin menu.
|
12 |
*
|
13 |
* Mainly used to navigate between pages.
|
14 |
-
* @see
|
15 |
*
|
16 |
* @since 1.0.0
|
17 |
* @var string
|
@@ -21,11 +28,12 @@
|
|
21 |
public $page_parent_page = "comments";
|
22 |
public $page_menu_dashicon = 'dashicons-testimonial';
|
23 |
|
24 |
-
|
|
|
|
|
|
|
25 |
{
|
26 |
-
$this->
|
27 |
-
|
28 |
-
add_filter('wbcr_factory_imppage_actions_notice', array($this, 'actionsNotice'), 10, 2);
|
29 |
|
30 |
parent::__construct($plugin);
|
31 |
}
|
@@ -33,17 +41,13 @@
|
|
33 |
/**
|
34 |
* We register notifications for some actions
|
35 |
*
|
36 |
-
* @see libs\factory\pages\themplates\
|
37 |
* @param $notices
|
|
|
38 |
* @return array
|
39 |
*/
|
40 |
-
public function
|
41 |
{
|
42 |
-
global $wbcr_comments_plus_plugin;
|
43 |
-
|
44 |
-
if( $wbcr_comments_plus_plugin->pluginName != $plugin->pluginName ) {
|
45 |
-
return $notices;
|
46 |
-
}
|
47 |
|
48 |
$notices[] = array(
|
49 |
'conditions' => array(
|
@@ -68,7 +72,7 @@
|
|
68 |
/**
|
69 |
* Prints the content of the page
|
70 |
*
|
71 |
-
* @see libs\factory\pages\themplates\
|
72 |
*/
|
73 |
public function showPageContent()
|
74 |
{
|
@@ -79,7 +83,7 @@
|
|
79 |
SUM(comment_approved='spam') as spamcount,
|
80 |
SUM(comment_approved='0') as unpcount,
|
81 |
SUM(comment_approved='trash') as trashcount
|
82 |
-
FROM
|
83 |
|
84 |
$stat_data_by_post_type = $wpdb->get_results("SELECT
|
85 |
SUM(comment_count) as type_comments_count, post_type
|
@@ -131,7 +135,15 @@
|
|
131 |
});
|
132 |
</script>
|
133 |
|
134 |
-
<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
135 |
<h5><?php _e('Remove all comments', 'comments-plus'); ?></h5>
|
136 |
|
137 |
<p><?php _e('You can delete all comments in your database with one click.', 'comments-plus'); ?></p>
|
@@ -167,29 +179,29 @@
|
|
167 |
<?php wp_nonce_field($this->getResultId() . '_delete_all_comments') ?>
|
168 |
</form>
|
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 |
<?php
|
194 |
}
|
195 |
|
@@ -324,6 +336,4 @@
|
|
324 |
|
325 |
$this->deleteComments('trash');
|
326 |
}
|
327 |
-
}
|
328 |
-
|
329 |
-
FactoryPages324::register($wbcr_comments_plus_plugin, 'WbcrCmp_DeleteCommentsPage');
|
5 |
*
|
6 |
* @since 1.0.0
|
7 |
*/
|
8 |
+
|
9 |
+
// Exit if accessed directly
|
10 |
+
if( !defined('ABSPATH') ) {
|
11 |
+
exit;
|
12 |
+
}
|
13 |
+
|
14 |
+
|
15 |
+
class WbcrCmp_DeleteCommentsPage extends Wbcr_FactoryPages401_ImpressiveThemplate {
|
16 |
|
17 |
/**
|
18 |
* The id of the page in the admin menu.
|
19 |
*
|
20 |
* Mainly used to navigate between pages.
|
21 |
+
* @see FactoryPages401_AdminPage
|
22 |
*
|
23 |
* @since 1.0.0
|
24 |
* @var string
|
28 |
public $page_parent_page = "comments";
|
29 |
public $page_menu_dashicon = 'dashicons-testimonial';
|
30 |
|
31 |
+
/**
|
32 |
+
* @param Wbcr_Factory400_Plugin $plugin
|
33 |
+
*/
|
34 |
+
public function __construct(Wbcr_Factory400_Plugin $plugin)
|
35 |
{
|
36 |
+
$this->menu_title = __('Comments cleaner', 'comments-plus');
|
|
|
|
|
37 |
|
38 |
parent::__construct($plugin);
|
39 |
}
|
41 |
/**
|
42 |
* We register notifications for some actions
|
43 |
*
|
44 |
+
* @see libs\factory\pages\themplates\FactoryPages401_ImpressiveThemplate
|
45 |
* @param $notices
|
46 |
+
* @param Wbcr_Factory400_Plugin $plugin
|
47 |
* @return array
|
48 |
*/
|
49 |
+
public function getActionNotices($notices)
|
50 |
{
|
|
|
|
|
|
|
|
|
|
|
51 |
|
52 |
$notices[] = array(
|
53 |
'conditions' => array(
|
72 |
/**
|
73 |
* Prints the content of the page
|
74 |
*
|
75 |
+
* @see libs\factory\pages\themplates\FactoryPages401_ImpressiveThemplate
|
76 |
*/
|
77 |
public function showPageContent()
|
78 |
{
|
83 |
SUM(comment_approved='spam') as spamcount,
|
84 |
SUM(comment_approved='0') as unpcount,
|
85 |
SUM(comment_approved='trash') as trashcount
|
86 |
+
FROM {$wpdb->prefix}comments");
|
87 |
|
88 |
$stat_data_by_post_type = $wpdb->get_results("SELECT
|
89 |
SUM(comment_count) as type_comments_count, post_type
|
135 |
});
|
136 |
</script>
|
137 |
|
138 |
+
<div class="wbcr-factory-page-group-header" style="margin-top:0;">
|
139 |
+
<strong><?php _e('Comments clearing tools', 'comments-plus') ?></strong>
|
140 |
+
|
141 |
+
<p>
|
142 |
+
<?php _e('These functions can be useful for global disabling comments or bulk cleaning spam comments.', 'comments-plus') ?>
|
143 |
+
</p>
|
144 |
+
</div>
|
145 |
+
|
146 |
+
<form method="post" action="<?= $this->getActionUrl('delete-all-comments') ?>" style="padding: 20px;">
|
147 |
<h5><?php _e('Remove all comments', 'comments-plus'); ?></h5>
|
148 |
|
149 |
<p><?php _e('You can delete all comments in your database with one click.', 'comments-plus'); ?></p>
|
179 |
<?php wp_nonce_field($this->getResultId() . '_delete_all_comments') ?>
|
180 |
</form>
|
181 |
|
182 |
+
<div style="padding: 20px;">
|
183 |
+
<hr/>
|
184 |
+
<h5><?php _e('Remove spam comments', 'comments-plus'); ?></h5>
|
185 |
+
|
186 |
+
<p><?php _e('You can remove only spam comments from the database with one click.', 'comments-plus'); ?></p>
|
187 |
+
<a href="<?= wp_nonce_url($this->getActionUrl('delete-spam-comments'), $this->getResultId() . '_delete_spam_comments') ?>" class="button button-default wbcr-cmp-delete-comments-button">
|
188 |
+
<?php printf(__('Delete (%d)', 'comments-plus'), $stat_data[0]->spamcount); ?>
|
189 |
+
</a>
|
190 |
+
<hr/>
|
191 |
+
<h5><?php _e('Remove unapproved comments', 'comments-plus'); ?></h5>
|
192 |
+
|
193 |
+
<p><?php _e('You can remove only unapproved comments from the database with one click.', 'comments-plus'); ?></p>
|
194 |
+
<a href="<?= wp_nonce_url($this->getActionUrl('delete-unaproved-comments'), $this->getResultId() . '_delete_unaproved_comments') ?>" class="button button-default wbcr-cmp-delete-comments-button">
|
195 |
+
<?php printf(__('Delete (%d)', 'comments-plus'), $stat_data[0]->unpcount); ?>
|
196 |
+
</a>
|
197 |
+
<hr/>
|
198 |
+
<h5><?php _e('Remove trashed comments', 'comments-plus'); ?></h5>
|
199 |
+
|
200 |
+
<p><?php _e('You can remove only trashed comments from the database with one click.', 'comments-plus'); ?></p>
|
201 |
+
<a href="<?= wp_nonce_url($this->getActionUrl('delete-trash-comments'), $this->getResultId() . '_delete_trash_comments') ?>" class="button button-default wbcr-cmp-delete-comments-button">
|
202 |
+
<?php printf(__('Delete (%d)', 'comments-plus'), $stat_data[0]->trashcount); ?>
|
203 |
+
</a>
|
204 |
+
</div>
|
205 |
<?php
|
206 |
}
|
207 |
|
336 |
|
337 |
$this->deleteComments('trash');
|
338 |
}
|
339 |
+
}
|
|
|
|
components/comments-plus/admin/pages/index.php
ADDED
File without changes
|
components/comments-plus/admin/pages/more-features.php
CHANGED
@@ -5,8 +5,12 @@
|
|
5 |
*
|
6 |
* @since 1.0.0
|
7 |
*/
|
8 |
-
class WbcrCmp_MoreFeaturesPage extends FactoryClearfy102_MoreFeaturesPage {
|
9 |
|
|
|
|
|
|
|
10 |
}
|
11 |
|
12 |
-
|
|
|
|
5 |
*
|
6 |
* @since 1.0.0
|
7 |
*/
|
|
|
8 |
|
9 |
+
// Exit if accessed directly
|
10 |
+
if( !defined('ABSPATH') ) {
|
11 |
+
exit;
|
12 |
}
|
13 |
|
14 |
+
class WbcrCmp_MoreFeaturesPage extends Wbcr_FactoryClearfy200_MoreFeaturesPage {
|
15 |
+
|
16 |
+
}
|
components/comments-plus/assets/css/index.php
ADDED
File without changes
|
components/comments-plus/assets/index.php
ADDED
File without changes
|
components/comments-plus/assets/js/index.php
ADDED
File without changes
|
components/comments-plus/comments-plus.php
CHANGED
@@ -4,12 +4,18 @@
|
|
4 |
* Plugin URI: https://wordpress.org/plugins/comments-plus/
|
5 |
* Description: Allows administrators to globally disable comments on their site. Comments can be disabled for individual record types.
|
6 |
* Author: Webcraftic <wordpress.webraftic@gmail.com>
|
7 |
-
* Version: 1.0.
|
8 |
* Text Domain: comments-plus
|
9 |
* Domain Path: /languages/
|
|
|
10 |
*/
|
11 |
|
12 |
-
|
|
|
|
|
|
|
|
|
|
|
13 |
function wbcr_cmp_admin_notice_error()
|
14 |
{
|
15 |
?>
|
@@ -24,63 +30,31 @@
|
|
24 |
return;
|
25 |
} else {
|
26 |
|
27 |
-
define('
|
28 |
|
29 |
-
define('
|
30 |
-
define('
|
31 |
-
define('
|
32 |
|
33 |
|
34 |
|
35 |
if( !defined('LOADING_COMMENTS_PLUS_AS_ADDON') ) {
|
36 |
-
require_once(
|
37 |
}
|
38 |
|
39 |
-
|
40 |
-
{
|
41 |
-
global $wbcr_comments_plus_plugin;
|
42 |
-
|
43 |
-
// Localization plugin
|
44 |
-
load_plugin_textdomain('comments-plus', false, dirname(WBCR_CMP_PLUGIN_BASE) . '/languages/');
|
45 |
-
|
46 |
-
if( defined('LOADING_COMMENTS_PLUS_AS_ADDON') ) {
|
47 |
-
//return;
|
48 |
-
global $wbcr_clearfy_plugin;
|
49 |
-
$wbcr_comments_plus_plugin = $wbcr_clearfy_plugin;
|
50 |
-
} else {
|
51 |
-
|
52 |
-
$wbcr_comments_plus_plugin = new Factory326_Plugin(__FILE__, array(
|
53 |
-
'name' => 'wbcr_comments_plus',
|
54 |
-
'title' => __('Webcraftic Disable comments', 'comments-plus'),
|
55 |
-
'version' => '1.0.6',
|
56 |
-
'host' => 'wordpress.org',
|
57 |
-
'url' => 'https://wordpress.org/plugins/comments-plus/',
|
58 |
-
'assembly' => 'free',
|
59 |
-
'updates' => WBCR_CMP_PLUGIN_DIR . '/updates/'
|
60 |
-
));
|
61 |
-
|
62 |
-
// requires factory modules
|
63 |
-
$wbcr_comments_plus_plugin->load(array(
|
64 |
-
array('libs/factory/bootstrap', 'factory_bootstrap_330', 'admin'),
|
65 |
-
array('libs/factory/forms', 'factory_forms_329', 'admin'),
|
66 |
-
array('libs/factory/pages', 'factory_pages_324', 'admin'),
|
67 |
-
array('libs/factory/clearfy', 'factory_clearfy_102', 'all')
|
68 |
-
));
|
69 |
-
}
|
70 |
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
} else {
|
84 |
-
add_action('plugins_loaded', 'wbcr_cmp_plugin_init');
|
85 |
}
|
86 |
}
|
4 |
* Plugin URI: https://wordpress.org/plugins/comments-plus/
|
5 |
* Description: Allows administrators to globally disable comments on their site. Comments can be disabled for individual record types.
|
6 |
* Author: Webcraftic <wordpress.webraftic@gmail.com>
|
7 |
+
* Version: 1.0.7
|
8 |
* Text Domain: comments-plus
|
9 |
* Domain Path: /languages/
|
10 |
+
* Author URI: http://webcraftic.com
|
11 |
*/
|
12 |
|
13 |
+
// Exit if accessed directly
|
14 |
+
if( !defined('ABSPATH') ) {
|
15 |
+
exit;
|
16 |
+
}
|
17 |
+
|
18 |
+
if( defined('WCM_PLUGIN_ACTIVE') || (defined('WCL_PLUGIN_ACTIVE') && !defined('LOADING_COMMENTS_PLUS_AS_ADDON')) ) {
|
19 |
function wbcr_cmp_admin_notice_error()
|
20 |
{
|
21 |
?>
|
30 |
return;
|
31 |
} else {
|
32 |
|
33 |
+
define('WCM_PLUGIN_ACTIVE', true);
|
34 |
|
35 |
+
define('WCM_PLUGIN_DIR', dirname(__FILE__));
|
36 |
+
define('WCM_PLUGIN_BASE', plugin_basename(__FILE__));
|
37 |
+
define('WCM_PLUGIN_URL', plugins_url(null, __FILE__));
|
38 |
|
39 |
|
40 |
|
41 |
if( !defined('LOADING_COMMENTS_PLUS_AS_ADDON') ) {
|
42 |
+
require_once(WCM_PLUGIN_DIR . '/libs/factory/core/boot.php');
|
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.7',
|
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 |
}
|
components/comments-plus/includes/class.plugin.php
ADDED
@@ -0,0 +1,133 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Hide my wp core class
|
4 |
+
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
5 |
+
* @copyright (c) 19.02.2018, Webcraftic
|
6 |
+
* @version 1.0
|
7 |
+
*/
|
8 |
+
|
9 |
+
// Exit if accessed directly
|
10 |
+
if( !defined('ABSPATH') ) {
|
11 |
+
exit;
|
12 |
+
}
|
13 |
+
|
14 |
+
if( !class_exists('WCM_Plugin') ) {
|
15 |
+
|
16 |
+
if( !class_exists('WCM_PluginFactory') ) {
|
17 |
+
if( defined('LOADING_COMMENTS_PLUS_AS_ADDON') ) {
|
18 |
+
class WCM_PluginFactory {
|
19 |
+
|
20 |
+
}
|
21 |
+
} else {
|
22 |
+
class WCM_PluginFactory extends Wbcr_Factory400_Plugin {
|
23 |
+
|
24 |
+
}
|
25 |
+
}
|
26 |
+
}
|
27 |
+
|
28 |
+
class WCM_Plugin extends WCM_PluginFactory {
|
29 |
+
|
30 |
+
/**
|
31 |
+
* @var Wbcr_Factory400_Plugin
|
32 |
+
*/
|
33 |
+
private static $app;
|
34 |
+
|
35 |
+
/**
|
36 |
+
* @var bool
|
37 |
+
*/
|
38 |
+
private $as_addon;
|
39 |
+
|
40 |
+
/**
|
41 |
+
* @param string $plugin_path
|
42 |
+
* @param array $data
|
43 |
+
* @throws Exception
|
44 |
+
*/
|
45 |
+
public function __construct($plugin_path, $data)
|
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 Wbcr_Factory400_Plugin) ) {
|
55 |
+
throw new Exception('An invalid instance of the class was passed.');
|
56 |
+
}
|
57 |
+
|
58 |
+
self::$app = $plugin_parent;
|
59 |
+
} else {
|
60 |
+
self::$app = $this;
|
61 |
+
}
|
62 |
+
|
63 |
+
if( !$this->as_addon ) {
|
64 |
+
parent::__construct($plugin_path, $data);
|
65 |
+
}
|
66 |
+
|
67 |
+
$this->setTextDomain();
|
68 |
+
$this->setModules();
|
69 |
+
|
70 |
+
$this->globalScripts();
|
71 |
+
|
72 |
+
if( is_admin() ) {
|
73 |
+
$this->adminScripts();
|
74 |
+
}
|
75 |
+
//add_action('plugins_loaded', array($this, 'pluginsLoaded'));
|
76 |
+
}
|
77 |
+
|
78 |
+
/**
|
79 |
+
* @return Wbcr_Factory400_Plugin
|
80 |
+
*/
|
81 |
+
public static function app()
|
82 |
+
{
|
83 |
+
return self::$app;
|
84 |
+
}
|
85 |
+
|
86 |
+
protected function setTextDomain()
|
87 |
+
{
|
88 |
+
// Localization plugin
|
89 |
+
load_plugin_textdomain('comments-plus', false, dirname(WCM_PLUGIN_BASE) . '/languages/');
|
90 |
+
}
|
91 |
+
|
92 |
+
protected function setModules()
|
93 |
+
{
|
94 |
+
if( !$this->as_addon ) {
|
95 |
+
self::app()->load(array(
|
96 |
+
array('libs/factory/bootstrap', 'factory_bootstrap_400', 'admin'),
|
97 |
+
array('libs/factory/forms', 'factory_forms_400', 'admin'),
|
98 |
+
array('libs/factory/pages', 'factory_pages_401', 'admin'),
|
99 |
+
array('libs/factory/clearfy', 'factory_clearfy_200', 'all')
|
100 |
+
));
|
101 |
+
}
|
102 |
+
}
|
103 |
+
|
104 |
+
private function registerPages()
|
105 |
+
{
|
106 |
+
|
107 |
+
$admin_path = WCM_PLUGIN_DIR . '/admin/pages';
|
108 |
+
|
109 |
+
self::app()->registerPage('WbcrCmp_CommentsPage', $admin_path . '/comments.php');
|
110 |
+
self::app()->registerPage('WbcrCmp_DeleteCommentsPage', $admin_path . '/delete-comments.php');
|
111 |
+
|
112 |
+
if( !$this->as_addon ) {
|
113 |
+
self::app()->registerPage('WbcrCmp_MoreFeaturesPage', $admin_path . '/more-features.php');
|
114 |
+
}
|
115 |
+
}
|
116 |
+
|
117 |
+
private function adminScripts()
|
118 |
+
{
|
119 |
+
require(WCM_PLUGIN_DIR . '/admin/boot.php');
|
120 |
+
$this->registerPages();
|
121 |
+
}
|
122 |
+
|
123 |
+
private function globalScripts()
|
124 |
+
{
|
125 |
+
require(WCM_PLUGIN_DIR . '/includes/classes/class.configurate-comments.php');
|
126 |
+
new WbcrCmp_ConfigComments(self::$app);
|
127 |
+
}
|
128 |
+
/*public function pluginsLoaded()
|
129 |
+
{
|
130 |
+
|
131 |
+
}*/
|
132 |
+
}
|
133 |
+
}
|
components/comments-plus/includes/classes/class.configurate-comments.php
CHANGED
@@ -6,10 +6,25 @@
|
|
6 |
* @copyright (c) 2017 Webraftic Ltd
|
7 |
* @version 1.0
|
8 |
*/
|
9 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
|
11 |
private $modified_types = array();
|
12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
public function registerActionsAndFilters()
|
14 |
{
|
15 |
// Removes the server responses a reference to the xmlrpc file.
|
@@ -32,8 +47,7 @@
|
|
32 |
add_action('admin_init', array($this, 'filterAdminBar'));
|
33 |
} else {
|
34 |
|
35 |
-
if( $this->getOption('comment_text_convert_links_pseudo') || $this->getOption('
|
36 |
-
|
37 |
add_action('wp_enqueue_scripts', array($this, 'assetsUrlSpanScripts'));
|
38 |
}
|
39 |
|
@@ -162,7 +176,7 @@
|
|
162 |
|
163 |
public function dummyCommentsTemplate()
|
164 |
{
|
165 |
-
return
|
166 |
}
|
167 |
|
168 |
/*
|
@@ -211,7 +225,7 @@
|
|
211 |
?>
|
212 |
<script>
|
213 |
jQuery(document).ready(function($) {
|
214 |
-
$(".wrap h2").first().after(<?php echo json_encode( '<div style="color: #900"><p>' . sprintf( __( 'Note: The <em>%s</em> plugin is currently active, and comments are completely disabled on: %s. Many of the settings below will not be applicable for those post types.', 'comments-plus' ), $this->plugin->
|
215 |
});
|
216 |
</script>
|
217 |
<?php
|
@@ -342,12 +356,6 @@
|
|
342 |
return $fields;
|
343 |
}
|
344 |
|
345 |
-
/**
|
346 |
-
* Remove X-Pingback
|
347 |
-
* https://github.com/nickyurov/
|
348 |
-
|
349 |
-
*/
|
350 |
-
|
351 |
public function removeXPingback($headers)
|
352 |
{
|
353 |
unset($headers['X-Pingback']);
|
@@ -390,13 +398,11 @@
|
|
390 |
|
391 |
public function assetsUrlSpanScripts()
|
392 |
{
|
393 |
-
global $wbcr_comments_plus_plugin;
|
394 |
-
|
395 |
if( !is_singular() ) {
|
396 |
return;
|
397 |
}
|
398 |
|
399 |
-
wp_enqueue_style('wbcr-comments-plus-url-span',
|
400 |
-
wp_enqueue_script('wbcr-comments-plus-url-span',
|
401 |
}
|
402 |
}
|
6 |
* @copyright (c) 2017 Webraftic Ltd
|
7 |
* @version 1.0
|
8 |
*/
|
9 |
+
|
10 |
+
// Exit if accessed directly
|
11 |
+
if( !defined('ABSPATH') ) {
|
12 |
+
exit;
|
13 |
+
}
|
14 |
+
|
15 |
+
class WbcrCmp_ConfigComments extends Wbcr_FactoryClearfy200_Configurate {
|
16 |
|
17 |
private $modified_types = array();
|
18 |
|
19 |
+
/**
|
20 |
+
* @param Wbcr_Factory400_Plugin $plugin
|
21 |
+
*/
|
22 |
+
public function __construct(Wbcr_Factory400_Plugin $plugin)
|
23 |
+
{
|
24 |
+
parent::__construct($plugin);
|
25 |
+
$this->plugin = $plugin;
|
26 |
+
}
|
27 |
+
|
28 |
public function registerActionsAndFilters()
|
29 |
{
|
30 |
// Removes the server responses a reference to the xmlrpc file.
|
47 |
add_action('admin_init', array($this, 'filterAdminBar'));
|
48 |
} else {
|
49 |
|
50 |
+
if( $this->getOption('comment_text_convert_links_pseudo') || $this->getOption('pseudo_comment_author_link') ) {
|
|
|
51 |
add_action('wp_enqueue_scripts', array($this, 'assetsUrlSpanScripts'));
|
52 |
}
|
53 |
|
176 |
|
177 |
public function dummyCommentsTemplate()
|
178 |
{
|
179 |
+
return WCM_PLUGIN_DIR . '/includes/comments-template.php';
|
180 |
}
|
181 |
|
182 |
/*
|
225 |
?>
|
226 |
<script>
|
227 |
jQuery(document).ready(function($) {
|
228 |
+
$(".wrap h2").first().after(<?php echo json_encode( '<div style="color: #900"><p>' . sprintf( __( 'Note: The <em>%s</em> plugin is currently active, and comments are completely disabled on: %s. Many of the settings below will not be applicable for those post types.', 'comments-plus' ), $this->plugin->getPluginTitle(), implode(', ', $names ) ) . '</p></div>' );?>);
|
229 |
});
|
230 |
</script>
|
231 |
<?php
|
356 |
return $fields;
|
357 |
}
|
358 |
|
|
|
|
|
|
|
|
|
|
|
|
|
359 |
public function removeXPingback($headers)
|
360 |
{
|
361 |
unset($headers['X-Pingback']);
|
398 |
|
399 |
public function assetsUrlSpanScripts()
|
400 |
{
|
|
|
|
|
401 |
if( !is_singular() ) {
|
402 |
return;
|
403 |
}
|
404 |
|
405 |
+
wp_enqueue_style('wbcr-comments-plus-url-span', WCM_PLUGIN_URL . '/assets/css/url-span.css', array(), $this->plugin->getPluginVersion());
|
406 |
+
wp_enqueue_script('wbcr-comments-plus-url-span', WCM_PLUGIN_URL . '/assets/js/url-span.js', array('jquery'), $this->plugin->getPluginVersion(), true);
|
407 |
}
|
408 |
}
|
components/comments-plus/includes/classes/index.php
ADDED
File without changes
|
components/comments-plus/includes/index.php
ADDED
File without changes
|
components/comments-plus/index.php
ADDED
File without changes
|
components/comments-plus/languages/comments-plus-fr_FR.mo
DELETED
Binary file
|
components/comments-plus/languages/comments-plus-fr_FR.po
DELETED
@@ -1,302 +0,0 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: clearfy\n"
|
4 |
-
"POT-Creation-Date: 2017-11-09 10:26+0300\n"
|
5 |
-
"PO-Revision-Date: 2017-11-09 17:46+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: fr\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.8.8\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:19
|
22 |
-
msgid "Disable comments on the entire site"
|
23 |
-
msgstr "Désactiver les commentaires sur l'ensemble du site"
|
24 |
-
|
25 |
-
#: admin/boot.php:25 admin/pages/comments.php:249
|
26 |
-
msgid "Select post types"
|
27 |
-
msgstr "Sélectionnez types de publication"
|
28 |
-
|
29 |
-
#: admin/boot.php:30 admin/pages/comments.php:270
|
30 |
-
msgid "Replace external links in comments on the JavaScript code"
|
31 |
-
msgstr ""
|
32 |
-
"Remplacer les liens externes dans les commentaires sur le code JavaScript"
|
33 |
-
|
34 |
-
#: admin/boot.php:35 admin/pages/comments.php:280
|
35 |
-
msgid "Replace external links from comment authors on the JavaScript code"
|
36 |
-
msgstr ""
|
37 |
-
"Remplacer les liens externes des auteurs de commentaires sur le code "
|
38 |
-
"JavaScript"
|
39 |
-
|
40 |
-
#: admin/boot.php:40
|
41 |
-
msgid "Disable X-Pingback"
|
42 |
-
msgstr "Désactiver X-Pingback"
|
43 |
-
|
44 |
-
#: admin/boot.php:45 admin/pages/comments.php:260
|
45 |
-
msgid "Remove field \"site\" in comment form"
|
46 |
-
msgstr "Supprimer le champ \"site\" dans le formulaire de commentaire"
|
47 |
-
|
48 |
-
#: admin/boot.php:56
|
49 |
-
msgid "Disable all comments"
|
50 |
-
msgstr "Désactiver tous les commentaires"
|
51 |
-
|
52 |
-
#: admin/boot.php:66
|
53 |
-
msgid "Get ultimate plugin free"
|
54 |
-
msgstr "Obtenez le plugin ultime gratuitement"
|
55 |
-
|
56 |
-
#: admin/pages/comments.php:24 admin/pages/comments.php:214
|
57 |
-
msgid "Disable comments"
|
58 |
-
msgstr "Désactiver les commentaires"
|
59 |
-
|
60 |
-
#: admin/pages/comments.php:40
|
61 |
-
msgid "Comments"
|
62 |
-
msgstr "Commentaires"
|
63 |
-
|
64 |
-
#: admin/pages/comments.php:41
|
65 |
-
msgid "General"
|
66 |
-
msgstr "Général"
|
67 |
-
|
68 |
-
#: admin/pages/comments.php:56
|
69 |
-
msgid "All comments have been deleted."
|
70 |
-
msgstr "Tous les commentaires ont été supprimés."
|
71 |
-
|
72 |
-
#: admin/pages/comments.php:65
|
73 |
-
msgid ""
|
74 |
-
"An error occurred while trying to delete comments. Internal error occured. "
|
75 |
-
"Please try again later."
|
76 |
-
msgstr ""
|
77 |
-
"Une erreur s'est produite lors de la tentative de suppression des "
|
78 |
-
"commentaires. Erreur interne s'est produite. Veuillez réessayer plus tard."
|
79 |
-
|
80 |
-
#: admin/pages/comments.php:79
|
81 |
-
msgid "You are not allowed to view this page."
|
82 |
-
msgstr "Vous n’êtes pas autorisé à voir cette page."
|
83 |
-
|
84 |
-
#: admin/pages/comments.php:89
|
85 |
-
msgid "You do not have the selected post types!"
|
86 |
-
msgstr "Vous n'avez pas les types de postes sélectionnés!"
|
87 |
-
|
88 |
-
#: admin/pages/comments.php:104
|
89 |
-
msgid "No comments available for deletion."
|
90 |
-
msgstr "Aucun commentaire disponible pour la suppression."
|
91 |
-
|
92 |
-
#: admin/pages/comments.php:109
|
93 |
-
msgid "Are you sure that you desire to delete all comments from the database?"
|
94 |
-
msgstr ""
|
95 |
-
"Êtes-vous sûr de vouloir supprimer tous les commentaires de la base de "
|
96 |
-
"données?"
|
97 |
-
|
98 |
-
#: admin/pages/comments.php:110 admin/pages/comments.php:158
|
99 |
-
msgid ""
|
100 |
-
"Deleting comments will remove existing comment entries in the database and "
|
101 |
-
"cannot be reverted without a database backup."
|
102 |
-
msgstr ""
|
103 |
-
"La suppression des commentaires supprime les entrées de commentaire "
|
104 |
-
"existantes dans la base de données et ne peut pas être restaurée sans une "
|
105 |
-
"sauvegarde de base de données."
|
106 |
-
|
107 |
-
#: admin/pages/comments.php:111 admin/pages/comments.php:159
|
108 |
-
#, php-format
|
109 |
-
msgid "You have %s comments"
|
110 |
-
msgstr "Vous avez des commentaires %s"
|
111 |
-
|
112 |
-
#: admin/pages/comments.php:115 admin/pages/comments.php:163
|
113 |
-
msgid "Yes, I'm sure"
|
114 |
-
msgstr "Oui, je suis sûr"
|
115 |
-
|
116 |
-
#: admin/pages/comments.php:123 admin/pages/comments.php:171
|
117 |
-
msgid "No, return back"
|
118 |
-
msgstr "Non, revenez"
|
119 |
-
|
120 |
-
#: admin/pages/comments.php:157
|
121 |
-
#, php-format
|
122 |
-
msgid ""
|
123 |
-
"Are you sure that you desire to delete all comments from the database for "
|
124 |
-
"the selected post types (%s)?"
|
125 |
-
msgstr ""
|
126 |
-
"Êtes-vous sûr de vouloir supprimer tous les commentaires de la base de "
|
127 |
-
"données pour les types de publication sélectionnés (%s)?"
|
128 |
-
|
129 |
-
#: admin/pages/comments.php:216
|
130 |
-
msgid "Not disable"
|
131 |
-
msgstr "Ne pas désactiver"
|
132 |
-
|
133 |
-
#: admin/pages/comments.php:219
|
134 |
-
msgid "Everywhere"
|
135 |
-
msgstr "Partout"
|
136 |
-
|
137 |
-
#: admin/pages/comments.php:220
|
138 |
-
#, php-format
|
139 |
-
msgid ""
|
140 |
-
"You can delete all comments in the database by clicking on this link (<a "
|
141 |
-
"href=\"%s\">cleaning comments in database</a>)."
|
142 |
-
msgstr ""
|
143 |
-
"Vous pouvez supprimer tous les commentaires de la base de données en "
|
144 |
-
"cliquant sur ce lien (<a href=\"%s\"> nettoyer les commentaires dans la "
|
145 |
-
"base de données </a>)."
|
146 |
-
|
147 |
-
#: admin/pages/comments.php:224
|
148 |
-
msgid "On certain post types"
|
149 |
-
msgstr "Sur certains types de postes"
|
150 |
-
|
151 |
-
#: admin/pages/comments.php:225
|
152 |
-
#, php-format
|
153 |
-
msgid ""
|
154 |
-
"You can delete all comments for the selected post types. Select the post "
|
155 |
-
"types below and save the settings. After that, click the link (<a href=\"%s"
|
156 |
-
"\">delete all comments for the selected post types in database</a>)."
|
157 |
-
msgstr ""
|
158 |
-
"Vous pouvez supprimer tous les commentaires pour les types de publication "
|
159 |
-
"sélectionnés. Sélectionnez les types de publication ci-dessous et "
|
160 |
-
"enregistrez les paramètres. Après cela, cliquez sur le lien (<a href=\"%s"
|
161 |
-
"\"> supprimer tous les commentaires pour les types de publication "
|
162 |
-
"sélectionnés dans la base de données </a>)."
|
163 |
-
|
164 |
-
#: admin/pages/comments.php:229
|
165 |
-
msgid ""
|
166 |
-
"Everywhere - Warning: This option is global and will affect your entire "
|
167 |
-
"site. Use it only if you want to disable comments everywhere. A complete "
|
168 |
-
"description of what this option does is available here"
|
169 |
-
msgstr ""
|
170 |
-
"Partout - Attention: Cette option est globale et aura une incidence sur "
|
171 |
-
"l'ensemble de votre site. Utilisez-le uniquement si vous souhaitez "
|
172 |
-
"désactiver les commentaires partout. Une description complète de ce que "
|
173 |
-
"cette option fait est disponible ici"
|
174 |
-
|
175 |
-
#: admin/pages/comments.php:229
|
176 |
-
msgid ""
|
177 |
-
"On certain post types - Disabling comments will also disable trackbacks and "
|
178 |
-
"pingbacks. All comment-related fields will also be hidden from the edit/"
|
179 |
-
"quick-edit screens of the affected posts. These settings cannot be "
|
180 |
-
"overridden for individual posts."
|
181 |
-
msgstr ""
|
182 |
-
"Sur certains types de publication - Désactiver les commentaires désactivera "
|
183 |
-
"également les rétroliens et les pingbacks. Tous les champs relatifs aux "
|
184 |
-
"commentaires seront également masqués dans les écrans d'édition / de "
|
185 |
-
"modification rapide des publications concernées. Ces paramètres ne peuvent "
|
186 |
-
"pas être remplacés pour les messages individuels."
|
187 |
-
|
188 |
-
#: admin/pages/comments.php:252
|
189 |
-
msgid "Select the post types for which comments will be disabled"
|
190 |
-
msgstr ""
|
191 |
-
"Sélectionnez les types de postes pour lesquels les commentaires seront "
|
192 |
-
"désactivés"
|
193 |
-
|
194 |
-
#: admin/pages/comments.php:262
|
195 |
-
msgid ""
|
196 |
-
"Tired of spam in the comments? Do visitors leave \"blank\" comments for the "
|
197 |
-
"sake of a link to their site?"
|
198 |
-
msgstr ""
|
199 |
-
"Fatigué de spam dans les commentaires? Est-ce que les visiteurs laissent "
|
200 |
-
"des commentaires «vides» pour un lien vers leur site?"
|
201 |
-
|
202 |
-
#: admin/pages/comments.php:262
|
203 |
-
msgid "Removes the \"Site\" field from the comment form."
|
204 |
-
msgstr "Supprime le champ \"site\" du formulaire de commentaire."
|
205 |
-
|
206 |
-
#: admin/pages/comments.php:262
|
207 |
-
msgid ""
|
208 |
-
"Works with the standard comment form, if the form is manually written in "
|
209 |
-
"your theme-it probably will not work!"
|
210 |
-
msgstr ""
|
211 |
-
"Fonctionne avec le formulaire de commentaire standard, si le formulaire est "
|
212 |
-
"écrit manuellement dans votre thème-il ne fonctionnera probablement pas!"
|
213 |
-
|
214 |
-
#: admin/pages/comments.php:270 admin/pages/comments.php:280
|
215 |
-
#: admin/pages/comments.php:290
|
216 |
-
msgid "Recommended"
|
217 |
-
msgstr "Recommandées"
|
218 |
-
|
219 |
-
#: admin/pages/comments.php:272
|
220 |
-
msgid ""
|
221 |
-
"Superfluous external links from comments, which can be typed from a dozen "
|
222 |
-
"and more for one article, do not bring anything good for promotion."
|
223 |
-
msgstr ""
|
224 |
-
"Superflu Liens externes de commentaires, qui peut être tapé à partir d'une "
|
225 |
-
"douzaine et plus pour un article, ne pas apporter quelque chose de bon pour "
|
226 |
-
"la promotion."
|
227 |
-
|
228 |
-
#: admin/pages/comments.php:272
|
229 |
-
#, php-format
|
230 |
-
msgid "Replaces the links of this kind of %s, on links of this kind %s"
|
231 |
-
msgstr "Remplace les liens de ce type de %s, sur les liens de ce type %s"
|
232 |
-
|
233 |
-
#: admin/pages/comments.php:282
|
234 |
-
msgid ""
|
235 |
-
"Up to 90 percent of comments in the blog can be left for the sake of an "
|
236 |
-
"external link. Even nofollow from page weight loss here does not help."
|
237 |
-
msgstr ""
|
238 |
-
"Jusqu'à 90% des commentaires dans le blog peuvent être laissés pour un lien "
|
239 |
-
"externe. Même nofollow de la perte de poids de page ici ne aide pas."
|
240 |
-
|
241 |
-
#: admin/pages/comments.php:282
|
242 |
-
msgid ""
|
243 |
-
"Replaces the links of the authors of comments on the JavaScript code, it is "
|
244 |
-
"impossible to distinguish it from usual links."
|
245 |
-
msgstr ""
|
246 |
-
"Remplace les liens des auteurs de commentaires sur le code JavaScript, il "
|
247 |
-
"est impossible de le distinguer des liens habituels."
|
248 |
-
|
249 |
-
#: admin/pages/comments.php:282
|
250 |
-
msgid "In some Wordpress topics this may not work."
|
251 |
-
msgstr "Dans certains sujets WordPress cela peut ne pas fonctionner."
|
252 |
-
|
253 |
-
#: admin/pages/comments.php:290
|
254 |
-
msgid "Disable XML-RPC"
|
255 |
-
msgstr "Désactiver xml-rpc"
|
256 |
-
|
257 |
-
#: admin/pages/comments.php:292
|
258 |
-
msgid ""
|
259 |
-
"A pingback is basically an automated comment that gets created when another "
|
260 |
-
"blog links to you. A self-pingback is created when you link to an article "
|
261 |
-
"within your own blog. Pingbacks are essentially nothing more than spam and "
|
262 |
-
"simply waste resources."
|
263 |
-
msgstr ""
|
264 |
-
"Un Pingback est fondamentalement un commentaire automatisé qui obtient créé "
|
265 |
-
"quand un autre blog lie à vous. Un self-Pingback est créé lorsque vous liez "
|
266 |
-
"à un article dans votre propre blog. Pingbacks sont essentiellement rien de "
|
267 |
-
"plus que du spam et simplement des ressources de gaspillage."
|
268 |
-
|
269 |
-
#: admin/pages/comments.php:292
|
270 |
-
msgid "Removes the server responses a reference to the xmlrpc file."
|
271 |
-
msgstr "Supprime les réponses du serveur une référence au fichier xml-rpc."
|
272 |
-
|
273 |
-
#: comments-plus.php:17
|
274 |
-
msgid ""
|
275 |
-
"We found that you have the \"Clearfy - disable unused features\" plugin "
|
276 |
-
"installed, this plugin already has disable comments functions, so you can "
|
277 |
-
"deactivate plugin \"Disable comments\"!"
|
278 |
-
msgstr ""
|
279 |
-
"Nous avons trouvé que vous aviez installé le plugin \"Clarifier - "
|
280 |
-
"désactiver les fonctionnalités inutilisées\", ce plugin a déjà désactivé "
|
281 |
-
"les fonctions de commentaires, vous pouvez donc désactiver le plugin "
|
282 |
-
"\"Désactiver les commentaires\"!"
|
283 |
-
|
284 |
-
#: comments-plus.php:82
|
285 |
-
msgid "Webcraftic Disable comments"
|
286 |
-
msgstr "Webcraftic Désactiver les commentaires"
|
287 |
-
|
288 |
-
#: includes/classes/class.configurate-comments.php:169
|
289 |
-
#: includes/classes/class.configurate-comments.php:215
|
290 |
-
msgid "Comments are closed."
|
291 |
-
msgstr "Les commentaires sont fermés."
|
292 |
-
|
293 |
-
#: includes/classes/class.configurate-comments.php:203
|
294 |
-
#, php-format
|
295 |
-
msgid ""
|
296 |
-
"Note: The <em>%s</em> plugin is currently active, and comments are "
|
297 |
-
"completely disabled on: %s. Many of the settings below will not be "
|
298 |
-
"applicable for those post types."
|
299 |
-
msgstr ""
|
300 |
-
"Note: Le plugin <em>%s</em> est actuellement actif, et les commentaires "
|
301 |
-
"sont complètement désactivés sur: %s. La plupart des paramètres ci-dessous "
|
302 |
-
"ne seront pas applicables pour ces types de publication."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
components/comments-plus/languages/comments-plus-ru_RU.mo
CHANGED
Binary file
|
components/comments-plus/languages/comments-plus-ru_RU.po
CHANGED
@@ -1,8 +1,8 @@
|
|
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"
|
@@ -18,59 +18,78 @@ msgstr ""
|
|
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 "Comments"
|
59 |
msgstr "Комментарии"
|
60 |
|
61 |
-
#: admin/pages/comments.php:
|
62 |
msgid "General"
|
63 |
msgstr "Основные"
|
64 |
|
65 |
#: admin/pages/comments.php:64
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
msgid "Not disable"
|
67 |
msgstr "Не отключать"
|
68 |
|
69 |
-
#: admin/pages/comments.php:
|
70 |
msgid "Everywhere"
|
71 |
msgstr "Повсюду"
|
72 |
|
73 |
-
#: admin/pages/comments.php:
|
74 |
#, php-format
|
75 |
msgid ""
|
76 |
"You can delete all comments in the database by clicking on this link (<a "
|
@@ -79,11 +98,11 @@ msgstr ""
|
|
79 |
"Вы можете удалить все комментарии в базе данных, нажав на эту ссылку ( <a "
|
80 |
"href=\"%s\">очистка комментариев в базе данных</a> )."
|
81 |
|
82 |
-
#: admin/pages/comments.php:
|
83 |
msgid "On certain post types"
|
84 |
msgstr "Только выбранные типы записей"
|
85 |
|
86 |
-
#: admin/pages/comments.php:
|
87 |
#, php-format
|
88 |
msgid ""
|
89 |
"You can delete all comments for the selected post types. Select the post "
|
@@ -94,7 +113,7 @@ msgstr ""
|
|
94 |
"записей ниже и сохраните настройки. После этого нажмите ссылку ( <a href=\"%s"
|
95 |
"\">удалите все комментарии для выбранных типов записей в базе данных</a> )."
|
96 |
|
97 |
-
#: admin/pages/comments.php:
|
98 |
msgid ""
|
99 |
"Everywhere - Warning: This option is global and will affect your entire "
|
100 |
"site. Use it only if you want to disable comments everywhere. A complete "
|
@@ -104,7 +123,7 @@ msgstr ""
|
|
104 |
"весь ваш сайт. Используйте его только в том случае, если вы хотите отключить "
|
105 |
"комментарии повсюду. "
|
106 |
|
107 |
-
#: admin/pages/comments.php:
|
108 |
msgid ""
|
109 |
"On certain post types - Disabling comments will also disable trackbacks and "
|
110 |
"pingbacks. All comment-related fields will also be hidden from the edit/"
|
@@ -116,11 +135,19 @@ msgstr ""
|
|
116 |
"от экранов редактирования / быстрого редактирования затронутых сообщений. "
|
117 |
"Эти настройки нельзя переопределять для отдельных сообщений."
|
118 |
|
119 |
-
#: admin/pages/comments.php:
|
120 |
msgid "Select the post types for which comments will be disabled"
|
121 |
msgstr "Выберите типы записей, для которых комментарии будут отключены."
|
122 |
|
123 |
-
#: admin/pages/comments.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
124 |
msgid ""
|
125 |
"Tired of spam in the comments? Do visitors leave \"blank\" comments for the "
|
126 |
"sake of a link to their site?"
|
@@ -128,11 +155,11 @@ msgstr ""
|
|
128 |
"Надоел спам в комментариях? Посетители оставляют «пустые» комментарии ради "
|
129 |
"ссылки на свой сайт?"
|
130 |
|
131 |
-
#: admin/pages/comments.php:
|
132 |
msgid "Removes the \"Site\" field from the comment form."
|
133 |
msgstr "Убирает поле «Сайт» из формы комментирования."
|
134 |
|
135 |
-
#: admin/pages/comments.php:
|
136 |
msgid ""
|
137 |
"Works with the standard comment form, if the form is manually written in "
|
138 |
"your theme-it probably will not work!"
|
@@ -140,12 +167,7 @@ msgstr ""
|
|
140 |
"Работает со стандартной формой комментирования, если в Вашей теме форма "
|
141 |
"прописана вручную - скорей всего не сработает!"
|
142 |
|
143 |
-
#: admin/pages/comments.php:
|
144 |
-
#: admin/pages/comments.php:138
|
145 |
-
msgid "Recommended"
|
146 |
-
msgstr "Рекомендовано"
|
147 |
-
|
148 |
-
#: admin/pages/comments.php:120
|
149 |
msgid ""
|
150 |
"Superfluous external links from comments, which can be typed from a dozen "
|
151 |
"and more for one article, do not bring anything good for promotion."
|
@@ -153,14 +175,14 @@ msgstr ""
|
|
153 |
"Внешние ссылки в комментариях, которых может быть десятки или больше на "
|
154 |
"одной странице, могут ухудшить продвижение вашего сайта."
|
155 |
|
156 |
-
#: admin/pages/comments.php:
|
157 |
#, php-format
|
158 |
msgid "Replaces the links of this kind of %s, on links of this kind %s"
|
159 |
msgstr ""
|
160 |
"Заменяет ссылки %s, на span тег и устанавливает переход с помощью JavaScript "
|
161 |
"%s"
|
162 |
|
163 |
-
#: admin/pages/comments.php:
|
164 |
msgid ""
|
165 |
"Up to 90 percent of comments in the blog can be left for the sake of an "
|
166 |
"external link. Even nofollow from page weight loss here does not help."
|
@@ -168,7 +190,7 @@ msgstr ""
|
|
168 |
"До 90 процентов комментариев в блоге оставляют ради внешней ссылки. Не "
|
169 |
"поможет даже nofollow от потери веса страницы."
|
170 |
|
171 |
-
#: admin/pages/comments.php:
|
172 |
msgid ""
|
173 |
"Replaces the links of the authors of comments on the JavaScript code, it is "
|
174 |
"impossible to distinguish it from usual links."
|
@@ -176,15 +198,15 @@ msgstr ""
|
|
176 |
"Заменяет ссылки авторов комментариев на JavaScript код, его невозможно "
|
177 |
"отличить от обычной ссылки."
|
178 |
|
179 |
-
#: admin/pages/comments.php:
|
180 |
msgid "In some Wordpress topics this may not work."
|
181 |
msgstr "В некоторых темах Wordpress это может не сработать."
|
182 |
|
183 |
-
#: admin/pages/comments.php:
|
184 |
msgid "Disable XML-RPC"
|
185 |
msgstr "Отключить XML-RPC"
|
186 |
|
187 |
-
#: admin/pages/comments.php:
|
188 |
msgid ""
|
189 |
"A pingback is basically an automated comment that gets created when another "
|
190 |
"blog links to you. A self-pingback is created when you link to an article "
|
@@ -196,19 +218,19 @@ msgstr ""
|
|
196 |
"оставили ссылку на статью в своем блоге. Pingbacks по существу являются не "
|
197 |
"более чем спам и пустая трата ресурсов вашего сайта."
|
198 |
|
199 |
-
#: admin/pages/comments.php:
|
200 |
msgid "Removes the server responses a reference to the xmlrpc file."
|
201 |
msgstr "Удаляет ссылку на xmlrpc-файл и ответ сервера."
|
202 |
|
203 |
-
#: admin/pages/delete-comments.php:
|
204 |
msgid "Comments cleaner"
|
205 |
msgstr "Очистка комментариев"
|
206 |
|
207 |
-
#: admin/pages/delete-comments.php:
|
208 |
msgid "All comments have been deleted."
|
209 |
msgstr "Все комментарии были удалены."
|
210 |
|
211 |
-
#: admin/pages/delete-comments.php:
|
212 |
msgid ""
|
213 |
"An error occurred while trying to delete comments. Internal error occured. "
|
214 |
"Please try again later."
|
@@ -216,69 +238,81 @@ msgstr ""
|
|
216 |
"При попытке удалить комментарии произошла ошибка. Пожалуйста, повторите "
|
217 |
"попытку позже."
|
218 |
|
219 |
-
#: admin/pages/delete-comments.php:
|
220 |
msgid ""
|
221 |
"Are you sure you want to delete comments from the database without restoring?"
|
222 |
msgstr ""
|
223 |
"Вы уверены, что вы хотите удалить комментарии из базы данных без "
|
224 |
"восстановления?"
|
225 |
|
226 |
-
#: admin/pages/delete-comments.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
227 |
msgid "Remove all comments"
|
228 |
msgstr "Удалить все комментарии"
|
229 |
|
230 |
-
#: admin/pages/delete-comments.php:
|
231 |
msgid "You can delete all comments in your database with one click."
|
232 |
msgstr "Вы можете удалить все комментарии в базе данных с одним щелчком мыши."
|
233 |
|
234 |
-
#: admin/pages/delete-comments.php:
|
235 |
msgid "Choose post types"
|
236 |
msgstr "Выберите типы записей"
|
237 |
|
238 |
-
#: admin/pages/delete-comments.php:
|
239 |
msgid "Select all"
|
240 |
msgstr "Выбрать все"
|
241 |
|
242 |
-
#: admin/pages/delete-comments.php:
|
243 |
#, php-format
|
244 |
msgid "Delete Woocommerce order notices? (%d)"
|
245 |
msgstr "Удалять заметки от заказов Woocommerce? (%d)"
|
246 |
|
247 |
-
#: admin/pages/delete-comments.php:
|
248 |
-
#: admin/pages/delete-comments.php:
|
249 |
#, php-format
|
250 |
msgid "Delete (%d)"
|
251 |
msgstr "Удалить (%d)"
|
252 |
|
253 |
-
#: admin/pages/delete-comments.php:
|
254 |
msgid "Remove spam comments"
|
255 |
msgstr "Удалить спам комментарии"
|
256 |
|
257 |
-
#: admin/pages/delete-comments.php:
|
258 |
msgid "You can remove only spam comments from the database with one click."
|
259 |
msgstr ""
|
260 |
"Вы можете одним нажатием удалить только спам комментарии из базы данных."
|
261 |
|
262 |
-
#: admin/pages/delete-comments.php:
|
263 |
msgid "Remove unapproved comments"
|
264 |
msgstr "Удалить неподтвержденные комментарии"
|
265 |
|
266 |
-
#: admin/pages/delete-comments.php:
|
267 |
msgid ""
|
268 |
"You can remove only unapproved comments from the database with one click."
|
269 |
msgstr ""
|
270 |
"Вы можете одним нажатием удалить только не подтвержденные комментарии из "
|
271 |
"базы данных."
|
272 |
|
273 |
-
#: admin/pages/delete-comments.php:
|
274 |
msgid "Remove trashed comments"
|
275 |
msgstr "Удалить комментарии из корзины"
|
276 |
|
277 |
-
#: admin/pages/delete-comments.php:
|
278 |
msgid "You can remove only trashed comments from the database with one click."
|
279 |
msgstr "Вы можете одним нажатием удалить только комментарии из корзины."
|
280 |
|
281 |
-
#: comments-plus.php:
|
282 |
msgid ""
|
283 |
"We found that you have the \"Clearfy - disable unused features\" plugin "
|
284 |
"installed, this plugin already has disable comments functions, so you can "
|
@@ -288,16 +322,16 @@ msgstr ""
|
|
288 |
"неиспользуемые функции», этот плагин уже имеет функции отключения "
|
289 |
"комментариев, поэтому вы можете отключить плагин «Отключить комментарии»!"
|
290 |
|
291 |
-
#: comments-plus.php:
|
292 |
msgid "Webcraftic Disable comments"
|
293 |
msgstr "Webcraftic отключить комментарии"
|
294 |
|
295 |
-
#: includes/classes/class.configurate-comments.php:
|
296 |
-
#: includes/classes/class.configurate-comments.php:
|
297 |
msgid "Comments are closed."
|
298 |
msgstr "Комментарии Закрыты."
|
299 |
|
300 |
-
#: includes/classes/class.configurate-comments.php:
|
301 |
#, php-format
|
302 |
msgid ""
|
303 |
"Note: The <em>%s</em> plugin is currently active, and comments are "
|
@@ -308,6 +342,9 @@ msgstr ""
|
|
308 |
"полностью отключены: %s. Многие из приведенных ниже настроек не будут "
|
309 |
"применяться для этих типов сообщений."
|
310 |
|
|
|
|
|
|
|
311 |
#~ msgid "You are not allowed to view this page."
|
312 |
#~ msgstr "Вам не разрешено просматривать эту страницу."
|
313 |
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: clearfy\n"
|
4 |
+
"POT-Creation-Date: 2018-03-14 15:41+0300\n"
|
5 |
+
"PO-Revision-Date: 2018-03-14 15:43+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"
|
18 |
"X-Poedit-SearchPath-0: .\n"
|
19 |
"X-Poedit-SearchPathExcluded-0: libs\n"
|
20 |
|
21 |
+
#: admin/boot.php:29
|
22 |
msgid "Disable comments on the entire site"
|
23 |
msgstr "Отключить комментарии на всем сайте"
|
24 |
|
25 |
+
#: admin/boot.php:35 admin/pages/comments.php:112
|
26 |
msgid "Select post types"
|
27 |
msgstr "Выбрать тип записи"
|
28 |
|
29 |
+
#: admin/boot.php:40 admin/pages/comments.php:140
|
30 |
msgid "Replace external links in comments on the JavaScript code"
|
31 |
msgstr "Заменить внешние ссылки в комментариях на JavaScript код"
|
32 |
|
33 |
+
#: admin/boot.php:45 admin/pages/comments.php:149
|
34 |
msgid "Replace external links from comment authors on the JavaScript code"
|
35 |
msgstr "Заменить внешние ссылки от авторов комментариев на код JavaScript"
|
36 |
|
37 |
+
#: admin/boot.php:50
|
38 |
msgid "Disable X-Pingback"
|
39 |
msgstr "Убрать ссылку на X-Pingback и возможность спамить pingback-ами"
|
40 |
|
41 |
+
#: admin/boot.php:55 admin/pages/comments.php:131
|
42 |
msgid "Remove field \"site\" in comment form"
|
43 |
msgstr "Удаляет поле \"Сайт\" в форме комментариев"
|
44 |
|
45 |
+
#: admin/boot.php:67
|
46 |
msgid "One click disable all comments"
|
47 |
msgstr "Отключить все комментарии в один клик"
|
48 |
|
49 |
+
#: admin/boot.php:79
|
50 |
msgid "Get ultimate plugin free"
|
51 |
msgstr "Получите полную версию плагина бесплатно"
|
52 |
|
53 |
+
#: admin/pages/comments.php:33 admin/pages/comments.php:77
|
54 |
msgid "Disable comments"
|
55 |
msgstr "Отключить комментарии"
|
56 |
|
57 |
+
#: admin/pages/comments.php:47
|
58 |
msgid "Comments"
|
59 |
msgstr "Комментарии"
|
60 |
|
61 |
+
#: admin/pages/comments.php:48
|
62 |
msgid "General"
|
63 |
msgstr "Основные"
|
64 |
|
65 |
#: admin/pages/comments.php:64
|
66 |
+
msgid "Global disabling of comments"
|
67 |
+
msgstr "Глобальное отключение комментариев"
|
68 |
+
|
69 |
+
#: admin/pages/comments.php:64
|
70 |
+
msgid ""
|
71 |
+
"What is the difference between these and native WordPress functions? "
|
72 |
+
"WordPress disables comments only for new posts! Using the functions below, "
|
73 |
+
"you can disable comments globally, even for old posts, and you can choose "
|
74 |
+
"which post types comments to disable. The plugin also disables the comment "
|
75 |
+
"functionality itself, which creates a certain load on the site."
|
76 |
+
msgstr ""
|
77 |
+
"Чем отличается эти функции от нативных функций Wordpress? Wordpress "
|
78 |
+
"отключает комментарии только для новых записей! С помощью функций ниже, вы "
|
79 |
+
"можете отключить комментарии глобально, даже для старых записей, причем вы "
|
80 |
+
"можете выбрать для каких типов записей нужно отключить комментарии. Плагин "
|
81 |
+
"также отключает сам функционал комментариев, который создает определенную "
|
82 |
+
"нагрузку на сайт."
|
83 |
+
|
84 |
+
#: admin/pages/comments.php:79
|
85 |
msgid "Not disable"
|
86 |
msgstr "Не отключать"
|
87 |
|
88 |
+
#: admin/pages/comments.php:82
|
89 |
msgid "Everywhere"
|
90 |
msgstr "Повсюду"
|
91 |
|
92 |
+
#: admin/pages/comments.php:83
|
93 |
#, php-format
|
94 |
msgid ""
|
95 |
"You can delete all comments in the database by clicking on this link (<a "
|
98 |
"Вы можете удалить все комментарии в базе данных, нажав на эту ссылку ( <a "
|
99 |
"href=\"%s\">очистка комментариев в базе данных</a> )."
|
100 |
|
101 |
+
#: admin/pages/comments.php:87
|
102 |
msgid "On certain post types"
|
103 |
msgstr "Только выбранные типы записей"
|
104 |
|
105 |
+
#: admin/pages/comments.php:88
|
106 |
#, php-format
|
107 |
msgid ""
|
108 |
"You can delete all comments for the selected post types. Select the post "
|
113 |
"записей ниже и сохраните настройки. После этого нажмите ссылку ( <a href=\"%s"
|
114 |
"\">удалите все комментарии для выбранных типов записей в базе данных</a> )."
|
115 |
|
116 |
+
#: admin/pages/comments.php:92
|
117 |
msgid ""
|
118 |
"Everywhere - Warning: This option is global and will affect your entire "
|
119 |
"site. Use it only if you want to disable comments everywhere. A complete "
|
123 |
"весь ваш сайт. Используйте его только в том случае, если вы хотите отключить "
|
124 |
"комментарии повсюду. "
|
125 |
|
126 |
+
#: admin/pages/comments.php:92
|
127 |
msgid ""
|
128 |
"On certain post types - Disabling comments will also disable trackbacks and "
|
129 |
"pingbacks. All comment-related fields will also be hidden from the edit/"
|
135 |
"от экранов редактирования / быстрого редактирования затронутых сообщений. "
|
136 |
"Эти настройки нельзя переопределять для отдельных сообщений."
|
137 |
|
138 |
+
#: admin/pages/comments.php:115
|
139 |
msgid "Select the post types for which comments will be disabled"
|
140 |
msgstr "Выберите типы записей, для которых комментарии будут отключены."
|
141 |
|
142 |
+
#: admin/pages/comments.php:125
|
143 |
+
msgid "General settings for comments"
|
144 |
+
msgstr "Общие настройки комментариев"
|
145 |
+
|
146 |
+
#: admin/pages/comments.php:125
|
147 |
+
msgid "These settings will help you improve SEO and reduce the amount of spam."
|
148 |
+
msgstr "Эти настройки помогут вам улучшить SEO и уменьшить количество спама."
|
149 |
+
|
150 |
+
#: admin/pages/comments.php:133
|
151 |
msgid ""
|
152 |
"Tired of spam in the comments? Do visitors leave \"blank\" comments for the "
|
153 |
"sake of a link to their site?"
|
155 |
"Надоел спам в комментариях? Посетители оставляют «пустые» комментарии ради "
|
156 |
"ссылки на свой сайт?"
|
157 |
|
158 |
+
#: admin/pages/comments.php:133
|
159 |
msgid "Removes the \"Site\" field from the comment form."
|
160 |
msgstr "Убирает поле «Сайт» из формы комментирования."
|
161 |
|
162 |
+
#: admin/pages/comments.php:133
|
163 |
msgid ""
|
164 |
"Works with the standard comment form, if the form is manually written in "
|
165 |
"your theme-it probably will not work!"
|
167 |
"Работает со стандартной формой комментирования, если в Вашей теме форма "
|
168 |
"прописана вручную - скорей всего не сработает!"
|
169 |
|
170 |
+
#: admin/pages/comments.php:142
|
|
|
|
|
|
|
|
|
|
|
171 |
msgid ""
|
172 |
"Superfluous external links from comments, which can be typed from a dozen "
|
173 |
"and more for one article, do not bring anything good for promotion."
|
175 |
"Внешние ссылки в комментариях, которых может быть десятки или больше на "
|
176 |
"одной странице, могут ухудшить продвижение вашего сайта."
|
177 |
|
178 |
+
#: admin/pages/comments.php:142
|
179 |
#, php-format
|
180 |
msgid "Replaces the links of this kind of %s, on links of this kind %s"
|
181 |
msgstr ""
|
182 |
"Заменяет ссылки %s, на span тег и устанавливает переход с помощью JavaScript "
|
183 |
"%s"
|
184 |
|
185 |
+
#: admin/pages/comments.php:151
|
186 |
msgid ""
|
187 |
"Up to 90 percent of comments in the blog can be left for the sake of an "
|
188 |
"external link. Even nofollow from page weight loss here does not help."
|
190 |
"До 90 процентов комментариев в блоге оставляют ради внешней ссылки. Не "
|
191 |
"поможет даже nofollow от потери веса страницы."
|
192 |
|
193 |
+
#: admin/pages/comments.php:151
|
194 |
msgid ""
|
195 |
"Replaces the links of the authors of comments on the JavaScript code, it is "
|
196 |
"impossible to distinguish it from usual links."
|
198 |
"Заменяет ссылки авторов комментариев на JavaScript код, его невозможно "
|
199 |
"отличить от обычной ссылки."
|
200 |
|
201 |
+
#: admin/pages/comments.php:151
|
202 |
msgid "In some Wordpress topics this may not work."
|
203 |
msgstr "В некоторых темах Wordpress это может не сработать."
|
204 |
|
205 |
+
#: admin/pages/comments.php:158
|
206 |
msgid "Disable XML-RPC"
|
207 |
msgstr "Отключить XML-RPC"
|
208 |
|
209 |
+
#: admin/pages/comments.php:160
|
210 |
msgid ""
|
211 |
"A pingback is basically an automated comment that gets created when another "
|
212 |
"blog links to you. A self-pingback is created when you link to an article "
|
218 |
"оставили ссылку на статью в своем блоге. Pingbacks по существу являются не "
|
219 |
"более чем спам и пустая трата ресурсов вашего сайта."
|
220 |
|
221 |
+
#: admin/pages/comments.php:160
|
222 |
msgid "Removes the server responses a reference to the xmlrpc file."
|
223 |
msgstr "Удаляет ссылку на xmlrpc-файл и ответ сервера."
|
224 |
|
225 |
+
#: admin/pages/delete-comments.php:36
|
226 |
msgid "Comments cleaner"
|
227 |
msgstr "Очистка комментариев"
|
228 |
|
229 |
+
#: admin/pages/delete-comments.php:57
|
230 |
msgid "All comments have been deleted."
|
231 |
msgstr "Все комментарии были удалены."
|
232 |
|
233 |
+
#: admin/pages/delete-comments.php:66
|
234 |
msgid ""
|
235 |
"An error occurred while trying to delete comments. Internal error occured. "
|
236 |
"Please try again later."
|
238 |
"При попытке удалить комментарии произошла ошибка. Пожалуйста, повторите "
|
239 |
"попытку позже."
|
240 |
|
241 |
+
#: admin/pages/delete-comments.php:127
|
242 |
msgid ""
|
243 |
"Are you sure you want to delete comments from the database without restoring?"
|
244 |
msgstr ""
|
245 |
"Вы уверены, что вы хотите удалить комментарии из базы данных без "
|
246 |
"восстановления?"
|
247 |
|
248 |
+
#: admin/pages/delete-comments.php:139
|
249 |
+
msgid "Comments clearing tools"
|
250 |
+
msgstr "Комментарии очищающие инструменты"
|
251 |
+
|
252 |
+
#: admin/pages/delete-comments.php:142
|
253 |
+
msgid ""
|
254 |
+
"These functions can be useful for global disabling comments or bulk cleaning "
|
255 |
+
"spam comments."
|
256 |
+
msgstr ""
|
257 |
+
"Эти функции могут быть полезны для глобальных отключений комментариев или "
|
258 |
+
"массовой очистки спама комментариев."
|
259 |
+
|
260 |
+
#: admin/pages/delete-comments.php:147
|
261 |
msgid "Remove all comments"
|
262 |
msgstr "Удалить все комментарии"
|
263 |
|
264 |
+
#: admin/pages/delete-comments.php:149
|
265 |
msgid "You can delete all comments in your database with one click."
|
266 |
msgstr "Вы можете удалить все комментарии в базе данных с одним щелчком мыши."
|
267 |
|
268 |
+
#: admin/pages/delete-comments.php:151
|
269 |
msgid "Choose post types"
|
270 |
msgstr "Выберите типы записей"
|
271 |
|
272 |
+
#: admin/pages/delete-comments.php:156
|
273 |
msgid "Select all"
|
274 |
msgstr "Выбрать все"
|
275 |
|
276 |
+
#: admin/pages/delete-comments.php:172
|
277 |
#, php-format
|
278 |
msgid "Delete Woocommerce order notices? (%d)"
|
279 |
msgstr "Удалять заметки от заказов Woocommerce? (%d)"
|
280 |
|
281 |
+
#: admin/pages/delete-comments.php:177 admin/pages/delete-comments.php:188
|
282 |
+
#: admin/pages/delete-comments.php:195 admin/pages/delete-comments.php:202
|
283 |
#, php-format
|
284 |
msgid "Delete (%d)"
|
285 |
msgstr "Удалить (%d)"
|
286 |
|
287 |
+
#: admin/pages/delete-comments.php:184
|
288 |
msgid "Remove spam comments"
|
289 |
msgstr "Удалить спам комментарии"
|
290 |
|
291 |
+
#: admin/pages/delete-comments.php:186
|
292 |
msgid "You can remove only spam comments from the database with one click."
|
293 |
msgstr ""
|
294 |
"Вы можете одним нажатием удалить только спам комментарии из базы данных."
|
295 |
|
296 |
+
#: admin/pages/delete-comments.php:191
|
297 |
msgid "Remove unapproved comments"
|
298 |
msgstr "Удалить неподтвержденные комментарии"
|
299 |
|
300 |
+
#: admin/pages/delete-comments.php:193
|
301 |
msgid ""
|
302 |
"You can remove only unapproved comments from the database with one click."
|
303 |
msgstr ""
|
304 |
"Вы можете одним нажатием удалить только не подтвержденные комментарии из "
|
305 |
"базы данных."
|
306 |
|
307 |
+
#: admin/pages/delete-comments.php:198
|
308 |
msgid "Remove trashed comments"
|
309 |
msgstr "Удалить комментарии из корзины"
|
310 |
|
311 |
+
#: admin/pages/delete-comments.php:200
|
312 |
msgid "You can remove only trashed comments from the database with one click."
|
313 |
msgstr "Вы можете одним нажатием удалить только комментарии из корзины."
|
314 |
|
315 |
+
#: comments-plus.php:22
|
316 |
msgid ""
|
317 |
"We found that you have the \"Clearfy - disable unused features\" plugin "
|
318 |
"installed, this plugin already has disable comments functions, so you can "
|
322 |
"неиспользуемые функции», этот плагин уже имеет функции отключения "
|
323 |
"комментариев, поэтому вы можете отключить плагин «Отключить комментарии»!"
|
324 |
|
325 |
+
#: comments-plus.php:80
|
326 |
msgid "Webcraftic Disable comments"
|
327 |
msgstr "Webcraftic отключить комментарии"
|
328 |
|
329 |
+
#: includes/classes/class.configurate-comments.php:188
|
330 |
+
#: includes/classes/class.configurate-comments.php:240
|
331 |
msgid "Comments are closed."
|
332 |
msgstr "Комментарии Закрыты."
|
333 |
|
334 |
+
#: includes/classes/class.configurate-comments.php:228
|
335 |
#, php-format
|
336 |
msgid ""
|
337 |
"Note: The <em>%s</em> plugin is currently active, and comments are "
|
342 |
"полностью отключены: %s. Многие из приведенных ниже настроек не будут "
|
343 |
"применяться для этих типов сообщений."
|
344 |
|
345 |
+
#~ msgid "Recommended"
|
346 |
+
#~ msgstr "Рекомендовано"
|
347 |
+
|
348 |
#~ msgid "You are not allowed to view this page."
|
349 |
#~ msgstr "Вам не разрешено просматривать эту страницу."
|
350 |
|
components/comments-plus/languages/index.php
ADDED
File without changes
|
components/comments-plus/readme.txt
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
=== Disable Comments for Any Post Types (
|
2 |
Tags: disable comments, disable XML-RPC, remove comments, delete comments, no self pings, wp disable, disable pingback comments, comments manager, webcraftic update manager, clearfy, replace external links, remove comment form, comment form, remove comment form fields, bulk comments management, spam comments cleaner, delete comments by status, no page comment, wp disable comments
|
3 |
Contributors: webcraftic
|
4 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VDX7JNTQPNPFW
|
@@ -93,6 +93,12 @@ Define DISABLE_COMMENTS_REMOVE_COMMENTS_TEMPLATE and set it to false to prevent
|
|
93 |
|
94 |
These definitions can be make either in your main wp-config.php or in your theme’s functions.php file.
|
95 |
|
|
|
|
|
|
|
|
|
|
|
|
|
96 |
== Translations ==
|
97 |
|
98 |
* English - default, always included
|
@@ -108,9 +114,19 @@ If you want to help with the translation, please contact me through this site or
|
|
108 |
3. The plugin settings can be accessed via the 'Settings' menu in the administration area (either your site administration for single-site installs).
|
109 |
|
110 |
== Screenshots ==
|
111 |
-
1. Control panel
|
|
|
112 |
|
113 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
114 |
= 1.0.4 =
|
115 |
* Update plugin core
|
116 |
* Fixed bug reduced plugin weight.
|
1 |
+
=== Disable Comments for Any Post Types (Remove comments) ===
|
2 |
Tags: disable comments, disable XML-RPC, remove comments, delete comments, no self pings, wp disable, disable pingback comments, comments manager, webcraftic update manager, clearfy, replace external links, remove comment form, comment form, remove comment form fields, bulk comments management, spam comments cleaner, delete comments by status, no page comment, wp disable comments
|
3 |
Contributors: webcraftic
|
4 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VDX7JNTQPNPFW
|
93 |
|
94 |
These definitions can be make either in your main wp-config.php or in your theme’s functions.php file.
|
95 |
|
96 |
+
* [Clearfy – WordPress optimization plugin and disable ultimate tweaker](https://wordpress.org/plugins/clearfy/)
|
97 |
+
* [WordPress Assets manager, dequeue scripts, dequeue styles](https://wordpress.org/plugins/gonzales/)
|
98 |
+
* [Cyrlitera – transliteration of links and file names](https://wordpress.org/plugins/cyrlitera/)
|
99 |
+
* [Disable updates, Disable automatic updates, Updates manager](https://wordpress.org/plugins/webcraftic-updates-manager/)
|
100 |
+
* [Disable admin notices individually](https://wordpress.org/plugins/disable-admin-notices/ "Disable admin notices individually")
|
101 |
+
|
102 |
== Translations ==
|
103 |
|
104 |
* English - default, always included
|
114 |
3. The plugin settings can be accessed via the 'Settings' menu in the administration area (either your site administration for single-site installs).
|
115 |
|
116 |
== Screenshots ==
|
117 |
+
1. Control panel (General)
|
118 |
+
2. Control panel (Remove comments)
|
119 |
|
120 |
== Changelog ==
|
121 |
+
= 1.0.7 =
|
122 |
+
* Fixed: Update core
|
123 |
+
* ADDED: Plugin options caching to reduce database queries for 90%. Clearfy became lighter and faster.
|
124 |
+
* ADDED: Compress and cache the plugin core files, to reduce the load on the admin panel
|
125 |
+
|
126 |
+
= 1.0.5 =
|
127 |
+
* Added a new feature: Added page for cleaning comments
|
128 |
+
* Fixed: Bugs with Woocommerce
|
129 |
+
|
130 |
= 1.0.4 =
|
131 |
* Update plugin core
|
132 |
* Fixed bug reduced plugin weight.
|
components/comments-plus/uninstall.php
CHANGED
@@ -9,4 +9,5 @@
|
|
9 |
global $wpdb;
|
10 |
|
11 |
$wpdb->query("DELETE FROM {$wpdb->prefix}options WHERE option_name LIKE 'wbcr_comments_plus_%';");
|
|
|
12 |
|
9 |
global $wpdb;
|
10 |
|
11 |
$wpdb->query("DELETE FROM {$wpdb->prefix}options WHERE option_name LIKE 'wbcr_comments_plus_%';");
|
12 |
+
$wpdb->query("DELETE FROM {$wpdb->prefix}options WHERE option_name LIKE 'wbcr_cmp_%';");
|
13 |
|
components/cyrlitera/admin/activation.php
ADDED
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Activator for the cyrlitera
|
5 |
+
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
6 |
+
* @copyright (c) 09.03.2018, Webcraftic
|
7 |
+
* @see Wbcr_Factory400_Activator
|
8 |
+
* @version 1.0
|
9 |
+
*/
|
10 |
+
|
11 |
+
// Exit if accessed directly
|
12 |
+
if( !defined('ABSPATH') ) {
|
13 |
+
exit;
|
14 |
+
}
|
15 |
+
|
16 |
+
class WCTR_Activation extends Wbcr_Factory400_Activator {
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Runs activation actions.
|
20 |
+
*
|
21 |
+
* @since 1.0.0
|
22 |
+
*/
|
23 |
+
public function activate()
|
24 |
+
{
|
25 |
+
WCTR_Plugin::app()->updateOption('use_transliteration', 1);
|
26 |
+
WCTR_Plugin::app()->updateOption('use_transliteration_filename', 1);
|
27 |
+
WCTR_Plugin::app()->updateOption('filename_to_lowercase', 1);
|
28 |
+
}
|
29 |
+
}
|
components/cyrlitera/admin/boot.php
ADDED
@@ -0,0 +1,180 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
* @return array
|
16 |
+
*/
|
17 |
+
function wbcr_cyrlitera_install_conflict_plugins()
|
18 |
+
{
|
19 |
+
$install_plugins = array();
|
20 |
+
|
21 |
+
if( is_plugin_active('wp-translitera/wp-translitera.php') ) {
|
22 |
+
$install_plugins[] = 'WP Translitera';
|
23 |
+
}
|
24 |
+
|
25 |
+
if( is_plugin_active('cyr3lat/cyr-to-lat.php') ) {
|
26 |
+
$install_plugins[] = 'Cyr to Lat enhanced';
|
27 |
+
}
|
28 |
+
|
29 |
+
if( is_plugin_active('cyr2lat/cyr-to-lat.php') ) {
|
30 |
+
$install_plugins[] = 'Cyr to Lat';
|
31 |
+
}
|
32 |
+
|
33 |
+
if( is_plugin_active('cyr-and-lat/cyr-and-lat.php') ) {
|
34 |
+
$install_plugins[] = 'Cyr-And-Lat';
|
35 |
+
}
|
36 |
+
|
37 |
+
if( is_plugin_active('rustolat/rus-to-lat.php') ) {
|
38 |
+
$install_plugins[] = 'RusToLat';
|
39 |
+
}
|
40 |
+
|
41 |
+
if( is_plugin_active('rus-to-lat-advanced/ru-translit.php') ) {
|
42 |
+
$install_plugins[] = 'Rus filename and link translit';
|
43 |
+
}
|
44 |
+
|
45 |
+
return $install_plugins;
|
46 |
+
}
|
47 |
+
|
48 |
+
/**
|
49 |
+
* @return array
|
50 |
+
*/
|
51 |
+
function wbcr_cyrlitera_get_conflict_notices_error()
|
52 |
+
{
|
53 |
+
$notices = array();
|
54 |
+
$plugin_title = WCTR_Plugin::app()->getPluginTitle();
|
55 |
+
|
56 |
+
$default_notice = $plugin_title . ': ' . __('We found that you have the plugin %s installed. The functions of this plugin already exist in %s. Please deactivate plugin %s to avoid conflicts between plugins functions.', 'cyrlitera');
|
57 |
+
$default_notice .= ' ' . __('If you do not want to deactivate the plugin %s for some reason, we strongly recommend do not use the same plugins functions at the same time!', 'cyrlitera');
|
58 |
+
|
59 |
+
$install_conflict_plugins = wbcr_cyrlitera_install_conflict_plugins();
|
60 |
+
|
61 |
+
if( !empty($install_conflict_plugins) ) {
|
62 |
+
foreach((array)$install_conflict_plugins as $plugin_name) {
|
63 |
+
$notices[] = sprintf($default_notice, $plugin_name, $plugin_title, $plugin_name, $plugin_name);
|
64 |
+
}
|
65 |
+
}
|
66 |
+
|
67 |
+
return $notices;
|
68 |
+
}
|
69 |
+
|
70 |
+
add_filter('wbcr_clr_seo_page_warnings', 'wbcr_cyrlitera_get_conflict_notices_error');
|
71 |
+
|
72 |
+
/**
|
73 |
+
* Ошибки совместимости с похожими плагинами
|
74 |
+
*/
|
75 |
+
function wbcr_cyrlitera_admin_conflict_notices_error()
|
76 |
+
{
|
77 |
+
$notices = wbcr_cyrlitera_get_conflict_notices_error();
|
78 |
+
|
79 |
+
if( empty($notices) ) {
|
80 |
+
return;
|
81 |
+
}
|
82 |
+
|
83 |
+
?>
|
84 |
+
<div id="wbcr-cyrlitera-conflict-error" class="notice notice-error is-dismissible">
|
85 |
+
<?php foreach((array)$notices as $notice): ?>
|
86 |
+
<p>
|
87 |
+
<?= $notice ?>
|
88 |
+
</p>
|
89 |
+
<?php endforeach; ?>
|
90 |
+
</div>
|
91 |
+
<?php
|
92 |
+
}
|
93 |
+
|
94 |
+
add_action('admin_notices', 'wbcr_cyrlitera_admin_conflict_notices_error');
|
95 |
+
|
96 |
+
/**
|
97 |
+
* Виджет отзывов
|
98 |
+
*
|
99 |
+
* @param string $page_url
|
100 |
+
* @param string $plugin_name
|
101 |
+
* @return string
|
102 |
+
*/
|
103 |
+
function wbcr_cyrlitera_rating_widget_url($page_url, $plugin_name)
|
104 |
+
{
|
105 |
+
if( $plugin_name == WCTR_Plugin::app()->getPluginName() ) {
|
106 |
+
return 'https://goo.gl/ecaj2V';
|
107 |
+
}
|
108 |
+
|
109 |
+
return $page_url;
|
110 |
+
}
|
111 |
+
|
112 |
+
add_filter('wbcr_factory_pages_401_imppage_rating_widget_url', 'wbcr_cyrlitera_rating_widget_url', 10, 2);
|
113 |
+
|
114 |
+
function wbcr_cyrlitera_group_options($options)
|
115 |
+
{
|
116 |
+
$install_conflict_plugins = wbcr_cyrlitera_install_conflict_plugins();
|
117 |
+
$is_cyrilic = in_array(get_locale(), array('ru_RU', 'bel', 'kk', 'uk', 'bg', 'bg_BG', 'ka_GE'));
|
118 |
+
|
119 |
+
if( !empty($install_conflict_plugins) || !$is_cyrilic ) {
|
120 |
+
$tags = array();
|
121 |
+
} else {
|
122 |
+
$tags = array('recommended', 'seo_optimize');
|
123 |
+
}
|
124 |
+
|
125 |
+
$options[] = array(
|
126 |
+
'name' => 'use_transliteration',
|
127 |
+
'title' => __('Use transliteration', 'cyrlitera'),
|
128 |
+
'tags' => $tags
|
129 |
+
);
|
130 |
+
|
131 |
+
$options[] = array(
|
132 |
+
'name' => 'use_force_transliteration',
|
133 |
+
'title' => __('Force transliteration', 'cyrlitera'),
|
134 |
+
'tags' => array()
|
135 |
+
);
|
136 |
+
|
137 |
+
$options[] = array(
|
138 |
+
'name' => 'use_transliteration_filename',
|
139 |
+
'title' => __('Convert file names', 'cyrlitera'),
|
140 |
+
'tags' => $tags
|
141 |
+
);
|
142 |
+
|
143 |
+
$options[] = array(
|
144 |
+
'name' => 'filename_to_lowercase',
|
145 |
+
'title' => __('Convert file names into lowercase', 'cyrlitera'),
|
146 |
+
'tags' => $tags
|
147 |
+
);
|
148 |
+
|
149 |
+
$options[] = array(
|
150 |
+
'name' => 'redirect_from_old_urls',
|
151 |
+
'title' => __('Redirection old URLs to new ones', 'cyrlitera'),
|
152 |
+
'tags' => array()
|
153 |
+
);
|
154 |
+
|
155 |
+
$options[] = array(
|
156 |
+
'name' => 'custom_symbols_pack',
|
157 |
+
'title' => __('Character Sets', 'cyrlitera'),
|
158 |
+
'tags' => array()
|
159 |
+
);
|
160 |
+
|
161 |
+
return $options;
|
162 |
+
}
|
163 |
+
|
164 |
+
add_filter("wbcr_clearfy_group_options", 'wbcr_cyrlitera_group_options');
|
165 |
+
|
166 |
+
function wbcr_cyrlitera_set_plugin_meta($links, $file)
|
167 |
+
{
|
168 |
+
if( $file == WCTR_PLUGIN_BASE ) {
|
169 |
+
$links[] = '<a href="https://goo.gl/TcMcS4" style="color: #FF5722;font-weight: bold;" target="_blank">' . __('Get ultimate plugin free', 'cyrlitera') . '</a>';
|
170 |
+
}
|
171 |
+
|
172 |
+
return $links;
|
173 |
+
}
|
174 |
+
|
175 |
+
if( !defined('LOADING_CYRLITERA_AS_ADDON') ) {
|
176 |
+
add_filter('plugin_row_meta', 'wbcr_cyrlitera_set_plugin_meta', 10, 2);
|
177 |
+
}
|
178 |
+
|
179 |
+
|
180 |
+
|
components/cyrlitera/admin/index.php
ADDED
File without changes
|
components/cyrlitera/admin/options.php
ADDED
@@ -0,0 +1,229 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Options for additionally form
|
4 |
+
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
5 |
+
* @copyright (c) 21.01.2018, Webcraftic
|
6 |
+
* @version 1.0
|
7 |
+
*/
|
8 |
+
|
9 |
+
// Exit if accessed directly
|
10 |
+
if( !defined('ABSPATH') ) {
|
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' => 'textarea',
|
76 |
+
'way' => 'buttons',
|
77 |
+
'name' => 'custom_symbols_pack',
|
78 |
+
'title' => __('Character Sets', 'cyrlitera'),
|
79 |
+
'hint' => __('You can supplement current base of transliteration characters. Write pairs of values separated by commas. Example:', 'cyrlitera') . ' <b>Ё=Jo,ё=jo,Ж=Zh,ж=zh</b>'
|
80 |
+
);
|
81 |
+
|
82 |
+
$options[] = array(
|
83 |
+
'type' => 'html',
|
84 |
+
'html' => 'wbcr_cyrlitera_rollback_button'
|
85 |
+
);
|
86 |
+
|
87 |
+
return $options;
|
88 |
+
}
|
89 |
+
|
90 |
+
/**
|
91 |
+
* @param $html_builder Wbcr_FactoryForms400_Html
|
92 |
+
*/
|
93 |
+
function wbcr_cyrlitera_rollback_button($html_builder)
|
94 |
+
{
|
95 |
+
$form_name = $html_builder->getFormName();
|
96 |
+
|
97 |
+
$rollback = false;
|
98 |
+
$convert_now = false;
|
99 |
+
|
100 |
+
if( isset($_POST['wbcr_cyrlitera_rollback_action']) ) {
|
101 |
+
check_admin_referer($form_name, 'wbcr_cyrlitera_rollback_nonce');
|
102 |
+
|
103 |
+
global $wpdb;
|
104 |
+
|
105 |
+
$posts = $wpdb->get_results("SELECT p.ID, p.post_name, m.meta_value as old_post_name FROM {$wpdb->posts} p
|
106 |
+
LEFT JOIN {$wpdb->postmeta} m
|
107 |
+
ON p.ID = m.post_id
|
108 |
+
WHERE p.post_status
|
109 |
+
IN ('publish', 'future', 'private') AND m.meta_key='wbcr_wp_old_slug' AND m.meta_value IS NOT NULL");
|
110 |
+
|
111 |
+
foreach((array)$posts as $post) {
|
112 |
+
if( $post->post_name != $post->old_post_name ) {
|
113 |
+
$wpdb->update($wpdb->posts, array('post_name' => $post->old_post_name), array('ID' => $post->ID), array('%s'), array('%d'));
|
114 |
+
delete_post_meta($post->ID, 'wbcr_wp_old_slug');
|
115 |
+
}
|
116 |
+
}
|
117 |
+
|
118 |
+
$terms = $wpdb->get_results("SELECT t.term_id, t.slug, o.option_value as old_term_slug FROM {$wpdb->terms} t
|
119 |
+
LEFT JOIN {$wpdb->options} o
|
120 |
+
ON o.option_name=concat('wbcr_wp_term_',t.term_id, '_old_slug')
|
121 |
+
WHERE o.option_value IS NOT NULL");
|
122 |
+
|
123 |
+
foreach((array)$terms as $term) {
|
124 |
+
if( $term->slug != $term->old_term_slug ) {
|
125 |
+
$wpdb->update($wpdb->terms, array('slug' => $term->old_term_slug), array('term_id' => $term->term_id), array('%s'), array('%d'));
|
126 |
+
delete_option('wbcr_wp_term_' . $term->term_id . '_old_slug');
|
127 |
+
}
|
128 |
+
}
|
129 |
+
|
130 |
+
$rollback = true;
|
131 |
+
}
|
132 |
+
|
133 |
+
if( isset($_POST['wbcr_cyrlitera_convert_now_action']) ) {
|
134 |
+
check_admin_referer($form_name, 'wbcr_cyrlitera_convert_now_nonce');
|
135 |
+
|
136 |
+
global $wpdb;
|
137 |
+
|
138 |
+
$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')");
|
139 |
+
|
140 |
+
foreach((array)$posts as $post) {
|
141 |
+
$sanitized_name = WCTR_Helper::sanitizeTitle(urldecode($post->post_name));
|
142 |
+
|
143 |
+
if( $post->post_name != $sanitized_name ) {
|
144 |
+
add_post_meta($post->ID, 'wbcr_wp_old_slug', $post->post_name);
|
145 |
+
|
146 |
+
$wpdb->update($wpdb->posts, array('post_name' => $sanitized_name), array('ID' => $post->ID), array('%s'), array('%d'));
|
147 |
+
}
|
148 |
+
}
|
149 |
+
|
150 |
+
$terms = $wpdb->get_results("SELECT term_id, slug FROM {$wpdb->terms} WHERE slug REGEXP('[^_A-Za-z0-9\-]+') ");
|
151 |
+
|
152 |
+
foreach((array)$terms as $term) {
|
153 |
+
$sanitized_slug = WCTR_Helper::sanitizeTitle(urldecode($term->slug));
|
154 |
+
|
155 |
+
if( $term->slug != $sanitized_slug ) {
|
156 |
+
update_option('wbcr_wp_term_' . $term->term_id . '_old_slug', $term->slug);
|
157 |
+
$wpdb->update($wpdb->terms, array('slug' => $sanitized_slug), array('term_id' => $term->term_id), array('%s'), array('%d'));
|
158 |
+
}
|
159 |
+
}
|
160 |
+
|
161 |
+
$convert_now = true;
|
162 |
+
}
|
163 |
+
|
164 |
+
?>
|
165 |
+
|
166 |
+
<div class="form-group form-group-checkbox factory-control-convert_now_button">
|
167 |
+
<label for="wbcr_clearfy_convert_now_button" class="col-sm-6 control-label">
|
168 |
+
<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') ?>">
|
169 |
+
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAUUlEQVQIHU3BsQ1AQABA0X/komIrnQHYwyhqQ1hBo9KZRKL9CBfeAwy2ri42JA4mPQ9rJ6OVt0BisFM3Po7qbEliru7m/FkY+TN64ZVxEzh4ndrMN7+Z+jXCAAAAAElFTkSuQmCC" alt="">
|
170 |
+
</span>
|
171 |
+
</label>
|
172 |
+
|
173 |
+
<div class="control-group col-sm-6">
|
174 |
+
<div class="factory-checkbox factory-from-control-checkbox factory-buttons-way btn-group">
|
175 |
+
<form method="post">
|
176 |
+
<?php wp_nonce_field($form_name, 'wbcr_cyrlitera_convert_now_nonce'); ?>
|
177 |
+
<input type="submit" name="wbcr_cyrlitera_convert_now_action" value="<?php _e('Convert already created posts and categories', 'cyrlitera') ?>" class="button button-default"/>
|
178 |
+
<?php if( $convert_now ): ?>
|
179 |
+
<div style="color:green;margin-top:5px;"><?php _e('Url of old posts, pages,terms,tags successfully converted into Latin!', 'cyrlitera') ?></div>
|
180 |
+
<?php endif; ?>
|
181 |
+
</form>
|
182 |
+
</div>
|
183 |
+
</div>
|
184 |
+
</div>
|
185 |
+
|
186 |
+
|
187 |
+
<div class="form-group form-group-checkbox factory-control-rollback_button">
|
188 |
+
<label for="wbcr_clearfy_rollback_button" class="col-sm-6 control-label">
|
189 |
+
<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') ?>">
|
190 |
+
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAUUlEQVQIHU3BsQ1AQABA0X/komIrnQHYwyhqQ1hBo9KZRKL9CBfeAwy2ri42JA4mPQ9rJ6OVt0BisFM3Po7qbEliru7m/FkY+TN64ZVxEzh4ndrMN7+Z+jXCAAAAAElFTkSuQmCC" alt="">
|
191 |
+
</span>
|
192 |
+
</label>
|
193 |
+
|
194 |
+
<div class="control-group col-sm-6">
|
195 |
+
<div class="factory-checkbox factory-from-control-checkbox factory-buttons-way btn-group">
|
196 |
+
<form method="post">
|
197 |
+
<?php wp_nonce_field($form_name, 'wbcr_cyrlitera_rollback_nonce'); ?>
|
198 |
+
<input type="submit" name="wbcr_cyrlitera_rollback_action" value="<?php _e('Rollback changes', 'cyrlitera') ?>" class="button button-default"/>
|
199 |
+
<?php if( $rollback ): ?>
|
200 |
+
<div style="color:green;margin-top:5px;"><?php _e('The rollback of new changes was successful!', 'cyrlitera') ?></div>
|
201 |
+
<?php endif; ?>
|
202 |
+
</form>
|
203 |
+
</div>
|
204 |
+
</div>
|
205 |
+
</div>
|
206 |
+
<?php
|
207 |
+
}
|
208 |
+
|
209 |
+
/**
|
210 |
+
* @param $form
|
211 |
+
* @param $page Wbcr_FactoryPages401_ImpressiveThemplate
|
212 |
+
* @return mixed
|
213 |
+
*/
|
214 |
+
function wbcr_cyrlitera_seo_form_options($form, $page)
|
215 |
+
{
|
216 |
+
if( empty($form) ) {
|
217 |
+
return $form;
|
218 |
+
}
|
219 |
+
|
220 |
+
$options = wbcr_cyrlitera_get_plugin_options();
|
221 |
+
|
222 |
+
foreach(array_reverse($options) as $option) {
|
223 |
+
array_unshift($form[0]['items'], $option);
|
224 |
+
}
|
225 |
+
|
226 |
+
return $form;
|
227 |
+
}
|
228 |
+
|
229 |
+
add_filter('wbcr_clr_seo_form_options', 'wbcr_cyrlitera_seo_form_options', 10, 2);
|
components/cyrlitera/admin/pages/cyrlitera.php
ADDED
@@ -0,0 +1,85 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 WCTR_CyrliteraPage extends Wbcr_FactoryPages401_ImpressiveThemplate {
|
15 |
+
|
16 |
+
/**
|
17 |
+
* The id of the page in the admin menu.
|
18 |
+
*
|
19 |
+
* Mainly used to navigate between pages.
|
20 |
+
* @see FactoryPages401_AdminPage
|
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 Wbcr_Factory400_Plugin $plugin
|
30 |
+
*/
|
31 |
+
public function __construct(Wbcr_Factory400_Plugin $plugin)
|
32 |
+
{
|
33 |
+
$this->menu_title = __('Transliteration', 'cyrlitera');
|
34 |
+
|
35 |
+
if( !defined('LOADING_CYRLITERA_AS_ADDON') ) {
|
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);
|
42 |
+
|
43 |
+
$this->plugin = $plugin;
|
44 |
+
}
|
45 |
+
|
46 |
+
public function getMenuTitle()
|
47 |
+
{
|
48 |
+
return defined('LOADING_CYRLITERA_AS_ADDON')
|
49 |
+
? __('Transliteration', 'cyrlitera')
|
50 |
+
: __('General', 'cyrlitera');
|
51 |
+
}
|
52 |
+
|
53 |
+
/*protected function afterFormSave()
|
54 |
+
{
|
55 |
+
$use_transliterations = $this->plugin->getOption('use_transliterations');
|
56 |
+
$transliterate_existing_slugs = $this->plugin->getOption('transliterate_existing_slugs');
|
57 |
+
|
58 |
+
if( !$use_transliterations || $transliterate_existing_slugs ) {
|
59 |
+
return;
|
60 |
+
}
|
61 |
+
WCTR_Helper::convertExistingSlugs();
|
62 |
+
$this->plugin->updateOption('transliterate_existing_slugs', 1);
|
63 |
+
}*/
|
64 |
+
|
65 |
+
/**
|
66 |
+
* Permalinks options.
|
67 |
+
*
|
68 |
+
* @since 1.0.0
|
69 |
+
* @return mixed[]
|
70 |
+
*/
|
71 |
+
public function getOptions()
|
72 |
+
{
|
73 |
+
$options = wbcr_cyrlitera_get_plugin_options();
|
74 |
+
|
75 |
+
$formOptions = array();
|
76 |
+
|
77 |
+
$formOptions[] = array(
|
78 |
+
'type' => 'form-group',
|
79 |
+
'items' => $options,
|
80 |
+
//'cssClass' => 'postbox'
|
81 |
+
);
|
82 |
+
|
83 |
+
return apply_filters('wbcr_cyrlitera_general_form_options', $formOptions, $this);
|
84 |
+
}
|
85 |
+
}
|
components/cyrlitera/admin/pages/index.php
ADDED
File without changes
|
components/cyrlitera/admin/pages/more-features.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 WCTR_MoreFeaturesPage extends Wbcr_FactoryClearfy200_MoreFeaturesPage {
|
15 |
+
|
16 |
+
}
|
components/cyrlitera/cyrlitera.php
ADDED
@@ -0,0 +1,60 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plugin Name: Webcraftic Cyrlitera – transliteration of links and file names
|
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.4
|
8 |
+
* Text Domain: cyrlitera
|
9 |
+
* Domain Path: /languages/
|
10 |
+
* Author URI: http://webcraftic.com
|
11 |
+
*/
|
12 |
+
|
13 |
+
// Exit if accessed directly
|
14 |
+
if( !defined('ABSPATH') ) {
|
15 |
+
exit;
|
16 |
+
}
|
17 |
+
|
18 |
+
if( defined('WCTR_PLUGIN_ACTIVE') || (defined('WCL_PLUGIN_ACTIVE') && !defined('LOADING_CYRLITERA_AS_ADDON')) ) {
|
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 |
+
add_action('admin_notices', 'wbcr_cyrlitera_admin_notice_error');
|
29 |
+
|
30 |
+
return;
|
31 |
+
} else {
|
32 |
+
|
33 |
+
define('WCTR_PLUGIN_ACTIVE', true);
|
34 |
+
define('WCTR_PLUGIN_DIR', dirname(__FILE__));
|
35 |
+
define('WCTR_PLUGIN_BASE', plugin_basename(__FILE__));
|
36 |
+
define('WCTR_PLUGIN_URL', plugins_url(null, __FILE__));
|
37 |
+
|
38 |
+
|
39 |
+
|
40 |
+
if( !defined('LOADING_CYRLITERA_AS_ADDON') ) {
|
41 |
+
require_once(WCTR_PLUGIN_DIR . '/libs/factory/core/boot.php');
|
42 |
+
}
|
43 |
+
|
44 |
+
require_once(WCTR_PLUGIN_DIR . '/includes/class.helpers.php');
|
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.4',
|
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 |
+
}
|
components/cyrlitera/includes/class.helpers.php
ADDED
@@ -0,0 +1,257 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Helpers functions
|
5 |
+
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
6 |
+
* @copyright (c) 2017 Webraftic Ltd
|
7 |
+
* @version 1.0
|
8 |
+
*/
|
9 |
+
|
10 |
+
// Exit if accessed directly
|
11 |
+
if( !defined('ABSPATH') ) {
|
12 |
+
exit;
|
13 |
+
}
|
14 |
+
|
15 |
+
class WCTR_Helper {
|
16 |
+
|
17 |
+
public static function transliterate($title, $ignore_special_symbols = false)
|
18 |
+
{
|
19 |
+
$origin_title = $title;
|
20 |
+
$iso9_table = self::getSymbolsPack();
|
21 |
+
|
22 |
+
$title = strtr($title, $iso9_table);
|
23 |
+
|
24 |
+
if( function_exists('iconv') ) {
|
25 |
+
$title = iconv('UTF-8', 'UTF-8//TRANSLIT//IGNORE', $title);
|
26 |
+
}
|
27 |
+
|
28 |
+
if( !$ignore_special_symbols ) {
|
29 |
+
$title = preg_replace("/[^A-Za-z0-9'_\-\.]/", '-', $title);
|
30 |
+
$title = preg_replace('/\-+/', '-', $title);
|
31 |
+
$title = preg_replace('/^-+/', '', $title);
|
32 |
+
$title = preg_replace('/-+$/', '', $title);
|
33 |
+
}
|
34 |
+
|
35 |
+
return apply_filters('wbcr_cyrlitera_transliterate', $title, $origin_title, $iso9_table);
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* @param string $title обработанный заголовок
|
40 |
+
* @return mixed|void
|
41 |
+
*/
|
42 |
+
public static function sanitizeTitle($title)
|
43 |
+
{
|
44 |
+
global $wpdb;
|
45 |
+
|
46 |
+
$origin_title = $title;
|
47 |
+
|
48 |
+
$is_term = false;
|
49 |
+
$backtrace = debug_backtrace();
|
50 |
+
foreach($backtrace as $backtrace_entry) {
|
51 |
+
if( $backtrace_entry['function'] == 'wp_insert_term' ) {
|
52 |
+
$is_term = true;
|
53 |
+
break;
|
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);
|
63 |
+
} else {
|
64 |
+
$title = $term;
|
65 |
+
}
|
66 |
+
|
67 |
+
return apply_filters('wbcr_cyrlitera_sanitize_title', $title, $origin_title);
|
68 |
+
}
|
69 |
+
|
70 |
+
/**
|
71 |
+
* @return array
|
72 |
+
*/
|
73 |
+
public static function getSymbolsPack()
|
74 |
+
{
|
75 |
+
$loc = get_locale();
|
76 |
+
|
77 |
+
$ret = array(
|
78 |
+
// russian
|
79 |
+
'А' => 'A',
|
80 |
+
'а' => 'a',
|
81 |
+
'Б' => 'B',
|
82 |
+
'б' => 'b',
|
83 |
+
'В' => 'V',
|
84 |
+
'в' => 'v',
|
85 |
+
'Г' => 'G',
|
86 |
+
'г' => 'g',
|
87 |
+
'Д' => 'D',
|
88 |
+
'д' => 'd',
|
89 |
+
'Е' => 'E',
|
90 |
+
'е' => 'e',
|
91 |
+
'Ё' => 'Jo',
|
92 |
+
'ё' => 'jo',
|
93 |
+
'Ж' => 'Zh',
|
94 |
+
'ж' => 'zh',
|
95 |
+
'З' => 'Z',
|
96 |
+
'з' => 'z',
|
97 |
+
'И' => 'I',
|
98 |
+
'и' => 'i',
|
99 |
+
'Й' => 'J',
|
100 |
+
'й' => 'j',
|
101 |
+
'К' => 'K',
|
102 |
+
'к' => 'k',
|
103 |
+
'Л' => 'L',
|
104 |
+
'л' => 'l',
|
105 |
+
'М' => 'M',
|
106 |
+
'м' => 'm',
|
107 |
+
'Н' => 'N',
|
108 |
+
'н' => 'n',
|
109 |
+
'О' => 'O',
|
110 |
+
'о' => 'o',
|
111 |
+
'П' => 'P',
|
112 |
+
'п' => 'p',
|
113 |
+
'Р' => 'R',
|
114 |
+
'р' => 'r',
|
115 |
+
'С' => 'S',
|
116 |
+
'с' => 's',
|
117 |
+
'Т' => 'T',
|
118 |
+
'т' => 't',
|
119 |
+
'У' => 'U',
|
120 |
+
'у' => 'u',
|
121 |
+
'Ф' => 'F',
|
122 |
+
'ф' => 'f',
|
123 |
+
'Х' => 'H',
|
124 |
+
'х' => 'h',
|
125 |
+
'Ц' => 'C',
|
126 |
+
'ц' => 'c',
|
127 |
+
'Ч' => 'Ch',
|
128 |
+
'ч' => 'ch',
|
129 |
+
'Ш' => 'Sh',
|
130 |
+
'ш' => 'sh',
|
131 |
+
'Щ' => 'Shh',
|
132 |
+
'щ' => 'shh',
|
133 |
+
'Ъ' => '',
|
134 |
+
'ъ' => '',
|
135 |
+
'Ы' => 'Y',
|
136 |
+
'ы' => 'y',
|
137 |
+
'Ь' => '',
|
138 |
+
'ь' => '',
|
139 |
+
'Э' => 'Je',
|
140 |
+
'э' => 'je',
|
141 |
+
'Ю' => 'Ju',
|
142 |
+
'ю' => 'ju',
|
143 |
+
'Я' => 'Ja',
|
144 |
+
'я' => 'ja',
|
145 |
+
// global
|
146 |
+
'Ґ' => 'G',
|
147 |
+
'ґ' => 'g',
|
148 |
+
'Є' => 'Ie',
|
149 |
+
'є' => 'ie',
|
150 |
+
'І' => 'I',
|
151 |
+
'і' => 'i',
|
152 |
+
'Ї' => 'I',
|
153 |
+
'ї' => 'i',
|
154 |
+
'Ї' => 'i',
|
155 |
+
'ї' => 'i',
|
156 |
+
'Ё' => 'Jo',
|
157 |
+
'ё' => 'jo',
|
158 |
+
'й' => 'i',
|
159 |
+
'Й' => 'I'
|
160 |
+
);
|
161 |
+
|
162 |
+
// ukrainian
|
163 |
+
if( $loc == 'uk' ) {
|
164 |
+
$ret = array_merge($ret, array(
|
165 |
+
'Г' => 'H',
|
166 |
+
'г' => 'h',
|
167 |
+
'И' => 'Y',
|
168 |
+
'и' => 'y',
|
169 |
+
'Х' => 'Kh',
|
170 |
+
'х' => 'kh',
|
171 |
+
'Ц' => 'Ts',
|
172 |
+
'ц' => 'ts',
|
173 |
+
'Щ' => 'Shch',
|
174 |
+
'щ' => 'shch',
|
175 |
+
'Ю' => 'Iu',
|
176 |
+
'ю' => 'iu',
|
177 |
+
'Я' => 'Ia',
|
178 |
+
'я' => 'ia',
|
179 |
+
|
180 |
+
));
|
181 |
+
//bulgarian
|
182 |
+
} elseif( $loc == 'bg' || $loc == 'bg_BG' ) {
|
183 |
+
$ret = array_merge($ret, array(
|
184 |
+
'Щ' => 'Sht',
|
185 |
+
'щ' => 'sht',
|
186 |
+
'Ъ' => 'a',
|
187 |
+
'ъ' => 'a'
|
188 |
+
));
|
189 |
+
}
|
190 |
+
|
191 |
+
if( $loc == 'ka_GE' ) {
|
192 |
+
$ret = array(
|
193 |
+
'ა' => 'a',
|
194 |
+
'ბ' => 'b',
|
195 |
+
'გ' => 'g',
|
196 |
+
'დ' => 'd',
|
197 |
+
'ე' => 'e',
|
198 |
+
'ვ' => 'v',
|
199 |
+
'ზ' => 'z',
|
200 |
+
'თ' => 'th',
|
201 |
+
'ი' => 'i',
|
202 |
+
'კ' => 'k',
|
203 |
+
'ლ' => 'l',
|
204 |
+
'მ' => 'm',
|
205 |
+
'ნ' => 'n',
|
206 |
+
'ო' => 'o',
|
207 |
+
'პ' => 'p',
|
208 |
+
'ჟ' => 'zh',
|
209 |
+
'რ' => 'r',
|
210 |
+
'ს' => 's',
|
211 |
+
'ტ' => 't',
|
212 |
+
'უ' => 'u',
|
213 |
+
'ფ' => 'ph',
|
214 |
+
'ქ' => 'q',
|
215 |
+
'ღ' => 'gh',
|
216 |
+
'ყ' => 'qh',
|
217 |
+
'შ' => 'sh',
|
218 |
+
'ჩ' => 'ch',
|
219 |
+
'ც' => 'ts',
|
220 |
+
'ძ' => 'dz',
|
221 |
+
'წ' => 'ts',
|
222 |
+
'ჭ' => 'tch',
|
223 |
+
'ხ' => 'kh',
|
224 |
+
'ჯ' => 'j',
|
225 |
+
'ჰ' => 'h'
|
226 |
+
);
|
227 |
+
}
|
228 |
+
|
229 |
+
$custom_rules = WCTR_Plugin::app()->getOption('custom_symbols_pack');
|
230 |
+
|
231 |
+
if( !empty($custom_rules) ) {
|
232 |
+
$split_rules = explode(',', $custom_rules);
|
233 |
+
$split_rules = array_map('trim', $split_rules);
|
234 |
+
|
235 |
+
foreach($split_rules as $rule) {
|
236 |
+
$split_symbols = explode('=', $rule);
|
237 |
+
|
238 |
+
if( sizeof($split_symbols) === 2 ) {
|
239 |
+
if( empty($split_symbols[0]) ) {
|
240 |
+
continue;
|
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 |
+
}
|
components/cyrlitera/includes/class.plugin.php
ADDED
@@ -0,0 +1,136 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Transliteration core class
|
4 |
+
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
5 |
+
* @copyright (c) 19.02.2018, Webcraftic
|
6 |
+
* @version 1.0
|
7 |
+
*/
|
8 |
+
|
9 |
+
// Exit if accessed directly
|
10 |
+
if( !defined('ABSPATH') ) {
|
11 |
+
exit;
|
12 |
+
}
|
13 |
+
|
14 |
+
if( !class_exists('WCTR_Plugin') ) {
|
15 |
+
|
16 |
+
if( !class_exists('WCTR_PluginFactory') ) {
|
17 |
+
if( defined('LOADING_CYRLITERA_AS_ADDON') ) {
|
18 |
+
class WCTR_PluginFactory {
|
19 |
+
|
20 |
+
}
|
21 |
+
} else {
|
22 |
+
class WCTR_PluginFactory extends Wbcr_Factory400_Plugin {
|
23 |
+
|
24 |
+
}
|
25 |
+
}
|
26 |
+
}
|
27 |
+
|
28 |
+
class WCTR_Plugin extends WCTR_PluginFactory {
|
29 |
+
|
30 |
+
/**
|
31 |
+
* @var Wbcr_Factory400_Plugin
|
32 |
+
*/
|
33 |
+
private static $app;
|
34 |
+
|
35 |
+
/**
|
36 |
+
* @var bool
|
37 |
+
*/
|
38 |
+
private $as_addon;
|
39 |
+
|
40 |
+
/**
|
41 |
+
* @param string $plugin_path
|
42 |
+
* @param array $data
|
43 |
+
* @throws Exception
|
44 |
+
*/
|
45 |
+
public function __construct($plugin_path, $data)
|
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 Wbcr_Factory400_Plugin) ) {
|
55 |
+
throw new Exception('An invalid instance of the class was passed.');
|
56 |
+
}
|
57 |
+
|
58 |
+
self::$app = $plugin_parent;
|
59 |
+
} else {
|
60 |
+
self::$app = $this;
|
61 |
+
}
|
62 |
+
|
63 |
+
if( !$this->as_addon ) {
|
64 |
+
parent::__construct($plugin_path, $data);
|
65 |
+
}
|
66 |
+
|
67 |
+
$this->setTextDomain();
|
68 |
+
$this->setModules();
|
69 |
+
|
70 |
+
$this->globalScripts();
|
71 |
+
|
72 |
+
if( is_admin() ) {
|
73 |
+
$this->adminScripts();
|
74 |
+
}
|
75 |
+
}
|
76 |
+
|
77 |
+
/**
|
78 |
+
* @return Wbcr_Factory400_Plugin
|
79 |
+
*/
|
80 |
+
public static function app()
|
81 |
+
{
|
82 |
+
return self::$app;
|
83 |
+
}
|
84 |
+
|
85 |
+
protected function setTextDomain()
|
86 |
+
{
|
87 |
+
|
88 |
+
load_plugin_textdomain('cyrlitera', false, dirname(WCTR_PLUGIN_BASE) . '/languages/');
|
89 |
+
}
|
90 |
+
|
91 |
+
protected function setModules()
|
92 |
+
{
|
93 |
+
if( !$this->as_addon ) {
|
94 |
+
self::app()->load(array(
|
95 |
+
array('libs/factory/bootstrap', 'factory_bootstrap_400', 'admin'),
|
96 |
+
array('libs/factory/forms', 'factory_forms_400', 'admin'),
|
97 |
+
array('libs/factory/pages', 'factory_pages_401', 'admin'),
|
98 |
+
array('libs/factory/clearfy', 'factory_clearfy_200', 'all')
|
99 |
+
));
|
100 |
+
}
|
101 |
+
}
|
102 |
+
|
103 |
+
protected function initActivation()
|
104 |
+
{
|
105 |
+
if( !$this->as_addon ) {
|
106 |
+
include_once(WCTR_PLUGIN_DIR . '/admin/activation.php');
|
107 |
+
self::app()->registerActivation('WCTR_Activation');
|
108 |
+
}
|
109 |
+
}
|
110 |
+
|
111 |
+
private function registerPages()
|
112 |
+
{
|
113 |
+
if( $this->as_addon ) {
|
114 |
+
return;
|
115 |
+
}
|
116 |
+
|
117 |
+
self::app()->registerPage('WCTR_CyrliteraPage', WCTR_PLUGIN_DIR . '/admin/pages/cyrlitera.php');
|
118 |
+
self::app()->registerPage('WCTR_MoreFeaturesPage', WCTR_PLUGIN_DIR . '/admin/pages/more-features.php');
|
119 |
+
}
|
120 |
+
|
121 |
+
private function adminScripts()
|
122 |
+
{
|
123 |
+
require_once(WCTR_PLUGIN_DIR . '/admin/boot.php');
|
124 |
+
require_once(WCTR_PLUGIN_DIR . '/admin/options.php');
|
125 |
+
|
126 |
+
$this->initActivation();
|
127 |
+
$this->registerPages();
|
128 |
+
}
|
129 |
+
|
130 |
+
private function globalScripts()
|
131 |
+
{
|
132 |
+
require_once(WCTR_PLUGIN_DIR . '/includes/classes/class.configurate-cyrlitera.php');
|
133 |
+
new WCTR_ConfigСyrlitera(self::$app);
|
134 |
+
}
|
135 |
+
}
|
136 |
+
}
|
components/cyrlitera/includes/classes/class.configurate-cyrlitera.php
ADDED
@@ -0,0 +1,227 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* This class configures cyrlitera
|
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 |
+
class WCTR_ConfigСyrlitera extends Wbcr_FactoryClearfy200_Configurate {
|
15 |
+
|
16 |
+
public function registerActionsAndFilters()
|
17 |
+
{
|
18 |
+
if( is_admin() || (defined('XMLRPC_REQUEST') && XMLRPC_REQUEST) ) {
|
19 |
+
if( $this->getOption('use_transliteration') ) {
|
20 |
+
if( !$this->getOption('use_force_transliteration') ) {
|
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->getOption('use_transliteration_filename') ) {
|
27 |
+
if( !$this->getOption('use_force_transliteration') ) {
|
28 |
+
add_filter('sanitize_file_name', array($this, 'sanitizeFileName'), 9);
|
29 |
+
} else {
|
30 |
+
add_filter('sanitize_file_name', array($this, 'forceSanitizeFileName'), 99, 2);
|
31 |
+
}
|
32 |
+
}
|
33 |
+
}
|
34 |
+
|
35 |
+
if( !is_admin() ) {
|
36 |
+
add_action('wp', array($this, 'redirectFromOldUrls'), $this->wpForoIsActivated()
|
37 |
+
? 11
|
38 |
+
: 10);
|
39 |
+
}
|
40 |
+
}
|
41 |
+
|
42 |
+
/**
|
43 |
+
* @param string $title обработанный заголовок
|
44 |
+
* @param string $raw_title не обработанный заголовок
|
45 |
+
* @return string
|
46 |
+
*/
|
47 |
+
public function forceSanitizeTitle($title, $raw_title)
|
48 |
+
{
|
49 |
+
$title = WCTR_Helper::sanitizeTitle($raw_title);
|
50 |
+
$force_transliterate = sanitize_title_with_dashes($title);
|
51 |
+
|
52 |
+
return apply_filters('wbcr_cyrlitera_sanitize_title', $force_transliterate, $raw_title);
|
53 |
+
}
|
54 |
+
|
55 |
+
/**
|
56 |
+
* @param string $title
|
57 |
+
* @return string
|
58 |
+
*/
|
59 |
+
public function sanitizeFileName($filename)
|
60 |
+
{
|
61 |
+
$origin_title = $filename;
|
62 |
+
|
63 |
+
$filename = WCTR_Helper::transliterate($filename);
|
64 |
+
|
65 |
+
if( $this->getOption('filename_to_lowercase') ) {
|
66 |
+
$filename = strtolower($filename);
|
67 |
+
}
|
68 |
+
|
69 |
+
return apply_filters('wbcr_cyrlitera_sanitize_filename', $filename, $origin_title);
|
70 |
+
}
|
71 |
+
|
72 |
+
/**
|
73 |
+
* @param string $title
|
74 |
+
* @return string
|
75 |
+
*/
|
76 |
+
public function forceSanitizeFileName($filename, $filename_raw)
|
77 |
+
{
|
78 |
+
$filename = $filename_raw;
|
79 |
+
|
80 |
+
$special_chars = array(
|
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 |
+
chr(0)
|
109 |
+
);
|
110 |
+
|
111 |
+
/**
|
112 |
+
* Filters the list of characters to remove from a filename.
|
113 |
+
*
|
114 |
+
* @since 2.8.0
|
115 |
+
*
|
116 |
+
* @param array $special_chars Characters to remove.
|
117 |
+
* @param string $filename_raw Filename as it was passed into sanitize_file_name().
|
118 |
+
*/
|
119 |
+
$special_chars = apply_filters('sanitize_file_name_chars', $special_chars, $filename_raw);
|
120 |
+
$filename = preg_replace("#\x{00a0}#siu", ' ', $filename);
|
121 |
+
$filename = str_replace($special_chars, '', $filename);
|
122 |
+
$filename = str_replace(array('%20', '+'), '-', $filename);
|
123 |
+
$filename = preg_replace('/[\r\n\t -]+/', '-', $filename);
|
124 |
+
$filename = trim($filename, '.-_');
|
125 |
+
|
126 |
+
if( false === strpos($filename, '.') ) {
|
127 |
+
$mime_types = wp_get_mime_types();
|
128 |
+
$filetype = wp_check_filetype('test.' . $filename, $mime_types);
|
129 |
+
if( $filetype['ext'] === $filename ) {
|
130 |
+
$filename = 'unnamed-file.' . $filetype['ext'];
|
131 |
+
}
|
132 |
+
}
|
133 |
+
|
134 |
+
// Split the filename into a base and extension[s]
|
135 |
+
$parts = explode('.', $filename);
|
136 |
+
|
137 |
+
// Return if only one extension
|
138 |
+
if( count($parts) <= 2 ) {
|
139 |
+
$filename = WCTR_Helper::transliterate($filename);
|
140 |
+
|
141 |
+
if( $this->getOption('filename_to_lowercase') ) {
|
142 |
+
$filename = strtolower($filename);
|
143 |
+
}
|
144 |
+
|
145 |
+
return apply_filters('wbcr_cyrlitera_sanitize_filename', $filename, $filename_raw);
|
146 |
+
}
|
147 |
+
|
148 |
+
// Process multiple extensions
|
149 |
+
$filename = array_shift($parts);
|
150 |
+
$extension = array_pop($parts);
|
151 |
+
$mimes = get_allowed_mime_types();
|
152 |
+
|
153 |
+
/*
|
154 |
+
* Loop over any intermediate extensions. Postfix them with a trailing underscore
|
155 |
+
* if they are a 2 - 5 character long alpha string not in the extension whitelist.
|
156 |
+
*/
|
157 |
+
foreach((array)$parts as $part) {
|
158 |
+
$filename .= '.' . $part;
|
159 |
+
|
160 |
+
if( preg_match("/^[a-zA-Z]{2,5}\d?$/", $part) ) {
|
161 |
+
$allowed = false;
|
162 |
+
foreach($mimes as $ext_preg => $mime_match) {
|
163 |
+
$ext_preg = '!^(' . $ext_preg . ')$!i';
|
164 |
+
if( preg_match($ext_preg, $part) ) {
|
165 |
+
$allowed = true;
|
166 |
+
break;
|
167 |
+
}
|
168 |
+
}
|
169 |
+
if( !$allowed ) {
|
170 |
+
$filename .= '_';
|
171 |
+
}
|
172 |
+
}
|
173 |
+
}
|
174 |
+
$filename .= '.' . $extension;
|
175 |
+
|
176 |
+
$filename = WCTR_Helper::transliterate($filename);
|
177 |
+
|
178 |
+
if( $this->getOption('filename_to_lowercase') ) {
|
179 |
+
$filename = strtolower($filename);
|
180 |
+
}
|
181 |
+
|
182 |
+
return apply_filters('wbcr_cyrlitera_sanitize_filename', $filename, $filename_raw);
|
183 |
+
}
|
184 |
+
|
185 |
+
|
186 |
+
/**
|
187 |
+
* @return bool
|
188 |
+
*/
|
189 |
+
protected function wpForoIsActivated()
|
190 |
+
{
|
191 |
+
$activeplugins = get_option('active_plugins');
|
192 |
+
if( gettype($activeplugins) != 'array' ) {
|
193 |
+
$activeplugins = array();
|
194 |
+
}
|
195 |
+
|
196 |
+
return in_array("wpforo/wpforo.php", $activeplugins);
|
197 |
+
}
|
198 |
+
|
199 |
+
/**
|
200 |
+
* Перенаправление со старых url, которые были уже преобразованы
|
201 |
+
*/
|
202 |
+
public function redirectFromOldUrls()
|
203 |
+
{
|
204 |
+
if( !WbcrFactoryClearfy200_Helpers::isPermalink() ) {
|
205 |
+
return;
|
206 |
+
}
|
207 |
+
$is404 = is_404();
|
208 |
+
|
209 |
+
if( $this->wpForoIsActivated() ) {
|
210 |
+
global $wpforo;
|
211 |
+
if( $is404 || $wpforo->current_object['is_404'] ) {
|
212 |
+
$is404 = true;
|
213 |
+
}
|
214 |
+
}
|
215 |
+
|
216 |
+
if( $is404 ) {
|
217 |
+
if( $this->getOption('redirect_from_old_urls') ) {
|
218 |
+
$current_url = urldecode($_SERVER['REQUEST_URI']);
|
219 |
+
$new_url = WCTR_Helper::transliterate($current_url, true);
|
220 |
+
|
221 |
+
if( $current_url != $new_url ) {
|
222 |
+
wp_redirect($new_url, 301);
|
223 |
+
}
|
224 |
+
}
|
225 |
+
}
|
226 |
+
}
|
227 |
+
}
|
components/cyrlitera/includes/classes/index.php
ADDED
File without changes
|
components/cyrlitera/includes/index.php
ADDED
File without changes
|
components/cyrlitera/index.php
ADDED
File without changes
|
components/cyrlitera/languages/cyrlitera-ru_RU.mo
ADDED
Binary file
|
components/cyrlitera/languages/cyrlitera-ru_RU.po
ADDED
@@ -0,0 +1,611 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: clearfy\n"
|
4 |
+
"POT-Creation-Date: 2018-03-23 17:57+0300\n"
|
5 |
+
"PO-Revision-Date: 2018-03-23 17:57+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 1.8.8\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:127 admin/options.php:30
|
43 |
+
msgid "Use transliteration"
|
44 |
+
msgstr "Использовать транслитерацию"
|
45 |
+
|
46 |
+
#: admin/boot.php:133 admin/options.php:48
|
47 |
+
msgid "Force transliteration"
|
48 |
+
msgstr "Принудильная траслитерация"
|
49 |
+
|
50 |
+
#: admin/boot.php:139 admin/options.php:39
|
51 |
+
msgid "Convert file names"
|
52 |
+
msgstr "Конвертировать имена файлов"
|
53 |
+
|
54 |
+
#: admin/boot.php:145 admin/options.php:58
|
55 |
+
msgid "Convert file names into lowercase"
|
56 |
+
msgstr "Преобразовывать имена файлов в нижний регистр"
|
57 |
+
|
58 |
+
#: admin/boot.php:151 admin/options.php:68
|
59 |
+
msgid "Redirection old URLs to new ones"
|
60 |
+
msgstr "Перенаправление со старых URL на новые"
|
61 |
+
|
62 |
+
#: admin/boot.php:157 admin/options.php:78
|
63 |
+
msgid "Character Sets"
|
64 |
+
msgstr "Наборы символов"
|
65 |
+
|
66 |
+
#: admin/boot.php:169
|
67 |
+
msgid "Get ultimate plugin free"
|
68 |
+
msgstr "Получите полную версию плагина бесплатно"
|
69 |
+
|
70 |
+
#: admin/options.php:23
|
71 |
+
msgid "Transliteration of Cyrillic alphabet."
|
72 |
+
msgstr "Транслитерация кириллицы."
|
73 |
+
|
74 |
+
#: admin/options.php:23
|
75 |
+
msgid ""
|
76 |
+
"Converts Cyrillic permalinks of post, pages, taxonomies and media files to "
|
77 |
+
"the Latin alphabet. Supports Russian, Ukrainian, Georgian, Bulgarian "
|
78 |
+
"languages. Example: http://site.dev/последние-новости -> http://site.dev/"
|
79 |
+
"poslednie-novosti"
|
80 |
+
msgstr ""
|
81 |
+
"Конвертирует кириллические постоянные ссылки записей, страниц, таксономий и "
|
82 |
+
"медиафайлов в латиницу. Поддерживает Русский, Украинский, Грузинский, "
|
83 |
+
"Болгарский языки. Пример: http://site.dev/последние-новости -> http://site."
|
84 |
+
"dev/poslednie-novosti"
|
85 |
+
|
86 |
+
#: admin/options.php:32
|
87 |
+
msgid ""
|
88 |
+
"If you enable this option, all URLs of new pages, posts, tags, and "
|
89 |
+
"categories will automatically be converted to Latin."
|
90 |
+
msgstr ""
|
91 |
+
"Если включить эту опцию, все URL новых страниц, записей, меток, рубрик будут "
|
92 |
+
"автоматически конвертироваться в латиницу."
|
93 |
+
|
94 |
+
#: admin/options.php:41
|
95 |
+
msgid ""
|
96 |
+
"This option works only for new media library files. All Cyrillic names of "
|
97 |
+
"the downloaded files will be converted to names with Latin characters."
|
98 |
+
msgstr ""
|
99 |
+
"Эта опция работает только для новых файлов медиа библиотеки. Все "
|
100 |
+
"кириллические имена загружаемых файлов, будут преобразованы в имена с "
|
101 |
+
"латинскими символами."
|
102 |
+
|
103 |
+
#: admin/options.php:50
|
104 |
+
#, php-format
|
105 |
+
msgid ""
|
106 |
+
"If any of your plugins affects transliteration of links and file names, you "
|
107 |
+
"can use this option to change the plugin of %s to overwrite the changes of "
|
108 |
+
"the other plugins."
|
109 |
+
msgstr ""
|
110 |
+
"Если какой-то из установленных у вас плагинов влияет на траслитерацию "
|
111 |
+
"постоянный ссылок и файловых имен, включите эту опцию, чтобы %s "
|
112 |
+
"перезаписывал изменения других плагинов."
|
113 |
+
|
114 |
+
#: admin/options.php:60
|
115 |
+
msgid ""
|
116 |
+
"This function works only for new upload files. Example: File_Name.jpg -> "
|
117 |
+
"file_name.jpg"
|
118 |
+
msgstr ""
|
119 |
+
"Эта функция работает только для новых загружаемых файлов. Пример: File_Name."
|
120 |
+
"jpg -> file_name.jpg"
|
121 |
+
|
122 |
+
#: admin/options.php:70
|
123 |
+
msgid ""
|
124 |
+
"If at the time of the plugin installation you had pages with unconverted "
|
125 |
+
"links, use this option to redirect users from old to new URLs with the Latin "
|
126 |
+
"alphabet."
|
127 |
+
msgstr ""
|
128 |
+
"Если на момент установки плагина у вас были страницы с не преобразованными "
|
129 |
+
"ссылками, используйте эту опцию, чтобы пользователи, перешедшие по старым "
|
130 |
+
"ссылкам, были перенаправлены на новые URL на латинице."
|
131 |
+
|
132 |
+
#: admin/options.php:79
|
133 |
+
msgid ""
|
134 |
+
"You can supplement current base of transliteration characters. Write pairs "
|
135 |
+
"of values separated by commas. Example:"
|
136 |
+
msgstr ""
|
137 |
+
"Вы можете дополнить текущую базу символов транслитерации, пишите пары "
|
138 |
+
"значений через запятую. Пример: "
|
139 |
+
|
140 |
+
#: admin/options.php:168
|
141 |
+
msgid ""
|
142 |
+
"If at the time of the plugin installation you already had posts, pages, tags "
|
143 |
+
"and categories, click on this button and the plugin will automatically "
|
144 |
+
"convert URLs into Latin. Attention! Previously uploaded files will not be "
|
145 |
+
"converted."
|
146 |
+
msgstr ""
|
147 |
+
"Если на момент установки плагина у вас уже были созданы записи, страницы, "
|
148 |
+
"метки и рубрики, то нажмите на эту кнопку и плагин автоматически преобразует "
|
149 |
+
"URLы в латинские. Внимание! Ранее загруженные файлы преобразованы не будут."
|
150 |
+
|
151 |
+
#: admin/options.php:177
|
152 |
+
msgid "Convert already created posts and categories"
|
153 |
+
msgstr "Преобразовать уже созданные записи и рубрики"
|
154 |
+
|
155 |
+
#: admin/options.php:179
|
156 |
+
msgid "Url of old posts, pages,terms,tags successfully converted into Latin!"
|
157 |
+
msgstr ""
|
158 |
+
"Url старых записей, страниц, тегов и рубрик были успешно конвертированы в "
|
159 |
+
"литинские!"
|
160 |
+
|
161 |
+
#: admin/options.php:189
|
162 |
+
msgid ""
|
163 |
+
"Allows you to restore converted URLs by using the \"Convert already created "
|
164 |
+
"posts and categories\" button. This can be useful in case of incorrect URLs "
|
165 |
+
"or incorrect transliteration of some characters. You can roll back changes "
|
166 |
+
"and advance the character sets above to correct the plugin's work. "
|
167 |
+
msgstr ""
|
168 |
+
"Позволяет восстановить преобразованные с помощью кнопки “Преобразовать уже "
|
169 |
+
"созданные записи и рубрики” URLы. Это может быть полезно в случае появления "
|
170 |
+
"некорректных URL адресов или неправильной транслитерации определенных "
|
171 |
+
"символов. У вас есть возможность откатить изменения и изменить наборы "
|
172 |
+
"символов выше, чтобы скорректировать работу плагина."
|
173 |
+
|
174 |
+
#: admin/options.php:198
|
175 |
+
msgid "Rollback changes"
|
176 |
+
msgstr "Откатить изменения"
|
177 |
+
|
178 |
+
#: admin/options.php:200
|
179 |
+
msgid "The rollback of new changes was successful!"
|
180 |
+
msgstr "Откат новых изменений прошел успешно!"
|
181 |
+
|
182 |
+
#: admin/pages/cyrlitera.php:33 admin/pages/cyrlitera.php:49
|
183 |
+
msgid "Transliteration"
|
184 |
+
msgstr "Транслитерация"
|
185 |
+
|
186 |
+
#: admin/pages/cyrlitera.php:50
|
187 |
+
msgid "General"
|
188 |
+
msgstr "Основные"
|
189 |
+
|
190 |
+
#: cyrlitera.php:23
|
191 |
+
msgid ""
|
192 |
+
"We found that you have the \"Clearfy - disable unused features\" plugin "
|
193 |
+
"installed, this plugin already has disable comments functions, so you can "
|
194 |
+
"deactivate plugin \"Webcraftic Cyrlitera\"!"
|
195 |
+
msgstr ""
|
196 |
+
"Мы обнаружили, что у вас установлен плагин «Clearfy - отключить "
|
197 |
+
"неиспользуемые функции», этот плагин уже имеет функции отключения "
|
198 |
+
"комментариев, поэтому вы можете отключить плагин «Webcraftic Cyrlitera»!"
|
199 |
+
|
200 |
+
#: cyrlitera.php:81
|
201 |
+
msgid "Webcraftic Cyrlitera"
|
202 |
+
msgstr "Webcraftic Cyrlitera"
|
203 |
+
|
204 |
+
#~ msgid ""
|
205 |
+
#~ "You can supplement current base of transliteration characters. Write "
|
206 |
+
#~ "pairs of values in lower case separated by commas. Example:"
|
207 |
+
#~ msgstr ""
|
208 |
+
#~ "Вы можете дополнить текущую базу символов транслитерации, пишите пары "
|
209 |
+
#~ "значений в нижнем регистре через запятую. Пример: ა=a,ბ=b"
|
210 |
+
|
211 |
+
#~ msgid ""
|
212 |
+
#~ "If any of your plugins affects transliteration of links, you can use this "
|
213 |
+
#~ "option to change the plugin of %s to overwrite the changes of the other "
|
214 |
+
#~ "plugins."
|
215 |
+
#~ msgstr ""
|
216 |
+
#~ "Если какой-то из установленных у вас плагинов влияет на траслитерацию "
|
217 |
+
#~ "постоянный ссылок, включите эту опцию, чтобы %s перезаписывал изменения "
|
218 |
+
#~ "других плагинов."
|
219 |
+
|
220 |
+
#~ msgid ""
|
221 |
+
#~ "We found that you have the \"Clearfy - disable unused features\" plugin "
|
222 |
+
#~ "installed, this plugin already has disable comments functions, so you can "
|
223 |
+
#~ "deactivate plugin \"Cyrilic transliteration\"!"
|
224 |
+
#~ msgstr ""
|
225 |
+
#~ "Мы обнаружили, что у вас установлен плагин «Clearfy - отключить "
|
226 |
+
#~ "неиспользуемые функции», этот плагин уже имеет функции отключения "
|
227 |
+
#~ "комментариев, поэтому вы можете отключить плагин «Транслитерация "
|
228 |
+
#~ "кириллицы»!"
|
229 |
+
|
230 |
+
#~ msgid "Webcraftic cyrilic transliteration"
|
231 |
+
#~ msgstr "Webcraftic транслитерация кириллицы"
|
232 |
+
|
233 |
+
#~ msgid ""
|
234 |
+
#~ "If you enable this option, the permanent URLs of all previously published "
|
235 |
+
#~ "posts and pages will be converted into URLs with Latin characters. All "
|
236 |
+
#~ "new pages and posts will also have a URL in the Latin alphabet."
|
237 |
+
#~ msgstr ""
|
238 |
+
#~ "Если включить эту опцию, постоянные URL всех ранее опубликованных записей "
|
239 |
+
#~ "и страниц будут преобразованы в URL с латинскими символами. Все новые "
|
240 |
+
#~ "страницы и записи, также будут иметь URL на латинице."
|
241 |
+
|
242 |
+
#~ msgid "You don't have enough capability to edit this information."
|
243 |
+
#~ msgstr "Вы не имеете разрешения на редактирование этого!"
|
244 |
+
|
245 |
+
#~ msgid "Undefinded notice id."
|
246 |
+
#~ msgstr "Не передан notice id."
|
247 |
+
|
248 |
+
#~ msgid "Success"
|
249 |
+
#~ msgstr "Успешно"
|
250 |
+
|
251 |
+
#~ msgid "Hide admin notices"
|
252 |
+
#~ msgstr "Скрыть уведомления"
|
253 |
+
|
254 |
+
#~ msgid "Enable hidden notices in adminbar"
|
255 |
+
#~ msgstr "Включить уведомления в админбаре"
|
256 |
+
|
257 |
+
#~ msgid "Admin notifications, Update nags"
|
258 |
+
#~ msgstr "Уведомления администратора, уведомления об обновлении Wordpress"
|
259 |
+
|
260 |
+
#~ msgid ""
|
261 |
+
#~ "Do you know the situation, when some plugin offers you to update to "
|
262 |
+
#~ "premium, to collect technical data and shows many annoying notices? You "
|
263 |
+
#~ "are close these notices every now and again but they newly appears and "
|
264 |
+
#~ "interfere your work with WordPress. Even worse, some plugin’s authors "
|
265 |
+
#~ "delete “close” button from notices and they shows in your admin panel "
|
266 |
+
#~ "forever."
|
267 |
+
#~ msgstr ""
|
268 |
+
#~ "Вам знакома ситуация, когда какой-то плагин просит вас обновиться до "
|
269 |
+
#~ "премиум-версии, получить права на сбор данных о вашем сайте и создает "
|
270 |
+
#~ "много раздражающих уведомлений? Вы закрываете эти уведомления раз за "
|
271 |
+
#~ "разом, но они вновь появляются и мешают вашей работе с WordPress. Хуже "
|
272 |
+
#~ "того, некоторые авторы и вовсе удаляют кнопку “закрыть” из уведомлений, и "
|
273 |
+
#~ "они висят в шапке вашей панели администратора целую вечность."
|
274 |
+
|
275 |
+
#~ msgid "All notices"
|
276 |
+
#~ msgstr "Все уведомления"
|
277 |
+
|
278 |
+
#~ msgid "Hide all notices globally."
|
279 |
+
#~ msgstr "Скрыть все уведомления глобально."
|
280 |
+
|
281 |
+
#~ msgid "Only selected"
|
282 |
+
#~ msgstr "Только выбранные"
|
283 |
+
|
284 |
+
#~ msgid ""
|
285 |
+
#~ "Hide selected notices only. You will see the link \"Hide notification "
|
286 |
+
#~ "forever\" in each notice. Push it and they will not bother you anymore."
|
287 |
+
#~ msgstr ""
|
288 |
+
#~ "Скрывать только выбранные уведомления. В каждом уведомлении вы увидите "
|
289 |
+
#~ "ссылку \"Скрыть уведомление навсегда\". Нажмите на неё и уведомление "
|
290 |
+
#~ "будет скрыто навсегда и перестанет вас беспокоить."
|
291 |
+
|
292 |
+
#~ msgid "Don't nide"
|
293 |
+
#~ msgstr "Не скрывать"
|
294 |
+
|
295 |
+
#~ msgid ""
|
296 |
+
#~ "Do not hide notices and do not show “Hide notification forever” link for "
|
297 |
+
#~ "admin."
|
298 |
+
#~ msgstr ""
|
299 |
+
#~ "Не скрывать уведомления и не показывать ссылку \"Скрыть уведомление "
|
300 |
+
#~ "навсегда\" в уведомлениях администратора."
|
301 |
+
|
302 |
+
#~ msgid ""
|
303 |
+
#~ "Some plugins shows notifications about premium version, data collecting "
|
304 |
+
#~ "or promote their services. Even if you push close button (that sometimes "
|
305 |
+
#~ "are impossible), notices are shows again in some time. This option allows "
|
306 |
+
#~ "you to control notices. Hide them all or each individually. Some plugins "
|
307 |
+
#~ "shows notifications about premium version, data collecting or promote "
|
308 |
+
#~ "their services. Even if you push close button (that sometimes are "
|
309 |
+
#~ "impossible), notices are shows again in some time. This option allows you "
|
310 |
+
#~ "to control notices. Hide them all or each individually."
|
311 |
+
#~ msgstr ""
|
312 |
+
#~ "Зачастую, плагины отображают уведомления о возможности перехода на "
|
313 |
+
#~ "премиум версию, просят разрешение на сбор данных, рекламируют свои "
|
314 |
+
#~ "услуги. Даже если вы нажмете кнопку закрыть (что не всегда возможно), "
|
315 |
+
#~ "уведомления всё равно отобразятся через какое-то время. С помощью этой "
|
316 |
+
#~ "настройки, вы можете контролировать эти уведомления. Скройте их все сразу "
|
317 |
+
#~ "или каждое по отдельности."
|
318 |
+
|
319 |
+
#~ msgid ""
|
320 |
+
#~ "By default, the plugin hides all notices, which you specified. If you "
|
321 |
+
#~ "enable this option, the plugin will collect all hidden notices and show "
|
322 |
+
#~ "them into the top admin toolbar. It will not disturb you but will allow "
|
323 |
+
#~ "to look notices at your convenience."
|
324 |
+
#~ msgstr ""
|
325 |
+
#~ "По умолчанию, плагин полностью скрывает отключенные вами уведомления. "
|
326 |
+
#~ "Если включить эту опцию, то плагин будет собирать все скрытые вами "
|
327 |
+
#~ "уведомления и выводить в верхней панели администратора. Это не будет вас "
|
328 |
+
#~ "раздражать, но и позволит просматривать уведомления, когда вам это удобно."
|
329 |
+
|
330 |
+
#~ msgid "Push reset hidden notices if you need to show hidden notices again."
|
331 |
+
#~ msgstr "Нажмите кнопку \\\"Сбросить скрытые уведомления\\\""
|
332 |
+
|
333 |
+
#~ msgid "Reset hidden notices (%s)"
|
334 |
+
#~ msgstr "Сбросить скрытые уведомления (%s)"
|
335 |
+
|
336 |
+
#~ msgid "Hidden notices are successfully reset, now you can see them again!"
|
337 |
+
#~ msgstr ""
|
338 |
+
#~ "Скрытые уведомления успешно восстановлены, теперь вы можете снова видеть "
|
339 |
+
#~ "их!"
|
340 |
+
|
341 |
+
#~ msgid "Notices"
|
342 |
+
#~ msgstr "Уведомления"
|
343 |
+
|
344 |
+
#~ msgid ""
|
345 |
+
#~ "We found that you have the \"Clearfy - disable unused features\" plugin "
|
346 |
+
#~ "installed, this plugin already has disable comments functions, so you can "
|
347 |
+
#~ "deactivate plugin \"Disable admin notices\"!"
|
348 |
+
#~ msgstr ""
|
349 |
+
#~ "Мы обнаружили, что у вас установлен плагин «Clearfy - отключить "
|
350 |
+
#~ "неиспользуемые функции», этот плагин уже имеет функции отключения "
|
351 |
+
#~ "комментариев, поэтому вы можете отключить плагин «Скрыть уведомления "
|
352 |
+
#~ "администратора»!"
|
353 |
+
|
354 |
+
#~ msgid "Webcraftic disable admin notices"
|
355 |
+
#~ msgstr "Webcraftic отключить уведомления администратора"
|
356 |
+
|
357 |
+
#~ msgid "Notifications %s"
|
358 |
+
#~ msgstr "Уведомления %s"
|
359 |
+
|
360 |
+
#~ msgid "Restore notice"
|
361 |
+
#~ msgstr "Восстановить уведомление"
|
362 |
+
|
363 |
+
#~ msgid "Hide notification forever"
|
364 |
+
#~ msgstr "Скрыть уведомление навсегда"
|
365 |
+
|
366 |
+
#~ msgid "Hidden notices"
|
367 |
+
#~ msgstr "Скрытые уведомления"
|
368 |
+
|
369 |
+
#~ msgid "Disable comments on the entire site"
|
370 |
+
#~ msgstr "Отключить комментарии на всем сайте"
|
371 |
+
|
372 |
+
#~ msgid "Select post types"
|
373 |
+
#~ msgstr "Выбрать тип записи"
|
374 |
+
|
375 |
+
#~ msgid "Replace external links in comments on the JavaScript code"
|
376 |
+
#~ msgstr "Заменить внешние ссылки в комментариях на JavaScript код"
|
377 |
+
|
378 |
+
#~ msgid "Replace external links from comment authors on the JavaScript code"
|
379 |
+
#~ msgstr "Заменить внешние ссылки от авторов комментариев на код JavaScript"
|
380 |
+
|
381 |
+
#~ msgid "Disable X-Pingback"
|
382 |
+
#~ msgstr "Убрать ссылку на X-Pingback и возможность спамить pingback-ами"
|
383 |
+
|
384 |
+
#~ msgid "Remove field \"site\" in comment form"
|
385 |
+
#~ msgstr "Удаляет поле \"Сайт\" в форме комментариев"
|
386 |
+
|
387 |
+
#~ msgid "Disable all comments"
|
388 |
+
#~ msgstr "Отключить все комментарии"
|
389 |
+
|
390 |
+
#~ msgid "Comments"
|
391 |
+
#~ msgstr "Комментарии"
|
392 |
+
|
393 |
+
#~ msgid ""
|
394 |
+
#~ "Hide selected notices only. You will see the link \"Hide notification "
|
395 |
+
#~ "forever\" in each notice. Push it and they will not bother you anymore. "
|
396 |
+
#~ "Push <a href=\"%s\">reset hidden notices (%d)</a> if you need to show "
|
397 |
+
#~ "hidden notices again."
|
398 |
+
#~ msgstr ""
|
399 |
+
#~ "Скрывать только выбранные уведомления. В каждом уведомлении вы увидите "
|
400 |
+
#~ "ссылку \"Скрыть уведомление навсегда\". Нажмите на неё и уведомление "
|
401 |
+
#~ "будет скрыто навсегда и перестанет вас беспокоить. Нажмите <a href=\"%s"
|
402 |
+
#~ "\">сбросить скрытые уведомления (%d)</a>, если вам нужно восстановить "
|
403 |
+
#~ "показ скрытых ранее уведомлений."
|
404 |
+
|
405 |
+
#~ msgid "Webcraftic hide admin notices"
|
406 |
+
#~ msgstr "Webcraftic скрыть уведомления администратора"
|
407 |
+
|
408 |
+
#~ msgid "Comments tweaks"
|
409 |
+
#~ msgstr "Инструменты комментариев"
|
410 |
+
|
411 |
+
#~ msgid "All comments have been deleted."
|
412 |
+
#~ msgstr "Все комментарии были удалены."
|
413 |
+
|
414 |
+
#~ msgid ""
|
415 |
+
#~ "An error occurred while trying to delete comments. Internal error "
|
416 |
+
#~ "occured. Please try again later."
|
417 |
+
#~ msgstr ""
|
418 |
+
#~ "При попытке удалить комментарии произошла ошибка. Пожалуйста, повторите "
|
419 |
+
#~ "попытку позже."
|
420 |
+
|
421 |
+
#~ msgid "You are not allowed to view this page."
|
422 |
+
#~ msgstr "Вам не разрешено просматривать эту страницу."
|
423 |
+
|
424 |
+
#~ msgid "You do not have the selected post types!"
|
425 |
+
#~ msgstr "Вы не выбрали еще ни одного типа записей!"
|
426 |
+
|
427 |
+
#~ msgid "No comments available for deletion."
|
428 |
+
#~ msgstr "Нет комментариев для удаления."
|
429 |
+
|
430 |
+
#~ msgid ""
|
431 |
+
#~ "Are you sure that you desire to delete all comments from the database?"
|
432 |
+
#~ msgstr "Вы уверены, что хотите удалить все комментарии из базы данных?"
|
433 |
+
|
434 |
+
#~ msgid ""
|
435 |
+
#~ "Deleting comments will remove existing comment entries in the database "
|
436 |
+
#~ "and cannot be reverted without a database backup."
|
437 |
+
#~ msgstr ""
|
438 |
+
#~ "При удалении комментариев удаляются существующие записи комментариев в "
|
439 |
+
#~ "базе данных, они не могут быть восстановлены без резервного копирования "
|
440 |
+
#~ "базы данных."
|
441 |
+
|
442 |
+
#~ msgid "You have %s comments"
|
443 |
+
#~ msgstr "У вас есть %s комментариев"
|
444 |
+
|
445 |
+
#~ msgid "Yes, I'm sure"
|
446 |
+
#~ msgstr "Да, я уверен"
|
447 |
+
|
448 |
+
#~ msgid "No, return back"
|
449 |
+
#~ msgstr "Нет, вернуться"
|
450 |
+
|
451 |
+
#~ msgid ""
|
452 |
+
#~ "Are you sure that you desire to delete all comments from the database for "
|
453 |
+
#~ "the selected post types (%s)?"
|
454 |
+
#~ msgstr ""
|
455 |
+
#~ "Вы уверены, что хотите удалить все комментарии из базы данных для "
|
456 |
+
#~ "выбранных типов записей (%s)?"
|
457 |
+
|
458 |
+
#~ msgid "Disable comments"
|
459 |
+
#~ msgstr "Отключить комментарии"
|
460 |
+
|
461 |
+
#~ msgid "Not disable"
|
462 |
+
#~ msgstr "Не отключать"
|
463 |
+
|
464 |
+
#~ msgid "Everywhere"
|
465 |
+
#~ msgstr "Повсюду"
|
466 |
+
|
467 |
+
#~ msgid ""
|
468 |
+
#~ "You can delete all comments in the database by clicking on this link (<a "
|
469 |
+
#~ "href=\"%s\">cleaning comments in database</a>)."
|
470 |
+
#~ msgstr ""
|
471 |
+
#~ "Вы можете удалить все комментарии в базе данных, нажав на эту ссылку ( <a "
|
472 |
+
#~ "href=\"%s\">очистка комментариев в базе данных</a> )."
|
473 |
+
|
474 |
+
#~ msgid "On certain post types"
|
475 |
+
#~ msgstr "Только выбранные типы записей"
|
476 |
+
|
477 |
+
#~ msgid ""
|
478 |
+
#~ "You can delete all comments for the selected post types. Select the post "
|
479 |
+
#~ "types below and save the settings. After that, click the link (<a href="
|
480 |
+
#~ "\"%s\">delete all comments for the selected post types in database</a>)."
|
481 |
+
#~ msgstr ""
|
482 |
+
#~ "Вы можете удалить все комментарии для выбранных типов записей. Выберите "
|
483 |
+
#~ "типы записей ниже и сохраните настройки. После этого нажмите ссылку ( <a "
|
484 |
+
#~ "href=\"%s\">удалите все комментарии для выбранных типов записей в базе "
|
485 |
+
#~ "данных</a> )."
|
486 |
+
|
487 |
+
#~ msgid ""
|
488 |
+
#~ "Everywhere - Warning: This option is global and will affect your entire "
|
489 |
+
#~ "site. Use it only if you want to disable comments everywhere. A complete "
|
490 |
+
#~ "description of what this option does is available here"
|
491 |
+
#~ msgstr ""
|
492 |
+
#~ "Повсюду - предупреждение: этот параметр является глобальным и повлияет на "
|
493 |
+
#~ "весь ваш сайт. Используйте его только в том случае, если вы хотите "
|
494 |
+
#~ "отключить комментарии повсюду. "
|
495 |
+
|
496 |
+
#~ msgid ""
|
497 |
+
#~ "On certain post types - Disabling comments will also disable trackbacks "
|
498 |
+
#~ "and pingbacks. All comment-related fields will also be hidden from the "
|
499 |
+
#~ "edit/quick-edit screens of the affected posts. These settings cannot be "
|
500 |
+
#~ "overridden for individual posts."
|
501 |
+
#~ msgstr ""
|
502 |
+
#~ "В некоторых типах сообщений - отключение комментариев также отключает "
|
503 |
+
#~ "трекбэки и pingback. Все поля, связанные с комментариями, также будут "
|
504 |
+
#~ "скрыты от экранов редактирования / быстрого редактирования затронутых "
|
505 |
+
#~ "сообщений. Эти настройки нельзя переопределять для отдельных сообщений."
|
506 |
+
|
507 |
+
#~ msgid "Select the post types for which comments will be disabled"
|
508 |
+
#~ msgstr "Выберите типы записей, для которых комментарии будут отключены."
|
509 |
+
|
510 |
+
#~ msgid ""
|
511 |
+
#~ "Tired of spam in the comments? Do visitors leave \"blank\" comments for "
|
512 |
+
#~ "the sake of a link to their site?"
|
513 |
+
#~ msgstr ""
|
514 |
+
#~ "Надоел спам в комментариях? Посетители оставляют «пустые» комментарии "
|
515 |
+
#~ "ради ссылки на свой сайт?"
|
516 |
+
|
517 |
+
#~ msgid "Removes the \"Site\" field from the comment form."
|
518 |
+
#~ msgstr "Убирает поле «Сайт» из формы комментирования."
|
519 |
+
|
520 |
+
#~ msgid ""
|
521 |
+
#~ "Works with the standard comment form, if the form is manually written in "
|
522 |
+
#~ "your theme-it probably will not work!"
|
523 |
+
#~ msgstr ""
|
524 |
+
#~ "Работает со стандартной формой комментирования, если в Вашей теме форма "
|
525 |
+
#~ "прописана вручную - скорей всего не сработает!"
|
526 |
+
|
527 |
+
#~ msgid "Recommended"
|
528 |
+
#~ msgstr "Рекомендовано"
|
529 |
+
|
530 |
+
#~ msgid ""
|
531 |
+
#~ "Superfluous external links from comments, which can be typed from a dozen "
|
532 |
+
#~ "and more for one article, do not bring anything good for promotion."
|
533 |
+
#~ msgstr ""
|
534 |
+
#~ "Внешние ссылки в комментариях, которых может быть десятки или больше на "
|
535 |
+
#~ "одной странице, могут ухудшить продвижение вашего сайта."
|
536 |
+
|
537 |
+
#~ msgid "Replaces the links of this kind of %s, on links of this kind %s"
|
538 |
+
#~ msgstr ""
|
539 |
+
#~ "Заменяет ссылки %s, на span тег и устанавливает переход с помощью "
|
540 |
+
#~ "JavaScript %s"
|
541 |
+
|
542 |
+
#~ msgid ""
|
543 |
+
#~ "Up to 90 percent of comments in the blog can be left for the sake of an "
|
544 |
+
#~ "external link. Even nofollow from page weight loss here does not help."
|
545 |
+
#~ msgstr ""
|
546 |
+
#~ "До 90 процентов комментариев в блоге оставляют ради внешней ссылки. Не "
|
547 |
+
#~ "поможет даже nofollow от потери веса страницы."
|
548 |
+
|
549 |
+
#~ msgid ""
|
550 |
+
#~ "Replaces the links of the authors of comments on the JavaScript code, it "
|
551 |
+
#~ "is impossible to distinguish it from usual links."
|
552 |
+
#~ msgstr ""
|
553 |
+
#~ "Заменяет ссылки авторов комментариев на JavaScript код, его невозможно "
|
554 |
+
#~ "отличить от обычной ссылки."
|
555 |
+
|
556 |
+
#~ msgid "In some Wordpress topics this may not work."
|
557 |
+
#~ msgstr "В некоторых темах Wordpress это может не сработать."
|
558 |
+
|
559 |
+
#~ msgid "Disable XML-RPC"
|
560 |
+
#~ msgstr "Отключить XML-RPC"
|
561 |
+
|
562 |
+
#~ msgid ""
|
563 |
+
#~ "A pingback is basically an automated comment that gets created when "
|
564 |
+
#~ "another blog links to you. A self-pingback is created when you link to an "
|
565 |
+
#~ "article within your own blog. Pingbacks are essentially nothing more than "
|
566 |
+
#~ "spam and simply waste resources."
|
567 |
+
#~ msgstr ""
|
568 |
+
#~ "Pingback по-существу автоматизированных комментарий, который создается, "
|
569 |
+
#~ "когда другой блог ссылается на вас. Self-pingback создается, когда вы "
|
570 |
+
#~ "оставили ссылку на статью в своем блоге. Pingbacks по существу являются "
|
571 |
+
#~ "не более чем спам и пустая трата ресурсов вашего сайта."
|
572 |
+
|
573 |
+
#~ msgid "Removes the server responses a reference to the xmlrpc file."
|
574 |
+
#~ msgstr "Удаляет ссылку на xmlrpc-файл и ответ сервера."
|
575 |
+
|
576 |
+
#~ msgid ""
|
577 |
+
#~ "We found that you have the \"Clearfy - disable unused features\" plugin "
|
578 |
+
#~ "installed, this plugin already has disable comments functions, so you can "
|
579 |
+
#~ "deactivate plugin \"Comments tweaks\"!"
|
580 |
+
#~ msgstr ""
|
581 |
+
#~ "Мы обнаружили, что у вас установлен плагин «Clearfy - отключить "
|
582 |
+
#~ "неиспользуемые функции», этот плагин уже имеет функции отключения "
|
583 |
+
#~ "комментариев, поэтому вы можете отключить плагин «Инструменты "
|
584 |
+
#~ "комментариев»!"
|
585 |
+
|
586 |
+
#~ msgid "Webcraftic comments tweaks"
|
587 |
+
#~ msgstr "Webcraftic инструменты комментариев"
|
588 |
+
|
589 |
+
#~ msgid "Comments are closed."
|
590 |
+
#~ msgstr "Комментарии Закрыты."
|
591 |
+
|
592 |
+
#~ msgid ""
|
593 |
+
#~ "Note: The <em>%s</em> plugin is currently active, and comments are "
|
594 |
+
#~ "completely disabled on: %s. Many of the settings below will not be "
|
595 |
+
#~ "applicable for those post types."
|
596 |
+
#~ msgstr ""
|
597 |
+
#~ "Примечание. Плагин <em>%s</em> в настоящий момент активен, и комментарии "
|
598 |
+
#~ "полностью отключены: %s. Многие из приведенных ниже настроек не будут "
|
599 |
+
#~ "применяться для этих типов сообщений."
|
600 |
+
|
601 |
+
#~ msgid ""
|
602 |
+
#~ "We found that you have the \"Clearfy - disable unused features\" plugin "
|
603 |
+
#~ "installed, this plugin already has disable comments functions, so you can "
|
604 |
+
#~ "deactivate plugin \"Disable comments\"!"
|
605 |
+
#~ msgstr ""
|
606 |
+
#~ "Мы обнаружили, что у вас установлен плагин «Clearfy - отключить "
|
607 |
+
#~ "неиспользуемые функции», этот плагин уже имеет функции отключения "
|
608 |
+
#~ "комментариев, поэтому вы можете отключить плагин «Отключить комментарии»!"
|
609 |
+
|
610 |
+
#~ msgid "Webcraftic Disable comments"
|
611 |
+
#~ msgstr "Webcraftic отключить комментарии"
|
components/cyrlitera/languages/index.php
ADDED
File without changes
|
components/cyrlitera/libs/index.php
ADDED
File without changes
|
components/cyrlitera/readme.txt
ADDED
@@ -0,0 +1,108 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
=== Cyrlitera – transliteration of links and file names ===
|
2 |
+
Tags: translitera, cyrillic, latin, l10n, russian, rustolat, slugs, translations, transliteration, media, georgian, european, diacritics, ukrainian
|
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: 4.9
|
7 |
+
Requires PHP: 5.2
|
8 |
+
Stable tag: trunk
|
9 |
+
License: GPLv2
|
10 |
+
|
11 |
+
The plugin converts Cyrillic, Georgian links, filenames into Latin. It is necessary for correct work of WordPress plugins and improve links readability.
|
12 |
+
|
13 |
+
== Description ==
|
14 |
+
|
15 |
+
Transliteration is the transformation of one character into another, for example Cyrillic characters, into Latin. Usually transliteration is used to improve the readability of permalinks and avoid problems with displaying and reading files, because everything in network based on the Latin alphabet. Many plugins made by English-speaking developers do not optimize under the Cyrillic alphabet and can work unstable.
|
16 |
+
|
17 |
+
Cyrlitera transliteration plugin replaces Cyrillic, Georgian characters at posts, pages and tags to create readable permalinks. Also this plugin fixes incorrect file names and removes unnecessary characters, which can cause problems when accessing this file.
|
18 |
+
|
19 |
+
**Cyrillic link example:**<br>
|
20 |
+
_site.dev/%D0%BF%D1%80%D0%B8%D0%B2%D0%B5%D1%82-%D0%BC%D0%B8%D1%80
|
21 |
+
|
22 |
+
**Converted into the Latin alphabet:**<br>
|
23 |
+
_site.dev/privet-mir
|
24 |
+
|
25 |
+
In the first case, you can not visually understand the text of encoded link. In the second case, the link transliteration is implemented, everything looks more clear and the link is more shorter.
|
26 |
+
|
27 |
+
**An example of incorrect filename transliteration:**<br>
|
28 |
+
%D0%BC%D0%BE%D0%B5_image_ 290.jpg<br>
|
29 |
+
A+nice+picture.png
|
30 |
+
|
31 |
+
**Images transliteration example:**<br>
|
32 |
+
moe_image_ 290.jpg<br>
|
33 |
+
a-nice-picture.png
|
34 |
+
|
35 |
+
If you ignore file names creation rules, then you can get 404 errors and broken links.
|
36 |
+
|
37 |
+
Therefore, create file names using Latin characters and numbers, avoiding special characters, except dashes and underscores. Alternatively, use this plugin. It will do all this work automatically when uploading a file via the WordPress interface and reduce the number of broken links.
|
38 |
+
|
39 |
+
#### FEATURES ####
|
40 |
+
* Converts permalinks of existing posts, pages, categories and tags when options are enable;
|
41 |
+
|
42 |
+
* Keeps the integrity of records' and pages' permalinks;
|
43 |
+
|
44 |
+
* Creates a redirect from old posts and pages names to the new ones with converted links;
|
45 |
+
|
46 |
+
* Performs transliteration of the attachments file names;
|
47 |
+
|
48 |
+
* Converts filenames into lowercase;
|
49 |
+
|
50 |
+
* Includes Russian, Belarusian, Ukrainian, Bulgarian, Georgian symbols;
|
51 |
+
|
52 |
+
* You can advance a characters base for transliteration;
|
53 |
+
|
54 |
+
* You can roll back changes if the plugin converted your URLs incorrectly.
|
55 |
+
|
56 |
+
|
57 |
+
#### THANKS TO THE PLUGINS' AUTHORS ####
|
58 |
+
We used some plugins functions:
|
59 |
+
<strong>WP Translitera</strong>, <strong>Rus-To-Lat</strong>, <strong>Cyr to Lat</strong>, <strong>Clearfy — WordPress optimization plugin and disable ultimate tweaker</strong>,translit-it, <strong>Cyr to Lat enhanced</strong>, <strong>Cyr-And-Lat</strong>, <strong>Rus filename translit</strong>, <strong>rus to lat advanced</strong>
|
60 |
+
|
61 |
+
#### RECOMMENDED SEPARATE MODULES ####
|
62 |
+
We invite you to check out a few other related free plugins that our team has also produced that you may find especially useful:
|
63 |
+
|
64 |
+
* [Clearfy – WordPress optimization plugin and disable ultimate tweaker](https://wordpress.org/plugins/clearfy/)
|
65 |
+
* [WordPress Assets manager, dequeue scripts, dequeue styles](https://wordpress.org/plugins/gonzales/)
|
66 |
+
* [Disable Comments for Any Post Types (Remove Comments)](https://wordpress.org/plugins/comments-plus/)
|
67 |
+
* [Disable updates, Disable automatic updates, Updates manager](https://wordpress.org/plugins/webcraftic-updates-manager/)
|
68 |
+
* [Disable admin notices individually](https://wordpress.org/plugins/disable-admin-notices/ "Disable admin notices individually")
|
69 |
+
|
70 |
+
== Installation ==
|
71 |
+
|
72 |
+
1. Upload the plugin files to the `/wp-content/plugins/plugin-name` directory, or install the plugin through the WordPress plugins screen directly.
|
73 |
+
2. Activate the plugin through the 'Plugins' screen in WordPress
|
74 |
+
3. Go to the general settings and click on the "Transliteration" tab, activate the options and save the settings.
|
75 |
+
|
76 |
+
== Frequently Asked Questions ==
|
77 |
+
|
78 |
+
= Does plugin work with multisite? =
|
79 |
+
No plugin does not support multisites. This is temporary and we will try to add support for networks in the future.
|
80 |
+
|
81 |
+
= Converts characters incorrectly? =
|
82 |
+
Try to change the problematic symbols in the plugin's settings with the symbol base enlargement field. These characters will replace the default characters.
|
83 |
+
|
84 |
+
= How to restore converted URLs? =
|
85 |
+
There is a "Rollback changes" button in the plugin settings. This option works only for links, which has been transliterated. This will not work for filenames.
|
86 |
+
== Screenshots ==
|
87 |
+
1. Setting page
|
88 |
+
2. Simple for posts
|
89 |
+
2. Simple for filenames
|
90 |
+
|
91 |
+
== Changelog ==
|
92 |
+
= 1.0.4 =
|
93 |
+
Fixed: Bug with transliteration of file names
|
94 |
+
Added: Compatibility with PHP 7.2
|
95 |
+
Added: Forced transliteration for file names
|
96 |
+
= 1.0.3 =
|
97 |
+
* Fixed: Small bugs
|
98 |
+
= 1.0.2 =
|
99 |
+
* Added: Function of converting files to lowercase
|
100 |
+
* Added: Forced transliteration function
|
101 |
+
* Added: The function of redirecting old records to new ones
|
102 |
+
* Added: Ability to change the base of symbols of transliteration
|
103 |
+
* Added: Button for converting old posts, categories, tags
|
104 |
+
* Added: Button to restore old links
|
105 |
+
= 1.0.1 =
|
106 |
+
* Fixed small bugs
|
107 |
+
= 1.0.0 =
|
108 |
+
* Plugin release
|
components/cyrlitera/uninstall.php
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
// if uninstall.php is not called by WordPress, die
|
4 |
+
if( !defined('WP_UNINSTALL_PLUGIN') ) {
|
5 |
+
die;
|
6 |
+
}
|
7 |
+
|
8 |
+
// remove plugin options
|
9 |
+
global $wpdb;
|
10 |
+
|
11 |
+
$wpdb->query("DELETE FROM {$wpdb->prefix}options WHERE option_name LIKE 'wbcr_cyrlitera_%';");
|
12 |
+
$wpdb->query("DELETE FROM {$wpdb->options} WHERE option_name LIKE 'wbcr_wp_term_%';");
|
13 |
+
$wpdb->query("DELETE FROM {$wpdb->postmeta} WHERE meta_key='wbcr_wp_old_slug';");
|
14 |
+
|
components/cyrlitera/updates/010004.php
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 WCTR_Update010004 extends Wbcr_Factory400_Update {
|
8 |
+
|
9 |
+
public function install()
|
10 |
+
{
|
11 |
+
WCTR_Plugin::app()->deleteOption('custom_symbols_pack');
|
12 |
+
}
|
13 |
+
}
|
components/cyrlitera/updates/index.php
ADDED
File without changes
|
components/disable-admin-notices/admin/ajax/hide-notice.php
CHANGED
@@ -6,11 +6,14 @@
|
|
6 |
* @version 1.0
|
7 |
*/
|
8 |
|
|
|
|
|
|
|
|
|
|
|
9 |
function wbcr_dan_ajax_hide_notices()
|
10 |
{
|
11 |
-
|
12 |
-
|
13 |
-
check_ajax_referer($wbcr_dan_plugin->pluginName . '_ajax_hide_notices_nonce', 'security');
|
14 |
|
15 |
if( !current_user_can('update_plugins') ) {
|
16 |
echo json_encode(array('error' => __('You don\'t have enough capability to edit this information.', 'disable-admin-notices')));
|
@@ -30,7 +33,7 @@
|
|
30 |
exit;
|
31 |
}
|
32 |
|
33 |
-
$get_hidden_notices =
|
34 |
|
35 |
if( !is_array($get_hidden_notices) ) {
|
36 |
$get_hidden_notices = array();
|
@@ -38,7 +41,7 @@
|
|
38 |
|
39 |
$get_hidden_notices[$notice_id] = rtrim(trim($notice_html));
|
40 |
|
41 |
-
|
42 |
|
43 |
echo json_encode(array('success' => __('Success', 'disable-admin-notices')));
|
44 |
exit;
|
6 |
* @version 1.0
|
7 |
*/
|
8 |
|
9 |
+
// Exit if accessed directly
|
10 |
+
if( !defined('ABSPATH') ) {
|
11 |
+
exit;
|
12 |
+
}
|
13 |
+
|
14 |
function wbcr_dan_ajax_hide_notices()
|
15 |
{
|
16 |
+
check_ajax_referer(WDN_Plugin::app()->getPluginName() . '_ajax_hide_notices_nonce', 'security');
|
|
|
|
|
17 |
|
18 |
if( !current_user_can('update_plugins') ) {
|
19 |
echo json_encode(array('error' => __('You don\'t have enough capability to edit this information.', 'disable-admin-notices')));
|
33 |
exit;
|
34 |
}
|
35 |
|
36 |
+
$get_hidden_notices = WDN_Plugin::app()->getOption('hidden_notices');
|
37 |
|
38 |
if( !is_array($get_hidden_notices) ) {
|
39 |
$get_hidden_notices = array();
|
41 |
|
42 |
$get_hidden_notices[$notice_id] = rtrim(trim($notice_html));
|
43 |
|
44 |
+
WDN_Plugin::app()->updateOption('hidden_notices', $get_hidden_notices);
|
45 |
|
46 |
echo json_encode(array('success' => __('Success', 'disable-admin-notices')));
|
47 |
exit;
|
components/disable-admin-notices/admin/ajax/index.php
ADDED
File without changes
|
components/disable-admin-notices/admin/ajax/restore-notice.php
CHANGED
@@ -6,11 +6,14 @@
|
|
6 |
* @version 1.0
|
7 |
*/
|
8 |
|
|
|
|
|
|
|
|
|
|
|
9 |
function wbcr_dan_ajax_restore_notice()
|
10 |
{
|
11 |
-
|
12 |
-
|
13 |
-
check_ajax_referer($wbcr_dan_plugin->pluginName . '_ajax_restore_notice_nonce', 'security');
|
14 |
|
15 |
if( !current_user_can('update_plugins') ) {
|
16 |
echo json_encode(array('error' => __('You don\'t have enough capability to edit this information.', 'disable-admin-notices')));
|
@@ -26,13 +29,13 @@
|
|
26 |
exit;
|
27 |
}
|
28 |
|
29 |
-
$get_hidden_notices =
|
30 |
|
31 |
if( !empty($get_hidden_notices) && isset($get_hidden_notices[$notice_id]) ) {
|
32 |
unset($get_hidden_notices[$notice_id]);
|
33 |
}
|
34 |
|
35 |
-
|
36 |
|
37 |
echo json_encode(array('success' => __('Success', 'disable-admin-notices')));
|
38 |
exit;
|
6 |
* @version 1.0
|
7 |
*/
|
8 |
|
9 |
+
// Exit if accessed directly
|
10 |
+
if( !defined('ABSPATH') ) {
|
11 |
+
exit;
|
12 |
+
}
|
13 |
+
|
14 |
function wbcr_dan_ajax_restore_notice()
|
15 |
{
|
16 |
+
check_ajax_referer(WDN_Plugin::app()->getPluginName() . '_ajax_restore_notice_nonce', 'security');
|
|
|
|
|
17 |
|
18 |
if( !current_user_can('update_plugins') ) {
|
19 |
echo json_encode(array('error' => __('You don\'t have enough capability to edit this information.', 'disable-admin-notices')));
|
29 |
exit;
|
30 |
}
|
31 |
|
32 |
+
$get_hidden_notices = WDN_Plugin::app()->getOption('hidden_notices');
|
33 |
|
34 |
if( !empty($get_hidden_notices) && isset($get_hidden_notices[$notice_id]) ) {
|
35 |
unset($get_hidden_notices[$notice_id]);
|
36 |
}
|
37 |
|
38 |
+
WDN_Plugin::app()->updateOption('hidden_notices', $get_hidden_notices);
|
39 |
|
40 |
echo json_encode(array('success' => __('Success', 'disable-admin-notices')));
|
41 |
exit;
|
components/disable-admin-notices/admin/assets/css/index.php
ADDED
File without changes
|
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/index.php
ADDED
File without changes
|
components/disable-admin-notices/admin/assets/js/index.php
ADDED
File without changes
|
components/disable-admin-notices/admin/boot.php
CHANGED
@@ -6,31 +6,21 @@
|
|
6 |
* @version 1.0
|
7 |
*/
|
8 |
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
require(WBCR_DAN_PLUGIN_DIR . '/admin/pages/more-features.php');
|
13 |
-
require(WBCR_DAN_PLUGIN_DIR . '/admin/pages/notices.php');
|
14 |
-
}
|
15 |
-
|
16 |
-
if( defined('DOING_AJAX') && DOING_AJAX && isset($_REQUEST['action']) && $_REQUEST['action'] == 'wbcr_dan_hide_notices' ) {
|
17 |
-
require(WBCR_DAN_PLUGIN_DIR . '/admin/ajax/hide-notice.php');
|
18 |
-
}
|
19 |
-
|
20 |
-
if( defined('DOING_AJAX') && DOING_AJAX && isset($_REQUEST['action']) && $_REQUEST['action'] == 'wbcr_dan_restore_notice' ) {
|
21 |
-
require(WBCR_DAN_PLUGIN_DIR . '/admin/ajax/restore-notice.php');
|
22 |
}
|
23 |
|
24 |
function wbcr_dan_rating_widget_url($page_url, $plugin_name)
|
25 |
{
|
26 |
-
if( $plugin_name ==
|
27 |
return 'https://goo.gl/68ucHp';
|
28 |
}
|
29 |
|
30 |
return $page_url;
|
31 |
}
|
32 |
|
33 |
-
add_filter('
|
34 |
|
35 |
function wbcr_dan_group_options($options)
|
36 |
{
|
@@ -57,7 +47,7 @@
|
|
57 |
|
58 |
function wbcr_dan_set_plugin_meta($links, $file)
|
59 |
{
|
60 |
-
if( $file ==
|
61 |
$links[] = '<a href="https://goo.gl/TcMcS4" style="color: #FF5722;font-weight: bold;" target="_blank">' . __('Get ultimate plugin free', 'disable-admin-notices') . '</a>';
|
62 |
}
|
63 |
|
6 |
* @version 1.0
|
7 |
*/
|
8 |
|
9 |
+
// Exit if accessed directly
|
10 |
+
if( !defined('ABSPATH') ) {
|
11 |
+
exit;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
}
|
13 |
|
14 |
function wbcr_dan_rating_widget_url($page_url, $plugin_name)
|
15 |
{
|
16 |
+
if( $plugin_name == WDN_Plugin::app()->getPluginName() ) {
|
17 |
return 'https://goo.gl/68ucHp';
|
18 |
}
|
19 |
|
20 |
return $page_url;
|
21 |
}
|
22 |
|
23 |
+
add_filter('wbcr_factory_pages_401_imppage_rating_widget_url', 'wbcr_dan_rating_widget_url', 10, 2);
|
24 |
|
25 |
function wbcr_dan_group_options($options)
|
26 |
{
|
47 |
|
48 |
function wbcr_dan_set_plugin_meta($links, $file)
|
49 |
{
|
50 |
+
if( $file == WDN_PLUGIN_BASE ) {
|
51 |
$links[] = '<a href="https://goo.gl/TcMcS4" style="color: #FF5722;font-weight: bold;" target="_blank">' . __('Get ultimate plugin free', 'disable-admin-notices') . '</a>';
|
52 |
}
|
53 |
|
components/disable-admin-notices/admin/options.php
CHANGED
@@ -6,6 +6,11 @@
|
|
6 |
* @version 1.0
|
7 |
*/
|
8 |
|
|
|
|
|
|
|
|
|
|
|
9 |
/**
|
10 |
* @return array
|
11 |
*/
|
@@ -13,12 +18,10 @@
|
|
13 |
{
|
14 |
$options = array();
|
15 |
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
);
|
21 |
-
}
|
22 |
|
23 |
$options[] = array(
|
24 |
'type' => 'dropdown',
|
@@ -84,7 +87,7 @@
|
|
84 |
|
85 |
/**
|
86 |
* @param $form
|
87 |
-
* @param $page
|
88 |
* @return mixed
|
89 |
*/
|
90 |
function wbcr_dan_additionally_form_options($form, $page)
|
@@ -105,25 +108,23 @@
|
|
105 |
add_filter('wbcr_clr_additionally_form_options', 'wbcr_dan_additionally_form_options', 10, 2);
|
106 |
|
107 |
/**
|
108 |
-
* @param $html_builder
|
109 |
*/
|
110 |
function wbcr_dan_reset_notices_button($html_builder)
|
111 |
{
|
112 |
-
global $wbcr_dan_plugin;
|
113 |
-
|
114 |
$form_name = $html_builder->getFormName();
|
115 |
$reseted = false;
|
116 |
|
117 |
if( isset($_POST['wbcr_dan_reset_action']) ) {
|
118 |
check_admin_referer($form_name, 'wbcr_dan_reset_nonce');
|
119 |
|
120 |
-
|
121 |
|
122 |
$reseted = true;
|
123 |
}
|
124 |
|
125 |
$count_hidden_notices = 0;
|
126 |
-
$hidden_notices =
|
127 |
|
128 |
if( !empty($hidden_notices) ) {
|
129 |
$count_hidden_notices = sizeof($hidden_notices);
|
6 |
* @version 1.0
|
7 |
*/
|
8 |
|
9 |
+
// Exit if accessed directly
|
10 |
+
if( !defined('ABSPATH') ) {
|
11 |
+
exit;
|
12 |
+
}
|
13 |
+
|
14 |
/**
|
15 |
* @return array
|
16 |
*/
|
18 |
{
|
19 |
$options = array();
|
20 |
|
21 |
+
$options[] = array(
|
22 |
+
'type' => 'html',
|
23 |
+
'html' => '<div class="wbcr-factory-page-group-header">' . '<strong>' . __('Admin notifications, Update nags', 'disable-admin-notices') . '</strong>' . '<p>' . __('Do you know the situation, when some plugin offers you to update to premium, to collect technical data and shows many annoying notices? You are close these notices every now and again but they newly appears and interfere your work with WordPress. Even worse, some plugin’s authors delete “close” button from notices and they shows in your admin panel forever.', 'disable-admin-notices') . '</p>' . '</div>'
|
24 |
+
);
|
|
|
|
|
25 |
|
26 |
$options[] = array(
|
27 |
'type' => 'dropdown',
|
87 |
|
88 |
/**
|
89 |
* @param $form
|
90 |
+
* @param $page Wbcr_FactoryPages401_ImpressiveThemplate
|
91 |
* @return mixed
|
92 |
*/
|
93 |
function wbcr_dan_additionally_form_options($form, $page)
|
108 |
add_filter('wbcr_clr_additionally_form_options', 'wbcr_dan_additionally_form_options', 10, 2);
|
109 |
|
110 |
/**
|
111 |
+
* @param $html_builder Wbcr_FactoryForms400_Html
|
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 |
+
WDN_Plugin::app()->deleteOption('hidden_notices');
|
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);
|
components/disable-admin-notices/admin/pages/index.php
ADDED
File without changes
|
components/disable-admin-notices/admin/pages/more-features.php
CHANGED
@@ -5,8 +5,12 @@
|
|
5 |
*
|
6 |
* @since 1.0.0
|
7 |
*/
|
8 |
-
class WbcrHan_MoreFeaturesPage extends FactoryClearfy102_MoreFeaturesPage {
|
9 |
|
|
|
|
|
|
|
10 |
}
|
11 |
|
12 |
-
|
|
|
|
5 |
*
|
6 |
* @since 1.0.0
|
7 |
*/
|
|
|
8 |
|
9 |
+
// Exit if accessed directly
|
10 |
+
if( !defined('ABSPATH') ) {
|
11 |
+
exit;
|
12 |
}
|
13 |
|
14 |
+
class WDN_MoreFeaturesPage extends Wbcr_FactoryClearfy200_MoreFeaturesPage {
|
15 |
+
|
16 |
+
}
|
components/disable-admin-notices/admin/pages/notices.php
CHANGED
@@ -5,13 +5,19 @@
|
|
5 |
*
|
6 |
* @since 1.0.0
|
7 |
*/
|
8 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
|
10 |
/**
|
11 |
* The id of the page in the admin menu.
|
12 |
*
|
13 |
* Mainly used to navigate between pages.
|
14 |
-
* @see
|
15 |
*
|
16 |
* @since 1.0.0
|
17 |
* @var string
|
@@ -19,19 +25,22 @@
|
|
19 |
public $id = "notices";
|
20 |
public $page_menu_dashicon = 'dashicons-testimonial';
|
21 |
|
22 |
-
|
|
|
|
|
|
|
23 |
{
|
24 |
-
$this->
|
25 |
|
26 |
if( !defined('LOADING_DISABLE_ADMIN_NOTICES_AS_ADDON') ) {
|
27 |
$this->internal = false;
|
28 |
-
$this->
|
29 |
-
$this->
|
30 |
}
|
31 |
|
32 |
-
add_filter('wbcr_factory_imppage_actions_notice', array($this, 'actionsNotice'), 10, 2);
|
33 |
-
|
34 |
parent::__construct($plugin);
|
|
|
|
|
35 |
}
|
36 |
|
37 |
public function getMenuTitle()
|
@@ -44,18 +53,12 @@
|
|
44 |
|
45 |
/**
|
46 |
* We register notifications for some actions
|
47 |
-
* @param $notices
|
48 |
-
* @param $plugin
|
49 |
* @return array
|
50 |
*/
|
51 |
-
public function actionsNotice($notices
|
52 |
{
|
53 |
-
global $wbcr_dan_plugin;
|
54 |
-
|
55 |
-
if( $wbcr_dan_plugin->pluginName != $plugin->pluginName ) {
|
56 |
-
return $notices;
|
57 |
-
}
|
58 |
-
|
59 |
$notices[] = array(
|
60 |
'conditions' => array(
|
61 |
'wbcr_dan_reseted_notices' => 1
|
@@ -70,7 +73,7 @@
|
|
70 |
'wbcr_dan_code' => 'interal_error'
|
71 |
),
|
72 |
'type' => 'danger',
|
73 |
-
'message' => __('An error occurred while trying to delete comments. Internal error occured. Please try again later.', '
|
74 |
);*/
|
75 |
|
76 |
return $notices;
|
@@ -96,6 +99,4 @@
|
|
96 |
|
97 |
return apply_filters('wbcr_dan_notices_form_options', $formOptions, $this);
|
98 |
}
|
99 |
-
}
|
100 |
-
|
101 |
-
FactoryPages324::register($wbcr_dan_plugin, 'WbcrHan_NoticesPage');
|
5 |
*
|
6 |
* @since 1.0.0
|
7 |
*/
|
8 |
+
|
9 |
+
// Exit if accessed directly
|
10 |
+
if( !defined('ABSPATH') ) {
|
11 |
+
exit;
|
12 |
+
}
|
13 |
+
|
14 |
+
class WDN_NoticesPage extends Wbcr_FactoryPages401_ImpressiveThemplate {
|
15 |
|
16 |
/**
|
17 |
* The id of the page in the admin menu.
|
18 |
*
|
19 |
* Mainly used to navigate between pages.
|
20 |
+
* @see FactoryPages401_AdminPage
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
* @var string
|
25 |
public $id = "notices";
|
26 |
public $page_menu_dashicon = 'dashicons-testimonial';
|
27 |
|
28 |
+
/**
|
29 |
+
* @param Wbcr_Factory400_Plugin $plugin
|
30 |
+
*/
|
31 |
+
public function __construct(Wbcr_Factory400_Plugin $plugin)
|
32 |
{
|
33 |
+
$this->menu_title = __('Hide admin notices', 'disable-admin-notices');
|
34 |
|
35 |
if( !defined('LOADING_DISABLE_ADMIN_NOTICES_AS_ADDON') ) {
|
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);
|
42 |
+
|
43 |
+
$this->plugin = $plugin;
|
44 |
}
|
45 |
|
46 |
public function getMenuTitle()
|
53 |
|
54 |
/**
|
55 |
* We register notifications for some actions
|
56 |
+
* @param array $notices
|
57 |
+
* @param Wbcr_Factory400_Plugin $plugin
|
58 |
* @return array
|
59 |
*/
|
60 |
+
public function actionsNotice($notices)
|
61 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
62 |
$notices[] = array(
|
63 |
'conditions' => array(
|
64 |
'wbcr_dan_reseted_notices' => 1
|
73 |
'wbcr_dan_code' => 'interal_error'
|
74 |
),
|
75 |
'type' => 'danger',
|
76 |
+
'message' => __('An error occurred while trying to delete comments. Internal error occured. Please try again later.', 'factory_pages_401')
|
77 |
);*/
|
78 |
|
79 |
return $notices;
|
99 |
|
100 |
return apply_filters('wbcr_dan_notices_form_options', $formOptions, $this);
|
101 |
}
|
102 |
+
}
|
|
|
|
components/disable-admin-notices/disable-admin-notices.php
CHANGED
@@ -4,12 +4,18 @@
|
|
4 |
* Plugin URI: https://wordpress.org/plugins/disable-admin-notices/
|
5 |
* Description: Disable admin notices plugin gives you the option to hide updates warnings and inline notices in the admin panel.
|
6 |
* Author: Webcraftic <wordpress.webraftic@gmail.com>
|
7 |
-
* Version: 1.0.
|
8 |
* Text Domain: disable-admin-notices
|
9 |
* Domain Path: /languages/
|
|
|
10 |
*/
|
11 |
|
12 |
-
|
|
|
|
|
|
|
|
|
|
|
13 |
function wbcr_dan_admin_notice_error()
|
14 |
{
|
15 |
?>
|
@@ -24,62 +30,30 @@
|
|
24 |
return;
|
25 |
} else {
|
26 |
|
27 |
-
define('
|
28 |
-
|
29 |
-
define('
|
30 |
-
define('
|
31 |
-
define('WBCR_DAN_PLUGIN_URL', plugins_url(null, __FILE__));
|
32 |
|
33 |
|
34 |
-
|
35 |
if( !defined('LOADING_DISABLE_ADMIN_NOTICES_AS_ADDON') ) {
|
36 |
-
require_once(
|
37 |
}
|
38 |
|
39 |
-
|
40 |
-
{
|
41 |
-
global $wbcr_dan_plugin;
|
42 |
-
|
43 |
-
// Localization plugin
|
44 |
-
load_plugin_textdomain('disable-admin-notices', false, dirname(WBCR_DAN_PLUGIN_BASE) . '/languages/');
|
45 |
|
46 |
-
|
47 |
-
//return;
|
48 |
-
global $wbcr_clearfy_plugin;
|
49 |
-
$wbcr_dan_plugin = $wbcr_clearfy_plugin;
|
50 |
-
} else {
|
51 |
-
|
52 |
-
$wbcr_dan_plugin = new Factory326_Plugin(__FILE__, array(
|
53 |
-
'name' => 'wbcr_dan',
|
54 |
-
'title' => __('Webcraftic disable admin notices', 'disable-admin-notices'),
|
55 |
-
'version' => '1.0.3',
|
56 |
-
'host' => 'wordpress.org',
|
57 |
-
'url' => 'https://wordpress.org/plugins/disable-admin-notices/',
|
58 |
-
'assembly' => 'free',
|
59 |
-
'updates' => WBCR_DAN_PLUGIN_DIR . '/updates/'
|
60 |
-
));
|
61 |
-
|
62 |
-
// requires factory modules
|
63 |
-
$wbcr_dan_plugin->load(array(
|
64 |
-
array('libs/factory/bootstrap', 'factory_bootstrap_330', 'admin'),
|
65 |
-
array('libs/factory/forms', 'factory_forms_329', 'admin'),
|
66 |
-
array('libs/factory/pages', 'factory_pages_324', 'admin'),
|
67 |
-
array('libs/factory/clearfy', 'factory_clearfy_102', 'all')
|
68 |
-
));
|
69 |
-
}
|
70 |
-
|
71 |
-
// loading other files
|
72 |
-
if( is_admin() ) {
|
73 |
-
require(WBCR_DAN_PLUGIN_DIR . '/admin/boot.php');
|
74 |
-
}
|
75 |
-
|
76 |
-
require(WBCR_DAN_PLUGIN_DIR . '/includes/classes/class.configurate-notices.php');
|
77 |
-
new WbcrHan_ConfigHideNotices($wbcr_dan_plugin);
|
78 |
-
}
|
79 |
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
84 |
}
|
85 |
}
|
4 |
* Plugin URI: https://wordpress.org/plugins/disable-admin-notices/
|
5 |
* Description: Disable admin notices plugin gives you the option to hide updates warnings and inline notices in the admin panel.
|
6 |
* Author: Webcraftic <wordpress.webraftic@gmail.com>
|
7 |
+
* Version: 1.0.5
|
8 |
* Text Domain: disable-admin-notices
|
9 |
* Domain Path: /languages/
|
10 |
+
* Author URI: http://webcraftic.com
|
11 |
*/
|
12 |
|
13 |
+
// Exit if accessed directly
|
14 |
+
if( !defined('ABSPATH') ) {
|
15 |
+
exit;
|
16 |
+
}
|
17 |
+
|
18 |
+
if( defined('WDN_PLUGIN_ACTIVE') || (defined('WCL_PLUGIN_ACTIVE') && !defined('LOADING_DISABLE_ADMIN_NOTICES_AS_ADDON')) ) {
|
19 |
function wbcr_dan_admin_notice_error()
|
20 |
{
|
21 |
?>
|
30 |
return;
|
31 |
} else {
|
32 |
|
33 |
+
define('WDN_PLUGIN_ACTIVE', true);
|
34 |
+
define('WDN_PLUGIN_DIR', dirname(__FILE__));
|
35 |
+
define('WDN_PLUGIN_BASE', plugin_basename(__FILE__));
|
36 |
+
define('WDN_PLUGIN_URL', plugins_url(null, __FILE__));
|
|
|
37 |
|
38 |
|
39 |
+
|
40 |
if( !defined('LOADING_DISABLE_ADMIN_NOTICES_AS_ADDON') ) {
|
41 |
+
require_once(WDN_PLUGIN_DIR . '/libs/factory/core/boot.php');
|
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.5',
|
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 |
}
|
components/disable-admin-notices/includes/class.plugin.php
ADDED
@@ -0,0 +1,135 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Hide my wp core class
|
4 |
+
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
5 |
+
* @copyright (c) 19.02.2018, Webcraftic
|
6 |
+
* @version 1.0
|
7 |
+
*/
|
8 |
+
|
9 |
+
// Exit if accessed directly
|
10 |
+
if( !defined('ABSPATH') ) {
|
11 |
+
exit;
|
12 |
+
}
|
13 |
+
|
14 |
+
if( !class_exists('WDN_Plugin') ) {
|
15 |
+
|
16 |
+
if( !class_exists('WDN_PluginFactory') ) {
|
17 |
+
if( defined('LOADING_CYRLITERA_AS_ADDON') ) {
|
18 |
+
class WDN_PluginFactory {
|
19 |
+
|
20 |
+
}
|
21 |
+
} else {
|
22 |
+
class WDN_PluginFactory extends Wbcr_Factory400_Plugin {
|
23 |
+
|
24 |
+
}
|
25 |
+
}
|
26 |
+
}
|
27 |
+
|
28 |
+
class WDN_Plugin extends WDN_PluginFactory {
|
29 |
+
|
30 |
+
/**
|
31 |
+
* @var Wbcr_Factory400_Plugin
|
32 |
+
*/
|
33 |
+
private static $app;
|
34 |
+
|
35 |
+
/**
|
36 |
+
* @var bool
|
37 |
+
*/
|
38 |
+
private $as_addon;
|
39 |
+
|
40 |
+
/**
|
41 |
+
* @param string $plugin_path
|
42 |
+
* @param array $data
|
43 |
+
* @throws Exception
|
44 |
+
*/
|
45 |
+
public function __construct($plugin_path, $data)
|
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 Wbcr_Factory400_Plugin) ) {
|
55 |
+
throw new Exception('An invalid instance of the class was passed.');
|
56 |
+
}
|
57 |
+
|
58 |
+
self::$app = $plugin_parent;
|
59 |
+
} else {
|
60 |
+
self::$app = $this;
|
61 |
+
}
|
62 |
+
|
63 |
+
if( !$this->as_addon ) {
|
64 |
+
parent::__construct($plugin_path, $data);
|
65 |
+
}
|
66 |
+
|
67 |
+
$this->setTextDomain();
|
68 |
+
$this->setModules();
|
69 |
+
|
70 |
+
$this->globalScripts();
|
71 |
+
|
72 |
+
if( is_admin() ) {
|
73 |
+
$this->adminScripts();
|
74 |
+
}
|
75 |
+
}
|
76 |
+
|
77 |
+
/**
|
78 |
+
* @return Wbcr_Factory400_Plugin
|
79 |
+
*/
|
80 |
+
public static function app()
|
81 |
+
{
|
82 |
+
return self::$app;
|
83 |
+
}
|
84 |
+
|
85 |
+
protected function setTextDomain()
|
86 |
+
{
|
87 |
+
// Localization plugin
|
88 |
+
load_plugin_textdomain('disable-admin-notices', false, dirname(WDN_PLUGIN_BASE) . '/languages/');
|
89 |
+
}
|
90 |
+
|
91 |
+
protected function setModules()
|
92 |
+
{
|
93 |
+
if( !$this->as_addon ) {
|
94 |
+
self::app()->load(array(
|
95 |
+
array('libs/factory/bootstrap', 'factory_bootstrap_400', 'admin'),
|
96 |
+
array('libs/factory/forms', 'factory_forms_400', 'admin'),
|
97 |
+
array('libs/factory/pages', 'factory_pages_401', 'admin'),
|
98 |
+
array('libs/factory/clearfy', 'factory_clearfy_200', 'all')
|
99 |
+
));
|
100 |
+
}
|
101 |
+
}
|
102 |
+
|
103 |
+
private function registerPages()
|
104 |
+
{
|
105 |
+
if( $this->as_addon ) {
|
106 |
+
return;
|
107 |
+
}
|
108 |
+
self::app()->registerPage('WDN_NoticesPage', WDN_PLUGIN_DIR . '/admin/pages/notices.php');
|
109 |
+
self::app()->registerPage('WDN_MoreFeaturesPage', WDN_PLUGIN_DIR . '/admin/pages/more-features.php');
|
110 |
+
}
|
111 |
+
|
112 |
+
private function adminScripts()
|
113 |
+
{
|
114 |
+
require(WDN_PLUGIN_DIR . '/admin/options.php');
|
115 |
+
|
116 |
+
if( defined('DOING_AJAX') && DOING_AJAX && isset($_REQUEST['action']) && $_REQUEST['action'] == 'wbcr_dan_hide_notices' ) {
|
117 |
+
require(WDN_PLUGIN_DIR . '/admin/ajax/hide-notice.php');
|
118 |
+
}
|
119 |
+
|
120 |
+
if( defined('DOING_AJAX') && DOING_AJAX && isset($_REQUEST['action']) && $_REQUEST['action'] == 'wbcr_dan_restore_notice' ) {
|
121 |
+
require(WDN_PLUGIN_DIR . '/admin/ajax/restore-notice.php');
|
122 |
+
}
|
123 |
+
|
124 |
+
require(WDN_PLUGIN_DIR . '/admin/boot.php');
|
125 |
+
|
126 |
+
$this->registerPages();
|
127 |
+
}
|
128 |
+
|
129 |
+
private function globalScripts()
|
130 |
+
{
|
131 |
+
require(WDN_PLUGIN_DIR . '/includes/classes/class.configurate-notices.php');
|
132 |
+
new WDN_ConfigHideNotices(self::$app);
|
133 |
+
}
|
134 |
+
}
|
135 |
+
}
|
components/disable-admin-notices/includes/classes/class.configurate-notices.php
CHANGED
@@ -6,7 +6,13 @@
|
|
6 |
* @copyright (c) 2017 Webraftic Ltd
|
7 |
* @version 1.0
|
8 |
*/
|
9 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
|
11 |
public function registerActionsAndFilters()
|
12 |
{
|
@@ -39,8 +45,8 @@
|
|
39 |
?>
|
40 |
<!-- Disable admin notices plugin (Clearfy tools) -->
|
41 |
<script>
|
42 |
-
var wbcr_dan_ajax_restore_nonce = "<?=wp_create_nonce($this->plugin->
|
43 |
-
var wbcr_dan_ajax_hide_notice_nonce = "<?=wp_create_nonce($this->plugin->
|
44 |
</script>
|
45 |
<?php
|
46 |
}
|
@@ -48,14 +54,13 @@
|
|
48 |
|
49 |
public function notificationsPanelStyles()
|
50 |
{
|
51 |
-
|
52 |
-
|
53 |
-
wp_enqueue_script('wbcr-notification-panel-scripts', WBCR_DAN_PLUGIN_URL . '/admin/assets/js/notifications-panel.js', array(), $wbcr_dan_plugin->version);
|
54 |
}
|
55 |
|
56 |
public function notificationsPanel(&$wp_admin_bar)
|
57 |
{
|
58 |
-
if( !current_user_can('
|
59 |
return;
|
60 |
}
|
61 |
|
@@ -199,7 +204,22 @@
|
|
199 |
}
|
200 |
|
201 |
ob_start();
|
202 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
203 |
$cont = ob_get_clean();
|
204 |
|
205 |
if( empty($cont) ) {
|
6 |
* @copyright (c) 2017 Webraftic Ltd
|
7 |
* @version 1.0
|
8 |
*/
|
9 |
+
|
10 |
+
// Exit if accessed directly
|
11 |
+
if( !defined('ABSPATH') ) {
|
12 |
+
exit;
|
13 |
+
}
|
14 |
+
|
15 |
+
class WDN_ConfigHideNotices extends Wbcr_FactoryClearfy200_Configurate {
|
16 |
|
17 |
public function registerActionsAndFilters()
|
18 |
{
|
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 |
}
|
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( !current_user_can('administrator') ) {
|
64 |
return;
|
65 |
}
|
66 |
|
204 |
}
|
205 |
|
206 |
ob_start();
|
207 |
+
|
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++) {
|
217 |
+
$args[] = null;
|
218 |
+
}
|
219 |
+
}
|
220 |
+
//===========
|
221 |
+
|
222 |
+
call_user_func_array($callback['function'], $args);
|
223 |
$cont = ob_get_clean();
|
224 |
|
225 |
if( empty($cont) ) {
|
components/disable-admin-notices/includes/classes/index.php
ADDED
File without changes
|
components/disable-admin-notices/includes/index.php
ADDED
File without changes
|
components/disable-admin-notices/languages/disable-admin-notices-ru_RU.mo
CHANGED
Binary file
|
components/disable-admin-notices/languages/disable-admin-notices-ru_RU.po
CHANGED
@@ -1,8 +1,8 @@
|
|
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"
|
@@ -18,35 +18,35 @@ msgstr ""
|
|
18 |
"X-Poedit-SearchPath-0: .\n"
|
19 |
"X-Poedit-SearchPathExcluded-0: libs\n"
|
20 |
|
21 |
-
#: admin/ajax/hide-notice.php:
|
22 |
msgid "You don't have enough capability to edit this information."
|
23 |
msgstr "Вы не имеете разрешения на редактирование этого!"
|
24 |
|
25 |
-
#: admin/ajax/hide-notice.php:
|
26 |
msgid "Undefinded notice id."
|
27 |
msgstr "Не передан notice id."
|
28 |
|
29 |
-
#: admin/ajax/hide-notice.php:
|
30 |
msgid "Success"
|
31 |
msgstr "Успешно"
|
32 |
|
33 |
-
#: admin/boot.php:
|
34 |
msgid "Hide admin notices"
|
35 |
msgstr "Скрыть уведомления"
|
36 |
|
37 |
-
#: admin/boot.php:
|
38 |
msgid "Enable hidden notices in adminbar"
|
39 |
msgstr "Включить уведомления в админбаре"
|
40 |
|
41 |
-
#: admin/boot.php:
|
42 |
msgid "Get ultimate plugin free"
|
43 |
msgstr "Получите полную версию плагина бесплатно"
|
44 |
|
45 |
-
#: admin/options.php:
|
46 |
msgid "Admin notifications, Update nags"
|
47 |
msgstr "Уведомления администратора, уведомления об обновлении Wordpress"
|
48 |
|
49 |
-
#: admin/options.php:
|
50 |
msgid ""
|
51 |
"Do you know the situation, when some plugin offers you to update to premium, "
|
52 |
"to collect technical data and shows many annoying notices? You are close "
|
@@ -61,19 +61,19 @@ msgstr ""
|
|
61 |
"авторы и вовсе удаляют кнопку “закрыть” из уведомлений, и они висят в шапке "
|
62 |
"вашей панели администратора целую вечность."
|
63 |
|
64 |
-
#: admin/options.php:
|
65 |
msgid "All notices"
|
66 |
msgstr "Все уведомления"
|
67 |
|
68 |
-
#: admin/options.php:
|
69 |
msgid "Hide all notices globally."
|
70 |
msgstr "Скрыть все уведомления глобально."
|
71 |
|
72 |
-
#: admin/options.php:
|
73 |
msgid "Only selected"
|
74 |
msgstr "Только выбранные"
|
75 |
|
76 |
-
#: admin/options.php:
|
77 |
msgid ""
|
78 |
"Hide selected notices only. You will see the link \"Hide notification forever"
|
79 |
"\" in each notice. Push it and they will not bother you anymore."
|
@@ -82,11 +82,11 @@ msgstr ""
|
|
82 |
"ссылку \"Скрыть уведомление навсегда\". Нажмите на неё и уведомление будет "
|
83 |
"скрыто навсегда и перестанет вас беспокоить."
|
84 |
|
85 |
-
#: admin/options.php:
|
86 |
msgid "Don't nide"
|
87 |
msgstr "Не скрывать"
|
88 |
|
89 |
-
#: admin/options.php:
|
90 |
msgid ""
|
91 |
"Do not hide notices and do not show “Hide notification forever” link for "
|
92 |
"admin."
|
@@ -94,7 +94,7 @@ msgstr ""
|
|
94 |
"Не скрывать уведомления и не показывать ссылку \"Скрыть уведомление навсегда"
|
95 |
"\" в уведомлениях администратора."
|
96 |
|
97 |
-
#: admin/options.php:
|
98 |
msgid ""
|
99 |
"Some plugins shows notifications about premium version, data collecting or "
|
100 |
"promote their services. Even if you push close button (that sometimes are "
|
@@ -112,7 +112,7 @@ msgstr ""
|
|
112 |
"контролировать эти уведомления. Скройте их все сразу или каждое по "
|
113 |
"отдельности."
|
114 |
|
115 |
-
#: admin/options.php:
|
116 |
msgid ""
|
117 |
"By default, the plugin hides all notices, which you specified. If you enable "
|
118 |
"this option, the plugin will collect all hidden notices and show them into "
|
@@ -124,29 +124,29 @@ msgstr ""
|
|
124 |
"выводить в верхней панели администратора. Это не будет вас раздражать, но и "
|
125 |
"позволит просматривать уведомления, когда вам это удобно."
|
126 |
|
127 |
-
#: admin/options.php:
|
128 |
msgid "Push reset hidden notices if you need to show hidden notices again."
|
129 |
msgstr "Нажмите кнопку \\\"Сбросить скрытые уведомления\\\""
|
130 |
|
131 |
-
#: admin/options.php:
|
132 |
#, php-format
|
133 |
msgid "Reset hidden notices (%s)"
|
134 |
msgstr "Сбросить скрытые уведомления (%s)"
|
135 |
|
136 |
-
#: admin/options.php:
|
137 |
msgid "Hidden notices are successfully reset, now you can see them again!"
|
138 |
msgstr ""
|
139 |
"Скрытые уведомления успешно восстановлены, теперь вы можете снова видеть их!"
|
140 |
|
141 |
-
#: admin/pages/notices.php:
|
142 |
msgid "Notices"
|
143 |
msgstr "Уведомления"
|
144 |
|
145 |
-
#: admin/pages/notices.php:
|
146 |
msgid "General"
|
147 |
msgstr "Основные"
|
148 |
|
149 |
-
#: disable-admin-notices.php:
|
150 |
msgid ""
|
151 |
"We found that you have the \"Clearfy - disable unused features\" plugin "
|
152 |
"installed, this plugin already has disable comments functions, so you can "
|
@@ -157,20 +157,20 @@ msgstr ""
|
|
157 |
"комментариев, поэтому вы можете отключить плагин «Скрыть уведомления "
|
158 |
"администратора»!"
|
159 |
|
160 |
-
#: disable-admin-notices.php:
|
161 |
msgid "Webcraftic disable admin notices"
|
162 |
msgstr "Webcraftic отключить уведомления администратора"
|
163 |
|
164 |
-
#: includes/classes/class.configurate-notices.php:
|
165 |
#, php-format
|
166 |
msgid "Notifications %s"
|
167 |
msgstr "Уведомления %s"
|
168 |
|
169 |
-
#: includes/classes/class.configurate-notices.php:
|
170 |
msgid "Restore notice"
|
171 |
msgstr "Восстановить уведомление"
|
172 |
|
173 |
-
#: includes/classes/class.configurate-notices.php:
|
174 |
msgid "Hide notification forever"
|
175 |
msgstr "Скрыть уведомление навсегда"
|
176 |
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: clearfy\n"
|
4 |
+
"POT-Creation-Date: 2018-03-14 17:34+0300\n"
|
5 |
+
"PO-Revision-Date: 2018-03-14 17:34+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"
|
18 |
"X-Poedit-SearchPath-0: .\n"
|
19 |
"X-Poedit-SearchPathExcluded-0: libs\n"
|
20 |
|
21 |
+
#: admin/ajax/hide-notice.php:19 admin/ajax/restore-notice.php:19
|
22 |
msgid "You don't have enough capability to edit this information."
|
23 |
msgstr "Вы не имеете разрешения на редактирование этого!"
|
24 |
|
25 |
+
#: admin/ajax/hide-notice.php:32 admin/ajax/restore-notice.php:28
|
26 |
msgid "Undefinded notice id."
|
27 |
msgstr "Не передан notice id."
|
28 |
|
29 |
+
#: admin/ajax/hide-notice.php:46 admin/ajax/restore-notice.php:40
|
30 |
msgid "Success"
|
31 |
msgstr "Успешно"
|
32 |
|
33 |
+
#: admin/boot.php:29 admin/options.php:32 admin/pages/notices.php:33
|
34 |
msgid "Hide admin notices"
|
35 |
msgstr "Скрыть уведомления"
|
36 |
|
37 |
+
#: admin/boot.php:35 admin/options.php:72
|
38 |
msgid "Enable hidden notices in adminbar"
|
39 |
msgstr "Включить уведомления в админбаре"
|
40 |
|
41 |
+
#: admin/boot.php:51
|
42 |
msgid "Get ultimate plugin free"
|
43 |
msgstr "Получите полную версию плагина бесплатно"
|
44 |
|
45 |
+
#: admin/options.php:24
|
46 |
msgid "Admin notifications, Update nags"
|
47 |
msgstr "Уведомления администратора, уведомления об обновлении Wordpress"
|
48 |
|
49 |
+
#: admin/options.php:24
|
50 |
msgid ""
|
51 |
"Do you know the situation, when some plugin offers you to update to premium, "
|
52 |
"to collect technical data and shows many annoying notices? You are close "
|
61 |
"авторы и вовсе удаляют кнопку “закрыть” из уведомлений, и они висят в шапке "
|
62 |
"вашей панели администратора целую вечность."
|
63 |
|
64 |
+
#: admin/options.php:36
|
65 |
msgid "All notices"
|
66 |
msgstr "Все уведомления"
|
67 |
|
68 |
+
#: admin/options.php:37
|
69 |
msgid "Hide all notices globally."
|
70 |
msgstr "Скрыть все уведомления глобально."
|
71 |
|
72 |
+
#: admin/options.php:41
|
73 |
msgid "Only selected"
|
74 |
msgstr "Только выбранные"
|
75 |
|
76 |
+
#: admin/options.php:42
|
77 |
msgid ""
|
78 |
"Hide selected notices only. You will see the link \"Hide notification forever"
|
79 |
"\" in each notice. Push it and they will not bother you anymore."
|
82 |
"ссылку \"Скрыть уведомление навсегда\". Нажмите на неё и уведомление будет "
|
83 |
"скрыто навсегда и перестанет вас беспокоить."
|
84 |
|
85 |
+
#: admin/options.php:46
|
86 |
msgid "Don't nide"
|
87 |
msgstr "Не скрывать"
|
88 |
|
89 |
+
#: admin/options.php:47
|
90 |
msgid ""
|
91 |
"Do not hide notices and do not show “Hide notification forever” link for "
|
92 |
"admin."
|
94 |
"Не скрывать уведомления и не показывать ссылку \"Скрыть уведомление навсегда"
|
95 |
"\" в уведомлениях администратора."
|
96 |
|
97 |
+
#: admin/options.php:51
|
98 |
msgid ""
|
99 |
"Some plugins shows notifications about premium version, data collecting or "
|
100 |
"promote their services. Even if you push close button (that sometimes are "
|
112 |
"контролировать эти уведомления. Скройте их все сразу или каждое по "
|
113 |
"отдельности."
|
114 |
|
115 |
+
#: admin/options.php:74
|
116 |
msgid ""
|
117 |
"By default, the plugin hides all notices, which you specified. If you enable "
|
118 |
"this option, the plugin will collect all hidden notices and show them into "
|
124 |
"выводить в верхней панели администратора. Это не будет вас раздражать, но и "
|
125 |
"позволит просматривать уведомления, когда вам это удобно."
|
126 |
|
127 |
+
#: admin/options.php:138
|
128 |
msgid "Push reset hidden notices if you need to show hidden notices again."
|
129 |
msgstr "Нажмите кнопку \\\"Сбросить скрытые уведомления\\\""
|
130 |
|
131 |
+
#: admin/options.php:147
|
132 |
#, php-format
|
133 |
msgid "Reset hidden notices (%s)"
|
134 |
msgstr "Сбросить скрытые уведомления (%s)"
|
135 |
|
136 |
+
#: admin/options.php:149 admin/pages/notices.php:67
|
137 |
msgid "Hidden notices are successfully reset, now you can see them again!"
|
138 |
msgstr ""
|
139 |
"Скрытые уведомления успешно восстановлены, теперь вы можете снова видеть их!"
|
140 |
|
141 |
+
#: admin/pages/notices.php:49
|
142 |
msgid "Notices"
|
143 |
msgstr "Уведомления"
|
144 |
|
145 |
+
#: admin/pages/notices.php:50
|
146 |
msgid "General"
|
147 |
msgstr "Основные"
|
148 |
|
149 |
+
#: disable-admin-notices.php:22
|
150 |
msgid ""
|
151 |
"We found that you have the \"Clearfy - disable unused features\" plugin "
|
152 |
"installed, this plugin already has disable comments functions, so you can "
|
157 |
"комментариев, поэтому вы можете отключить плагин «Скрыть уведомления "
|
158 |
"администратора»!"
|
159 |
|
160 |
+
#: disable-admin-notices.php:79
|
161 |
msgid "Webcraftic disable admin notices"
|
162 |
msgstr "Webcraftic отключить уведомления администратора"
|
163 |
|
164 |
+
#: includes/classes/class.configurate-notices.php:79
|
165 |
#, php-format
|
166 |
msgid "Notifications %s"
|
167 |
msgstr "Уведомления %s"
|
168 |
|
169 |
+
#: includes/classes/class.configurate-notices.php:88
|
170 |
msgid "Restore notice"
|
171 |
msgstr "Восстановить уведомление"
|
172 |
|
173 |
+
#: includes/classes/class.configurate-notices.php:263
|
174 |
msgid "Hide notification forever"
|
175 |
msgstr "Скрыть уведомление навсегда"
|
176 |
|
components/disable-admin-notices/languages/index.php
ADDED
File without changes
|
components/disable-admin-notices/libs/index.php
ADDED
File without changes
|
components/disable-admin-notices/readme.txt
CHANGED
@@ -28,9 +28,10 @@ We used some useful functions from plugins <strong>Clearfy – disable unused fe
|
|
28 |
|
29 |
We invite you to check out a few other related free plugins that our team has also produced that you may find especially useful:
|
30 |
|
31 |
-
* [Clearfy – disable
|
32 |
-
* [
|
33 |
-
* [Disable Comments for Any Post Types (
|
|
|
34 |
* [Disable updates, Disable automatic updates, Updates manager](https://wordpress.org/plugins/webcraftic-updates-manager/)
|
35 |
|
36 |
== Translations ==
|
@@ -52,6 +53,14 @@ If you want to help with the translation, please contact me through this site or
|
|
52 |
3. Notifications panel (optional)
|
53 |
|
54 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
= 1.0.3 =
|
56 |
* Added a new feature: To restore hidden admin notices individually
|
57 |
* Fixed: Core bugs
|
28 |
|
29 |
We invite you to check out a few other related free plugins that our team has also produced that you may find especially useful:
|
30 |
|
31 |
+
* [Clearfy – WordPress optimization plugin and disable ultimate tweaker](https://wordpress.org/plugins/clearfy/)
|
32 |
+
* [Disable updates, Updates manager, Disable automatic updates](https://wordpress.org/plugins/gonzales/)
|
33 |
+
* [Disable Comments for Any Post Types (Remove Comments)](https://wordpress.org/plugins/comments-plus/)
|
34 |
+
* [Cyrlitera – transliteration of links and file names](https://wordpress.org/plugins/cyrlitera/)
|
35 |
* [Disable updates, Disable automatic updates, Updates manager](https://wordpress.org/plugins/webcraftic-updates-manager/)
|
36 |
|
37 |
== Translations ==
|
53 |
3. Notifications panel (optional)
|
54 |
|
55 |
== Changelog ==
|
56 |
+
= 1.0.5 =
|
57 |
+
* Fixed: Prefix bug
|
58 |
+
|
59 |
+
= 1.0.4 =
|
60 |
+
* Fixed: Compatibility with Clearfy plugin
|
61 |
+
* ADDED: Plugin options caching to reduce database queries for 90%. Clearfy became lighter and faster.
|
62 |
+
* ADDED: Compress and cache the plugin core files, to reduce the load on the admin panel
|
63 |
+
|
64 |
= 1.0.3 =
|
65 |
* Added a new feature: To restore hidden admin notices individually
|
66 |
* Fixed: Core bugs
|
components/disable-admin-notices/uninstall.php
CHANGED
@@ -10,3 +10,4 @@
|
|
10 |
|
11 |
$wpdb->query("DELETE FROM {$wpdb->prefix}options WHERE option_name LIKE 'wbcr_dan_%';");
|
12 |
|
|
10 |
|
11 |
$wpdb->query("DELETE FROM {$wpdb->prefix}options WHERE option_name LIKE 'wbcr_dan_%';");
|
12 |
|
13 |
+
|
components/hide-login-page/admin/boot.php
ADDED
@@ -0,0 +1,136 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
* @return array
|
16 |
+
*/
|
17 |
+
function wbcr_hlp_install_conflict_plugins()
|
18 |
+
{
|
19 |
+
// fist array item 0 - conflict
|
20 |
+
// fist array item 1 - maybe conflict
|
21 |
+
$install_plugins = array();
|
22 |
+
|
23 |
+
if( is_plugin_active('hide-my-wp/index.php') ) {
|
24 |
+
$install_plugins[] = array(0, 'Hide My WP');
|
25 |
+
}
|
26 |
+
if( is_plugin_active('clearfy/hide-my-wp.php') ) {
|
27 |
+
$install_plugins[] = array(1, 'Hide My WP');
|
28 |
+
}
|
29 |
+
if( is_plugin_active('rename-wp-login/rename-wp-login.php') ) {
|
30 |
+
$install_plugins[] = array(0, 'Rename wp-login.php');
|
31 |
+
}
|
32 |
+
if( is_plugin_active('wps-hide-login/wps-hide-login.php') ) {
|
33 |
+
$install_plugins[] = array(0, 'WPS Hide Login');
|
34 |
+
}
|
35 |
+
if( is_plugin_active('wp-cerber/wp-cerber.php') ) {
|
36 |
+
$install_plugins[] = array(1, 'WP Cerber Security & Antispam');
|
37 |
+
}
|
38 |
+
if( is_plugin_active('all-in-one-wp-security-and-firewall/wp-security.php') ) {
|
39 |
+
$install_plugins[] = array(1, 'All In One WP Security');
|
40 |
+
}
|
41 |
+
if( is_plugin_active('wp-hide-security-enhancer/wp-hide.php') ) {
|
42 |
+
$install_plugins[] = array(1, 'WP Hide & Security Enhancer');
|
43 |
+
}
|
44 |
+
|
45 |
+
return $install_plugins;
|
46 |
+
}
|
47 |
+
|
48 |
+
/**
|
49 |
+
*
|
50 |
+
* @param Wbcr_Factory400_Plugin $plugin
|
51 |
+
* @param Wbcr_FactoryPages401_ImpressiveThemplate $page
|
52 |
+
* @return array
|
53 |
+
*/
|
54 |
+
function wbcr_hlp_get_conflict_notices_error($plugin, $page)
|
55 |
+
{
|
56 |
+
$is_form_page = in_array($page->id, array(
|
57 |
+
'hide_login',
|
58 |
+
'defence'
|
59 |
+
));
|
60 |
+
|
61 |
+
if( $plugin->getPluginName() == WHLP_Plugin::app()->getPluginName() && $is_form_page ) {
|
62 |
+
|
63 |
+
$install_conflict_plugins = wbcr_hlp_install_conflict_plugins();
|
64 |
+
|
65 |
+
if( !empty($install_conflict_plugins) ) {
|
66 |
+
foreach((array)$install_conflict_plugins as $plugin) {
|
67 |
+
if( sizeof($plugin) == 2 ) {
|
68 |
+
if( $plugin[0] === 0 ) {
|
69 |
+
$page->printWarningNotice(sprintf(__("We found that you are use the (%s) plugin to change wp-login.php page address. Please delete it, because Clearfy already contains these functions and you do not need to use two plugins. If you do not want to remove (%s) plugin for some reason, please do not use wp-login.php page address change feature in the Clearfy plugin, to avoid conflicts.", 'hide_login_page'), $plugin[1], $plugin[1]));
|
70 |
+
} else {
|
71 |
+
$page->printWarningNotice(sprintf(__("We found that you are use the (%s) plugin. Please do not use its wp-login.php page address change and the same feature in the Clearfy plugin, to avoid conflicts.", 'hide_login_page'), $plugin[1], $plugin[1]));
|
72 |
+
}
|
73 |
+
}
|
74 |
+
}
|
75 |
+
}
|
76 |
+
}
|
77 |
+
}
|
78 |
+
|
79 |
+
add_filter('wbcr_factory_pages_401_imppage_print_all_notices', 'wbcr_hlp_get_conflict_notices_error', 10, 2);
|
80 |
+
|
81 |
+
/**
|
82 |
+
* Виджет отзывов
|
83 |
+
*
|
84 |
+
* @param string $page_url
|
85 |
+
* @param string $plugin_name
|
86 |
+
* @return string
|
87 |
+
*/
|
88 |
+
function wbcr_hlp_rating_widget_url($page_url, $plugin_name)
|
89 |
+
{
|
90 |
+
if( $plugin_name == WHLP_Plugin::app()->getPluginName() ) {
|
91 |
+
return 'https://goo.gl/ecaj2V';
|
92 |
+
}
|
93 |
+
|
94 |
+
return $page_url;
|
95 |
+
}
|
96 |
+
|
97 |
+
add_filter('wbcr_factory_pages_401_imppage_rating_widget_url', 'wbcr_hlp_rating_widget_url', 10, 2);
|
98 |
+
|
99 |
+
function wbcr_hlp_group_options($options)
|
100 |
+
{
|
101 |
+
$options[] = array(
|
102 |
+
'name' => 'hide_wp_admin',
|
103 |
+
'title' => __('Hide wp-admin', 'hide_login_page'),
|
104 |
+
'tags' => array()
|
105 |
+
);
|
106 |
+
$options[] = array(
|
107 |
+
'name' => 'hide_login_path',
|
108 |
+
'title' => __('Hide Login Page', 'hide_login_page'),
|
109 |
+
'tags' => array()
|
110 |
+
);
|
111 |
+
$options[] = array(
|
112 |
+
'name' => 'login_path',
|
113 |
+
'title' => __('New login page', 'hide_login_page'),
|
114 |
+
'tags' => array()
|
115 |
+
);
|
116 |
+
|
117 |
+
return $options;
|
118 |
+
}
|
119 |
+
|
120 |
+
add_filter("wbcr_clearfy_group_options", 'wbcr_hlp_group_options');
|
121 |
+
|
122 |
+
function wbcr_hlp_set_plugin_meta($links, $file)
|
123 |
+
{
|
124 |
+
if( $file == WHLP_PLUGIN_BASE ) {
|
125 |
+
$links[] = '<a href="https://goo.gl/TcMcS4" style="color: #FF5722;font-weight: bold;" target="_blank">' . __('Get ultimate plugin free', 'hide_login_page') . '</a>';
|
126 |
+
}
|
127 |
+
|
128 |
+
return $links;
|
129 |
+
}
|
130 |
+
|
131 |
+
if( !defined('LOADING_HIDE_LOGIN_PAGE_AS_ADDON') ) {
|
132 |
+
add_filter('plugin_row_meta', 'wbcr_hlp_set_plugin_meta', 10, 2);
|
133 |
+
}
|
134 |
+
|
135 |
+
|
136 |
+
|
components/hide-login-page/admin/index.php
ADDED
File without changes
|
components/hide-login-page/admin/options.php
ADDED
@@ -0,0 +1,255 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Options for additionally form
|
4 |
+
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
5 |
+
* @copyright (c) 21.01.2018, Webcraftic
|
6 |
+
* @version 1.0
|
7 |
+
*/
|
8 |
+
|
9 |
+
// Exit if accessed directly
|
10 |
+
if( !defined('ABSPATH') ) {
|
11 |
+
exit;
|
12 |
+
}
|
13 |
+
|
14 |
+
/**
|
15 |
+
* We register notifications for some actions
|
16 |
+
*
|
17 |
+
* @see libs\factory\pages\themplates\FactoryPages401_ImpressiveThemplate
|
18 |
+
* @param $notices
|
19 |
+
* @param Wbcr_Factory400_Plugin $plugin
|
20 |
+
* @return array
|
21 |
+
*/
|
22 |
+
function wbcr_hlp_get_action_notices($notices)
|
23 |
+
{
|
24 |
+
$notices[] = array(
|
25 |
+
'conditions' => array(
|
26 |
+
'wbcr_hlp_login_path_incorrect' => 1,
|
27 |
+
),
|
28 |
+
'type' => 'danger',
|
29 |
+
'message' => __('You entered an incorrect part of the path to your login page. The path to the login page can not consist only of digits, at least 3 characters, you must use only the characters [0-9A-z_-]!', 'hide_login_page')
|
30 |
+
);
|
31 |
+
$notices[] = array(
|
32 |
+
'conditions' => array(
|
33 |
+
'wbcr_hlp_login_path_exists' => 1,
|
34 |
+
),
|
35 |
+
'type' => 'danger',
|
36 |
+
'message' => __('The entered login page name is already used for one of your pages. Try to choose a different login page name!', 'hide_login_page')
|
37 |
+
);
|
38 |
+
|
39 |
+
return $notices;
|
40 |
+
}
|
41 |
+
|
42 |
+
add_filter('wbcr_factory_pages_401_imppage_actions_notice', 'wbcr_hlp_get_action_notices');
|
43 |
+
|
44 |
+
/**
|
45 |
+
* @return array
|
46 |
+
*/
|
47 |
+
function wbcr_hlp_get_plugin_options()
|
48 |
+
{
|
49 |
+
$options = array();
|
50 |
+
|
51 |
+
$options[] = array(
|
52 |
+
'type' => 'html',
|
53 |
+
'html' => '<div class="wbcr-factory-page-group-header">' . __('<strong>Protect your admin login</strong>.', 'hide_login_page') . '<p>' . __('Dozens of bots attack your login page at /wp-login.php and /wp-admin/daily. Bruteforce and want to access your admin panel. Even if you\'re sure that you have created a complex and reliable password, this does not guarantee security and does not relieve your login page load. The easiest way is to protect the login page by simply changing its address to your own and unique.', 'hide_login_page') . '</p></div>'
|
54 |
+
);
|
55 |
+
|
56 |
+
$options[] = array(
|
57 |
+
'type' => 'checkbox',
|
58 |
+
'way' => 'buttons',
|
59 |
+
'name' => 'hide_wp_admin',
|
60 |
+
'title' => __('Hide wp-admin', 'hide_login_page'),
|
61 |
+
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
|
62 |
+
'hint' => __("Hides the /wp-admin directory for unauthorized users. If the option is disabled, when you request the page /wp-admin you will be redirected to the login page, even if you changed its address. Therefore, for protection purposes enable this option.", 'hide_login_page')
|
63 |
+
);
|
64 |
+
|
65 |
+
$options[] = array(
|
66 |
+
'type' => 'checkbox',
|
67 |
+
'way' => 'buttons',
|
68 |
+
'name' => 'hide_login_path',
|
69 |
+
'title' => __('Hide Login Page', 'hide_login_page'),
|
70 |
+
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'red'),
|
71 |
+
'hint' => __("Hides the wp-login.php and wp-signup.php pages.", 'hide_login_page') . '<br>--<br><span class="hint-warnign-color">' . __("Use this option carefully! If you forget the new login page address, you can not get into the admin panel.", 'hide_login_page') . '</span>'
|
72 |
+
);
|
73 |
+
|
74 |
+
$recovery_url = wbcr_hlp_get_recovery_url();
|
75 |
+
$recovery_url = !empty($recovery_url)
|
76 |
+
? '<br><br>' . sprintf(__("If unable to access the login/admin section anymore, use the Recovery Link which reset links to default: \n%s", 'hide_login_page'), $recovery_url)
|
77 |
+
: '';
|
78 |
+
$new_login_url = wbcr_hlp_get_new_login_url();
|
79 |
+
|
80 |
+
$options[] = array(
|
81 |
+
'type' => 'textbox',
|
82 |
+
'name' => 'login_path',
|
83 |
+
'placeholder' => 'secure/auth.php',
|
84 |
+
'title' => __('New login page', 'hide_login_page'),
|
85 |
+
'hint' => __('Set a new login page name without slash. Example: mysecretlogin', 'hide_login_page') . '<br><span style="color:red">' . __("IMPORTANT! Be sure that you wrote down the new login page address", 'hide_login_page') . '</span>: <b><a href="' . $new_login_url . '" target="_blank">' . $new_login_url . '</a></b>' . $recovery_url,
|
86 |
+
//'units' => '<i class="fa fa-unlock" title="' . __('This option will protect your blog against unauthorized access.', 'hide_login_page') . '"></i>',
|
87 |
+
//'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'red')
|
88 |
+
);
|
89 |
+
|
90 |
+
return $options;
|
91 |
+
}
|
92 |
+
|
93 |
+
/**
|
94 |
+
* @param $form
|
95 |
+
* @param $page Wbcr_FactoryPages401_ImpressiveThemplate
|
96 |
+
* @return mixed
|
97 |
+
*/
|
98 |
+
function wbcr_hlp_defence_form_options($form, $page)
|
99 |
+
{
|
100 |
+
if( empty($form) ) {
|
101 |
+
return $form;
|
102 |
+
}
|
103 |
+
|
104 |
+
$options = wbcr_hlp_get_plugin_options();
|
105 |
+
|
106 |
+
foreach($options as $option) {
|
107 |
+
$form[0]['items'][] = $option;
|
108 |
+
}
|
109 |
+
|
110 |
+
return $form;
|
111 |
+
}
|
112 |
+
|
113 |
+
add_filter('wbcr_clr_defence_form_options', 'wbcr_hlp_defence_form_options', 10, 2);
|
114 |
+
|
115 |
+
/**
|
116 |
+
* Предотвращаем попытки убить доступ к админ панели
|
117 |
+
*
|
118 |
+
* @param Wbcr_Factory400_Plugin $plugin
|
119 |
+
* @param Wbcr_FactoryPages401_ImpressiveThemplate $page
|
120 |
+
*/
|
121 |
+
function wbcr_hlp_after_form_save($plugin, $page)
|
122 |
+
{
|
123 |
+
$is_form_page = in_array($page->id, array(
|
124 |
+
'hide_login',
|
125 |
+
'defence'
|
126 |
+
));
|
127 |
+
|
128 |
+
if( $plugin->getPluginName() == WHLP_Plugin::app()->getPluginName() && $is_form_page ) {
|
129 |
+
|
130 |
+
$login_path = WHLP_Plugin::app()->getOption('login_path');
|
131 |
+
$valid_path = !is_numeric($login_path) && preg_match('/^[0-9A-z_-]{3,}$/', $login_path);
|
132 |
+
|
133 |
+
if( !empty($login_path) ) {
|
134 |
+
if( !$valid_path ) {
|
135 |
+
WHLP_Plugin::app()->deleteOption('login_path');
|
136 |
+
WHLP_Plugin::app()->deleteOption('hide_login_path');
|
137 |
+
|
138 |
+
$page->redirectToAction('index', array('wbcr_hlp_login_path_incorrect' => 1));
|
139 |
+
}
|
140 |
+
|
141 |
+
$args = array(
|
142 |
+
'name' => $login_path,
|
143 |
+
'post_type' => array('page', 'post', 'attachment'),
|
144 |
+
'numberposts' => 1
|
145 |
+
);
|
146 |
+
|
147 |
+
$posts = get_posts($args);
|
148 |
+
|
149 |
+
if( !empty($posts) ) {
|
150 |
+
WHLP_Plugin::app()->deleteOption('login_path');
|
151 |
+
WHLP_Plugin::app()->deleteOption('hide_login_path');
|
152 |
+
|
153 |
+
$page->redirectToAction('index', array('wbcr_hlp_login_path_exists' => 1));
|
154 |
+
}
|
155 |
+
|
156 |
+
$old_login_path = WHLP_Plugin::app()->getOption('old_login_path');
|
157 |
+
|
158 |
+
if( !$old_login_path || $login_path != $old_login_path ) {
|
159 |
+
|
160 |
+
$recovery_code = md5(rand(1, 9999) . microtime());
|
161 |
+
|
162 |
+
$body = __("Hi,\nThis is %s plugin. Here is your new WordPress login address:\nURL: %s", 'hide_login_page') . PHP_EOL . PHP_EOL;
|
163 |
+
$body .= __("IMPORTANT! Be sure that you wrote down the new login page address", 'hide_login_page') . '!' . PHP_EOL . PHP_EOL;
|
164 |
+
$body .= __("If unable to access the login/admin section anymore, use the Recovery Link which reset links to default: \n%s", 'hide_login_page') . PHP_EOL . PHP_EOL;
|
165 |
+
$body .= __("Best Regards,\n%s", 'hide_login_page') . PHP_EOL;
|
166 |
+
|
167 |
+
$new_url = site_url('wp-login.php');
|
168 |
+
|
169 |
+
$body = sprintf($body, WHLP_Plugin::app()
|
170 |
+
->getPluginTitle(), $new_url, wbcr_hlp_get_recovery_url($recovery_code), WHLP_Plugin::app()
|
171 |
+
->getPluginTitle()) . PHP_EOL;
|
172 |
+
|
173 |
+
$subject = sprintf(__('[%s] Your New WP Login!', 'hide_login_page'), WHLP_Plugin::app()
|
174 |
+
->getPluginTitle());
|
175 |
+
|
176 |
+
wp_mail(get_option('admin_email'), $subject, $body);
|
177 |
+
|
178 |
+
WHLP_Plugin::app()->updateOption('old_login_path', $login_path);
|
179 |
+
WHLP_Plugin::app()->updateOption('login_recovery_code', $recovery_code);
|
180 |
+
}
|
181 |
+
} else {
|
182 |
+
|
183 |
+
// if new login path is empty
|
184 |
+
WHLP_Plugin::app()->deleteOption('old_login_path');
|
185 |
+
WHLP_Plugin::app()->deleteOption('login_recovery_code');
|
186 |
+
}
|
187 |
+
}
|
188 |
+
}
|
189 |
+
|
190 |
+
add_action('wbcr_factory_400_imppage_after_form_save', 'wbcr_hlp_after_form_save', 10, 2);
|
191 |
+
|
192 |
+
/**
|
193 |
+
* It is not possible to create a page with the same slugs as the login page
|
194 |
+
*
|
195 |
+
* @param string $slug
|
196 |
+
* @param int $post_ID
|
197 |
+
* @param string $post_status
|
198 |
+
* @param string $post_type
|
199 |
+
* @return string
|
200 |
+
*/
|
201 |
+
function wbcr_hlp_login_path_noconflict($slug, $post_ID, $post_status, $post_type)
|
202 |
+
{
|
203 |
+
if( in_array($post_type, array('post', 'page', 'attachment')) ) {
|
204 |
+
$login_path = WHLP_Plugin::app()->getOption('login_path');
|
205 |
+
|
206 |
+
if( !empty($login_path) ) {
|
207 |
+
if( $slug == trim($login_path) ) {
|
208 |
+
$slug = $slug . rand(10, 99);
|
209 |
+
}
|
210 |
+
}
|
211 |
+
}
|
212 |
+
|
213 |
+
return $slug;
|
214 |
+
}
|
215 |
+
|
216 |
+
add_filter('wp_unique_post_slug', 'wbcr_hlp_login_path_noconflict', 10, 4);
|
217 |
+
|
218 |
+
/**
|
219 |
+
* Get the new address of the login page
|
220 |
+
*
|
221 |
+
* @return string
|
222 |
+
*/
|
223 |
+
function wbcr_hlp_get_new_login_url()
|
224 |
+
{
|
225 |
+
$login_path = WHLP_Plugin::app()->getOption('login_path');
|
226 |
+
|
227 |
+
if( empty($login_path) ) {
|
228 |
+
return home_url('/') . 'wp-login.php';
|
229 |
+
}
|
230 |
+
|
231 |
+
if( WbcrFactoryClearfy200_Helpers::isPermalink() ) {
|
232 |
+
return WbcrFactoryClearfy200_Helpers::userTrailingslashit(home_url('/') . $login_path);
|
233 |
+
} else {
|
234 |
+
return home_url('/') . '?' . $login_path;
|
235 |
+
}
|
236 |
+
}
|
237 |
+
|
238 |
+
/**
|
239 |
+
* Allows you to get a link to reset settings
|
240 |
+
*
|
241 |
+
* @param string|null $recovery_code
|
242 |
+
* @return string|void
|
243 |
+
*/
|
244 |
+
function wbcr_hlp_get_recovery_url($recovery_code = null)
|
245 |
+
{
|
246 |
+
$recovery_code = empty($recovery_code)
|
247 |
+
? WHLP_Plugin::app()->getOption('login_recovery_code')
|
248 |
+
: $recovery_code;
|
249 |
+
|
250 |
+
if( empty($recovery_code) ) {
|
251 |
+
return '';
|
252 |
+
}
|
253 |
+
|
254 |
+
return home_url('/?wbcr_hlp_login_recovery=' . $recovery_code);
|
255 |
+
}
|
components/hide-login-page/admin/pages/hide-login.php
ADDED
@@ -0,0 +1,73 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 WHLP_HideLoginPage extends Wbcr_FactoryPages401_ImpressiveThemplate {
|
15 |
+
|
16 |
+
/**
|
17 |
+
* The id of the page in the admin menu.
|
18 |
+
*
|
19 |
+
* Mainly used to navigate between pages.
|
20 |
+
* @see FactoryPages401_AdminPage
|
21 |
+
*
|
22 |
+
* @since 1.0.0
|
23 |
+
* @var string
|
24 |
+
*/
|
25 |
+
public $id = "hide_login";
|
26 |
+
public $page_menu_dashicon = 'dashicons-testimonial';
|
27 |
+
|
28 |
+
/**
|
29 |
+
* @param Wbcr_Factory400_Plugin $plugin
|
30 |
+
*/
|
31 |
+
public function __construct(Wbcr_Factory400_Plugin $plugin)
|
32 |
+
{
|
33 |
+
$this->menu_title = __('Hide login page', 'hide_login_page');
|
34 |
+
|
35 |
+
if( !defined('LOADING_HIDE_LOGIN_PAGE_AS_ADDON') ) {
|
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);
|
42 |
+
|
43 |
+
$this->plugin = $plugin;
|
44 |
+
}
|
45 |
+
|
46 |
+
public function getMenuTitle()
|
47 |
+
{
|
48 |
+
return defined('LOADING_HIDE_LOGIN_PAGE_AS_ADDON')
|
49 |
+
? __('Hide login page', 'hide_login_page')
|
50 |
+
: __('General', 'hide_login_page');
|
51 |
+
}
|
52 |
+
|
53 |
+
/**
|
54 |
+
* Permalinks options.
|
55 |
+
*
|
56 |
+
* @since 1.0.0
|
57 |
+
* @return mixed[]
|
58 |
+
*/
|
59 |
+
public function getOptions()
|
60 |
+
{
|
61 |
+
$options = wbcr_hlp_get_plugin_options();
|
62 |
+
|
63 |
+
$formOptions = array();
|
64 |
+
|
65 |
+
$formOptions[] = array(
|
66 |
+
'type' => 'form-group',
|
67 |
+
'items' => $options,
|
68 |
+
//'cssClass' => 'postbox'
|
69 |
+
);
|
70 |
+
|
71 |
+
return apply_filters('wbcr_hlp_general_form_options', $formOptions, $this);
|
72 |
+
}
|
73 |
+
}
|
components/hide-login-page/admin/pages/index.php
ADDED
File without changes
|
components/hide-login-page/admin/pages/more-features.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 WHLP_MoreFeaturesPage extends Wbcr_FactoryClearfy200_MoreFeaturesPage {
|
15 |
+
|
16 |
+
}
|
components/hide-login-page/hide-login-page.php
ADDED
@@ -0,0 +1,59 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plugin Name: Webcraftic Hide Login Page
|
4 |
+
* Plugin URI: https://wordpress.org/plugins/hide-login-page/
|
5 |
+
* Description: Hide Login Page is a very light plugin that lets you easily and safely change the url of the login form page to anything you want.
|
6 |
+
* Author: Webcraftic <wordpress.webraftic@gmail.com>
|
7 |
+
* Version: 1.0.0
|
8 |
+
* Text Domain: cyrlitera
|
9 |
+
* Domain Path: /languages/
|
10 |
+
* Author URI: http://webcraftic.com
|
11 |
+
*/
|
12 |
+
|
13 |
+
// Exit if accessed directly
|
14 |
+
if( !defined('ABSPATH') ) {
|
15 |
+
exit;
|
16 |
+
}
|
17 |
+
|
18 |
+
if( defined('WHLP_PLUGIN_ACTIVE') || (defined('WCL_PLUGIN_ACTIVE') && !defined('LOADING_HIDE_LOGIN_PAGE_AS_ADDON')) ) {
|
19 |
+
function wbcr_hlp_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 "Hide Login Page"!', 'hide_login_page'); ?></p>
|
24 |
+
</div>
|
25 |
+
<?php
|
26 |
+
}
|
27 |
+
|
28 |
+
add_action('admin_notices', 'wbcr_hlp_admin_notice_error');
|
29 |
+
|
30 |
+
return;
|
31 |
+
} else {
|
32 |
+
|
33 |
+
define('WHLP_PLUGIN_ACTIVE', true);
|
34 |
+
define('WHLP_PLUGIN_DIR', dirname(__FILE__));
|
35 |
+
define('WHLP_PLUGIN_BASE', plugin_basename(__FILE__));
|
36 |
+
define('WHLP_PLUGIN_URL', plugins_url(null, __FILE__));
|
37 |
+
|
38 |
+
|
39 |
+
|
40 |
+
if( !defined('LOADING_HIDE_LOGIN_PAGE_AS_ADDON') ) {
|
41 |
+
require_once(WHLP_PLUGIN_DIR . '/libs/factory/core/boot.php');
|
42 |
+
}
|
43 |
+
|
44 |
+
require_once(WHLP_PLUGIN_DIR . '/includes/class.plugin.php');
|
45 |
+
|
46 |
+
if( !defined('LOADING_HIDE_LOGIN_PAGE_AS_ADDON') ) {
|
47 |
+
|
48 |
+
new WHLP_Plugin(__FILE__, array(
|
49 |
+
'prefix' => 'wbcr_hlp_',
|
50 |
+
'plugin_name' => 'wbcr_hide_login_page',
|
51 |
+
'plugin_title' => __('Webcraftic Hide login page', 'hide_login_page'),
|
52 |
+
'plugin_version' => '1.0.0',
|
53 |
+
'required_php_version' => '5.2',
|
54 |
+
'required_wp_version' => '4.2',
|
55 |
+
'plugin_build' => 'free',
|
56 |
+
//'updates' => WHLP_PLUGIN_DIR . '/updates/'
|
57 |
+
));
|
58 |
+
}
|
59 |
+
}
|
components/hide-login-page/includes/class.plugin.php
ADDED
@@ -0,0 +1,127 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Hide login page core class
|
4 |
+
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
5 |
+
* @copyright (c) 19.02.2018, Webcraftic
|
6 |
+
* @version 1.0
|
7 |
+
*/
|
8 |
+
|
9 |
+
// Exit if accessed directly
|
10 |
+
if( !defined('ABSPATH') ) {
|
11 |
+
exit;
|
12 |
+
}
|
13 |
+
|
14 |
+
if( !class_exists('WHLP_Plugin') ) {
|
15 |
+
|
16 |
+
if( !class_exists('WHLP_PluginFactory') ) {
|
17 |
+
if( defined('LOADING_HIDE_LOGIN_PAGE_AS_ADDON') ) {
|
18 |
+
class WHLP_PluginFactory {
|
19 |
+
|
20 |
+
}
|
21 |
+
} else {
|
22 |
+
class WHLP_PluginFactory extends Wbcr_Factory400_Plugin {
|
23 |
+
|
24 |
+
}
|
25 |
+
}
|
26 |
+
}
|
27 |
+
|
28 |
+
class WHLP_Plugin extends WHLP_PluginFactory {
|
29 |
+
|
30 |
+
/**
|
31 |
+
* @var Wbcr_Factory400_Plugin
|
32 |
+
*/
|
33 |
+
private static $app;
|
34 |
+
|
35 |
+
/**
|
36 |
+
* @var bool
|
37 |
+
*/
|
38 |
+
private $as_addon;
|
39 |
+
|
40 |
+
/**
|
41 |
+
* @param string $plugin_path
|
42 |
+
* @param array $data
|
43 |
+
* @throws Exception
|
44 |
+
*/
|
45 |
+
public function __construct($plugin_path, $data)
|
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 Wbcr_Factory400_Plugin) ) {
|
55 |
+
throw new Exception('An invalid instance of the class was passed.');
|
56 |
+
}
|
57 |
+
|
58 |
+
self::$app = $plugin_parent;
|
59 |
+
} else {
|
60 |
+
self::$app = $this;
|
61 |
+
}
|
62 |
+
|
63 |
+
if( !$this->as_addon ) {
|
64 |
+
parent::__construct($plugin_path, $data);
|
65 |
+
}
|
66 |
+
|
67 |
+
$this->setTextDomain();
|
68 |
+
$this->setModules();
|
69 |
+
|
70 |
+
$this->globalScripts();
|
71 |
+
|
72 |
+
if( is_admin() ) {
|
73 |
+
$this->adminScripts();
|
74 |
+
}
|
75 |
+
}
|
76 |
+
|
77 |
+
/**
|
78 |
+
* @return Wbcr_Factory400_Plugin
|
79 |
+
*/
|
80 |
+
public static function app()
|
81 |
+
{
|
82 |
+
return self::$app;
|
83 |
+
}
|
84 |
+
|
85 |
+
protected function setTextDomain()
|
86 |
+
{
|
87 |
+
|
88 |
+
load_plugin_textdomain('hide_login_page', false, dirname(WHLP_PLUGIN_BASE) . '/languages/');
|
89 |
+
}
|
90 |
+
|
91 |
+
protected function setModules()
|
92 |
+
{
|
93 |
+
if( !$this->as_addon ) {
|
94 |
+
self::app()->load(array(
|
95 |
+
array('libs/factory/bootstrap', 'factory_bootstrap_400', 'admin'),
|
96 |
+
array('libs/factory/forms', 'factory_forms_400', 'admin'),
|
97 |
+
array('libs/factory/pages', 'factory_pages_401', 'admin'),
|
98 |
+
array('libs/factory/clearfy', 'factory_clearfy_200', 'all')
|
99 |
+
));
|
100 |
+
}
|
101 |
+
}
|
102 |
+
|
103 |
+
private function registerPages()
|
104 |
+
{
|
105 |
+
if( $this->as_addon ) {
|
106 |
+
return;
|
107 |
+
}
|
108 |
+
|
109 |
+
self::app()->registerPage('WHLP_HideLoginPage', WHLP_PLUGIN_DIR . '/admin/pages/hide-login.php');
|
110 |
+
self::app()->registerPage('WHLP_MoreFeaturesPage', WHLP_PLUGIN_DIR . '/admin/pages/more-features.php');
|
111 |
+
}
|
112 |
+
|
113 |
+
private function adminScripts()
|
114 |
+
{
|
115 |
+
require_once(WHLP_PLUGIN_DIR . '/admin/boot.php');
|
116 |
+
require_once(WHLP_PLUGIN_DIR . '/admin/options.php');
|
117 |
+
|
118 |
+
$this->registerPages();
|
119 |
+
}
|
120 |
+
|
121 |
+
private function globalScripts()
|
122 |
+
{
|
123 |
+
require_once(WHLP_PLUGIN_DIR . '/includes/classes/class.configurate-hide-login-page.php');
|
124 |
+
new WHLP_ConfigHideLoginPage(self::$app);
|
125 |
+
}
|
126 |
+
}
|
127 |
+
}
|
components/hide-login-page/includes/classes/class.configurate-hide-login-page.php
ADDED
@@ -0,0 +1,247 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* This class configures hide login page
|
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 |
+
class WHLP_ConfigHideLoginPage extends Wbcr_FactoryClearfy200_Configurate {
|
15 |
+
|
16 |
+
/**
|
17 |
+
* @var bool
|
18 |
+
*/
|
19 |
+
private $wp_login_php;
|
20 |
+
|
21 |
+
/**
|
22 |
+
* @var bool
|
23 |
+
*/
|
24 |
+
private $disable_wp_admin;
|
25 |
+
|
26 |
+
/**
|
27 |
+
* @var bool
|
28 |
+
*/
|
29 |
+
private $disable_wp_login;
|
30 |
+
|
31 |
+
/**
|
32 |
+
* @var string
|
33 |
+
*/
|
34 |
+
private $login_path;
|
35 |
+
|
36 |
+
|
37 |
+
public function registerActionsAndFilters()
|
38 |
+
{
|
39 |
+
$this->disable_wp_admin = WHLP_Plugin::app()->getOption('hide_wp_admin');
|
40 |
+
$this->disable_wp_login = WHLP_Plugin::app()->getOption('hide_login_path');
|
41 |
+
$this->login_path = WHLP_Plugin::app()->getOption('login_path');
|
42 |
+
|
43 |
+
add_filter('init', array($this, 'init'));
|
44 |
+
|
45 |
+
if( $this->disable_wp_admin ) {
|
46 |
+
add_filter('auth_redirect_scheme', array($this, 'stopRedirect'), 9999);
|
47 |
+
}
|
48 |
+
|
49 |
+
if( $this->login_path ) {
|
50 |
+
add_action('plugins_loaded', array($this, 'pluginsLoaded'), 9999);
|
51 |
+
add_action('wp_loaded', array($this, 'wpLoaded'));
|
52 |
+
add_filter('site_url', array($this, 'siteUrl'), 10, 4);
|
53 |
+
add_filter('wp_redirect', array($this, 'wpRedirect'), 10, 2);
|
54 |
+
add_filter('site_option_welcome_email', array($this, 'welcomeEmail'));
|
55 |
+
}
|
56 |
+
}
|
57 |
+
|
58 |
+
|
59 |
+
public function init()
|
60 |
+
{
|
61 |
+
if( $this->disable_wp_admin ) {
|
62 |
+
remove_action('template_redirect', 'wp_redirect_admin_locations', 9999);
|
63 |
+
}
|
64 |
+
|
65 |
+
//check for recovery link run
|
66 |
+
if( !empty($this->login_path) && isset($_GET['wbcr_hlp_login_recovery']) ) {
|
67 |
+
$user_recovery_code = sanitize_text_field($_GET['wbcr_hlp_login_recovery']);
|
68 |
+
$plugin_recovery_code = $this->getOption('login_recovery_code');
|
69 |
+
|
70 |
+
if( empty($plugin_recovery_code) || empty($user_recovery_code) || $user_recovery_code !== $plugin_recovery_code ) {
|
71 |
+
return;
|
72 |
+
}
|
73 |
+
|
74 |
+
$this->plugin->deleteOption('hide_wp_admin');
|
75 |
+
$this->plugin->deleteOption('login_path');
|
76 |
+
$this->plugin->deleteOption('hide_login_path');
|
77 |
+
$this->plugin->deleteOption('old_login_path');
|
78 |
+
$this->plugin->deleteOption('login_recovery_code');
|
79 |
+
|
80 |
+
$this->login_path = null;
|
81 |
+
$this->disable_wp_login = null;
|
82 |
+
$this->disable_wp_admin = null;
|
83 |
+
$this->wp_login_php = false;
|
84 |
+
|
85 |
+
wp_safe_redirect(admin_url());
|
86 |
+
exit;
|
87 |
+
}
|
88 |
+
}
|
89 |
+
|
90 |
+
|
91 |
+
function stopRedirect($scheme)
|
92 |
+
{
|
93 |
+
if( $user_id = wp_validate_auth_cookie('', $scheme) ) {
|
94 |
+
return $scheme;
|
95 |
+
}
|
96 |
+
|
97 |
+
WbcrFactoryClearfy200_Helpers::setError404();
|
98 |
+
}
|
99 |
+
|
100 |
+
public function pluginsLoaded()
|
101 |
+
{
|
102 |
+
global $pagenow;
|
103 |
+
|
104 |
+
$request = parse_url($_SERVER['REQUEST_URI']);
|
105 |
+
|
106 |
+
$is_login = WbcrFactoryClearfy200_Helpers::strContains(rawurldecode($_SERVER['REQUEST_URI']), 'wp-login.php') || untrailingslashit($request['path']) === site_url('wp-login', 'relative');
|
107 |
+
$is_signup = WbcrFactoryClearfy200_Helpers::strContains(rawurldecode($_SERVER['REQUEST_URI']), 'wp-signup');
|
108 |
+
$is_activate = WbcrFactoryClearfy200_Helpers::strContains(rawurldecode($_SERVER['REQUEST_URI']), 'wp-activate');
|
109 |
+
|
110 |
+
if( ($is_login || $is_signup || $is_activate) && !is_admin() ) {
|
111 |
+
$this->wp_login_php = true;
|
112 |
+
$pagenow = 'index.php';
|
113 |
+
} elseif( (untrailingslashit($request['path']) === home_url($this->login_path, 'relative')) || (!get_option('permalink_structure') && isset($_GET[$this->login_path]) && empty($_GET[$this->login_path])) ) {
|
114 |
+
$pagenow = 'wp-login.php';
|
115 |
+
}
|
116 |
+
}
|
117 |
+
|
118 |
+
public function wpLoaded()
|
119 |
+
{
|
120 |
+
global $pagenow;
|
121 |
+
|
122 |
+
if( is_admin() && !is_user_logged_in() && !defined('DOING_AJAX') && $pagenow !== 'admin-post.php' ) {
|
123 |
+
$ddisable_wp_admin = WHLP_Plugin::app()->getOption('hide_wp_admin');
|
124 |
+
|
125 |
+
if( !$ddisable_wp_admin ) {
|
126 |
+
$redirect_uri = untrailingslashit(home_url($this->login_path));
|
127 |
+
|
128 |
+
if( !get_option('permalink_structure') ) {
|
129 |
+
$redirect_uri = add_query_arg(array(
|
130 |
+
$this->login_path => ''
|
131 |
+
), home_url());
|
132 |
+
}
|
133 |
+
|
134 |
+
wp_safe_redirect($redirect_uri);
|
135 |
+
die();
|
136 |
+
}
|
137 |
+
|
138 |
+
return;
|
139 |
+
}
|
140 |
+
|
141 |
+
$request = parse_url($_SERVER['REQUEST_URI']);
|
142 |
+
|
143 |
+
if( $pagenow === 'wp-login.php' && $request['path'] !== WbcrFactoryClearfy200_Helpers::userTrailingslashit($request['path']) && get_option('permalink_structure') ) {
|
144 |
+
$query_string = !empty($_SERVER['QUERY_STRING'])
|
145 |
+
? '?' . $_SERVER['QUERY_STRING']
|
146 |
+
: '';
|
147 |
+
|
148 |
+
wp_safe_redirect(WbcrFactoryClearfy200_Helpers::userTrailingslashit($this->login_path) . $query_string);
|
149 |
+
die();
|
150 |
+
} elseif( $this->wp_login_php ) {
|
151 |
+
$new_login_redirect = false;
|
152 |
+
$referer = wp_get_referer();
|
153 |
+
$parse_referer = parse_url($referer);
|
154 |
+
|
155 |
+
if( $referer && WbcrFactoryClearfy200_Helpers::strContains($referer, 'wp-activate.php') && $parse_referer && !empty($parse_referer['query']) ) {
|
156 |
+
|
157 |
+
parse_str($parse_referer['query'], $parse_referer);
|
158 |
+
|
159 |
+
if( !empty($parse_referer['key']) && ($result = wpmu_activate_signup($parse_referer['key'])) && is_wp_error($result) && ($result->get_error_code() === 'already_active' || $result->get_error_code() === 'blog_taken') ) {
|
160 |
+
$new_login_redirect = true;
|
161 |
+
}
|
162 |
+
}
|
163 |
+
|
164 |
+
if( !$this->disable_wp_login || $new_login_redirect ) {
|
165 |
+
$query_string = !empty($_SERVER['QUERY_STRING'])
|
166 |
+
? '?' . $_SERVER['QUERY_STRING']
|
167 |
+
: '';
|
168 |
+
|
169 |
+
if( WbcrFactoryClearfy200_Helpers::isPermalink() ) {
|
170 |
+
$redirect_uri = $this->login_path . $query_string;
|
171 |
+
} else {
|
172 |
+
$redirect_uri = home_url() . '/' . add_query_arg(array(
|
173 |
+
$this->login_path => ''
|
174 |
+
), $query_string);
|
175 |
+
}
|
176 |
+
|
177 |
+
if( WbcrFactoryClearfy200_Helpers::strContains($_SERVER['REQUEST_URI'], 'wp-signup') ) {
|
178 |
+
$redirect_uri = add_query_arg(array(
|
179 |
+
'action' => 'register'
|
180 |
+
), $redirect_uri);
|
181 |
+
}
|
182 |
+
|
183 |
+
wp_safe_redirect($redirect_uri);
|
184 |
+
die();
|
185 |
+
}
|
186 |
+
|
187 |
+
WbcrFactoryClearfy200_Helpers::setError404();
|
188 |
+
} elseif( $pagenow === 'wp-login.php' ) {
|
189 |
+
if( is_user_logged_in() && !isset($_REQUEST['action']) ) {
|
190 |
+
wp_safe_redirect(admin_url());
|
191 |
+
die();
|
192 |
+
}
|
193 |
+
|
194 |
+
if( !defined('DONOTCACHEPAGE') ) {
|
195 |
+
define('DONOTCACHEPAGE', true);
|
196 |
+
}
|
197 |
+
|
198 |
+
@require_once ABSPATH . 'wp-login.php';
|
199 |
+
|
200 |
+
die();
|
201 |
+
}
|
202 |
+
}
|
203 |
+
|
204 |
+
public function siteUrl($url, $path, $scheme, $blog_id)
|
205 |
+
{
|
206 |
+
return $this->filterWpLoginPhp($url, $scheme);
|
207 |
+
}
|
208 |
+
|
209 |
+
public function wpRedirect($location, $status)
|
210 |
+
{
|
211 |
+
return $this->filterWpLoginPhp($location);
|
212 |
+
}
|
213 |
+
|
214 |
+
public function filterWpLoginPhp($url, $scheme = null)
|
215 |
+
{
|
216 |
+
if( strpos($url, 'wp-login.php') !== false ) {
|
217 |
+
if( is_ssl() ) {
|
218 |
+
$scheme = 'https';
|
219 |
+
}
|
220 |
+
|
221 |
+
$args = explode('?', $url);
|
222 |
+
|
223 |
+
if( isset($args[1]) ) {
|
224 |
+
parse_str($args[1], $args);
|
225 |
+
$url = add_query_arg($args, $this->newLoginUrl($scheme));
|
226 |
+
} else {
|
227 |
+
$url = $this->newLoginUrl($scheme);
|
228 |
+
}
|
229 |
+
}
|
230 |
+
|
231 |
+
return $url;
|
232 |
+
}
|
233 |
+
|
234 |
+
public function welcomeEmail($value)
|
235 |
+
{
|
236 |
+
return $value = str_replace('wp-login.php', WbcrFactoryClearfy200_Helpers::userTrailingslashit($this->login_path), $value);
|
237 |
+
}
|
238 |
+
|
239 |
+
public function newLoginUrl($scheme = null)
|
240 |
+
{
|
241 |
+
if( WbcrFactoryClearfy200_Helpers::isPermalink() ) {
|
242 |
+
return WbcrFactoryClearfy200_Helpers::userTrailingslashit(home_url('/', $scheme) . $this->login_path);
|
243 |
+
} else {
|
244 |
+
return home_url('/', $scheme) . '?' . $this->login_path;
|
245 |
+
}
|
246 |
+
}
|
247 |
+
}
|
components/hide-login-page/includes/classes/index.php
ADDED
File without changes
|
components/hide-login-page/includes/index.php
ADDED
File without changes
|
components/hide-login-page/index.php
ADDED
File without changes
|
components/hide-login-page/languages/hide_login_page-ru_RU.mo
ADDED
Binary file
|
components/hide-login-page/languages/hide_login_page-ru_RU.po
ADDED
@@ -0,0 +1,191 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: clearfy\n"
|
4 |
+
"POT-Creation-Date: 2018-03-23 03:15+0300\n"
|
5 |
+
"PO-Revision-Date: 2018-03-23 03:17+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 1.8.8\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:69
|
24 |
+
#, php-format
|
25 |
+
msgid ""
|
26 |
+
"We found that you are use the (%s) plugin to change wp-login.php page "
|
27 |
+
"address. Please delete it, because Clearfy already contains these functions "
|
28 |
+
"and you do not need to use two plugins. If you do not want to remove (%s) "
|
29 |
+
"plugin for some reason, please do not use wp-login.php page address change "
|
30 |
+
"feature in the Clearfy plugin, to avoid conflicts."
|
31 |
+
msgstr ""
|
32 |
+
"Мы обнаружили, что вы используете плагин (%s) для изменения адреса страницы "
|
33 |
+
"wp-login.php. Пожалуйста удалите его, так как Clearfy уже содержит эти "
|
34 |
+
"функции и вам незачем использовать два плагина. Если вы по каким-то причинам "
|
35 |
+
"не хотите удалять плагин (%s), пожалуйста не используйте функции по "
|
36 |
+
"изменению адреса страницы wp-login.php в плагине Clearfy, во избежание "
|
37 |
+
"конфликтов."
|
38 |
+
|
39 |
+
#: admin/boot.php:71
|
40 |
+
#, php-format
|
41 |
+
msgid ""
|
42 |
+
"We found that you are use the (%s) plugin. Please do not use its wp-login."
|
43 |
+
"php page address change and the same feature in the Clearfy plugin, to avoid "
|
44 |
+
"conflicts."
|
45 |
+
msgstr ""
|
46 |
+
"Мы обнаружили, что вы используете плагин (%s). Пожалуйста не используйте его "
|
47 |
+
"функции по изменению адреса страницы wp-login.php и схожие функции в плагине "
|
48 |
+
"Clearfy, во избежание конфликтов."
|
49 |
+
|
50 |
+
#: admin/boot.php:103 admin/options.php:60
|
51 |
+
msgid "Hide wp-admin"
|
52 |
+
msgstr "Скрыть wp-admin"
|
53 |
+
|
54 |
+
#: admin/boot.php:108 admin/options.php:69
|
55 |
+
msgid "Hide Login Page"
|
56 |
+
msgstr "Скрыть страницу логина"
|
57 |
+
|
58 |
+
#: admin/boot.php:113 admin/options.php:84
|
59 |
+
msgid "New login page"
|
60 |
+
msgstr "Новый адрес страницы логина"
|
61 |
+
|
62 |
+
#: admin/boot.php:125
|
63 |
+
msgid "Get ultimate plugin free"
|
64 |
+
msgstr "Получите полную версию плагина бесплатно"
|
65 |
+
|
66 |
+
#: admin/options.php:29
|
67 |
+
msgid ""
|
68 |
+
"You entered an incorrect part of the path to your login page. The path to "
|
69 |
+
"the login page can not consist only of digits, at least 3 characters, you "
|
70 |
+
"must use only the characters [0-9A-z_-]!"
|
71 |
+
msgstr ""
|
72 |
+
"Вы ввели неправильную часть пути к своей странице входа. Путь к странице "
|
73 |
+
"входа не может состоять только из цифр, не менее 3 символов, вы должны "
|
74 |
+
"использовать только символы [0-9A-z_-]!"
|
75 |
+
|
76 |
+
#: admin/options.php:36
|
77 |
+
msgid ""
|
78 |
+
"The entered login page name is already used for one of your pages. Try to "
|
79 |
+
"choose a different login page name!"
|
80 |
+
msgstr ""
|
81 |
+
"Введенное имя учетной записи уже используется для одной из ваших страниц. "
|
82 |
+
"Попробуйте выбрать другое имя учетной записи!"
|
83 |
+
|
84 |
+
#: admin/options.php:53
|
85 |
+
msgid "<strong>Protect your admin login</strong>."
|
86 |
+
msgstr "<strong>Защитите вашу страницу логина</strong>."
|
87 |
+
|
88 |
+
#: admin/options.php:53
|
89 |
+
msgid ""
|
90 |
+
"Dozens of bots attack your login page at /wp-login.php and /wp-admin/daily. "
|
91 |
+
"Bruteforce and want to access your admin panel. Even if you're sure that you "
|
92 |
+
"have created a complex and reliable password, this does not guarantee "
|
93 |
+
"security and does not relieve your login page load. The easiest way is to "
|
94 |
+
"protect the login page by simply changing its address to your own and unique."
|
95 |
+
msgstr ""
|
96 |
+
"Десятки ботов ежедневно атакуют вашу страницу логина по адресам /wp-login."
|
97 |
+
"php и /wp-admin/, перебирая пароли, желая получить доступ в вашу админ "
|
98 |
+
"панель. Даже если вы уверены, что создали сложный и надежный пароль, это не "
|
99 |
+
"гарантирует безопасность и не избавляет от нагрузки вашу страницу логина. "
|
100 |
+
"Проще всего защитить страницу логина, просто изменив её адрес на собственный "
|
101 |
+
"и уникальный."
|
102 |
+
|
103 |
+
#: admin/options.php:62
|
104 |
+
msgid ""
|
105 |
+
"Hides the /wp-admin directory for unauthorized users. If the option is "
|
106 |
+
"disabled, when you request the page /wp-admin you will be redirected to the "
|
107 |
+
"login page, even if you changed its address. Therefore, for protection "
|
108 |
+
"purposes enable this option."
|
109 |
+
msgstr ""
|
110 |
+
"Скрывает каталог /wp-admin для неавторизованных пользователей. Если опция "
|
111 |
+
"отключена, при запросе страницы /wp-admin вы будете перенаправлены на "
|
112 |
+
"страницу логина, даже если вы изменили ее адрес. Поэтому в целях защиты, "
|
113 |
+
"включите эту опцию."
|
114 |
+
|
115 |
+
#: admin/options.php:71
|
116 |
+
msgid "Hides the wp-login.php and wp-signup.php pages."
|
117 |
+
msgstr "Скрывает страницу wp-login.php, wp-signup.php."
|
118 |
+
|
119 |
+
#: admin/options.php:71
|
120 |
+
msgid ""
|
121 |
+
"Use this option carefully! If you forget the new login page address, you can "
|
122 |
+
"not get into the admin panel."
|
123 |
+
msgstr ""
|
124 |
+
"Используйте эту опцию осторожно, если вы забудете новый адрес страницы "
|
125 |
+
"логина, вы не сможете попасть в админ панель."
|
126 |
+
|
127 |
+
#: admin/options.php:76 admin/options.php:164
|
128 |
+
#, php-format
|
129 |
+
msgid ""
|
130 |
+
"If unable to access the login/admin section anymore, use the Recovery Link "
|
131 |
+
"which reset links to default: \n"
|
132 |
+
"%s"
|
133 |
+
msgstr ""
|
134 |
+
"Если вы больше не можете получить доступ к разделу login/admin, используйте "
|
135 |
+
"ссылку восстановления, которая восстанавливает ссылки по умолчанию: \n"
|
136 |
+
"%s"
|
137 |
+
|
138 |
+
#: admin/options.php:85
|
139 |
+
msgid "Set a new login page name without slash. Example: mysecretlogin"
|
140 |
+
msgstr "Задайте новое имя страницы логина без слешей. Пример: mysecretlogin"
|
141 |
+
|
142 |
+
#: admin/options.php:85 admin/options.php:163
|
143 |
+
msgid "IMPORTANT! Be sure that you wrote down the new login page address"
|
144 |
+
msgstr "ВАЖНО! Обязательно запишите новый адрес страницы логина"
|
145 |
+
|
146 |
+
#: admin/options.php:162
|
147 |
+
#, php-format
|
148 |
+
msgid ""
|
149 |
+
"Hi,\n"
|
150 |
+
"This is %s plugin. Here is your new WordPress login address:\n"
|
151 |
+
"URL: %s"
|
152 |
+
msgstr ""
|
153 |
+
"Здравствуйте!\n"
|
154 |
+
"Это плагин %s. Вы изменили адрес страницы логина на:\n"
|
155 |
+
"URL: %s"
|
156 |
+
|
157 |
+
#: admin/options.php:165
|
158 |
+
#, php-format
|
159 |
+
msgid ""
|
160 |
+
"Best Regards,\n"
|
161 |
+
"%s"
|
162 |
+
msgstr ""
|
163 |
+
"С уважением,\n"
|
164 |
+
"%s"
|
165 |
+
|
166 |
+
#: admin/options.php:173
|
167 |
+
#, php-format
|
168 |
+
msgid "[%s] Your New WP Login!"
|
169 |
+
msgstr "[%s] Измен адрес страницы логина!"
|
170 |
+
|
171 |
+
#: admin/pages/hide-login.php:33 admin/pages/hide-login.php:49
|
172 |
+
msgid "Hide login page"
|
173 |
+
msgstr "Скрыть страницу логина"
|
174 |
+
|
175 |
+
#: admin/pages/hide-login.php:50
|
176 |
+
msgid "General"
|
177 |
+
msgstr "Основные"
|
178 |
+
|
179 |
+
#: hide-login-page.php:23
|
180 |
+
msgid ""
|
181 |
+
"We found that you have the \"Clearfy - disable unused features\" plugin "
|
182 |
+
"installed, this plugin already has disable comments functions, so you can "
|
183 |
+
"deactivate plugin \"Hide Login Page\"!"
|
184 |
+
msgstr ""
|
185 |
+
"Мы обнаружили, что у вас установлен плагин «Clearfy - отключить "
|
186 |
+
"неиспользуемые функции», этот плагин уже имеет функции отключения "
|
187 |
+
"комментариев, поэтому вы можете отключить плагин «Hide Login Page»!"
|
188 |
+
|
189 |
+
#: hide-login-page.php:80
|
190 |
+
msgid "Webcraftic Hide login page"
|
191 |
+
msgstr "Webcraftic Скрыть страницу логина"
|
components/hide-login-page/languages/index.php
ADDED
File without changes
|
components/hide-login-page/libs/index.php
ADDED
File without changes
|
components/hide-login-page/readme.txt
ADDED
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
=== Webcraftic Hide Login Page ===
|
2 |
+
Tags: rename, login, wp-login, wp-login.php, custom login url
|
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: 4.9
|
7 |
+
Requires PHP: 5.2
|
8 |
+
Stable tag: trunk
|
9 |
+
License: GPLv2
|
10 |
+
|
11 |
+
Hide Login Page is a very light plugin that lets you easily and safely change the url of the login form page to anything you want.
|
12 |
+
|
13 |
+
== Description ==
|
14 |
+
|
15 |
+
Hide Login Page is a very light plugin that lets you easily and safely change the url of the login form page to anything you want.
|
16 |
+
|
17 |
+
#### RECOMMENDED SEPARATE MODULES ####
|
18 |
+
We invite you to check out a few other related free plugins that our team has also produced that you may find especially useful:
|
19 |
+
|
20 |
+
* [Clearfy – WordPress optimization plugin and disable ultimate tweaker](https://wordpress.org/plugins/clearfy/)
|
21 |
+
* [WordPress Assets manager, dequeue scripts, dequeue styles](https://wordpress.org/plugins/gonzales/)
|
22 |
+
* [Disable Comments for Any Post Types (Remove Comments)](https://wordpress.org/plugins/comments-plus/)
|
23 |
+
* [Disable updates, Disable automatic updates, Updates manager](https://wordpress.org/plugins/webcraftic-updates-manager/)
|
24 |
+
* [Disable admin notices individually](https://wordpress.org/plugins/disable-admin-notices/ "Disable admin notices individually")
|
25 |
+
|
26 |
+
== Installation ==
|
27 |
+
|
28 |
+
1. Upload the plugin files to the `/wp-content/plugins/plugin-name` directory, or install the plugin through the WordPress plugins screen directly.
|
29 |
+
2. Activate the plugin through the 'Plugins' screen in WordPress
|
30 |
+
3. Go to the general settings and click on the "Hide login page" tab, activate the options and save the settings.
|
31 |
+
|
32 |
+
== Changelog ==
|
33 |
+
= 1.0.0 =
|
34 |
+
* Plugin release
|
components/hide-login-page/uninstall.php
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
// if uninstall.php is not called by WordPress, die
|
4 |
+
if( !defined('WP_UNINSTALL_PLUGIN') ) {
|
5 |
+
die;
|
6 |
+
}
|
7 |
+
|
8 |
+
// remove plugin options
|
9 |
+
global $wpdb;
|
10 |
+
|
11 |
+
$wpdb->query("DELETE FROM {$wpdb->prefix}options WHERE option_name LIKE 'wbcr_hlp_%';");
|
12 |
+
|
13 |
+
|
components/index.php
ADDED
File without changes
|
components/updates-manager/admin/assets/css/general.css
CHANGED
@@ -1,35 +1,35 @@
|
|
1 |
-
/**
|
2 |
-
* General styles
|
3 |
-
* @author Alex Kovalev <alex.kovalevv@gmail.com>
|
4 |
-
* @copyright Alex Kovalev 23.08.2017
|
5 |
-
*/
|
6 |
-
#WBCR .wp-list-table .plugin-update-tr.active td,
|
7 |
-
#WBCR .wp-list-table.plugins .active th.check-column {
|
8 |
-
border-left: 4px solid #e6e6e6 !important;
|
9 |
-
padding-left: 8px !important;
|
10 |
-
}
|
11 |
-
#WBCR .wp-list-table.plugins .row-actions,
|
12 |
-
#WBCR .wp-list-table.plugins .second {
|
13 |
-
padding: 0 0 5px;
|
14 |
-
color: #949292;
|
15 |
-
}
|
16 |
-
#WBCR .wp-list-table.plugins .active td,
|
17 |
-
#WBCR .wp-list-table.plugins .active th {
|
18 |
-
background-color: #ffffff;
|
19 |
-
}
|
20 |
-
#WBCR .wp-list-table.plugins,
|
21 |
-
#WBCR .wp-list-table.plugins td,
|
22 |
-
#WBCR .wp-list-table.plugins th,
|
23 |
-
#WBCR .wp-list-table .row-actions .network_active,
|
24 |
-
#WBCR .wp-list-table .row-actions .network_only {
|
25 |
-
color: #777;
|
26 |
-
}
|
27 |
-
#WBCR .wp-list-table .widefat ol,
|
28 |
-
#WBCR .wp-list-table .widefat p,
|
29 |
-
#WBCR .wp-list-table .widefat tfoot tr td,
|
30 |
-
#WBCR .wp-list-table .widefat tfoot tr th,
|
31 |
-
#WBCR .wp-list-table .widefat thead tr td,
|
32 |
-
#WBCR .wp-list-table .widefat thead tr th,
|
33 |
-
#WBCR .wp-list-table .widefat ul {
|
34 |
-
color: #7d7d7d;
|
35 |
-
}
|
1 |
+
/**
|
2 |
+
* General styles
|
3 |
+
* @author Alex Kovalev <alex.kovalevv@gmail.com>
|
4 |
+
* @copyright Alex Kovalev 23.08.2017
|
5 |
+
*/
|
6 |
+
#WBCR .wp-list-table .plugin-update-tr.active td,
|
7 |
+
#WBCR .wp-list-table.plugins .active th.check-column {
|
8 |
+
border-left: 4px solid #e6e6e6 !important;
|
9 |
+
padding-left: 8px !important;
|
10 |
+
}
|
11 |
+
#WBCR .wp-list-table.plugins .row-actions,
|
12 |
+
#WBCR .wp-list-table.plugins .second {
|
13 |
+
padding: 0 0 5px;
|
14 |
+
color: #949292;
|
15 |
+
}
|
16 |
+
#WBCR .wp-list-table.plugins .active td,
|
17 |
+
#WBCR .wp-list-table.plugins .active th {
|
18 |
+
background-color: #ffffff;
|
19 |
+
}
|
20 |
+
#WBCR .wp-list-table.plugins,
|
21 |
+
#WBCR .wp-list-table.plugins td,
|
22 |
+
#WBCR .wp-list-table.plugins th,
|
23 |
+
#WBCR .wp-list-table .row-actions .network_active,
|
24 |
+
#WBCR .wp-list-table .row-actions .network_only {
|
25 |
+
color: #777;
|
26 |
+
}
|
27 |
+
#WBCR .wp-list-table .widefat ol,
|
28 |
+
#WBCR .wp-list-table .widefat p,
|
29 |
+
#WBCR .wp-list-table .widefat tfoot tr td,
|
30 |
+
#WBCR .wp-list-table .widefat tfoot tr th,
|
31 |
+
#WBCR .wp-list-table .widefat thead tr td,
|
32 |
+
#WBCR .wp-list-table .widefat thead tr th,
|
33 |
+
#WBCR .wp-list-table .widefat ul {
|
34 |
+
color: #7d7d7d;
|
35 |
+
}
|
components/updates-manager/admin/assets/css/index.php
ADDED
File without changes
|
components/updates-manager/admin/assets/index.php
ADDED
File without changes
|
components/updates-manager/admin/assets/js/index.php
ADDED
File without changes
|
components/updates-manager/admin/boot.php
CHANGED
@@ -6,24 +6,64 @@
|
|
6 |
* @version 1.0
|
7 |
*/
|
8 |
|
9 |
-
|
10 |
-
|
11 |
-
|
|
|
|
|
|
|
12 |
|
13 |
-
|
14 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
}
|
16 |
|
|
|
|
|
17 |
function wbcr_upm_rating_widget_url($page_url, $plugin_name)
|
18 |
{
|
19 |
-
if( $plugin_name ==
|
20 |
return 'https://goo.gl/Be2hQU';
|
21 |
}
|
22 |
|
23 |
return $page_url;
|
24 |
}
|
25 |
|
26 |
-
add_filter('
|
27 |
|
28 |
function wbcr_upm_group_options($options)
|
29 |
{
|
@@ -85,7 +125,7 @@
|
|
85 |
|
86 |
function wbcr_ump_set_plugin_meta($links, $file)
|
87 |
{
|
88 |
-
if( $file ==
|
89 |
$links[] = '<a href="https://goo.gl/TcMcS4" style="color: #FF5722;font-weight: bold;" target="_blank">' . __('Get ultimate plugin free', 'webcraftic-updates-manager') . '</a>';
|
90 |
}
|
91 |
|
6 |
* @version 1.0
|
7 |
*/
|
8 |
|
9 |
+
/**
|
10 |
+
* Ошибки совместимости с похожими плагинами
|
11 |
+
*/
|
12 |
+
function wbcr_upm_admin_conflict_notices_error()
|
13 |
+
{
|
14 |
+
$notices = array();
|
15 |
|
16 |
+
$default_notice = WUP_Plugin::app()
|
17 |
+
->getPluginTitle() . ': ' . __('We found that you have the plugin %s installed. The functions of this plugin already exist in %s. Please deactivate plugin %s to avoid conflicts between plugins\' functions.', 'webcraftic-updates-manager');
|
18 |
+
$default_notice .= ' ' . __('If you do not want to deactivate the plugin %s for some reason, we strongly recommend do not use the same plugins\' functions at the same time!', 'webcraftic-updates-manager');
|
19 |
+
|
20 |
+
if( is_plugin_active('companion-auto-update/companion-auto-update.php') ) {
|
21 |
+
$notices[] = sprintf($default_notice, 'Companion Auto Update', WUP_Plugin::app()
|
22 |
+
->getPluginTitle(), 'Companion Auto Update', 'Companion Auto Update');
|
23 |
+
}
|
24 |
+
|
25 |
+
if( is_plugin_active('disable-updates/disable-updates.php') ) {
|
26 |
+
$notices[] = sprintf($default_notice, 'Disable Updates', WUP_Plugin::app()
|
27 |
+
->getPluginTitle(), 'Disable Updates', 'Disable Updates');
|
28 |
+
}
|
29 |
+
|
30 |
+
if( is_plugin_active('disable-wordpress-updates/disable-updates.php') ) {
|
31 |
+
$notices[] = sprintf($default_notice, 'Disable All WordPress Updates', WUP_Plugin::app()
|
32 |
+
->getPluginTitle(), 'Disable All WordPress Updates', 'Disable All WordPress Updates');
|
33 |
+
}
|
34 |
+
|
35 |
+
if( is_plugin_active('stops-core-theme-and-plugin-updates/main.php') ) {
|
36 |
+
$notices[] = sprintf($default_notice, 'Easy Updates Manager', WUP_Plugin::app()
|
37 |
+
->getPluginTitle(), 'Easy Updates Manager', 'Easy Updates Manager');
|
38 |
+
}
|
39 |
+
|
40 |
+
if( empty($notices) ) {
|
41 |
+
return;
|
42 |
+
}
|
43 |
+
|
44 |
+
?>
|
45 |
+
<div id="wbcr-update-manager-conflict-error" class="notice notice-error is-dismissible">
|
46 |
+
<?php foreach((array)$notices as $notice): ?>
|
47 |
+
<p>
|
48 |
+
<?= $notice ?>
|
49 |
+
</p>
|
50 |
+
<?php endforeach; ?>
|
51 |
+
</div>
|
52 |
+
<?php
|
53 |
}
|
54 |
|
55 |
+
add_action('admin_notices', 'wbcr_upm_admin_conflict_notices_error');
|
56 |
+
|
57 |
function wbcr_upm_rating_widget_url($page_url, $plugin_name)
|
58 |
{
|
59 |
+
if( $plugin_name == WUP_Plugin::app()->getPluginName() ) {
|
60 |
return 'https://goo.gl/Be2hQU';
|
61 |
}
|
62 |
|
63 |
return $page_url;
|
64 |
}
|
65 |
|
66 |
+
add_filter('wbcr_factory_pages_401_imppage_rating_widget_url', 'wbcr_upm_rating_widget_url', 10, 2);
|
67 |
|
68 |
function wbcr_upm_group_options($options)
|
69 |
{
|
125 |
|
126 |
function wbcr_ump_set_plugin_meta($links, $file)
|
127 |
{
|
128 |
+
if( $file == WUP_PLUGIN_BASE ) {
|
129 |
$links[] = '<a href="https://goo.gl/TcMcS4" style="color: #FF5722;font-weight: bold;" target="_blank">' . __('Get ultimate plugin free', 'webcraftic-updates-manager') . '</a>';
|
130 |
}
|
131 |
|
components/updates-manager/admin/index.php
ADDED
File without changes
|
components/updates-manager/admin/pages/advanced.php
CHANGED
@@ -1,79 +1,84 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
/**
|
4 |
* The page Settings.
|
5 |
*
|
6 |
* @since 1.0.0
|
7 |
*/
|
8 |
-
|
9 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
/**
|
11 |
* The id of the page in the admin menu.
|
12 |
*
|
13 |
* Mainly used to navigate between pages.
|
14 |
-
* @see
|
15 |
*
|
16 |
* @since 1.0.0
|
17 |
* @var string
|
18 |
*/
|
19 |
-
public $id = "
|
20 |
-
|
21 |
public $type = "page";
|
22 |
-
|
23 |
public $page_parent_page = 'updates';
|
24 |
-
|
25 |
-
public $page_menu_dashicon = 'dashicons-
|
26 |
-
|
27 |
-
|
|
|
|
|
|
|
28 |
{
|
29 |
-
$this->
|
30 |
-
|
31 |
-
if( !defined('LOADING_UPDATES_MANAGER_AS_ADDON') ) {
|
32 |
-
$this->page_parent_page = null;
|
33 |
-
}
|
34 |
-
|
35 |
parent::__construct($plugin);
|
36 |
}
|
37 |
-
|
38 |
-
|
39 |
public function warningNotice()
|
40 |
{
|
41 |
parent::warningNotice();
|
42 |
-
|
43 |
if( isset($_GET['wbcr_force_update']) ) {
|
44 |
$concat = __('Please, wait 90 sec. to see the forced automatic update result.', 'webcraftic-updates-manager') . '<br>';
|
45 |
-
|
46 |
$this->printWarningNotice($concat);
|
47 |
}
|
48 |
}
|
49 |
-
|
50 |
public function showPageContent()
|
51 |
{
|
52 |
-
$this->warningNotice();
|
53 |
?>
|
54 |
-
<
|
55 |
-
|
56 |
-
|
|
|
|
|
|
|
|
|
57 |
<?php
|
58 |
}
|
59 |
-
|
60 |
public function forcePluginsUpdateAction()
|
61 |
{
|
62 |
if( !current_user_can('install_plugins') ) {
|
63 |
return;
|
64 |
}
|
65 |
-
|
66 |
wp_schedule_single_event(time() + 10, 'wp_update_plugins');
|
67 |
wp_schedule_single_event(time() + 10, 'wp_version_check');
|
68 |
wp_schedule_single_event(time() + 10, 'wp_update_themes');
|
69 |
wp_schedule_single_event(time() + 45, 'wp_maybe_auto_update');
|
70 |
-
|
71 |
if( get_option('auto_updater.lock', false) ) {
|
72 |
update_option('auto_updater.lock', time() - HOUR_IN_SECONDS * 2);
|
73 |
}
|
74 |
-
|
75 |
$this->redirectToAction('index', array('wbcr_force_update' => 1));
|
76 |
}
|
77 |
}
|
78 |
|
79 |
-
FactoryPages324::register($wbcr_update_services_plugin, 'WbcrUpm_AdvancedPage');
|
1 |
<?php
|
|
|
2 |
/**
|
3 |
* The page Settings.
|
4 |
*
|
5 |
* @since 1.0.0
|
6 |
*/
|
7 |
+
|
8 |
+
// Exit if accessed directly
|
9 |
+
if( !defined('ABSPATH') ) {
|
10 |
+
exit;
|
11 |
+
}
|
12 |
+
|
13 |
+
class WbcrUpm_AdvancedPage extends Wbcr_FactoryPages401_ImpressiveThemplate {
|
14 |
+
|
15 |
/**
|
16 |
* The id of the page in the admin menu.
|
17 |
*
|
18 |
* Mainly used to navigate between pages.
|
19 |
+
* @see FactoryPages401_AdminPage
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
* @var string
|
23 |
*/
|
24 |
+
public $id = "updates_advanced";
|
25 |
+
|
26 |
public $type = "page";
|
27 |
+
|
28 |
public $page_parent_page = 'updates';
|
29 |
+
|
30 |
+
public $page_menu_dashicon = 'dashicons-cloud';
|
31 |
+
|
32 |
+
/**
|
33 |
+
* @param Wbcr_Factory400_Plugin $plugin
|
34 |
+
*/
|
35 |
+
public function __construct(Wbcr_Factory400_Plugin $plugin)
|
36 |
{
|
37 |
+
$this->menu_title = __('Advanced', 'webcraftic-updates-manager');
|
38 |
+
|
|
|
|
|
|
|
|
|
39 |
parent::__construct($plugin);
|
40 |
}
|
41 |
+
|
|
|
42 |
public function warningNotice()
|
43 |
{
|
44 |
parent::warningNotice();
|
45 |
+
|
46 |
if( isset($_GET['wbcr_force_update']) ) {
|
47 |
$concat = __('Please, wait 90 sec. to see the forced automatic update result.', 'webcraftic-updates-manager') . '<br>';
|
48 |
+
|
49 |
$this->printWarningNotice($concat);
|
50 |
}
|
51 |
}
|
52 |
+
|
53 |
public function showPageContent()
|
54 |
{
|
|
|
55 |
?>
|
56 |
+
<div style="padding: 20px;">
|
57 |
+
<h4><?php _e('Force Automatic Updates', 'webcraftic-updates-manager'); ?></h4>
|
58 |
+
|
59 |
+
<p><?php _e('This will attempt to force automatic updates. This is useful for debugging.', 'webcraftic-updates-manager'); ?></p>
|
60 |
+
<a href="<?php $this->actionUrl('force-plugins-update') ?>" class="button button-default"><?php _e('Force update', 'webcraftic-updates-manager'); ?></a>
|
61 |
+
</div>
|
62 |
+
|
63 |
<?php
|
64 |
}
|
65 |
+
|
66 |
public function forcePluginsUpdateAction()
|
67 |
{
|
68 |
if( !current_user_can('install_plugins') ) {
|
69 |
return;
|
70 |
}
|
71 |
+
|
72 |
wp_schedule_single_event(time() + 10, 'wp_update_plugins');
|
73 |
wp_schedule_single_event(time() + 10, 'wp_version_check');
|
74 |
wp_schedule_single_event(time() + 10, 'wp_update_themes');
|
75 |
wp_schedule_single_event(time() + 45, 'wp_maybe_auto_update');
|
76 |
+
|
77 |
if( get_option('auto_updater.lock', false) ) {
|
78 |
update_option('auto_updater.lock', time() - HOUR_IN_SECONDS * 2);
|
79 |
}
|
80 |
+
|
81 |
$this->redirectToAction('index', array('wbcr_force_update' => 1));
|
82 |
}
|
83 |
}
|
84 |
|
|
components/updates-manager/admin/pages/index.php
ADDED
File without changes
|
components/updates-manager/admin/pages/more-features.php
CHANGED
@@ -5,8 +5,12 @@
|
|
5 |
*
|
6 |
* @since 1.0.0
|
7 |
*/
|
8 |
-
class WbcrUpm_MoreFeaturesPage extends FactoryClearfy102_MoreFeaturesPage {
|
9 |
|
|
|
|
|
|
|
10 |
}
|
11 |
|
12 |
-
|
|
|
|
5 |
*
|
6 |
* @since 1.0.0
|
7 |
*/
|
|
|
8 |
|
9 |
+
// Exit if accessed directly
|
10 |
+
if( !defined('ABSPATH') ) {
|
11 |
+
exit;
|
12 |
}
|
13 |
|
14 |
+
class WbcrUpm_MoreFeaturesPage extends Wbcr_FactoryClearfy200_MoreFeaturesPage {
|
15 |
+
|
16 |
+
}
|
components/updates-manager/admin/pages/plugins.php
CHANGED
@@ -5,36 +5,62 @@
|
|
5 |
*
|
6 |
* @since 1.0.0
|
7 |
*/
|
8 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
|
10 |
/**
|
11 |
* The id of the page in the admin menu.
|
12 |
*
|
13 |
* Mainly used to navigate between pages.
|
14 |
-
* @see
|
15 |
*
|
16 |
* @since 1.0.0
|
17 |
* @var string
|
18 |
*/
|
19 |
public $id = "plugins";
|
20 |
|
|
|
|
|
|
|
21 |
public $type = "page";
|
22 |
|
|
|
|
|
|
|
23 |
public $page_parent_page = 'updates';
|
24 |
|
25 |
-
|
|
|
|
|
|
|
26 |
|
|
|
|
|
|
|
27 |
private $is_disable_updates;
|
|
|
|
|
|
|
|
|
28 |
private $is_auto_updates;
|
|
|
|
|
|
|
|
|
29 |
private $plugins_update_filters = array();
|
30 |
|
31 |
-
|
|
|
|
|
|
|
32 |
{
|
33 |
-
$this->
|
34 |
-
|
35 |
-
if( !defined('LOADING_UPDATES_MANAGER_AS_ADDON') ) {
|
36 |
-
$this->page_parent_page = null;
|
37 |
-
}
|
38 |
|
39 |
parent::__construct($plugin);
|
40 |
|
@@ -49,7 +75,7 @@
|
|
49 |
{
|
50 |
parent::warningNotice();
|
51 |
|
52 |
-
$concat =
|
53 |
|
54 |
if( $this->is_disable_updates ) {
|
55 |
$concat .= __('- To disable updates individually choose the “Manual or automatic plugin updates” option then save settings and comeback to this page.', 'webcraftic-updates-manager') . '<br>';
|
@@ -59,27 +85,28 @@
|
|
59 |
$concat .= __('- To configure plugin auto updates individually, choose the “Enable auto updates” option then save settings and comeback to this page.', 'webcraftic-updates-manager');
|
60 |
}
|
61 |
|
62 |
-
|
|
|
|
|
63 |
}
|
64 |
|
65 |
/**
|
66 |
* Requests assets (js and css) for the page.
|
67 |
*
|
68 |
-
* @see
|
69 |
*
|
70 |
* @since 1.0.0
|
71 |
* @return void
|
72 |
*/
|
73 |
public function assets($scripts, $styles)
|
74 |
{
|
75 |
-
|
76 |
parent::assets($scripts, $styles);
|
77 |
-
$this->styles->add(
|
78 |
}
|
79 |
|
80 |
public function savePluginsUpdateFilters()
|
81 |
{
|
82 |
-
|
83 |
}
|
84 |
|
85 |
public function disablePluginUpdatesAction()
|
@@ -201,6 +228,14 @@
|
|
201 |
}
|
202 |
|
203 |
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
204 |
<style>
|
205 |
#the-list tr.inactive .check-column {
|
206 |
border-left: 3px solid #D54E21;
|
@@ -210,9 +245,7 @@
|
|
210 |
background: #FEF7F1;
|
211 |
}
|
212 |
</style>
|
213 |
-
|
214 |
-
<?php $this->warningNotice(); ?>
|
215 |
-
<form method="post">
|
216 |
<?php wp_nonce_field($this->getResultId() . '_form') ?>
|
217 |
<p>
|
218 |
<select name="wbcr_upm_bulk_actions" id="wbcr_upm_bulk_actions">
|
@@ -327,6 +360,4 @@
|
|
327 |
</form>
|
328 |
<?php
|
329 |
}
|
330 |
-
}
|
331 |
-
|
332 |
-
FactoryPages324::register($wbcr_update_services_plugin, 'WbcrUpm_PluginsPage');
|
5 |
*
|
6 |
* @since 1.0.0
|
7 |
*/
|
8 |
+
|
9 |
+
// Exit if accessed directly
|
10 |
+
if( !defined('ABSPATH') ) {
|
11 |
+
exit;
|
12 |
+
}
|
13 |
+
|
14 |
+
|
15 |
+
class WbcrUpm_PluginsPage extends Wbcr_FactoryPages401_ImpressiveThemplate {
|
16 |
|
17 |
/**
|
18 |
* The id of the page in the admin menu.
|
19 |
*
|
20 |
* Mainly used to navigate between pages.
|
21 |
+
* @see FactoryPages401_AdminPage
|
22 |
*
|
23 |
* @since 1.0.0
|
24 |
* @var string
|
25 |
*/
|
26 |
public $id = "plugins";
|
27 |
|
28 |
+
/**
|
29 |
+
* @var string
|
30 |
+
*/
|
31 |
public $type = "page";
|
32 |
|
33 |
+
/**
|
34 |
+
* @var string
|
35 |
+
*/
|
36 |
public $page_parent_page = 'updates';
|
37 |
|
38 |
+
/**
|
39 |
+
* @var string
|
40 |
+
*/
|
41 |
+
public $page_menu_dashicon = 'dashicons-cloud';
|
42 |
|
43 |
+
/**
|
44 |
+
* @var
|
45 |
+
*/
|
46 |
private $is_disable_updates;
|
47 |
+
|
48 |
+
/**
|
49 |
+
* @var
|
50 |
+
*/
|
51 |
private $is_auto_updates;
|
52 |
+
|
53 |
+
/**
|
54 |
+
* @var array
|
55 |
+
*/
|
56 |
private $plugins_update_filters = array();
|
57 |
|
58 |
+
/**
|
59 |
+
* @param Wbcr_Factory400_Plugin $plugin
|
60 |
+
*/
|
61 |
+
public function __construct(Wbcr_Factory400_Plugin $plugin)
|
62 |
{
|
63 |
+
$this->menu_title = __('Plugins', 'webcraftic-updates-manager');
|
|
|
|
|
|
|
|
|
64 |
|
65 |
parent::__construct($plugin);
|
66 |
|
75 |
{
|
76 |
parent::warningNotice();
|
77 |
|
78 |
+
$concat = '';
|
79 |
|
80 |
if( $this->is_disable_updates ) {
|
81 |
$concat .= __('- To disable updates individually choose the “Manual or automatic plugin updates” option then save settings and comeback to this page.', 'webcraftic-updates-manager') . '<br>';
|
85 |
$concat .= __('- To configure plugin auto updates individually, choose the “Enable auto updates” option then save settings and comeback to this page.', 'webcraftic-updates-manager');
|
86 |
}
|
87 |
|
88 |
+
if( !empty($concat) ) {
|
89 |
+
$this->printWarningNotice($concat);
|
90 |
+
}
|
91 |
}
|
92 |
|
93 |
/**
|
94 |
* Requests assets (js and css) for the page.
|
95 |
*
|
96 |
+
* @see FactoryPages401_AdminPage
|
97 |
*
|
98 |
* @since 1.0.0
|
99 |
* @return void
|
100 |
*/
|
101 |
public function assets($scripts, $styles)
|
102 |
{
|
|
|
103 |
parent::assets($scripts, $styles);
|
104 |
+
$this->styles->add(WUP_PLUGIN_URL . '/admin/assets/css/general.css');
|
105 |
}
|
106 |
|
107 |
public function savePluginsUpdateFilters()
|
108 |
{
|
109 |
+
$this->plugin->updateOption('plugins_update_filters', $this->plugins_update_filters);
|
110 |
}
|
111 |
|
112 |
public function disablePluginUpdatesAction()
|
228 |
}
|
229 |
|
230 |
?>
|
231 |
+
|
232 |
+
<div class="wbcr-factory-page-group-header">
|
233 |
+
<strong><?php _e('Plugins list', 'webcraftic-updates-manager') ?></strong>
|
234 |
+
|
235 |
+
<p>
|
236 |
+
<?php _e('This page you can individually disable plugin updates and auto updates.', 'webcraftic-updates-manager') ?>
|
237 |
+
</p>
|
238 |
+
</div>
|
239 |
<style>
|
240 |
#the-list tr.inactive .check-column {
|
241 |
border-left: 3px solid #D54E21;
|
245 |
background: #FEF7F1;
|
246 |
}
|
247 |
</style>
|
248 |
+
<form method="post" style="padding: 20px;">
|
|
|
|
|
249 |
<?php wp_nonce_field($this->getResultId() . '_form') ?>
|
250 |
<p>
|
251 |
<select name="wbcr_upm_bulk_actions" id="wbcr_upm_bulk_actions">
|
360 |
</form>
|
361 |
<?php
|
362 |
}
|
363 |
+
}
|
|
|
|
components/updates-manager/admin/pages/updates.php
CHANGED
@@ -5,29 +5,41 @@
|
|
5 |
*
|
6 |
* @since 1.0.0
|
7 |
*/
|
8 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
|
10 |
/**
|
11 |
* The id of the page in the admin menu.
|
12 |
*
|
13 |
* Mainly used to navigate between pages.
|
14 |
-
* @see
|
15 |
*
|
16 |
* @since 1.0.0
|
17 |
* @var string
|
18 |
*/
|
19 |
public $id = "updates";
|
20 |
|
|
|
|
|
|
|
21 |
public $page_menu_dashicon = 'dashicons-cloud';
|
22 |
|
23 |
-
|
|
|
|
|
|
|
24 |
{
|
25 |
-
$this->
|
26 |
|
27 |
if( !defined('LOADING_UPDATES_MANAGER_AS_ADDON') ) {
|
28 |
$this->internal = false;
|
29 |
-
$this->
|
30 |
-
$this->
|
31 |
}
|
32 |
|
33 |
parent::__construct($plugin);
|
@@ -50,6 +62,11 @@
|
|
50 |
{
|
51 |
$options = array();
|
52 |
|
|
|
|
|
|
|
|
|
|
|
53 |
$options[] = array(
|
54 |
'type' => 'dropdown',
|
55 |
'name' => 'plugin_updates',
|
@@ -158,4 +175,3 @@ If you have multiple users then this means those who are not admins don’t need
|
|
158 |
}
|
159 |
}
|
160 |
|
161 |
-
FactoryPages324::register($wbcr_update_services_plugin, 'WbcrUpm_UpdatesPage');
|
5 |
*
|
6 |
* @since 1.0.0
|
7 |
*/
|
8 |
+
|
9 |
+
// Exit if accessed directly
|
10 |
+
if( !defined('ABSPATH') ) {
|
11 |
+
exit;
|
12 |
+
}
|
13 |
+
|
14 |
+
class WbcrUpm_UpdatesPage extends Wbcr_FactoryPages401_ImpressiveThemplate {
|
15 |
|
16 |
/**
|
17 |
* The id of the page in the admin menu.
|
18 |
*
|
19 |
* Mainly used to navigate between pages.
|
20 |
+
* @see FactoryPages401_AdminPage
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
* @var string
|
24 |
*/
|
25 |
public $id = "updates";
|
26 |
|
27 |
+
/**
|
28 |
+
* @var string
|
29 |
+
*/
|
30 |
public $page_menu_dashicon = 'dashicons-cloud';
|
31 |
|
32 |
+
/**
|
33 |
+
* @param Wbcr_Factory400_Plugin $plugin
|
34 |
+
*/
|
35 |
+
public function __construct(Wbcr_Factory400_Plugin $plugin)
|
36 |
{
|
37 |
+
$this->menu_title = __('Updates manager', 'webcraftic-updates-manager');
|
38 |
|
39 |
if( !defined('LOADING_UPDATES_MANAGER_AS_ADDON') ) {
|
40 |
$this->internal = false;
|
41 |
+
$this->menu_target = 'options-general.php';
|
42 |
+
$this->add_link_to_plugin_actions = true;
|
43 |
}
|
44 |
|
45 |
parent::__construct($plugin);
|
62 |
{
|
63 |
$options = array();
|
64 |
|
65 |
+
$options[] = array(
|
66 |
+
'type' => 'html',
|
67 |
+
'html' => '<div class="wbcr-factory-page-group-header"><strong>' . __('General settings for WordPress, plugins and themes updates', 'webcraftic-updates-manager') . '</strong><p>' . __('This page, you can enable or disable automatic updates. To test the automatic updates, click the "Advanced" tab.', 'webcraftic-updates-manager') . '</p></div>'
|
68 |
+
);
|
69 |
+
|
70 |
$options[] = array(
|
71 |
'type' => 'dropdown',
|
72 |
'name' => 'plugin_updates',
|
175 |
}
|
176 |
}
|
177 |
|
|
components/updates-manager/includes/class.plugin.php
ADDED
@@ -0,0 +1,135 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Hide my wp core class
|
4 |
+
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
5 |
+
* @copyright (c) 19.02.2018, Webcraftic
|
6 |
+
* @version 1.0
|
7 |
+
*/
|
8 |
+
|
9 |
+
// Exit if accessed directly
|
10 |
+
if( !defined('ABSPATH') ) {
|
11 |
+
exit;
|
12 |
+
}
|
13 |
+
|
14 |
+
if( !class_exists('WUP_Plugin') ) {
|
15 |
+
|
16 |
+
if( !class_exists('WUP_PluginFactory') ) {
|
17 |
+
if( defined('LOADING_UPDATES_MANAGER_AS_ADDON') ) {
|
18 |
+
class WUP_PluginFactory {
|
19 |
+
|
20 |
+
}
|
21 |
+
} else {
|
22 |
+
class WUP_PluginFactory extends Wbcr_Factory400_Plugin {
|
23 |
+
|
24 |
+
}
|
25 |
+
}
|
26 |
+
}
|
27 |
+
|
28 |
+
class WUP_Plugin extends WUP_PluginFactory {
|
29 |
+
|
30 |
+
/**
|
31 |
+
* @var Wbcr_Factory400_Plugin
|
32 |
+
*/
|
33 |
+
private static $app;
|
34 |
+
|
35 |
+
/**
|
36 |
+
* @var bool
|
37 |
+
*/
|
38 |
+
private $as_addon;
|
39 |
+
|
40 |
+
/**
|
41 |
+
* @param string $plugin_path
|
42 |
+
* @param array $data
|
43 |
+
* @throws Exception
|
44 |
+
*/
|
45 |
+
public function __construct($plugin_path, $data)
|
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 Wbcr_Factory400_Plugin) ) {
|
55 |
+
throw new Exception('An invalid instance of the class was passed.');
|
56 |
+
}
|
57 |
+
|
58 |
+
self::$app = $plugin_parent;
|
59 |
+
} else {
|
60 |
+
self::$app = $this;
|
61 |
+
}
|
62 |
+
|
63 |
+
if( !$this->as_addon ) {
|
64 |
+
parent::__construct($plugin_path, $data);
|
65 |
+
}
|
66 |
+
|
67 |
+
$this->setTextDomain();
|
68 |
+
$this->setModules();
|
69 |
+
|
70 |
+
$this->globalScripts();
|
71 |
+
|
72 |
+
if( is_admin() ) {
|
73 |
+
$this->adminScripts();
|
74 |
+
}
|
75 |
+
|
76 |
+
add_action('plugins_loaded', array($this, 'pluginsLoaded'));
|
77 |
+
}
|
78 |
+
|
79 |
+
/**
|
80 |
+
* @return Wbcr_Factory400_Plugin
|
81 |
+
*/
|
82 |
+
public static function app()
|
83 |
+
{
|
84 |
+
return self::$app;
|
85 |
+
}
|
86 |
+
|
87 |
+
protected function setTextDomain()
|
88 |
+
{
|
89 |
+
// Localization plugin
|
90 |
+
load_plugin_textdomain('webcraftic-updates-manager', false, dirname(WUP_PLUGIN_BASE) . '/languages/');
|
91 |
+
}
|
92 |
+
|
93 |
+
protected function setModules()
|
94 |
+
{
|
95 |
+
if( !$this->as_addon ) {
|
96 |
+
self::app()->load(array(
|
97 |
+
array('libs/factory/bootstrap', 'factory_bootstrap_400', 'admin'),
|
98 |
+
array('libs/factory/forms', 'factory_forms_400', 'admin'),
|
99 |
+
array('libs/factory/pages', 'factory_pages_401', 'admin'),
|
100 |
+
array('libs/factory/clearfy', 'factory_clearfy_200', 'all')
|
101 |
+
));
|
102 |
+
}
|
103 |
+
}
|
104 |
+
|
105 |
+
private function registerPages()
|
106 |
+
{
|
107 |
+
|
108 |
+
$admin_path = WUP_PLUGIN_DIR . '/admin/pages';
|
109 |
+
|
110 |
+
self::app()->registerPage('WbcrUpm_UpdatesPage', $admin_path . '/updates.php');
|
111 |
+
self::app()->registerPage('WbcrUpm_PluginsPage', $admin_path . '/plugins.php');
|
112 |
+
self::app()->registerPage('WbcrUpm_AdvancedPage', $admin_path . '/advanced.php');
|
113 |
+
|
114 |
+
if( !$this->as_addon ) {
|
115 |
+
self::app()->registerPage('WbcrUpm_MoreFeaturesPage', $admin_path . '/more-features.php');
|
116 |
+
}
|
117 |
+
}
|
118 |
+
|
119 |
+
private function adminScripts()
|
120 |
+
{
|
121 |
+
require_once(WUP_PLUGIN_DIR . '/admin/boot.php');
|
122 |
+
$this->registerPages();
|
123 |
+
}
|
124 |
+
|
125 |
+
private function globalScripts()
|
126 |
+
{
|
127 |
+
}
|
128 |
+
|
129 |
+
public function pluginsLoaded()
|
130 |
+
{
|
131 |
+
require(WUP_PLUGIN_DIR . '/includes/classes/class.configurate-updates.php');
|
132 |
+
new WbcrUpm_ConfigUpdates(self::$app);
|
133 |
+
}
|
134 |
+
}
|
135 |
+
}
|
components/updates-manager/includes/classes/class.configurate-updates.php
CHANGED
@@ -6,8 +6,13 @@
|
|
6 |
* @copyright (c) 2017 Webraftic Ltd
|
7 |
* @version 1.0
|
8 |
*/
|
9 |
-
class WbcrUpm_ConfigUpdates extends WbcrFactoryClearfy_Configurate {
|
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
|
12 |
public function registerActionsAndFilters()
|
13 |
{
|
@@ -35,7 +40,6 @@
|
|
35 |
/**
|
36 |
* Theme updates
|
37 |
*/
|
38 |
-
|
39 |
switch( $this->getOption('theme_updates') ) {
|
40 |
case 'disable_theme_updates':
|
41 |
add_filter('site_transient_update_themes', array($this, 'lastCheckedNow'), 50);
|
@@ -92,6 +96,45 @@
|
|
92 |
if( $this->getOption('updates_nags_only_for_admin') && !current_user_can('update_core') ) {
|
93 |
remove_action('admin_notices', 'update_nag', 3);
|
94 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
95 |
}
|
96 |
|
97 |
/**
|
@@ -103,7 +146,7 @@
|
|
103 |
*/
|
104 |
public function pluginsAutoUpdate($update, $item)
|
105 |
{
|
106 |
-
$filters =
|
107 |
|
108 |
$slug_parts = explode('/', $item->plugin);
|
109 |
$actual_slug = array_shift($slug_parts);
|
@@ -163,7 +206,7 @@
|
|
163 |
|
164 |
if( isset($r['body']['plugins']) ) {
|
165 |
$r_plugins = json_decode($r['body']['plugins'], true);
|
166 |
-
$filters =
|
167 |
|
168 |
if( isset($r_plugins['plugins']) && !empty($r_plugins['plugins']) ) {
|
169 |
foreach($r_plugins['plugins'] as $slug => $plugin) {
|
@@ -207,34 +250,66 @@
|
|
207 |
add_filter('send_core_update_notification_email', '__return_false');
|
208 |
add_filter('automatic_updates_send_debug_email', '__return_false');
|
209 |
add_filter('automatic_updates_is_vcs_checkout', '__return_true');
|
|
|
|
|
210 |
}
|
211 |
|
212 |
/**
|
213 |
* Initialize and load the plugin stuff
|
214 |
-
*
|
215 |
-
* @since 1.3
|
216 |
-
* @author scripts@schloebe.de
|
217 |
*/
|
218 |
function adminInitForPlugins()
|
219 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
220 |
remove_action('load-update-core.php', 'wp_update_plugins');
|
221 |
wp_clear_scheduled_hook('wp_update_plugins');
|
222 |
}
|
223 |
|
224 |
function adminInitForThemes()
|
225 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
226 |
remove_action('load-update-core.php', 'wp_update_themes');
|
227 |
wp_clear_scheduled_hook('wp_update_themes');
|
228 |
}
|
229 |
|
230 |
/**
|
231 |
* Initialize and load the plugin stuff
|
232 |
-
*
|
233 |
-
* @since 1.3
|
234 |
-
* @author scripts@schloebe.de
|
235 |
*/
|
236 |
function adminInitForCore()
|
237 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
238 |
remove_action('wp_maybe_auto_update', 'wp_maybe_auto_update');
|
239 |
remove_action('admin_init', 'wp_maybe_auto_update');
|
240 |
remove_action('admin_init', 'wp_auto_update_core');
|
6 |
* @copyright (c) 2017 Webraftic Ltd
|
7 |
* @version 1.0
|
8 |
*/
|
|
|
9 |
|
10 |
+
// Exit if accessed directly
|
11 |
+
if( !defined('ABSPATH') ) {
|
12 |
+
exit;
|
13 |
+
}
|
14 |
+
|
15 |
+
class WbcrUpm_ConfigUpdates extends Wbcr_FactoryClearfy200_Configurate {
|
16 |
|
17 |
public function registerActionsAndFilters()
|
18 |
{
|
40 |
/**
|
41 |
* Theme updates
|
42 |
*/
|
|
|
43 |
switch( $this->getOption('theme_updates') ) {
|
44 |
case 'disable_theme_updates':
|
45 |
add_filter('site_transient_update_themes', array($this, 'lastCheckedNow'), 50);
|
96 |
if( $this->getOption('updates_nags_only_for_admin') && !current_user_can('update_core') ) {
|
97 |
remove_action('admin_notices', 'update_nag', 3);
|
98 |
}
|
99 |
+
|
100 |
+
add_action('schedule_event', array($this, 'filterCronEvents'));
|
101 |
+
}
|
102 |
+
|
103 |
+
/**
|
104 |
+
* Filter cron events
|
105 |
+
* @param $event
|
106 |
+
* @return bool
|
107 |
+
*/
|
108 |
+
public function filterCronEvents($event)
|
109 |
+
{
|
110 |
+
$core_updates = $this->getOption('wp_update_core') == 'disable_core_updates';
|
111 |
+
$plugins_updates = $this->getOption('plugin_updates') == 'disable_plugin_updates';
|
112 |
+
$themes_updates = $this->getOption('theme_updates') == 'disable_theme_updates';
|
113 |
+
|
114 |
+
switch( $event->hook ) {
|
115 |
+
case 'wp_version_check':
|
116 |
+
$event = $core_updates
|
117 |
+
? false
|
118 |
+
: $event;
|
119 |
+
break;
|
120 |
+
case 'wp_update_plugins':
|
121 |
+
$event = $plugins_updates
|
122 |
+
? false
|
123 |
+
: $event;
|
124 |
+
break;
|
125 |
+
case 'wp_update_themes':
|
126 |
+
$event = $themes_updates
|
127 |
+
? false
|
128 |
+
: $event;
|
129 |
+
break;
|
130 |
+
case 'wp_maybe_auto_update':
|
131 |
+
$event = $core_updates
|
132 |
+
? false
|
133 |
+
: $event;
|
134 |
+
break;
|
135 |
+
}
|
136 |
+
|
137 |
+
return $event;
|
138 |
}
|
139 |
|
140 |
/**
|
146 |
*/
|
147 |
public function pluginsAutoUpdate($update, $item)
|
148 |
{
|
149 |
+
$filters = $this->getOption('plugins_update_filters');
|
150 |
|
151 |
$slug_parts = explode('/', $item->plugin);
|
152 |
$actual_slug = array_shift($slug_parts);
|
206 |
|
207 |
if( isset($r['body']['plugins']) ) {
|
208 |
$r_plugins = json_decode($r['body']['plugins'], true);
|
209 |
+
$filters = $this->getOption('plugins_update_filters');
|
210 |
|
211 |
if( isset($r_plugins['plugins']) && !empty($r_plugins['plugins']) ) {
|
212 |
foreach($r_plugins['plugins'] as $slug => $plugin) {
|
250 |
add_filter('send_core_update_notification_email', '__return_false');
|
251 |
add_filter('automatic_updates_send_debug_email', '__return_false');
|
252 |
add_filter('automatic_updates_is_vcs_checkout', '__return_true');
|
253 |
+
remove_action('admin_notices', 'update_nag', 3);
|
254 |
+
remove_action('admin_notices', 'maintenance_nag');
|
255 |
}
|
256 |
|
257 |
/**
|
258 |
* Initialize and load the plugin stuff
|
259 |
+
* @author scripts@schloebe.de
|
|
|
|
|
260 |
*/
|
261 |
function adminInitForPlugins()
|
262 |
{
|
263 |
+
/*
|
264 |
+
* 2.8 to 3.0
|
265 |
+
*/
|
266 |
+
remove_action('load-plugins.php', 'wp_update_plugins');
|
267 |
+
remove_action('load-update.php', 'wp_update_plugins');
|
268 |
+
remove_action('admin_init', '_maybe_update_plugins');
|
269 |
+
remove_action('wp_update_plugins', 'wp_update_plugins');
|
270 |
+
wp_clear_scheduled_hook('wp_update_plugins');
|
271 |
+
|
272 |
+
/*
|
273 |
+
* 3.0
|
274 |
+
*/
|
275 |
remove_action('load-update-core.php', 'wp_update_plugins');
|
276 |
wp_clear_scheduled_hook('wp_update_plugins');
|
277 |
}
|
278 |
|
279 |
function adminInitForThemes()
|
280 |
{
|
281 |
+
/*
|
282 |
+
* 2.8 to 3.0
|
283 |
+
*/
|
284 |
+
remove_action('load-themes.php', 'wp_update_themes');
|
285 |
+
remove_action('load-update.php', 'wp_update_themes');
|
286 |
+
remove_action('admin_init', '_maybe_update_themes');
|
287 |
+
remove_action('wp_update_themes', 'wp_update_themes');
|
288 |
+
wp_clear_scheduled_hook('wp_update_themes');
|
289 |
+
|
290 |
+
/*
|
291 |
+
* 3.0
|
292 |
+
*/
|
293 |
remove_action('load-update-core.php', 'wp_update_themes');
|
294 |
wp_clear_scheduled_hook('wp_update_themes');
|
295 |
}
|
296 |
|
297 |
/**
|
298 |
* Initialize and load the plugin stuff
|
299 |
+
* @author scripts@schloebe.de
|
|
|
|
|
300 |
*/
|
301 |
function adminInitForCore()
|
302 |
{
|
303 |
+
/*
|
304 |
+
* 2.8 to 3.0
|
305 |
+
*/
|
306 |
+
remove_action('wp_version_check', 'wp_version_check');
|
307 |
+
remove_action('admin_init', '_maybe_update_core');
|
308 |
+
wp_clear_scheduled_hook('wp_version_check');
|
309 |
+
|
310 |
+
/*
|
311 |
+
* 3.7+
|
312 |
+
*/
|
313 |
remove_action('wp_maybe_auto_update', 'wp_maybe_auto_update');
|
314 |
remove_action('admin_init', 'wp_maybe_auto_update');
|
315 |
remove_action('admin_init', 'wp_auto_update_core');
|
components/updates-manager/includes/classes/index.php
ADDED
File without changes
|
components/updates-manager/includes/index.php
ADDED
File without changes
|
components/updates-manager/index.php
ADDED
File without changes
|
components/updates-manager/languages/index.php
ADDED
File without changes
|
components/updates-manager/languages/webcraftic-updates-manager-fr_FR.mo
DELETED
Binary file
|
components/updates-manager/languages/webcraftic-updates-manager-fr_FR.po
DELETED
@@ -1,247 +0,0 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: clearfy\n"
|
4 |
-
"POT-Creation-Date: 2018-01-22 00:12+0300\n"
|
5 |
-
"PO-Revision-Date: 2018-01-22 00:12+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: fr_FR\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.8.8\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:32
|
22 |
-
msgid "Disable plugin updates"
|
23 |
-
msgstr "Désactiver les mises à jour du plugin"
|
24 |
-
|
25 |
-
#: admin/boot.php:38
|
26 |
-
msgid "Disable theme updates"
|
27 |
-
msgstr "Désactiver les mises à jour de thème"
|
28 |
-
|
29 |
-
#: admin/boot.php:44 admin/pages/updates.php:87
|
30 |
-
msgid "Disable Automatic Translation Updates"
|
31 |
-
msgstr "Désactiver les mises à jour automatiques de traduction"
|
32 |
-
|
33 |
-
#: admin/boot.php:49
|
34 |
-
msgid "Disable wordPress core updates"
|
35 |
-
msgstr "Désactiver les mises à jour de base de WordPress"
|
36 |
-
|
37 |
-
#: admin/boot.php:55 admin/pages/updates.php:121
|
38 |
-
msgid "Enable updates for VCS Installations"
|
39 |
-
msgstr "Activer les mises à jour pour les installations VCS"
|
40 |
-
|
41 |
-
#: admin/boot.php:60
|
42 |
-
msgid "Plugin filters"
|
43 |
-
msgstr ""
|
44 |
-
|
45 |
-
#: admin/boot.php:72
|
46 |
-
msgid "One click disable all updates"
|
47 |
-
msgstr ""
|
48 |
-
|
49 |
-
#: admin/boot.php:84
|
50 |
-
msgid "Get ultimate plugin free"
|
51 |
-
msgstr "Obtenez le plugin ultime gratuitement"
|
52 |
-
|
53 |
-
#: admin/pages/advanced.php:29
|
54 |
-
msgid "Advanced"
|
55 |
-
msgstr ""
|
56 |
-
|
57 |
-
#: admin/pages/advanced.php:40
|
58 |
-
msgid "Please, wait 90 sec. to see the forced automatic update result."
|
59 |
-
msgstr ""
|
60 |
-
|
61 |
-
#: admin/pages/advanced.php:50
|
62 |
-
msgid "Force Automatic Updates"
|
63 |
-
msgstr ""
|
64 |
-
|
65 |
-
#: admin/pages/advanced.php:51
|
66 |
-
msgid ""
|
67 |
-
"This will attempt to force automatic updates. This is useful for debugging."
|
68 |
-
msgstr ""
|
69 |
-
|
70 |
-
#: admin/pages/advanced.php:52
|
71 |
-
msgid "Force update"
|
72 |
-
msgstr ""
|
73 |
-
|
74 |
-
#: admin/pages/plugins.php:33
|
75 |
-
msgid "Plugins"
|
76 |
-
msgstr ""
|
77 |
-
|
78 |
-
#: admin/pages/plugins.php:48
|
79 |
-
msgid "This page you can individually disable plugin updates and auto updates."
|
80 |
-
msgstr ""
|
81 |
-
|
82 |
-
#: admin/pages/plugins.php:51
|
83 |
-
msgid ""
|
84 |
-
"- To disable updates individually choose the “Manual or automatic plugin "
|
85 |
-
"updates” option then save settings and comeback to this page."
|
86 |
-
msgstr ""
|
87 |
-
|
88 |
-
#: admin/pages/plugins.php:55
|
89 |
-
msgid ""
|
90 |
-
"- To configure plugin auto updates individually, choose the “Enable auto "
|
91 |
-
"updates” option then save settings and comeback to this page."
|
92 |
-
msgstr ""
|
93 |
-
|
94 |
-
#: admin/pages/plugins.php:211
|
95 |
-
msgid "Bulk actions"
|
96 |
-
msgstr ""
|
97 |
-
|
98 |
-
#: admin/pages/plugins.php:212 admin/pages/plugins.php:287
|
99 |
-
#: admin/pages/plugins.php:292 admin/pages/updates.php:61
|
100 |
-
#: admin/pages/updates.php:76 admin/pages/updates.php:97
|
101 |
-
msgid "Disable updates"
|
102 |
-
msgstr "Désactiver les mises à jour"
|
103 |
-
|
104 |
-
#: admin/pages/plugins.php:213 admin/pages/plugins.php:289
|
105 |
-
msgid "Enable updates"
|
106 |
-
msgstr ""
|
107 |
-
|
108 |
-
#: admin/pages/plugins.php:214 admin/pages/plugins.php:299
|
109 |
-
#: admin/pages/plugins.php:305
|
110 |
-
msgid "Enable auto-updates"
|
111 |
-
msgstr ""
|
112 |
-
|
113 |
-
#: admin/pages/plugins.php:215 admin/pages/plugins.php:297
|
114 |
-
#: admin/pages/plugins.php:303
|
115 |
-
msgid "Disable auto-updates"
|
116 |
-
msgstr ""
|
117 |
-
|
118 |
-
#: admin/pages/plugins.php:217
|
119 |
-
msgid "Apply"
|
120 |
-
msgstr ""
|
121 |
-
|
122 |
-
#: admin/pages/plugins.php:224
|
123 |
-
msgid "Plugin"
|
124 |
-
msgstr ""
|
125 |
-
|
126 |
-
#: admin/pages/plugins.php:226
|
127 |
-
msgid "Description"
|
128 |
-
msgstr ""
|
129 |
-
|
130 |
-
#: admin/pages/plugins.php:273
|
131 |
-
msgid "Select"
|
132 |
-
msgstr ""
|
133 |
-
|
134 |
-
#: admin/pages/updates.php:25
|
135 |
-
msgid "Updates manager"
|
136 |
-
msgstr "Gestionnaire des mises à jour"
|
137 |
-
|
138 |
-
#: admin/pages/updates.php:39
|
139 |
-
msgid "Updates"
|
140 |
-
msgstr "Mises à jour"
|
141 |
-
|
142 |
-
#: admin/pages/updates.php:40
|
143 |
-
msgid "General"
|
144 |
-
msgstr "Général"
|
145 |
-
|
146 |
-
#: admin/pages/updates.php:57
|
147 |
-
msgid "Plugin Updates"
|
148 |
-
msgstr "Mises à jour plugin"
|
149 |
-
|
150 |
-
#: admin/pages/updates.php:59 admin/pages/updates.php:74
|
151 |
-
msgid "Manual updates"
|
152 |
-
msgstr "Mise à jour manuelle"
|
153 |
-
|
154 |
-
#: admin/pages/updates.php:60 admin/pages/updates.php:75
|
155 |
-
msgid "Enable auto updates"
|
156 |
-
msgstr "Activer les mises à jour automatiques"
|
157 |
-
|
158 |
-
#: admin/pages/updates.php:64
|
159 |
-
msgid ""
|
160 |
-
"You can disable all plugin updates or choose manual or automatic update mode."
|
161 |
-
msgstr ""
|
162 |
-
"Vous pouvez désactiver toutes les mises à jour du plugin ou choisir le mode "
|
163 |
-
"de mise à jour manuelle ou automatique."
|
164 |
-
|
165 |
-
#: admin/pages/updates.php:72
|
166 |
-
msgid "Theme Updates"
|
167 |
-
msgstr "Mises à jour thème"
|
168 |
-
|
169 |
-
#: admin/pages/updates.php:79
|
170 |
-
msgid ""
|
171 |
-
"You can disable all themes updates or choose manual or automatic update mode."
|
172 |
-
msgstr ""
|
173 |
-
"Vous pouvez désactiver toutes les mises à jour de thèmes ou choisir le mode "
|
174 |
-
"de mise à jour manuel ou automatique."
|
175 |
-
|
176 |
-
#: admin/pages/updates.php:95
|
177 |
-
msgid "WordPress Core Updates"
|
178 |
-
msgstr "Mises à jour de base de WordPress"
|
179 |
-
|
180 |
-
#: admin/pages/updates.php:98
|
181 |
-
msgid "Disable auto updates"
|
182 |
-
msgstr "Désactiver les mises à jour automatiques"
|
183 |
-
|
184 |
-
#: admin/pages/updates.php:101
|
185 |
-
msgid "Allow minor auto updates"
|
186 |
-
msgstr "Autoriser les mises à jour mineures"
|
187 |
-
|
188 |
-
#: admin/pages/updates.php:105
|
189 |
-
msgid "Allow major auto updates"
|
190 |
-
msgstr "Autoriser les mises à jour automatiques majeures"
|
191 |
-
|
192 |
-
#: admin/pages/updates.php:109
|
193 |
-
msgid "Allow development auto updates"
|
194 |
-
msgstr "Autoriser les mises à jour automatiques de développement"
|
195 |
-
|
196 |
-
#: admin/pages/updates.php:113
|
197 |
-
msgid ""
|
198 |
-
"You can disable all core WordPress updates, or disable only automatic "
|
199 |
-
"updates. Also you can select the update mode. By default (minor)"
|
200 |
-
msgstr ""
|
201 |
-
"Vous pouvez désactiver toutes les mises à jour de base de WordPress, ou "
|
202 |
-
"désactiver uniquement les mises à jour automatiques. Vous pouvez également "
|
203 |
-
"sélectionner le mode mise à jour. Par défaut (mineur)"
|
204 |
-
|
205 |
-
#: admin/pages/updates.php:113
|
206 |
-
msgid "Major - automatically update to major releases (e.g., 4.1, 4.2, 4.3)."
|
207 |
-
msgstr ""
|
208 |
-
"Majeure: mise à jour automatique des versions majeures (par exemple, 4.1, "
|
209 |
-
"4.2, 4.3)."
|
210 |
-
|
211 |
-
#: admin/pages/updates.php:113
|
212 |
-
msgid ""
|
213 |
-
"Minor - automatically update to minor releases (e.g., 4.1.1, 4.1.2, 4.1.3).."
|
214 |
-
msgstr ""
|
215 |
-
"Mineure - mise à jour automatique des versions mineures (par exemple, 4.1.1, "
|
216 |
-
"4.1.2, 4.1.3)."
|
217 |
-
|
218 |
-
#: admin/pages/updates.php:113
|
219 |
-
msgid "Development - update automatically to Bleeding Edge releases."
|
220 |
-
msgstr ""
|
221 |
-
"Développement - mise à jour automatique vers les versions Bleeding Edge."
|
222 |
-
|
223 |
-
#: admin/pages/updates.php:123
|
224 |
-
msgid ""
|
225 |
-
"Enable Automatic Updates even if a VCS folder (.git, .hg, .svn) was found in "
|
226 |
-
"the WordPress directory"
|
227 |
-
msgstr ""
|
228 |
-
"Activer les mises à jour automatiques même si un dossier VCF (.git, .hg, ."
|
229 |
-
"svn) a été trouvé dans le répertoire WordPress"
|
230 |
-
|
231 |
-
#: webcraftic-updates-manager.php:17
|
232 |
-
msgid ""
|
233 |
-
"We found that you have the \"Clearfy - disable unused features\" plugin "
|
234 |
-
"installed, this plugin already has update manager functions, so you can "
|
235 |
-
"deactivate plugin \"Update manager\"!"
|
236 |
-
msgstr ""
|
237 |
-
"Nous avons constaté que vous avez installé le plugin \"Clarifier - "
|
238 |
-
"désactiver les fonctionnalités inutilisées\", ce plugin a déjà des fonctions "
|
239 |
-
"de gestionnaire de mise à jour, vous pouvez donc désactiver le plugin "
|
240 |
-
"\"Gestionnaire de mise à jour\"!"
|
241 |
-
|
242 |
-
#: webcraftic-updates-manager.php:82
|
243 |
-
msgid "Webcraftic Updates Manager"
|
244 |
-
msgstr "Gestionnaire de mises à jour Webcraft"
|
245 |
-
|
246 |
-
#~ msgid "Disable all updates"
|
247 |
-
#~ msgstr "Désactiver toutes les mises à jour"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
components/updates-manager/languages/webcraftic-updates-manager-it-IT.mo
DELETED
Binary file
|
components/updates-manager/languages/webcraftic-updates-manager-it-IT.po
DELETED
@@ -1,184 +0,0 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: clearfy\n"
|
4 |
-
"POT-Creation-Date: 2018-01-14 20:56+0300\n"
|
5 |
-
"PO-Revision-Date: 2018-01-14 20:57+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: it\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.8.8\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:21
|
22 |
-
msgid "Disable plugin updates"
|
23 |
-
msgstr ""
|
24 |
-
|
25 |
-
#: admin/boot.php:27
|
26 |
-
msgid "Disable theme updates"
|
27 |
-
msgstr ""
|
28 |
-
|
29 |
-
#: admin/boot.php:33 admin/pages/themes.php:76 admin/pages/updates.php:87
|
30 |
-
msgid "Disable Automatic Translation Updates"
|
31 |
-
msgstr ""
|
32 |
-
|
33 |
-
#: admin/boot.php:38
|
34 |
-
msgid "Disable wordPress core updates"
|
35 |
-
msgstr ""
|
36 |
-
|
37 |
-
#: admin/boot.php:44 admin/pages/themes.php:110 admin/pages/updates.php:121
|
38 |
-
msgid "Enable updates for VCS Installations"
|
39 |
-
msgstr ""
|
40 |
-
|
41 |
-
#: admin/boot.php:56
|
42 |
-
msgid "Disable all updates"
|
43 |
-
msgstr ""
|
44 |
-
|
45 |
-
#: admin/boot.php:68
|
46 |
-
msgid "Get ultimate plugin free"
|
47 |
-
msgstr ""
|
48 |
-
|
49 |
-
#: admin/pages/plugins.php:29
|
50 |
-
msgid "Plugins"
|
51 |
-
msgstr ""
|
52 |
-
|
53 |
-
#: admin/pages/plugins.php:61
|
54 |
-
msgid "Apply"
|
55 |
-
msgstr ""
|
56 |
-
|
57 |
-
#: admin/pages/plugins.php:68
|
58 |
-
msgid "Plugin"
|
59 |
-
msgstr ""
|
60 |
-
|
61 |
-
#: admin/pages/plugins.php:70
|
62 |
-
msgid "Description"
|
63 |
-
msgstr ""
|
64 |
-
|
65 |
-
#: admin/pages/plugins.php:107
|
66 |
-
msgid "Select"
|
67 |
-
msgstr ""
|
68 |
-
|
69 |
-
#: admin/pages/plugins.php:119 admin/pages/themes.php:50
|
70 |
-
#: admin/pages/themes.php:65 admin/pages/themes.php:86
|
71 |
-
#: admin/pages/updates.php:61 admin/pages/updates.php:76
|
72 |
-
#: admin/pages/updates.php:97
|
73 |
-
msgid "Disable updates"
|
74 |
-
msgstr ""
|
75 |
-
|
76 |
-
#: admin/pages/plugins.php:121
|
77 |
-
msgid "Enable auto-updates"
|
78 |
-
msgstr ""
|
79 |
-
|
80 |
-
#: admin/pages/plugins.php:123
|
81 |
-
msgid "Enable manual updates"
|
82 |
-
msgstr ""
|
83 |
-
|
84 |
-
#: admin/pages/themes.php:27
|
85 |
-
msgid "Themes"
|
86 |
-
msgstr ""
|
87 |
-
|
88 |
-
#: admin/pages/themes.php:46 admin/pages/updates.php:57
|
89 |
-
msgid "Plugin Updates"
|
90 |
-
msgstr ""
|
91 |
-
|
92 |
-
#: admin/pages/themes.php:48 admin/pages/themes.php:63
|
93 |
-
#: admin/pages/updates.php:59 admin/pages/updates.php:74
|
94 |
-
msgid "Manual updates"
|
95 |
-
msgstr ""
|
96 |
-
|
97 |
-
#: admin/pages/themes.php:49 admin/pages/themes.php:64
|
98 |
-
#: admin/pages/updates.php:60 admin/pages/updates.php:75
|
99 |
-
msgid "Enable auto updates"
|
100 |
-
msgstr ""
|
101 |
-
|
102 |
-
#: admin/pages/themes.php:53 admin/pages/updates.php:64
|
103 |
-
msgid ""
|
104 |
-
"You can disable all plugin updates or choose manual or automatic update mode."
|
105 |
-
msgstr ""
|
106 |
-
"Puoi disattivare tutti gli aggiornamenti dei plugins o scegliere le modalità "
|
107 |
-
"di aggiornamento automatico e manuale."
|
108 |
-
|
109 |
-
#: admin/pages/themes.php:61 admin/pages/updates.php:72
|
110 |
-
msgid "Theme Updates"
|
111 |
-
msgstr ""
|
112 |
-
|
113 |
-
#: admin/pages/themes.php:68 admin/pages/updates.php:79
|
114 |
-
msgid ""
|
115 |
-
"You can disable all themes updates or choose manual or automatic update mode."
|
116 |
-
msgstr ""
|
117 |
-
|
118 |
-
#: admin/pages/themes.php:84 admin/pages/updates.php:95
|
119 |
-
msgid "WordPress Core Updates"
|
120 |
-
msgstr ""
|
121 |
-
|
122 |
-
#: admin/pages/themes.php:87 admin/pages/updates.php:98
|
123 |
-
msgid "Disable auto updates"
|
124 |
-
msgstr ""
|
125 |
-
|
126 |
-
#: admin/pages/themes.php:90 admin/pages/updates.php:101
|
127 |
-
msgid "Allow minor auto updates"
|
128 |
-
msgstr ""
|
129 |
-
|
130 |
-
#: admin/pages/themes.php:94 admin/pages/updates.php:105
|
131 |
-
msgid "Allow major auto updates"
|
132 |
-
msgstr ""
|
133 |
-
|
134 |
-
#: admin/pages/themes.php:98 admin/pages/updates.php:109
|
135 |
-
msgid "Allow development auto updates"
|
136 |
-
msgstr ""
|
137 |
-
|
138 |
-
#: admin/pages/themes.php:102 admin/pages/updates.php:113
|
139 |
-
msgid ""
|
140 |
-
"You can disable all core WordPress updates, or disable only automatic "
|
141 |
-
"updates. Also you can select the update mode. By default (minor)"
|
142 |
-
msgstr ""
|
143 |
-
|
144 |
-
#: admin/pages/themes.php:102 admin/pages/updates.php:113
|
145 |
-
msgid "Major - automatically update to major releases (e.g., 4.1, 4.2, 4.3)."
|
146 |
-
msgstr ""
|
147 |
-
|
148 |
-
#: admin/pages/themes.php:102 admin/pages/updates.php:113
|
149 |
-
msgid ""
|
150 |
-
"Minor - automatically update to minor releases (e.g., 4.1.1, 4.1.2, 4.1.3).."
|
151 |
-
msgstr ""
|
152 |
-
|
153 |
-
#: admin/pages/themes.php:102 admin/pages/updates.php:113
|
154 |
-
msgid "Development - update automatically to Bleeding Edge releases."
|
155 |
-
msgstr ""
|
156 |
-
|
157 |
-
#: admin/pages/themes.php:112 admin/pages/updates.php:123
|
158 |
-
msgid ""
|
159 |
-
"Enable Automatic Updates even if a VCS folder (.git, .hg, .svn) was found in "
|
160 |
-
"the WordPress directory"
|
161 |
-
msgstr ""
|
162 |
-
|
163 |
-
#: admin/pages/updates.php:25
|
164 |
-
msgid "Updates manager"
|
165 |
-
msgstr ""
|
166 |
-
|
167 |
-
#: admin/pages/updates.php:39
|
168 |
-
msgid "Updates"
|
169 |
-
msgstr ""
|
170 |
-
|
171 |
-
#: admin/pages/updates.php:40
|
172 |
-
msgid "General"
|
173 |
-
msgstr ""
|
174 |
-
|
175 |
-
#: webcraftic-updates-manager.php:17
|
176 |
-
msgid ""
|
177 |
-
"We found that you have the \"Clearfy - disable unused features\" plugin "
|
178 |
-
"installed, this plugin already has update manager functions, so you can "
|
179 |
-
"deactivate plugin \"Update manager\"!"
|
180 |
-
msgstr ""
|
181 |
-
|
182 |
-
#: webcraftic-updates-manager.php:82
|
183 |
-
msgid "Webcraftic Updates Manager"
|
184 |
-
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
components/updates-manager/languages/webcraftic-updates-manager-ru_RU.mo
CHANGED
Binary file
|
components/updates-manager/languages/webcraftic-updates-manager-ru_RU.po
CHANGED
@@ -1,8 +1,8 @@
|
|
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"
|
@@ -18,53 +18,78 @@ msgstr ""
|
|
18 |
"X-Poedit-SearchPath-0: .\n"
|
19 |
"X-Poedit-SearchPathExcluded-0: libs\n"
|
20 |
|
21 |
-
#: admin/boot.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
msgid "Disable plugin updates"
|
23 |
msgstr "Отключить обновления плагинов"
|
24 |
|
25 |
-
#: admin/boot.php:
|
26 |
msgid "Disable theme updates"
|
27 |
msgstr "Отключить обновления тем"
|
28 |
|
29 |
-
#: admin/boot.php:
|
30 |
msgid "Disable Automatic Translation Updates"
|
31 |
msgstr "Отключить автоматические обновления переводов"
|
32 |
|
33 |
-
#: admin/boot.php:
|
34 |
msgid "Disable wordPress core updates"
|
35 |
msgstr "Отключить обновления ядра Wordpress"
|
36 |
|
37 |
-
#: admin/boot.php:
|
38 |
msgid "Enable updates for VCS Installations"
|
39 |
msgstr "Включить обновления для установок VCS"
|
40 |
|
41 |
-
#: admin/boot.php:
|
42 |
msgid "Plugin filters"
|
43 |
msgstr "Фильтры плагинов"
|
44 |
|
45 |
-
#: admin/boot.php:
|
|
|
|
|
|
|
|
|
46 |
msgid "One click disable all updates"
|
47 |
msgstr "Отключить все обновления в один клик"
|
48 |
|
49 |
-
#: admin/boot.php:
|
50 |
msgid "Get ultimate plugin free"
|
51 |
msgstr "Получите полную версию плагина бесплатно"
|
52 |
|
53 |
-
#: admin/pages/advanced.php:
|
54 |
msgid "Advanced"
|
55 |
msgstr "Дополнительно"
|
56 |
|
57 |
-
#: admin/pages/advanced.php:
|
58 |
msgid "Please, wait 90 sec. to see the forced automatic update result."
|
59 |
msgstr ""
|
60 |
"Пожалуйста, подождите 90 сек., чтобы увидеть результат принудительного "
|
61 |
"автоматического обновления."
|
62 |
|
63 |
-
#: admin/pages/advanced.php:
|
64 |
msgid "Force Automatic Updates"
|
65 |
msgstr "Принудительное автоматическое обновление"
|
66 |
|
67 |
-
#: admin/pages/advanced.php:
|
68 |
msgid ""
|
69 |
"This will attempt to force automatic updates. This is useful for debugging."
|
70 |
msgstr ""
|
@@ -72,21 +97,15 @@ msgstr ""
|
|
72 |
"Настройте автоматические обновления и нажмите на эту кнопку, чтобы проверить "
|
73 |
"работают они или нет."
|
74 |
|
75 |
-
#: admin/pages/advanced.php:
|
76 |
msgid "Force update"
|
77 |
msgstr "Запустить обновление"
|
78 |
|
79 |
-
#: admin/pages/plugins.php:
|
80 |
msgid "Plugins"
|
81 |
msgstr "Плагины"
|
82 |
|
83 |
-
#: admin/pages/plugins.php:
|
84 |
-
msgid "This page you can individually disable plugin updates and auto updates."
|
85 |
-
msgstr ""
|
86 |
-
"На этой странице вы можете индивидуально отключить обновления и "
|
87 |
-
"автообновления плагинов."
|
88 |
-
|
89 |
-
#: admin/pages/plugins.php:51
|
90 |
msgid ""
|
91 |
"- To disable updates individually choose the “Manual or automatic plugin "
|
92 |
"updates” option then save settings and comeback to this page."
|
@@ -95,7 +114,7 @@ msgstr ""
|
|
95 |
"автоматические обновления плагинов”, сохраните настройки и вернитесь на эту "
|
96 |
"страницу."
|
97 |
|
98 |
-
#: admin/pages/plugins.php:
|
99 |
msgid ""
|
100 |
"- To configure plugin auto updates individually, choose the “Enable auto "
|
101 |
"updates” option then save settings and comeback to this page."
|
@@ -104,109 +123,132 @@ msgstr ""
|
|
104 |
"опцию “Автоматические обновления”, сохраните настройки и вернитесь на эту "
|
105 |
"страницу."
|
106 |
|
107 |
-
#: admin/pages/plugins.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
108 |
msgid "Bulk actions"
|
109 |
msgstr "Массовые действия"
|
110 |
|
111 |
-
#: admin/pages/plugins.php:
|
112 |
-
#: admin/pages/plugins.php:
|
113 |
-
#: admin/pages/updates.php:
|
114 |
msgid "Disable updates"
|
115 |
msgstr "Отключить все обновления"
|
116 |
|
117 |
-
#: admin/pages/plugins.php:
|
118 |
msgid "Enable updates"
|
119 |
msgstr "Включить обновления"
|
120 |
|
121 |
-
#: admin/pages/plugins.php:
|
122 |
-
#: admin/pages/plugins.php:
|
123 |
msgid "Enable auto-updates"
|
124 |
msgstr "Включить авто-обновления"
|
125 |
|
126 |
-
#: admin/pages/plugins.php:
|
127 |
-
#: admin/pages/plugins.php:
|
128 |
msgid "Disable auto-updates"
|
129 |
msgstr "Отключить авто-обновления"
|
130 |
|
131 |
-
#: admin/pages/plugins.php:
|
132 |
msgid "Apply"
|
133 |
msgstr "Применить"
|
134 |
|
135 |
-
#: admin/pages/plugins.php:
|
136 |
msgid "Plugin"
|
137 |
msgstr "Плагин"
|
138 |
|
139 |
-
#: admin/pages/plugins.php:
|
140 |
msgid "Description"
|
141 |
msgstr "Описание"
|
142 |
|
143 |
-
#: admin/pages/plugins.php:
|
144 |
msgid "Select"
|
145 |
msgstr "Выбор"
|
146 |
|
147 |
-
#: admin/pages/updates.php:
|
148 |
msgid "Updates manager"
|
149 |
msgstr "Менеджер обновлений"
|
150 |
|
151 |
-
#: admin/pages/updates.php:
|
152 |
msgid "Updates"
|
153 |
msgstr "Обновления"
|
154 |
|
155 |
-
#: admin/pages/updates.php:
|
156 |
msgid "General"
|
157 |
msgstr "Основные"
|
158 |
|
159 |
-
#: admin/pages/updates.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
160 |
msgid "Plugin Updates"
|
161 |
msgstr "Обновления плагина"
|
162 |
|
163 |
-
#: admin/pages/updates.php:
|
164 |
msgid "Manual updates"
|
165 |
msgstr "Ручные"
|
166 |
|
167 |
-
#: admin/pages/updates.php:
|
168 |
msgid "Enable auto updates"
|
169 |
msgstr "Автоматические"
|
170 |
|
171 |
-
#: admin/pages/updates.php:
|
172 |
msgid ""
|
173 |
"You can disable all plugin updates or choose manual or automatic update mode."
|
174 |
msgstr ""
|
175 |
"Вы можете отключить все обновления плагинов или выбрать режим ручного или "
|
176 |
"автоматического обновления."
|
177 |
|
178 |
-
#: admin/pages/updates.php:
|
179 |
msgid "Theme Updates"
|
180 |
msgstr "Обновления тем"
|
181 |
|
182 |
-
#: admin/pages/updates.php:
|
183 |
msgid ""
|
184 |
"You can disable all themes updates or choose manual or automatic update mode."
|
185 |
msgstr ""
|
186 |
"Вы можете отключить все обновления тем или выбрать режим ручного или "
|
187 |
"автоматического обновления."
|
188 |
|
189 |
-
#: admin/pages/updates.php:
|
190 |
msgid "WordPress Core Updates"
|
191 |
msgstr "Базовые обновления Wordpress"
|
192 |
|
193 |
-
#: admin/pages/updates.php:
|
194 |
msgid "Disable auto updates"
|
195 |
msgstr "Отключить автоматические обновления"
|
196 |
|
197 |
-
#: admin/pages/updates.php:
|
198 |
msgid "Allow minor auto updates"
|
199 |
msgstr "Разрешить незначительные автоматические обновления"
|
200 |
|
201 |
-
#: admin/pages/updates.php:
|
202 |
msgid "Allow major auto updates"
|
203 |
msgstr "Разрешить основные автоматические обновления"
|
204 |
|
205 |
-
#: admin/pages/updates.php:
|
206 |
msgid "Allow development auto updates"
|
207 |
msgstr "Разрешить разрабатываемые автоматические обновления"
|
208 |
|
209 |
-
#: admin/pages/updates.php:
|
210 |
msgid ""
|
211 |
"You can disable all core WordPress updates, or disable only automatic "
|
212 |
"updates. Also you can select the update mode. By default (minor)"
|
@@ -215,23 +257,23 @@ msgstr ""
|
|
215 |
"автоматические обновления. Также вы можете выбрать режим обновления. По "
|
216 |
"умолчанию (младший)"
|
217 |
|
218 |
-
#: admin/pages/updates.php:
|
219 |
msgid "Major - automatically update to major releases (e.g., 4.1, 4.2, 4.3)."
|
220 |
msgstr ""
|
221 |
"Основные - автоматически обновления основных версий (4.1, 4.2, 4.3 и т.д)."
|
222 |
|
223 |
-
#: admin/pages/updates.php:
|
224 |
msgid ""
|
225 |
"Minor - automatically update to minor releases (e.g., 4.1.1, 4.1.2, 4.1.3).."
|
226 |
msgstr ""
|
227 |
"Незначительные - автоматически обновления промежуточных версий (4.1.1, "
|
228 |
"4.1.2, 4.1.3 и т.д)."
|
229 |
|
230 |
-
#: admin/pages/updates.php:
|
231 |
msgid "Development - update automatically to Bleeding Edge releases."
|
232 |
msgstr "Разрабатываемые - автоматические обновления до финальных выпусков."
|
233 |
|
234 |
-
#: admin/pages/updates.php:
|
235 |
msgid ""
|
236 |
"Enable Automatic Updates even if a VCS folder (.git, .hg, .svn) was found in "
|
237 |
"the WordPress directory"
|
@@ -239,6 +281,22 @@ msgstr ""
|
|
239 |
"Включить автоматическое обновление, даже если папка VCS (.git, .hg, .svn) "
|
240 |
"была найдена в каталоге WordPress"
|
241 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
242 |
#: webcraftic-updates-manager.php:17
|
243 |
msgid ""
|
244 |
"We found that you have the \"Clearfy - disable unused features\" plugin "
|
@@ -249,6 +307,6 @@ msgstr ""
|
|
249 |
"неиспользуемые функции», этот плагин уже имеет функции менеджера обновлений, "
|
250 |
"поэтому вы можете отключить плагин «Менеджер обновлений»!"
|
251 |
|
252 |
-
#: webcraftic-updates-manager.php:
|
253 |
msgid "Webcraftic Updates Manager"
|
254 |
msgstr "Webcraftic менеджер обновлений"
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: clearfy\n"
|
4 |
+
"POT-Creation-Date: 2018-03-14 17:40+0300\n"
|
5 |
+
"PO-Revision-Date: 2018-03-14 17:44+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"
|
18 |
"X-Poedit-SearchPath-0: .\n"
|
19 |
"X-Poedit-SearchPathExcluded-0: libs\n"
|
20 |
|
21 |
+
#: admin/boot.php:17
|
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:18
|
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:72
|
43 |
msgid "Disable plugin updates"
|
44 |
msgstr "Отключить обновления плагинов"
|
45 |
|
46 |
+
#: admin/boot.php:78
|
47 |
msgid "Disable theme updates"
|
48 |
msgstr "Отключить обновления тем"
|
49 |
|
50 |
+
#: admin/boot.php:84 admin/pages/updates.php:104
|
51 |
msgid "Disable Automatic Translation Updates"
|
52 |
msgstr "Отключить автоматические обновления переводов"
|
53 |
|
54 |
+
#: admin/boot.php:89
|
55 |
msgid "Disable wordPress core updates"
|
56 |
msgstr "Отключить обновления ядра Wordpress"
|
57 |
|
58 |
+
#: admin/boot.php:95 admin/pages/updates.php:138
|
59 |
msgid "Enable updates for VCS Installations"
|
60 |
msgstr "Включить обновления для установок VCS"
|
61 |
|
62 |
+
#: admin/boot.php:100
|
63 |
msgid "Plugin filters"
|
64 |
msgstr "Фильтры плагинов"
|
65 |
|
66 |
+
#: admin/boot.php:105 admin/pages/updates.php:148
|
67 |
+
msgid "Updates nags only for Admin"
|
68 |
+
msgstr "Показывать уведомления об обновлении Wordpress только для админа"
|
69 |
+
|
70 |
+
#: admin/boot.php:117
|
71 |
msgid "One click disable all updates"
|
72 |
msgstr "Отключить все обновления в один клик"
|
73 |
|
74 |
+
#: admin/boot.php:129
|
75 |
msgid "Get ultimate plugin free"
|
76 |
msgstr "Получите полную версию плагина бесплатно"
|
77 |
|
78 |
+
#: admin/pages/advanced.php:37
|
79 |
msgid "Advanced"
|
80 |
msgstr "Дополнительно"
|
81 |
|
82 |
+
#: admin/pages/advanced.php:47
|
83 |
msgid "Please, wait 90 sec. to see the forced automatic update result."
|
84 |
msgstr ""
|
85 |
"Пожалуйста, подождите 90 сек., чтобы увидеть результат принудительного "
|
86 |
"автоматического обновления."
|
87 |
|
88 |
+
#: admin/pages/advanced.php:58
|
89 |
msgid "Force Automatic Updates"
|
90 |
msgstr "Принудительное автоматическое обновление"
|
91 |
|
92 |
+
#: admin/pages/advanced.php:60
|
93 |
msgid ""
|
94 |
"This will attempt to force automatic updates. This is useful for debugging."
|
95 |
msgstr ""
|
97 |
"Настройте автоматические обновления и нажмите на эту кнопку, чтобы проверить "
|
98 |
"работают они или нет."
|
99 |
|
100 |
+
#: admin/pages/advanced.php:61
|
101 |
msgid "Force update"
|
102 |
msgstr "Запустить обновление"
|
103 |
|
104 |
+
#: admin/pages/plugins.php:63
|
105 |
msgid "Plugins"
|
106 |
msgstr "Плагины"
|
107 |
|
108 |
+
#: admin/pages/plugins.php:81
|
|
|
|
|
|
|
|
|
|
|
|
|
109 |
msgid ""
|
110 |
"- To disable updates individually choose the “Manual or automatic plugin "
|
111 |
"updates” option then save settings and comeback to this page."
|
114 |
"автоматические обновления плагинов”, сохраните настройки и вернитесь на эту "
|
115 |
"страницу."
|
116 |
|
117 |
+
#: admin/pages/plugins.php:85
|
118 |
msgid ""
|
119 |
"- To configure plugin auto updates individually, choose the “Enable auto "
|
120 |
"updates” option then save settings and comeback to this page."
|
123 |
"опцию “Автоматические обновления”, сохраните настройки и вернитесь на эту "
|
124 |
"страницу."
|
125 |
|
126 |
+
#: admin/pages/plugins.php:234
|
127 |
+
msgid "Plugins list"
|
128 |
+
msgstr "Ваш список плагинов"
|
129 |
+
|
130 |
+
#: admin/pages/plugins.php:237
|
131 |
+
msgid "This page you can individually disable plugin updates and auto updates."
|
132 |
+
msgstr ""
|
133 |
+
"На этой странице вы можете индивидуально отключить обновления и "
|
134 |
+
"автообновления плагинов."
|
135 |
+
|
136 |
+
#: admin/pages/plugins.php:253
|
137 |
msgid "Bulk actions"
|
138 |
msgstr "Массовые действия"
|
139 |
|
140 |
+
#: admin/pages/plugins.php:254 admin/pages/plugins.php:329
|
141 |
+
#: admin/pages/plugins.php:334 admin/pages/updates.php:78
|
142 |
+
#: admin/pages/updates.php:93 admin/pages/updates.php:114
|
143 |
msgid "Disable updates"
|
144 |
msgstr "Отключить все обновления"
|
145 |
|
146 |
+
#: admin/pages/plugins.php:255 admin/pages/plugins.php:331
|
147 |
msgid "Enable updates"
|
148 |
msgstr "Включить обновления"
|
149 |
|
150 |
+
#: admin/pages/plugins.php:256 admin/pages/plugins.php:341
|
151 |
+
#: admin/pages/plugins.php:347
|
152 |
msgid "Enable auto-updates"
|
153 |
msgstr "Включить авто-обновления"
|
154 |
|
155 |
+
#: admin/pages/plugins.php:257 admin/pages/plugins.php:339
|
156 |
+
#: admin/pages/plugins.php:345
|
157 |
msgid "Disable auto-updates"
|
158 |
msgstr "Отключить авто-обновления"
|
159 |
|
160 |
+
#: admin/pages/plugins.php:259
|
161 |
msgid "Apply"
|
162 |
msgstr "Применить"
|
163 |
|
164 |
+
#: admin/pages/plugins.php:266
|
165 |
msgid "Plugin"
|
166 |
msgstr "Плагин"
|
167 |
|
168 |
+
#: admin/pages/plugins.php:268
|
169 |
msgid "Description"
|
170 |
msgstr "Описание"
|
171 |
|
172 |
+
#: admin/pages/plugins.php:315
|
173 |
msgid "Select"
|
174 |
msgstr "Выбор"
|
175 |
|
176 |
+
#: admin/pages/updates.php:37
|
177 |
msgid "Updates manager"
|
178 |
msgstr "Менеджер обновлений"
|
179 |
|
180 |
+
#: admin/pages/updates.php:51
|
181 |
msgid "Updates"
|
182 |
msgstr "Обновления"
|
183 |
|
184 |
+
#: admin/pages/updates.php:52
|
185 |
msgid "General"
|
186 |
msgstr "Основные"
|
187 |
|
188 |
+
#: admin/pages/updates.php:67
|
189 |
+
msgid "General settings for WordPress, plugins and themes updates"
|
190 |
+
msgstr "Общие настройки для обновлений WordPress, плагинов и тем"
|
191 |
+
|
192 |
+
#: admin/pages/updates.php:67
|
193 |
+
msgid ""
|
194 |
+
"This page, you can enable or disable automatic updates. To test the "
|
195 |
+
"automatic updates, click the \"Advanced\" tab."
|
196 |
+
msgstr ""
|
197 |
+
"На этой странице можете включить или отключить автоматические обновления. "
|
198 |
+
"Чтобы протестировать работу автоматических обновлений, перейдите на вкладку "
|
199 |
+
"\"Дополнительно\"."
|
200 |
+
|
201 |
+
#: admin/pages/updates.php:74
|
202 |
msgid "Plugin Updates"
|
203 |
msgstr "Обновления плагина"
|
204 |
|
205 |
+
#: admin/pages/updates.php:76 admin/pages/updates.php:91
|
206 |
msgid "Manual updates"
|
207 |
msgstr "Ручные"
|
208 |
|
209 |
+
#: admin/pages/updates.php:77 admin/pages/updates.php:92
|
210 |
msgid "Enable auto updates"
|
211 |
msgstr "Автоматические"
|
212 |
|
213 |
+
#: admin/pages/updates.php:81
|
214 |
msgid ""
|
215 |
"You can disable all plugin updates or choose manual or automatic update mode."
|
216 |
msgstr ""
|
217 |
"Вы можете отключить все обновления плагинов или выбрать режим ручного или "
|
218 |
"автоматического обновления."
|
219 |
|
220 |
+
#: admin/pages/updates.php:89
|
221 |
msgid "Theme Updates"
|
222 |
msgstr "Обновления тем"
|
223 |
|
224 |
+
#: admin/pages/updates.php:96
|
225 |
msgid ""
|
226 |
"You can disable all themes updates or choose manual or automatic update mode."
|
227 |
msgstr ""
|
228 |
"Вы можете отключить все обновления тем или выбрать режим ручного или "
|
229 |
"автоматического обновления."
|
230 |
|
231 |
+
#: admin/pages/updates.php:112
|
232 |
msgid "WordPress Core Updates"
|
233 |
msgstr "Базовые обновления Wordpress"
|
234 |
|
235 |
+
#: admin/pages/updates.php:115
|
236 |
msgid "Disable auto updates"
|
237 |
msgstr "Отключить автоматические обновления"
|
238 |
|
239 |
+
#: admin/pages/updates.php:118
|
240 |
msgid "Allow minor auto updates"
|
241 |
msgstr "Разрешить незначительные автоматические обновления"
|
242 |
|
243 |
+
#: admin/pages/updates.php:122
|
244 |
msgid "Allow major auto updates"
|
245 |
msgstr "Разрешить основные автоматические обновления"
|
246 |
|
247 |
+
#: admin/pages/updates.php:126
|
248 |
msgid "Allow development auto updates"
|
249 |
msgstr "Разрешить разрабатываемые автоматические обновления"
|
250 |
|
251 |
+
#: admin/pages/updates.php:130
|
252 |
msgid ""
|
253 |
"You can disable all core WordPress updates, or disable only automatic "
|
254 |
"updates. Also you can select the update mode. By default (minor)"
|
257 |
"автоматические обновления. Также вы можете выбрать режим обновления. По "
|
258 |
"умолчанию (младший)"
|
259 |
|
260 |
+
#: admin/pages/updates.php:130
|
261 |
msgid "Major - automatically update to major releases (e.g., 4.1, 4.2, 4.3)."
|
262 |
msgstr ""
|
263 |
"Основные - автоматически обновления основных версий (4.1, 4.2, 4.3 и т.д)."
|
264 |
|
265 |
+
#: admin/pages/updates.php:130
|
266 |
msgid ""
|
267 |
"Minor - automatically update to minor releases (e.g., 4.1.1, 4.1.2, 4.1.3).."
|
268 |
msgstr ""
|
269 |
"Незначительные - автоматически обновления промежуточных версий (4.1.1, "
|
270 |
"4.1.2, 4.1.3 и т.д)."
|
271 |
|
272 |
+
#: admin/pages/updates.php:130
|
273 |
msgid "Development - update automatically to Bleeding Edge releases."
|
274 |
msgstr "Разрабатываемые - автоматические обновления до финальных выпусков."
|
275 |
|
276 |
+
#: admin/pages/updates.php:140
|
277 |
msgid ""
|
278 |
"Enable Automatic Updates even if a VCS folder (.git, .hg, .svn) was found in "
|
279 |
"the WordPress directory"
|
281 |
"Включить автоматическое обновление, даже если папка VCS (.git, .hg, .svn) "
|
282 |
"была найдена в каталоге WordPress"
|
283 |
|
284 |
+
#: admin/pages/updates.php:150
|
285 |
+
msgid ""
|
286 |
+
"This plugin allows you to hide the update WordPress reminder from all users "
|
287 |
+
"that are not assumed Administrators (cannot upgrade plugins).\n"
|
288 |
+
"\n"
|
289 |
+
"If you have multiple users then this means those who are not admins don’t "
|
290 |
+
"need to see the message. Useful for CMS based sites, so the client doesn’t "
|
291 |
+
"see the notice."
|
292 |
+
msgstr ""
|
293 |
+
"Этот опция позволяет вам скрыть напоминание о обновлении WordPress для всех "
|
294 |
+
"пользователей, которые не являются администраторами (не могут обновлять "
|
295 |
+
"плагины).\n"
|
296 |
+
"\n"
|
297 |
+
"Если у вас несколько пользователей, это означает, что те, кто не являются "
|
298 |
+
"админами, не должны видеть уведомления об обновлениях."
|
299 |
+
|
300 |
#: webcraftic-updates-manager.php:17
|
301 |
msgid ""
|
302 |
"We found that you have the \"Clearfy - disable unused features\" plugin "
|
307 |
"неиспользуемые функции», этот плагин уже имеет функции менеджера обновлений, "
|
308 |
"поэтому вы можете отключить плагин «Менеджер обновлений»!"
|
309 |
|
310 |
+
#: webcraftic-updates-manager.php:74
|
311 |
msgid "Webcraftic Updates Manager"
|
312 |
msgstr "Webcraftic менеджер обновлений"
|
components/updates-manager/libs/index.php
ADDED
File without changes
|
components/updates-manager/readme.txt
CHANGED
@@ -37,16 +37,17 @@ Some functions are taken from the following popular plugins <strong>Easy Updates
|
|
37 |
* French - Thank you very much to user (kingteamdunet)
|
38 |
* Russian
|
39 |
|
40 |
-
If you want to help with the translation, please contact me through this site or through the contacts inside the plugin.
|
41 |
-
|
42 |
#### Recommended separate modules ####
|
43 |
|
44 |
We invite you to check out a few other related free plugins that our team has also produced that you may find especially useful:
|
45 |
|
46 |
-
* [Clearfy –
|
|
|
|
|
|
|
47 |
* [WordPress Assets manager, dequeue scripts, dequeue styles](https://wordpress.org/plugins/gonzales/)
|
48 |
-
|
49 |
-
|
50 |
|
51 |
== Installation ==
|
52 |
This section describes how to install the plugin and get it working.
|
@@ -56,19 +57,23 @@ This section describes how to install the plugin and get it working.
|
|
56 |
3. Use the Settings->Webcrfatic update manager screen to configure the plugin
|
57 |
|
58 |
== Screenshots ==
|
59 |
-
1. Control panel (
|
60 |
-
2. Control panel (
|
61 |
|
62 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
63 |
= 1.0.3 =
|
64 |
* Fixed: Core bugs
|
65 |
|
66 |
-
= 1.0.2 =
|
67 |
-
* Added new feature Disable/Enable plugin updates individually.
|
68 |
-
* Added new feature Disable/Enable plugin auto updates individually.
|
69 |
-
* Added new feature Updates nags only for Admin. This plugin allows you to hide the update WordPress reminder from all users that are not assumed Administrators (cannot upgrade plugins).
|
70 |
-
* Update core
|
71 |
-
|
72 |
= 1.0.1 =
|
73 |
* Fixed bug whith update core
|
74 |
* Update core
|
37 |
* French - Thank you very much to user (kingteamdunet)
|
38 |
* Russian
|
39 |
|
|
|
|
|
40 |
#### Recommended separate modules ####
|
41 |
|
42 |
We invite you to check out a few other related free plugins that our team has also produced that you may find especially useful:
|
43 |
|
44 |
+
* [Clearfy – WordPress optimization plugin and disable ultimate tweaker](https://wordpress.org/plugins/clearfy/)
|
45 |
+
* [Disable Comments for Any Post Types (Remove Comments)](https://wordpress.org/plugins/comments-plus/)
|
46 |
+
* [Cyrlitera – transliteration of links and file names](https://wordpress.org/plugins/cyrlitera/)
|
47 |
+
* [Disable admin notices individually](https://wordpress.org/plugins/disable-admin-notices/ "Disable admin notices individually")
|
48 |
* [WordPress Assets manager, dequeue scripts, dequeue styles](https://wordpress.org/plugins/gonzales/)
|
49 |
+
|
50 |
+
If you want to help with the translation, please contact me through this site or through the contacts inside the plugin.
|
51 |
|
52 |
== Installation ==
|
53 |
This section describes how to install the plugin and get it working.
|
57 |
3. Use the Settings->Webcrfatic update manager screen to configure the plugin
|
58 |
|
59 |
== Screenshots ==
|
60 |
+
1. Control panel (Base options)
|
61 |
+
2. Control panel (Individualy updates)
|
62 |
|
63 |
== Changelog ==
|
64 |
+
= 1.0.5 =
|
65 |
+
* Fixed: Compatibility with Clearfy plugin
|
66 |
+
* Fixed: Slowing down the plugins page when updates were disabled
|
67 |
+
* Fixed: The plugin interface did not work and the styles were not loaded due to security settings
|
68 |
+
* ADDED: Plugin options caching to reduce database queries for 90%. Clearfy became lighter and faster.
|
69 |
+
* ADDED: Compress and cache the plugin core files, to reduce the load on the admin panel
|
70 |
+
|
71 |
+
= 1.0.4 =
|
72 |
+
* Fixed bug: admin area loads slower – when theme and plugin updates: disabled
|
73 |
+
|
74 |
= 1.0.3 =
|
75 |
* Fixed: Core bugs
|
76 |
|
|
|
|
|
|
|
|
|
|
|
|
|
77 |
= 1.0.1 =
|
78 |
* Fixed bug whith update core
|
79 |
* Update core
|
components/updates-manager/uninstall.php
CHANGED
@@ -8,5 +8,5 @@
|
|
8 |
// remove plugin options
|
9 |
global $wpdb;
|
10 |
|
11 |
-
$wpdb->query("DELETE FROM {$wpdb->prefix}options WHERE option_name LIKE '
|
12 |
-
|
8 |
// remove plugin options
|
9 |
global $wpdb;
|
10 |
|
11 |
+
$wpdb->query("DELETE FROM {$wpdb->prefix}options WHERE option_name LIKE 'wbcr_updates_manager_%';");
|
12 |
+
$wpdb->query("DELETE FROM {$wpdb->prefix}options WHERE option_name LIKE 'wbcr_upm_%';");
|
components/updates-manager/webcraftic-updates-manager.php
CHANGED
@@ -4,12 +4,13 @@
|
|
4 |
* Plugin URI: https://wordpress.org/plugins/webcraftic-updates-manager/
|
5 |
* Description: Manage all your WordPress updates, automatic updates, logs, and loads more.
|
6 |
* Author: Webcraftic <wordpress.webraftic@gmail.com>
|
7 |
-
* Version: 1.0.
|
8 |
* Text Domain: webcraftic-updates-manager
|
9 |
* Domain Path: /languages/
|
|
|
10 |
*/
|
11 |
|
12 |
-
if( defined('
|
13 |
function wbcr_upm_admin_notice_error()
|
14 |
{
|
15 |
?>
|
@@ -24,62 +25,30 @@
|
|
24 |
return;
|
25 |
} else {
|
26 |
|
27 |
-
define('
|
28 |
|
29 |
-
define('
|
30 |
-
define('
|
31 |
-
define('
|
32 |
|
33 |
|
34 |
|
35 |
if( !defined('LOADING_UPDATES_MANAGER_AS_ADDON') ) {
|
36 |
-
require_once(
|
37 |
}
|
38 |
|
39 |
-
|
40 |
-
{
|
41 |
-
global $wbcr_update_services_plugin;
|
42 |
-
|
43 |
-
// Localization plugin
|
44 |
-
load_plugin_textdomain('webcraftic-updates-manager', false, dirname(WBCR_UPM_PLUGIN_BASE) . '/languages/');
|
45 |
-
|
46 |
-
if( defined('LOADING_UPDATES_MANAGER_AS_ADDON') ) {
|
47 |
-
//return;
|
48 |
-
global $wbcr_clearfy_plugin;
|
49 |
-
$wbcr_update_services_plugin = $wbcr_clearfy_plugin;
|
50 |
-
} else {
|
51 |
-
|
52 |
-
$wbcr_update_services_plugin = new Factory326_Plugin(__FILE__, array(
|
53 |
-
'name' => 'wbcr_updates_manager',
|
54 |
-
'title' => __('Webcraftic Updates Manager', 'webcraftic-updates-manager'),
|
55 |
-
'version' => '1.0.3',
|
56 |
-
'host' => 'wordpress.org',
|
57 |
-
'url' => 'https://wordpress.org/plugins/webcraftic-updates-manager/',
|
58 |
-
'assembly' => 'free',
|
59 |
-
'updates' => WBCR_UPM_PLUGIN_DIR . '/updates/'
|
60 |
-
));
|
61 |
-
|
62 |
-
// requires factory modules
|
63 |
-
$wbcr_update_services_plugin->load(array(
|
64 |
-
array('libs/factory/bootstrap', 'factory_bootstrap_330', 'admin'),
|
65 |
-
array('libs/factory/forms', 'factory_forms_329', 'admin'),
|
66 |
-
array('libs/factory/pages', 'factory_pages_324', 'admin'),
|
67 |
-
array('libs/factory/clearfy', 'factory_clearfy_102', 'all')
|
68 |
-
));
|
69 |
-
}
|
70 |
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
} else {
|
83 |
-
add_action('plugins_loaded', 'wbcr_upm_plugin_init');
|
84 |
}
|
85 |
}
|
4 |
* Plugin URI: https://wordpress.org/plugins/webcraftic-updates-manager/
|
5 |
* Description: Manage all your WordPress updates, automatic updates, logs, and loads more.
|
6 |
* Author: Webcraftic <wordpress.webraftic@gmail.com>
|
7 |
+
* Version: 1.0.5
|
8 |
* Text Domain: webcraftic-updates-manager
|
9 |
* Domain Path: /languages/
|
10 |
+
* Author URI: http://webcraftic.com
|
11 |
*/
|
12 |
|
13 |
+
if( defined('WUP_PLUGIN_ACTIVE') || (defined('WCL_PLUGIN_ACTIVE') && !defined('LOADING_UPDATES_MANAGER_AS_ADDON')) ) {
|
14 |
function wbcr_upm_admin_notice_error()
|
15 |
{
|
16 |
?>
|
25 |
return;
|
26 |
} else {
|
27 |
|
28 |
+
define('WUP_PLUGIN_ACTIVE', true);
|
29 |
|
30 |
+
define('WUP_PLUGIN_DIR', dirname(__FILE__));
|
31 |
+
define('WUP_PLUGIN_BASE', plugin_basename(__FILE__));
|
32 |
+
define('WUP_PLUGIN_URL', plugins_url(null, __FILE__));
|
33 |
|
34 |
|
35 |
|
36 |
if( !defined('LOADING_UPDATES_MANAGER_AS_ADDON') ) {
|
37 |
+
require_once(WUP_PLUGIN_DIR . '/libs/factory/core/boot.php');
|
38 |
}
|
39 |
|
40 |
+
require_once(WUP_PLUGIN_DIR . '/includes/class.plugin.php');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
41 |
|
42 |
+
if( !defined('LOADING_UPDATES_MANAGER_AS_ADDON') ) {
|
43 |
+
new WUP_Plugin(__FILE__, array(
|
44 |
+
'prefix' => 'wbcr_updates_manager_',//wbcr_upm_
|
45 |
+
'plugin_name' => 'wbcr_updates_manager',
|
46 |
+
'plugin_title' => __('Webcraftic Updates Manager', 'webcraftic-updates-manager'),
|
47 |
+
'plugin_version' => '1.0.5',
|
48 |
+
'required_php_version' => '5.2',
|
49 |
+
'required_wp_version' => '4.2',
|
50 |
+
'plugin_build' => 'free',
|
51 |
+
//'updates' => WUP_PLUGIN_DIR . '/updates/'
|
52 |
+
));
|
|
|
|
|
53 |
}
|
54 |
}
|
includes/class.plugin.php
ADDED
@@ -0,0 +1,255 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Clearfy core class
|
4 |
+
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
5 |
+
* @copyright (c) 19.02.2018, Webcraftic
|
6 |
+
* @version 1.0
|
7 |
+
*/
|
8 |
+
|
9 |
+
// Exit if accessed directly
|
10 |
+
if( !defined('ABSPATH') ) {
|
11 |
+
exit;
|
12 |
+
}
|
13 |
+
|
14 |
+
class WCL_Plugin extends Wbcr_Factory400_Plugin {
|
15 |
+
|
16 |
+
/**
|
17 |
+
* @var WCL_Plugin
|
18 |
+
*/
|
19 |
+
private static $app;
|
20 |
+
|
21 |
+
public function __construct($plugin_path, $data)
|
22 |
+
{
|
23 |
+
self::$app = $this;
|
24 |
+
|
25 |
+
parent::__construct($plugin_path, $data);
|
26 |
+
|
27 |
+
$this->setTextDomain();
|
28 |
+
$this->setModules();
|
29 |
+
$this->setAddons();
|
30 |
+
|
31 |
+
$this->globalScripts();
|
32 |
+
|
33 |
+
if( is_admin() ) {
|
34 |
+
$this->adminScripts();
|
35 |
+
}
|
36 |
+
|
37 |
+
add_action('plugins_loaded', array($this, 'pluginsLoaded'));
|
38 |
+
}
|
39 |
+
|
40 |
+
public static function app()
|
41 |
+
{
|
42 |
+
return self::$app;
|
43 |
+
}
|
44 |
+
|
45 |
+
protected function setTextDomain()
|
46 |
+
{
|
47 |
+
// Localization plugin
|
48 |
+
load_plugin_textdomain('clearfy', false, dirname(WCL_PLUGIN_BASE) . '/languages/');
|
49 |
+
}
|
50 |
+
|
51 |
+
protected function initActivation()
|
52 |
+
{
|
53 |
+
include_once(WCL_PLUGIN_DIR . '/admin/activation.php');
|
54 |
+
$this->registerActivation('WCL_Activation');
|
55 |
+
}
|
56 |
+
|
57 |
+
protected function setModules()
|
58 |
+
{
|
59 |
+
$this->load(array(
|
60 |
+
array('libs/factory/bootstrap', 'factory_bootstrap_400', 'admin'),
|
61 |
+
array('libs/factory/forms', 'factory_forms_400', 'admin'),
|
62 |
+
array('libs/factory/pages', 'factory_pages_401', 'admin'),
|
63 |
+
array('libs/factory/clearfy', 'factory_clearfy_200', 'all')
|
64 |
+
));
|
65 |
+
}
|
66 |
+
|
67 |
+
public function setAddons()
|
68 |
+
{
|
69 |
+
$addons = array();
|
70 |
+
|
71 |
+
if( $this->isActivateComponent('hide_login_page') ) {
|
72 |
+
$addons['hide_login_page'] = array(
|
73 |
+
'WHLP_Plugin',
|
74 |
+
WCL_PLUGIN_DIR . '/components/hide-login-page/hide-login-page.php'
|
75 |
+
);
|
76 |
+
}
|
77 |
+
|
78 |
+
// This module is for Cyrillic users only, for other users it should be disabled
|
79 |
+
if( $this->isActivateComponent('cyrlitera') ) {
|
80 |
+
$addons['cyrlitera'] = array(
|
81 |
+
'WCTR_Plugin',
|
82 |
+
WCL_PLUGIN_DIR . '/components/cyrlitera/cyrlitera.php'
|
83 |
+
);
|
84 |
+
}
|
85 |
+
|
86 |
+
if( $this->isActivateComponent('disable_notices') ) {
|
87 |
+
$addons['disable_admin_notices'] = array(
|
88 |
+
'WDN_Plugin',
|
89 |
+
WCL_PLUGIN_DIR . '/components/disable-admin-notices/disable-admin-notices.php'
|
90 |
+
);
|
91 |
+
}
|
92 |
+
|
93 |
+
if( $this->isActivateComponent('updates_manager') ) {
|
94 |
+
$addons['updates_manager'] = array(
|
95 |
+
'WUP_Plugin',
|
96 |
+
WCL_PLUGIN_DIR . '/components/updates-manager/webcraftic-updates-manager.php'
|
97 |
+
);
|
98 |
+
}
|
99 |
+
|
100 |
+
if( $this->isActivateComponent('comments_tools') ) {
|
101 |
+
$addons['comments_plus'] = array(
|
102 |
+
'WCM_Plugin',
|
103 |
+
WCL_PLUGIN_DIR . '/components/comments-plus/comments-plus.php'
|
104 |
+
);
|
105 |
+
}
|
106 |
+
|
107 |
+
if( $this->isActivateComponent('asset_manager') ) {
|
108 |
+
$addons['gonzales'] = array(
|
109 |
+
'WGZ_Plugin',
|
110 |
+
WCL_PLUGIN_DIR . '/components/assets-manager/gonzales.php'
|
111 |
+
);
|
112 |
+
}
|
113 |
+
|
114 |
+
/**
|
115 |
+
* Include plugin components
|
116 |
+
*/
|
117 |
+
$this->loadAddons($addons);
|
118 |
+
}
|
119 |
+
|
120 |
+
private function adminScripts()
|
121 |
+
{
|
122 |
+
|
123 |
+
require_once(WCL_PLUGIN_DIR . '/admin/includes/classes/class.pages.php');
|
124 |
+
require_once(WCL_PLUGIN_DIR . '/admin/includes/classes/class.option.php');
|
125 |
+
require_once(WCL_PLUGIN_DIR . '/admin/includes/classes/class.group.php');
|
126 |
+
|
127 |
+
require_once(WCL_PLUGIN_DIR . '/admin/activation.php');
|
128 |
+
|
129 |
+
if( defined('DOING_AJAX') && DOING_AJAX && isset($_REQUEST['action']) && $_REQUEST['action'] == 'wbcr_clearfy_configurate' ) {
|
130 |
+
require(WCL_PLUGIN_DIR . '/admin/ajax/configurate.php');
|
131 |
+
}
|
132 |
+
|
133 |
+
if( defined('DOING_AJAX') && DOING_AJAX && isset($_REQUEST['action']) && $_REQUEST['action'] == 'wbcr_clearfy_import_settings' ) {
|
134 |
+
require(WCL_PLUGIN_DIR . '/admin/ajax/import-settings.php');
|
135 |
+
}
|
136 |
+
|
137 |
+
require_once(WCL_PLUGIN_DIR . '/admin/boot.php');
|
138 |
+
|
139 |
+
$this->initActivation();
|
140 |
+
$this->registerPages();
|
141 |
+
}
|
142 |
+
|
143 |
+
private function registerPages()
|
144 |
+
{
|
145 |
+
$this->registerPage('WCL_QuickStartPage', WCL_PLUGIN_DIR . '/admin/pages/quick-start.php');
|
146 |
+
$this->registerPage('WCL_AdvancedPage', WCL_PLUGIN_DIR . '/admin/pages/advanced.php');
|
147 |
+
$this->registerPage('WCL_PerformancePage', WCL_PLUGIN_DIR . '/admin/pages/performance.php');
|
148 |
+
$this->registerPage('WCL_PerformanceGooglePage', WCL_PLUGIN_DIR . '/admin/pages/performance-google.php');
|
149 |
+
$this->registerPage('WCL_PerformanceHtmlMinifyPage', WCL_PLUGIN_DIR . '/admin/pages/performance-html-minify.php');
|
150 |
+
$this->registerPage('WCL_ComponentsPage', WCL_PLUGIN_DIR . '/admin/pages/components.php');
|
151 |
+
$this->registerPage('WCL_SeoPage', WCL_PLUGIN_DIR . '/admin/pages/seo.php');
|
152 |
+
$this->registerPage('WCL_DoublePagesPage', WCL_PLUGIN_DIR . '/admin/pages/seo-double-pages.php');
|
153 |
+
$this->registerPage('WCL_DefencePage', WCL_PLUGIN_DIR . '/admin/pages/defence.php');
|
154 |
+
$this->registerPage('WCL_PrivacyContentPage', WCL_PLUGIN_DIR . '/admin/pages/defence-privacy-code.php');
|
155 |
+
|
156 |
+
if( $this->isActivateComponent('widget_tools') ) {
|
157 |
+
$this->registerPage('WCL_WidgetsPage', WCL_PLUGIN_DIR . '/admin/pages/widgets.php');
|
158 |
+
}
|
159 |
+
}
|
160 |
+
|
161 |
+
private function globalScripts()
|
162 |
+
{
|
163 |
+
require_once(WCL_PLUGIN_DIR . '/includes/classes/class.configurate-performance.php');
|
164 |
+
require_once(WCL_PLUGIN_DIR . '/includes/classes/class.configurate-google-performance.php');
|
165 |
+
require_once(WCL_PLUGIN_DIR . '/includes/classes/class.configurate-privacy.php');
|
166 |
+
require_once(WCL_PLUGIN_DIR . '/includes/classes/class.configurate-security.php');
|
167 |
+
require_once(WCL_PLUGIN_DIR . '/includes/classes/class.configurate-seo.php');
|
168 |
+
|
169 |
+
new WCL_ConfigPerformance($this);
|
170 |
+
new WCL_ConfigGooglePerformance($this);
|
171 |
+
new WCL_ConfigPrivacy($this);
|
172 |
+
new WCL_ConfigSecurity($this);
|
173 |
+
new WCL_ConfigSeo($this);
|
174 |
+
}
|
175 |
+
|
176 |
+
public function pluginsLoaded()
|
177 |
+
{
|
178 |
+
require_once(WCL_PLUGIN_DIR . '/includes/classes/class.configurate-advanced.php');
|
179 |
+
new WCL_ConfigAdvanced($this);
|
180 |
+
}
|
181 |
+
|
182 |
+
/**
|
183 |
+
* @param string $component_name
|
184 |
+
* @return bool
|
185 |
+
* @throws Exception
|
186 |
+
*/
|
187 |
+
public function isActivateComponent($component_name)
|
188 |
+
{
|
189 |
+
if( !is_string($component_name) ) {
|
190 |
+
throw new Exception('Attribute component_name must be is string');
|
191 |
+
}
|
192 |
+
|
193 |
+
$deactivate_components = $this->getOption('deactive_preinstall_components', array());
|
194 |
+
|
195 |
+
if( $deactivate_components && in_array($component_name, $deactivate_components) ) {
|
196 |
+
return false;
|
197 |
+
}
|
198 |
+
|
199 |
+
return true;
|
200 |
+
}
|
201 |
+
|
202 |
+
/**
|
203 |
+
* @param string $component_name
|
204 |
+
* @return bool
|
205 |
+
* @throws Exception
|
206 |
+
*/
|
207 |
+
public function deactivateComponent($component_name)
|
208 |
+
{
|
209 |
+
if( !$this->isActivateComponent($component_name) ) {
|
210 |
+
return true;
|
211 |
+
}
|
212 |
+
|
213 |
+
$deactivate_components = $this->getOption('deactive_preinstall_components', array());
|
214 |
+
|
215 |
+
if( !empty($deactivate_components) && is_array($deactivate_components) ) {
|
216 |
+
$deactivate_components[] = $component_name;
|
217 |
+
} else {
|
218 |
+
$deactivate_components = array();
|
219 |
+
$deactivate_components[] = $component_name;
|
220 |
+
}
|
221 |
+
|
222 |
+
$this->updateOption('deactive_preinstall_components', $deactivate_components);
|
223 |
+
|
224 |
+
return true;
|
225 |
+
}
|
226 |
+
|
227 |
+
/**
|
228 |
+
* @param string $component_name
|
229 |
+
* @return bool
|
230 |
+
* @throws Exception
|
231 |
+
*/
|
232 |
+
public function activateComponent($component_name)
|
233 |
+
{
|
234 |
+
if( $this->isActivateComponent($component_name) ) {
|
235 |
+
return true;
|
236 |
+
}
|
237 |
+
|
238 |
+
$deactivate_components = $this->getOption('deactive_preinstall_components', array());
|
239 |
+
|
240 |
+
if( !empty($deactivate_components) && is_array($deactivate_components) ) {
|
241 |
+
$index = array_search($component_name, $deactivate_components);
|
242 |
+
unset($deactivate_components[$index]);
|
243 |
+
}
|
244 |
+
|
245 |
+
if( empty($deactivate_components) ) {
|
246 |
+
$this->deleteOption('deactive_preinstall_components');
|
247 |
+
|
248 |
+
return true;
|
249 |
+
}
|
250 |
+
|
251 |
+
$this->updateOption('deactive_preinstall_components', $deactivate_components);
|
252 |
+
|
253 |
+
return true;
|
254 |
+
}
|
255 |
+
}
|
includes/classes/class.configurate-advanced.php
CHANGED
@@ -1,19 +1,30 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
/**
|
4 |
* This class configures the parameters advanced
|
5 |
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
6 |
* @copyright (c) 2017 Webraftic Ltd
|
7 |
* @version 1.0
|
8 |
*/
|
9 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
|
11 |
public function registerActionsAndFilters()
|
12 |
{
|
13 |
-
global $wbcr_clearfy_plugin;
|
14 |
-
|
15 |
-
$preinsatall_components = (array)$wbcr_clearfy_plugin->options['deactive_preinstall_components'];
|
16 |
-
|
17 |
if( $this->getOption('disable_heartbeat') && $this->getOption('disable_heartbeat') != 'default' ) {
|
18 |
add_action('init', array($this, 'disableHeartbeat'), 1);
|
19 |
}
|
@@ -26,12 +37,12 @@
|
|
26 |
// POST TOOLS COMPONENT
|
27 |
//============================================================
|
28 |
|
29 |
-
if(
|
30 |
-
if( $this->getOption('revision_limit') || $this->getOption('revisions_disable') ) {
|
31 |
add_filter('wp_revisions_to_keep', array($this, 'clearfyRevisionsToKeep'), 10, 2);
|
32 |
}
|
33 |
|
34 |
-
if( $this->getOption('disable_post_autosave') ) {
|
35 |
add_action('wp_print_scripts', array($this, 'disableAutoSave'));
|
36 |
}
|
37 |
|
@@ -58,7 +69,7 @@
|
|
58 |
// ADMINBAR MANAGER COMPONENT
|
59 |
//============================================================
|
60 |
|
61 |
-
if(
|
62 |
if( $this->getOption('replace_howdy_welcome') ) {
|
63 |
add_filter('admin_bar_menu', array($this, 'replaceHowdyText'), 25);
|
64 |
}
|
@@ -80,19 +91,9 @@
|
|
80 |
// WIDGETS TOOLS COMPONENT
|
81 |
//============================================================
|
82 |
|
83 |
-
if(
|
84 |
add_action('widgets_init', array($this, 'unregisterDefaultWidgets'), 11);
|
85 |
}
|
86 |
-
|
87 |
-
if( $this->getOption('enable_wordpres_sanitize') ) {
|
88 |
-
require_once(WBCR_CLR_PLUGIN_DIR . '/includes/classes/class.wordpress-sanitize.php');
|
89 |
-
|
90 |
-
if( is_admin() || (defined('XMLRPC_REQUEST') && XMLRPC_REQUEST) ) {
|
91 |
-
remove_filter('sanitize_title', 'sanitize_title_with_dashes', 11);
|
92 |
-
add_filter('sanitize_title', array('Wbcr_Germanizer', 'sanitize_title_filter'), 10, 2);
|
93 |
-
add_filter('sanitize_file_name', array('Wbcr_Germanizer', 'sanitize_filename_filter'), 10, 1);
|
94 |
-
}
|
95 |
-
}
|
96 |
}
|
97 |
|
98 |
// unregister all widgets
|
@@ -128,7 +129,7 @@
|
|
128 |
if( $this->getOption('remove_unneeded_widget_recent_posts') ) {
|
129 |
unregister_widget('WP_Widget_Recent_Posts');
|
130 |
}
|
131 |
-
if( $this->getOption('
|
132 |
unregister_widget('WP_Widget_Recent_Comments');
|
133 |
}
|
134 |
if( $this->getOption('remove_unneeded_widget_rss') ) {
|
@@ -178,7 +179,6 @@
|
|
178 |
|
179 |
public function disableHeartbeat()
|
180 |
{
|
181 |
-
|
182 |
switch( $this->getOption('disable_heartbeat') ) {
|
183 |
case 'everywhere':
|
184 |
wp_deregister_script('heartbeat');
|
@@ -203,6 +203,9 @@
|
|
203 |
wp_deregister_script('autosave');
|
204 |
}
|
205 |
|
|
|
|
|
|
|
206 |
public function replaceHowdyText($wp_admin_bar)
|
207 |
{
|
208 |
$my_account = $wp_admin_bar->get_node('my-account');
|
@@ -213,6 +216,10 @@
|
|
213 |
));
|
214 |
}
|
215 |
|
|
|
|
|
|
|
|
|
216 |
public function removeFunctionAdminBar($content)
|
217 |
{
|
218 |
return (current_user_can('administrator'))
|
@@ -220,6 +227,9 @@
|
|
220 |
: false;
|
221 |
}
|
222 |
|
|
|
|
|
|
|
223 |
public function removeWpLogo()
|
224 |
{
|
225 |
global $wp_admin_bar;
|
1 |
<?php
|
|
|
2 |
/**
|
3 |
* This class configures the parameters advanced
|
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 |
+
class WCL_ConfigAdvanced extends Wbcr_FactoryClearfy200_Configurate {
|
15 |
+
|
16 |
+
/**
|
17 |
+
* @param WCL_Plugin $plugin
|
18 |
+
*/
|
19 |
+
public function __construct(WCL_Plugin $plugin)
|
20 |
+
{
|
21 |
+
parent::__construct($plugin);
|
22 |
+
|
23 |
+
$this->plugin = $plugin;
|
24 |
+
}
|
25 |
|
26 |
public function registerActionsAndFilters()
|
27 |
{
|
|
|
|
|
|
|
|
|
28 |
if( $this->getOption('disable_heartbeat') && $this->getOption('disable_heartbeat') != 'default' ) {
|
29 |
add_action('init', array($this, 'disableHeartbeat'), 1);
|
30 |
}
|
37 |
// POST TOOLS COMPONENT
|
38 |
//============================================================
|
39 |
|
40 |
+
if( $this->plugin->isActivateComponent('post_tools') ) {
|
41 |
+
if( ($this->getOption('revision_limit') || $this->getOption('revisions_disable')) && is_admin() ) {
|
42 |
add_filter('wp_revisions_to_keep', array($this, 'clearfyRevisionsToKeep'), 10, 2);
|
43 |
}
|
44 |
|
45 |
+
if( $this->getOption('disable_post_autosave') && is_admin() ) {
|
46 |
add_action('wp_print_scripts', array($this, 'disableAutoSave'));
|
47 |
}
|
48 |
|
69 |
// ADMINBAR MANAGER COMPONENT
|
70 |
//============================================================
|
71 |
|
72 |
+
if( $this->plugin->isActivateComponent('adminbar_manager') && is_user_logged_in() ) {
|
73 |
if( $this->getOption('replace_howdy_welcome') ) {
|
74 |
add_filter('admin_bar_menu', array($this, 'replaceHowdyText'), 25);
|
75 |
}
|
91 |
// WIDGETS TOOLS COMPONENT
|
92 |
//============================================================
|
93 |
|
94 |
+
if( $this->plugin->isActivateComponent('widget_tools') ) {
|
95 |
add_action('widgets_init', array($this, 'unregisterDefaultWidgets'), 11);
|
96 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
97 |
}
|
98 |
|
99 |
// unregister all widgets
|
129 |
if( $this->getOption('remove_unneeded_widget_recent_posts') ) {
|
130 |
unregister_widget('WP_Widget_Recent_Posts');
|
131 |
}
|
132 |
+
if( $this->getOption('remove_unneeded_widget_recent_comments') ) {
|
133 |
unregister_widget('WP_Widget_Recent_Comments');
|
134 |
}
|
135 |
if( $this->getOption('remove_unneeded_widget_rss') ) {
|
179 |
|
180 |
public function disableHeartbeat()
|
181 |
{
|
|
|
182 |
switch( $this->getOption('disable_heartbeat') ) {
|
183 |
case 'everywhere':
|
184 |
wp_deregister_script('heartbeat');
|
203 |
wp_deregister_script('autosave');
|
204 |
}
|
205 |
|
206 |
+
/**
|
207 |
+
* @param WP_Admin_Bar $wp_admin_bar
|
208 |
+
*/
|
209 |
public function replaceHowdyText($wp_admin_bar)
|
210 |
{
|
211 |
$my_account = $wp_admin_bar->get_node('my-account');
|
216 |
));
|
217 |
}
|
218 |
|
219 |
+
/**
|
220 |
+
* @param $content
|
221 |
+
* @return bool
|
222 |
+
*/
|
223 |
public function removeFunctionAdminBar($content)
|
224 |
{
|
225 |
return (current_user_can('administrator'))
|
227 |
: false;
|
228 |
}
|
229 |
|
230 |
+
/**
|
231 |
+
* @global WP_Admin_Bar $wp_admin_bar
|
232 |
+
*/
|
233 |
public function removeWpLogo()
|
234 |
{
|
235 |
global $wp_admin_bar;
|
includes/classes/class.configurate-google-performance.php
ADDED
@@ -0,0 +1,490 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* This class configures the google performance settings
|
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 |
+
class WCL_ConfigGooglePerformance extends Wbcr_FactoryClearfy200_Configurate {
|
15 |
+
|
16 |
+
/**
|
17 |
+
* @param WCL_Plugin $plugin
|
18 |
+
*/
|
19 |
+
public function __construct(WCL_Plugin $plugin)
|
20 |
+
{
|
21 |
+
parent::__construct($plugin);
|
22 |
+
|
23 |
+
$this->plugin = $plugin;
|
24 |
+
}
|
25 |
+
|
26 |
+
public function registerActionsAndFilters()
|
27 |
+
{
|
28 |
+
if( $this->getOption('disable_google_fonts') ) {
|
29 |
+
add_action('wp_enqueue_scripts', array($this, 'disableAllGoogleFonts'), 999);
|
30 |
+
}
|
31 |
+
|
32 |
+
if( !is_admin() ) {
|
33 |
+
$load_google_fonts = $this->getOption('lazy_load_google_fonts');
|
34 |
+
$load_font_awesome = $this->getOption('lazy_load_font_awesome');
|
35 |
+
|
36 |
+
if( $load_google_fonts || $load_font_awesome ) {
|
37 |
+
add_action('wp_print_styles', array($this, 'enqueueScripts'), -1);
|
38 |
+
}
|
39 |
+
|
40 |
+
if( $this->getOption('disable_google_maps') ) {
|
41 |
+
add_action("wp_loaded", array($this, 'disableGoogleMapsObStart'));
|
42 |
+
}
|
43 |
+
}
|
44 |
+
|
45 |
+
if( $this->getOption('ga_cache') ) {
|
46 |
+
add_filter('cron_schedules', array($this, 'cronAdditions'));
|
47 |
+
|
48 |
+
// Load update script to schedule in wp_cron.
|
49 |
+
add_action('wbcr_clearfy_update_local_ga', array($this, 'updateLocalGoogleAnaliticScript'));
|
50 |
+
|
51 |
+
if( !is_admin() ) {
|
52 |
+
$this->addGoogleAnaliticsScript();
|
53 |
+
}
|
54 |
+
}
|
55 |
+
}
|
56 |
+
|
57 |
+
/** ======================================================================== */
|
58 |
+
// Disable google maps
|
59 |
+
/** ======================================================================== */
|
60 |
+
|
61 |
+
function disableGoogleMapsObStart()
|
62 |
+
{
|
63 |
+
ob_start(array($this, 'disableGoogleMapsObEnd'));
|
64 |
+
}
|
65 |
+
|
66 |
+
/**
|
67 |
+
* @param string $html
|
68 |
+
* @return mixed
|
69 |
+
*/
|
70 |
+
function disableGoogleMapsObEnd($html)
|
71 |
+
{
|
72 |
+
global $post;
|
73 |
+
|
74 |
+
$exclude_ids = array();
|
75 |
+
$exclude_from_disable_google_maps = $this->getOption('exclude_from_disable_google_maps');
|
76 |
+
|
77 |
+
if( '' !== $exclude_from_disable_google_maps ) {
|
78 |
+
$exclude_ids = array_map('intval', explode(',', $exclude_from_disable_google_maps));
|
79 |
+
}
|
80 |
+
if( $post && !in_array($post->ID, $exclude_ids, true) ) {
|
81 |
+
$html = preg_replace('/<script[^<>]*\/\/maps.(googleapis|google|gstatic).com\/[^<>]*><\/script>/i', '', $html);
|
82 |
+
|
83 |
+
if( $this->getOption('remove_iframe_google_maps') ) {
|
84 |
+
$html = preg_replace('/<iframe[^<>]*\/\/(www\.)?google\.com(\.\w*)?\/maps\/[^<>]*><\/iframe>/i', '', $html);
|
85 |
+
}
|
86 |
+
}
|
87 |
+
|
88 |
+
return $html;
|
89 |
+
}
|
90 |
+
|
91 |
+
/** ======================================================================== */
|
92 |
+
// End disable google maps
|
93 |
+
/** ======================================================================== */
|
94 |
+
|
95 |
+
function disableAllGoogleFonts()
|
96 |
+
{
|
97 |
+
global $wp_styles;
|
98 |
+
|
99 |
+
// multiple patterns hook
|
100 |
+
$regex = '/fonts\.googleapis\.com\/css\?family/i';
|
101 |
+
|
102 |
+
foreach($wp_styles->registered as $registered) {
|
103 |
+
|
104 |
+
if( preg_match($regex, $registered->src) ) {
|
105 |
+
wp_dequeue_style($registered->handle);
|
106 |
+
}
|
107 |
+
}
|
108 |
+
}
|
109 |
+
|
110 |
+
/** ======================================================================== */
|
111 |
+
// Lazy load fonts
|
112 |
+
/** ======================================================================== */
|
113 |
+
|
114 |
+
public function enqueueScripts()
|
115 |
+
{
|
116 |
+
$async_links = $this->checkGooglefontsFontawesomeStyles();
|
117 |
+
|
118 |
+
if( !empty($async_links) ) {
|
119 |
+
wp_enqueue_script($this->plugin->getPluginName() . '-css-lazy-load', WCL_PLUGIN_URL . '/assets/js/css-lazy-load.min.js', array('jquery'), $this->plugin->getPluginVersion());
|
120 |
+
wp_localize_script($this->plugin->getPluginName() . '-css-lazy-load', 'wbcr_clearfy_async_links', $async_links);
|
121 |
+
}
|
122 |
+
}
|
123 |
+
|
124 |
+
private function checkGooglefontsFontawesomeStyles()
|
125 |
+
{
|
126 |
+
global $wp_styles;
|
127 |
+
$ret = array();
|
128 |
+
if( isset($wp_styles) && !empty($wp_styles) ) {
|
129 |
+
|
130 |
+
$load_google_fonts = $this->getOption('lazy_load_google_fonts');
|
131 |
+
$load_font_awesome = $this->getOption('lazy_load_font_awesome');
|
132 |
+
|
133 |
+
if( $load_google_fonts || $load_font_awesome ) {
|
134 |
+
|
135 |
+
$gfonts_base_url = 'fonts.googleapis.com/css';
|
136 |
+
$gfonts_links = array();
|
137 |
+
|
138 |
+
$font_awesome_slug = 'font-awesome';
|
139 |
+
$font_awesome_slug_alt = 'fontawesome';
|
140 |
+
$font_awesome_links = array(
|
141 |
+
'external' => array(),
|
142 |
+
'internal' => array(),
|
143 |
+
);
|
144 |
+
|
145 |
+
foreach($wp_styles->queue as $handle) {
|
146 |
+
if( $load_google_fonts && false !== strpos($wp_styles->registered[$handle]->src, $gfonts_base_url) ) {
|
147 |
+
$gfonts_links[] = urldecode(str_replace(array('&'), array('&'), $wp_styles->registered[$handle]->src));
|
148 |
+
wp_dequeue_style($handle);
|
149 |
+
} elseif( $load_font_awesome && false !== strpos($wp_styles->registered[$handle]->src, $font_awesome_slug) || false !== strpos($wp_styles->registered[$handle]->src, $font_awesome_slug_alt) ) {
|
150 |
+
|
151 |
+
wp_dequeue_style($handle);
|
152 |
+
|
153 |
+
$font_awesome_links[false !== strpos($wp_styles->registered[$handle]->src, site_url())
|
154 |
+
? 'internal'
|
155 |
+
: 'external'][] = array(
|
156 |
+
'ver' => $wp_styles->registered[$handle]->ver
|
157 |
+
? $wp_styles->registered[$handle]->ver
|
158 |
+
: false,
|
159 |
+
'link' => $wp_styles->registered[$handle]->src,
|
160 |
+
);
|
161 |
+
}
|
162 |
+
}
|
163 |
+
|
164 |
+
$saved_font_awesome_requests = 0;
|
165 |
+
$saved_google_fonts_requests = 0;
|
166 |
+
|
167 |
+
if( $load_font_awesome && (!empty($font_awesome_links['internal']) || !empty($font_awesome_links['external'])) ) {
|
168 |
+
|
169 |
+
// @note: Prioritize external links.
|
170 |
+
$fa_links = !empty($font_awesome_links['external'])
|
171 |
+
? $font_awesome_links['external']
|
172 |
+
: $font_awesome_links['internal'];
|
173 |
+
|
174 |
+
$selected_fa_link = $fa_links[0];
|
175 |
+
|
176 |
+
$links_count = count($fa_links);
|
177 |
+
if( 1 < $links_count ) {
|
178 |
+
for($i = 1; $i < $links_count; $i++) {
|
179 |
+
if( false !== $fa_links[$i]['ver'] && (false === $selected_fa_link['ver'] || version_compare($selected_fa_link['ver'], $fa_links[$i]['ver'], '<'))
|
180 |
+
) {
|
181 |
+
$selected_fa_link = $fa_links[$i];
|
182 |
+
}
|
183 |
+
}
|
184 |
+
}
|
185 |
+
|
186 |
+
$ret[$this->plugin->getPluginName() . '-font-awesome'] = esc_url($selected_fa_link['link']);
|
187 |
+
|
188 |
+
$this->updateSavedFontAwesomeRequests(count($font_awesome_links['internal']) + count($font_awesome_links['external']));
|
189 |
+
} else {
|
190 |
+
$this->updateSavedFontAwesomeRequests(0);
|
191 |
+
}
|
192 |
+
|
193 |
+
if( $load_google_fonts && !empty($gfonts_links) ) {
|
194 |
+
|
195 |
+
$ret[$this->plugin->getPluginName() . '-google-fonts'] = esc_url($this->combineGoogleFontsLinks($gfonts_links));
|
196 |
+
|
197 |
+
$this->updateSavedGoogleFontsRequest(count($gfonts_links));
|
198 |
+
} else {
|
199 |
+
$this->updateSavedGoogleFontsRequest(0);
|
200 |
+
}
|
201 |
+
} else {
|
202 |
+
$this->updateSavedFontAwesomeRequests(0);
|
203 |
+
$this->updateSavedGoogleFontsRequest(0);
|
204 |
+
}
|
205 |
+
}
|
206 |
+
|
207 |
+
return $ret;
|
208 |
+
}
|
209 |
+
|
210 |
+
private function updateSavedGoogleFontsRequest($count)
|
211 |
+
{
|
212 |
+
$count = !isset($count)
|
213 |
+
? 0
|
214 |
+
: (int)$count;
|
215 |
+
|
216 |
+
$old_val = $this->getOption('combined_font_awesome_requests_number');
|
217 |
+
|
218 |
+
if( false === $old_val || (false !== $old_val && $count > (int)$old_val) ) {
|
219 |
+
$this->updateOption('combined_font_awesome_requests_number', $count);
|
220 |
+
}
|
221 |
+
}
|
222 |
+
|
223 |
+
private function updateSavedFontAwesomeRequests($count)
|
224 |
+
{
|
225 |
+
$count = !isset($count)
|
226 |
+
? 0
|
227 |
+
: (int)$count;
|
228 |
+
|
229 |
+
$old_val = $this->getOption('combined_google_fonts_requests_number');
|
230 |
+
|
231 |
+
if( false === $old_val || (false !== $old_val && $count > (int)$old_val) ) {
|
232 |
+
$this->updateOption('combined_google_fonts_requests_number', $count);
|
233 |
+
}
|
234 |
+
}
|
235 |
+
|
236 |
+
public static function saved_external_requests()
|
237 |
+
{
|
238 |
+
$google_fonts = (int)WCL_Plugin::app()->getOption('combined_google_fonts_requests_number');
|
239 |
+
$font_awesome = (int)WCL_Plugin::app()->getOption('combined_font_awesome_requests_number');
|
240 |
+
|
241 |
+
$google_fonts_saved = 1 < $google_fonts
|
242 |
+
? $google_fonts - 1
|
243 |
+
: 0;
|
244 |
+
$font_awesome_saved = 1 < $font_awesome
|
245 |
+
? $font_awesome - 1
|
246 |
+
: 0;
|
247 |
+
|
248 |
+
return $google_fonts_saved + $font_awesome_saved;
|
249 |
+
}
|
250 |
+
|
251 |
+
/**
|
252 |
+
* Combine multiple Google Fonts links into one.
|
253 |
+
*
|
254 |
+
* @param array $links An array of the different Google Fonts links. Default array().
|
255 |
+
* @return string The compined Google Fonts link.
|
256 |
+
*/
|
257 |
+
private function combineGoogleFontsLinks($links = array())
|
258 |
+
{
|
259 |
+
|
260 |
+
if( !is_array($links) ) {
|
261 |
+
return $links;
|
262 |
+
}
|
263 |
+
|
264 |
+
$links = array_unique($links);
|
265 |
+
|
266 |
+
if( 1 === count($links) ) {
|
267 |
+
return $links[0];
|
268 |
+
}
|
269 |
+
|
270 |
+
$protocol = 'https';
|
271 |
+
$base_url = '//fonts.googleapis.com/css';
|
272 |
+
$family_arg = 'family';
|
273 |
+
$subset_arg = 'subset';
|
274 |
+
|
275 |
+
$base_url_len = strlen($base_url);
|
276 |
+
$family_arg_len = strlen($family_arg);
|
277 |
+
|
278 |
+
$fonts = array();
|
279 |
+
$cnt = 0;
|
280 |
+
|
281 |
+
$clean_links = array();
|
282 |
+
foreach($links as $k => $v) {
|
283 |
+
|
284 |
+
$base_url_pos = strrpos($v, $base_url);
|
285 |
+
|
286 |
+
$args_str = trim(substr($v, ($base_url_len + $base_url_pos), strlen($v)));
|
287 |
+
|
288 |
+
if( substr($args_str, 0, $family_arg_len + 2) === '?' . $family_arg . '=' ) {
|
289 |
+
$args_str = substr($args_str, $family_arg_len + 2, strlen($args_str));
|
290 |
+
}
|
291 |
+
|
292 |
+
$tmp = explode('|', $args_str);
|
293 |
+
$tmp_count = count($tmp);
|
294 |
+
for($i = 0; $i < $tmp_count; $i++) {
|
295 |
+
$clean_links[] = $tmp[$i];
|
296 |
+
}
|
297 |
+
}
|
298 |
+
|
299 |
+
foreach($clean_links as $k => $v) {
|
300 |
+
|
301 |
+
$expl = explode('&' . $subset_arg, $v);
|
302 |
+
|
303 |
+
if( isset($expl[0]) && !empty($expl[0]) ) {
|
304 |
+
|
305 |
+
$tmp = explode(':', $expl[0]);
|
306 |
+
|
307 |
+
if( isset($tmp[0]) && !empty($tmp[0]) ) {
|
308 |
+
|
309 |
+
// Has font family name.
|
310 |
+
$font_name = str_replace(' ', '+', $tmp[0]);
|
311 |
+
|
312 |
+
if( !isset($fonts[$font_name]) ) {
|
313 |
+
$fonts[$font_name] = array(
|
314 |
+
'sizes' => array(),
|
315 |
+
'subsets' => array(),
|
316 |
+
);
|
317 |
+
}
|
318 |
+
|
319 |
+
if( isset($tmp[1]) && !empty($tmp[1]) ) {
|
320 |
+
|
321 |
+
// Has font sizes.
|
322 |
+
$x = explode(',', $tmp[1]);
|
323 |
+
$xc = count($x);
|
324 |
+
|
325 |
+
foreach($x as $xk => $xv) {
|
326 |
+
if( !in_array($xv, $fonts[$font_name]['sizes'], true) && (400 !== (int)$xv || $xc > 1) ) {
|
327 |
+
$fonts[$font_name]['sizes'][] = $xv;
|
328 |
+
}
|
329 |
+
}
|
330 |
+
}
|
331 |
+
|
332 |
+
if( isset($expl[1]) && !empty($expl[1]) ) {
|
333 |
+
|
334 |
+
// Has subsets.
|
335 |
+
$y = explode(',', $expl[1]);
|
336 |
+
$yc = count($y);
|
337 |
+
|
338 |
+
foreach($y as $yk => $yv) {
|
339 |
+
|
340 |
+
if( '=' === substr($yv, 0, 1) ) {
|
341 |
+
$yv = substr($yv, 1, strlen($yv));
|
342 |
+
}
|
343 |
+
|
344 |
+
if( !in_array($yv, $fonts[$font_name]['subsets'], true) && ('latin' !== $yv || $yc > 1) ) {
|
345 |
+
$fonts[$font_name]['subsets'][] = $yv;
|
346 |
+
}
|
347 |
+
}
|
348 |
+
}
|
349 |
+
}// End if().
|
350 |
+
}// End if().
|
351 |
+
}// End foreach().
|
352 |
+
|
353 |
+
$ret = '';
|
354 |
+
|
355 |
+
if( !empty($fonts) ) {
|
356 |
+
|
357 |
+
$ret .= $protocol . ':' . $base_url;
|
358 |
+
$i = 0;
|
359 |
+
$subsets = array();
|
360 |
+
|
361 |
+
foreach($fonts as $key => $val) {
|
362 |
+
|
363 |
+
if( 0 === $i ) {
|
364 |
+
$ret .= '?' . $family_arg . '=';
|
365 |
+
} else {
|
366 |
+
$ret .= '|';
|
367 |
+
}
|
368 |
+
|
369 |
+
$ret .= $key;
|
370 |
+
|
371 |
+
if( !empty($val['sizes']) ) {
|
372 |
+
$ret .= ':' . implode(',', $val['sizes']);
|
373 |
+
}
|
374 |
+
|
375 |
+
if( !empty($val['subsets']) ) {
|
376 |
+
$subsets = array_merge($subsets, $val['subsets']);
|
377 |
+
}
|
378 |
+
|
379 |
+
$i++;
|
380 |
+
}
|
381 |
+
|
382 |
+
if( !empty($subsets) ) {
|
383 |
+
$ret .= '&' . $subset_arg . '=' . implode(',', $subsets);
|
384 |
+
}
|
385 |
+
}
|
386 |
+
|
387 |
+
return $ret;
|
388 |
+
}
|
389 |
+
|
390 |
+
/** ======================================================================== */
|
391 |
+
// End Lazy load fonts
|
392 |
+
/** ======================================================================== */
|
393 |
+
|
394 |
+
public function cronAdditions($schedules)
|
395 |
+
{
|
396 |
+
$schedules['weekly'] = array(
|
397 |
+
'interval' => DAY_IN_SECONDS * 7,
|
398 |
+
'display' => __('Once Weekly'),
|
399 |
+
);
|
400 |
+
|
401 |
+
$schedules['twicemonthly'] = array(
|
402 |
+
'interval' => DAY_IN_SECONDS * 14,
|
403 |
+
'display' => __('Twice Monthly'),
|
404 |
+
);
|
405 |
+
|
406 |
+
$schedules['monthly'] = array(
|
407 |
+
'interval' => DAY_IN_SECONDS * 30,
|
408 |
+
'display' => __('Once Monthly'),
|
409 |
+
);
|
410 |
+
|
411 |
+
return $schedules;
|
412 |
+
}
|
413 |
+
|
414 |
+
public function updateLocalGoogleAnaliticScript()
|
415 |
+
{
|
416 |
+
include(WCL_PLUGIN_DIR . '/includes/update-local-ga.php');
|
417 |
+
}
|
418 |
+
|
419 |
+
private function addGoogleAnaliticsScript()
|
420 |
+
{
|
421 |
+
$ga_tracking_id = $this->getOption('ga_tracking_id');
|
422 |
+
|
423 |
+
if( !empty($ga_tracking_id) ) {
|
424 |
+
$local_ga_file = WCL_PLUGIN_DIR . '/cache/local-ga.js';
|
425 |
+
// If file is not created yet, create now!
|
426 |
+
if( !file_exists($local_ga_file) ) {
|
427 |
+
ob_start();
|
428 |
+
do_action('wbcr_clearfy_update_local_ga');
|
429 |
+
ob_end_clean();
|
430 |
+
}
|
431 |
+
|
432 |
+
$ga_script_position = $this->getOption('ga_script_position', 'footer');
|
433 |
+
$ga_enqueue_order = $this->getOption('ga_enqueue_order', 0);
|
434 |
+
|
435 |
+
switch( $ga_script_position ) {
|
436 |
+
case 'header':
|
437 |
+
add_action('wp_head', array($this, 'printGoogleAnalitics'), $ga_enqueue_order);
|
438 |
+
break;
|
439 |
+
default:
|
440 |
+
add_action('wp_footer', array($this, 'printGoogleAnalitics'), $ga_enqueue_order);
|
441 |
+
}
|
442 |
+
}
|
443 |
+
}
|
444 |
+
|
445 |
+
/**
|
446 |
+
* Generate tracking code and add to header/footer (default is header).
|
447 |
+
*/
|
448 |
+
public function printGoogleAnalitics()
|
449 |
+
{
|
450 |
+
$ga_tracking_id = $this->getOption('ga_tracking_id');
|
451 |
+
$ga_track_admin = $this->getOption('ga_track_admin');
|
452 |
+
|
453 |
+
// If user is admin we don't want to render the tracking code, when option is disabled.
|
454 |
+
if( empty($ga_tracking_id) || (current_user_can('manage_options') && (!$ga_track_admin)) ) {
|
455 |
+
return;
|
456 |
+
}
|
457 |
+
|
458 |
+
$ga_adjusted_bounce_rate = $this->getOption('ga_adjusted_bounce_rate', 0);
|
459 |
+
$ga_anonymize_ip = $this->getOption('ga_anonymize_ip');
|
460 |
+
$ga_caos_disable_display_features = $this->getOption('ga_caos_disable_display_features');
|
461 |
+
|
462 |
+
echo "<!-- Google Analytics Local by Clearfy -->" . PHP_EOL;
|
463 |
+
|
464 |
+
echo "<script>" . PHP_EOL;
|
465 |
+
echo "(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
466 |
+
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
467 |
+
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
468 |
+
})(window,document,'script','" . WCL_PLUGIN_URL . "/cache/local-ga.js','ga');" . PHP_EOL;
|
469 |
+
|
470 |
+
echo "ga('create', '" . $ga_tracking_id . "', 'auto');" . PHP_EOL;
|
471 |
+
|
472 |
+
echo 'on' === $ga_caos_disable_display_features
|
473 |
+
? "ga('set', 'displayFeaturesTask', null);" . PHP_EOL
|
474 |
+
: '';
|
475 |
+
|
476 |
+
echo 'on' === $ga_anonymize_ip
|
477 |
+
? "ga('set', 'anonymizeIp', true);" . PHP_EOL
|
478 |
+
: '';
|
479 |
+
|
480 |
+
echo "ga('send', 'pageview');";
|
481 |
+
|
482 |
+
echo $ga_adjusted_bounce_rate
|
483 |
+
? 'setTimeout("ga(' . "'send','event','adjusted bounce rate','" . $ga_adjusted_bounce_rate . " seconds')" . '"' . ',' . $ga_adjusted_bounce_rate * 1000 . ');' . PHP_EOL
|
484 |
+
: '';
|
485 |
+
|
486 |
+
echo PHP_EOL . '</script>' . PHP_EOL;
|
487 |
+
|
488 |
+
echo "<!-- end Google Analytics Local by Clearfy -->" . PHP_EOL;
|
489 |
+
}
|
490 |
+
}
|
includes/classes/{class.configurate-code-clean.php → class.configurate-performance.php}
RENAMED
@@ -1,57 +1,109 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
/**
|
4 |
* This class configures the code cleanup settings
|
5 |
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
6 |
* @copyright (c) 2017 Webraftic Ltd
|
7 |
* @version 1.0
|
8 |
*/
|
9 |
-
|
10 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
public function registerActionsAndFilters()
|
12 |
{
|
13 |
if( $this->getOption('disable_emoji') ) {
|
14 |
add_action('init', array($this, 'disableEmojis'));
|
15 |
}
|
16 |
-
|
17 |
-
if( $this->getOption('remove_jquery_migrate') ) {
|
18 |
add_filter('wp_default_scripts', array($this, 'removeJqueryMigrate'));
|
19 |
}
|
|
|
20 |
if( $this->getOption('disable_embeds') ) {
|
21 |
add_action('init', array($this, 'disableEmbeds'));
|
22 |
}
|
23 |
-
|
24 |
if( $this->getOption('disable_json_rest_api') ) {
|
25 |
add_action('init', array($this, 'removeRestApi'));
|
26 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
|
28 |
-
|
29 |
-
|
30 |
-
|
|
|
31 |
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
|
40 |
-
|
41 |
-
|
|
|
|
|
|
|
42 |
}
|
43 |
-
|
44 |
-
$this->remove_tags_from_head();
|
45 |
}
|
46 |
|
|
|
47 |
/**
|
48 |
-
*
|
49 |
-
*
|
50 |
-
*
|
51 |
-
* Author: Ryan Hellyer
|
52 |
-
* Author URI: https://geek.hellyer.kiwi/
|
53 |
-
* License: GPL2
|
54 |
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
|
56 |
public function disableEmojis()
|
57 |
{
|
@@ -63,11 +115,11 @@
|
|
63 |
remove_filter('comment_text_rss', 'wp_staticize_emoji');
|
64 |
remove_filter('wp_mail', 'wp_staticize_emoji_for_email');
|
65 |
add_filter('tiny_mce_plugins', array($this, 'disableEmojisTinymce'));
|
|
|
66 |
}
|
67 |
|
68 |
/**
|
69 |
* Filter function used to remove the tinymce emoji plugin.
|
70 |
-
*
|
71 |
* @param array $plugins
|
72 |
* @return array Difference betwen the two arrays
|
73 |
*/
|
@@ -83,17 +135,11 @@
|
|
83 |
}
|
84 |
}
|
85 |
|
86 |
-
/**
|
87 |
-
* Disable JSON API
|
88 |
-
* http://wp-kama.ru/question/kak-polnostyu-otklyuchit-rest-api-vvedennyj-v-wp-4-4
|
89 |
-
*/
|
90 |
-
|
91 |
public function removeRestApi()
|
92 |
{
|
93 |
-
|
94 |
// Disabled REST API
|
95 |
add_filter('rest_enabled', '__return_false');
|
96 |
-
|
97 |
// Add redirect except contact form and post request
|
98 |
if( (preg_match('#^/wp-json/(oembed|)#i', $_SERVER['REQUEST_URI']) || preg_match('#^/wp-json$#i', $_SERVER['REQUEST_URI'])) && (!preg_match('#^/wp-json/contact-form-7/#', $_SERVER['REQUEST_URI']) || $_SERVER['REQUEST_METHOD'] !== 'POST') ) {
|
99 |
wp_redirect(get_option('siteurl'), 301);
|
@@ -120,22 +166,16 @@
|
|
120 |
remove_filter('rest_pre_serve_request', '_oembed_rest_pre_serve_request', 10, 4);
|
121 |
remove_action('wp_head', 'wp_oembed_add_discovery_links');
|
122 |
}
|
123 |
-
|
124 |
-
|
125 |
-
* Remove styles for .recentcomments a
|
126 |
-
* .recentcomments a{display:inline !important;padding:0 !important;margin:0 !important;}
|
127 |
-
* https://github.com/nickyurov/
|
128 |
-
*/
|
129 |
-
|
130 |
public function removeRecentCommentsStyle()
|
131 |
{
|
132 |
-
|
133 |
global $wp_widget_factory;
|
134 |
-
|
135 |
$widget_recent_comments = isset($wp_widget_factory->widgets['WP_Widget_Recent_Comments'])
|
136 |
? $wp_widget_factory->widgets['WP_Widget_Recent_Comments']
|
137 |
: null;
|
138 |
-
|
139 |
if( !empty($widget_recent_comments) ) {
|
140 |
remove_action('wp_head', array(
|
141 |
$wp_widget_factory->widgets['WP_Widget_Recent_Comments'],
|
@@ -143,88 +183,171 @@
|
|
143 |
));
|
144 |
}
|
145 |
}
|
146 |
-
|
147 |
/**
|
148 |
* Disable feeds
|
149 |
-
|
150 |
*/
|
151 |
-
|
152 |
public function disableFeed()
|
153 |
{
|
154 |
-
|
155 |
-
|
156 |
-
|
|
|
|
|
|
|
|
|
|
|
157 |
remove_action('wp_head', 'feed_links', 2);
|
158 |
-
|
159 |
-
//Redirect feed URLs to home page
|
160 |
-
|
161 |
-
add_action('do_feed', array($this, 'disableFeedRedirect'), 1);
|
162 |
-
add_action('do_feed_rdf', array($this, 'disableFeedRedirect'), 1);
|
163 |
-
add_action('do_feed_rss', array($this, 'disableFeedRedirect'), 1);
|
164 |
-
add_action('do_feed_rss2', array($this, 'disableFeedRedirect'), 1);
|
165 |
-
add_action('do_feed_atom', array($this, 'disableFeedRedirect'), 1);
|
166 |
}
|
167 |
-
|
168 |
-
public function
|
169 |
{
|
170 |
-
|
171 |
-
|
172 |
-
wp_redirect(esc_url_raw(remove_query_arg('feed')), 301);
|
173 |
-
|
174 |
-
exit;
|
175 |
}
|
|
|
|
|
|
|
176 |
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
181 |
}
|
182 |
-
|
183 |
-
redirect_canonical();
|
184 |
-
|
185 |
-
wp_redirect(get_option('siteurl'), 301);
|
186 |
-
|
187 |
-
die();
|
188 |
}
|
189 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
190 |
/**
|
191 |
* Remove unnecessary tags from head
|
192 |
-
|
193 |
*/
|
194 |
-
|
195 |
public function remove_tags_from_head()
|
196 |
{
|
197 |
-
if( $this->getOption('remove_dns_prefetch') ) {
|
198 |
remove_action('wp_head', 'wp_resource_hints', 2);
|
199 |
-
}
|
200 |
-
|
201 |
if( $this->getOption('remove_rsd_link') ) {
|
202 |
remove_action('wp_head', 'rsd_link');
|
203 |
}
|
204 |
-
|
205 |
if( $this->getOption('remove_wlw_link') ) {
|
206 |
remove_action('wp_head', 'wlwmanifest_link');
|
207 |
}
|
208 |
-
|
209 |
if( $this->getOption('remove_adjacent_posts_link') ) {
|
210 |
remove_action('wp_head', 'adjacent_posts_rel_link', 10, 0);
|
211 |
remove_action('wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0);
|
212 |
-
/*add_filter('previous_post_link', array($this, 'removeNextPrevioslinks'));
|
213 |
-
add_filter('next_post_link', array($this, 'removeNextPrevioslinks'));*/
|
214 |
}
|
215 |
-
|
216 |
if( $this->getOption('remove_shortlink_link') ) {
|
217 |
remove_action('wp_head', 'wp_shortlink_wp_head', 10, 0);
|
218 |
remove_action('template_redirect', 'wp_shortlink_header', 11, 0);
|
219 |
}
|
220 |
-
}
|
221 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
222 |
/*public function removeNextPrevioslinks($format, $link)
|
223 |
{
|
224 |
return false;
|
225 |
}*/
|
226 |
-
|
227 |
// Remove jQuery Migrate
|
|
|
|
|
|
|
228 |
public function removeJqueryMigrate(&$scripts)
|
229 |
{
|
230 |
if( !is_admin() ) {
|
@@ -232,35 +355,35 @@
|
|
232 |
$scripts->add('jquery', false, array('jquery-core'), '1.12.4');
|
233 |
}
|
234 |
}
|
235 |
-
|
236 |
// Disable Embeds
|
237 |
public function disableEmbeds()
|
238 |
{
|
239 |
global $wp, $wp_embed;
|
240 |
-
|
241 |
$wp->public_query_vars = array_diff($wp->public_query_vars, array('embed'));
|
242 |
remove_filter('the_content', array($wp_embed, 'autoembed'), 8);
|
243 |
-
|
244 |
// Remove content feed filter
|
245 |
remove_filter('the_content_feed', '_oembed_filter_feed_content');
|
246 |
-
|
247 |
// Abort embed libraries loading
|
248 |
remove_action('plugins_loaded', 'wp_maybe_load_embeds', 0);
|
249 |
-
|
250 |
// No auto-embedding support
|
251 |
add_filter('pre_option_embed_autourls', '__return_false');
|
252 |
-
|
253 |
// Avoid oEmbed auto discovery
|
254 |
add_filter('embed_oembed_discover', '__return_false');
|
255 |
-
|
256 |
// Remove REST API related hooks
|
257 |
remove_action('rest_api_init', 'wp_oembed_register_route');
|
258 |
remove_filter('rest_pre_serve_request', '_oembed_rest_pre_serve_request', 10);
|
259 |
-
|
260 |
// Remove header actions
|
261 |
remove_action('wp_head', 'wp_oembed_add_discovery_links');
|
262 |
remove_action('wp_head', 'wp_oembed_add_host_js');
|
263 |
-
|
264 |
remove_action('embed_head', 'enqueue_embed_scripts', 1);
|
265 |
remove_action('embed_head', 'print_emoji_detection_script');
|
266 |
remove_action('embed_head', 'print_embed_styles');
|
@@ -269,40 +392,40 @@
|
|
269 |
remove_action('embed_head', 'wp_no_robots');
|
270 |
remove_action('embed_head', 'rel_canonical');
|
271 |
remove_action('embed_head', 'locale_stylesheet', 30);
|
272 |
-
|
273 |
remove_action('embed_content_meta', 'print_embed_comments_button');
|
274 |
remove_action('embed_content_meta', 'print_embed_sharing_button');
|
275 |
-
|
276 |
remove_action('embed_footer', 'print_embed_sharing_dialog');
|
277 |
remove_action('embed_footer', 'print_embed_scripts');
|
278 |
remove_action('embed_footer', 'wp_print_footer_scripts', 20);
|
279 |
-
|
280 |
remove_filter('excerpt_more', 'wp_embed_excerpt_more', 20);
|
281 |
remove_filter('the_excerpt_embed', 'wptexturize');
|
282 |
remove_filter('the_excerpt_embed', 'convert_chars');
|
283 |
remove_filter('the_excerpt_embed', 'wpautop');
|
284 |
remove_filter('the_excerpt_embed', 'shortcode_unautop');
|
285 |
remove_filter('the_excerpt_embed', 'wp_embed_excerpt_attachment');
|
286 |
-
|
287 |
// Remove data and results filters
|
288 |
remove_filter('oembed_dataparse', 'wp_filter_oembed_result', 10);
|
289 |
remove_filter('oembed_response_data', 'get_oembed_response_data_rich', 10);
|
290 |
remove_filter('pre_oembed_result', 'wp_filter_pre_oembed_result', 10);
|
291 |
-
|
292 |
// WooCommerce embeds in short description
|
293 |
remove_filter('woocommerce_short_description', 'wc_do_oembeds');
|
294 |
-
|
295 |
add_filter('tiny_mce_plugins', array($this, 'disableEmbedsTinyMcePlugin'));
|
296 |
add_filter('rewrite_rules_array', array($this, 'disableEmbedsRewrites'));
|
297 |
-
|
298 |
wp_deregister_script('wp-embed');
|
299 |
}
|
300 |
-
|
301 |
public function disableEmbedsTinyMcePlugin($plugins)
|
302 |
{
|
303 |
return array_diff($plugins, array('wpembed', 'wpview'));
|
304 |
}
|
305 |
-
|
306 |
public function disableEmbedsRewrites($rules)
|
307 |
{
|
308 |
$new_rules = array();
|
@@ -315,27 +438,30 @@
|
|
315 |
}
|
316 |
$new_rules[$rule] = $rewrite;
|
317 |
}
|
318 |
-
|
319 |
return $new_rules;
|
320 |
}
|
321 |
-
|
322 |
public function htmlCompressor()
|
323 |
{
|
324 |
ob_start(array($this, 'htmlCompressorMain'));
|
325 |
}
|
326 |
|
327 |
-
public function htmlCompressorMain($
|
328 |
{
|
329 |
-
|
330 |
-
}
|
331 |
|
332 |
-
|
333 |
-
|
334 |
-
ob_start(array($this, 'removeHtmlCommentsMain'));
|
335 |
-
}
|
336 |
|
337 |
-
|
338 |
-
|
339 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
340 |
}
|
341 |
}
|
1 |
<?php
|
|
|
2 |
/**
|
3 |
* This class configures the code cleanup settings
|
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 |
+
class WCL_ConfigPerformance extends Wbcr_FactoryClearfy200_Configurate {
|
15 |
+
|
16 |
+
/**
|
17 |
+
* @param WCL_Plugin $plugin
|
18 |
+
*/
|
19 |
+
public function __construct(WCL_Plugin $plugin)
|
20 |
+
{
|
21 |
+
parent::__construct($plugin);
|
22 |
+
|
23 |
+
$this->plugin = $plugin;
|
24 |
+
}
|
25 |
+
|
26 |
public function registerActionsAndFilters()
|
27 |
{
|
28 |
if( $this->getOption('disable_emoji') ) {
|
29 |
add_action('init', array($this, 'disableEmojis'));
|
30 |
}
|
31 |
+
|
32 |
+
if( $this->getOption('remove_jquery_migrate') && !is_admin() ) {
|
33 |
add_filter('wp_default_scripts', array($this, 'removeJqueryMigrate'));
|
34 |
}
|
35 |
+
|
36 |
if( $this->getOption('disable_embeds') ) {
|
37 |
add_action('init', array($this, 'disableEmbeds'));
|
38 |
}
|
39 |
+
|
40 |
if( $this->getOption('disable_json_rest_api') ) {
|
41 |
add_action('init', array($this, 'removeRestApi'));
|
42 |
}
|
43 |
+
|
44 |
+
if( !is_admin() ) {
|
45 |
+
if( $this->getOption('disable_feed') ) {
|
46 |
+
$this->disableFeed();
|
47 |
+
}
|
48 |
+
|
49 |
+
if( $this->getOption('disable_dashicons') ) {
|
50 |
+
add_action('wp_print_styles', array($this, 'disableDashicons'), -1);
|
51 |
+
}
|
52 |
+
|
53 |
+
if( $this->getOption('html_minify') || $this->getOption('remove_xfn_link') ) {
|
54 |
+
add_action('wp_loaded', array($this, 'htmlCompressor'));
|
55 |
+
}
|
56 |
+
|
57 |
+
if( $this->getOption('remove_recent_comments_style') ) {
|
58 |
+
add_action('widgets_init', array($this, 'removeRecentCommentsStyle'));
|
59 |
+
}
|
60 |
|
61 |
+
/**
|
62 |
+
* Priority set to 9999. Higher numbers correspond with later execution.
|
63 |
+
* Hook into the style loader and remove the version information.
|
64 |
+
*/
|
65 |
|
66 |
+
if( $this->getOption('remove_style_version') ) {
|
67 |
+
add_filter('style_loader_src', array($this, 'hideWordpressVersionInScript'), 9999, 2);
|
68 |
+
}
|
69 |
|
70 |
+
/**
|
71 |
+
* Hook into the script loader and remove the version information.
|
72 |
+
*/
|
73 |
|
74 |
+
if( $this->getOption('remove_js_version') ) {
|
75 |
+
add_filter('script_loader_src', array($this, 'hideWordpressVersionInScript'), 9999, 2);
|
76 |
+
}
|
77 |
+
|
78 |
+
$this->remove_tags_from_head();
|
79 |
}
|
|
|
|
|
80 |
}
|
81 |
|
82 |
+
|
83 |
/**
|
84 |
+
* Remove wp version from any enqueued scripts
|
85 |
+
* @param string $target_url
|
86 |
+
* @return string
|
|
|
|
|
|
|
87 |
*/
|
88 |
+
public function hideWordpressVersionInScript($src, $handle)
|
89 |
+
{
|
90 |
+
$filename_arr = explode('?', basename($src));
|
91 |
+
$exclude_file_list = $this->getOption('remove_version_exclude', '');
|
92 |
+
$exclude_files_arr = array_map('trim', explode(PHP_EOL, $exclude_file_list));
|
93 |
+
|
94 |
+
if( strpos($src, 'ver=') && !in_array(str_replace('?' . $filename_arr[1], '', $src), $exclude_files_arr, true) ) {
|
95 |
+
$src = remove_query_arg('ver', $src);
|
96 |
+
}
|
97 |
+
|
98 |
+
return $src;
|
99 |
+
}
|
100 |
+
|
101 |
+
public function disableDashicons()
|
102 |
+
{
|
103 |
+
if( !is_admin_bar_showing() && !is_customize_preview() ) {
|
104 |
+
wp_deregister_style('dashicons');
|
105 |
+
}
|
106 |
+
}
|
107 |
|
108 |
public function disableEmojis()
|
109 |
{
|
115 |
remove_filter('comment_text_rss', 'wp_staticize_emoji');
|
116 |
remove_filter('wp_mail', 'wp_staticize_emoji_for_email');
|
117 |
add_filter('tiny_mce_plugins', array($this, 'disableEmojisTinymce'));
|
118 |
+
add_filter('emoji_svg_url', '__return_false');
|
119 |
}
|
120 |
|
121 |
/**
|
122 |
* Filter function used to remove the tinymce emoji plugin.
|
|
|
123 |
* @param array $plugins
|
124 |
* @return array Difference betwen the two arrays
|
125 |
*/
|
135 |
}
|
136 |
}
|
137 |
|
|
|
|
|
|
|
|
|
|
|
138 |
public function removeRestApi()
|
139 |
{
|
|
|
140 |
// Disabled REST API
|
141 |
add_filter('rest_enabled', '__return_false');
|
142 |
+
|
143 |
// Add redirect except contact form and post request
|
144 |
if( (preg_match('#^/wp-json/(oembed|)#i', $_SERVER['REQUEST_URI']) || preg_match('#^/wp-json$#i', $_SERVER['REQUEST_URI'])) && (!preg_match('#^/wp-json/contact-form-7/#', $_SERVER['REQUEST_URI']) || $_SERVER['REQUEST_METHOD'] !== 'POST') ) {
|
145 |
wp_redirect(get_option('siteurl'), 301);
|
166 |
remove_filter('rest_pre_serve_request', '_oembed_rest_pre_serve_request', 10, 4);
|
167 |
remove_action('wp_head', 'wp_oembed_add_discovery_links');
|
168 |
}
|
169 |
+
|
170 |
+
// todo: не работает должным образом, проверить
|
|
|
|
|
|
|
|
|
|
|
171 |
public function removeRecentCommentsStyle()
|
172 |
{
|
|
|
173 |
global $wp_widget_factory;
|
174 |
+
|
175 |
$widget_recent_comments = isset($wp_widget_factory->widgets['WP_Widget_Recent_Comments'])
|
176 |
? $wp_widget_factory->widgets['WP_Widget_Recent_Comments']
|
177 |
: null;
|
178 |
+
|
179 |
if( !empty($widget_recent_comments) ) {
|
180 |
remove_action('wp_head', array(
|
181 |
$wp_widget_factory->widgets['WP_Widget_Recent_Comments'],
|
183 |
));
|
184 |
}
|
185 |
}
|
186 |
+
|
187 |
/**
|
188 |
* Disable feeds
|
|
|
189 |
*/
|
|
|
190 |
public function disableFeed()
|
191 |
{
|
192 |
+
add_action('wp_loaded', array($this, 'removeFeedLinks'));
|
193 |
+
add_action('template_redirect', array($this, 'filterFeeds'), 1);
|
194 |
+
add_filter('bbp_request', array($this, 'filterBbpFeeds'), 9);
|
195 |
+
}
|
196 |
+
|
197 |
+
|
198 |
+
public function removeFeedLinks()
|
199 |
+
{
|
200 |
remove_action('wp_head', 'feed_links', 2);
|
201 |
+
remove_action('wp_head', 'feed_links_extra', 3);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
202 |
}
|
203 |
+
|
204 |
+
public function filterFeeds()
|
205 |
{
|
206 |
+
if( !is_feed() || is_404() ) {
|
207 |
+
return;
|
|
|
|
|
|
|
208 |
}
|
209 |
+
|
210 |
+
$this->disabled_feed_behaviour();
|
211 |
+
}
|
212 |
|
213 |
+
public function disabled_feed_behaviour()
|
214 |
+
{
|
215 |
+
global $wp_rewrite, $wp_query;
|
216 |
+
|
217 |
+
if( $this->getOption('disabled_feed_behaviour', 'redirect_301') == 'redirect_404' ) {
|
218 |
+
$wp_query->is_feed = false;
|
219 |
+
$wp_query->set_404();
|
220 |
+
status_header(404);
|
221 |
+
// Override the xml+rss header set by WP in send_headers
|
222 |
+
header('Content-Type: ' . get_option('html_type') . '; charset=' . get_option('blog_charset'));
|
223 |
+
} else {
|
224 |
+
if( isset($_GET['feed']) ) {
|
225 |
+
wp_redirect(esc_url_raw(remove_query_arg('feed')), 301);
|
226 |
+
exit;
|
227 |
+
}
|
228 |
+
|
229 |
+
if( 'old' !== get_query_var('feed') ) { // WP redirects these anyway, and removing the query var will confuse it thoroughly
|
230 |
+
set_query_var('feed', '');
|
231 |
+
}
|
232 |
+
|
233 |
+
redirect_canonical(); // Let WP figure out the appropriate redirect URL.
|
234 |
+
|
235 |
+
// Still here? redirect_canonical failed to redirect, probably because of a filter. Try the hard way.
|
236 |
+
$struct = (!is_singular() && is_comment_feed())
|
237 |
+
? $wp_rewrite->get_comment_feed_permastruct()
|
238 |
+
: $wp_rewrite->get_feed_permastruct();
|
239 |
+
|
240 |
+
$struct = preg_quote($struct, '#');
|
241 |
+
$struct = str_replace('%feed%', '(\w+)?', $struct);
|
242 |
+
$struct = preg_replace('#/+#', '/', $struct);
|
243 |
+
$requested_url = (is_ssl()
|
244 |
+
? 'https://'
|
245 |
+
: 'http://') . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
|
246 |
+
|
247 |
+
$new_url = preg_replace('#' . $struct . '/?$#', '', $requested_url);
|
248 |
+
|
249 |
+
if( $new_url !== $requested_url ) {
|
250 |
+
wp_redirect($new_url, 301);
|
251 |
+
exit;
|
252 |
+
}
|
253 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
254 |
}
|
255 |
+
|
256 |
+
/**
|
257 |
+
* BBPress feed detection sourced from bbp_request_feed_trap() in BBPress Core.
|
258 |
+
*
|
259 |
+
* @param array $query_vars
|
260 |
+
* @return array
|
261 |
+
*/
|
262 |
+
public function filterBbpFeeds($query_vars)
|
263 |
+
{
|
264 |
+
// Looking at a feed
|
265 |
+
if( isset($query_vars['feed']) ) {
|
266 |
+
|
267 |
+
// Forum/Topic/Reply Feed
|
268 |
+
if( isset($query_vars['post_type']) ) {
|
269 |
+
|
270 |
+
// Matched post type
|
271 |
+
$post_type = false;
|
272 |
+
$post_types = array();
|
273 |
+
|
274 |
+
if( function_exists('bbp_get_forum_post_type') && function_exists('bbp_get_topic_post_type') && function_exists('bbp_get_reply_post_type') ) // Post types to check
|
275 |
+
{
|
276 |
+
$post_types = array(
|
277 |
+
bbp_get_forum_post_type(),
|
278 |
+
bbp_get_topic_post_type(),
|
279 |
+
bbp_get_reply_post_type(),
|
280 |
+
);
|
281 |
+
}
|
282 |
+
|
283 |
+
// Cast query vars as array outside of foreach loop
|
284 |
+
$qv_array = (array)$query_vars['post_type'];
|
285 |
+
|
286 |
+
// Check if this query is for a bbPress post type
|
287 |
+
foreach($post_types as $bbp_pt) {
|
288 |
+
if( in_array($bbp_pt, $qv_array, true) ) {
|
289 |
+
$post_type = $bbp_pt;
|
290 |
+
break;
|
291 |
+
}
|
292 |
+
}
|
293 |
+
|
294 |
+
// Looking at a bbPress post type
|
295 |
+
if( !empty($post_type) ) {
|
296 |
+
$this->disabled_feed_behaviour();
|
297 |
+
}
|
298 |
+
}
|
299 |
+
}
|
300 |
+
|
301 |
+
// No feed so continue on
|
302 |
+
return $query_vars;
|
303 |
+
}
|
304 |
+
|
305 |
/**
|
306 |
* Remove unnecessary tags from head
|
|
|
307 |
*/
|
|
|
308 |
public function remove_tags_from_head()
|
309 |
{
|
310 |
+
/*if( $this->getOption('remove_dns_prefetch') ) {
|
311 |
remove_action('wp_head', 'wp_resource_hints', 2);
|
312 |
+
}*/
|
313 |
+
|
314 |
if( $this->getOption('remove_rsd_link') ) {
|
315 |
remove_action('wp_head', 'rsd_link');
|
316 |
}
|
317 |
+
|
318 |
if( $this->getOption('remove_wlw_link') ) {
|
319 |
remove_action('wp_head', 'wlwmanifest_link');
|
320 |
}
|
321 |
+
|
322 |
if( $this->getOption('remove_adjacent_posts_link') ) {
|
323 |
remove_action('wp_head', 'adjacent_posts_rel_link', 10, 0);
|
324 |
remove_action('wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0);
|
|
|
|
|
325 |
}
|
326 |
+
|
327 |
if( $this->getOption('remove_shortlink_link') ) {
|
328 |
remove_action('wp_head', 'wp_shortlink_wp_head', 10, 0);
|
329 |
remove_action('template_redirect', 'wp_shortlink_header', 11, 0);
|
330 |
}
|
|
|
331 |
|
332 |
+
if( $this->getOption('remove_xfn_link') ) {
|
333 |
+
add_filter('avf_profile_head_tag', array($this, 'removeXfnLink'));
|
334 |
+
}
|
335 |
+
}
|
336 |
+
|
337 |
+
public function removeXfnLink()
|
338 |
+
{
|
339 |
+
return false;
|
340 |
+
}
|
341 |
+
|
342 |
/*public function removeNextPrevioslinks($format, $link)
|
343 |
{
|
344 |
return false;
|
345 |
}*/
|
346 |
+
|
347 |
// Remove jQuery Migrate
|
348 |
+
/**
|
349 |
+
* @param WP_Scripts $scripts
|
350 |
+
*/
|
351 |
public function removeJqueryMigrate(&$scripts)
|
352 |
{
|
353 |
if( !is_admin() ) {
|
355 |
$scripts->add('jquery', false, array('jquery-core'), '1.12.4');
|
356 |
}
|
357 |
}
|
358 |
+
|
359 |
// Disable Embeds
|
360 |
public function disableEmbeds()
|
361 |
{
|
362 |
global $wp, $wp_embed;
|
363 |
+
|
364 |
$wp->public_query_vars = array_diff($wp->public_query_vars, array('embed'));
|
365 |
remove_filter('the_content', array($wp_embed, 'autoembed'), 8);
|
366 |
+
|
367 |
// Remove content feed filter
|
368 |
remove_filter('the_content_feed', '_oembed_filter_feed_content');
|
369 |
+
|
370 |
// Abort embed libraries loading
|
371 |
remove_action('plugins_loaded', 'wp_maybe_load_embeds', 0);
|
372 |
+
|
373 |
// No auto-embedding support
|
374 |
add_filter('pre_option_embed_autourls', '__return_false');
|
375 |
+
|
376 |
// Avoid oEmbed auto discovery
|
377 |
add_filter('embed_oembed_discover', '__return_false');
|
378 |
+
|
379 |
// Remove REST API related hooks
|
380 |
remove_action('rest_api_init', 'wp_oembed_register_route');
|
381 |
remove_filter('rest_pre_serve_request', '_oembed_rest_pre_serve_request', 10);
|
382 |
+
|
383 |
// Remove header actions
|
384 |
remove_action('wp_head', 'wp_oembed_add_discovery_links');
|
385 |
remove_action('wp_head', 'wp_oembed_add_host_js');
|
386 |
+
|
387 |
remove_action('embed_head', 'enqueue_embed_scripts', 1);
|
388 |
remove_action('embed_head', 'print_emoji_detection_script');
|
389 |
remove_action('embed_head', 'print_embed_styles');
|
392 |
remove_action('embed_head', 'wp_no_robots');
|
393 |
remove_action('embed_head', 'rel_canonical');
|
394 |
remove_action('embed_head', 'locale_stylesheet', 30);
|
395 |
+
|
396 |
remove_action('embed_content_meta', 'print_embed_comments_button');
|
397 |
remove_action('embed_content_meta', 'print_embed_sharing_button');
|
398 |
+
|
399 |
remove_action('embed_footer', 'print_embed_sharing_dialog');
|
400 |
remove_action('embed_footer', 'print_embed_scripts');
|
401 |
remove_action('embed_footer', 'wp_print_footer_scripts', 20);
|
402 |
+
|
403 |
remove_filter('excerpt_more', 'wp_embed_excerpt_more', 20);
|
404 |
remove_filter('the_excerpt_embed', 'wptexturize');
|
405 |
remove_filter('the_excerpt_embed', 'convert_chars');
|
406 |
remove_filter('the_excerpt_embed', 'wpautop');
|
407 |
remove_filter('the_excerpt_embed', 'shortcode_unautop');
|
408 |
remove_filter('the_excerpt_embed', 'wp_embed_excerpt_attachment');
|
409 |
+
|
410 |
// Remove data and results filters
|
411 |
remove_filter('oembed_dataparse', 'wp_filter_oembed_result', 10);
|
412 |
remove_filter('oembed_response_data', 'get_oembed_response_data_rich', 10);
|
413 |
remove_filter('pre_oembed_result', 'wp_filter_pre_oembed_result', 10);
|
414 |
+
|
415 |
// WooCommerce embeds in short description
|
416 |
remove_filter('woocommerce_short_description', 'wc_do_oembeds');
|
417 |
+
|
418 |
add_filter('tiny_mce_plugins', array($this, 'disableEmbedsTinyMcePlugin'));
|
419 |
add_filter('rewrite_rules_array', array($this, 'disableEmbedsRewrites'));
|
420 |
+
|
421 |
wp_deregister_script('wp-embed');
|
422 |
}
|
423 |
+
|
424 |
public function disableEmbedsTinyMcePlugin($plugins)
|
425 |
{
|
426 |
return array_diff($plugins, array('wpembed', 'wpview'));
|
427 |
}
|
428 |
+
|
429 |
public function disableEmbedsRewrites($rules)
|
430 |
{
|
431 |
$new_rules = array();
|
438 |
}
|
439 |
$new_rules[$rule] = $rewrite;
|
440 |
}
|
441 |
+
|
442 |
return $new_rules;
|
443 |
}
|
444 |
+
|
445 |
public function htmlCompressor()
|
446 |
{
|
447 |
ob_start(array($this, 'htmlCompressorMain'));
|
448 |
}
|
449 |
|
450 |
+
public function htmlCompressorMain($content)
|
451 |
{
|
452 |
+
$old_content = $content;
|
|
|
453 |
|
454 |
+
if( $this->getOption('remove_xfn_link') ) {
|
455 |
+
$content = preg_replace('/<link[^>]+href=(?:\'|")https?:\/\/gmpg.org\/xfn\/11(?:\'|")(?:[^>]+)?>/', '', $content);
|
|
|
|
|
456 |
|
457 |
+
if( empty($content) ) {
|
458 |
+
$content = $old_content;
|
459 |
+
}
|
460 |
+
}
|
461 |
+
if( $this->getOption('html_minify') ) {
|
462 |
+
$content = WCL_Helper::minifyHtml($content);
|
463 |
+
}
|
464 |
+
|
465 |
+
return $content;
|
466 |
}
|
467 |
}
|
includes/classes/class.configurate-privacy.php
CHANGED
@@ -6,52 +6,52 @@
|
|
6 |
* @copyright (c) 2017 Webraftic Ltd
|
7 |
* @version 1.0
|
8 |
*/
|
9 |
-
class WbcrClearfy_ConfigPrivacy extends WbcrFactoryClearfy_Configurate {
|
10 |
|
11 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
{
|
13 |
-
|
14 |
-
remove_action('wp_head', 'wp_generator');
|
15 |
-
add_filter('the_generator', '__return_empty_string');
|
16 |
-
}
|
17 |
|
18 |
-
|
19 |
-
|
20 |
-
* Hook into the style loader and remove the version information.
|
21 |
-
*/
|
22 |
|
23 |
-
|
24 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
}
|
|
|
26 |
|
27 |
-
/**
|
28 |
-
* Hook into the script loader and remove the version information.
|
29 |
-
*/
|
30 |
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
}
|
35 |
|
36 |
/**
|
37 |
-
*
|
38 |
-
* @param string $
|
39 |
-
* @return
|
40 |
*/
|
41 |
-
public function
|
42 |
{
|
43 |
-
|
44 |
-
|
45 |
-
}
|
46 |
-
|
47 |
-
$filename_arr = explode('?', basename($src));
|
48 |
-
$exclude_file_list = $this->getOption('remove_version_exclude', '');
|
49 |
-
$exclude_files_arr = array_map('trim', explode(PHP_EOL, $exclude_file_list));
|
50 |
-
|
51 |
-
if( strpos($src, 'ver=') && !in_array(str_replace('?' . $filename_arr[1], '', $src), $exclude_files_arr, true) ) {
|
52 |
-
$src = remove_query_arg('ver', $src);
|
53 |
-
}
|
54 |
-
|
55 |
-
return $src;
|
56 |
}
|
57 |
}
|
6 |
* @copyright (c) 2017 Webraftic Ltd
|
7 |
* @version 1.0
|
8 |
*/
|
|
|
9 |
|
10 |
+
// Exit if accessed directly
|
11 |
+
if( !defined('ABSPATH') ) {
|
12 |
+
exit;
|
13 |
+
}
|
14 |
+
|
15 |
+
class WCL_ConfigPrivacy extends Wbcr_FactoryClearfy200_Configurate {
|
16 |
+
|
17 |
+
/**
|
18 |
+
* @param WCL_Plugin $plugin
|
19 |
+
*/
|
20 |
+
public function __construct(WCL_Plugin $plugin)
|
21 |
{
|
22 |
+
parent::__construct($plugin);
|
|
|
|
|
|
|
23 |
|
24 |
+
$this->plugin = $plugin;
|
25 |
+
}
|
|
|
|
|
26 |
|
27 |
+
public function registerActionsAndFilters()
|
28 |
+
{
|
29 |
+
if( !is_admin() ) {
|
30 |
+
if( $this->getOption('remove_meta_generator') ) {
|
31 |
+
remove_action('wp_head', 'wp_generator');
|
32 |
+
add_filter('the_generator', '__return_empty_string');
|
33 |
+
}
|
34 |
+
|
35 |
+
if( $this->getOption('remove_html_comments') ) {
|
36 |
+
add_action('wp_loaded', array($this, 'removeHtmlComments'));
|
37 |
+
}
|
38 |
}
|
39 |
+
}
|
40 |
|
|
|
|
|
|
|
41 |
|
42 |
+
public function removeHtmlComments()
|
43 |
+
{
|
44 |
+
ob_start(array($this, 'removeHtmlCommentsMain'));
|
45 |
}
|
46 |
|
47 |
/**
|
48 |
+
* !ngg_resource - can not be deleted, otherwise the plugin nextgen gallery will not work
|
49 |
+
* @param string $data
|
50 |
+
* @return mixed
|
51 |
*/
|
52 |
+
public function removeHtmlCommentsMain($data)
|
53 |
{
|
54 |
+
//CLRF-166 issue fix bug with noindex (\s?\/?noindex)
|
55 |
+
return preg_replace('#<!--(?!<!|\s?ngg_resource|\s?\/?noindex)[^\[>].*?-->#s', '', $data);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
56 |
}
|
57 |
}
|
includes/classes/class.configurate-security.php
CHANGED
@@ -1,21 +1,38 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
/**
|
4 |
* This class configures security settings
|
5 |
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
6 |
* @copyright (c) 2017 Webraftic Ltd
|
7 |
* @version 1.0
|
8 |
*/
|
9 |
-
|
10 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
public function registerActionsAndFilters()
|
12 |
{
|
13 |
-
if(
|
14 |
-
|
15 |
-
|
|
|
16 |
|
17 |
-
|
18 |
-
|
|
|
19 |
}
|
20 |
}
|
21 |
|
@@ -40,7 +57,7 @@
|
|
40 |
|
41 |
public function protectAuthorGet()
|
42 |
{
|
43 |
-
if( isset($_GET['author'])
|
44 |
wp_redirect(home_url(), 301);
|
45 |
|
46 |
die();
|
1 |
<?php
|
|
|
2 |
/**
|
3 |
* This class configures security settings
|
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 |
+
class WCL_ConfigSecurity extends Wbcr_FactoryClearfy200_Configurate {
|
15 |
+
|
16 |
+
/**
|
17 |
+
* @param WCL_Plugin $plugin
|
18 |
+
*/
|
19 |
+
public function __construct(WCL_Plugin $plugin)
|
20 |
+
{
|
21 |
+
parent::__construct($plugin);
|
22 |
+
|
23 |
+
$this->plugin = $plugin;
|
24 |
+
}
|
25 |
+
|
26 |
public function registerActionsAndFilters()
|
27 |
{
|
28 |
+
if( !is_admin() ) {
|
29 |
+
if( $this->getOption('change_login_errors') ) {
|
30 |
+
add_filter('login_errors', array($this, 'changeLoginErrors'));
|
31 |
+
}
|
32 |
|
33 |
+
if( $this->getOption('protect_author_get') ) {
|
34 |
+
add_action('wp', array($this, 'protectAuthorGet'));
|
35 |
+
}
|
36 |
}
|
37 |
}
|
38 |
|
57 |
|
58 |
public function protectAuthorGet()
|
59 |
{
|
60 |
+
if( isset($_GET['author']) ) {
|
61 |
wp_redirect(home_url(), 301);
|
62 |
|
63 |
die();
|
includes/classes/class.configurate-seo.php
CHANGED
@@ -6,14 +6,26 @@
|
|
6 |
* @copyright (c) 2017 Webraftic Ltd
|
7 |
* @version 1.0
|
8 |
*/
|
9 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
|
11 |
public function registerActionsAndFilters()
|
12 |
{
|
13 |
-
global $wbcr_clearfy_plugin;
|
14 |
-
|
15 |
-
$preinsatall_components = (array)$wbcr_clearfy_plugin->options['deactive_preinstall_components'];
|
16 |
-
|
17 |
if( !is_admin() ) {
|
18 |
if( $this->getOption('content_image_auto_alt') ) {
|
19 |
add_filter('the_content', array($this, 'contentImageAutoAlt'));
|
@@ -54,7 +66,7 @@
|
|
54 |
add_action('wp_logout', array($this, 'lastModifedFlushCookie'));
|
55 |
}
|
56 |
|
57 |
-
if(
|
58 |
if( !is_admin() ) {
|
59 |
if( $this->getOption('yoast_remove_json_ld_search') ) {
|
60 |
add_filter('disable_wpseo_json_ld_search', '__return_true');
|
@@ -73,6 +85,10 @@
|
|
73 |
}
|
74 |
}
|
75 |
|
|
|
|
|
|
|
|
|
76 |
public function removeYoastJson($data)
|
77 |
{
|
78 |
$data = array();
|
@@ -95,14 +111,25 @@
|
|
95 |
return $content;
|
96 |
}
|
97 |
|
98 |
-
$
|
99 |
|
100 |
-
$
|
101 |
-
' alt="' . esc_attr($post->post_title) . '"',
|
102 |
-
' alt=\'' . esc_attr($post->post_title) . '\''
|
103 |
-
);
|
104 |
|
105 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
106 |
|
107 |
return $content;
|
108 |
}
|
@@ -147,7 +174,7 @@
|
|
147 |
return $this->getOption('robots_txt_text');
|
148 |
}
|
149 |
|
150 |
-
return
|
151 |
}
|
152 |
|
153 |
/**
|
@@ -172,8 +199,8 @@
|
|
172 |
|
173 |
public function attachmentPagesRedirect()
|
174 |
{
|
175 |
-
|
176 |
global $post;
|
|
|
177 |
if( is_attachment() ) {
|
178 |
if( isset($post->post_parent) && ($post->post_parent != 0) ) {
|
179 |
wp_redirect(get_permalink($post->post_parent), 301);
|
@@ -191,6 +218,13 @@
|
|
191 |
public function removeSinglePaginationDuplicate()
|
192 |
{
|
193 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
194 |
if( is_singular() && !is_front_page() ) {
|
195 |
|
196 |
global $post, $page;
|
@@ -199,9 +233,8 @@
|
|
199 |
|
200 |
if( $page > $num_pages || $page == 1 ) {
|
201 |
|
202 |
-
|
203 |
-
|
204 |
-
exit;
|
205 |
}
|
206 |
}
|
207 |
}
|
@@ -209,13 +242,10 @@
|
|
209 |
/**
|
210 |
* Remove yoast comment
|
211 |
*/
|
212 |
-
|
213 |
public function yoastRemoveHeadComment()
|
214 |
{
|
215 |
-
|
216 |
-
|
217 |
-
add_action('wp_head', array($this, 'yoastRemoveHeadCommentEnd'), 999);
|
218 |
-
}
|
219 |
}
|
220 |
|
221 |
public function yoastRemoveHeadCommentStart()
|
@@ -239,7 +269,6 @@
|
|
239 |
|
240 |
public function redirectArchives()
|
241 |
{
|
242 |
-
|
243 |
if( $this->getOption('redirect_archives_author') ) {
|
244 |
if( is_author() ) {
|
245 |
wp_redirect(home_url(), 301);
|
@@ -270,8 +299,10 @@
|
|
270 |
*/
|
271 |
public function removeReplytocomRedirect()
|
272 |
{
|
273 |
-
|
274 |
-
|
|
|
|
|
275 |
$comment_id = sanitize_text_field($_GET['replytocom']);
|
276 |
$query_string = remove_query_arg('replytocom', sanitize_text_field($_SERVER['QUERY_STRING']));
|
277 |
|
@@ -280,7 +311,7 @@
|
|
280 |
}
|
281 |
$post_url .= '#comment-' . $comment_id;
|
282 |
|
283 |
-
|
284 |
die();
|
285 |
}
|
286 |
|
@@ -308,22 +339,9 @@
|
|
308 |
return $output;
|
309 |
}
|
310 |
|
311 |
-
|
312 |
-
{
|
313 |
-
if( is_ssl() ) {
|
314 |
-
return;
|
315 |
-
}
|
316 |
-
if( 0 === strpos($_SERVER['REQUEST_URI'], 'http') ) {
|
317 |
-
wp_redirect(set_url_scheme($_SERVER['REQUEST_URI'], 'https'), 301);
|
318 |
-
} else {
|
319 |
-
wp_redirect('https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 301);
|
320 |
-
}
|
321 |
-
die();
|
322 |
-
}
|
323 |
-
|
324 |
public function setLastModifiedHeaders()
|
325 |
{
|
326 |
-
//todo: Fix bug, stop last modidifed headers for logged users
|
327 |
if( is_user_logged_in() && (defined('DOING_AJAX') && DOING_AJAX) || (defined('XMLRPC_REQUEST') && XMLRPC_REQUEST) || (defined('REST_REQUEST') && REST_REQUEST) ) {
|
328 |
return;
|
329 |
}
|
@@ -332,7 +350,6 @@
|
|
332 |
return;
|
333 |
}
|
334 |
|
335 |
-
//todo: Fix bug, admin bar is not hidden after logout
|
336 |
$last_modified_flush = isset($_COOKIE['wbcr_lastmodifed_flush']);
|
337 |
|
338 |
global $wp;
|
6 |
* @copyright (c) 2017 Webraftic Ltd
|
7 |
* @version 1.0
|
8 |
*/
|
9 |
+
|
10 |
+
// Exit if accessed directly
|
11 |
+
if( !defined('ABSPATH') ) {
|
12 |
+
exit;
|
13 |
+
}
|
14 |
+
|
15 |
+
class WCL_ConfigSeo extends Wbcr_FactoryClearfy200_Configurate {
|
16 |
+
|
17 |
+
/**
|
18 |
+
* @param WCL_Plugin $plugin
|
19 |
+
*/
|
20 |
+
public function __construct(WCL_Plugin $plugin)
|
21 |
+
{
|
22 |
+
parent::__construct($plugin);
|
23 |
+
|
24 |
+
$this->plugin = $plugin;
|
25 |
+
}
|
26 |
|
27 |
public function registerActionsAndFilters()
|
28 |
{
|
|
|
|
|
|
|
|
|
29 |
if( !is_admin() ) {
|
30 |
if( $this->getOption('content_image_auto_alt') ) {
|
31 |
add_filter('the_content', array($this, 'contentImageAutoAlt'));
|
66 |
add_action('wp_logout', array($this, 'lastModifedFlushCookie'));
|
67 |
}
|
68 |
|
69 |
+
if( $this->plugin->isActivateComponent('yoast_seo') && defined('WPSEO_VERSION') ) {
|
70 |
if( !is_admin() ) {
|
71 |
if( $this->getOption('yoast_remove_json_ld_search') ) {
|
72 |
add_filter('disable_wpseo_json_ld_search', '__return_true');
|
85 |
}
|
86 |
}
|
87 |
|
88 |
+
/**
|
89 |
+
* @param $data
|
90 |
+
* @return array
|
91 |
+
*/
|
92 |
public function removeYoastJson($data)
|
93 |
{
|
94 |
$data = array();
|
111 |
return $content;
|
112 |
}
|
113 |
|
114 |
+
$old_content = $content;
|
115 |
|
116 |
+
preg_match_all('/<img[^>]+>/', $content, $images);
|
|
|
|
|
|
|
117 |
|
118 |
+
if( !is_null($images) ) {
|
119 |
+
foreach($images[0] as $index => $value) {
|
120 |
+
if( !preg_match('/alt=/', $value) ) {
|
121 |
+
$new_img = str_replace('<img', '<img alt="' . esc_attr($post->post_title) . '"', $images[0][$index]);
|
122 |
+
$content = str_replace($images[0][$index], $new_img, $content);
|
123 |
+
} else if( preg_match('/alt=[\s"\']{2,3}/', $value) ) {
|
124 |
+
$new_img = preg_replace('/alt=[\s"\']{2,3}/', 'alt="' . esc_attr($post->post_title) . '"', $images[0][$index]);
|
125 |
+
$content = str_replace($images[0][$index], $new_img, $content);
|
126 |
+
}
|
127 |
+
}
|
128 |
+
}
|
129 |
+
|
130 |
+
if( empty($content) ) {
|
131 |
+
return $old_content;
|
132 |
+
}
|
133 |
|
134 |
return $content;
|
135 |
}
|
174 |
return $this->getOption('robots_txt_text');
|
175 |
}
|
176 |
|
177 |
+
return WCL_Helper::getRightRobotTxt();
|
178 |
}
|
179 |
|
180 |
/**
|
199 |
|
200 |
public function attachmentPagesRedirect()
|
201 |
{
|
|
|
202 |
global $post;
|
203 |
+
|
204 |
if( is_attachment() ) {
|
205 |
if( isset($post->post_parent) && ($post->post_parent != 0) ) {
|
206 |
wp_redirect(get_permalink($post->post_parent), 301);
|
218 |
public function removeSinglePaginationDuplicate()
|
219 |
{
|
220 |
|
221 |
+
// #CLRF-125 issue fix bug for buddy press
|
222 |
+
if( function_exists('bp_is_my_profile') ) {
|
223 |
+
if( bp_is_my_profile() ) {
|
224 |
+
return;
|
225 |
+
}
|
226 |
+
}
|
227 |
+
|
228 |
if( is_singular() && !is_front_page() ) {
|
229 |
|
230 |
global $post, $page;
|
233 |
|
234 |
if( $page > $num_pages || $page == 1 ) {
|
235 |
|
236 |
+
wp_safe_redirect(get_permalink($post->ID), 301);
|
237 |
+
exit();
|
|
|
238 |
}
|
239 |
}
|
240 |
}
|
242 |
/**
|
243 |
* Remove yoast comment
|
244 |
*/
|
|
|
245 |
public function yoastRemoveHeadComment()
|
246 |
{
|
247 |
+
add_action('get_header', array($this, 'yoastRemoveHeadCommentStart'));
|
248 |
+
add_action('wp_head', array($this, 'yoastRemoveHeadCommentEnd'), 999);
|
|
|
|
|
249 |
}
|
250 |
|
251 |
public function yoastRemoveHeadCommentStart()
|
269 |
|
270 |
public function redirectArchives()
|
271 |
{
|
|
|
272 |
if( $this->getOption('redirect_archives_author') ) {
|
273 |
if( is_author() ) {
|
274 |
wp_redirect(home_url(), 301);
|
299 |
*/
|
300 |
public function removeReplytocomRedirect()
|
301 |
{
|
302 |
+
global $post;
|
303 |
+
|
304 |
+
if( !empty($post) && isset($_GET['replytocom']) && is_singular() ) {
|
305 |
+
$post_url = get_permalink($post->ID);
|
306 |
$comment_id = sanitize_text_field($_GET['replytocom']);
|
307 |
$query_string = remove_query_arg('replytocom', sanitize_text_field($_SERVER['QUERY_STRING']));
|
308 |
|
311 |
}
|
312 |
$post_url .= '#comment-' . $comment_id;
|
313 |
|
314 |
+
wp_safe_redirect($post_url, 301);
|
315 |
die();
|
316 |
}
|
317 |
|
339 |
return $output;
|
340 |
}
|
341 |
|
342 |
+
//todo: Доработать функцию для главной страницы сайта. Страница должно обновляться по последней добавленной статье.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
343 |
public function setLastModifiedHeaders()
|
344 |
{
|
|
|
345 |
if( is_user_logged_in() && (defined('DOING_AJAX') && DOING_AJAX) || (defined('XMLRPC_REQUEST') && XMLRPC_REQUEST) || (defined('REST_REQUEST') && REST_REQUEST) ) {
|
346 |
return;
|
347 |
}
|
350 |
return;
|
351 |
}
|
352 |
|
|
|
353 |
$last_modified_flush = isset($_COOKIE['wbcr_lastmodifed_flush']);
|
354 |
|
355 |
global $wp;
|
includes/classes/class.wordpress-sanitize.php
DELETED
@@ -1,320 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
* @package name: Germanix URL
|
5 |
-
* @author URI - http://toscho.de/2010/wordpress-plugin-germanix/
|
6 |
-
* @author - Thomas Scholz
|
7 |
-
*/
|
8 |
-
class Wbcr_Germanizer {
|
9 |
-
|
10 |
-
/**
|
11 |
-
* Fixes names of uploaded files.
|
12 |
-
* »häßliches bild.jpg« => haessliches-bild.jpg
|
13 |
-
*
|
14 |
-
* @param string $filename
|
15 |
-
* @return string
|
16 |
-
*/
|
17 |
-
static function sanitize_filename_filter($filename)
|
18 |
-
{
|
19 |
-
// Windows LiveWriter sends escaped strings.
|
20 |
-
$filename = html_entity_decode($filename, ENT_QUOTES, 'utf-8');
|
21 |
-
$filename = self::translit($filename);
|
22 |
-
$filename = self::lower_ascii($filename);
|
23 |
-
$filename = self::remove_doubles($filename);
|
24 |
-
|
25 |
-
return $filename;
|
26 |
-
}
|
27 |
-
|
28 |
-
/**
|
29 |
-
* Fixes URI slugs.
|
30 |
-
*
|
31 |
-
* If you don't have any latin characters in your title you may end up
|
32 |
-
* with an empty title. WordPress will use the post ID then.
|
33 |
-
*
|
34 |
-
* @param string $title
|
35 |
-
* @param string $raw_title
|
36 |
-
* @return string
|
37 |
-
*/
|
38 |
-
static function sanitize_title_filter($title, $raw_title = null)
|
39 |
-
{
|
40 |
-
!is_null($raw_title) and $title = $raw_title;
|
41 |
-
|
42 |
-
$title = self::sanitize_filename_filter($title);
|
43 |
-
$title = str_replace('.', '-', $title);
|
44 |
-
// Avoid double minus. WordPress cannot resolve such URLs.
|
45 |
-
$title = preg_replace('~--+~', '-', $title);
|
46 |
-
|
47 |
-
// For %postname%-%post_id% permalinks.
|
48 |
-
return rtrim($title, '-');
|
49 |
-
}
|
50 |
-
|
51 |
-
/**
|
52 |
-
* Reduces repeated meta characters (-=+.) to one.
|
53 |
-
*
|
54 |
-
* @uses apply_filters( 'germanix_remove_doubles_regex' )
|
55 |
-
* @param string $str Input string
|
56 |
-
* @return string
|
57 |
-
*/
|
58 |
-
static function remove_doubles($str)
|
59 |
-
{
|
60 |
-
$regex = apply_filters('germanix_remove_doubles_regex', array(
|
61 |
-
'pattern' => '~([=+.-])\\1+~',
|
62 |
-
'replacement' => "\\1"
|
63 |
-
));
|
64 |
-
|
65 |
-
return preg_replace($regex['pattern'], $regex['replacement'], $str);
|
66 |
-
}
|
67 |
-
|
68 |
-
/**
|
69 |
-
* Converts uppercase characters to lowercase and removes the rest.
|
70 |
-
*
|
71 |
-
* @uses apply_filters( 'germanix_lower_ascii_regex' )
|
72 |
-
* @param string $str Input string
|
73 |
-
* @return string
|
74 |
-
*/
|
75 |
-
static function lower_ascii($str)
|
76 |
-
{
|
77 |
-
$str = strtolower($str);
|
78 |
-
$regex = apply_filters('germanix_lower_ascii_regex', array(
|
79 |
-
'pattern' => '~([^a-z\d_.-])~',
|
80 |
-
'replacement' => ''
|
81 |
-
));
|
82 |
-
// Leave underscores, otherwise the taxonomy tag cloud in the
|
83 |
-
// backend won’t work anymore.
|
84 |
-
return preg_replace($regex['pattern'], $regex['replacement'], $str);
|
85 |
-
}
|
86 |
-
|
87 |
-
/**
|
88 |
-
* Replaces non ASCII chars.
|
89 |
-
*
|
90 |
-
* wp-includes/formatting.php#L531 is unfortunately completely inappropriate.
|
91 |
-
* Modified version of Heiko Rabe’s code.
|
92 |
-
*
|
93 |
-
* @author Heiko Rabe http://code-styling.de
|
94 |
-
* @link http://www.code-styling.de/?p=574
|
95 |
-
* @param string $str
|
96 |
-
* @return string
|
97 |
-
*/
|
98 |
-
static function translit($str)
|
99 |
-
{
|
100 |
-
$utf8 = array(
|
101 |
-
'Ä' => 'Ae',
|
102 |
-
'ä' => 'ae',
|
103 |
-
'Æ' => 'Ae',
|
104 |
-
'æ' => 'ae',
|
105 |
-
'À' => 'A',
|
106 |
-
'à' => 'a',
|
107 |
-
'Á' => 'A',
|
108 |
-
'á' => 'a',
|
109 |
-
'Â' => 'A',
|
110 |
-
'â' => 'a',
|
111 |
-
'Ã' => 'A',
|
112 |
-
'ã' => 'a',
|
113 |
-
'Å' => 'A',
|
114 |
-
'å' => 'a',
|
115 |
-
'ª' => 'a',
|
116 |
-
'ₐ' => 'a',
|
117 |
-
'ā' => 'a',
|
118 |
-
'Ć' => 'C',
|
119 |
-
'ć' => 'c',
|
120 |
-
'Ç' => 'C',
|
121 |
-
'ç' => 'c',
|
122 |
-
'Ð' => 'D',
|
123 |
-
'đ' => 'd',
|
124 |
-
'È' => 'E',
|
125 |
-
'è' => 'e',
|
126 |
-
'É' => 'E',
|
127 |
-
'é' => 'e',
|
128 |
-
'Ê' => 'E',
|
129 |
-
'ê' => 'e',
|
130 |
-
'Ë' => 'E',
|
131 |
-
'ë' => 'e',
|
132 |
-
'ₑ' => 'e',
|
133 |
-
'ƒ' => 'f',
|
134 |
-
'ğ' => 'g',
|
135 |
-
'Ğ' => 'G',
|
136 |
-
'Ì' => 'I',
|
137 |
-
'ì' => 'i',
|
138 |
-
'Í' => 'I',
|
139 |
-
'í' => 'i',
|
140 |
-
'Î' => 'I',
|
141 |
-
'î' => 'i',
|
142 |
-
'Ï' => 'Ii',
|
143 |
-
'ï' => 'ii',
|
144 |
-
'ī' => 'i',
|
145 |
-
'ı' => 'i',
|
146 |
-
'I' => 'I' // turkish, correct?
|
147 |
-
,
|
148 |
-
'Ñ' => 'N',
|
149 |
-
'ñ' => 'n',
|
150 |
-
'ⁿ' => 'n',
|
151 |
-
'Ò' => 'O',
|
152 |
-
'ò' => 'o',
|
153 |
-
'Ó' => 'O',
|
154 |
-
'ó' => 'o',
|
155 |
-
'Ô' => 'O',
|
156 |
-
'ô' => 'o',
|
157 |
-
'Õ' => 'O',
|
158 |
-
'õ' => 'o',
|
159 |
-
'Ø' => 'O',
|
160 |
-
'ø' => 'o',
|
161 |
-
'ₒ' => 'o',
|
162 |
-
'Ö' => 'Oe',
|
163 |
-
'ö' => 'oe',
|
164 |
-
'Œ' => 'Oe',
|
165 |
-
'œ' => 'oe',
|
166 |
-
'ß' => 'ss',
|
167 |
-
'Š' => 'S',
|
168 |
-
'š' => 's',
|
169 |
-
'ş' => 's',
|
170 |
-
'Ş' => 'S',
|
171 |
-
'™' => 'TM',
|
172 |
-
'Ù' => 'U',
|
173 |
-
'ù' => 'u',
|
174 |
-
'Ú' => 'U',
|
175 |
-
'ú' => 'u',
|
176 |
-
'Û' => 'U',
|
177 |
-
'û' => 'u',
|
178 |
-
'Ü' => 'Ue',
|
179 |
-
'ü' => 'ue',
|
180 |
-
'Ý' => 'Y',
|
181 |
-
'ý' => 'y',
|
182 |
-
'ÿ' => 'y',
|
183 |
-
'Ž' => 'Z',
|
184 |
-
'ž' => 'z'// misc
|
185 |
-
,
|
186 |
-
'¢' => 'Cent',
|
187 |
-
'€' => 'Euro',
|
188 |
-
'‰' => 'promille',
|
189 |
-
'№' => 'Nr',
|
190 |
-
'$' => 'Dollar',
|
191 |
-
'℃' => 'Grad Celsius',
|
192 |
-
'°C' => 'Grad Celsius',
|
193 |
-
'℉' => 'Grad Fahrenheit',
|
194 |
-
'°F' => 'Grad Fahrenheit'// Superscripts
|
195 |
-
,
|
196 |
-
'⁰' => '0',
|
197 |
-
'¹' => '1',
|
198 |
-
'²' => '2',
|
199 |
-
'³' => '3',
|
200 |
-
'⁴' => '4',
|
201 |
-
'⁵' => '5',
|
202 |
-
'⁶' => '6',
|
203 |
-
'⁷' => '7',
|
204 |
-
'⁸' => '8',
|
205 |
-
'⁹' => '9'// Subscripts
|
206 |
-
,
|
207 |
-
'₀' => '0',
|
208 |
-
'₁' => '1',
|
209 |
-
'₂' => '2',
|
210 |
-
'₃' => '3',
|
211 |
-
'₄' => '4',
|
212 |
-
'₅' => '5',
|
213 |
-
'₆' => '6',
|
214 |
-
'₇' => '7',
|
215 |
-
'₈' => '8',
|
216 |
-
'₉' => '9'// Operators, punctuation
|
217 |
-
,
|
218 |
-
'±' => 'plusminus',
|
219 |
-
'×' => 'x',
|
220 |
-
'₊' => 'plus',
|
221 |
-
'₌' => '=',
|
222 |
-
'⁼' => '=',
|
223 |
-
'⁻' => '-' // sup minus
|
224 |
-
,
|
225 |
-
'₋' => '-' // sub minus
|
226 |
-
,
|
227 |
-
'–' => '-' // ndash
|
228 |
-
,
|
229 |
-
'—' => '-' // mdash
|
230 |
-
,
|
231 |
-
'‑' => '-' // non breaking hyphen
|
232 |
-
,
|
233 |
-
'․' => '.' // one dot leader
|
234 |
-
,
|
235 |
-
'‥' => '..' // two dot leader
|
236 |
-
,
|
237 |
-
'…' => '...' // ellipsis
|
238 |
-
,
|
239 |
-
'‧' => '.' // hyphenation point
|
240 |
-
,
|
241 |
-
' ' => '-' // nobreak space
|
242 |
-
,
|
243 |
-
' ' => '-' // normal space
|
244 |
-
// Russian
|
245 |
-
,
|
246 |
-
'А' => 'A',
|
247 |
-
'Б' => 'B',
|
248 |
-
'В' => 'V',
|
249 |
-
'Г' => 'G',
|
250 |
-
'Д' => 'D',
|
251 |
-
'Е' => 'E',
|
252 |
-
'Ё' => 'YO',
|
253 |
-
'Ж' => 'ZH',
|
254 |
-
'З' => 'Z',
|
255 |
-
'И' => 'I',
|
256 |
-
'Й' => 'Y',
|
257 |
-
'К' => 'K',
|
258 |
-
'Л' => 'L',
|
259 |
-
'М' => 'M',
|
260 |
-
'Н' => 'N',
|
261 |
-
'О' => 'O',
|
262 |
-
'П' => 'P',
|
263 |
-
'Р' => 'R',
|
264 |
-
'С' => 'S',
|
265 |
-
'Т' => 'T',
|
266 |
-
'У' => 'U',
|
267 |
-
'Ф' => 'F',
|
268 |
-
'Х' => 'H',
|
269 |
-
'Ц' => 'TS',
|
270 |
-
'Ч' => 'CH',
|
271 |
-
'Ш' => 'SH',
|
272 |
-
'Щ' => 'SCH',
|
273 |
-
'Ъ' => '',
|
274 |
-
'Ы' => 'YI',
|
275 |
-
'Ь' => '',
|
276 |
-
'Э' => 'E',
|
277 |
-
'Ю' => 'YU',
|
278 |
-
'Я' => 'YA',
|
279 |
-
'а' => 'a',
|
280 |
-
'б' => 'b',
|
281 |
-
'в' => 'v',
|
282 |
-
'г' => 'g',
|
283 |
-
'д' => 'd',
|
284 |
-
'е' => 'e',
|
285 |
-
'ё' => 'yo',
|
286 |
-
'ж' => 'zh',
|
287 |
-
'з' => 'z',
|
288 |
-
'и' => 'i',
|
289 |
-
'й' => 'y',
|
290 |
-
'к' => 'k',
|
291 |
-
'л' => 'l',
|
292 |
-
'м' => 'm',
|
293 |
-
'н' => 'n',
|
294 |
-
'о' => 'o',
|
295 |
-
'п' => 'p',
|
296 |
-
'р' => 'r',
|
297 |
-
'с' => 's',
|
298 |
-
'т' => 't',
|
299 |
-
'у' => 'u',
|
300 |
-
'ф' => 'f',
|
301 |
-
'х' => 'h',
|
302 |
-
'ц' => 'ts',
|
303 |
-
'ч' => 'ch',
|
304 |
-
'ш' => 'sh',
|
305 |
-
'щ' => 'sch',
|
306 |
-
'ъ' => '',
|
307 |
-
'ы' => 'yi',
|
308 |
-
'ь' => '',
|
309 |
-
'э' => 'e',
|
310 |
-
'ю' => 'yu',
|
311 |
-
'я' => 'ya'
|
312 |
-
);
|
313 |
-
|
314 |
-
$utf8 = apply_filters('germanix_translit_list', $utf8);
|
315 |
-
|
316 |
-
$str = strtr($str, $utf8);
|
317 |
-
|
318 |
-
return trim($str, '-');
|
319 |
-
}
|
320 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/classes/class.zip-archive.php
CHANGED
@@ -6,6 +6,11 @@
|
|
6 |
* @version 1.0
|
7 |
*/
|
8 |
|
|
|
|
|
|
|
|
|
|
|
9 |
if( !class_exists('ZipArchive') ) {
|
10 |
wp_die(__('The ZipArchive class does not exist in this version of php.'));
|
11 |
}
|
6 |
* @version 1.0
|
7 |
*/
|
8 |
|
9 |
+
// Exit if accessed directly
|
10 |
+
if( !defined('ABSPATH') ) {
|
11 |
+
exit;
|
12 |
+
}
|
13 |
+
|
14 |
if( !class_exists('ZipArchive') ) {
|
15 |
wp_die(__('The ZipArchive class does not exist in this version of php.'));
|
16 |
}
|
includes/classes/index.php
ADDED
File without changes
|
includes/functions.php
DELETED
@@ -1,277 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Helpers functions
|
4 |
-
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
5 |
-
* @copyright (c) 2017 Webraftic Ltd
|
6 |
-
* @version 1.0
|
7 |
-
*/
|
8 |
-
|
9 |
-
/**
|
10 |
-
* @param string $return
|
11 |
-
* @return array|string
|
12 |
-
*/
|
13 |
-
function wbcr_get_export_options($return = 'json')
|
14 |
-
{
|
15 |
-
global $wpdb, $wbcr_clearfy_plugin;
|
16 |
-
|
17 |
-
$export_options = array();
|
18 |
-
|
19 |
-
$options = WbcrClr_Option::getAllOptions();
|
20 |
-
|
21 |
-
$allow_export_options = array();
|
22 |
-
foreach((array)$options as $option_class) {
|
23 |
-
$allow_export_options[] = $wbcr_clearfy_plugin->pluginName . '_' . $option_class->getName();
|
24 |
-
}
|
25 |
-
|
26 |
-
$request = $wpdb->get_results($wpdb->prepare("
|
27 |
-
SELECT option_name, option_value
|
28 |
-
FROM {$wpdb->prefix}options
|
29 |
-
WHERE option_name
|
30 |
-
LIKE '%s'", $wbcr_clearfy_plugin->pluginName . "_%"));
|
31 |
-
|
32 |
-
if( !empty($request) && !empty($allow_export_options) ) {
|
33 |
-
foreach($request as $option) {
|
34 |
-
if( in_array($option->option_name, $allow_export_options) ) {
|
35 |
-
$export_options[$option->option_name] = $option->option_value;
|
36 |
-
}
|
37 |
-
}
|
38 |
-
}
|
39 |
-
|
40 |
-
if( $return == 'array' ) {
|
41 |
-
return $export_options;
|
42 |
-
}
|
43 |
-
|
44 |
-
return wbcr_get_escape_json($export_options);
|
45 |
-
}
|
46 |
-
|
47 |
-
/**
|
48 |
-
* Merge arrays, inserting $arr2 into $arr1 before/after certain key
|
49 |
-
*
|
50 |
-
* @param array $arr Modifyed array
|
51 |
-
* @param array $inserted Inserted array
|
52 |
-
* @param string $position 'before' / 'after' / 'top' / 'bottom'
|
53 |
-
* @param string $key Associative key of $arr1 for before/after insertion
|
54 |
-
*
|
55 |
-
* @return array
|
56 |
-
*/
|
57 |
-
function wbcr_array_merge_insert(array $arr, array $inserted, $position = 'bottom', $key = null)
|
58 |
-
{
|
59 |
-
if( $position == 'top' ) {
|
60 |
-
return array_merge($inserted, $arr);
|
61 |
-
}
|
62 |
-
$key_position = ($key === null)
|
63 |
-
? false
|
64 |
-
: array_search($key, array_keys($arr));
|
65 |
-
if( $key_position === false OR ($position != 'before' AND $position != 'after') ) {
|
66 |
-
return array_merge($arr, $inserted);
|
67 |
-
}
|
68 |
-
if( $position == 'after' ) {
|
69 |
-
$key_position++;
|
70 |
-
}
|
71 |
-
|
72 |
-
return array_merge(array_slice($arr, 0, $key_position, true), $inserted, array_slice($arr, $key_position, null, true));
|
73 |
-
}
|
74 |
-
|
75 |
-
/**
|
76 |
-
* Try to get variable from JSON-encoded post variable
|
77 |
-
*
|
78 |
-
* Note: we pass some params via json-encoded variables, as via pure post some data (ex empty array) will be absent
|
79 |
-
*
|
80 |
-
* @param string $name $_POST's variable name
|
81 |
-
*
|
82 |
-
* @return array
|
83 |
-
*/
|
84 |
-
function wbcr_maybe_get_post_json($name)
|
85 |
-
{
|
86 |
-
if( isset($_POST[$name]) AND is_string($_POST[$name]) ) {
|
87 |
-
$result = json_decode(stripslashes($_POST[$name]), true);
|
88 |
-
if( !is_array($result) ) {
|
89 |
-
$result = array();
|
90 |
-
}
|
91 |
-
|
92 |
-
return $result;
|
93 |
-
} else {
|
94 |
-
return array();
|
95 |
-
}
|
96 |
-
}
|
97 |
-
|
98 |
-
/**
|
99 |
-
* Escape json data
|
100 |
-
* @param array $data
|
101 |
-
* @return string escaped json string
|
102 |
-
*/
|
103 |
-
function wbcr_get_escape_json(array $data)
|
104 |
-
{
|
105 |
-
return htmlspecialchars(json_encode($data), ENT_QUOTES, 'UTF-8');
|
106 |
-
}
|
107 |
-
|
108 |
-
/**
|
109 |
-
* Html minify function by Tim Eckel<tim@leethost.com>
|
110 |
-
* @param $buffer
|
111 |
-
* @return mixed
|
112 |
-
*/
|
113 |
-
function wbcr_clearfy_minify_html_output($buffer)
|
114 |
-
{
|
115 |
-
if( substr(ltrim($buffer), 0, 5) == '<?xml' ) {
|
116 |
-
return ($buffer);
|
117 |
-
}
|
118 |
-
$minify_javascript = get_option('minify_javascript');
|
119 |
-
$minify_html_comments = get_option('minify_html_comments');
|
120 |
-
$minify_html_utf8 = get_option('minify_html_utf8');
|
121 |
-
if( $minify_html_utf8 == 'yes' && mb_detect_encoding($buffer, 'UTF-8', true) ) {
|
122 |
-
$mod = '/u';
|
123 |
-
} else {
|
124 |
-
$mod = '/s';
|
125 |
-
}
|
126 |
-
$buffer = str_replace(array(chr(13) . chr(10), chr(9)), array(chr(10), ''), $buffer);
|
127 |
-
$buffer = str_ireplace(array(
|
128 |
-
'<script',
|
129 |
-
'/script>',
|
130 |
-
'<pre',
|
131 |
-
'/pre>',
|
132 |
-
'<textarea',
|
133 |
-
'/textarea>',
|
134 |
-
'<style',
|
135 |
-
'/style>'
|
136 |
-
), array(
|
137 |
-
'M1N1FY-ST4RT<script',
|
138 |
-
'/script>M1N1FY-3ND',
|
139 |
-
'M1N1FY-ST4RT<pre',
|
140 |
-
'/pre>M1N1FY-3ND',
|
141 |
-
'M1N1FY-ST4RT<textarea',
|
142 |
-
'/textarea>M1N1FY-3ND',
|
143 |
-
'M1N1FY-ST4RT<style',
|
144 |
-
'/style>M1N1FY-3ND'
|
145 |
-
), $buffer);
|
146 |
-
$split = explode('M1N1FY-3ND', $buffer);
|
147 |
-
$buffer = '';
|
148 |
-
for($i = 0; $i < count($split); $i++) {
|
149 |
-
$ii = strpos($split[$i], 'M1N1FY-ST4RT');
|
150 |
-
if( $ii !== false ) {
|
151 |
-
$process = substr($split[$i], 0, $ii);
|
152 |
-
$asis = substr($split[$i], $ii + 12);
|
153 |
-
if( substr($asis, 0, 7) == '<script' ) {
|
154 |
-
$split2 = explode(chr(10), $asis);
|
155 |
-
$asis = '';
|
156 |
-
for($iii = 0; $iii < count($split2); $iii++) {
|
157 |
-
if( $split2[$iii] ) {
|
158 |
-
$asis .= trim($split2[$iii]) . chr(10);
|
159 |
-
}
|
160 |
-
if( $minify_javascript != 'no' ) {
|
161 |
-
if( strpos($split2[$iii], '//') !== false && substr(trim($split2[$iii]), -1) == ';' ) {
|
162 |
-
$asis .= chr(10);
|
163 |
-
}
|
164 |
-
}
|
165 |
-
}
|
166 |
-
if( $asis ) {
|
167 |
-
$asis = substr($asis, 0, -1);
|
168 |
-
}
|
169 |
-
if( $minify_html_comments != 'no' ) {
|
170 |
-
$asis = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $asis);
|
171 |
-
}
|
172 |
-
if( $minify_javascript != 'no' ) {
|
173 |
-
$asis = str_replace(array(
|
174 |
-
';' . chr(10),
|
175 |
-
'>' . chr(10),
|
176 |
-
'{' . chr(10),
|
177 |
-
'}' . chr(10),
|
178 |
-
',' . chr(10)
|
179 |
-
), array(';', '>', '{', '}', ','), $asis);
|
180 |
-
}
|
181 |
-
} else if( substr($asis, 0, 6) == '<style' ) {
|
182 |
-
$asis = preg_replace(array('/\>[^\S ]+' . $mod, '/[^\S ]+\<' . $mod, '/(\s)+' . $mod), array(
|
183 |
-
'>',
|
184 |
-
'<',
|
185 |
-
'\\1'
|
186 |
-
), $asis);
|
187 |
-
if( $minify_html_comments != 'no' ) {
|
188 |
-
$asis = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $asis);
|
189 |
-
}
|
190 |
-
$asis = str_replace(array(
|
191 |
-
chr(10),
|
192 |
-
' {',
|
193 |
-
'{ ',
|
194 |
-
' }',
|
195 |
-
'} ',
|
196 |
-
'( ',
|
197 |
-
' )',
|
198 |
-
' :',
|
199 |
-
': ',
|
200 |
-
' ;',
|
201 |
-
'; ',
|
202 |
-
' ,',
|
203 |
-
', ',
|
204 |
-
';}'
|
205 |
-
), array('', '{', '{', '}', '}', '(', ')', ':', ':', ';', ';', ',', ',', '}'), $asis);
|
206 |
-
}
|
207 |
-
} else {
|
208 |
-
$process = $split[$i];
|
209 |
-
$asis = '';
|
210 |
-
}
|
211 |
-
$process = preg_replace(array('/\>[^\S ]+' . $mod, '/[^\S ]+\<' . $mod, '/(\s)+' . $mod), array(
|
212 |
-
'>',
|
213 |
-
'<',
|
214 |
-
'\\1'
|
215 |
-
), $process);
|
216 |
-
if( $minify_html_comments != 'no' ) {
|
217 |
-
$process = preg_replace('/<!--(?!\s*(?:\[if [^\]]+]|<!|>))(?:(?!-->).)*-->' . $mod, '', $process);
|
218 |
-
}
|
219 |
-
$buffer .= $process . $asis;
|
220 |
-
}
|
221 |
-
$buffer = str_replace(array(
|
222 |
-
chr(10) . '<script',
|
223 |
-
chr(10) . '<style',
|
224 |
-
'*/' . chr(10),
|
225 |
-
'M1N1FY-ST4RT'
|
226 |
-
), array('<script', '<style', '*/', ''), $buffer);
|
227 |
-
$minify_html_xhtml = get_option('minify_html_xhtml');
|
228 |
-
$minify_html_relative = get_option('minify_html_relative');
|
229 |
-
$minify_html_scheme = get_option('minify_html_scheme');
|
230 |
-
if( $minify_html_xhtml == 'yes' && strtolower(substr(ltrim($buffer), 0, 15)) == '<!doctype html>' ) {
|
231 |
-
$buffer = str_replace(' />', '>', $buffer);
|
232 |
-
}
|
233 |
-
if( $minify_html_relative == 'yes' ) {
|
234 |
-
$buffer = str_replace(array(
|
235 |
-
'https://' . $_SERVER['HTTP_HOST'] . '/',
|
236 |
-
'http://' . $_SERVER['HTTP_HOST'] . '/',
|
237 |
-
'//' . $_SERVER['HTTP_HOST'] . '/'
|
238 |
-
), array('/', '/', '/'), $buffer);
|
239 |
-
}
|
240 |
-
if( $minify_html_scheme == 'yes' ) {
|
241 |
-
$buffer = str_replace(array('http://', 'https://'), '//', $buffer);
|
242 |
-
}
|
243 |
-
|
244 |
-
return ($buffer);
|
245 |
-
}
|
246 |
-
|
247 |
-
/**
|
248 |
-
* Componate content for robot.txt
|
249 |
-
* @return string
|
250 |
-
*/
|
251 |
-
function wbcr_clearfy_get_right_robot_txt()
|
252 |
-
{
|
253 |
-
$site_url = get_home_url();
|
254 |
-
$dir_host = preg_replace("(^https?://)", "", $site_url);
|
255 |
-
|
256 |
-
if( is_ssl() ) {
|
257 |
-
$dir_host = 'https://' . $dir_host;
|
258 |
-
}
|
259 |
-
|
260 |
-
$file_path = WBCR_CLR_PLUGIN_DIR . '/templates/robots.txt';
|
261 |
-
$file = fopen($file_path, 'r');
|
262 |
-
$robot_default_content = fread($file, filesize($file_path));
|
263 |
-
fclose($file);
|
264 |
-
|
265 |
-
$output = $robot_default_content;
|
266 |
-
$output .= 'Host: ' . $dir_host . PHP_EOL;
|
267 |
-
|
268 |
-
$headers = @get_headers($site_url . '/sitemap.xml', 1);
|
269 |
-
|
270 |
-
if( strpos($headers[0], '200 OK') !== false ) {
|
271 |
-
$output .= 'Sitemap: ' . $site_url . '/sitemap.xml' . PHP_EOL;
|
272 |
-
} else if( isset($headers['Location']) && !empty($headers['Location']) ) {
|
273 |
-
$output .= 'Sitemap: ' . $headers['Location'] . PHP_EOL;
|
274 |
-
}
|
275 |
-
|
276 |
-
return $output;
|
277 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/helpers.php
ADDED
@@ -0,0 +1,320 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Helpers functions
|
5 |
+
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
6 |
+
* @copyright (c) 2017 Webraftic Ltd
|
7 |
+
* @version 1.0
|
8 |
+
*/
|
9 |
+
|
10 |
+
// Exit if accessed directly
|
11 |
+
if( !defined('ABSPATH') ) {
|
12 |
+
exit;
|
13 |
+
}
|
14 |
+
|
15 |
+
class WCL_Helper {
|
16 |
+
|
17 |
+
/**
|
18 |
+
* Is permalink enabled?
|
19 |
+
* @global WP_Rewrite $wp_rewrite
|
20 |
+
* @since 1.0.0
|
21 |
+
* @return bool
|
22 |
+
*/
|
23 |
+
public static function isPermalink()
|
24 |
+
{
|
25 |
+
global $wp_rewrite;
|
26 |
+
|
27 |
+
if( !isset($wp_rewrite) || !is_object($wp_rewrite) || !$wp_rewrite->using_permalinks() ) {
|
28 |
+
return false;
|
29 |
+
}
|
30 |
+
|
31 |
+
return true;
|
32 |
+
}
|
33 |
+
|
34 |
+
/**
|
35 |
+
* Получает и возвращает все опции разрешенные для экспорта
|
36 |
+
*
|
37 |
+
* @param string $return
|
38 |
+
* @return array|string
|
39 |
+
*/
|
40 |
+
public static function getExportOptions($return = 'json')
|
41 |
+
{
|
42 |
+
global $wpdb;
|
43 |
+
|
44 |
+
$export_options = array();
|
45 |
+
|
46 |
+
$options = WCL_Option::getAllOptions();
|
47 |
+
|
48 |
+
$allow_export_options = array();
|
49 |
+
|
50 |
+
foreach((array)$options as $option_class) {
|
51 |
+
$option_name = $option_class->getName();
|
52 |
+
$allow_export_options[] = WCL_Plugin::app()->getOptionName($option_name);
|
53 |
+
}
|
54 |
+
|
55 |
+
$request = $wpdb->get_results($wpdb->prepare("
|
56 |
+
SELECT option_name, option_value
|
57 |
+
FROM {$wpdb->prefix}options
|
58 |
+
WHERE option_name
|
59 |
+
LIKE '%s'", WCL_Plugin::app()->getPrefix() . "_%"));
|
60 |
+
|
61 |
+
if( !empty($request) && !empty($allow_export_options) ) {
|
62 |
+
foreach($request as $option) {
|
63 |
+
if( in_array($option->option_name, $allow_export_options) ) {
|
64 |
+
$export_options[$option->option_name] = $option->option_value;
|
65 |
+
}
|
66 |
+
}
|
67 |
+
}
|
68 |
+
|
69 |
+
if( $return == 'array' ) {
|
70 |
+
return $export_options;
|
71 |
+
}
|
72 |
+
|
73 |
+
return WCL_Helper::getEscapeJson($export_options);
|
74 |
+
}
|
75 |
+
|
76 |
+
/**
|
77 |
+
* Merge arrays, inserting $arr2 into $arr1 before/after certain key
|
78 |
+
*
|
79 |
+
* @param array $arr Modifyed array
|
80 |
+
* @param array $inserted Inserted array
|
81 |
+
* @param string $position 'before' / 'after' / 'top' / 'bottom'
|
82 |
+
* @param string $key Associative key of $arr1 for before/after insertion
|
83 |
+
*
|
84 |
+
* @return array
|
85 |
+
*/
|
86 |
+
public static function arrayMergeInsert(array $arr, array $inserted, $position = 'bottom', $key = null)
|
87 |
+
{
|
88 |
+
if( $position == 'top' ) {
|
89 |
+
return array_merge($inserted, $arr);
|
90 |
+
}
|
91 |
+
$key_position = ($key === null)
|
92 |
+
? false
|
93 |
+
: array_search($key, array_keys($arr));
|
94 |
+
if( $key_position === false OR ($position != 'before' AND $position != 'after') ) {
|
95 |
+
return array_merge($arr, $inserted);
|
96 |
+
}
|
97 |
+
if( $position == 'after' ) {
|
98 |
+
$key_position++;
|
99 |
+
}
|
100 |
+
|
101 |
+
return array_merge(array_slice($arr, 0, $key_position, true), $inserted, array_slice($arr, $key_position, null, true));
|
102 |
+
}
|
103 |
+
|
104 |
+
/**
|
105 |
+
* Try to get variable from JSON-encoded post variable
|
106 |
+
*
|
107 |
+
* Note: we pass some params via json-encoded variables, as via pure post some data (ex empty array) will be absent
|
108 |
+
*
|
109 |
+
* @param string $name $_POST's variable name
|
110 |
+
*
|
111 |
+
* @return array
|
112 |
+
*/
|
113 |
+
public static function maybeGetPostJson($name)
|
114 |
+
{
|
115 |
+
if( isset($_POST[$name]) AND is_string($_POST[$name]) ) {
|
116 |
+
$result = json_decode(stripslashes($_POST[$name]), true);
|
117 |
+
if( !is_array($result) ) {
|
118 |
+
$result = array();
|
119 |
+
}
|
120 |
+
|
121 |
+
return $result;
|
122 |
+
} else {
|
123 |
+
return array();
|
124 |
+
}
|
125 |
+
}
|
126 |
+
|
127 |
+
/**
|
128 |
+
* Escape json data
|
129 |
+
* @param array $data
|
130 |
+
* @return string escaped json string
|
131 |
+
*/
|
132 |
+
public static function getEscapeJson(array $data)
|
133 |
+
{
|
134 |
+
return htmlspecialchars(json_encode($data), ENT_QUOTES, 'UTF-8');
|
135 |
+
}
|
136 |
+
|
137 |
+
/**
|
138 |
+
* Html minify function by Tim Eckel<tim@leethost.com>
|
139 |
+
* @param $buffer
|
140 |
+
* @return mixed
|
141 |
+
*/
|
142 |
+
|
143 |
+
public static function minifyHtml($buffer)
|
144 |
+
{
|
145 |
+
if( substr(ltrim($buffer), 0, 5) == '<?xml' ) {
|
146 |
+
return ($buffer);
|
147 |
+
}
|
148 |
+
|
149 |
+
$minify_javascript = WCL_Plugin::app()->getOption('minify_javascript');
|
150 |
+
$minify_html_comments = WCL_Plugin::app()->getOption('minify_html_comments');
|
151 |
+
$minify_html_utf8 = WCL_Plugin::app()->getOption('minify_html_utf8');
|
152 |
+
|
153 |
+
if( $minify_html_utf8 && mb_detect_encoding($buffer, 'UTF-8', true) ) {
|
154 |
+
$mod = '/u';
|
155 |
+
} else {
|
156 |
+
$mod = '/s';
|
157 |
+
}
|
158 |
+
$buffer = str_replace(array(chr(13) . chr(10), chr(9)), array(chr(10), ''), $buffer);
|
159 |
+
$buffer = str_ireplace(array(
|
160 |
+
'<script',
|
161 |
+
'/script>',
|
162 |
+
'<pre',
|
163 |
+
'/pre>',
|
164 |
+
'<textarea',
|
165 |
+
'/textarea>',
|
166 |
+
'<style',
|
167 |
+
'/style>'
|
168 |
+
), array(
|
169 |
+
'M1N1FY-ST4RT<script',
|
170 |
+
'/script>M1N1FY-3ND',
|
171 |
+
'M1N1FY-ST4RT<pre',
|
172 |
+
'/pre>M1N1FY-3ND',
|
173 |
+
'M1N1FY-ST4RT<textarea',
|
174 |
+
'/textarea>M1N1FY-3ND',
|
175 |
+
'M1N1FY-ST4RT<style',
|
176 |
+
'/style>M1N1FY-3ND'
|
177 |
+
), $buffer);
|
178 |
+
$split = explode('M1N1FY-3ND', $buffer);
|
179 |
+
$buffer = '';
|
180 |
+
for($i = 0; $i < count($split); $i++) {
|
181 |
+
$ii = strpos($split[$i], 'M1N1FY-ST4RT');
|
182 |
+
if( $ii !== false ) {
|
183 |
+
$process = substr($split[$i], 0, $ii);
|
184 |
+
$asis = substr($split[$i], $ii + 12);
|
185 |
+
if( substr($asis, 0, 7) == '<script' ) {
|
186 |
+
$split2 = explode(chr(10), $asis);
|
187 |
+
$asis = '';
|
188 |
+
for($iii = 0; $iii < count($split2); $iii++) {
|
189 |
+
if( $split2[$iii] ) {
|
190 |
+
$asis .= trim($split2[$iii]) . chr(10);
|
191 |
+
}
|
192 |
+
if( $minify_javascript != 'no' ) {
|
193 |
+
if( strpos($split2[$iii], '//') !== false && substr(trim($split2[$iii]), -1) == ';' ) {
|
194 |
+
$asis .= chr(10);
|
195 |
+
}
|
196 |
+
}
|
197 |
+
}
|
198 |
+
if( $asis ) {
|
199 |
+
$asis = substr($asis, 0, -1);
|
200 |
+
}
|
201 |
+
if( $minify_html_comments ) {
|
202 |
+
$asis = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $asis);
|
203 |
+
}
|
204 |
+
if( $minify_javascript != 'no' ) {
|
205 |
+
$asis = str_replace(array(
|
206 |
+
';' . chr(10),
|
207 |
+
'>' . chr(10),
|
208 |
+
'{' . chr(10),
|
209 |
+
'}' . chr(10),
|
210 |
+
',' . chr(10)
|
211 |
+
), array(';', '>', '{', '}', ','), $asis);
|
212 |
+
}
|
213 |
+
} else if( substr($asis, 0, 6) == '<style' ) {
|
214 |
+
$asis = preg_replace(array('/\>[^\S ]+' . $mod, '/[^\S ]+\<' . $mod, '/(\s)+' . $mod), array(
|
215 |
+
'>',
|
216 |
+
'<',
|
217 |
+
'\\1'
|
218 |
+
), $asis);
|
219 |
+
if( $minify_html_comments ) {
|
220 |
+
$asis = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $asis);
|
221 |
+
}
|
222 |
+
$asis = str_replace(array(
|
223 |
+
chr(10),
|
224 |
+
' {',
|
225 |
+
'{ ',
|
226 |
+
' }',
|
227 |
+
'} ',
|
228 |
+
'( ',
|
229 |
+
' )',
|
230 |
+
' :',
|
231 |
+
': ',
|
232 |
+
' ;',
|
233 |
+
'; ',
|
234 |
+
' ,',
|
235 |
+
', ',
|
236 |
+
';}'
|
237 |
+
), array('', '{', '{', '}', '}', '(', ')', ':', ':', ';', ';', ',', ',', '}'), $asis);
|
238 |
+
}
|
239 |
+
} else {
|
240 |
+
$process = $split[$i];
|
241 |
+
$asis = '';
|
242 |
+
}
|
243 |
+
$process = preg_replace(array('/\>[^\S ]+' . $mod, '/[^\S ]+\<' . $mod, '/(\s)+' . $mod), array(
|
244 |
+
'>',
|
245 |
+
'<',
|
246 |
+
'\\1'
|
247 |
+
), $process);
|
248 |
+
if( $minify_html_comments ) {
|
249 |
+
$process = preg_replace('/<!--(?!\s*(?:\[if [^\]]+]|<!|\s?ngg_resource|>))(?:(?!-->).)*-->' . $mod, '', $process);
|
250 |
+
}
|
251 |
+
$buffer .= $process . $asis;
|
252 |
+
}
|
253 |
+
$buffer = str_replace(array(
|
254 |
+
chr(10) . '<script',
|
255 |
+
chr(10) . '<style',
|
256 |
+
'*/' . chr(10),
|
257 |
+
'M1N1FY-ST4RT'
|
258 |
+
), array('<script', '<style', '*/', ''), $buffer);
|
259 |
+
|
260 |
+
$minify_html_xhtml = WCL_Plugin::app()->getOption('minify_html_xhtml');
|
261 |
+
$minify_html_relative = WCL_Plugin::app()->getOption('minify_html_relative');
|
262 |
+
$minify_html_scheme = WCL_Plugin::app()->getOption('minify_html_scheme');
|
263 |
+
|
264 |
+
if( $minify_html_xhtml && strtolower(substr(ltrim($buffer), 0, 15)) == '<!doctype html>' ) {
|
265 |
+
$buffer = str_replace(' />', '>', $buffer);
|
266 |
+
}
|
267 |
+
if( $minify_html_relative ) {
|
268 |
+
$buffer = str_replace(array(
|
269 |
+
'https://' . $_SERVER['HTTP_HOST'] . '/',
|
270 |
+
'http://' . $_SERVER['HTTP_HOST'] . '/',
|
271 |
+
'//' . $_SERVER['HTTP_HOST'] . '/'
|
272 |
+
), array('/', '/', '/'), $buffer);
|
273 |
+
}
|
274 |
+
if( $minify_html_scheme ) {
|
275 |
+
$buffer = str_replace(array('http://', 'https://'), '//', $buffer);
|
276 |
+
}
|
277 |
+
|
278 |
+
return ($buffer);
|
279 |
+
}
|
280 |
+
|
281 |
+
/**
|
282 |
+
* Componate content for robot.txt
|
283 |
+
* @return string
|
284 |
+
*/
|
285 |
+
public static function getRightRobotTxt()
|
286 |
+
{
|
287 |
+
$cache_output = WCL_Plugin::app()->getOption('robots_txt_text_cache');
|
288 |
+
|
289 |
+
if( $cache_output ) {
|
290 |
+
return $cache_output;
|
291 |
+
}
|
292 |
+
|
293 |
+
$site_url = get_home_url();
|
294 |
+
$dir_host = preg_replace("(^https?://)", "", $site_url);
|
295 |
+
|
296 |
+
if( is_ssl() ) {
|
297 |
+
$dir_host = 'https://' . $dir_host;
|
298 |
+
}
|
299 |
+
|
300 |
+
$file_path = WCL_PLUGIN_DIR . '/templates/robots.txt';
|
301 |
+
$file = fopen($file_path, 'r');
|
302 |
+
$robot_default_content = fread($file, filesize($file_path));
|
303 |
+
fclose($file);
|
304 |
+
|
305 |
+
$output = $robot_default_content;
|
306 |
+
$output .= 'Host: ' . $dir_host . PHP_EOL;
|
307 |
+
|
308 |
+
$headers = @get_headers($site_url . '/sitemap.xml', 1);
|
309 |
+
|
310 |
+
if( strpos($headers[0], '200 OK') !== false ) {
|
311 |
+
$output .= 'Sitemap: ' . $site_url . '/sitemap.xml' . PHP_EOL;
|
312 |
+
} else if( isset($headers['Location']) && !empty($headers['Location']) ) {
|
313 |
+
$output .= 'Sitemap: ' . $headers['Location'] . PHP_EOL;
|
314 |
+
}
|
315 |
+
|
316 |
+
WCL_Plugin::app()->updateOption('robots_txt_text_cache', $output);
|
317 |
+
|
318 |
+
return $output;
|
319 |
+
}
|
320 |
+
}
|
includes/index.php
ADDED
File without changes
|
includes/update-local-ga.php
ADDED
@@ -0,0 +1,81 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Script to update local-ga.js-file
|
4 |
+
* Credits go to: Matthew Horne | http://diywpblog.com/leverage-browser-cache-optimize-google-analytics/
|
5 |
+
* I adjusted this script to work with wp-cron. It will still run in crontab, though.
|
6 |
+
* To run the script in crontab, remove the code on lines 8 and 9.
|
7 |
+
*/
|
8 |
+
// Exit if accessed directly.
|
9 |
+
if( !defined('ABSPATH') ) {
|
10 |
+
exit;
|
11 |
+
}
|
12 |
+
|
13 |
+
// Remote file to download.
|
14 |
+
$remote_file = 'https://www.google-analytics.com/analytics.js';
|
15 |
+
$local_file = WCL_PLUGIN_DIR . '/cache/local-ga.js';
|
16 |
+
|
17 |
+
// Connection time out.
|
18 |
+
$conn_timeout = 10;
|
19 |
+
$url = wp_parse_url($remote_file);
|
20 |
+
$host = $url['host'];
|
21 |
+
$path = isset($url['path'])
|
22 |
+
? $url['path']
|
23 |
+
: '/';
|
24 |
+
|
25 |
+
if( isset($url['query']) ) {
|
26 |
+
$path .= '?' . $url['query'];
|
27 |
+
}
|
28 |
+
|
29 |
+
$port = isset($url['port'])
|
30 |
+
? $url['port']
|
31 |
+
: '80';
|
32 |
+
$fp = @fsockopen($host, '80', $errno, $errstr, $conn_timeout);
|
33 |
+
|
34 |
+
if( !$fp ) {
|
35 |
+
// On connection failure return the cached file (if exists).
|
36 |
+
if( file_exists($local_file) ) {
|
37 |
+
readfile($local_file);
|
38 |
+
}
|
39 |
+
} else {
|
40 |
+
// Send the header information
|
41 |
+
$header = "GET $path HTTP/1.0\r\n";
|
42 |
+
$header .= "Host: $host\r\n";
|
43 |
+
$header .= "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6\r\n";
|
44 |
+
$header .= "Accept: */*\r\n";
|
45 |
+
$header .= "Accept-Language: en-us,en;q=0.5\r\n";
|
46 |
+
$header .= "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n";
|
47 |
+
$header .= "Keep-Alive: 300\r\n";
|
48 |
+
$header .= "Connection: keep-alive\r\n";
|
49 |
+
$header .= "Referer: http://$host\r\n\r\n";
|
50 |
+
fputs($fp, $header);
|
51 |
+
$response = '';
|
52 |
+
|
53 |
+
// Get the response from the remote server.
|
54 |
+
while( $line = fread($fp, 4096) ) {
|
55 |
+
$response .= $line;
|
56 |
+
}
|
57 |
+
|
58 |
+
// Close the connection.
|
59 |
+
fclose($fp);
|
60 |
+
|
61 |
+
// Remove the headers.
|
62 |
+
$pos = strpos($response, "\r\n\r\n");
|
63 |
+
$response = substr($response, $pos + 4);
|
64 |
+
|
65 |
+
// Return the processed response.
|
66 |
+
echo $response;
|
67 |
+
|
68 |
+
// Save the response to the local file.
|
69 |
+
if( !file_exists($local_file) ) {
|
70 |
+
// Try to create the file, if doesn't exist.
|
71 |
+
fopen($local_file, 'w');
|
72 |
+
}
|
73 |
+
|
74 |
+
if( is_writable($local_file) ) {
|
75 |
+
$fp = fopen($local_file, 'w');
|
76 |
+
if( $fp ) {
|
77 |
+
fwrite($fp, $response);
|
78 |
+
fclose($fp);
|
79 |
+
}
|
80 |
+
}
|
81 |
+
}// End if().
|
index.php
ADDED
File without changes
|
languages/clearfy-fr_FR.mo
DELETED
Binary file
|
languages/clearfy-fr_FR.po
DELETED
@@ -1,1312 +0,0 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: Webcraftic Clearfy - disable unused features\n"
|
4 |
-
"Report-Msgid-Bugs-To: \n"
|
5 |
-
"POT-Creation-Date: 2017-11-05 21:15+0000\n"
|
6 |
-
"PO-Revision-Date: 2017-11-09 04:37+0100\n"
|
7 |
-
"Last-Translator: Robert <soutien@bestgoodeal.eu>\n"
|
8 |
-
"Language-Team: French (France)\n"
|
9 |
-
"Language: fr_FR\n"
|
10 |
-
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
11 |
-
"MIME-Version: 1.0\n"
|
12 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
13 |
-
"Content-Transfer-Encoding: 8bit\n"
|
14 |
-
"X-Generator: Poedit 2.0.4\n"
|
15 |
-
|
16 |
-
#: clearfy.php:37
|
17 |
-
msgid "Clearfy"
|
18 |
-
msgstr "Clarifier"
|
19 |
-
|
20 |
-
#: includes/classes/class.configurate-advanced.php:265
|
21 |
-
msgid "Howdy"
|
22 |
-
msgstr "Salut"
|
23 |
-
|
24 |
-
#: includes/classes/class.configurate-advanced.php:265
|
25 |
-
msgid "Welcome"
|
26 |
-
msgstr "Bienvenue"
|
27 |
-
|
28 |
-
#: includes/classes/class.configurate-security.php:30
|
29 |
-
msgid "<strong>ERROR</strong>: Wrong login or password"
|
30 |
-
msgstr "<strong>ERREUR</strong>: Identifiant ou mot de passe incorrect"
|
31 |
-
|
32 |
-
#: admin/includes/options.php:12 admin/pages/code-clean.php:76
|
33 |
-
msgid "Remove REST API Links"
|
34 |
-
msgstr "Supprimer les liens API REST"
|
35 |
-
|
36 |
-
#: admin/includes/options.php:17 admin/pages/code-clean.php:86
|
37 |
-
msgid "Disable Emojis"
|
38 |
-
msgstr "Désactiver les émoticônes"
|
39 |
-
|
40 |
-
#: admin/includes/options.php:22 admin/pages/code-clean.php:116
|
41 |
-
msgid "Remove dns-prefetch"
|
42 |
-
msgstr "Supprimer DNS-prefetch"
|
43 |
-
|
44 |
-
#: admin/includes/options.php:27 admin/pages/code-clean.php:125
|
45 |
-
msgid "Remove RSD Link"
|
46 |
-
msgstr "Supprimer le lien RSD"
|
47 |
-
|
48 |
-
#: admin/includes/options.php:32 admin/pages/code-clean.php:135
|
49 |
-
msgid "Remove wlwmanifest Link"
|
50 |
-
msgstr "Supprimer le lien wlwmanifest"
|
51 |
-
|
52 |
-
#: admin/includes/options.php:37 admin/pages/code-clean.php:145
|
53 |
-
msgid "Remove Shortlink"
|
54 |
-
msgstr "Supprimer Shortlink"
|
55 |
-
|
56 |
-
#: admin/includes/options.php:42 admin/pages/code-clean.php:155
|
57 |
-
msgid "Remove links to previous, next post"
|
58 |
-
msgstr "Supprimer les liens vers le précédent, le message suivant"
|
59 |
-
|
60 |
-
#: admin/includes/options.php:47 admin/pages/code-clean.php:165
|
61 |
-
msgid "Remove .recentcomments styles"
|
62 |
-
msgstr "Supprimer. styles de commentaires récents"
|
63 |
-
|
64 |
-
#: admin/includes/options.php:52 admin/pages/seo.php:66
|
65 |
-
msgid "Automatically set the alt attribute"
|
66 |
-
msgstr "Définir automatiquement l'attribut alt"
|
67 |
-
|
68 |
-
#: admin/includes/options.php:57 admin/pages/seo.php:121
|
69 |
-
msgid "Automatically insert the Last Modified header"
|
70 |
-
msgstr "Insérez automatiquement le dernier en-tête modifié"
|
71 |
-
|
72 |
-
#: admin/includes/options.php:62 admin/pages/seo.php:144
|
73 |
-
msgid "Return an If-Modified-Since responce"
|
74 |
-
msgstr "Renvoie une réponse If-Modified-Since"
|
75 |
-
|
76 |
-
#: admin/includes/options.php:67 admin/pages/seo.php:167
|
77 |
-
msgid "Remove duplicate names in breadcrumbs WP SEO by Yoast"
|
78 |
-
msgstr "Supprimer les noms en double dans le fil d'Ariane WP SEO par Yoast"
|
79 |
-
|
80 |
-
#: admin/includes/options.php:72 admin/pages/seo.php:177
|
81 |
-
#, php-format
|
82 |
-
msgid "Remove the tag %s from XML site map"
|
83 |
-
msgstr "Supprimer la balise %s du plan de site XML"
|
84 |
-
|
85 |
-
#: admin/includes/options.php:77 admin/pages/seo.php:187
|
86 |
-
#, php-format
|
87 |
-
msgid "Remove comment from %s section"
|
88 |
-
msgstr "Supprimer le commentaire de la section %s"
|
89 |
-
|
90 |
-
#: admin/includes/options.php:82 admin/pages/double-pages.php:66
|
91 |
-
msgid "Remove archives date"
|
92 |
-
msgstr "Supprimer la date des archives"
|
93 |
-
|
94 |
-
#: admin/includes/options.php:87 admin/pages/double-pages.php:76
|
95 |
-
msgid "Remove author archives "
|
96 |
-
msgstr "Supprimer les archives de l'auteur "
|
97 |
-
|
98 |
-
#: admin/includes/options.php:92 admin/pages/double-pages.php:86
|
99 |
-
msgid "Remove archives tag"
|
100 |
-
msgstr "Supprimer le tag archives"
|
101 |
-
|
102 |
-
#: admin/includes/options.php:97 admin/pages/double-pages.php:96
|
103 |
-
msgid "Remove attachment pages"
|
104 |
-
msgstr "Supprimer les pages de pièce jointe"
|
105 |
-
|
106 |
-
#: admin/includes/options.php:102 admin/pages/double-pages.php:106
|
107 |
-
msgid "Remove post pagination"
|
108 |
-
msgstr "Supprimer la pagination de poste"
|
109 |
-
|
110 |
-
#: admin/includes/options.php:107 admin/pages/double-pages.php:116
|
111 |
-
msgid "Remove ?replytocom"
|
112 |
-
msgstr "Supprimer ?replytocom"
|
113 |
-
|
114 |
-
#: admin/includes/options.php:112 admin/pages/privacy.php:66
|
115 |
-
msgid "Remove meta generator"
|
116 |
-
msgstr "Supprimer le générateur de méta"
|
117 |
-
|
118 |
-
#: admin/includes/options.php:117 admin/pages/defence.php:64
|
119 |
-
msgid "Hide author login"
|
120 |
-
msgstr "Masquer la connexion de l'auteur"
|
121 |
-
|
122 |
-
#: admin/includes/options.php:122 admin/pages/defence.php:74
|
123 |
-
msgid "Hide errors when logging into the site"
|
124 |
-
msgstr "Masquer les erreurs lors de la connexion au site"
|
125 |
-
|
126 |
-
#: admin/includes/options.php:127 admin/includes/options.php:244
|
127 |
-
#: admin/pages/privacy.php:76
|
128 |
-
msgid "Remove Version from Stylesheet"
|
129 |
-
msgstr "Supprimer la version de la feuille de style"
|
130 |
-
|
131 |
-
#: admin/includes/options.php:132 admin/includes/options.php:249
|
132 |
-
#: admin/pages/privacy.php:87
|
133 |
-
msgid "Remove Version from Script"
|
134 |
-
msgstr "Supprimer la version du script"
|
135 |
-
|
136 |
-
#: admin/includes/options.php:137 admin/pages/widgets.php:44
|
137 |
-
msgid "Remove the \"Pages\" widget"
|
138 |
-
msgstr "Supprimer le widget pages"
|
139 |
-
|
140 |
-
#: admin/includes/options.php:142 admin/pages/widgets.php:53
|
141 |
-
msgid "Remove calendar widget"
|
142 |
-
msgstr "Supprimer le widget calendrier"
|
143 |
-
|
144 |
-
#: admin/includes/options.php:147 admin/pages/widgets.php:62
|
145 |
-
msgid "Remove the \"Cloud of tags\" widget"
|
146 |
-
msgstr "Supprimer le widget nuage de tags"
|
147 |
-
|
148 |
-
#: admin/includes/options.php:152 admin/pages/widgets.php:71
|
149 |
-
msgid "Remove the \"Archives\" widget"
|
150 |
-
msgstr "Supprimer le widget archives"
|
151 |
-
|
152 |
-
#: admin/includes/options.php:157 admin/pages/widgets.php:80
|
153 |
-
msgid "Remove the \"Links\" widget"
|
154 |
-
msgstr "Supprimer le widget liens"
|
155 |
-
|
156 |
-
#: admin/includes/options.php:162 admin/pages/widgets.php:89
|
157 |
-
msgid "Remove the \"Meta\" widget"
|
158 |
-
msgstr "Supprimer le widget meta"
|
159 |
-
|
160 |
-
#: admin/includes/options.php:167 admin/pages/widgets.php:98
|
161 |
-
msgid "Remove the \"Search\" widget"
|
162 |
-
msgstr "Supprimer le widget recherche"
|
163 |
-
|
164 |
-
#: admin/includes/options.php:172 admin/includes/options.php:192
|
165 |
-
#: admin/pages/widgets.php:107
|
166 |
-
msgid "Remove the \"Text\" widget"
|
167 |
-
msgstr "Supprimer le widget texte"
|
168 |
-
|
169 |
-
#: admin/includes/options.php:177 admin/pages/widgets.php:116
|
170 |
-
msgid "Remove the \"Categories\" widget"
|
171 |
-
msgstr "Supprimer le widget catégories"
|
172 |
-
|
173 |
-
#: admin/includes/options.php:182 admin/pages/widgets.php:125
|
174 |
-
msgid "Remove the \"Recent Posts\" widget"
|
175 |
-
msgstr "Supprimer le widget posts récents"
|
176 |
-
|
177 |
-
#: admin/includes/options.php:187 admin/pages/widgets.php:134
|
178 |
-
msgid "Remove the \"Recent Comments\" widget"
|
179 |
-
msgstr "Supprimer le widget commentaires récents"
|
180 |
-
|
181 |
-
#: admin/includes/options.php:197 admin/pages/widgets.php:143
|
182 |
-
msgid "Remove the \"RSS\" widget"
|
183 |
-
msgstr "Supprimer le widget rss"
|
184 |
-
|
185 |
-
#: admin/includes/options.php:202 admin/pages/widgets.php:152
|
186 |
-
msgid "Remove the \"Menu\" widget"
|
187 |
-
msgstr "Supprimer le widget menu"
|
188 |
-
|
189 |
-
#: admin/includes/options.php:207 admin/pages/widgets.php:161
|
190 |
-
msgid "Remove the \"Twenty Eleven Ephemera\" widget"
|
191 |
-
msgstr "Supprimer le widget twenty eleven ephemera"
|
192 |
-
|
193 |
-
#: admin/includes/options.php:210 admin/includes/options.php:284
|
194 |
-
#: admin/pages/additionally.php:137
|
195 |
-
msgid "Disable revision"
|
196 |
-
msgstr "Désactiver la révision"
|
197 |
-
|
198 |
-
#: admin/includes/options.php:211 admin/pages/additionally.php:170
|
199 |
-
msgid "Limit Post Revisions"
|
200 |
-
msgstr "Limiter les révisions post"
|
201 |
-
|
202 |
-
#: admin/includes/options.php:212 admin/pages/seo.php:135
|
203 |
-
msgid "Exclude pages:"
|
204 |
-
msgstr "Exclure les pages:"
|
205 |
-
|
206 |
-
#: admin/includes/options.php:215 admin/pages/seo.php:76
|
207 |
-
msgid "Create right robots.txt"
|
208 |
-
msgstr "Créez les bons robots.txt"
|
209 |
-
|
210 |
-
#: admin/includes/options.php:220 admin/pages/seo.php:91
|
211 |
-
msgid "You can edit the robots.txt file in the box below:"
|
212 |
-
msgstr "Vous pouvez éditer le fichier robots.txt dans la case ci-dessous:"
|
213 |
-
|
214 |
-
#: admin/includes/options.php:223
|
215 |
-
msgid "Quick mode"
|
216 |
-
msgstr "Mode rapide"
|
217 |
-
|
218 |
-
#: admin/includes/options.php:226 admin/pages/code-clean.php:96
|
219 |
-
msgid "Remove jQuery Migrate"
|
220 |
-
msgstr "Supprimer jQuery migrer"
|
221 |
-
|
222 |
-
#: admin/includes/options.php:229 admin/pages/code-clean.php:106
|
223 |
-
msgid "Disable Embeds"
|
224 |
-
msgstr "Désactiver les insertions"
|
225 |
-
|
226 |
-
#: admin/includes/options.php:230 admin/pages/code-clean.php:66
|
227 |
-
msgid "Disable RSS feeds"
|
228 |
-
msgstr "Désactiver les flux rss"
|
229 |
-
|
230 |
-
#: admin/includes/options.php:233
|
231 |
-
msgid "Removes links to wordpress.org site from the admin bar"
|
232 |
-
msgstr ""
|
233 |
-
"Supprime les liens vers le site WordPress.org à partir de la barre "
|
234 |
-
"d'administration"
|
235 |
-
|
236 |
-
#: admin/includes/options.php:236 admin/pages/code-clean.php:175
|
237 |
-
msgid "HTML minify"
|
238 |
-
msgstr "HTML rapetisser"
|
239 |
-
|
240 |
-
#: admin/includes/options.php:239 admin/pages/seo.php:101
|
241 |
-
msgid "Redirect Http to Https"
|
242 |
-
msgstr "Rediriger Http vers Https"
|
243 |
-
|
244 |
-
#: admin/includes/options.php:254 admin/pages/privacy.php:98
|
245 |
-
msgid "Eclude stylesheet/script file names"
|
246 |
-
msgstr "Exclure feuille de style /noms de fichiers script"
|
247 |
-
|
248 |
-
#: admin/includes/options.php:259 admin/pages/additionally.php:68
|
249 |
-
msgid "Enable Sanitization of WordPress"
|
250 |
-
msgstr "Activer la désinfection de WordPress"
|
251 |
-
|
252 |
-
#: admin/includes/options.php:264 admin/pages/additionally.php:78
|
253 |
-
msgid "Disable admin notice"
|
254 |
-
msgstr "Désactiver avis admin"
|
255 |
-
|
256 |
-
#: admin/includes/options.php:269 admin/pages/additionally.php:94
|
257 |
-
msgid "Disable admin top bar"
|
258 |
-
msgstr "Désactiver la barre d'administration"
|
259 |
-
|
260 |
-
#: admin/includes/options.php:274 admin/pages/additionally.php:112
|
261 |
-
msgid "Remove admin bar WP logo"
|
262 |
-
msgstr "Supprimer la barre d'administration WP logo"
|
263 |
-
|
264 |
-
#: admin/includes/options.php:279 admin/pages/additionally.php:122
|
265 |
-
msgid "Replace \"Howdy\" text with \"Welcome\""
|
266 |
-
msgstr "Remplacer le texte \"Howdy\" par \"Bienvenue\""
|
267 |
-
|
268 |
-
#: admin/includes/options.php:294 admin/pages/additionally.php:194
|
269 |
-
msgid "Disable autosave"
|
270 |
-
msgstr "Désactiver la sauvegarde automatique"
|
271 |
-
|
272 |
-
#: admin/includes/options.php:299 admin/pages/additionally.php:204
|
273 |
-
msgid "Disable Texturization - Smart Quotes"
|
274 |
-
msgstr "Désactiver la texturation - Citations intelligentes"
|
275 |
-
|
276 |
-
#: admin/includes/options.php:304 admin/pages/additionally.php:214
|
277 |
-
msgid "Disable capitalization in Wordpress branding"
|
278 |
-
msgstr "Désactiver la capitalisation dans l'image de marque Wordpress"
|
279 |
-
|
280 |
-
#: admin/includes/options.php:309 admin/pages/additionally.php:224
|
281 |
-
msgid "Disable auto inserted paragraphs (i.e. p tags)"
|
282 |
-
msgstr "Désactiver les paragraphes insérés automatiquement (i.e. p tags)"
|
283 |
-
|
284 |
-
#: admin/includes/options.php:324 admin/pages/code-clean.php:185
|
285 |
-
#: admin/pages/privacy.php:107
|
286 |
-
msgid "Remove html comments"
|
287 |
-
msgstr "Supprimer les commentaires HTML"
|
288 |
-
|
289 |
-
#: admin/pages/code-clean.php:27
|
290 |
-
msgid "Code cleaning"
|
291 |
-
msgstr "Nettoyage du code"
|
292 |
-
|
293 |
-
#: admin/pages/code-clean.php:68
|
294 |
-
msgid ""
|
295 |
-
"By default, WordPress generates all types of different RSS feeds for your "
|
296 |
-
"site. While RSS feeds can be useful if you are running a blog, businesses "
|
297 |
-
"might not always utilize these. Not every site out there has a blog."
|
298 |
-
msgstr ""
|
299 |
-
"Par défaut, WordPress génère tous les types de flux RSS différents pour "
|
300 |
-
"votre site. Bien que les flux RSS peuvent être utiles si vous exécutez un "
|
301 |
-
"blog, les entreprises ne peuvent pas toujours utiliser ces derniers. Pas "
|
302 |
-
"tous les sites là-bas a un blog."
|
303 |
-
|
304 |
-
#: admin/pages/code-clean.php:68
|
305 |
-
#, php-format
|
306 |
-
msgid ""
|
307 |
-
"Removes a link to the RSS-feed from the %s section, closes and puts the "
|
308 |
-
"redirect from all RSS-feeds."
|
309 |
-
msgstr ""
|
310 |
-
"Supprime un lien vers le flux RSS à partir de la section %s, ferme et met la "
|
311 |
-
"redirection de tous les flux RSS."
|
312 |
-
|
313 |
-
#: admin/pages/code-clean.php:78
|
314 |
-
msgid ""
|
315 |
-
"The WordPress REST API provides API endpoints for WordPress data types that "
|
316 |
-
"allow developers to interact with sites remotely by sending and receiving "
|
317 |
-
"JSON (JavaScript Object Notation) objects. However, a lot of sites don’t use "
|
318 |
-
"this, and therefore in most cases, it is just unnecessary code."
|
319 |
-
msgstr ""
|
320 |
-
"L'API REST WordPress fournit des points de terminaison API pour les types de "
|
321 |
-
"données WordPress qui permettent aux développeurs d'interagir avec les sites "
|
322 |
-
"à distance en envoyant et en recevant des objets JSON (JavaScript Object "
|
323 |
-
"Notation). Cependant, beaucoup de sites ne l'utilisent pas, et donc dans la "
|
324 |
-
"plupart des cas, c'est juste du code inutile."
|
325 |
-
|
326 |
-
#: admin/pages/code-clean.php:78
|
327 |
-
msgid ""
|
328 |
-
"Removes REST API link tag from the front end and the REST API header link "
|
329 |
-
"from page requests."
|
330 |
-
msgstr ""
|
331 |
-
"Supprime la balise de liaison de l'API REST de l'extrémité avant et le lien "
|
332 |
-
"d'en-tête de l'API REST des requêtes de page."
|
333 |
-
|
334 |
-
#: admin/pages/code-clean.php:86 admin/pages/code-clean.php:116
|
335 |
-
#: admin/pages/code-clean.php:125 admin/pages/code-clean.php:135
|
336 |
-
#: admin/pages/code-clean.php:145 admin/pages/code-clean.php:155
|
337 |
-
#: admin/pages/code-clean.php:165 admin/pages/seo.php:66
|
338 |
-
#: admin/pages/seo.php:121 admin/pages/seo.php:144 admin/pages/seo.php:167
|
339 |
-
#: admin/pages/seo.php:177 admin/pages/seo.php:187 admin/pages/privacy.php:66
|
340 |
-
#: admin/pages/privacy.php:76 admin/pages/privacy.php:87
|
341 |
-
#: admin/pages/defence.php:64 admin/pages/defence.php:74
|
342 |
-
#: admin/pages/defence.php:84 admin/pages/double-pages.php:66
|
343 |
-
#: admin/pages/double-pages.php:76 admin/pages/double-pages.php:96
|
344 |
-
#: admin/pages/double-pages.php:106 admin/pages/double-pages.php:116
|
345 |
-
msgid "Recommended"
|
346 |
-
msgstr "Recommandées"
|
347 |
-
|
348 |
-
#: admin/pages/code-clean.php:88
|
349 |
-
msgid ""
|
350 |
-
"Emojis are fun and all, but if you are aren’t using them they actually load "
|
351 |
-
"a JavaScript file (wp-emoji-release.min.js) on every page of your website. "
|
352 |
-
"For a lot of businesses, this is not needed and simply adds load time to "
|
353 |
-
"your site. So we recommend disabling this."
|
354 |
-
msgstr ""
|
355 |
-
"Smileys sont amusants et tous, mais si vous êtes ne sont pas en les "
|
356 |
-
"utilisant, ils chargent effectivement un fichier JavaScript (WP-Emoji-"
|
357 |
-
"Release. min. js) sur chaque page de votre site Web. Pour beaucoup "
|
358 |
-
"d'entreprises, ce n'est pas nécessaire et ajoute simplement du temps de "
|
359 |
-
"chargement à votre site. Donc, nous recommandons de désactiver ce."
|
360 |
-
|
361 |
-
#: admin/pages/code-clean.php:88
|
362 |
-
msgid "Removes WordPress Emojis JavaScript file (wp-emoji-release.min.js)."
|
363 |
-
msgstr ""
|
364 |
-
"Supprime WordPress émoticônes JavaScript fichier (wp-emoji-release.min.js)."
|
365 |
-
|
366 |
-
#: admin/pages/code-clean.php:98
|
367 |
-
msgid ""
|
368 |
-
"They started adding jQuery migrate in WordPress 3.6. Most up-to-date "
|
369 |
-
"frontend code and plugins don’t require jquery-migrate.min.js. In most "
|
370 |
-
"cases, this simply adds unnecessary load to your site. You can see this "
|
371 |
-
"running if you launch Chrome Devtools console."
|
372 |
-
msgstr ""
|
373 |
-
"Ils ont commencé à ajouter jQuery migrer dans WordPress 3,6. La plupart des "
|
374 |
-
"up-to-date frontend code et plugins ne nécessitent pas jQuery-Migrate. min. "
|
375 |
-
"js. Dans la plupart des cas, cela ajoute simplement une charge inutile à "
|
376 |
-
"votre site. Vous pouvez voir cette exécution si vous lancez chrome devtools "
|
377 |
-
"console."
|
378 |
-
|
379 |
-
#: admin/pages/code-clean.php:98
|
380 |
-
msgid "Removes jQuery Migrate JavaScript file (jquery-migrate.min.js)."
|
381 |
-
msgstr "Supprime le fichier jQuery Migrate JavaScript (jquery-migrate.min.js)."
|
382 |
-
|
383 |
-
#: admin/pages/code-clean.php:98
|
384 |
-
msgid "Warning! If there is a broke on your site, disable this option!"
|
385 |
-
msgstr ""
|
386 |
-
"Attention! S'il y a une rupture sur votre site, désactivez cette option!"
|
387 |
-
|
388 |
-
#: admin/pages/code-clean.php:108
|
389 |
-
msgid ""
|
390 |
-
"Embeds were released with WordPress 4.4. This is basically the magic that "
|
391 |
-
"auto converts your YouTube videos, Tweets, and URLs into pretty previews "
|
392 |
-
"while you are editing. However, this actually loads a JavaScript file (wp-"
|
393 |
-
"embed.min.js) on every page of your website. If you don’t care about the "
|
394 |
-
"auto converting preview (which we don’t), you can disable this across your "
|
395 |
-
"site."
|
396 |
-
msgstr ""
|
397 |
-
"Embeds ont été libérés avec WordPress 4,4. C'est fondamentalement la magie "
|
398 |
-
"qui convertit vos vidéos YouTube, tweets, et les URL dans de jolies aperçus "
|
399 |
-
"pendant que vous éditez. Toutefois, cela charge effectivement un fichier "
|
400 |
-
"JavaScript (WP-embed. min. js) sur chaque page de votre site Web. Si vous ne "
|
401 |
-
"vous souciez pas de l'aperçu de conversion automatique (ce qui n'est pas le "
|
402 |
-
"cas), vous pouvez désactiver cette option sur votre site."
|
403 |
-
|
404 |
-
#: admin/pages/code-clean.php:108
|
405 |
-
msgid "Removes WordPress Embed JavaScript file (wp-embed.min.js)"
|
406 |
-
msgstr "Supprime WordPress embed JavaScript fichier (WP-embed. min. js)"
|
407 |
-
|
408 |
-
#: admin/pages/code-clean.php:118
|
409 |
-
#, php-format
|
410 |
-
msgid ""
|
411 |
-
"Since version 4.6.1 in WordPress there are new links in the section %s this "
|
412 |
-
"type of: "
|
413 |
-
msgstr ""
|
414 |
-
"Depuis la version, dans WordPress, il ya de nouveaux liens dans la section%s "
|
415 |
-
"ce type de: "
|
416 |
-
|
417 |
-
#: admin/pages/code-clean.php:118
|
418 |
-
#, php-format
|
419 |
-
msgid "Removes dns-prefetch links from the %s section"
|
420 |
-
msgstr "Supprime les liens DNS-prefetch de la section %s"
|
421 |
-
|
422 |
-
#: admin/pages/code-clean.php:127
|
423 |
-
msgid ""
|
424 |
-
"The above link is used by blog clients. If you edit your site from your "
|
425 |
-
"browser then you don’t need this. It is also used by some 3rd party "
|
426 |
-
"applications that utilize XML-RPC requests. In most cases, this is just "
|
427 |
-
"unnecessary code."
|
428 |
-
msgstr ""
|
429 |
-
"Le lien ci-dessus est utilisé par les clients de blog. Si vous modifiez "
|
430 |
-
"votre site à partir de votre navigateur, alors vous n'avez pas besoin de "
|
431 |
-
"cela. Il est également utilisé par certaines applications tierces qui "
|
432 |
-
"utilisent des requêtes XML-RPC. Dans la plupart des cas, ce n'est que du "
|
433 |
-
"code inutile."
|
434 |
-
|
435 |
-
#: admin/pages/code-clean.php:127
|
436 |
-
msgid "Remove RSD (Real Simple Discovery) link tag."
|
437 |
-
msgstr "Supprimer la balise de lien RSS (Really Simple Discovery)."
|
438 |
-
|
439 |
-
#: admin/pages/code-clean.php:137
|
440 |
-
msgid ""
|
441 |
-
"This link is actually used by Windows Live Writer. If you don’t know use "
|
442 |
-
"Windows Live Writer, which we are guessing you don’t, this is just "
|
443 |
-
"unnecessary code."
|
444 |
-
msgstr ""
|
445 |
-
"Ce lien est actuellement utilisé par Windows Live Writer. Si vous ne savez "
|
446 |
-
"pas utiliser Windows Live Writer, ce que nous supposons ne pas, c'est juste "
|
447 |
-
"du code inutile."
|
448 |
-
|
449 |
-
#: admin/pages/code-clean.php:137
|
450 |
-
msgid "Remove wlwmanifest (Windows Live Writer) link tag."
|
451 |
-
msgstr "Supprimez le tag de lien wlwmanifest (Windows Live Writer)."
|
452 |
-
|
453 |
-
#: admin/pages/code-clean.php:147
|
454 |
-
#, php-format
|
455 |
-
msgid ""
|
456 |
-
"By default, the following tag shows up in every WordPress install. %s This "
|
457 |
-
"is used for a shortlink to your pages and posts. However, if you are already "
|
458 |
-
"using pretty permalinks, such as domain.com/post, then there is no reason to "
|
459 |
-
"keep this, it is just unnecessary code."
|
460 |
-
msgstr ""
|
461 |
-
"Par défaut, la balise suivante apparaît dans chaque installation de "
|
462 |
-
"WordPress. %s Ceci est utilisé pour un lien vers vos pages et messages. "
|
463 |
-
"Cependant, si vous utilisez déjà de jolis permaliens, tels que domain.com/"
|
464 |
-
"post, alors il n'y a aucune raison de garder ceci, c'est juste du code "
|
465 |
-
"inutile."
|
466 |
-
|
467 |
-
#: admin/pages/code-clean.php:147
|
468 |
-
msgid "Remove Shortlink link tag."
|
469 |
-
msgstr "Supprimer le lien du lien court."
|
470 |
-
|
471 |
-
#: admin/pages/code-clean.php:157
|
472 |
-
msgid ""
|
473 |
-
"If you use Wordpress as a CMS, then you can delete these links, they can "
|
474 |
-
"only come in handy for a blog."
|
475 |
-
msgstr ""
|
476 |
-
"Si vous utilisez Wordpress en tant que CMS, vous pouvez supprimer ces liens, "
|
477 |
-
"ils ne peuvent être utiles que pour un blog."
|
478 |
-
|
479 |
-
#: admin/pages/code-clean.php:157
|
480 |
-
msgid ""
|
481 |
-
"Remove the previous and next post links within the wp_head of your wordpress "
|
482 |
-
"theme."
|
483 |
-
msgstr ""
|
484 |
-
"Supprimez les liens post précédent et suivant dans le wp_head de votre thème "
|
485 |
-
"wordpress."
|
486 |
-
|
487 |
-
#: admin/pages/code-clean.php:167
|
488 |
-
msgid ""
|
489 |
-
"WP by default for the widget \"recent comments\" prescribes in the code "
|
490 |
-
"styles that are almost impossible to change, because to them apply! "
|
491 |
-
"important."
|
492 |
-
msgstr ""
|
493 |
-
"WP par défaut pour le widget \"commentaires récents\" prescrits dans les "
|
494 |
-
"styles de code qui sont presque impossibles à changer, car à eux "
|
495 |
-
"s'appliquent! important."
|
496 |
-
|
497 |
-
#: admin/pages/code-clean.php:167
|
498 |
-
msgid "Removes .recentcomments styles from head section."
|
499 |
-
msgstr "Supprimez les styles de commentaires .recent de la section head."
|
500 |
-
|
501 |
-
#: admin/pages/code-clean.php:177
|
502 |
-
msgid ""
|
503 |
-
"Reduces the weight of the page by removing line breaks, tabs, spaces, etc."
|
504 |
-
msgstr ""
|
505 |
-
"Réduit le poids de la page en supprimant les sauts de ligne, les "
|
506 |
-
"tabulations, les espaces, etc."
|
507 |
-
|
508 |
-
#: admin/pages/code-clean.php:177
|
509 |
-
msgid "Minify pages."
|
510 |
-
msgstr "Réduire les pages."
|
511 |
-
|
512 |
-
#: admin/pages/code-clean.php:187 admin/pages/privacy.php:109
|
513 |
-
msgid ""
|
514 |
-
"This function will remove all html comments in the source code, except for "
|
515 |
-
"special and hidden comments. This is necessary to hide the version of "
|
516 |
-
"installed plugins."
|
517 |
-
msgstr ""
|
518 |
-
"Cette fonction va supprimer tous les commentaires HTML dans le code source, "
|
519 |
-
"sauf pour les commentaires spéciaux et cachés. Ceci est nécessaire pour "
|
520 |
-
"masquer la version des plugins installés."
|
521 |
-
|
522 |
-
#: admin/pages/code-clean.php:187 admin/pages/privacy.php:109
|
523 |
-
msgid "Remove html comments in source code."
|
524 |
-
msgstr "Supprimez les commentaires HTML dans le code source."
|
525 |
-
|
526 |
-
#: admin/pages/seo.php:27
|
527 |
-
msgid "SEO"
|
528 |
-
msgstr "SEO"
|
529 |
-
|
530 |
-
#: admin/pages/seo.php:68
|
531 |
-
msgid ""
|
532 |
-
"The alt attribute is mandatory, so most SEO experts say. If you missed or "
|
533 |
-
"did not fill it at all, it will be automatically assigned and will be equal "
|
534 |
-
"to the title of the article."
|
535 |
-
msgstr ""
|
536 |
-
"L'attribut alt est obligatoire, disent la plupart des experts SEO. Si vous "
|
537 |
-
"l'avez manqué ou que vous ne l'avez pas rempli du tout, il sera "
|
538 |
-
"automatiquement assigné et sera égal au titre de l'article."
|
539 |
-
|
540 |
-
#: admin/pages/seo.php:68
|
541 |
-
#, php-format
|
542 |
-
msgid "Replaces the %s, on attribute with an article name %s"
|
543 |
-
msgstr "Remplace le %s, sur l'attribut par un nom d'article %s"
|
544 |
-
|
545 |
-
#: admin/pages/seo.php:78
|
546 |
-
msgid ""
|
547 |
-
"After installation, WP does not contain a robots.txt file and create it "
|
548 |
-
"manually. We re-read about 30 different articles, instructions from Yandex "
|
549 |
-
"and Google to create the perfect robots.txt"
|
550 |
-
msgstr ""
|
551 |
-
"Après l'installation, WP ne contient pas un fichier robots.txt et le créer "
|
552 |
-
"manuellement. Nous re-lire environ 30 articles différents, des instructions "
|
553 |
-
"de Yandex et Google pour créer le parfait robots.txt"
|
554 |
-
|
555 |
-
#: admin/pages/seo.php:78
|
556 |
-
msgid "Automatically creates the perfect robots.txt file"
|
557 |
-
msgstr "Crée automatiquement le fichier robots.txt parfait"
|
558 |
-
|
559 |
-
#: admin/pages/seo.php:103
|
560 |
-
msgid ""
|
561 |
-
"If your site uses an SSL certificate, check this box to enable redirection "
|
562 |
-
"from http to https."
|
563 |
-
msgstr ""
|
564 |
-
"Si votre site utilise un certificat SSL, cochez cette case pour activer la "
|
565 |
-
"redirection de http vers https."
|
566 |
-
|
567 |
-
#: admin/pages/seo.php:103
|
568 |
-
msgid "Puts the redirect from http to https."
|
569 |
-
msgstr "Place la redirection de http vers https."
|
570 |
-
|
571 |
-
#: admin/pages/seo.php:103
|
572 |
-
msgid "Warning! Before activation, make sure your site is open https."
|
573 |
-
msgstr ""
|
574 |
-
"Attention! Avant l'activation, assurez-vous que votre site est ouvert https."
|
575 |
-
|
576 |
-
#: admin/pages/seo.php:109
|
577 |
-
msgid "Server headers and response"
|
578 |
-
msgstr "En-têtes de serveur et réponse"
|
579 |
-
|
580 |
-
#: admin/pages/seo.php:109
|
581 |
-
msgid ""
|
582 |
-
"WordPress does not know how to give the Last Modified header in the server's "
|
583 |
-
"responses. You can do this using the settings below."
|
584 |
-
msgstr ""
|
585 |
-
"WordPress ne sait pas comment donner le dernier en-tête modifié dans les "
|
586 |
-
"réponses du serveur. Vous pouvez le faire en utilisant les paramètres ci-"
|
587 |
-
"dessous."
|
588 |
-
|
589 |
-
#: admin/pages/seo.php:137
|
590 |
-
#, php-format
|
591 |
-
msgid ""
|
592 |
-
"You can specify a page mask, for example: %s or %s. All pages that contain "
|
593 |
-
"the string will be excluded. Each exclude must begin with a new line."
|
594 |
-
msgstr ""
|
595 |
-
"Vous pouvez spécifier un masque de page, par exemple: %s ou %s. Toutes les "
|
596 |
-
"pages contenant la chaîne seront exclues. Chaque exclusion doit commencer "
|
597 |
-
"par une nouvelle ligne."
|
598 |
-
|
599 |
-
#: admin/pages/seo.php:155
|
600 |
-
msgid "For the Yoast SEO plugin"
|
601 |
-
msgstr "Pour le plugin SEO Yoast"
|
602 |
-
|
603 |
-
#: admin/pages/seo.php:155
|
604 |
-
msgid ""
|
605 |
-
"These settings will help you eliminate some problems associated with the "
|
606 |
-
"popular Yoast SEO plugin"
|
607 |
-
msgstr ""
|
608 |
-
"Ces paramètres vous aideront à éliminer certains problèmes associés à la "
|
609 |
-
"populaire Yoast SEO Plugin"
|
610 |
-
|
611 |
-
#: admin/pages/seo.php:169
|
612 |
-
msgid ""
|
613 |
-
"The last element in the breadcrumbs in the Yoast SEO plugin duplicates the "
|
614 |
-
"title of the article. Some SEO-specialists consider this duplication to be "
|
615 |
-
"superfluous."
|
616 |
-
msgstr ""
|
617 |
-
"Le dernier élément dans la chapelure dans le plugin Yoast SEO duplique le "
|
618 |
-
"titre de l'article. Certains SEO-spécialistes considèrent cette duplication "
|
619 |
-
"comme superflue."
|
620 |
-
|
621 |
-
#: admin/pages/seo.php:169
|
622 |
-
msgid ""
|
623 |
-
"Removes duplication of the name in the breadcrumbs of the WP SEO plugin from "
|
624 |
-
"Yoast."
|
625 |
-
msgstr ""
|
626 |
-
"Supprime la duplication du nom dans la chapelure du plugin WP SEO de Yoast."
|
627 |
-
|
628 |
-
#: admin/pages/seo.php:179
|
629 |
-
msgid ""
|
630 |
-
"Yandex.Webmaster swears on a standard XML card from the plugin Yoast, tk. it "
|
631 |
-
"has a specific tag"
|
632 |
-
msgstr ""
|
633 |
-
"Yandex. webmaster jure sur une carte XML standard à partir du plugin Yoast, "
|
634 |
-
"tk. il a une balise spécifique"
|
635 |
-
|
636 |
-
#: admin/pages/seo.php:179
|
637 |
-
#, php-format
|
638 |
-
msgid "Remove the tag %s from XML site map of the plugin Yoast SEO."
|
639 |
-
msgstr "Supprimer la balise %s de la carte du site XML du plugin Yoast SEO."
|
640 |
-
|
641 |
-
#: admin/pages/seo.php:179
|
642 |
-
msgid ""
|
643 |
-
"Attention! After activation, turn off the site map and enable it back to "
|
644 |
-
"regenerate it."
|
645 |
-
msgstr ""
|
646 |
-
"Attention! Après l'activation, désactivez le plan du site et réactivez-le "
|
647 |
-
"pour le régénérer."
|
648 |
-
|
649 |
-
#: admin/pages/seo.php:179
|
650 |
-
msgid "In older versions of Yoast SEO may not work - update the plugin Yoast"
|
651 |
-
msgstr ""
|
652 |
-
"Dans les anciennes versions de Yoast SEO ne peut pas fonctionner - mettre à "
|
653 |
-
"jour le plugin Yoast"
|
654 |
-
|
655 |
-
#: admin/pages/seo.php:189
|
656 |
-
#, php-format
|
657 |
-
msgid "The Yoast SEO plugin displays a comment of the form %s in %s section"
|
658 |
-
msgstr ""
|
659 |
-
"Le plugin Yoast SEO affiche un commentaire du formulaire %s dans %s la "
|
660 |
-
"section"
|
661 |
-
|
662 |
-
#: admin/pages/seo.php:189
|
663 |
-
#, php-format
|
664 |
-
msgid "Removes the Yoast SEO plugin comment of their section %s"
|
665 |
-
msgstr "Supprime le commentaire du plugin Yoast SEO de leur section %s"
|
666 |
-
|
667 |
-
#: admin/pages/components.php:32
|
668 |
-
msgid "Components"
|
669 |
-
msgstr "Composants"
|
670 |
-
|
671 |
-
#: admin/pages/privacy.php:27
|
672 |
-
msgid "Privacy Settings"
|
673 |
-
msgstr "Paramètres de confidentialité"
|
674 |
-
|
675 |
-
#: admin/pages/privacy.php:68
|
676 |
-
msgid ""
|
677 |
-
"Allows attacker to learn the version of WP installed on the site. This meta "
|
678 |
-
"tag has no useful function."
|
679 |
-
msgstr ""
|
680 |
-
"Permet à l'attaquant d'apprendre la version de WP installée sur le site. "
|
681 |
-
"Cette balise meta n'a aucune fonction utile."
|
682 |
-
|
683 |
-
#: admin/pages/privacy.php:68
|
684 |
-
#, php-format
|
685 |
-
msgid "Removes the meta tag from the %s section"
|
686 |
-
msgstr "Supprime la balise meta de la section %s"
|
687 |
-
|
688 |
-
#: admin/pages/privacy.php:78 admin/pages/privacy.php:89
|
689 |
-
msgid ""
|
690 |
-
"To make it more difficult for others to hack your website you can remove the "
|
691 |
-
"WordPress version number from your site, your css and js. Without that "
|
692 |
-
"number it's not possible to see if you run not the current version to "
|
693 |
-
"exploit bugs from the older versions. <br><br>\n"
|
694 |
-
"\t\t\t\t\tAdditionally it can improve the loading speed of your site, "
|
695 |
-
"because without query strings in the URL the css and js files can be cached."
|
696 |
-
msgstr ""
|
697 |
-
"Pour rendre plus difficile pour les autres de pirater votre site Web, vous "
|
698 |
-
"pouvez supprimer le numéro de version WordPress de votre site, votre css et "
|
699 |
-
"js. Sans ce nombre, il n'est pas possible de voir si vous n'exécutez pas la "
|
700 |
-
"version actuelle pour exploiter les bogues des anciennes versions. <br><br>\n"
|
701 |
-
"De plus, il peut améliorer la vitesse de chargement de votre site, car sans "
|
702 |
-
"les chaînes de requête dans l'URL, les fichiers css et js peuvent être mis "
|
703 |
-
"en cache."
|
704 |
-
|
705 |
-
#: admin/pages/privacy.php:79
|
706 |
-
msgid ""
|
707 |
-
"Removes the wordpress version number from stylesheets (not logged in user "
|
708 |
-
"only)."
|
709 |
-
msgstr ""
|
710 |
-
"Supprimez le numéro de version wordpress des feuilles de style (utilisateur "
|
711 |
-
"non connecté uniquement)."
|
712 |
-
|
713 |
-
#: admin/pages/privacy.php:90
|
714 |
-
msgid ""
|
715 |
-
"Removes wordpress version number from scripts (not logged in user only)."
|
716 |
-
msgstr ""
|
717 |
-
"Supprimer le numéro de version wordpress des scripts (utilisateur non "
|
718 |
-
"connecté uniquement)."
|
719 |
-
|
720 |
-
#: admin/pages/privacy.php:100
|
721 |
-
msgid ""
|
722 |
-
"Enter Stylesheet/Script file names to exclude from version removal (each "
|
723 |
-
"exclude file starts with a new line)"
|
724 |
-
msgstr ""
|
725 |
-
"Entrez les noms de fichier de feuille de style / script à exclure de la "
|
726 |
-
"suppression de version (chaque fichier d'exclusion commence par une nouvelle "
|
727 |
-
"ligne)"
|
728 |
-
|
729 |
-
#: admin/pages/privacy.php:100
|
730 |
-
msgid "Example"
|
731 |
-
msgstr "Example"
|
732 |
-
|
733 |
-
#: admin/pages/defence.php:25
|
734 |
-
msgid "Defence"
|
735 |
-
msgstr "Défense"
|
736 |
-
|
737 |
-
#: admin/pages/defence.php:66
|
738 |
-
msgid ""
|
739 |
-
"An attacker can find out the author's login, using a similar request to get "
|
740 |
-
"your site. mysite.com/?author=1"
|
741 |
-
msgstr ""
|
742 |
-
"Un attaquant peut trouver la connexion de l'auteur, en utilisant une requête "
|
743 |
-
"similaire pour obtenir votre site. mysite.com/?author=1"
|
744 |
-
|
745 |
-
#: admin/pages/defence.php:66
|
746 |
-
msgid "Sets the redirect to exclude the possibility of obtaining a login."
|
747 |
-
msgstr ""
|
748 |
-
"Définit la redirection pour exclure la possibilité d'obtenir une connexion."
|
749 |
-
|
750 |
-
#: admin/pages/defence.php:76
|
751 |
-
msgid ""
|
752 |
-
"WP by default shows whether you entered a wrong login or incorrect password, "
|
753 |
-
"which allows attackers to understand if there is a certain user on the site, "
|
754 |
-
"and then start searching through the passwords."
|
755 |
-
msgstr ""
|
756 |
-
"WP par défaut indique si vous avez entré un mauvais identifiant ou mot de "
|
757 |
-
"passe incorrect, ce qui permet aux pirates de comprendre s'il y a un certain "
|
758 |
-
"utilisateur sur le site, puis de commencer à chercher dans les mots de passe."
|
759 |
-
|
760 |
-
#: admin/pages/defence.php:76
|
761 |
-
msgid ""
|
762 |
-
"Changes in the text of the error so that attackers could not find the login."
|
763 |
-
msgstr ""
|
764 |
-
"Modifications dans le texte de l'erreur afin que les attaquants ne pouvaient "
|
765 |
-
"pas trouver la connexion."
|
766 |
-
|
767 |
-
#: admin/pages/defence.php:84
|
768 |
-
#: components/comments-plus/admin/pages/comments.php:290
|
769 |
-
msgid "Disable XML-RPC"
|
770 |
-
msgstr "Désactiver xml-rpc"
|
771 |
-
|
772 |
-
#: admin/pages/defence.php:86
|
773 |
-
msgid ""
|
774 |
-
"A pingback is basically an automated comment that gets created when another "
|
775 |
-
"blog links to you. A self-pingback is created when you link to an article "
|
776 |
-
"within your own blog. Pingbacks are essentially nothing more than spam and "
|
777 |
-
"simply waste resources."
|
778 |
-
msgstr ""
|
779 |
-
"Un Pingback est fondamentalement un commentaire automatisé qui obtient créé "
|
780 |
-
"quand un autre blog lie à vous. Un self-Pingback est créé lorsque vous liez "
|
781 |
-
"à un article dans votre propre blog. Pingbacks sont essentiellement rien de "
|
782 |
-
"plus que du spam et simplement des ressources de gaspillage."
|
783 |
-
|
784 |
-
#: admin/pages/defence.php:86
|
785 |
-
#: components/comments-plus/admin/pages/comments.php:292
|
786 |
-
msgid "Removes the server responses a reference to the xmlrpc file."
|
787 |
-
msgstr "Supprime les réponses du serveur une référence au fichier xml-rpc."
|
788 |
-
|
789 |
-
#: admin/pages/quick-start.php:35
|
790 |
-
msgid "Clearfy menu"
|
791 |
-
msgstr "Clarifier le menu"
|
792 |
-
|
793 |
-
#: admin/pages/quick-start.php:42
|
794 |
-
msgid "Quick start"
|
795 |
-
msgstr "Démarrage rapide"
|
796 |
-
|
797 |
-
#: admin/pages/quick-start.php:76
|
798 |
-
msgid ""
|
799 |
-
"On this page you can quickly configure the plug-in without going into "
|
800 |
-
"details."
|
801 |
-
msgstr ""
|
802 |
-
"Sur cette page, vous pouvez configurer rapidement le plugin sans entrer dans "
|
803 |
-
"les détails."
|
804 |
-
|
805 |
-
#: admin/pages/quick-start.php:169
|
806 |
-
msgid "Reset all settings"
|
807 |
-
msgstr "Réinitialiser tous les réglages"
|
808 |
-
|
809 |
-
#: admin/pages/quick-start.php:170
|
810 |
-
msgid "Recommended Mode"
|
811 |
-
msgstr "Mode recommandé"
|
812 |
-
|
813 |
-
#: admin/pages/quick-start.php:171
|
814 |
-
msgid "Code Clearing"
|
815 |
-
msgstr "Effacement du code"
|
816 |
-
|
817 |
-
#: admin/pages/quick-start.php:172
|
818 |
-
msgid "Security"
|
819 |
-
msgstr "Sécurité"
|
820 |
-
|
821 |
-
#: admin/pages/quick-start.php:173
|
822 |
-
msgid "Seo optimization"
|
823 |
-
msgstr "Optimisation SEO"
|
824 |
-
|
825 |
-
#: admin/pages/quick-start.php:174
|
826 |
-
msgid "Remove default Widgets"
|
827 |
-
msgstr "Supprimer les widgets par défaut"
|
828 |
-
|
829 |
-
#: admin/pages/quick-start.php:179
|
830 |
-
msgid "Are you sure you want to enable the this options?"
|
831 |
-
msgstr "Êtes-vous sûr de vouloir activer ces options?"
|
832 |
-
|
833 |
-
#: admin/pages/quick-start.php:182
|
834 |
-
msgid ""
|
835 |
-
"After confirmation, all the settings of the plug-in will return to the "
|
836 |
-
"default state. Make backup settings by copying data from the export field."
|
837 |
-
msgstr ""
|
838 |
-
"Après confirmation, tous les paramètres du plug-in reviendront à l'état par "
|
839 |
-
"défaut. Effectuez les paramètres de sauvegarde en copiant les données du "
|
840 |
-
"champ exporter."
|
841 |
-
|
842 |
-
#: admin/pages/quick-start.php:186
|
843 |
-
msgid "Confirm"
|
844 |
-
msgstr "Confirmer"
|
845 |
-
|
846 |
-
#: admin/pages/quick-start.php:187 admin/pages/quick-start.php:215
|
847 |
-
msgid "Cancel"
|
848 |
-
msgstr "Annuler"
|
849 |
-
|
850 |
-
#: admin/pages/quick-start.php:194
|
851 |
-
msgid ""
|
852 |
-
"This is the quick plug-in setup mode. Use it if you do not want to "
|
853 |
-
"understand the settings or do not understand what settings you need to use."
|
854 |
-
msgstr ""
|
855 |
-
"C'est le mode de configuration rapide du plug-in. Utilisez-le si vous ne "
|
856 |
-
"voulez pas comprendre les paramètres ou ne pas comprendre les paramètres que "
|
857 |
-
"vous devez utiliser."
|
858 |
-
|
859 |
-
#: admin/pages/quick-start.php:195
|
860 |
-
msgid "Select mode"
|
861 |
-
msgstr "Sélectionner le mode"
|
862 |
-
|
863 |
-
#: admin/pages/quick-start.php:197
|
864 |
-
msgid ""
|
865 |
-
"After selecting the mode, the plug-in automatically activates the necessary "
|
866 |
-
"settings for the mode."
|
867 |
-
msgstr ""
|
868 |
-
"Après avoir sélectionné le mode, le plug-in active automatiquement les "
|
869 |
-
"réglages nécessaires pour le mode."
|
870 |
-
|
871 |
-
#: admin/pages/quick-start.php:227
|
872 |
-
msgid "Settings successfully updated!"
|
873 |
-
msgstr "Paramètres mis à jour avec succès !"
|
874 |
-
|
875 |
-
#: admin/pages/quick-start.php:230
|
876 |
-
msgid ""
|
877 |
-
"During the setup, an unknown error occurred, please try again or contact the "
|
878 |
-
"plug-in support."
|
879 |
-
msgstr ""
|
880 |
-
"Pendant la configuration, une erreur inconnue s'est produite. Veuillez "
|
881 |
-
"réessayer ou contacter le support du plug-in."
|
882 |
-
|
883 |
-
#: admin/pages/quick-start.php:237
|
884 |
-
msgid "Import/Export settings"
|
885 |
-
msgstr "Importer/Exporter les paramètres"
|
886 |
-
|
887 |
-
#: admin/pages/quick-start.php:240
|
888 |
-
msgid "Import options"
|
889 |
-
msgstr "Options d'importation"
|
890 |
-
|
891 |
-
#: admin/pages/quick-start.php:246
|
892 |
-
msgid "Support"
|
893 |
-
msgstr "Soutien"
|
894 |
-
|
895 |
-
#: admin/pages/quick-start.php:248
|
896 |
-
msgid ""
|
897 |
-
"If you faced with any issues, please follow the steps below to get quickly "
|
898 |
-
"quality support:"
|
899 |
-
msgstr ""
|
900 |
-
"Si vous rencontrez des problèmes, veuillez suivre les étapes ci-dessous pour "
|
901 |
-
"obtenir rapidement un soutien de qualité:"
|
902 |
-
|
903 |
-
#: admin/pages/quick-start.php:251
|
904 |
-
msgid ""
|
905 |
-
"Generate a debug report which will contains inforamtion about your "
|
906 |
-
"configuratin and installed plugins"
|
907 |
-
msgstr ""
|
908 |
-
"Générer un rapport de débogage qui contiendra des informations sur votre "
|
909 |
-
"configuration et les plugins installés"
|
910 |
-
|
911 |
-
#: admin/pages/quick-start.php:254
|
912 |
-
msgid "Generate Debug Report"
|
913 |
-
msgstr "Générer un rapport de débogage"
|
914 |
-
|
915 |
-
#: admin/pages/quick-start.php:258
|
916 |
-
msgid ""
|
917 |
-
"Send a message to <b>wordpress.webraftic@gmail.com</b> include the debug "
|
918 |
-
"report into the message body."
|
919 |
-
msgstr ""
|
920 |
-
"Envoyer un message à <b>wordpress.webraftic@gmail.com</b> inclure le rapport "
|
921 |
-
"de débogage dans le corps du message."
|
922 |
-
|
923 |
-
#: admin/pages/quick-start.php:261
|
924 |
-
msgid "We guarantee to respond you within 7 business day."
|
925 |
-
msgstr "Nous garantissons de vous répondre dans les 7 jours ouvrables."
|
926 |
-
|
927 |
-
#: admin/pages/additionally.php:27
|
928 |
-
msgid "Advanced"
|
929 |
-
msgstr "Avancée"
|
930 |
-
|
931 |
-
#: admin/pages/additionally.php:50
|
932 |
-
msgid ""
|
933 |
-
"Warning! In the wp-config.php file, a constant WP_POST_REVISIONS is found, "
|
934 |
-
"it determines the number of revisions. Delete it so you can change this "
|
935 |
-
"value through the admin panel."
|
936 |
-
msgstr ""
|
937 |
-
"Attention! Dans le fichier wp-config.php, une constante WP_POST_REVISIONS "
|
938 |
-
"est trouvée, elle détermine le nombre de révisions. Supprimez-le pour "
|
939 |
-
"pouvoir modifier cette valeur via le panneau d'administration."
|
940 |
-
|
941 |
-
#: admin/pages/additionally.php:70
|
942 |
-
msgid ""
|
943 |
-
"File names and some titles can have special characters, which can cause "
|
944 |
-
"problems when creating permalinks."
|
945 |
-
msgstr ""
|
946 |
-
"Les noms de fichiers et certains titres peuvent avoir des caractères "
|
947 |
-
"spéciaux, ce qui peut causer des problèmes lors de la création de liens "
|
948 |
-
"permanents."
|
949 |
-
|
950 |
-
#: admin/pages/additionally.php:70
|
951 |
-
msgid ""
|
952 |
-
"Removes symbols, spaces, latin and other languages characters from uploaded "
|
953 |
-
"files and gives them \"permalink\" structure (clean characters, only "
|
954 |
-
"lowercase and dahes)."
|
955 |
-
msgstr ""
|
956 |
-
"Supprime les symboles, espaces, caractères latins et autres langues des "
|
957 |
-
"fichiers téléchargés et leur donne une structure \"permalien\" (caractères "
|
958 |
-
"propres, seulement minuscules et tirets)."
|
959 |
-
|
960 |
-
#: admin/pages/additionally.php:80
|
961 |
-
msgid ""
|
962 |
-
"Whenever there’s a major release available, a notification will display at "
|
963 |
-
"the top of your admin area, letting you know your version is out-of-date and "
|
964 |
-
"you need to update the core code.<br>\n"
|
965 |
-
"For many people, this nag can be annoying. And if you developer websites for "
|
966 |
-
"clients, you may want to hide it. After all, who wants to let their clients "
|
967 |
-
"know their software is old?"
|
968 |
-
msgstr ""
|
969 |
-
"Chaque fois qu'une version majeure est disponible, une notification "
|
970 |
-
"s'affiche en haut de la zone d'administration, vous indiquant que votre "
|
971 |
-
"version est obsolète et que vous devez mettre à jour le code principal. "
|
972 |
-
"<br>\n"
|
973 |
-
"Pour beaucoup de gens, ce harceler peut être agaçant. Et si vous développez "
|
974 |
-
"des sites Web pour les clients, vous pouvez vouloir le cacher. Après tout, "
|
975 |
-
"qui veut faire savoir à ses clients que leur logiciel est vieux?"
|
976 |
-
|
977 |
-
#: admin/pages/additionally.php:81
|
978 |
-
msgid "Disable admin notices."
|
979 |
-
msgstr "Désactiver les notifications d'administration."
|
980 |
-
|
981 |
-
#: admin/pages/additionally.php:87
|
982 |
-
msgid "Admin bar"
|
983 |
-
msgstr "Barre d'administration"
|
984 |
-
|
985 |
-
#: admin/pages/additionally.php:87
|
986 |
-
msgid "In this group of settings, you can manage the adminbar."
|
987 |
-
msgstr ""
|
988 |
-
"Dans ce groupe de paramètres, vous pouvez gérer la barre d'administration."
|
989 |
-
|
990 |
-
#: admin/pages/additionally.php:96
|
991 |
-
msgid "Default enable"
|
992 |
-
msgstr "Activer par défaut"
|
993 |
-
|
994 |
-
#: admin/pages/additionally.php:97
|
995 |
-
msgid "For all users"
|
996 |
-
msgstr "Pour tous les utilisateurs"
|
997 |
-
|
998 |
-
#: admin/pages/additionally.php:100
|
999 |
-
msgid "For all users except administrator"
|
1000 |
-
msgstr "Pour tous les utilisateurs excepté l'administrateur"
|
1001 |
-
|
1002 |
-
#: admin/pages/additionally.php:104
|
1003 |
-
msgid ""
|
1004 |
-
"In some cases, you need to disable the floating top admin panel. You can "
|
1005 |
-
"disable this panel."
|
1006 |
-
msgstr ""
|
1007 |
-
"Dans certains cas, vous devez désactiver le panneau d'administration "
|
1008 |
-
"supérieur flottant. Vous pouvez désactiver ce panneau."
|
1009 |
-
|
1010 |
-
#: admin/pages/additionally.php:104
|
1011 |
-
msgid "Disable admin top bar."
|
1012 |
-
msgstr "Désactiver la barre supérieure d'administration."
|
1013 |
-
|
1014 |
-
#: admin/pages/additionally.php:114
|
1015 |
-
msgid "Enable this if you want to remove wp logo from admin bar."
|
1016 |
-
msgstr ""
|
1017 |
-
"Activez cette option si vous souhaitez supprimer le logo wp de la barre "
|
1018 |
-
"d'administration."
|
1019 |
-
|
1020 |
-
#: admin/pages/additionally.php:124
|
1021 |
-
msgid "Replaces the welcome text in admin bar."
|
1022 |
-
msgstr "Remplace le texte de bienvenue dans la barre d'administration."
|
1023 |
-
|
1024 |
-
#: admin/pages/additionally.php:130
|
1025 |
-
msgid "Posts"
|
1026 |
-
msgstr "Messages"
|
1027 |
-
|
1028 |
-
#: admin/pages/additionally.php:130
|
1029 |
-
msgid "In this group of options, you can manage revisions and post autosave."
|
1030 |
-
msgstr ""
|
1031 |
-
"Dans ce groupe d'options, vous pouvez gérer les révisions et publier la "
|
1032 |
-
"sauvegarde automatique."
|
1033 |
-
|
1034 |
-
#: admin/pages/additionally.php:172 admin/pages/additionally.php:270
|
1035 |
-
msgid "Wordpress default"
|
1036 |
-
msgstr "Wordpress default"
|
1037 |
-
|
1038 |
-
#: admin/pages/additionally.php:173 admin/pages/additionally.php:174
|
1039 |
-
#: admin/pages/additionally.php:175 admin/pages/additionally.php:176
|
1040 |
-
#: admin/pages/additionally.php:177 admin/pages/additionally.php:178
|
1041 |
-
#: admin/pages/additionally.php:179 admin/pages/additionally.php:180
|
1042 |
-
#: admin/pages/additionally.php:181 admin/pages/additionally.php:182
|
1043 |
-
msgid "revisions"
|
1044 |
-
msgstr "révisions"
|
1045 |
-
|
1046 |
-
#: admin/pages/additionally.php:185
|
1047 |
-
msgid ""
|
1048 |
-
"WordPress automatically saves revisions when you are working on posts and "
|
1049 |
-
"pages. These can begin to add up pretty quick. By default, there is no limit "
|
1050 |
-
"in place. We have seen posts with over 1,000 revisions. Multiply this by 50 "
|
1051 |
-
"pages and suddenly you have over 50,000 revisions sitting in your database. "
|
1052 |
-
"The problem with this is that you will most likely never use them and they "
|
1053 |
-
"can start slowing down your database as well as using disk space.\n"
|
1054 |
-
"So we recommend either disabling or limiting your revisions. "
|
1055 |
-
msgstr ""
|
1056 |
-
"WordPress enregistre automatiquement les révisions lorsque vous travaillez "
|
1057 |
-
"sur les messages et les pages. Ceux-ci peuvent commencer à s'additionner "
|
1058 |
-
"assez rapidement. Par défaut, il n'y a pas de limite en place. Nous avons vu "
|
1059 |
-
"des postes avec plus de 1 000 révisions. Multipliez ce par 50 pages et tout "
|
1060 |
-
"à coup vous avez plus de 50 000 révisions assis dans votre base de données. "
|
1061 |
-
"Le problème avec cela est que vous aurez très probablement jamais les "
|
1062 |
-
"utiliser et ils peuvent commencer à ralentir votre base de données ainsi que "
|
1063 |
-
"l'utilisation de l'espace disque.\n"
|
1064 |
-
"Nous recommandons donc soit de désactiver ou de limiter vos révisions. "
|
1065 |
-
|
1066 |
-
#: admin/pages/additionally.php:196
|
1067 |
-
msgid ""
|
1068 |
-
"WordPress by default automatically saves a draft every 60 seconds (1 "
|
1069 |
-
"minute). There are reasons why you might want to change this."
|
1070 |
-
msgstr ""
|
1071 |
-
"WordPress par défaut enregistre automatiquement un brouillon toutes les 60 "
|
1072 |
-
"secondes (1 minute). Il y a des raisons pour lesquelles vous pourriez "
|
1073 |
-
"vouloir changer cela."
|
1074 |
-
|
1075 |
-
#: admin/pages/additionally.php:196
|
1076 |
-
msgid "Disables automatic saving of drafts."
|
1077 |
-
msgstr "Désactive la sauvegarde automatique des brouillons."
|
1078 |
-
|
1079 |
-
#: admin/pages/additionally.php:206
|
1080 |
-
msgid ""
|
1081 |
-
"Function of text formatting. This function makes the text more correct, "
|
1082 |
-
"readable and visually appealing. But sometimes this function may prevent you "
|
1083 |
-
"from using certain codes and symbols."
|
1084 |
-
msgstr ""
|
1085 |
-
"Fonction de mise en forme du texte. Cette fonction rend le texte plus "
|
1086 |
-
"correct, plus lisible et attrayant. Mais parfois, cette fonction peut vous "
|
1087 |
-
"empêcher d'utiliser certains codes et symboles."
|
1088 |
-
|
1089 |
-
#: admin/pages/additionally.php:206
|
1090 |
-
msgid "Disable Texturization - Smart Quotes."
|
1091 |
-
msgstr "Désactiver la texturation - Citations intelligentes."
|
1092 |
-
|
1093 |
-
#: admin/pages/additionally.php:216
|
1094 |
-
msgid ""
|
1095 |
-
"Replaces the incorrectly written letter \"p\" in the middle of WordPress "
|
1096 |
-
"(you need to write with the capital P in the middle)."
|
1097 |
-
msgstr ""
|
1098 |
-
"Remplace la lettre mal écrite \"p\" au milieu de WordPress (vous devez "
|
1099 |
-
"écrire avec la majuscule p au milieu)."
|
1100 |
-
|
1101 |
-
#: admin/pages/additionally.php:216
|
1102 |
-
msgid "Disable capitalization in Wordpress branding."
|
1103 |
-
msgstr "Désactiver la capitalisation dans la marque WordPress."
|
1104 |
-
|
1105 |
-
#: admin/pages/additionally.php:226
|
1106 |
-
msgid ""
|
1107 |
-
"Replaces the double shifting of a string to an HTML p ... /p construct, and "
|
1108 |
-
"a single one on br."
|
1109 |
-
msgstr ""
|
1110 |
-
"Remplace le décalage double d'une chaîne en une construction p .../p html, "
|
1111 |
-
"et une seule sur br."
|
1112 |
-
|
1113 |
-
#: admin/pages/additionally.php:226
|
1114 |
-
msgid "Disable auto inserted paragraphs."
|
1115 |
-
msgstr "Désactiver les paragraphes insérés automatiquement."
|
1116 |
-
|
1117 |
-
#: admin/pages/additionally.php:232
|
1118 |
-
msgid "Heartbeat"
|
1119 |
-
msgstr "Battement de coeur"
|
1120 |
-
|
1121 |
-
#: admin/pages/additionally.php:232
|
1122 |
-
msgid ""
|
1123 |
-
"The WordPress Heartbeat API uses /wp-admin/admin-ajax.php to run AJAX calls "
|
1124 |
-
"from the web-browser. While this is great and all it can also cause high CPU "
|
1125 |
-
"usage and crazy amounts of PHP calls. For example, if you leave your "
|
1126 |
-
"dashboard open it will keep sending POST requests to this file on a regular "
|
1127 |
-
"interval, every 15 seconds. Here is an example below of it happening."
|
1128 |
-
msgstr ""
|
1129 |
-
"Le WordPress Heartbeat API utilise/wp-admin/admin-Ajax.php pour exécuter des "
|
1130 |
-
"appels AJAX à partir du navigateur Web. Tandis que c'est grand et tout il "
|
1131 |
-
"peut également causer l'utilisation élevée de CPU et les quantités folles "
|
1132 |
-
"des appels de php. Par exemple, si vous laissez votre tableau de bord "
|
1133 |
-
"ouvert, il continuera à envoyer des demandes de poste à ce fichier sur un "
|
1134 |
-
"intervalle régulier, toutes les 15 secondes. Voici un exemple ci-dessous qui "
|
1135 |
-
"se passe."
|
1136 |
-
|
1137 |
-
#: admin/pages/additionally.php:239
|
1138 |
-
msgid "Disable Heartbeat"
|
1139 |
-
msgstr "Désactiver le battement de coeur"
|
1140 |
-
|
1141 |
-
#: admin/pages/additionally.php:241
|
1142 |
-
msgid "Default"
|
1143 |
-
msgstr "Défaut"
|
1144 |
-
|
1145 |
-
#: admin/pages/additionally.php:242
|
1146 |
-
msgid "Everywhere"
|
1147 |
-
msgstr "Partout"
|
1148 |
-
|
1149 |
-
#: admin/pages/additionally.php:243
|
1150 |
-
msgid "On dashboard page"
|
1151 |
-
msgstr "Sur la page du tableau de bord"
|
1152 |
-
|
1153 |
-
#: admin/pages/additionally.php:244
|
1154 |
-
msgid "Only allow when editing Posts/Pages"
|
1155 |
-
msgstr "Autoriser uniquement lors de l'édition de messages/pages"
|
1156 |
-
|
1157 |
-
#: admin/pages/additionally.php:268
|
1158 |
-
msgid "Heartbeat frequency"
|
1159 |
-
msgstr "Fréquence de battement de coeur"
|
1160 |
-
|
1161 |
-
#: admin/pages/additionally.php:271 admin/pages/additionally.php:272
|
1162 |
-
#: admin/pages/additionally.php:273 admin/pages/additionally.php:274
|
1163 |
-
#: admin/pages/additionally.php:275 admin/pages/additionally.php:276
|
1164 |
-
#: admin/pages/additionally.php:277 admin/pages/additionally.php:278
|
1165 |
-
#: admin/pages/additionally.php:279
|
1166 |
-
msgid "seconds"
|
1167 |
-
msgstr "seconds"
|
1168 |
-
|
1169 |
-
#: admin/pages/additionally.php:282
|
1170 |
-
msgid ""
|
1171 |
-
"You can disable all plugin updates or choose manual or automatic update mode."
|
1172 |
-
msgstr ""
|
1173 |
-
"Vous pouvez désactiver toutes les mises à jour du plugin ou choisir le mode "
|
1174 |
-
"de mise à jour manuelle ou automatique."
|
1175 |
-
|
1176 |
-
#: admin/pages/double-pages.php:27
|
1177 |
-
msgid "Duplicate pages"
|
1178 |
-
msgstr "Dupliquer des pages"
|
1179 |
-
|
1180 |
-
#: admin/pages/double-pages.php:68
|
1181 |
-
#, php-format
|
1182 |
-
msgid ""
|
1183 |
-
"Many duplicates in date archives. Imagine, in addition, that your article "
|
1184 |
-
"will be displayed in the main and in the category, you will still receive at "
|
1185 |
-
"least 3 duplicates: in archives by year, month and date, for example %s."
|
1186 |
-
msgstr ""
|
1187 |
-
"Plusieurs doublons dans les archives de date. Imaginez, en outre, que votre "
|
1188 |
-
"article sera affiché dans le principal et dans la catégorie, vous recevrez "
|
1189 |
-
"toujours au moins 3 doublons: dans les archives par année, mois et date, par "
|
1190 |
-
"exemple %s."
|
1191 |
-
|
1192 |
-
#: admin/pages/double-pages.php:68
|
1193 |
-
msgid "Removes all pages with the date archives and puts a redirect."
|
1194 |
-
msgstr ""
|
1195 |
-
"Supprime toutes les pages avec les archives de date et met une redirection."
|
1196 |
-
|
1197 |
-
#: admin/pages/double-pages.php:78
|
1198 |
-
#, php-format
|
1199 |
-
msgid ""
|
1200 |
-
"If the site is only filled by you - a mandatory item. Allows you to get rid "
|
1201 |
-
"of duplicates on user archives, for example %s."
|
1202 |
-
msgstr ""
|
1203 |
-
"Si le site n'est rempli que par vous - un élément obligatoire. Vous permet "
|
1204 |
-
"de vous débarrasser des doublons dans les archives utilisateur, par exemple "
|
1205 |
-
"%s."
|
1206 |
-
|
1207 |
-
#: admin/pages/double-pages.php:78
|
1208 |
-
msgid "Removes all pages with the author archives and puts a redirect."
|
1209 |
-
msgstr ""
|
1210 |
-
"Supprime toutes les pages avec les archives de l'auteur et met une "
|
1211 |
-
"redirection."
|
1212 |
-
|
1213 |
-
#: admin/pages/double-pages.php:88
|
1214 |
-
msgid ""
|
1215 |
-
"If you use tags only for the block Similar records, or do not use them at "
|
1216 |
-
"all - it will be more correct to close them to avoid duplicates."
|
1217 |
-
msgstr ""
|
1218 |
-
"Si vous utilisez des balises uniquement pour le bloc des enregistrements "
|
1219 |
-
"similaires, ou ne pas les utiliser à tous-il sera plus correct de les fermer "
|
1220 |
-
"pour éviter les doublons."
|
1221 |
-
|
1222 |
-
#: admin/pages/double-pages.php:88
|
1223 |
-
msgid "Removes all pages with the tag archives and puts a redirect."
|
1224 |
-
msgstr ""
|
1225 |
-
"Supprime toutes les pages avec les archives de balises et met une "
|
1226 |
-
"redirection."
|
1227 |
-
|
1228 |
-
#: admin/pages/double-pages.php:98
|
1229 |
-
msgid ""
|
1230 |
-
"Every of the pictures has its own page on the site. Such pages are "
|
1231 |
-
"successfully indexed and create duplicates. The site can have thousands of "
|
1232 |
-
"same-type attachment pages."
|
1233 |
-
msgstr ""
|
1234 |
-
"Chaque photo a sa propre page sur le site. Ces pages sont indexées avec "
|
1235 |
-
"succès et créent des doublons. Le site peut avoir des milliers de pages "
|
1236 |
-
"d'attachement de même type."
|
1237 |
-
|
1238 |
-
#: admin/pages/double-pages.php:98
|
1239 |
-
msgid "Removes attachment pages and puts a redirect."
|
1240 |
-
msgstr "Supprime les pages de pièce jointe et met une redirection."
|
1241 |
-
|
1242 |
-
#: admin/pages/double-pages.php:108
|
1243 |
-
#, php-format
|
1244 |
-
msgid ""
|
1245 |
-
"In WordPress, any post can be divided into parts (pages), each part will "
|
1246 |
-
"have its own address. But this functionality is rarely used, but it can "
|
1247 |
-
"create trouble for you. For example, you can add a number to the address of "
|
1248 |
-
"any entry of your blog, %s - the post itself will open, which will be a "
|
1249 |
-
"duplicate. You can substitute any number."
|
1250 |
-
msgstr ""
|
1251 |
-
"Dans WordPress, n'importe quel poste peut être divisé en parties (pages), "
|
1252 |
-
"chaque partie aura sa propre adresse. Mais cette fonctionnalité est rarement "
|
1253 |
-
"utilisée, mais elle peut créer des problèmes pour vous. Par exemple, vous "
|
1254 |
-
"pouvez ajouter un numéro à l'adresse de toute entrée de votre blog, %s - le "
|
1255 |
-
"message lui-même s'ouvrira, qui sera un doublon. Vous pouvez remplacer "
|
1256 |
-
"n'importe quel nombre."
|
1257 |
-
|
1258 |
-
#: admin/pages/double-pages.php:108
|
1259 |
-
#, php-format
|
1260 |
-
msgid "Removes the pagination from the post and puts a redirect. Example: %s"
|
1261 |
-
msgstr ""
|
1262 |
-
"Supprime la pagination de la publication et met une redirection. Exemple: %s"
|
1263 |
-
|
1264 |
-
#: admin/pages/double-pages.php:118
|
1265 |
-
#, php-format
|
1266 |
-
msgid ""
|
1267 |
-
"WordPress adds %s to the link \"Reply\" in the comments, if you use "
|
1268 |
-
"hierarchical comments."
|
1269 |
-
msgstr ""
|
1270 |
-
"WordPress ajoute %s au lien \"répondre\" dans les commentaires, si vous "
|
1271 |
-
"utilisez des commentaires hiérarchiques."
|
1272 |
-
|
1273 |
-
#: admin/pages/double-pages.php:118
|
1274 |
-
msgid "?relpytocom remove and and puts a redirect."
|
1275 |
-
msgstr "supprimer ?relpytocom et met une redirection."
|
1276 |
-
|
1277 |
-
#: admin/pages/widgets.php:25
|
1278 |
-
msgid "Widgets"
|
1279 |
-
msgstr "Widgets"
|
1280 |
-
|
1281 |
-
#: admin/ajax/configurate.php:16 admin/ajax/import-settings.php:16
|
1282 |
-
msgid "You don't have enough capability to edit this information."
|
1283 |
-
msgstr "Vous n'avez pas la capacité suffisante pour modifier ces informations."
|
1284 |
-
|
1285 |
-
#: admin/ajax/configurate.php:29 admin/ajax/configurate.php:41
|
1286 |
-
msgid "Undefinded mode."
|
1287 |
-
msgstr "Mode non défini."
|
1288 |
-
|
1289 |
-
#: admin/ajax/import-settings.php:23
|
1290 |
-
msgid "Settings are not defined or do not exist."
|
1291 |
-
msgstr "Les paramètres ne sont pas définis ou n'existent pas."
|
1292 |
-
|
1293 |
-
#. Name of the plugin
|
1294 |
-
msgid "Webcraftic Clearfy - disable unused features"
|
1295 |
-
msgstr "Webcraftic Clearfy - désactiver les fonctionnalités inutilisées"
|
1296 |
-
|
1297 |
-
#. Description of the plugin
|
1298 |
-
msgid ""
|
1299 |
-
"Disables unused Wordpress features, improves performance and increases SEO "
|
1300 |
-
"rankings, using Clearfy, which makes WordPress very easy."
|
1301 |
-
msgstr ""
|
1302 |
-
"Désactiver les fonctionnalités de Wordpress inutilisées, améliorer les "
|
1303 |
-
"performances et augmenter les classements SEO, en utilisant le plugin "
|
1304 |
-
"Clarify, ce qui rend WordPress très facile. Traduit par kingteandunet."
|
1305 |
-
|
1306 |
-
#. URI of the plugin
|
1307 |
-
msgid "https://wordpress.org/plugins/clearfy/"
|
1308 |
-
msgstr "https://wordpress.org/plugins/clearfy/"
|
1309 |
-
|
1310 |
-
#. Author of the plugin
|
1311 |
-
msgid "Webcraftic <wordpress.webraftic@gmail.com>"
|
1312 |
-
msgstr "Webcraftic <wordpress.webraftic@gmail.com>"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
languages/clearfy-it_IT.mo
DELETED
Binary file
|
languages/clearfy-it_IT.po
DELETED
@@ -1,1324 +0,0 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: clearfy\n"
|
4 |
-
"POT-Creation-Date: 2018-01-14 21:35+0300\n"
|
5 |
-
"PO-Revision-Date: 2018-01-14 21:36+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: it_IT\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.8.8\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 |
-
|
22 |
-
#: admin/ajax/configurate.php:16 admin/ajax/import-settings.php:16
|
23 |
-
msgid "You don't have enough capability to edit this information."
|
24 |
-
msgstr "Non hai capacità sufficienti per modificare questa informazione."
|
25 |
-
|
26 |
-
#: admin/ajax/configurate.php:29 admin/ajax/configurate.php:41
|
27 |
-
msgid "Undefinded mode."
|
28 |
-
msgstr "Modalità non definita."
|
29 |
-
|
30 |
-
#: admin/ajax/import-settings.php:23
|
31 |
-
msgid "Settings are not defined or do not exist."
|
32 |
-
msgstr "Impostazioni non definite o inesistenti."
|
33 |
-
|
34 |
-
#: admin/includes/options.php:12 admin/pages/code-clean.php:76
|
35 |
-
msgid "Remove REST API Links"
|
36 |
-
msgstr "Rimuovi Collegamenti API REST"
|
37 |
-
|
38 |
-
#: admin/includes/options.php:17 admin/pages/code-clean.php:86
|
39 |
-
msgid "Disable Emojis"
|
40 |
-
msgstr "Disattiva gli Emoji"
|
41 |
-
|
42 |
-
#: admin/includes/options.php:22 admin/pages/code-clean.php:116
|
43 |
-
msgid "Remove dns-prefetch"
|
44 |
-
msgstr "Rimuovi dns-prefetch"
|
45 |
-
|
46 |
-
#: admin/includes/options.php:27 admin/pages/code-clean.php:125
|
47 |
-
msgid "Remove RSD Link"
|
48 |
-
msgstr "Rimuovi Collegamento RSD"
|
49 |
-
|
50 |
-
#: admin/includes/options.php:32 admin/pages/code-clean.php:135
|
51 |
-
msgid "Remove wlwmanifest Link"
|
52 |
-
msgstr "Rimuovi Collegamento wlwmanifest"
|
53 |
-
|
54 |
-
#: admin/includes/options.php:37 admin/pages/code-clean.php:145
|
55 |
-
msgid "Remove Shortlink"
|
56 |
-
msgstr "Rimuovi Shortlink"
|
57 |
-
|
58 |
-
#: admin/includes/options.php:42 admin/pages/code-clean.php:155
|
59 |
-
msgid "Remove links to previous, next post"
|
60 |
-
msgstr "Rimuovi collegamenti articolo prec./succ."
|
61 |
-
|
62 |
-
#: admin/includes/options.php:47 admin/pages/code-clean.php:165
|
63 |
-
msgid "Remove .recentcomments styles"
|
64 |
-
msgstr "Rimuovi stili .recentcomments"
|
65 |
-
|
66 |
-
#: admin/includes/options.php:52 admin/pages/seo.php:66
|
67 |
-
msgid "Automatically set the alt attribute"
|
68 |
-
msgstr "Imposta automaticamente l'attributo alt"
|
69 |
-
|
70 |
-
#: admin/includes/options.php:57 admin/pages/seo.php:121
|
71 |
-
msgid "Automatically insert the Last Modified header"
|
72 |
-
msgstr "Inserisci automaticamente l'header Ultima Modifica"
|
73 |
-
|
74 |
-
#: admin/includes/options.php:62 admin/pages/seo.php:144
|
75 |
-
msgid "Return an If-Modified-Since responce"
|
76 |
-
msgstr "Ritorna risposta If-Modified-Since"
|
77 |
-
|
78 |
-
#: admin/includes/options.php:67 admin/pages/seo.php:167
|
79 |
-
msgid "Remove duplicate names in breadcrumbs WP SEO by Yoast"
|
80 |
-
msgstr "Rimuovi nomi duplicati nel breadcrumb di WP SEO by Yoast"
|
81 |
-
|
82 |
-
#: admin/includes/options.php:72 admin/pages/seo.php:177
|
83 |
-
#, php-format
|
84 |
-
msgid "Remove the tag %s from XML site map"
|
85 |
-
msgstr "Rimuovi il tag %s dalla site map XML"
|
86 |
-
|
87 |
-
#: admin/includes/options.php:77 admin/pages/seo.php:195
|
88 |
-
msgid "Disable JSON-LD sitelinks searchbox"
|
89 |
-
msgstr "Disattiva casella di ricerca collegamenti JSON-LD"
|
90 |
-
|
91 |
-
#: admin/includes/options.php:82 admin/pages/seo.php:205
|
92 |
-
msgid "Disable Yoast Structured Data"
|
93 |
-
msgstr "Disattiva Yoast Structured Data"
|
94 |
-
|
95 |
-
#: admin/includes/options.php:87 admin/pages/seo.php:217
|
96 |
-
#, php-format
|
97 |
-
msgid "Remove comment from %s section"
|
98 |
-
msgstr "Rimuovi commenti dalla sezione %s"
|
99 |
-
|
100 |
-
#: admin/includes/options.php:92 admin/pages/double-pages.php:66
|
101 |
-
msgid "Remove archives date"
|
102 |
-
msgstr "Rimuovi data archivi"
|
103 |
-
|
104 |
-
#: admin/includes/options.php:97 admin/pages/double-pages.php:76
|
105 |
-
msgid "Remove author archives "
|
106 |
-
msgstr "Rimuovi archivi autori"
|
107 |
-
|
108 |
-
#: admin/includes/options.php:102 admin/pages/double-pages.php:86
|
109 |
-
msgid "Remove archives tag"
|
110 |
-
msgstr "Rimuovi tags archivi"
|
111 |
-
|
112 |
-
#: admin/includes/options.php:107 admin/pages/double-pages.php:96
|
113 |
-
msgid "Remove attachment pages"
|
114 |
-
msgstr "Rimuovi pagina allegati"
|
115 |
-
|
116 |
-
#: admin/includes/options.php:112 admin/pages/double-pages.php:106
|
117 |
-
msgid "Remove post pagination"
|
118 |
-
msgstr "Rimuovi paginazione articoli"
|
119 |
-
|
120 |
-
#: admin/includes/options.php:117 admin/pages/double-pages.php:116
|
121 |
-
msgid "Remove ?replytocom"
|
122 |
-
msgstr "Rimuovi ?replytocom"
|
123 |
-
|
124 |
-
#: admin/includes/options.php:122 admin/pages/privacy.php:66
|
125 |
-
msgid "Remove meta generator"
|
126 |
-
msgstr "Rimuovi generatore meta"
|
127 |
-
|
128 |
-
#: admin/includes/options.php:127 admin/pages/defence.php:64
|
129 |
-
msgid "Hide author login"
|
130 |
-
msgstr "Nascondi login autore"
|
131 |
-
|
132 |
-
#: admin/includes/options.php:132 admin/pages/defence.php:74
|
133 |
-
msgid "Hide errors when logging into the site"
|
134 |
-
msgstr "Nascondi errori all'accesso al sito"
|
135 |
-
|
136 |
-
#: admin/includes/options.php:137 admin/includes/options.php:254
|
137 |
-
#: admin/pages/privacy.php:76
|
138 |
-
msgid "Remove Version from Stylesheet"
|
139 |
-
msgstr "Rimuovi Versione dagli Stylesheets"
|
140 |
-
|
141 |
-
#: admin/includes/options.php:142 admin/includes/options.php:259
|
142 |
-
#: admin/pages/privacy.php:87
|
143 |
-
msgid "Remove Version from Script"
|
144 |
-
msgstr "Rimuovi Versione dagli Scripts"
|
145 |
-
|
146 |
-
#: admin/includes/options.php:147 admin/pages/widgets.php:44
|
147 |
-
msgid "Remove the \"Pages\" widget"
|
148 |
-
msgstr "Rimuovi il widget \"Pagine\""
|
149 |
-
|
150 |
-
#: admin/includes/options.php:152 admin/pages/widgets.php:53
|
151 |
-
msgid "Remove calendar widget"
|
152 |
-
msgstr "Rimuovi il widget \"Calendario\""
|
153 |
-
|
154 |
-
#: admin/includes/options.php:157 admin/pages/widgets.php:62
|
155 |
-
msgid "Remove the \"Cloud of tags\" widget"
|
156 |
-
msgstr "Rimuovi il widget \"Tag Cloud\""
|
157 |
-
|
158 |
-
#: admin/includes/options.php:162 admin/pages/widgets.php:71
|
159 |
-
msgid "Remove the \"Archives\" widget"
|
160 |
-
msgstr "Rimuovi il widget \"Archivi\""
|
161 |
-
|
162 |
-
#: admin/includes/options.php:167 admin/pages/widgets.php:80
|
163 |
-
msgid "Remove the \"Links\" widget"
|
164 |
-
msgstr "Rimuovi il widget \"Collegamenti\""
|
165 |
-
|
166 |
-
#: admin/includes/options.php:172 admin/pages/widgets.php:89
|
167 |
-
msgid "Remove the \"Meta\" widget"
|
168 |
-
msgstr "Rimuovi il widget \"Meta\""
|
169 |
-
|
170 |
-
#: admin/includes/options.php:177 admin/pages/widgets.php:98
|
171 |
-
msgid "Remove the \"Search\" widget"
|
172 |
-
msgstr "Rimuovi il widget \"Ricerca\""
|
173 |
-
|
174 |
-
#: admin/includes/options.php:182 admin/includes/options.php:202
|
175 |
-
#: admin/pages/widgets.php:107
|
176 |
-
msgid "Remove the \"Text\" widget"
|
177 |
-
msgstr "Rimuovi il widget \"Testo\""
|
178 |
-
|
179 |
-
#: admin/includes/options.php:187 admin/pages/widgets.php:116
|
180 |
-
msgid "Remove the \"Categories\" widget"
|
181 |
-
msgstr "Rimuovi il widget \"Categorie\""
|
182 |
-
|
183 |
-
#: admin/includes/options.php:192 admin/pages/widgets.php:125
|
184 |
-
msgid "Remove the \"Recent Posts\" widget"
|
185 |
-
msgstr "Rimuovi il widget \"Articoli Recenti\""
|
186 |
-
|
187 |
-
#: admin/includes/options.php:197 admin/pages/widgets.php:134
|
188 |
-
msgid "Remove the \"Recent Comments\" widget"
|
189 |
-
msgstr "Rimuovi il widget \"Commenti Recenti\""
|
190 |
-
|
191 |
-
#: admin/includes/options.php:207 admin/pages/widgets.php:143
|
192 |
-
msgid "Remove the \"RSS\" widget"
|
193 |
-
msgstr "Rimuovi il widget \"RSS\""
|
194 |
-
|
195 |
-
#: admin/includes/options.php:212 admin/pages/widgets.php:152
|
196 |
-
msgid "Remove the \"Menu\" widget"
|
197 |
-
msgstr "Rimuovi il widget \"Menu\""
|
198 |
-
|
199 |
-
#: admin/includes/options.php:217 admin/pages/widgets.php:161
|
200 |
-
msgid "Remove the \"Twenty Eleven Ephemera\" widget"
|
201 |
-
msgstr "Rimuovi il widget \"Twenty Eleven Ephemera\""
|
202 |
-
|
203 |
-
#: admin/includes/options.php:220 admin/includes/options.php:294
|
204 |
-
#: admin/pages/additionally.php:137
|
205 |
-
msgid "Disable revision"
|
206 |
-
msgstr "Disattiva revisioni"
|
207 |
-
|
208 |
-
#: admin/includes/options.php:221 admin/includes/options.php:299
|
209 |
-
#: admin/pages/additionally.php:170
|
210 |
-
msgid "Limit Post Revisions"
|
211 |
-
msgstr "Limita Revisioni Articoli"
|
212 |
-
|
213 |
-
#: admin/includes/options.php:222 admin/pages/seo.php:135
|
214 |
-
msgid "Exclude pages:"
|
215 |
-
msgstr "Escludi pagine:"
|
216 |
-
|
217 |
-
#: admin/includes/options.php:225 admin/pages/seo.php:76
|
218 |
-
msgid "Create right robots.txt"
|
219 |
-
msgstr "Crea robots.txt corretto"
|
220 |
-
|
221 |
-
#: admin/includes/options.php:230 admin/pages/seo.php:91
|
222 |
-
msgid "You can edit the robots.txt file in the box below:"
|
223 |
-
msgstr "Puoi modificare il file robots.txt nella casella sottostante:"
|
224 |
-
|
225 |
-
#: admin/includes/options.php:233
|
226 |
-
msgid "Quick mode"
|
227 |
-
msgstr "Modalità veloce"
|
228 |
-
|
229 |
-
#: admin/includes/options.php:236 admin/pages/code-clean.php:96
|
230 |
-
msgid "Remove jQuery Migrate"
|
231 |
-
msgstr "Rimuovi jQuery Migrate"
|
232 |
-
|
233 |
-
#: admin/includes/options.php:239 admin/pages/code-clean.php:106
|
234 |
-
msgid "Disable Embeds"
|
235 |
-
msgstr "Disattiva Embeds"
|
236 |
-
|
237 |
-
#: admin/includes/options.php:240 admin/pages/code-clean.php:66
|
238 |
-
msgid "Disable RSS feeds"
|
239 |
-
msgstr "Disattiva Feeds RSS"
|
240 |
-
|
241 |
-
#: admin/includes/options.php:243
|
242 |
-
msgid "Removes links to wordpress.org site from the admin bar"
|
243 |
-
msgstr "Rimuovi collegamenti a wordpress.org dalla barra admin"
|
244 |
-
|
245 |
-
#: admin/includes/options.php:246 admin/pages/code-clean.php:175
|
246 |
-
msgid "HTML minify"
|
247 |
-
msgstr "Minimizza HTML"
|
248 |
-
|
249 |
-
#: admin/includes/options.php:249
|
250 |
-
msgid "Redirect Http to Https"
|
251 |
-
msgstr "Redirigi HTTP su HTTPS"
|
252 |
-
|
253 |
-
#: admin/includes/options.php:264 admin/pages/privacy.php:98
|
254 |
-
msgid "Eclude stylesheet/script file names"
|
255 |
-
msgstr "Escludi nomi di file stylesheet/script"
|
256 |
-
|
257 |
-
#: admin/includes/options.php:269 admin/pages/additionally.php:68
|
258 |
-
msgid "Enable Sanitization of WordPress"
|
259 |
-
msgstr "Attiva Sanitizzazione di WordPress"
|
260 |
-
|
261 |
-
#: admin/includes/options.php:274 admin/pages/additionally.php:78
|
262 |
-
msgid "Disable admin notice"
|
263 |
-
msgstr "Disattiva notifiche admin"
|
264 |
-
|
265 |
-
#: admin/includes/options.php:279 admin/pages/additionally.php:94
|
266 |
-
msgid "Disable admin top bar"
|
267 |
-
msgstr "Disattiva barra superiore admin"
|
268 |
-
|
269 |
-
#: admin/includes/options.php:284 admin/pages/additionally.php:112
|
270 |
-
msgid "Remove admin bar WP logo"
|
271 |
-
msgstr "Rimuovi logo WP dalla barra admin"
|
272 |
-
|
273 |
-
#: admin/includes/options.php:289 admin/pages/additionally.php:122
|
274 |
-
msgid "Replace \"Howdy\" text with \"Welcome\""
|
275 |
-
msgstr "Sostituisci testo \"Howdy\" con \"Welcome\""
|
276 |
-
|
277 |
-
#: admin/includes/options.php:304 admin/pages/additionally.php:194
|
278 |
-
msgid "Disable autosave"
|
279 |
-
msgstr "Disattiva salvataggio automatico"
|
280 |
-
|
281 |
-
#: admin/includes/options.php:309 admin/pages/additionally.php:204
|
282 |
-
msgid "Disable Texturization - Smart Quotes"
|
283 |
-
msgstr "Disattiva Texturization - Smart Quotes"
|
284 |
-
|
285 |
-
#: admin/includes/options.php:314 admin/pages/additionally.php:214
|
286 |
-
msgid "Disable capitalization in Wordpress branding"
|
287 |
-
msgstr "Disattiva iniziali maiuscole nel branding di WordPress"
|
288 |
-
|
289 |
-
#: admin/includes/options.php:319 admin/pages/additionally.php:224
|
290 |
-
msgid "Disable auto inserted paragraphs (i.e. p tags)"
|
291 |
-
msgstr "Disattiva inserimento automatico paragrafi (tags p)"
|
292 |
-
|
293 |
-
#: admin/includes/options.php:324 admin/pages/additionally.php:239
|
294 |
-
msgid "Disable Heartbeat"
|
295 |
-
msgstr "Disattiva Heartbeat"
|
296 |
-
|
297 |
-
#: admin/includes/options.php:329 admin/pages/additionally.php:268
|
298 |
-
msgid "Heartbeat frequency"
|
299 |
-
msgstr "Frequenza hearbeat"
|
300 |
-
|
301 |
-
#: admin/includes/options.php:334 admin/pages/code-clean.php:185
|
302 |
-
#: admin/pages/privacy.php:107
|
303 |
-
msgid "Remove html comments"
|
304 |
-
msgstr "Rimuovi HTML dai commenti"
|
305 |
-
|
306 |
-
#: admin/pages/additionally.php:27
|
307 |
-
msgid "Advanced"
|
308 |
-
msgstr "Avanzate"
|
309 |
-
|
310 |
-
#: admin/pages/additionally.php:50
|
311 |
-
msgid ""
|
312 |
-
"Warning! In the wp-config.php file, a constant WP_POST_REVISIONS is found, "
|
313 |
-
"it determines the number of revisions. Delete it so you can change this "
|
314 |
-
"value through the admin panel."
|
315 |
-
msgstr ""
|
316 |
-
"Attenzione! Nel file wp-config.php, si trova la costante WP_POST_REVISIONS, "
|
317 |
-
"la quale determina il numero di revisioni. Eliminala per poter cambiare "
|
318 |
-
"questo valore attraverso il pannello amministrativo."
|
319 |
-
|
320 |
-
#: admin/pages/additionally.php:70
|
321 |
-
msgid ""
|
322 |
-
"File names and some titles can have special characters, which can cause "
|
323 |
-
"problems when creating permalinks."
|
324 |
-
msgstr ""
|
325 |
-
"I nomi dei file ed alcuni titoli possono avere caratteri speciali, che "
|
326 |
-
"possono causare problemi durante la creazione dei permalinks."
|
327 |
-
|
328 |
-
#: admin/pages/additionally.php:70
|
329 |
-
msgid ""
|
330 |
-
"Removes symbols, spaces, latin and other languages characters from uploaded "
|
331 |
-
"files and gives them \"permalink\" structure (clean characters, only "
|
332 |
-
"lowercase and dahes)."
|
333 |
-
msgstr ""
|
334 |
-
"Rimuove simboli, spazi, caratteri latini e di altre lingue dai files "
|
335 |
-
"caricati e gli dà una struttura da \"permalink\" (caratteri puliti, solo "
|
336 |
-
"minuscole e trattini)."
|
337 |
-
|
338 |
-
#: admin/pages/additionally.php:80
|
339 |
-
msgid ""
|
340 |
-
"Whenever there’s a major release available, a notification will display at "
|
341 |
-
"the top of your admin area, letting you know your version is out-of-date and "
|
342 |
-
"you need to update the core code.<br>\n"
|
343 |
-
"For many people, this nag can be annoying. And if you developer websites for "
|
344 |
-
"clients, you may want to hide it. After all, who wants to let their clients "
|
345 |
-
"know their software is old?"
|
346 |
-
msgstr ""
|
347 |
-
"Quando viene rilasciata una major release, una notifica compare in cima alla "
|
348 |
-
"tua area amministrativa, permettendoti di sapere che la tua versione del "
|
349 |
-
"core non è aggiornata.<br>\n"
|
350 |
-
"Per molte persone, questo messaggio può essere fastidioso, e se sviluppi "
|
351 |
-
"siti per i tuoi clienti potresti volerla nascondere. In fin dei conti, chi "
|
352 |
-
"vuole far sapere ai propri clienti che il loro software è obsoleto?"
|
353 |
-
|
354 |
-
#: admin/pages/additionally.php:81
|
355 |
-
msgid "Disable admin notices."
|
356 |
-
msgstr "Disattiva notifiche admin."
|
357 |
-
|
358 |
-
#: admin/pages/additionally.php:87
|
359 |
-
msgid "Admin bar"
|
360 |
-
msgstr "Barra admin"
|
361 |
-
|
362 |
-
#: admin/pages/additionally.php:87
|
363 |
-
msgid "In this group of settings, you can manage the adminbar."
|
364 |
-
msgstr "In questo gruppo di impostazioni, puoi gestire la barra admin."
|
365 |
-
|
366 |
-
#: admin/pages/additionally.php:96
|
367 |
-
msgid "Default enable"
|
368 |
-
msgstr "Attivata"
|
369 |
-
|
370 |
-
#: admin/pages/additionally.php:97
|
371 |
-
msgid "For all users"
|
372 |
-
msgstr "Per tutti gli utenti"
|
373 |
-
|
374 |
-
#: admin/pages/additionally.php:100
|
375 |
-
msgid "For all users except administrator"
|
376 |
-
msgstr "Per tutti gli utenti, eccetto l'amministratore"
|
377 |
-
|
378 |
-
#: admin/pages/additionally.php:104
|
379 |
-
msgid ""
|
380 |
-
"In some cases, you need to disable the floating top admin panel. You can "
|
381 |
-
"disable this panel."
|
382 |
-
msgstr ""
|
383 |
-
"In alcuni casi, può essere utile disattivare la barra admin in cima alla "
|
384 |
-
"pagina. Questo può essere fatto da qui."
|
385 |
-
|
386 |
-
#: admin/pages/additionally.php:104
|
387 |
-
msgid "Disable admin top bar."
|
388 |
-
msgstr "Disattiva barra admin."
|
389 |
-
|
390 |
-
#: admin/pages/additionally.php:114
|
391 |
-
msgid "Enable this if you want to remove wp logo from admin bar."
|
392 |
-
msgstr "Attiva questa opzione se vuoi rimuovere il logo WP dalla barra admin."
|
393 |
-
|
394 |
-
#: admin/pages/additionally.php:124
|
395 |
-
msgid "Replaces the welcome text in admin bar."
|
396 |
-
msgstr "Sostituisce il testo di benvenuto nella barra admin."
|
397 |
-
|
398 |
-
#: admin/pages/additionally.php:130
|
399 |
-
msgid "Posts"
|
400 |
-
msgstr "Articoli"
|
401 |
-
|
402 |
-
#: admin/pages/additionally.php:130
|
403 |
-
msgid "In this group of options, you can manage revisions and post autosave."
|
404 |
-
msgstr ""
|
405 |
-
"In questo gruppo di opzioni, puoi gestire le revisioni ed il salvataggio "
|
406 |
-
"automatico degli articoli."
|
407 |
-
|
408 |
-
#: admin/pages/additionally.php:172 admin/pages/additionally.php:270
|
409 |
-
msgid "Wordpress default"
|
410 |
-
msgstr "Predefinite WordPress"
|
411 |
-
|
412 |
-
#: admin/pages/additionally.php:173 admin/pages/additionally.php:174
|
413 |
-
#: admin/pages/additionally.php:175 admin/pages/additionally.php:176
|
414 |
-
#: admin/pages/additionally.php:177 admin/pages/additionally.php:178
|
415 |
-
#: admin/pages/additionally.php:179 admin/pages/additionally.php:180
|
416 |
-
#: admin/pages/additionally.php:181 admin/pages/additionally.php:182
|
417 |
-
msgid "revisions"
|
418 |
-
msgstr "revisioni"
|
419 |
-
|
420 |
-
#: admin/pages/additionally.php:185
|
421 |
-
msgid ""
|
422 |
-
"WordPress automatically saves revisions when you are working on posts and "
|
423 |
-
"pages. These can begin to add up pretty quick. By default, there is no limit "
|
424 |
-
"in place. We have seen posts with over 1,000 revisions. Multiply this by 50 "
|
425 |
-
"pages and suddenly you have over 50,000 revisions sitting in your database. "
|
426 |
-
"The problem with this is that you will most likely never use them and they "
|
427 |
-
"can start slowing down your database as well as using disk space.\n"
|
428 |
-
"So we recommend either disabling or limiting your revisions. "
|
429 |
-
msgstr ""
|
430 |
-
"WordPress salva automaticamente le revisioni quando lavori sugli articoli e "
|
431 |
-
"sulle pagine. Queste possono iniziare ad impilarsi in fretta. Per "
|
432 |
-
"impostazione predefinita, non esiste nessun limite a ciò. Abbiamo visto "
|
433 |
-
"articoli con oltre 1'000 revisioni: moltiplica questo valore per 50 pagine e "
|
434 |
-
"ti ritrovi con 50'000 revisioni inutili nel tuo database. Il problema è che "
|
435 |
-
"molto probabilmente non ne farai mai uso, e possono iniziare a rallentare il "
|
436 |
-
"tuo database, oltre a sprecare spazio su disco.\n"
|
437 |
-
"Per questo motivo, consigliamo di disattivare o limitare il numero di "
|
438 |
-
"revisioni."
|
439 |
-
|
440 |
-
#: admin/pages/additionally.php:196
|
441 |
-
msgid ""
|
442 |
-
"WordPress by default automatically saves a draft every 60 seconds (1 "
|
443 |
-
"minute). There are reasons why you might want to change this."
|
444 |
-
msgstr ""
|
445 |
-
"WordPress per impostazione predefinita salva una bozza ogni 60 secondi (un "
|
446 |
-
"minuto). Se dovessi voler cambiare questo valore, lo puoi fare."
|
447 |
-
|
448 |
-
#: admin/pages/additionally.php:196
|
449 |
-
msgid "Disables automatic saving of drafts."
|
450 |
-
msgstr "Disattiva il salvataggio automatico delle bozze."
|
451 |
-
|
452 |
-
#: admin/pages/additionally.php:206
|
453 |
-
msgid ""
|
454 |
-
"Function of text formatting. This function makes the text more correct, "
|
455 |
-
"readable and visually appealing. But sometimes this function may prevent you "
|
456 |
-
"from using certain codes and symbols."
|
457 |
-
msgstr ""
|
458 |
-
"Funzione di formattazione testo. Questa funzione corregge il testo, "
|
459 |
-
"rendendolo leggibile ed esteticamente gradevole. Ma a volte questa funzione "
|
460 |
-
"può impedirti di usare certi simboli e codici durante la scrittura."
|
461 |
-
|
462 |
-
#: admin/pages/additionally.php:206
|
463 |
-
msgid "Disable Texturization - Smart Quotes."
|
464 |
-
msgstr "Disattiva Texturization - Smart Quotes."
|
465 |
-
|
466 |
-
#: admin/pages/additionally.php:216
|
467 |
-
msgid ""
|
468 |
-
"Replaces the incorrectly written letter \"p\" in the middle of WordPress "
|
469 |
-
"(you need to write with the capital P in the middle)."
|
470 |
-
msgstr ""
|
471 |
-
"Sostituisce la lettera \"p\" scritta sbagliata in mezzo alla parola "
|
472 |
-
"WordPress (la cui P centrale deve essere maiuscola)."
|
473 |
-
|
474 |
-
#: admin/pages/additionally.php:216
|
475 |
-
msgid "Disable capitalization in Wordpress branding."
|
476 |
-
msgstr "Disattiva correzione maiuscole nel branding di WordPress."
|
477 |
-
|
478 |
-
#: admin/pages/additionally.php:226
|
479 |
-
msgid ""
|
480 |
-
"Replaces the double shifting of a string to an HTML p ... /p construct, and "
|
481 |
-
"a single one on br."
|
482 |
-
msgstr ""
|
483 |
-
"Sostituisce la correzione di una stringa doppia in un costrutto HTML p ... /"
|
484 |
-
"p, e di una singola in br."
|
485 |
-
|
486 |
-
#: admin/pages/additionally.php:226
|
487 |
-
msgid "Disable auto inserted paragraphs."
|
488 |
-
msgstr "Disattiva inserimento automatico paragrafi."
|
489 |
-
|
490 |
-
#: admin/pages/additionally.php:232
|
491 |
-
msgid "Heartbeat"
|
492 |
-
msgstr "Heartbeat"
|
493 |
-
|
494 |
-
#: admin/pages/additionally.php:232
|
495 |
-
msgid ""
|
496 |
-
"The WordPress Heartbeat API uses /wp-admin/admin-ajax.php to run AJAX calls "
|
497 |
-
"from the web-browser. While this is great and all it can also cause high CPU "
|
498 |
-
"usage and crazy amounts of PHP calls. For example, if you leave your "
|
499 |
-
"dashboard open it will keep sending POST requests to this file on a regular "
|
500 |
-
"interval, every 15 seconds. Here is an example below of it happening."
|
501 |
-
msgstr ""
|
502 |
-
"La API Heartbeat di WordPress usa /wp-admin/admin-ajax.php per eseguire "
|
503 |
-
"chiamate AJAX dal browser web. Può sembrare una cosa positiva, ma rischia di "
|
504 |
-
"causare un utilizzo eccessivo della CPU ed una quantità smisurata di "
|
505 |
-
"chiamate PHP. Per esempio, se lasci la tua bacheca aperta continuerà ad "
|
506 |
-
"inviare richieste POST a questo file ad intervalli regolari, ogni 15 "
|
507 |
-
"secondi. Qui di seguito puoi vederne un esempio in azione."
|
508 |
-
|
509 |
-
#: admin/pages/additionally.php:241
|
510 |
-
msgid "Default"
|
511 |
-
msgstr "Predefinito"
|
512 |
-
|
513 |
-
#: admin/pages/additionally.php:242
|
514 |
-
msgid "Everywhere"
|
515 |
-
msgstr "Dappertutto"
|
516 |
-
|
517 |
-
#: admin/pages/additionally.php:243
|
518 |
-
msgid "On dashboard page"
|
519 |
-
msgstr "Sulla bacheca"
|
520 |
-
|
521 |
-
#: admin/pages/additionally.php:244
|
522 |
-
msgid "Only allow when editing Posts/Pages"
|
523 |
-
msgstr "Consenti solo durante la modifica di articoli/pagine"
|
524 |
-
|
525 |
-
#: admin/pages/additionally.php:271 admin/pages/additionally.php:272
|
526 |
-
#: admin/pages/additionally.php:273 admin/pages/additionally.php:274
|
527 |
-
#: admin/pages/additionally.php:275 admin/pages/additionally.php:276
|
528 |
-
#: admin/pages/additionally.php:277 admin/pages/additionally.php:278
|
529 |
-
#: admin/pages/additionally.php:279
|
530 |
-
msgid "seconds"
|
531 |
-
msgstr "secondi"
|
532 |
-
|
533 |
-
#: admin/pages/additionally.php:282
|
534 |
-
msgid ""
|
535 |
-
"You can disable all plugin updates or choose manual or automatic update mode."
|
536 |
-
msgstr ""
|
537 |
-
"Puoi disattivare tutti gli aggiornamenti dei plugins o scegliere le modalità "
|
538 |
-
"di aggiornamento automatico e manuale."
|
539 |
-
|
540 |
-
#: admin/pages/code-clean.php:27
|
541 |
-
msgid "Code cleaning"
|
542 |
-
msgstr "Pulizia del codice"
|
543 |
-
|
544 |
-
#: admin/pages/code-clean.php:68
|
545 |
-
msgid ""
|
546 |
-
"By default, WordPress generates all types of different RSS feeds for your "
|
547 |
-
"site. While RSS feeds can be useful if you are running a blog, businesses "
|
548 |
-
"might not always utilize these. Not every site out there has a blog."
|
549 |
-
msgstr ""
|
550 |
-
"Per impostazione predefinita, WordPress genera tutti i tipi di feeds RSS per "
|
551 |
-
"il tuo sito. Mentre i feeds RSS possono essere utili se stai gestendo un "
|
552 |
-
"blog, le aziende non sempre li usano. Non tutti i siti su internet hanno un "
|
553 |
-
"blog."
|
554 |
-
|
555 |
-
#: admin/pages/code-clean.php:68
|
556 |
-
#, php-format
|
557 |
-
msgid ""
|
558 |
-
"Removes a link to the RSS-feed from the %s section, closes and puts the "
|
559 |
-
"redirect from all RSS-feeds."
|
560 |
-
msgstr ""
|
561 |
-
"Rimuove il collegamento al feed RSS dalla sezione %s, chiude il feed e mette "
|
562 |
-
"un redirect da tutti i feeds RSS."
|
563 |
-
|
564 |
-
#: admin/pages/code-clean.php:78
|
565 |
-
msgid ""
|
566 |
-
"The WordPress REST API provides API endpoints for WordPress data types that "
|
567 |
-
"allow developers to interact with sites remotely by sending and receiving "
|
568 |
-
"JSON (JavaScript Object Notation) objects. However, a lot of sites don’t use "
|
569 |
-
"this, and therefore in most cases, it is just unnecessary code."
|
570 |
-
msgstr ""
|
571 |
-
"La API REST di WordPress offre degli endpoints API per i tipi di dati di "
|
572 |
-
"WordPress che permettono agli sviluppatori di interagire con i siti "
|
573 |
-
"remotamente inviando e ricevendo oggetti JSON (JavaScript Object Notation). "
|
574 |
-
"Tuttavia, tanti siti non la usano, quindi in tanti casi è solo codice "
|
575 |
-
"superfluo."
|
576 |
-
|
577 |
-
#: admin/pages/code-clean.php:78
|
578 |
-
msgid ""
|
579 |
-
"Removes REST API link tag from the front end and the REST API header link "
|
580 |
-
"from page requests."
|
581 |
-
msgstr ""
|
582 |
-
"Rimuove il link tag API REST dal front-end e il collegamento nell'header "
|
583 |
-
"alla API REST dalle richieste di pagina."
|
584 |
-
|
585 |
-
#: admin/pages/code-clean.php:86 admin/pages/code-clean.php:116
|
586 |
-
#: admin/pages/code-clean.php:125 admin/pages/code-clean.php:135
|
587 |
-
#: admin/pages/code-clean.php:145 admin/pages/code-clean.php:155
|
588 |
-
#: admin/pages/code-clean.php:165 admin/pages/defence.php:64
|
589 |
-
#: admin/pages/defence.php:74 admin/pages/defence.php:84
|
590 |
-
#: admin/pages/double-pages.php:66 admin/pages/double-pages.php:76
|
591 |
-
#: admin/pages/double-pages.php:96 admin/pages/double-pages.php:106
|
592 |
-
#: admin/pages/double-pages.php:116 admin/pages/privacy.php:66
|
593 |
-
#: admin/pages/privacy.php:76 admin/pages/privacy.php:87 admin/pages/seo.php:66
|
594 |
-
#: admin/pages/seo.php:121 admin/pages/seo.php:144 admin/pages/seo.php:167
|
595 |
-
#: admin/pages/seo.php:177 admin/pages/seo.php:217
|
596 |
-
msgid "Recommended"
|
597 |
-
msgstr "Consigliate"
|
598 |
-
|
599 |
-
#: admin/pages/code-clean.php:88
|
600 |
-
msgid ""
|
601 |
-
"Emojis are fun and all, but if you are aren’t using them they actually load "
|
602 |
-
"a JavaScript file (wp-emoji-release.min.js) on every page of your website. "
|
603 |
-
"For a lot of businesses, this is not needed and simply adds load time to "
|
604 |
-
"your site. So we recommend disabling this."
|
605 |
-
msgstr ""
|
606 |
-
"Gli emoji saranno pure carini, ma se non li usi caricano un file JavaScript "
|
607 |
-
"(wp-emoji-release.min.js) su ogni pagina del tuo sito. Per tante aziende, "
|
608 |
-
"questo non è necessario e non fa altro che aggiungersi ai tempi di "
|
609 |
-
"caricamento del sito, quindi consigliamo di disattivarlo."
|
610 |
-
|
611 |
-
#: admin/pages/code-clean.php:88
|
612 |
-
msgid "Removes WordPress Emojis JavaScript file (wp-emoji-release.min.js)."
|
613 |
-
msgstr "Rimuove il file JavaScript Emoji WordPress (wp-emoji-release.min.js)"
|
614 |
-
|
615 |
-
#: admin/pages/code-clean.php:98
|
616 |
-
msgid ""
|
617 |
-
"They started adding jQuery migrate in WordPress 3.6. Most up-to-date "
|
618 |
-
"frontend code and plugins don’t require jquery-migrate.min.js. In most "
|
619 |
-
"cases, this simply adds unnecessary load to your site. You can see this "
|
620 |
-
"running if you launch Chrome Devtools console."
|
621 |
-
msgstr ""
|
622 |
-
"Da WordPress 3.6, è stato aggiunto jQuery Migrate. Solitamente, jquery-"
|
623 |
-
"migrate.min.js non è richiesto se il codice front-end e i plugin sono stati "
|
624 |
-
"scritti correttamente. In molti casi, questo aggiunge tempi di caricamento "
|
625 |
-
"non necessari al tuo sito. Puoi valutarne l'impatto lanciando la console di "
|
626 |
-
"sviluppo del tuo browser."
|
627 |
-
|
628 |
-
#: admin/pages/code-clean.php:98
|
629 |
-
msgid "Removes jQuery Migrate JavaScript file (jquery-migrate.min.js)."
|
630 |
-
msgstr "Rimuove il file JavaScript di jQuery Migrate (jquery-migrate.min.js)."
|
631 |
-
|
632 |
-
#: admin/pages/code-clean.php:98
|
633 |
-
msgid "Warning! If there is a broke on your site, disable this option!"
|
634 |
-
msgstr ""
|
635 |
-
"Attenzione! Se qualcosa nel sito dovesse smettere di funzionare, disattiva "
|
636 |
-
"questa opzione!"
|
637 |
-
|
638 |
-
#: admin/pages/code-clean.php:108
|
639 |
-
msgid ""
|
640 |
-
"Embeds were released with WordPress 4.4. This is basically the magic that "
|
641 |
-
"auto converts your YouTube videos, Tweets, and URLs into pretty previews "
|
642 |
-
"while you are editing. However, this actually loads a JavaScript file (wp-"
|
643 |
-
"embed.min.js) on every page of your website. If you don’t care about the "
|
644 |
-
"auto converting preview (which we don’t), you can disable this across your "
|
645 |
-
"site."
|
646 |
-
msgstr ""
|
647 |
-
"Gli embeds sono stati rilasciati con WordPress 4.4. Questa è in pratica la "
|
648 |
-
"magia che converte automaticamente i tuoi video di YouTube, tweets e URL in "
|
649 |
-
"anteprime durante la modifica dei contenuti. Tuttavia, questo carica un file "
|
650 |
-
"JavaScript (wp-embed.min.js) su tutte le pagine del sito. Se non ti "
|
651 |
-
"interessa la conversione automatica delle anteprime, puoi disattivarla su "
|
652 |
-
"tutto il sito."
|
653 |
-
|
654 |
-
#: admin/pages/code-clean.php:108
|
655 |
-
msgid "Removes WordPress Embed JavaScript file (wp-embed.min.js)"
|
656 |
-
msgstr "Rimuove il File JavaScript Embed di WordPress (wp-embed.min.js)"
|
657 |
-
|
658 |
-
#: admin/pages/code-clean.php:118
|
659 |
-
#, php-format
|
660 |
-
msgid ""
|
661 |
-
"Since version 4.6.1 in WordPress there are new links in the section %s this "
|
662 |
-
"type of: "
|
663 |
-
msgstr ""
|
664 |
-
"Dalla versione 4.6.1, ci sono nuovi collegamenti nella sezione %s di "
|
665 |
-
"WordPress di questo tipo:"
|
666 |
-
|
667 |
-
#: admin/pages/code-clean.php:118
|
668 |
-
#, php-format
|
669 |
-
msgid "Removes dns-prefetch links from the %s section"
|
670 |
-
msgstr "Rimuove i collegamenti dns-prefetch dalla sezione %s"
|
671 |
-
|
672 |
-
#: admin/pages/code-clean.php:127
|
673 |
-
msgid ""
|
674 |
-
"The above link is used by blog clients. If you edit your site from your "
|
675 |
-
"browser then you don’t need this. It is also used by some 3rd party "
|
676 |
-
"applications that utilize XML-RPC requests. In most cases, this is just "
|
677 |
-
"unnecessary code."
|
678 |
-
msgstr ""
|
679 |
-
"Il collegamento sopra è usato dai client di blog. Se modifichi il tuo sito "
|
680 |
-
"dal tuo browser, non ne hai bisogno. È anche usato da alcune applicazioni di "
|
681 |
-
"terze parti che utilizzano le richieste XML-RPC. In molti casi, questo è "
|
682 |
-
"solo codice superfluo."
|
683 |
-
|
684 |
-
#: admin/pages/code-clean.php:127
|
685 |
-
msgid "Remove RSD (Real Simple Discovery) link tag."
|
686 |
-
msgstr "Rimuovi il link tag RSD (Real Simple Discovery)."
|
687 |
-
|
688 |
-
#: admin/pages/code-clean.php:137
|
689 |
-
msgid ""
|
690 |
-
"This link is actually used by Windows Live Writer. If you don’t know use "
|
691 |
-
"Windows Live Writer, which we are guessing you don’t, this is just "
|
692 |
-
"unnecessary code."
|
693 |
-
msgstr ""
|
694 |
-
"Questo collegamento viene usato da Windows Live Writer. Se non sai di cosa "
|
695 |
-
"si tratta, è solo codice non necessario."
|
696 |
-
|
697 |
-
#: admin/pages/code-clean.php:137
|
698 |
-
msgid "Remove wlwmanifest (Windows Live Writer) link tag."
|
699 |
-
msgstr "Rimuovi il link tag wlwmanifest (Windows Live Writer)."
|
700 |
-
|
701 |
-
#: admin/pages/code-clean.php:147
|
702 |
-
#, php-format
|
703 |
-
msgid ""
|
704 |
-
"By default, the following tag shows up in every WordPress install. %s This "
|
705 |
-
"is used for a shortlink to your pages and posts. However, if you are already "
|
706 |
-
"using pretty permalinks, such as domain.com/post, then there is no reason to "
|
707 |
-
"keep this, it is just unnecessary code."
|
708 |
-
msgstr ""
|
709 |
-
"Per impostazione predefinita, il tag seguente compare in ogni installazione "
|
710 |
-
"di WordPress. %s viene usato come shortlink verso le tue pagine ed articoli. "
|
711 |
-
"Tuttavia, se usi già i permalink user-friendly, come dominio.com/articolo, "
|
712 |
-
"non c'è ragione per tenerlo: è solo codice superfluo."
|
713 |
-
|
714 |
-
#: admin/pages/code-clean.php:147
|
715 |
-
msgid "Remove Shortlink link tag."
|
716 |
-
msgstr "Rimuovi link tag Shortlink."
|
717 |
-
|
718 |
-
#: admin/pages/code-clean.php:157
|
719 |
-
msgid ""
|
720 |
-
"If you use Wordpress as a CMS, then you can delete these links, they can "
|
721 |
-
"only come in handy for a blog."
|
722 |
-
msgstr ""
|
723 |
-
"Se usi WordPress come un CMS, puoi eliminare questi collegamenti, che "
|
724 |
-
"risultano solo utili per i blog."
|
725 |
-
|
726 |
-
#: admin/pages/code-clean.php:157
|
727 |
-
msgid ""
|
728 |
-
"Remove the previous and next post links within the wp_head of your wordpress "
|
729 |
-
"theme."
|
730 |
-
msgstr ""
|
731 |
-
"Rimuovi i collegamenti \"articolo precedente/successivo\" dal wp_head del "
|
732 |
-
"tuo tema WordPress."
|
733 |
-
|
734 |
-
#: admin/pages/code-clean.php:167
|
735 |
-
msgid ""
|
736 |
-
"WP by default for the widget \"recent comments\" prescribes in the code "
|
737 |
-
"styles that are almost impossible to change, because to them apply! "
|
738 |
-
"important."
|
739 |
-
msgstr ""
|
740 |
-
"Per impostazione predefinita, il widget \"commenti recenti\" ha uno stile "
|
741 |
-
"quasi impossibile da personalizzare, perché vi sono state applicate le "
|
742 |
-
"regole CSS con la direttiva !important."
|
743 |
-
|
744 |
-
#: admin/pages/code-clean.php:167
|
745 |
-
msgid "Removes .recentcomments styles from head section."
|
746 |
-
msgstr "Rimuove stili .recentcomments dall'intestazione."
|
747 |
-
|
748 |
-
#: admin/pages/code-clean.php:177
|
749 |
-
msgid ""
|
750 |
-
"Reduces the weight of the page by removing line breaks, tabs, spaces, etc."
|
751 |
-
msgstr ""
|
752 |
-
"Riduce il peso della pagina rimuovendo ritorni a capo, tabulazioni, spazi, "
|
753 |
-
"ecc."
|
754 |
-
|
755 |
-
#: admin/pages/code-clean.php:177
|
756 |
-
msgid "Minify pages."
|
757 |
-
msgstr "Minimizza pagine."
|
758 |
-
|
759 |
-
#: admin/pages/code-clean.php:187 admin/pages/privacy.php:109
|
760 |
-
msgid ""
|
761 |
-
"This function will remove all html comments in the source code, except for "
|
762 |
-
"special and hidden comments. This is necessary to hide the version of "
|
763 |
-
"installed plugins."
|
764 |
-
msgstr ""
|
765 |
-
"Questa funzione rimuoverà tutti i commenti HTML dal codice sorgente, eccetto "
|
766 |
-
"per i commenti speciali e nascosti. Questo è necessario per nascondere la "
|
767 |
-
"versione dei plugins installati."
|
768 |
-
|
769 |
-
#: admin/pages/code-clean.php:187 admin/pages/privacy.php:109
|
770 |
-
msgid "Remove html comments in source code."
|
771 |
-
msgstr "Rimuovi commenti HTML dal codice sorgente."
|
772 |
-
|
773 |
-
#: admin/pages/components.php:32
|
774 |
-
msgid "Components"
|
775 |
-
msgstr "Componenti"
|
776 |
-
|
777 |
-
#: admin/pages/defence.php:25
|
778 |
-
msgid "Defence"
|
779 |
-
msgstr "Difesa"
|
780 |
-
|
781 |
-
#: admin/pages/defence.php:66
|
782 |
-
msgid ""
|
783 |
-
"An attacker can find out the author's login, using a similar request to get "
|
784 |
-
"your site. mysite.com/?author=1"
|
785 |
-
msgstr ""
|
786 |
-
"Un malintenzionato può dedurre il login dell'autore, usando una richiesta "
|
787 |
-
"come questa verso il tuo sito: mysite.com/?author=1"
|
788 |
-
|
789 |
-
#: admin/pages/defence.php:66
|
790 |
-
msgid "Sets the redirect to exclude the possibility of obtaining a login."
|
791 |
-
msgstr "Imposta il redirect per escludere la possibilità di ottnere un login."
|
792 |
-
|
793 |
-
#: admin/pages/defence.php:76
|
794 |
-
msgid ""
|
795 |
-
"WP by default shows whether you entered a wrong login or incorrect password, "
|
796 |
-
"which allows attackers to understand if there is a certain user on the site, "
|
797 |
-
"and then start searching through the passwords."
|
798 |
-
msgstr ""
|
799 |
-
"WP per impostazione predefinita mostra se hai inserito un login o una "
|
800 |
-
"password sbagliati, il che permette ai malintenzionati di sapere se esiste "
|
801 |
-
"un dato utente sul sito, per poi tentare un attacco brute-force."
|
802 |
-
|
803 |
-
#: admin/pages/defence.php:76
|
804 |
-
msgid ""
|
805 |
-
"Changes in the text of the error so that attackers could not find the login."
|
806 |
-
msgstr ""
|
807 |
-
"Cambia il testo dell'errore in maniera che i malintenzionati non possano "
|
808 |
-
"scoprire il login."
|
809 |
-
|
810 |
-
#: admin/pages/defence.php:84
|
811 |
-
msgid "Disable XML-RPC"
|
812 |
-
msgstr "Disattiva XML-RPC"
|
813 |
-
|
814 |
-
#: admin/pages/defence.php:86
|
815 |
-
msgid ""
|
816 |
-
"A pingback is basically an automated comment that gets created when another "
|
817 |
-
"blog links to you. A self-pingback is created when you link to an article "
|
818 |
-
"within your own blog. Pingbacks are essentially nothing more than spam and "
|
819 |
-
"simply waste resources."
|
820 |
-
msgstr ""
|
821 |
-
"Un pingback è praticamente un commento automatico che viene creato quando un "
|
822 |
-
"altro blog crea un collegamento verso il tuo. Un auto-pingback viene creato "
|
823 |
-
"quando crei un collegamento ad un articolo all'interno del tuo blog. I "
|
824 |
-
"pingback possono essere visti come spam, e quindi uno spreco di risorse."
|
825 |
-
|
826 |
-
#: admin/pages/defence.php:86
|
827 |
-
msgid "Removes the server responses a reference to the xmlrpc file."
|
828 |
-
msgstr "Rimuovi i riferimenti al file XML-RPC dalle risposte del server"
|
829 |
-
|
830 |
-
#: admin/pages/double-pages.php:27
|
831 |
-
msgid "Duplicate pages"
|
832 |
-
msgstr "Pagine duplicate"
|
833 |
-
|
834 |
-
#: admin/pages/double-pages.php:68
|
835 |
-
#, php-format
|
836 |
-
msgid ""
|
837 |
-
"Many duplicates in date archives. Imagine, in addition, that your article "
|
838 |
-
"will be displayed in the main and in the category, you will still receive at "
|
839 |
-
"least 3 duplicates: in archives by year, month and date, for example %s."
|
840 |
-
msgstr ""
|
841 |
-
"Gli archivi per data contengono molte pagine duplicate. Oltre al caso in cui "
|
842 |
-
"il tuo articolo venga mostrato nella pagina principale e nelle categorie, ne "
|
843 |
-
"rimarranno comunque altri tre duplicati: negli archivi per anno, per mese e "
|
844 |
-
"per giorno, per esempio %s."
|
845 |
-
|
846 |
-
#: admin/pages/double-pages.php:68
|
847 |
-
msgid "Removes all pages with the date archives and puts a redirect."
|
848 |
-
msgstr ""
|
849 |
-
"Rimuove tutte le pagine con gli archivi per data ed imposta un redirect."
|
850 |
-
|
851 |
-
#: admin/pages/double-pages.php:78
|
852 |
-
#, php-format
|
853 |
-
msgid ""
|
854 |
-
"If the site is only filled by you - a mandatory item. Allows you to get rid "
|
855 |
-
"of duplicates on user archives, for example %s."
|
856 |
-
msgstr ""
|
857 |
-
"Se il sito è gestito contenutisticamente soltanto da te, questa opzione è "
|
858 |
-
"altamente raccomandata. Ti permette di rimuovere i duplicati dagli archivi "
|
859 |
-
"utente, per esempio %s."
|
860 |
-
|
861 |
-
#: admin/pages/double-pages.php:78
|
862 |
-
msgid "Removes all pages with the author archives and puts a redirect."
|
863 |
-
msgstr ""
|
864 |
-
"Rimuove tutte le pagine con gli archivi per autore ed imposta un redirect."
|
865 |
-
|
866 |
-
#: admin/pages/double-pages.php:88
|
867 |
-
msgid ""
|
868 |
-
"If you use tags only for the block Similar records, or do not use them at "
|
869 |
-
"all - it will be more correct to close them to avoid duplicates."
|
870 |
-
msgstr ""
|
871 |
-
"Se usi i tags solo per il blocco \"Elementi simili\", o se non li usi "
|
872 |
-
"proprio, conviene chiuderli per evitare duplicati."
|
873 |
-
|
874 |
-
#: admin/pages/double-pages.php:88
|
875 |
-
msgid "Removes all pages with the tag archives and puts a redirect."
|
876 |
-
msgstr "Rimuove tutte le pagine con gli archivi tags ed imposta un redirect."
|
877 |
-
|
878 |
-
#: admin/pages/double-pages.php:98
|
879 |
-
msgid ""
|
880 |
-
"Every of the pictures has its own page on the site. Such pages are "
|
881 |
-
"successfully indexed and create duplicates. The site can have thousands of "
|
882 |
-
"same-type attachment pages."
|
883 |
-
msgstr ""
|
884 |
-
"Tutte le immagini hanno la propria pagina sul sito. Queste pagine sono "
|
885 |
-
"indicizzate, portando alla creazione di duplicati. Il sito può avere "
|
886 |
-
"migliaia di pagine allegato dello stesso tipo."
|
887 |
-
|
888 |
-
#: admin/pages/double-pages.php:98
|
889 |
-
msgid "Removes attachment pages and puts a redirect."
|
890 |
-
msgstr "Rimuove le pagine allegato ed imposta un redirect."
|
891 |
-
|
892 |
-
#: admin/pages/double-pages.php:108
|
893 |
-
#, php-format
|
894 |
-
msgid ""
|
895 |
-
"In WordPress, any post can be divided into parts (pages), each part will "
|
896 |
-
"have its own address. But this functionality is rarely used, but it can "
|
897 |
-
"create trouble for you. For example, you can add a number to the address of "
|
898 |
-
"any entry of your blog, %s - the post itself will open, which will be a "
|
899 |
-
"duplicate. You can substitute any number."
|
900 |
-
msgstr ""
|
901 |
-
|
902 |
-
#: admin/pages/double-pages.php:108
|
903 |
-
#, php-format
|
904 |
-
msgid "Removes the pagination from the post and puts a redirect. Example: %s"
|
905 |
-
msgstr ""
|
906 |
-
"Rimuove la paginazione degli articoli ed imposta un redirect. Esempio: %s"
|
907 |
-
|
908 |
-
#: admin/pages/double-pages.php:118
|
909 |
-
#, php-format
|
910 |
-
msgid ""
|
911 |
-
"WordPress adds %s to the link \"Reply\" in the comments, if you use "
|
912 |
-
"hierarchical comments."
|
913 |
-
msgstr ""
|
914 |
-
"WordPress aggiunge %s al collegamento \"Rispondi\" nei commenti, se utilizzi "
|
915 |
-
"i commenti gerarchici."
|
916 |
-
|
917 |
-
#: admin/pages/double-pages.php:118
|
918 |
-
msgid "?relpytocom remove and and puts a redirect."
|
919 |
-
msgstr "Rimuove ?relpytocom ed imposta un redirect."
|
920 |
-
|
921 |
-
#: admin/pages/privacy.php:27
|
922 |
-
msgid "Privacy Settings"
|
923 |
-
msgstr "Impostazioni di Privacy"
|
924 |
-
|
925 |
-
#: admin/pages/privacy.php:68
|
926 |
-
msgid ""
|
927 |
-
"Allows attacker to learn the version of WP installed on the site. This meta "
|
928 |
-
"tag has no useful function."
|
929 |
-
msgstr ""
|
930 |
-
"Permette ai malintenzionati di conoscere la versione di WordPress installata "
|
931 |
-
"sul sito. Questo meta tag non ha alcuno scopo utile."
|
932 |
-
|
933 |
-
#: admin/pages/privacy.php:68
|
934 |
-
#, php-format
|
935 |
-
msgid "Removes the meta tag from the %s section"
|
936 |
-
msgstr "Rimuove il tag meta dalla sezione %s"
|
937 |
-
|
938 |
-
#: admin/pages/privacy.php:78 admin/pages/privacy.php:89
|
939 |
-
msgid ""
|
940 |
-
"To make it more difficult for others to hack your website you can remove the "
|
941 |
-
"WordPress version number from your site, your css and js. Without that "
|
942 |
-
"number it's not possible to see if you run not the current version to "
|
943 |
-
"exploit bugs from the older versions. <br><br>\n"
|
944 |
-
"\t\t\t\t\tAdditionally it can improve the loading speed of your site, "
|
945 |
-
"because without query strings in the URL the css and js files can be cached."
|
946 |
-
msgstr ""
|
947 |
-
"Per complicare la vita agli hacker sul tuo sito, puoi rimuovere il numero di "
|
948 |
-
"versione WordPress da sito, css e js. Senza quel numero, non è possibile "
|
949 |
-
"vedere se non stai eseguendo la versione più attuale e capire se si possono "
|
950 |
-
"sfruttare exploits noti delle versioni precedenti.<br><br>\n"
|
951 |
-
"Questo può anche migliorare le prestazioni del tuo sito, perché senza le "
|
952 |
-
"querystrings negli URL i files js e css possono essere messi in cache."
|
953 |
-
|
954 |
-
#: admin/pages/privacy.php:79
|
955 |
-
msgid ""
|
956 |
-
"Removes the wordpress version number from stylesheets (not logged in user "
|
957 |
-
"only)."
|
958 |
-
msgstr ""
|
959 |
-
"Rimuove il numero di versione WordPress dagli stylesheets (solo per gli "
|
960 |
-
"utenti non autenticati)."
|
961 |
-
|
962 |
-
#: admin/pages/privacy.php:90
|
963 |
-
msgid ""
|
964 |
-
"Removes wordpress version number from scripts (not logged in user only)."
|
965 |
-
msgstr ""
|
966 |
-
"Rimuove il numero di versione WordPress dagli scripts (solo per gli utenti "
|
967 |
-
"non autenticati)."
|
968 |
-
|
969 |
-
#: admin/pages/privacy.php:100
|
970 |
-
msgid ""
|
971 |
-
"Enter Stylesheet/Script file names to exclude from version removal (each "
|
972 |
-
"exclude file starts with a new line)"
|
973 |
-
msgstr ""
|
974 |
-
"Inserisci i nomi dei files di stylesheet/script da escludere dalla rimozione "
|
975 |
-
"della versione. Qualsiasi esclusione deve cominciare su una nuova riga."
|
976 |
-
|
977 |
-
#: admin/pages/privacy.php:100
|
978 |
-
msgid "Example"
|
979 |
-
msgstr "Esempio"
|
980 |
-
|
981 |
-
#: admin/pages/quick-start.php:35
|
982 |
-
msgid "Clearfy menu"
|
983 |
-
msgstr "Menu Clearfy"
|
984 |
-
|
985 |
-
#: admin/pages/quick-start.php:42
|
986 |
-
msgid "Quick start"
|
987 |
-
msgstr "Avvio veloce"
|
988 |
-
|
989 |
-
#: admin/pages/quick-start.php:76
|
990 |
-
msgid ""
|
991 |
-
"On this page you can quickly configure the plug-in without going into "
|
992 |
-
"details."
|
993 |
-
msgstr ""
|
994 |
-
"Su questa pagina puoi configurare velocemente il plugin senza entrare nei "
|
995 |
-
"dettagli."
|
996 |
-
|
997 |
-
#: admin/pages/quick-start.php:169
|
998 |
-
msgid "Reset all settings"
|
999 |
-
msgstr "Reimposta Configurazione"
|
1000 |
-
|
1001 |
-
#: admin/pages/quick-start.php:170
|
1002 |
-
msgid "Recommended Mode"
|
1003 |
-
msgstr "Impostazioni Raccomandate"
|
1004 |
-
|
1005 |
-
#: admin/pages/quick-start.php:171
|
1006 |
-
msgid "Code Clearing"
|
1007 |
-
msgstr "Pulizia del Codice"
|
1008 |
-
|
1009 |
-
#: admin/pages/quick-start.php:172
|
1010 |
-
msgid "Security"
|
1011 |
-
msgstr "Sicurezza"
|
1012 |
-
|
1013 |
-
#: admin/pages/quick-start.php:173
|
1014 |
-
msgid "Seo optimization"
|
1015 |
-
msgstr "Ottimizzazione SEO"
|
1016 |
-
|
1017 |
-
#: admin/pages/quick-start.php:175
|
1018 |
-
msgid "Remove default Widgets"
|
1019 |
-
msgstr "Rimuovi Widgets Predefiniti"
|
1020 |
-
|
1021 |
-
#: admin/pages/quick-start.php:182
|
1022 |
-
msgid "Are you sure you want to enable the this options?"
|
1023 |
-
msgstr "Sei sicuro di voler attivare queste opzioni?"
|
1024 |
-
|
1025 |
-
#: admin/pages/quick-start.php:185
|
1026 |
-
msgid ""
|
1027 |
-
"After confirmation, all the settings of the plug-in will return to the "
|
1028 |
-
"default state. Make backup settings by copying data from the export field."
|
1029 |
-
msgstr ""
|
1030 |
-
"Dopo la conferma, tutte le impostazioni del plugin ritorneranno allo stato "
|
1031 |
-
"iniziale. Fai un backup delle impostazioni copiando i dati dal campo di "
|
1032 |
-
"esportazione."
|
1033 |
-
|
1034 |
-
#: admin/pages/quick-start.php:189
|
1035 |
-
msgid "Confirm"
|
1036 |
-
msgstr "Conferma"
|
1037 |
-
|
1038 |
-
#: admin/pages/quick-start.php:190
|
1039 |
-
msgid "Cancel"
|
1040 |
-
msgstr "Annulla"
|
1041 |
-
|
1042 |
-
#: admin/pages/quick-start.php:196
|
1043 |
-
msgid ""
|
1044 |
-
"This is the quick plug-in setup mode. Use it if you do not want to "
|
1045 |
-
"understand the settings or do not understand what settings you need to use."
|
1046 |
-
msgstr ""
|
1047 |
-
"Questa è la modalità di configurazione veloce del plugin. Usala se non vuoi "
|
1048 |
-
"soffermarti sulle singole impostazioni o se non sai che impostazioni "
|
1049 |
-
"scegliere."
|
1050 |
-
|
1051 |
-
#: admin/pages/quick-start.php:197
|
1052 |
-
msgid "Select mode"
|
1053 |
-
msgstr "Scegli modalità"
|
1054 |
-
|
1055 |
-
#: admin/pages/quick-start.php:199
|
1056 |
-
msgid ""
|
1057 |
-
"After selecting the mode, the plug-in automatically activates the necessary "
|
1058 |
-
"settings for the mode."
|
1059 |
-
msgstr ""
|
1060 |
-
"Dopo aver selezionato la modalità, il plugin ne attiva automaticamente le "
|
1061 |
-
"impostazioni necessarie."
|
1062 |
-
|
1063 |
-
#: admin/pages/quick-start.php:231
|
1064 |
-
msgid "Activate"
|
1065 |
-
msgstr "Attiva"
|
1066 |
-
|
1067 |
-
#: admin/pages/quick-start.php:232
|
1068 |
-
msgid "Deactivate"
|
1069 |
-
msgstr "Disattiva"
|
1070 |
-
|
1071 |
-
#: admin/pages/quick-start.php:244
|
1072 |
-
msgid "Settings successfully updated!"
|
1073 |
-
msgstr "Impostazioni aggiornate con successo!"
|
1074 |
-
|
1075 |
-
#: admin/pages/quick-start.php:247
|
1076 |
-
msgid ""
|
1077 |
-
"During the setup, an unknown error occurred, please try again or contact the "
|
1078 |
-
"plug-in support."
|
1079 |
-
msgstr ""
|
1080 |
-
"Durante la configurazione, si è verificato un errore sconosciuto, riprova "
|
1081 |
-
"oppure contatta il supporto del plugin."
|
1082 |
-
|
1083 |
-
#: admin/pages/quick-start.php:254
|
1084 |
-
msgid "Import/Export settings"
|
1085 |
-
msgstr "Importa/Esporta Impostazioni"
|
1086 |
-
|
1087 |
-
#: admin/pages/quick-start.php:257
|
1088 |
-
msgid "Import options"
|
1089 |
-
msgstr "Importa opzioni"
|
1090 |
-
|
1091 |
-
#: admin/pages/quick-start.php:263
|
1092 |
-
msgid "Support"
|
1093 |
-
msgstr "Supporto"
|
1094 |
-
|
1095 |
-
#: admin/pages/quick-start.php:265
|
1096 |
-
msgid ""
|
1097 |
-
"If you faced with any issues, please follow the steps below to get quickly "
|
1098 |
-
"quality support:"
|
1099 |
-
msgstr ""
|
1100 |
-
"Se incontri qualsiasi problema, segui i passaggi di seguito per ottenere "
|
1101 |
-
"subito un supporto di qualità:"
|
1102 |
-
|
1103 |
-
#: admin/pages/quick-start.php:268
|
1104 |
-
msgid ""
|
1105 |
-
"Generate a debug report which will contains inforamtion about your "
|
1106 |
-
"configuratin and installed plugins"
|
1107 |
-
msgstr ""
|
1108 |
-
"Genera un report di debug, contenente le informazioni sulla tua "
|
1109 |
-
"configurazione e sui plugins installati."
|
1110 |
-
|
1111 |
-
#: admin/pages/quick-start.php:271
|
1112 |
-
msgid "Generate Debug Report"
|
1113 |
-
msgstr "Genera Report di Debug"
|
1114 |
-
|
1115 |
-
#: admin/pages/quick-start.php:275
|
1116 |
-
msgid ""
|
1117 |
-
"Send a message to <b>wordpress.webraftic@gmail.com</b> include the debug "
|
1118 |
-
"report into the message body."
|
1119 |
-
msgstr ""
|
1120 |
-
"Invia un messaggio a <b>wordpress.webraftic@gmail.com</b> includendo il "
|
1121 |
-
"report di debug nel corpo del messaggio."
|
1122 |
-
|
1123 |
-
#: admin/pages/quick-start.php:278
|
1124 |
-
msgid "We guarantee to respond you within 7 business day."
|
1125 |
-
msgstr "Garantiamo la risposta entro i 7 giorni lavorativi."
|
1126 |
-
|
1127 |
-
#: admin/pages/seo.php:27
|
1128 |
-
msgid "SEO"
|
1129 |
-
msgstr "SEO"
|
1130 |
-
|
1131 |
-
#: admin/pages/seo.php:68
|
1132 |
-
msgid ""
|
1133 |
-
"The alt attribute is mandatory, so most SEO experts say. If you missed or "
|
1134 |
-
"did not fill it at all, it will be automatically assigned and will be equal "
|
1135 |
-
"to the title of the article."
|
1136 |
-
msgstr ""
|
1137 |
-
"L'attributo \"alt\" è obbligatorio, secondo molti esperti di SEO. Se te lo "
|
1138 |
-
"sei dimenticato o non l'hai proprio riempito, sarà assegnato automaticamente "
|
1139 |
-
"per essere uguale al titolo dell'articolo."
|
1140 |
-
|
1141 |
-
#: admin/pages/seo.php:68
|
1142 |
-
#, php-format
|
1143 |
-
msgid "Replaces the %s, on attribute with an article name %s"
|
1144 |
-
msgstr ""
|
1145 |
-
|
1146 |
-
#: admin/pages/seo.php:78
|
1147 |
-
msgid ""
|
1148 |
-
"After installation, WP does not contain a robots.txt file and create it "
|
1149 |
-
"manually. We re-read about 30 different articles, instructions from Yandex "
|
1150 |
-
"and Google to create the perfect robots.txt"
|
1151 |
-
msgstr ""
|
1152 |
-
|
1153 |
-
#: admin/pages/seo.php:78
|
1154 |
-
msgid "Automatically creates the perfect robots.txt file"
|
1155 |
-
msgstr "Crea automaticamente il file robots.txt ideale"
|
1156 |
-
|
1157 |
-
#: admin/pages/seo.php:109
|
1158 |
-
msgid "Server headers and response"
|
1159 |
-
msgstr "Headers e risposte del server"
|
1160 |
-
|
1161 |
-
#: admin/pages/seo.php:109
|
1162 |
-
msgid ""
|
1163 |
-
"WordPress does not know how to give the Last Modified header in the server's "
|
1164 |
-
"responses. You can do this using the settings below."
|
1165 |
-
msgstr ""
|
1166 |
-
"WordPress non sa come impostare l'header \"Last Modified\" nelle risposte "
|
1167 |
-
"del server. Puoi farlo utilizzando le impostazioni qui sotto."
|
1168 |
-
|
1169 |
-
#: admin/pages/seo.php:137
|
1170 |
-
#, php-format
|
1171 |
-
msgid ""
|
1172 |
-
"You can specify a page mask, for example: %s or %s. All pages that contain "
|
1173 |
-
"the string will be excluded. Each exclude must begin with a new line."
|
1174 |
-
msgstr ""
|
1175 |
-
"Puoi specificare un filtro pagina, per esempio: %s o %s. Tutte le pagine che "
|
1176 |
-
"contengono la stringa saranno escluse. Qualsiasi esclusione deve cominciare "
|
1177 |
-
"su una nuova riga."
|
1178 |
-
|
1179 |
-
#: admin/pages/seo.php:155
|
1180 |
-
msgid "For the Yoast SEO plugin"
|
1181 |
-
msgstr "Per il plugin Yoast SEO"
|
1182 |
-
|
1183 |
-
#: admin/pages/seo.php:155
|
1184 |
-
msgid ""
|
1185 |
-
"These settings will help you eliminate some problems associated with the "
|
1186 |
-
"popular Yoast SEO plugin"
|
1187 |
-
msgstr ""
|
1188 |
-
"Queste impostazioni ti aiuteranno ad eliminare alcuni problemi associati con "
|
1189 |
-
"il popolare plugin Yoast SEO"
|
1190 |
-
|
1191 |
-
#: admin/pages/seo.php:169
|
1192 |
-
msgid ""
|
1193 |
-
"The last element in the breadcrumbs in the Yoast SEO plugin duplicates the "
|
1194 |
-
"title of the article. Some SEO-specialists consider this duplication to be "
|
1195 |
-
"superfluous."
|
1196 |
-
msgstr ""
|
1197 |
-
"L'ultimo elemento nel breadcrumb del plugin Yoast SEO duplica il titolo "
|
1198 |
-
"dell'articolo. Alcuni specialisti di SEO considerano questa duplicazione "
|
1199 |
-
"superflua."
|
1200 |
-
|
1201 |
-
#: admin/pages/seo.php:169
|
1202 |
-
msgid ""
|
1203 |
-
"Removes duplication of the name in the breadcrumbs of the WP SEO plugin from "
|
1204 |
-
"Yoast."
|
1205 |
-
msgstr "Rimuove la duplicazione del nome nel breadcrumb del plugin Yoast SEO."
|
1206 |
-
|
1207 |
-
#: admin/pages/seo.php:179
|
1208 |
-
msgid ""
|
1209 |
-
"Yandex.Webmaster swears on a standard XML card from the plugin Yoast, tk. it "
|
1210 |
-
"has a specific tag"
|
1211 |
-
msgstr ""
|
1212 |
-
|
1213 |
-
#: admin/pages/seo.php:179
|
1214 |
-
#, php-format
|
1215 |
-
msgid "Remove the tag %s from XML site map of the plugin Yoast SEO."
|
1216 |
-
msgstr "Rimuovi il tag %s dalla site map XML del plugin Yoast SEO."
|
1217 |
-
|
1218 |
-
#: admin/pages/seo.php:179
|
1219 |
-
msgid ""
|
1220 |
-
"Attention! After activation, turn off the site map and enable it back to "
|
1221 |
-
"regenerate it."
|
1222 |
-
msgstr ""
|
1223 |
-
"Attenzione! Dopo l'attivazione, disattiva la site map e riattivala per "
|
1224 |
-
"rigenerarla."
|
1225 |
-
|
1226 |
-
#: admin/pages/seo.php:179
|
1227 |
-
msgid "In older versions of Yoast SEO may not work - update the plugin Yoast"
|
1228 |
-
msgstr ""
|
1229 |
-
"Nelle versioni vecchie di Yoast SEO, questo potrebbe non funzionare: "
|
1230 |
-
"assicurati che il plugin sia aggiornato."
|
1231 |
-
|
1232 |
-
#: admin/pages/seo.php:197
|
1233 |
-
msgid ""
|
1234 |
-
"If you’re not familiar with Search Action it’s the mark-up that helps search "
|
1235 |
-
"engines add a shiny Sitelinks Search Box below your search engine results. "
|
1236 |
-
"For the majority of webmasters the extra search box is an absolutely "
|
1237 |
-
"fantastic feature but for many it’s not required or wanted, especially if a "
|
1238 |
-
"site only has a few pages or if the site uses a customised search platform "
|
1239 |
-
"that only searches blog posts and not pages."
|
1240 |
-
msgstr ""
|
1241 |
-
"Se non conosci l'Azione di Ricerca, è il markup che permette ai motori di "
|
1242 |
-
"ricerca di aggiungere una casella di ricerca sitelink sotto ai tuoi "
|
1243 |
-
"risultati del motore di ricerca. Per la maggior parte dei webmaster, la "
|
1244 |
-
"casella di ricerca aggiuntiva è un'ottima caratteristica, ma per altri può "
|
1245 |
-
"non essere richiesta o desiderata, specialmente se un sito ha soltanto poche "
|
1246 |
-
"pagine o se utilizza una piattaforma di ricerca personalizzata che ricerca "
|
1247 |
-
"solo gli articoli e non le pagine."
|
1248 |
-
|
1249 |
-
#: admin/pages/seo.php:197
|
1250 |
-
msgid ""
|
1251 |
-
"Disable JSON-LD sitelinks searchbox using WordPress in plugin Yoast SEO."
|
1252 |
-
msgstr ""
|
1253 |
-
"Disattiva casella di ricerca sitelinks JSON-LD di WordPress nel plugin Yoast "
|
1254 |
-
"SEO."
|
1255 |
-
|
1256 |
-
#: admin/pages/seo.php:207
|
1257 |
-
msgid ""
|
1258 |
-
"Prevents output of the script tag of type application/ld+json containing\n"
|
1259 |
-
"schema.org data from the popular Yoast SEO and Yoast SEO Premium plugins.\n"
|
1260 |
-
"There is currently no UI to do so."
|
1261 |
-
msgstr ""
|
1262 |
-
"Blocca l'output dello script tag di tipo application/id+json contenente i "
|
1263 |
-
"dati\n"
|
1264 |
-
"dallo schema.org dei famosi plugin Yoast SEO e Yoast SEO Premium.\n"
|
1265 |
-
"Attualmente, non è possibile rimuoverli tramite interfaccia utente."
|
1266 |
-
|
1267 |
-
#: admin/pages/seo.php:209
|
1268 |
-
msgid "Disable Structured Data in plugin Yoast SEO."
|
1269 |
-
msgstr "Disattiva Dati Strutturati nel plugin Yoast SEO."
|
1270 |
-
|
1271 |
-
#: admin/pages/seo.php:219
|
1272 |
-
#, php-format
|
1273 |
-
msgid "The Yoast SEO plugin displays a comment of the form %s in %s section"
|
1274 |
-
msgstr "Il plugin Yoast SEO mostra un commento nel formato %s nella sezione %s"
|
1275 |
-
|
1276 |
-
#: admin/pages/seo.php:219
|
1277 |
-
#, php-format
|
1278 |
-
msgid "Removes the Yoast SEO plugin comment of their section %s"
|
1279 |
-
msgstr "Rimuove il commento della sezione %s del plugin Yoast SEO"
|
1280 |
-
|
1281 |
-
#: admin/pages/widgets.php:25
|
1282 |
-
msgid "Widgets"
|
1283 |
-
msgstr "Widgets"
|
1284 |
-
|
1285 |
-
#: clearfy.php:63
|
1286 |
-
msgid "Clearfy"
|
1287 |
-
msgstr "Clearfy"
|
1288 |
-
|
1289 |
-
#: clearfy.php:112
|
1290 |
-
msgid "Irks! An error has occurred."
|
1291 |
-
msgstr ""
|
1292 |
-
|
1293 |
-
#: includes/classes/class.configurate-advanced.php:247
|
1294 |
-
msgid "Howdy"
|
1295 |
-
msgstr "Ciao"
|
1296 |
-
|
1297 |
-
#: includes/classes/class.configurate-advanced.php:247
|
1298 |
-
msgid "Welcome"
|
1299 |
-
msgstr "Benvenuto/a"
|
1300 |
-
|
1301 |
-
#: includes/classes/class.configurate-security.php:30
|
1302 |
-
msgid "<strong>ERROR</strong>: Wrong login or password"
|
1303 |
-
msgstr "<strong>ERRORE</strong>: Login o password errati"
|
1304 |
-
|
1305 |
-
#: includes/classes/class.zip-archive.php:10
|
1306 |
-
msgid "The ZipArchive class does not exist in this version of php."
|
1307 |
-
msgstr ""
|
1308 |
-
|
1309 |
-
#~ msgid "Comments tweaks"
|
1310 |
-
#~ msgstr "Personalizzazioni commenti"
|
1311 |
-
|
1312 |
-
#~ msgid "Webcraftic comments tweaks"
|
1313 |
-
#~ msgstr "Personalizzazioni commenti Webcraftic"
|
1314 |
-
|
1315 |
-
#~ msgid "Webcraftic Clearfy - disable unused features"
|
1316 |
-
#~ msgstr "Webcraftic Clearfy - disattiva caratteristiche inutilizzate"
|
1317 |
-
|
1318 |
-
#~ msgid ""
|
1319 |
-
#~ "Disables unused Wordpress features, improves performance and increases "
|
1320 |
-
#~ "SEO rankings, using Clearfy, which makes WordPress very easy."
|
1321 |
-
#~ msgstr ""
|
1322 |
-
#~ "Disattiva caratteristiche inutilizzare di WordPress, migliora le "
|
1323 |
-
#~ "prestazione ed aumenta il posizionamento SEO tramite la semplicità di "
|
1324 |
-
#~ "Clarify."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
languages/clearfy-ru_RU.mo
CHANGED
Binary file
|
languages/clearfy-ru_RU.po
CHANGED
@@ -1,2362 +1,3090 @@
|
|
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.8.8\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 |
-
|
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 |
-
#: admin/boot.php:
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
"
|
53 |
-
"
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
msgid "
|
109 |
-
msgstr "
|
110 |
-
|
111 |
-
#: admin/includes/options.php:
|
112 |
-
msgid "
|
113 |
-
msgstr "
|
114 |
-
|
115 |
-
#: admin/includes/options.php:
|
116 |
-
msgid "
|
117 |
-
msgstr "
|
118 |
-
|
119 |
-
#: admin/includes/options.php:
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
#: admin/includes/options.php:
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
#: admin/pages/
|
162 |
-
msgid "
|
163 |
-
msgstr "
|
164 |
-
|
165 |
-
#: admin/includes/options.php:
|
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 |
-
msgid "Remove
|
225 |
-
msgstr "
|
226 |
-
|
227 |
-
#: admin/includes/options.php:
|
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 |
-
#: admin/
|
270 |
-
msgid "
|
271 |
-
msgstr "
|
272 |
-
|
273 |
-
#: admin/includes/options.php:
|
274 |
-
msgid "
|
275 |
-
msgstr "
|
276 |
-
|
277 |
-
#: admin/includes/options.php:
|
278 |
-
msgid "
|
279 |
-
msgstr "
|
280 |
-
|
281 |
-
#: admin/includes/options.php:
|
282 |
-
msgid "
|
283 |
-
msgstr "
|
284 |
-
|
285 |
-
#: admin/includes/options.php:
|
286 |
-
msgid "
|
287 |
-
msgstr "
|
288 |
-
|
289 |
-
#: admin/includes/options.php:
|
290 |
-
msgid "Remove
|
291 |
-
msgstr "
|
292 |
-
|
293 |
-
#: admin/includes/options.php:
|
294 |
-
msgid "
|
295 |
-
msgstr "
|
296 |
-
|
297 |
-
#: admin/includes/options.php:
|
298 |
-
msgid "
|
299 |
-
msgstr "
|
300 |
-
|
301 |
-
#: admin/includes/options.php:
|
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 |
-
msgstr ""
|
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 |
-
#: admin/
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
"
|
390 |
-
msgstr ""
|
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 |
-
msgstr "
|
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 |
-
#: admin/pages/
|
483 |
-
|
484 |
-
|
485 |
-
|
486 |
-
#: admin/pages/
|
487 |
-
|
488 |
-
|
489 |
-
|
490 |
-
|
491 |
-
msgstr ""
|
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 |
-
msgstr ""
|
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 |
-
|
572 |
-
|
573 |
-
|
574 |
-
|
575 |
-
"
|
576 |
-
"
|
577 |
-
"
|
578 |
-
"
|
579 |
-
|
580 |
-
|
581 |
-
|
582 |
-
|
583 |
-
"
|
584 |
-
"
|
585 |
-
|
586 |
-
|
587 |
-
|
588 |
-
|
589 |
-
|
590 |
-
|
591 |
-
|
592 |
-
|
593 |
-
#: admin/pages/
|
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 |
-
#: admin/pages/
|
620 |
-
msgid "
|
621 |
-
|
622 |
-
|
623 |
-
|
624 |
-
|
625 |
-
|
626 |
-
|
627 |
-
"
|
628 |
-
"
|
629 |
-
|
630 |
-
|
631 |
-
|
632 |
-
|
633 |
-
|
634 |
-
#: admin/pages/
|
635 |
-
msgid "
|
636 |
-
msgstr "
|
637 |
-
|
638 |
-
#: admin/pages/
|
639 |
-
msgid "
|
640 |
-
|
641 |
-
"
|
642 |
-
|
643 |
-
|
644 |
-
|
645 |
-
|
646 |
-
|
647 |
-
"
|
648 |
-
"
|
649 |
-
|
650 |
-
|
651 |
-
"
|
652 |
-
msgstr ""
|
653 |
-
"
|
654 |
-
|
655 |
-
|
656 |
-
"
|
657 |
-
"
|
658 |
-
|
659 |
-
|
660 |
-
|
661 |
-
|
662 |
-
|
663 |
-
msgstr ""
|
664 |
-
"
|
665 |
-
|
666 |
-
|
667 |
-
|
668 |
-
msgid ""
|
669 |
-
"
|
670 |
-
|
671 |
-
|
672 |
-
"
|
673 |
-
"
|
674 |
-
|
675 |
-
|
676 |
-
|
677 |
-
|
678 |
-
|
679 |
-
|
680 |
-
|
681 |
-
|
682 |
-
|
683 |
-
"
|
684 |
-
|
685 |
-
"
|
686 |
-
|
687 |
-
|
688 |
-
"
|
689 |
-
"
|
690 |
-
|
691 |
-
|
692 |
-
|
693 |
-
|
694 |
-
|
695 |
-
|
696 |
-
|
697 |
-
|
698 |
-
|
699 |
-
|
700 |
-
"
|
701 |
-
msgstr ""
|
702 |
-
|
703 |
-
|
704 |
-
|
705 |
-
|
706 |
-
|
707 |
-
|
708 |
-
|
709 |
-
|
710 |
-
|
711 |
-
|
712 |
-
|
713 |
-
|
714 |
-
"
|
715 |
-
"
|
716 |
-
msgstr ""
|
717 |
-
"
|
718 |
-
"
|
719 |
-
|
720 |
-
|
721 |
-
|
722 |
-
|
723 |
-
|
724 |
-
|
725 |
-
|
726 |
-
|
727 |
-
|
728 |
-
|
729 |
-
|
730 |
-
"
|
731 |
-
|
732 |
-
|
733 |
-
|
734 |
-
|
735 |
-
"
|
736 |
-
"
|
737 |
-
msgstr ""
|
738 |
-
"
|
739 |
-
|
740 |
-
|
741 |
-
|
742 |
-
|
743 |
-
|
744 |
-
"
|
745 |
-
msgstr ""
|
746 |
-
|
747 |
-
|
748 |
-
|
749 |
-
|
750 |
-
|
751 |
-
|
752 |
-
|
753 |
-
|
754 |
-
|
755 |
-
|
756 |
-
"
|
757 |
-
msgstr ""
|
758 |
-
|
759 |
-
|
760 |
-
|
761 |
-
|
762 |
-
|
763 |
-
|
764 |
-
|
765 |
-
|
766 |
-
|
767 |
-
"
|
768 |
-
|
769 |
-
|
770 |
-
|
771 |
-
|
772 |
-
|
773 |
-
|
774 |
-
|
775 |
-
|
776 |
-
|
777 |
-
|
778 |
-
|
779 |
-
|
780 |
-
|
781 |
-
|
782 |
-
|
783 |
-
|
784 |
-
|
785 |
-
|
786 |
-
|
787 |
-
|
788 |
-
|
789 |
-
|
790 |
-
|
791 |
-
|
792 |
-
|
793 |
-
|
794 |
-
|
795 |
-
|
796 |
-
|
797 |
-
|
798 |
-
"
|
799 |
-
"
|
800 |
-
msgstr ""
|
801 |
-
"
|
802 |
-
"
|
803 |
-
|
804 |
-
|
805 |
-
|
806 |
-
|
807 |
-
|
808 |
-
|
809 |
-
|
810 |
-
|
811 |
-
|
812 |
-
|
813 |
-
|
814 |
-
|
815 |
-
|
816 |
-
|
817 |
-
|
818 |
-
|
819 |
-
|
820 |
-
|
821 |
-
|
822 |
-
"
|
823 |
-
|
824 |
-
#: admin/pages/
|
825 |
-
|
826 |
-
|
827 |
-
|
828 |
-
|
829 |
-
|
830 |
-
|
831 |
-
"
|
832 |
-
|
833 |
-
|
834 |
-
"
|
835 |
-
|
836 |
-
|
837 |
-
|
838 |
-
|
839 |
-
|
840 |
-
|
841 |
-
|
842 |
-
|
843 |
-
"
|
844 |
-
|
845 |
-
|
846 |
-
|
847 |
-
|
848 |
-
|
849 |
-
#: admin/pages/
|
850 |
-
msgid ""
|
851 |
-
|
852 |
-
"
|
853 |
-
|
854 |
-
|
855 |
-
|
856 |
-
|
857 |
-
|
858 |
-
|
859 |
-
msgstr "
|
860 |
-
|
861 |
-
|
862 |
-
|
863 |
-
|
864 |
-
|
865 |
-
|
866 |
-
|
867 |
-
|
868 |
-
"
|
869 |
-
|
870 |
-
|
871 |
-
"
|
872 |
-
"
|
873 |
-
|
874 |
-
|
875 |
-
|
876 |
-
|
877 |
-
|
878 |
-
|
879 |
-
|
880 |
-
|
881 |
-
|
882 |
-
|
883 |
-
|
884 |
-
|
885 |
-
|
886 |
-
|
887 |
-
|
888 |
-
|
889 |
-
|
890 |
-
|
891 |
-
|
892 |
-
"
|
893 |
-
|
894 |
-
|
895 |
-
|
896 |
-
|
897 |
-
|
898 |
-
|
899 |
-
|
900 |
-
|
901 |
-
|
902 |
-
|
903 |
-
"
|
904 |
-
"
|
905 |
-
|
906 |
-
|
907 |
-
|
908 |
-
|
909 |
-
|
910 |
-
|
911 |
-
|
912 |
-
"
|
913 |
-
|
914 |
-
"
|
915 |
-
|
916 |
-
|
917 |
-
|
918 |
-
|
919 |
-
|
920 |
-
|
921 |
-
|
922 |
-
"
|
923 |
-
"
|
924 |
-
|
925 |
-
|
926 |
-
|
927 |
-
"
|
928 |
-
"
|
929 |
-
"
|
930 |
-
"
|
931 |
-
|
932 |
-
|
933 |
-
|
934 |
-
|
935 |
-
|
936 |
-
|
937 |
-
|
938 |
-
|
939 |
-
|
940 |
-
|
941 |
-
|
942 |
-
|
943 |
-
|
944 |
-
"
|
945 |
-
"
|
946 |
-
|
947 |
-
"
|
948 |
-
|
949 |
-
"
|
950 |
-
|
951 |
-
|
952 |
-
|
953 |
-
|
954 |
-
|
955 |
-
#: admin/pages/
|
956 |
-
|
957 |
-
|
958 |
-
"
|
959 |
-
"
|
960 |
-
msgstr ""
|
961 |
-
"
|
962 |
-
"
|
963 |
-
|
964 |
-
|
965 |
-
|
966 |
-
|
967 |
-
|
968 |
-
|
969 |
-
|
970 |
-
"
|
971 |
-
"
|
972 |
-
|
973 |
-
|
974 |
-
|
975 |
-
|
976 |
-
|
977 |
-
|
978 |
-
|
979 |
-
|
980 |
-
|
981 |
-
|
982 |
-
"
|
983 |
-
"
|
984 |
-
"
|
985 |
-
|
986 |
-
"
|
987 |
-
"
|
988 |
-
|
989 |
-
|
990 |
-
|
991 |
-
|
992 |
-
|
993 |
-
|
994 |
-
|
995 |
-
|
996 |
-
|
997 |
-
"
|
998 |
-
"
|
999 |
-
"
|
1000 |
-
|
1001 |
-
|
1002 |
-
|
1003 |
-
"
|
1004 |
-
"
|
1005 |
-
|
1006 |
-
"
|
1007 |
-
"
|
1008 |
-
|
1009 |
-
#: admin/pages/
|
1010 |
-
|
1011 |
-
|
1012 |
-
|
1013 |
-
|
1014 |
-
"
|
1015 |
-
|
1016 |
-
|
1017 |
-
|
1018 |
-
msgid ""
|
1019 |
-
|
1020 |
-
|
1021 |
-
|
1022 |
-
|
1023 |
-
"
|
1024 |
-
|
1025 |
-
|
1026 |
-
|
1027 |
-
|
1028 |
-
|
1029 |
-
|
1030 |
-
|
1031 |
-
|
1032 |
-
|
1033 |
-
|
1034 |
-
|
1035 |
-
"
|
1036 |
-
"
|
1037 |
-
|
1038 |
-
"
|
1039 |
-
"
|
1040 |
-
|
1041 |
-
|
1042 |
-
|
1043 |
-
|
1044 |
-
|
1045 |
-
|
1046 |
-
|
1047 |
-
|
1048 |
-
"
|
1049 |
-
"
|
1050 |
-
|
1051 |
-
"
|
1052 |
-
"
|
1053 |
-
"
|
1054 |
-
|
1055 |
-
|
1056 |
-
|
1057 |
-
|
1058 |
-
|
1059 |
-
|
1060 |
-
|
1061 |
-
|
1062 |
-
|
1063 |
-
|
1064 |
-
|
1065 |
-
|
1066 |
-
|
1067 |
-
"
|
1068 |
-
|
1069 |
-
|
1070 |
-
|
1071 |
-
|
1072 |
-
"
|
1073 |
-
"
|
1074 |
-
msgstr ""
|
1075 |
-
"
|
1076 |
-
"
|
1077 |
-
"
|
1078 |
-
|
1079 |
-
|
1080 |
-
|
1081 |
-
|
1082 |
-
|
1083 |
-
|
1084 |
-
|
1085 |
-
|
1086 |
-
|
1087 |
-
|
1088 |
-
|
1089 |
-
|
1090 |
-
|
1091 |
-
|
1092 |
-
|
1093 |
-
|
1094 |
-
"
|
1095 |
-
|
1096 |
-
"
|
1097 |
-
"
|
1098 |
-
|
1099 |
-
|
1100 |
-
|
1101 |
-
|
1102 |
-
|
1103 |
-
#: admin/pages/
|
1104 |
-
msgid "
|
1105 |
-
|
1106 |
-
|
1107 |
-
|
1108 |
-
|
1109 |
-
|
1110 |
-
|
1111 |
-
|
1112 |
-
|
1113 |
-
|
1114 |
-
|
1115 |
-
|
1116 |
-
|
1117 |
-
|
1118 |
-
|
1119 |
-
|
1120 |
-
|
1121 |
-
|
1122 |
-
|
1123 |
-
|
1124 |
-
|
1125 |
-
|
1126 |
-
|
1127 |
-
|
1128 |
-
|
1129 |
-
|
1130 |
-
|
1131 |
-
|
1132 |
-
"
|
1133 |
-
|
1134 |
-
|
1135 |
-
|
1136 |
-
|
1137 |
-
|
1138 |
-
|
1139 |
-
|
1140 |
-
|
1141 |
-
|
1142 |
-
|
1143 |
-
|
1144 |
-
|
1145 |
-
|
1146 |
-
|
1147 |
-
|
1148 |
-
"
|
1149 |
-
"
|
1150 |
-
|
1151 |
-
"
|
1152 |
-
|
1153 |
-
|
1154 |
-
|
1155 |
-
|
1156 |
-
"
|
1157 |
-
"
|
1158 |
-
"
|
1159 |
-
|
1160 |
-
|
1161 |
-
|
1162 |
-
|
1163 |
-
|
1164 |
-
|
1165 |
-
|
1166 |
-
|
1167 |
-
|
1168 |
-
|
1169 |
-
"
|
1170 |
-
|
1171 |
-
|
1172 |
-
|
1173 |
-
|
1174 |
-
|
1175 |
-
|
1176 |
-
|
1177 |
-
|
1178 |
-
|
1179 |
-
|
1180 |
-
|
1181 |
-
|
1182 |
-
|
1183 |
-
|
1184 |
-
|
1185 |
-
|
1186 |
-
|
1187 |
-
|
1188 |
-
|
1189 |
-
|
1190 |
-
"
|
1191 |
-
"
|
1192 |
-
|
1193 |
-
|
1194 |
-
|
1195 |
-
|
1196 |
-
|
1197 |
-
|
1198 |
-
|
1199 |
-
|
1200 |
-
|
1201 |
-
|
1202 |
-
|
1203 |
-
|
1204 |
-
|
1205 |
-
|
1206 |
-
|
1207 |
-
|
1208 |
-
|
1209 |
-
|
1210 |
-
"
|
1211 |
-
|
1212 |
-
|
1213 |
-
|
1214 |
-
"
|
1215 |
-
|
1216 |
-
|
1217 |
-
|
1218 |
-
|
1219 |
-
"
|
1220 |
-
|
1221 |
-
"
|
1222 |
-
"
|
1223 |
-
|
1224 |
-
|
1225 |
-
|
1226 |
-
|
1227 |
-
|
1228 |
-
|
1229 |
-
|
1230 |
-
|
1231 |
-
"
|
1232 |
-
|
1233 |
-
"
|
1234 |
-
"
|
1235 |
-
|
1236 |
-
|
1237 |
-
|
1238 |
-
|
1239 |
-
|
1240 |
-
#: admin/pages/
|
1241 |
-
msgid "
|
1242 |
-
msgstr "
|
1243 |
-
|
1244 |
-
#: admin/pages/
|
1245 |
-
msgid ""
|
1246 |
-
|
1247 |
-
"
|
1248 |
-
"
|
1249 |
-
|
1250 |
-
|
1251 |
-
|
1252 |
-
"
|
1253 |
-
|
1254 |
-
|
1255 |
-
|
1256 |
-
|
1257 |
-
|
1258 |
-
|
1259 |
-
|
1260 |
-
|
1261 |
-
"
|
1262 |
-
"
|
1263 |
-
"
|
1264 |
-
|
1265 |
-
"
|
1266 |
-
|
1267 |
-
|
1268 |
-
|
1269 |
-
|
1270 |
-
|
1271 |
-
|
1272 |
-
|
1273 |
-
|
1274 |
-
|
1275 |
-
|
1276 |
-
|
1277 |
-
|
1278 |
-
|
1279 |
-
"
|
1280 |
-
"
|
1281 |
-
|
1282 |
-
"
|
1283 |
-
|
1284 |
-
|
1285 |
-
|
1286 |
-
|
1287 |
-
|
1288 |
-
|
1289 |
-
|
1290 |
-
|
1291 |
-
"
|
1292 |
-
"
|
1293 |
-
"
|
1294 |
-
|
1295 |
-
|
1296 |
-
|
1297 |
-
|
1298 |
-
|
1299 |
-
|
1300 |
-
|
1301 |
-
"
|
1302 |
-
"
|
1303 |
-
|
1304 |
-
"
|
1305 |
-
"
|
1306 |
-
|
1307 |
-
|
1308 |
-
|
1309 |
-
|
1310 |
-
|
1311 |
-
"
|
1312 |
-
msgstr ""
|
1313 |
-
|
1314 |
-
|
1315 |
-
|
1316 |
-
|
1317 |
-
|
1318 |
-
"
|
1319 |
-
"
|
1320 |
-
|
1321 |
-
|
1322 |
-
|
1323 |
-
|
1324 |
-
"
|
1325 |
-
"
|
1326 |
-
|
1327 |
-
|
1328 |
-
|
1329 |
-
|
1330 |
-
|
1331 |
-
|
1332 |
-
|
1333 |
-
|
1334 |
-
|
1335 |
-
|
1336 |
-
|
1337 |
-
"
|
1338 |
-
|
1339 |
-
|
1340 |
-
"
|
1341 |
-
"
|
1342 |
-
|
1343 |
-
#: admin/pages/
|
1344 |
-
msgid "
|
1345 |
-
|
1346 |
-
"
|
1347 |
-
"
|
1348 |
-
|
1349 |
-
|
1350 |
-
|
1351 |
-
|
1352 |
-
|
1353 |
-
"
|
1354 |
-
"
|
1355 |
-
|
1356 |
-
"
|
1357 |
-
|
1358 |
-
|
1359 |
-
|
1360 |
-
"
|
1361 |
-
"
|
1362 |
-
"
|
1363 |
-
|
1364 |
-
|
1365 |
-
|
1366 |
-
"
|
1367 |
-
|
1368 |
-
|
1369 |
-
|
1370 |
-
|
1371 |
-
|
1372 |
-
|
1373 |
-
|
1374 |
-
|
1375 |
-
"
|
1376 |
-
"
|
1377 |
-
"
|
1378 |
-
|
1379 |
-
|
1380 |
-
|
1381 |
-
msgstr "
|
1382 |
-
|
1383 |
-
|
1384 |
-
|
1385 |
-
|
1386 |
-
|
1387 |
-
|
1388 |
-
|
1389 |
-
|
1390 |
-
|
1391 |
-
|
1392 |
-
|
1393 |
-
|
1394 |
-
|
1395 |
-
|
1396 |
-
|
1397 |
-
|
1398 |
-
|
1399 |
-
|
1400 |
-
|
1401 |
-
|
1402 |
-
|
1403 |
-
|
1404 |
-
|
1405 |
-
|
1406 |
-
|
1407 |
-
|
1408 |
-
|
1409 |
-
|
1410 |
-
|
1411 |
-
|
1412 |
-
|
1413 |
-
|
1414 |
-
|
1415 |
-
|
1416 |
-
|
1417 |
-
|
1418 |
-
|
1419 |
-
|
1420 |
-
|
1421 |
-
|
1422 |
-
|
1423 |
-
|
1424 |
-
|
1425 |
-
|
1426 |
-
|
1427 |
-
|
1428 |
-
|
1429 |
-
|
1430 |
-
|
1431 |
-
|
1432 |
-
|
1433 |
-
|
1434 |
-
|
1435 |
-
|
1436 |
-
|
1437 |
-
|
1438 |
-
|
1439 |
-
|
1440 |
-
|
1441 |
-
|
1442 |
-
|
1443 |
-
|
1444 |
-
|
1445 |
-
|
1446 |
-
|
1447 |
-
|
1448 |
-
|
1449 |
-
|
1450 |
-
|
1451 |
-
|
1452 |
-
|
1453 |
-
|
1454 |
-
|
1455 |
-
|
1456 |
-
|
1457 |
-
|
1458 |
-
|
1459 |
-
|
1460 |
-
|
1461 |
-
|
1462 |
-
|
1463 |
-
|
1464 |
-
|
1465 |
-
|
1466 |
-
|
1467 |
-
|
1468 |
-
|
1469 |
-
|
1470 |
-
|
1471 |
-
|
1472 |
-
|
1473 |
-
|
1474 |
-
|
1475 |
-
|
1476 |
-
|
1477 |
-
|
1478 |
-
|
1479 |
-
|
1480 |
-
|
1481 |
-
|
1482 |
-
|
1483 |
-
|
1484 |
-
|
1485 |
-
|
1486 |
-
|
1487 |
-
|
1488 |
-
|
1489 |
-
|
1490 |
-
|
1491 |
-
|
1492 |
-
|
1493 |
-
|
1494 |
-
|
1495 |
-
|
1496 |
-
|
1497 |
-
|
1498 |
-
|
1499 |
-
|
1500 |
-
|
1501 |
-
|
1502 |
-
|
1503 |
-
|
1504 |
-
|
1505 |
-
|
1506 |
-
|
1507 |
-
|
1508 |
-
|
1509 |
-
|
1510 |
-
|
1511 |
-
|
1512 |
-
|
1513 |
-
|
1514 |
-
|
1515 |
-
|
1516 |
-
|
1517 |
-
|
1518 |
-
|
1519 |
-
|
1520 |
-
|
1521 |
-
|
1522 |
-
|
1523 |
-
|
1524 |
-
|
1525 |
-
|
1526 |
-
|
1527 |
-
|
1528 |
-
|
1529 |
-
|
1530 |
-
|
1531 |
-
|
1532 |
-
|
1533 |
-
|
1534 |
-
|
1535 |
-
|
1536 |
-
|
1537 |
-
|
1538 |
-
|
1539 |
-
|
1540 |
-
|
1541 |
-
|
1542 |
-
|
1543 |
-
|
1544 |
-
|
1545 |
-
|
1546 |
-
|
1547 |
-
|
1548 |
-
|
1549 |
-
|
1550 |
-
|
1551 |
-
|
1552 |
-
|
1553 |
-
|
1554 |
-
|
1555 |
-
|
1556 |
-
|
1557 |
-
|
1558 |
-
|
1559 |
-
|
1560 |
-
|
1561 |
-
|
1562 |
-
|
1563 |
-
|
1564 |
-
|
1565 |
-
|
1566 |
-
|
1567 |
-
|
1568 |
-
|
1569 |
-
|
1570 |
-
|
1571 |
-
|
1572 |
-
|
1573 |
-
|
1574 |
-
|
1575 |
-
|
1576 |
-
|
1577 |
-
|
1578 |
-
|
1579 |
-
|
1580 |
-
|
1581 |
-
|
1582 |
-
|
1583 |
-
|
1584 |
-
|
1585 |
-
|
1586 |
-
|
1587 |
-
|
1588 |
-
|
1589 |
-
|
1590 |
-
|
1591 |
-
|
1592 |
-
|
1593 |
-
|
1594 |
-
|
1595 |
-
|
1596 |
-
|
1597 |
-
|
1598 |
-
|
1599 |
-
|
1600 |
-
|
1601 |
-
|
1602 |
-
|
1603 |
-
|
1604 |
-
|
1605 |
-
|
1606 |
-
|
1607 |
-
|
1608 |
-
|
1609 |
-
|
1610 |
-
|
1611 |
-
|
1612 |
-
|
1613 |
-
|
1614 |
-
|
1615 |
-
|
1616 |
-
|
1617 |
-
|
1618 |
-
|
1619 |
-
|
1620 |
-
|
1621 |
-
|
1622 |
-
|
1623 |
-
|
1624 |
-
|
1625 |
-
|
1626 |
-
|
1627 |
-
|
1628 |
-
|
1629 |
-
|
1630 |
-
|
1631 |
-
|
1632 |
-
|
1633 |
-
|
1634 |
-
|
1635 |
-
|
1636 |
-
|
1637 |
-
|
1638 |
-
|
1639 |
-
|
1640 |
-
|
1641 |
-
|
1642 |
-
|
1643 |
-
|
1644 |
-
|
1645 |
-
|
1646 |
-
|
1647 |
-
|
1648 |
-
|
1649 |
-
|
1650 |
-
|
1651 |
-
|
1652 |
-
|
1653 |
-
|
1654 |
-
|
1655 |
-
|
1656 |
-
|
1657 |
-
|
1658 |
-
|
1659 |
-
|
1660 |
-
|
1661 |
-
|
1662 |
-
|
1663 |
-
|
1664 |
-
|
1665 |
-
|
1666 |
-
|
1667 |
-
|
1668 |
-
|
1669 |
-
|
1670 |
-
|
1671 |
-
|
1672 |
-
|
1673 |
-
|
1674 |
-
|
1675 |
-
|
1676 |
-
|
1677 |
-
|
1678 |
-
|
1679 |
-
|
1680 |
-
|
1681 |
-
|
1682 |
-
|
1683 |
-
|
1684 |
-
|
1685 |
-
|
1686 |
-
|
1687 |
-
|
1688 |
-
|
1689 |
-
|
1690 |
-
|
1691 |
-
|
1692 |
-
|
1693 |
-
|
1694 |
-
|
1695 |
-
|
1696 |
-
|
1697 |
-
|
1698 |
-
|
1699 |
-
|
1700 |
-
|
1701 |
-
|
1702 |
-
|
1703 |
-
|
1704 |
-
|
1705 |
-
|
1706 |
-
|
1707 |
-
|
1708 |
-
|
1709 |
-
|
1710 |
-
|
1711 |
-
|
1712 |
-
|
1713 |
-
|
1714 |
-
|
1715 |
-
|
1716 |
-
|
1717 |
-
|
1718 |
-
|
1719 |
-
|
1720 |
-
|
1721 |
-
|
1722 |
-
|
1723 |
-
|
1724 |
-
|
1725 |
-
|
1726 |
-
|
1727 |
-
|
1728 |
-
|
1729 |
-
|
1730 |
-
|
1731 |
-
|
1732 |
-
|
1733 |
-
|
1734 |
-
|
1735 |
-
|
1736 |
-
|
1737 |
-
|
1738 |
-
|
1739 |
-
|
1740 |
-
|
1741 |
-
|
1742 |
-
|
1743 |
-
|
1744 |
-
|
1745 |
-
|
1746 |
-
|
1747 |
-
|
1748 |
-
|
1749 |
-
|
1750 |
-
|
1751 |
-
|
1752 |
-
|
1753 |
-
|
1754 |
-
|
1755 |
-
|
1756 |
-
|
1757 |
-
|
1758 |
-
|
1759 |
-
|
1760 |
-
|
1761 |
-
|
1762 |
-
|
1763 |
-
|
1764 |
-
|
1765 |
-
|
1766 |
-
|
1767 |
-
|
1768 |
-
|
1769 |
-
|
1770 |
-
|
1771 |
-
|
1772 |
-
|
1773 |
-
|
1774 |
-
|
1775 |
-
|
1776 |
-
|
1777 |
-
|
1778 |
-
|
1779 |
-
|
1780 |
-
|
1781 |
-
|
1782 |
-
|
1783 |
-
|
1784 |
-
|
1785 |
-
|
1786 |
-
|
1787 |
-
|
1788 |
-
|
1789 |
-
|
1790 |
-
|
1791 |
-
|
1792 |
-
|
1793 |
-
|
1794 |
-
|
1795 |
-
|
1796 |
-
|
1797 |
-
|
1798 |
-
|
1799 |
-
|
1800 |
-
|
1801 |
-
|
1802 |
-
|
1803 |
-
|
1804 |
-
|
1805 |
-
|
1806 |
-
|
1807 |
-
|
1808 |
-
|
1809 |
-
|
1810 |
-
|
1811 |
-
|
1812 |
-
|
1813 |
-
|
1814 |
-
|
1815 |
-
|
1816 |
-
|
1817 |
-
|
1818 |
-
|
1819 |
-
|
1820 |
-
|
1821 |
-
|
1822 |
-
|
1823 |
-
|
1824 |
-
|
1825 |
-
|
1826 |
-
|
1827 |
-
|
1828 |
-
|
1829 |
-
|
1830 |
-
|
1831 |
-
|
1832 |
-
|
1833 |
-
|
1834 |
-
|
1835 |
-
|
1836 |
-
|
1837 |
-
|
1838 |
-
|
1839 |
-
|
1840 |
-
|
1841 |
-
|
1842 |
-
|
1843 |
-
|
1844 |
-
|
1845 |
-
|
1846 |
-
|
1847 |
-
|
1848 |
-
|
1849 |
-
|
1850 |
-
|
1851 |
-
|
1852 |
-
|
1853 |
-
|
1854 |
-
|
1855 |
-
|
1856 |
-
|
1857 |
-
|
1858 |
-
|
1859 |
-
|
1860 |
-
|
1861 |
-
|
1862 |
-
|
1863 |
-
|
1864 |
-
|
1865 |
-
|
1866 |
-
|
1867 |
-
|
1868 |
-
|
1869 |
-
|
1870 |
-
|
1871 |
-
|
1872 |
-
|
1873 |
-
|
1874 |
-
|
1875 |
-
|
1876 |
-
|
1877 |
-
|
1878 |
-
|
1879 |
-
|
1880 |
-
|
1881 |
-
|
1882 |
-
|
1883 |
-
|
1884 |
-
|
1885 |
-
|
1886 |
-
|
1887 |
-
|
1888 |
-
|
1889 |
-
|
1890 |
-
|
1891 |
-
|
1892 |
-
|
1893 |
-
|
1894 |
-
|
1895 |
-
|
1896 |
-
|
1897 |
-
|
1898 |
-
|
1899 |
-
|
1900 |
-
|
1901 |
-
|
1902 |
-
|
1903 |
-
|
1904 |
-
|
1905 |
-
|
1906 |
-
|
1907 |
-
|
1908 |
-
|
1909 |
-
|
1910 |
-
|
1911 |
-
|
1912 |
-
|
1913 |
-
|
1914 |
-
|
1915 |
-
|
1916 |
-
|
1917 |
-
|
1918 |
-
|
1919 |
-
|
1920 |
-
|
1921 |
-
|
1922 |
-
|
1923 |
-
|
1924 |
-
|
1925 |
-
|
1926 |
-
|
1927 |
-
|
1928 |
-
|
1929 |
-
|
1930 |
-
|
1931 |
-
|
1932 |
-
|
1933 |
-
|
1934 |
-
|
1935 |
-
|
1936 |
-
|
1937 |
-
|
1938 |
-
|
1939 |
-
|
1940 |
-
|
1941 |
-
|
1942 |
-
|
1943 |
-
|
1944 |
-
|
1945 |
-
|
1946 |
-
|
1947 |
-
#~ "
|
1948 |
-
#~ msgstr ""
|
1949 |
-
|
1950 |
-
#~ "
|
1951 |
-
#~ "
|
1952 |
-
|
1953 |
-
#~ "
|
1954 |
-
|
1955 |
-
|
1956 |
-
#~
|
1957 |
-
#~ "
|
1958 |
-
#~
|
1959 |
-
#~ "
|
1960 |
-
#~ "
|
1961 |
-
|
1962 |
-
#~
|
1963 |
-
#~ "
|
1964 |
-
#~ "
|
1965 |
-
#~ "
|
1966 |
-
#~ "
|
1967 |
-
#~
|
1968 |
-
#~ "
|
1969 |
-
|
1970 |
-
#~
|
1971 |
-
#~ "
|
1972 |
-
|
1973 |
-
#~
|
1974 |
-
#~
|
1975 |
-
#~ "
|
1976 |
-
#~ "
|
1977 |
-
#~ "
|
1978 |
-
|
1979 |
-
#~
|
1980 |
-
#~ "
|
1981 |
-
#~ "
|
1982 |
-
#~ "
|
1983 |
-
|
1984 |
-
#~
|
1985 |
-
#~ "
|
1986 |
-
#~ "
|
1987 |
-
|
1988 |
-
#~ "
|
1989 |
-
#~ "
|
1990 |
-
|
1991 |
-
#~ msgid ""
|
1992 |
-
#~ "
|
1993 |
-
#~ "
|
1994 |
-
#~ "
|
1995 |
-
#~
|
1996 |
-
#~
|
1997 |
-
#~ "
|
1998 |
-
#~ "
|
1999 |
-
#~ "
|
2000 |
-
|
2001 |
-
|
2002 |
-
#~
|
2003 |
-
#~ "
|
2004 |
-
#~ "
|
2005 |
-
#~
|
2006 |
-
#~ "
|
2007 |
-
|
2008 |
-
|
2009 |
-
#~
|
2010 |
-
|
2011 |
-
#~
|
2012 |
-
#~ "
|
2013 |
-
#~ "
|
2014 |
-
#~ "
|
2015 |
-
#~
|
2016 |
-
#~ "
|
2017 |
-
#~
|
2018 |
-
#~ "
|
2019 |
-
|
2020 |
-
#~
|
2021 |
-
#~ "
|
2022 |
-
#~ "
|
2023 |
-
#~
|
2024 |
-
#~ "
|
2025 |
-
|
2026 |
-
|
2027 |
-
#~ "
|
2028 |
-
#~ "
|
2029 |
-
|
2030 |
-
#~
|
2031 |
-
#~ "
|
2032 |
-
|
2033 |
-
#~
|
2034 |
-
#~ "
|
2035 |
-
#~ "
|
2036 |
-
#~ "
|
2037 |
-
#~ msgstr ""
|
2038 |
-
#~ "
|
2039 |
-
#~ "
|
2040 |
-
#~ "
|
2041 |
-
|
2042 |
-
#~
|
2043 |
-
#~ "
|
2044 |
-
|
2045 |
-
#~
|
2046 |
-
#~ "
|
2047 |
-
#~ "
|
2048 |
-
|
2049 |
-
#~
|
2050 |
-
#~
|
2051 |
-
#~ "
|
2052 |
-
#~ "
|
2053 |
-
#~ "
|
2054 |
-
#~ "
|
2055 |
-
|
2056 |
-
#~ "
|
2057 |
-
#~ msgstr ""
|
2058 |
-
|
2059 |
-
#~
|
2060 |
-
#~ "
|
2061 |
-
#~ "
|
2062 |
-
#~
|
2063 |
-
#~ "
|
2064 |
-
#~ "
|
2065 |
-
|
2066 |
-
#~ msgid ""
|
2067 |
-
#~ "
|
2068 |
-
|
2069 |
-
#~
|
2070 |
-
#~ "
|
2071 |
-
#~ "
|
2072 |
-
|
2073 |
-
#~
|
2074 |
-
#~ "
|
2075 |
-
#~
|
2076 |
-
#~ "
|
2077 |
-
#~ "
|
2078 |
-
#~ "
|
2079 |
-
#~ "
|
2080 |
-
#~
|
2081 |
-
#~ "
|
2082 |
-
|
2083 |
-
#~ "
|
2084 |
-
#~ "
|
2085 |
-
|
2086 |
-
#~
|
2087 |
-
|
2088 |
-
#~
|
2089 |
-
#~
|
2090 |
-
#~ "
|
2091 |
-
#~
|
2092 |
-
#~ "
|
2093 |
-
|
2094 |
-
|
2095 |
-
#~
|
2096 |
-
|
2097 |
-
#~
|
2098 |
-
#~ "
|
2099 |
-
#~ "
|
2100 |
-
#~ "
|
2101 |
-
#~
|
2102 |
-
#~ "
|
2103 |
-
|
2104 |
-
#~ "
|
2105 |
-
#~ "
|
2106 |
-
|
2107 |
-
#~ msgid ""
|
2108 |
-
#~
|
2109 |
-
|
2110 |
-
#~
|
2111 |
-
#~ "
|
2112 |
-
|
2113 |
-
|
2114 |
-
#~
|
2115 |
-
#~ "
|
2116 |
-
#~
|
2117 |
-
#~ "
|
2118 |
-
#~ "
|
2119 |
-
|
2120 |
-
#~ "
|
2121 |
-
#~ "
|
2122 |
-
#~
|
2123 |
-
#~ "
|
2124 |
-
#~
|
2125 |
-
#~ "
|
2126 |
-
#~ "
|
2127 |
-
#~ "
|
2128 |
-
|
2129 |
-
#~ "
|
2130 |
-
|
2131 |
-
|
2132 |
-
#~
|
2133 |
-
#~ "
|
2134 |
-
#~
|
2135 |
-
#~
|
2136 |
-
#~ "
|
2137 |
-
|
2138 |
-
|
2139 |
-
#~
|
2140 |
-
#~ "
|
2141 |
-
|
2142 |
-
#~ "
|
2143 |
-
#~ "
|
2144 |
-
|
2145 |
-
#~
|
2146 |
-
#~ "
|
2147 |
-
#~ "
|
2148 |
-
#~
|
2149 |
-
#~ "
|
2150 |
-
#~ "
|
2151 |
-
#~ "
|
2152 |
-
|
2153 |
-
#~ msgid ""
|
2154 |
-
#~ "
|
2155 |
-
#~ "
|
2156 |
-
#~
|
2157 |
-
#~
|
2158 |
-
#~ "\"
|
2159 |
-
|
2160 |
-
#~
|
2161 |
-
#~ "
|
2162 |
-
|
2163 |
-
#~
|
2164 |
-
#~ "
|
2165 |
-
#~ "
|
2166 |
-
#~ "
|
2167 |
-
#~ msgstr ""
|
2168 |
-
#~ "
|
2169 |
-
#~ "
|
2170 |
-
|
2171 |
-
#~ "
|
2172 |
-
#~ "
|
2173 |
-
|
2174 |
-
#~ msgid ""
|
2175 |
-
#~ "
|
2176 |
-
#~ "
|
2177 |
-
#~ msgstr ""
|
2178 |
-
#~ "
|
2179 |
-
#~ "
|
2180 |
-
|
2181 |
-
#~ msgid ""
|
2182 |
-
#~ "
|
2183 |
-
|
2184 |
-
#~
|
2185 |
-
#~ "
|
2186 |
-
#~
|
2187 |
-
#~ "
|
2188 |
-
#~ "
|
2189 |
-
#~ "
|
2190 |
-
|
2191 |
-
#~
|
2192 |
-
#~ "
|
2193 |
-
#~ "
|
2194 |
-
#~
|
2195 |
-
#~ "
|
2196 |
-
#~ "
|
2197 |
-
|
2198 |
-
#~
|
2199 |
-
|
2200 |
-
#~ "
|
2201 |
-
#~ "
|
2202 |
-
|
2203 |
-
#~
|
2204 |
-
#~ "
|
2205 |
-
#~ "
|
2206 |
-
#~
|
2207 |
-
#~ "
|
2208 |
-
|
2209 |
-
|
2210 |
-
#~ "
|
2211 |
-
#~ "
|
2212 |
-
|
2213 |
-
#~ "
|
2214 |
-
#~ "
|
2215 |
-
|
2216 |
-
#~ msgid ""
|
2217 |
-
#~
|
2218 |
-
|
2219 |
-
#~ "
|
2220 |
-
#~
|
2221 |
-
|
2222 |
-
#~ "
|
2223 |
-
#~ msgstr ""
|
2224 |
-
|
2225 |
-
#~
|
2226 |
-
#~ "
|
2227 |
-
#~ "
|
2228 |
-
#~
|
2229 |
-
#~ "
|
2230 |
-
|
2231 |
-
|
2232 |
-
#~ "
|
2233 |
-
#~ "
|
2234 |
-
|
2235 |
-
#~ "
|
2236 |
-
#~ "
|
2237 |
-
|
2238 |
-
|
2239 |
-
#~ "
|
2240 |
-
#~ "
|
2241 |
-
|
2242 |
-
#~ "
|
2243 |
-
#~ "
|
2244 |
-
|
2245 |
-
#~
|
2246 |
-
#~ "
|
2247 |
-
|
2248 |
-
#~ "\
|
2249 |
-
#~ "
|
2250 |
-
|
2251 |
-
#~
|
2252 |
-
#~
|
2253 |
-
|
2254 |
-
|
2255 |
-
#~
|
2256 |
-
#~ "
|
2257 |
-
#~ "
|
2258 |
-
#~
|
2259 |
-
#~ "
|
2260 |
-
|
2261 |
-
|
2262 |
-
#~
|
2263 |
-
|
2264 |
-
#~
|
2265 |
-
#~ "
|
2266 |
-
#~ "
|
2267 |
-
#~
|
2268 |
-
#~
|
2269 |
-
#~ "
|
2270 |
-
|
2271 |
-
#~
|
2272 |
-
#~ "
|
2273 |
-
#~ "
|
2274 |
-
|
2275 |
-
#~
|
2276 |
-
#~ "
|
2277 |
-
|
2278 |
-
#~
|
2279 |
-
#~
|
2280 |
-
#~ "
|
2281 |
-
|
2282 |
-
|
2283 |
-
#~
|
2284 |
-
#~ "
|
2285 |
-
#~ "
|
2286 |
-
#~ msgstr ""
|
2287 |
-
#~ "
|
2288 |
-
#~ "
|
2289 |
-
|
2290 |
-
|
2291 |
-
#~
|
2292 |
-
#~ "
|
2293 |
-
#~ "
|
2294 |
-
#~
|
2295 |
-
#~ "
|
2296 |
-
|
2297 |
-
|
2298 |
-
#~
|
2299 |
-
|
2300 |
-
#~ "
|
2301 |
-
#~ msgstr ""
|
2302 |
-
|
2303 |
-
#~ "
|
2304 |
-
|
2305 |
-
|
2306 |
-
#~ "
|
2307 |
-
#~ "
|
2308 |
-
|
2309 |
-
#~ "
|
2310 |
-
#~ "
|
2311 |
-
|
2312 |
-
#~ "
|
2313 |
-
#~ "
|
2314 |
-
|
2315 |
-
|
2316 |
-
#~
|
2317 |
-
|
2318 |
-
#~ "
|
2319 |
-
#~ msgstr ""
|
2320 |
-
|
2321 |
-
#~ "
|
2322 |
-
|
2323 |
-
|
2324 |
-
#~ "
|
2325 |
-
#~
|
2326 |
-
|
2327 |
-
#~ "
|
2328 |
-
#~
|
2329 |
-
|
2330 |
-
#~
|
2331 |
-
#~ "
|
2332 |
-
|
2333 |
-
#~
|
2334 |
-
#~ "
|
2335 |
-
#~ "
|
2336 |
-
#~
|
2337 |
-
#~ "
|
2338 |
-
#~ "
|
2339 |
-
|
2340 |
-
#~ "
|
2341 |
-
|
2342 |
-
|
2343 |
-
#~ "
|
2344 |
-
#~ "
|
2345 |
-
|
2346 |
-
#~ "
|
2347 |
-
#~ "
|
2348 |
-
|
2349 |
-
#~ msgid ""
|
2350 |
-
#~ "
|
2351 |
-
|
2352 |
-
#~ "
|
2353 |
-
#~ "
|
2354 |
-
|
2355 |
-
#~
|
2356 |
-
#~ "
|
2357 |
-
#~ "
|
2358 |
-
#~
|
2359 |
-
#~ "
|
2360 |
-
|
2361 |
-
#~
|
2362 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: clearfy\n"
|
4 |
+
"POT-Creation-Date: 2018-03-23 21:45+0300\n"
|
5 |
+
"PO-Revision-Date: 2018-03-23 21: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 1.8.8\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/configurate.php:19 admin/ajax/import-settings.php:21
|
24 |
+
msgid "You don't have enough capability to edit this information."
|
25 |
+
msgstr "У вас недостаточно возможностей для редактирования этой информации."
|
26 |
+
|
27 |
+
#: admin/ajax/configurate.php:28 admin/ajax/configurate.php:39
|
28 |
+
msgid "Undefinded mode."
|
29 |
+
msgstr "Неопределенный режим."
|
30 |
+
|
31 |
+
#: admin/ajax/import-settings.php:28
|
32 |
+
msgid "Settings are not defined or do not exist."
|
33 |
+
msgstr "Настройки не определены или не существуют."
|
34 |
+
|
35 |
+
#: admin/boot.php:22
|
36 |
+
#, php-format
|
37 |
+
msgid ""
|
38 |
+
"We found that you have the plugin %s installed. The functions of this plugin "
|
39 |
+
"already exist in %s. Please deactivate plugin %s to avoid conflicts between "
|
40 |
+
"plugins functions."
|
41 |
+
msgstr ""
|
42 |
+
"Мы обнаружили, что у вас установлен плагин %s, функции этого плагина уже "
|
43 |
+
"есть в %s. Пожалуйста, деактивируйте плагин %s во избежание конфликтов между "
|
44 |
+
"функциями плагинов."
|
45 |
+
|
46 |
+
#: admin/boot.php:23
|
47 |
+
#, php-format
|
48 |
+
msgid ""
|
49 |
+
"If you do not want to deactivate the plugin %s for some reason, we strongly "
|
50 |
+
"recommend do not use the same plugins functions at the same time!"
|
51 |
+
msgstr ""
|
52 |
+
"Если по какой-то причине вы не хотите деактивировать плагин %s, то мы "
|
53 |
+
"настоятельно рекомендуем не использовать похожие функции плагинов "
|
54 |
+
"одновременно!"
|
55 |
+
|
56 |
+
#: admin/boot.php:72
|
57 |
+
#, php-format
|
58 |
+
msgid "Welcome to Clearfy (%s)"
|
59 |
+
msgstr "Вас приветствует Clearfy (%s)"
|
60 |
+
|
61 |
+
#: admin/boot.php:73
|
62 |
+
msgid ""
|
63 |
+
"There are new optimization and protection features in the plugin. We "
|
64 |
+
"recommend you to look at them maybe they will be useful!"
|
65 |
+
msgstr ""
|
66 |
+
"В плагине появились новые функции оптимизации и защиты. Мы рекомендуем вам "
|
67 |
+
"ознакомится с ними, возможно они будут полезны!"
|
68 |
+
|
69 |
+
#: admin/boot.php:75
|
70 |
+
msgid "The section \"Code cleaning\" was renamed"
|
71 |
+
msgstr "Переименован раздел \"Очистка кода\""
|
72 |
+
|
73 |
+
#: admin/boot.php:76
|
74 |
+
msgid ""
|
75 |
+
"Asynchronous Google fonts loading, Google Analytics optimization, disabling "
|
76 |
+
"Google Fonts and Maps, disabling of gravatars, Font Awesome icons was added."
|
77 |
+
msgstr ""
|
78 |
+
"Добавлена асинхронная загрузка Google шрифтов, оптимизация Google Analytics, "
|
79 |
+
"отключение Google шрифтов и карт, отключение граваторов, иконок Font Awesome."
|
80 |
+
|
81 |
+
#: admin/boot.php:78
|
82 |
+
msgid "Login page protection added"
|
83 |
+
msgstr "Добавлена защита страницы логина"
|
84 |
+
|
85 |
+
#: admin/boot.php:79
|
86 |
+
msgid ""
|
87 |
+
"With the new Clearfy version, you can use the hide login page function. "
|
88 |
+
"Nobody will know the address of your login page, which means there will be "
|
89 |
+
"no password bruteforce and the attempts of your website hack will decrease."
|
90 |
+
msgstr ""
|
91 |
+
"В новой версии Clearfy, вы можете использовать функции скрытия страницы "
|
92 |
+
"логина. Никто не узнает адрес вашей страницы логина, а значит не будет "
|
93 |
+
"переборов пароля и уменьшатся попытки взлома вашего сайта."
|
94 |
+
|
95 |
+
#: admin/includes/options.php:18 admin/pages/performance-google.php:92
|
96 |
+
msgid "Google Fonts asynchronous"
|
97 |
+
msgstr "Загружать Google Fonts асинхронно"
|
98 |
+
|
99 |
+
#: admin/includes/options.php:23 admin/pages/performance-google.php:102
|
100 |
+
msgid "Disable Google Fonts"
|
101 |
+
msgstr "Отключить Google шрифты"
|
102 |
+
|
103 |
+
#: admin/includes/options.php:28 admin/pages/performance-google.php:130
|
104 |
+
msgid "Remove iframe Google maps"
|
105 |
+
msgstr "Удалить Google карты (iframe)"
|
106 |
+
|
107 |
+
#: admin/includes/options.php:33 admin/pages/performance-google.php:140
|
108 |
+
msgid "Exclude pages from Disable Google Maps filter"
|
109 |
+
msgstr "Не отключать Google карты на установленных страницах"
|
110 |
+
|
111 |
+
#: admin/includes/options.php:38 admin/pages/performance-google.php:153
|
112 |
+
msgid "Google analytic cache"
|
113 |
+
msgstr "Кеш Google аналитики"
|
114 |
+
|
115 |
+
#: admin/includes/options.php:43 admin/pages/performance-google.php:174
|
116 |
+
msgid "Google analytic Code"
|
117 |
+
msgstr "Код Google аналитики"
|
118 |
+
|
119 |
+
#: admin/includes/options.php:48 admin/pages/performance-google.php:195
|
120 |
+
msgid "Use adjusted bounce rate?"
|
121 |
+
msgstr "Показатель отказов?"
|
122 |
+
|
123 |
+
#: admin/includes/options.php:53 admin/pages/performance-google.php:204
|
124 |
+
msgid "Change enqueue order?"
|
125 |
+
msgstr "Сортировка скрипта?"
|
126 |
+
|
127 |
+
#: admin/includes/options.php:58 admin/pages/performance-google.php:213
|
128 |
+
msgid "Disable all display features functionality?"
|
129 |
+
msgstr "Отключить все функции для контекстно-медийной сети?"
|
130 |
+
|
131 |
+
#: admin/includes/options.php:63 admin/pages/performance-google.php:222
|
132 |
+
msgid "Use Anonymize IP? (Required by law for some countries)"
|
133 |
+
msgstr ""
|
134 |
+
"Использовать анонимный IP-адрес? (Требуется по закону для некоторых стран)"
|
135 |
+
|
136 |
+
#: admin/includes/options.php:68 admin/pages/performance-google.php:231
|
137 |
+
#: admin/pages/performance-google.php:233
|
138 |
+
msgid "Track logged in Administrators?"
|
139 |
+
msgstr "Отслеживать, если вы авторизованы под администратором?"
|
140 |
+
|
141 |
+
#: admin/includes/options.php:73 admin/pages/performance-google.php:240
|
142 |
+
msgid "Remove script from wp-cron?"
|
143 |
+
msgstr "Удалить кеширования скрипта из крона?"
|
144 |
+
|
145 |
+
#: admin/includes/options.php:79 admin/pages/performance-google.php:113
|
146 |
+
msgid "Disable Google maps"
|
147 |
+
msgstr "Отключить Google карты"
|
148 |
+
|
149 |
+
#: admin/includes/options.php:85 admin/pages/performance.php:164
|
150 |
+
msgid "Removing XFN (XHTML Friends Network) Profile Link"
|
151 |
+
msgstr "Удалить профиль XFN (XHTML Friends Network)"
|
152 |
+
|
153 |
+
#: admin/includes/options.php:90 admin/pages/performance.php:216
|
154 |
+
msgid "Font Awesome asynchronous"
|
155 |
+
msgstr "Асинхронный Fontawesome"
|
156 |
+
|
157 |
+
#: admin/includes/options.php:95 admin/pages/performance.php:226
|
158 |
+
msgid "Disable Dashicons"
|
159 |
+
msgstr "Отключить Wordpress иконки (для фронтенда)"
|
160 |
+
|
161 |
+
#: admin/includes/options.php:100 admin/pages/performance.php:236
|
162 |
+
msgid "Disable gravatars"
|
163 |
+
msgstr "Отключить граватары"
|
164 |
+
|
165 |
+
#: admin/includes/options.php:105 admin/pages/performance.php:106
|
166 |
+
msgid "Remove REST API Links"
|
167 |
+
msgstr "Отключить Rest API"
|
168 |
+
|
169 |
+
#: admin/includes/options.php:110 admin/pages/performance.php:116
|
170 |
+
msgid "Disable Emojis"
|
171 |
+
msgstr "Отключить Emojis (эмоции)"
|
172 |
+
|
173 |
+
#: admin/includes/options.php:121 admin/pages/performance.php:155
|
174 |
+
msgid "Remove RSD Link"
|
175 |
+
msgstr "Удаляет RSD ссылку"
|
176 |
+
|
177 |
+
#: admin/includes/options.php:126 admin/pages/performance.php:176
|
178 |
+
msgid "Remove wlwmanifest Link"
|
179 |
+
msgstr "Удалить wlwmanifest Link"
|
180 |
+
|
181 |
+
#: admin/includes/options.php:131 admin/pages/performance.php:186
|
182 |
+
msgid "Remove Shortlink"
|
183 |
+
msgstr "Удалить короткие ссылки"
|
184 |
+
|
185 |
+
#: admin/includes/options.php:136 admin/pages/performance.php:196
|
186 |
+
msgid "Remove links to previous, next post"
|
187 |
+
msgstr "Удалить ссылки следующая, предыдущая запись"
|
188 |
+
|
189 |
+
#: admin/includes/options.php:141 admin/pages/performance.php:206
|
190 |
+
msgid "Remove .recentcomments styles"
|
191 |
+
msgstr "Удалить стили .recentcomments"
|
192 |
+
|
193 |
+
#: admin/includes/options.php:147 admin/pages/seo.php:76
|
194 |
+
msgid "Automatically set the alt attribute"
|
195 |
+
msgstr "Автоматически устанавливать атрибут alt"
|
196 |
+
|
197 |
+
#: admin/includes/options.php:152 admin/pages/seo.php:115
|
198 |
+
msgid "Automatically insert the Last Modified header"
|
199 |
+
msgstr "Автоматически вставлять заголовок Last Modified"
|
200 |
+
|
201 |
+
#: admin/includes/options.php:157 admin/pages/seo.php:138
|
202 |
+
msgid "Return an If-Modified-Since responce"
|
203 |
+
msgstr "Возвращать заголовок If-Modified-Since"
|
204 |
+
|
205 |
+
#: admin/includes/options.php:162 admin/pages/seo.php:152
|
206 |
+
msgid "Remove duplicate names in breadcrumbs WP SEO by Yoast"
|
207 |
+
msgstr "Удалить дубли имен в хлебных крошках WP SEO Yoast"
|
208 |
+
|
209 |
+
#: admin/includes/options.php:167 admin/pages/seo.php:162
|
210 |
+
#, php-format
|
211 |
+
msgid "Remove the tag %s from XML site map"
|
212 |
+
msgstr "Удаляет тег %s из XML карты сайта плагин Yoast SEO."
|
213 |
+
|
214 |
+
#: admin/includes/options.php:174 admin/pages/seo.php:180
|
215 |
+
msgid "Disable JSON-LD sitelinks searchbox"
|
216 |
+
msgstr "Отключить ссылки JSON-LD"
|
217 |
+
|
218 |
+
#: admin/includes/options.php:179 admin/pages/seo.php:190
|
219 |
+
msgid "Disable Yoast Structured Data"
|
220 |
+
msgstr "Отключить структурирование данных"
|
221 |
+
|
222 |
+
#: admin/includes/options.php:184 admin/pages/seo.php:202
|
223 |
+
#, php-format
|
224 |
+
msgid "Remove comment from %s section"
|
225 |
+
msgstr "Удалить комментарии из секции %s"
|
226 |
+
|
227 |
+
#: admin/includes/options.php:189 admin/pages/seo-double-pages.php:93
|
228 |
+
msgid "Remove archives date"
|
229 |
+
msgstr "Удалить архивы дат"
|
230 |
+
|
231 |
+
#: admin/includes/options.php:194 admin/pages/seo-double-pages.php:103
|
232 |
+
msgid "Remove author archives "
|
233 |
+
msgstr "Удалить архивы автора"
|
234 |
+
|
235 |
+
#: admin/includes/options.php:199 admin/pages/seo-double-pages.php:113
|
236 |
+
msgid "Remove archives tag"
|
237 |
+
msgstr "Удалить метки архивов"
|
238 |
+
|
239 |
+
#: admin/includes/options.php:204 admin/pages/seo-double-pages.php:123
|
240 |
+
msgid "Remove attachment pages"
|
241 |
+
msgstr "Удалить страницы вложений"
|
242 |
+
|
243 |
+
#: admin/includes/options.php:209 admin/pages/seo-double-pages.php:133
|
244 |
+
msgid "Remove post pagination"
|
245 |
+
msgstr "Удалить постраничную навигацию записей"
|
246 |
+
|
247 |
+
#: admin/includes/options.php:214 admin/pages/seo-double-pages.php:143
|
248 |
+
msgid "Remove ?replytocom"
|
249 |
+
msgstr "Удалить ?replytocom"
|
250 |
+
|
251 |
+
#: admin/includes/options.php:219 admin/pages/defence-privacy-code.php:74
|
252 |
+
msgid "Remove meta generator"
|
253 |
+
msgstr "Удалить meta generator"
|
254 |
+
|
255 |
+
#: admin/includes/options.php:224 admin/pages/defence.php:60
|
256 |
+
msgid "Hide author login"
|
257 |
+
msgstr "Убрать возможность узнать логин автора"
|
258 |
+
|
259 |
+
#: admin/includes/options.php:229 admin/pages/defence.php:70
|
260 |
+
msgid "Hide errors when logging into the site"
|
261 |
+
msgstr "Спрятать ошибки при входе на сайт"
|
262 |
+
|
263 |
+
#: admin/includes/options.php:234 admin/includes/options.php:351
|
264 |
+
#: admin/pages/performance.php:248
|
265 |
+
msgid "Remove Version from Stylesheet"
|
266 |
+
msgstr "Удалить версию у файлов стилей"
|
267 |
+
|
268 |
+
#: admin/includes/options.php:239 admin/includes/options.php:356
|
269 |
+
#: admin/pages/performance.php:259
|
270 |
+
msgid "Remove Version from Script"
|
271 |
+
msgstr "Удаляет версию у javascript файлов"
|
272 |
+
|
273 |
+
#: admin/includes/options.php:244 admin/pages/widgets.php:59
|
274 |
+
msgid "Remove the \"Pages\" widget"
|
275 |
+
msgstr "Удалите виджет «Страницы»"
|
276 |
+
|
277 |
+
#: admin/includes/options.php:249 admin/pages/widgets.php:68
|
278 |
+
msgid "Remove calendar widget"
|
279 |
+
msgstr "Удалить виджет календаря"
|
280 |
+
|
281 |
+
#: admin/includes/options.php:254 admin/pages/widgets.php:77
|
282 |
+
msgid "Remove the \"Cloud of tags\" widget"
|
283 |
+
msgstr "Удалите виджет «Облако тегов»"
|
284 |
+
|
285 |
+
#: admin/includes/options.php:259 admin/pages/widgets.php:86
|
286 |
+
msgid "Remove the \"Archives\" widget"
|
287 |
+
msgstr "Удалите виджет «Архивы»"
|
288 |
+
|
289 |
+
#: admin/includes/options.php:264 admin/pages/widgets.php:95
|
290 |
+
msgid "Remove the \"Links\" widget"
|
291 |
+
msgstr "Удалите виджет «Ссылки»"
|
292 |
+
|
293 |
+
#: admin/includes/options.php:269 admin/pages/widgets.php:104
|
294 |
+
msgid "Remove the \"Meta\" widget"
|
295 |
+
msgstr "Удалите виджет «Мета»"
|
296 |
+
|
297 |
+
#: admin/includes/options.php:274 admin/pages/widgets.php:113
|
298 |
+
msgid "Remove the \"Search\" widget"
|
299 |
+
msgstr "Удалите виджет «Поиск»"
|
300 |
+
|
301 |
+
#: admin/includes/options.php:279 admin/includes/options.php:299
|
302 |
+
#: admin/pages/widgets.php:122
|
303 |
+
msgid "Remove the \"Text\" widget"
|
304 |
+
msgstr "Удалите виджет «Текст»"
|
305 |
+
|
306 |
+
#: admin/includes/options.php:284 admin/pages/widgets.php:131
|
307 |
+
msgid "Remove the \"Categories\" widget"
|
308 |
+
msgstr "Удалите виджет «Категории»"
|
309 |
+
|
310 |
+
#: admin/includes/options.php:289 admin/pages/widgets.php:140
|
311 |
+
msgid "Remove the \"Recent Posts\" widget"
|
312 |
+
msgstr "Удалите виджет «Последние записи»"
|
313 |
+
|
314 |
+
#: admin/includes/options.php:294 admin/pages/widgets.php:149
|
315 |
+
msgid "Remove the \"Recent Comments\" widget"
|
316 |
+
msgstr "Удалите виджет «Свежие комментарии»"
|
317 |
+
|
318 |
+
#: admin/includes/options.php:304 admin/pages/widgets.php:158
|
319 |
+
msgid "Remove the \"RSS\" widget"
|
320 |
+
msgstr "Удалить виджет «RSS»"
|
321 |
+
|
322 |
+
#: admin/includes/options.php:309 admin/pages/widgets.php:167
|
323 |
+
msgid "Remove the \"Menu\" widget"
|
324 |
+
msgstr "Удалите виджет «Меню»"
|
325 |
+
|
326 |
+
#: admin/includes/options.php:314 admin/pages/widgets.php:176
|
327 |
+
msgid "Remove the \"Twenty Eleven Ephemera\" widget"
|
328 |
+
msgstr "Удалите виджет \"Twenty Eleven Ephemera\""
|
329 |
+
|
330 |
+
#: admin/includes/options.php:317 admin/includes/options.php:386
|
331 |
+
#: admin/pages/advanced.php:207
|
332 |
+
msgid "Disable revision"
|
333 |
+
msgstr "Отключить ревизии"
|
334 |
+
|
335 |
+
#: admin/includes/options.php:318 admin/includes/options.php:391
|
336 |
+
#: admin/pages/advanced.php:220
|
337 |
+
msgid "Limit Post Revisions"
|
338 |
+
msgstr "Установить лимит ревизий"
|
339 |
+
|
340 |
+
#: admin/includes/options.php:319 admin/pages/seo.php:129
|
341 |
+
msgid "Exclude pages:"
|
342 |
+
msgstr "Исключить страницы:"
|
343 |
+
|
344 |
+
#: admin/includes/options.php:322 admin/pages/seo.php:86
|
345 |
+
msgid "Create right robots.txt"
|
346 |
+
msgstr "Создайте правильный robots.txt"
|
347 |
+
|
348 |
+
#: admin/includes/options.php:327 admin/pages/seo.php:101
|
349 |
+
msgid "You can edit the robots.txt file in the box below:"
|
350 |
+
msgstr "Вы можете отредактировать файл robots.txt в поле ниже:"
|
351 |
+
|
352 |
+
#: admin/includes/options.php:330
|
353 |
+
msgid "Quick mode"
|
354 |
+
msgstr "Быстрый старт"
|
355 |
+
|
356 |
+
#: admin/includes/options.php:333 admin/pages/performance.php:126
|
357 |
+
msgid "Remove jQuery Migrate"
|
358 |
+
msgstr "Удалить jQuery Migrate"
|
359 |
+
|
360 |
+
#: admin/includes/options.php:336 admin/pages/performance.php:136
|
361 |
+
msgid "Disable Embeds"
|
362 |
+
msgstr "Отключить Embeds"
|
363 |
+
|
364 |
+
#: admin/includes/options.php:337 admin/pages/performance.php:76
|
365 |
+
msgid "Disable RSS feeds"
|
366 |
+
msgstr "Отключить RSS каналы"
|
367 |
+
|
368 |
+
#: admin/includes/options.php:340
|
369 |
+
msgid "Removes links to wordpress.org site from the admin bar"
|
370 |
+
msgstr "Удаляет ссылки на wordpress.org сайт из панели администратора"
|
371 |
+
|
372 |
+
#: admin/includes/options.php:343 admin/pages/performance-html-minify.php:72
|
373 |
+
msgid "HTML minify"
|
374 |
+
msgstr "Html сжатие"
|
375 |
+
|
376 |
+
#: admin/includes/options.php:346
|
377 |
+
msgid "Redirect Http to Https"
|
378 |
+
msgstr "Перенаправление Http на Https"
|
379 |
+
|
380 |
+
#: admin/includes/options.php:361
|
381 |
+
msgid "Eclude stylesheet/script file names"
|
382 |
+
msgstr "Исключает файлы стилей/сприптов"
|
383 |
+
|
384 |
+
#: admin/includes/options.php:366
|
385 |
+
msgid "Enable Sanitization of WordPress"
|
386 |
+
msgstr "Включить Wordpress Sanitization"
|
387 |
+
|
388 |
+
#: admin/includes/options.php:371 admin/pages/advanced.php:158
|
389 |
+
msgid "Disable admin top bar"
|
390 |
+
msgstr "Скрыть верхнюю панель администратора"
|
391 |
+
|
392 |
+
#: admin/includes/options.php:376 admin/pages/advanced.php:176
|
393 |
+
msgid "Remove admin bar WP logo"
|
394 |
+
msgstr "Удалить логотип Wordpress из админбара"
|
395 |
+
|
396 |
+
#: admin/includes/options.php:381 admin/pages/advanced.php:186
|
397 |
+
msgid "Replace \"Howdy\" text with \"Welcome\""
|
398 |
+
msgstr "Заменить текст \"Привет\", на \"Добро пожаловать\""
|
399 |
+
|
400 |
+
#: admin/includes/options.php:396 admin/pages/advanced.php:244
|
401 |
+
msgid "Disable autosave"
|
402 |
+
msgstr "Отключить автосохранения"
|
403 |
+
|
404 |
+
#: admin/includes/options.php:401 admin/pages/advanced.php:254
|
405 |
+
msgid "Disable Texturization - Smart Quotes"
|
406 |
+
msgstr "Отключить \"Умные кавычки\""
|
407 |
+
|
408 |
+
#: admin/includes/options.php:406 admin/pages/advanced.php:264
|
409 |
+
msgid "Disable capitalization in Wordpress branding"
|
410 |
+
msgstr "Отключить верблюжий шрифт в WordPress брендинге"
|
411 |
+
|
412 |
+
#: admin/includes/options.php:411 admin/pages/advanced.php:274
|
413 |
+
msgid "Disable auto inserted paragraphs (i.e. p tags)"
|
414 |
+
msgstr "Отключить автоматические параграфы (т.е p теги)"
|
415 |
+
|
416 |
+
#: admin/includes/options.php:416 admin/pages/advanced.php:89
|
417 |
+
msgid "Disable Heartbeat"
|
418 |
+
msgstr "Отключить пульсацию Wordpress"
|
419 |
+
|
420 |
+
#: admin/includes/options.php:421 admin/pages/advanced.php:118
|
421 |
+
msgid "Heartbeat frequency"
|
422 |
+
msgstr "Интервал пульсации Wordpress"
|
423 |
+
|
424 |
+
#: admin/includes/options.php:426 admin/pages/defence-privacy-code.php:64
|
425 |
+
msgid "Remove html comments"
|
426 |
+
msgstr "Удалить html комментарии"
|
427 |
+
|
428 |
+
#: admin/pages/advanced.php:36
|
429 |
+
msgid "Advanced"
|
430 |
+
msgstr "Дополнительно"
|
431 |
+
|
432 |
+
#: admin/pages/advanced.php:65
|
433 |
+
msgid ""
|
434 |
+
"Warning! In the wp-config.php file, a constant WP_POST_REVISIONS is found, "
|
435 |
+
"it determines the number of revisions. Delete it so you can change this "
|
436 |
+
"value through the admin panel."
|
437 |
+
msgstr ""
|
438 |
+
"Предупреждение! В файле wp-config.php найдена константа WP_POST_REVISIONS, "
|
439 |
+
"она определяет количество ревизий. Удалите ее, чтобы вы могли изменить это "
|
440 |
+
"значение через панель администратора."
|
441 |
+
|
442 |
+
#: admin/pages/advanced.php:82
|
443 |
+
msgid "Heartbeat"
|
444 |
+
msgstr "Пульсация"
|
445 |
+
|
446 |
+
#: admin/pages/advanced.php:82
|
447 |
+
msgid ""
|
448 |
+
"The WordPress Heartbeat API uses /wp-admin/admin-ajax.php to run AJAX calls "
|
449 |
+
"from the web-browser. While this is great and all it can also cause high CPU "
|
450 |
+
"usage and crazy amounts of PHP calls. For example, if you leave your "
|
451 |
+
"dashboard open it will keep sending POST requests to this file on a regular "
|
452 |
+
"interval, every 15 seconds. Here is an example below of it happening."
|
453 |
+
msgstr ""
|
454 |
+
"API WordPress использует пульсацию в /wp-admin/admin-ajax.php для запуска "
|
455 |
+
"вызовов AJAX из веб-браузера. Хотя это очень полезно, но все же это может "
|
456 |
+
"также вызвать высокую загрузку процессора и большое количество обращений к "
|
457 |
+
"серверу. Например, если вы оставите свою панель управления открытой, она "
|
458 |
+
"будет регулярно отправлять POST-запросы в этот файл через каждые 15 секунд. "
|
459 |
+
"Ниже приведен пример ниже."
|
460 |
+
|
461 |
+
#: admin/pages/advanced.php:91
|
462 |
+
msgid "Default"
|
463 |
+
msgstr "По умолчанию"
|
464 |
+
|
465 |
+
#: admin/pages/advanced.php:92
|
466 |
+
msgid "Everywhere"
|
467 |
+
msgstr "Повсюду"
|
468 |
+
|
469 |
+
#: admin/pages/advanced.php:93
|
470 |
+
msgid "On dashboard page"
|
471 |
+
msgstr "В панели инструментов"
|
472 |
+
|
473 |
+
#: admin/pages/advanced.php:94
|
474 |
+
msgid "Only allow when editing Posts/Pages"
|
475 |
+
msgstr "Когда редактируете записи/страницы"
|
476 |
+
|
477 |
+
#: admin/pages/advanced.php:120 admin/pages/advanced.php:222
|
478 |
+
msgid "Wordpress default"
|
479 |
+
msgstr "Wordpress по умолчанию"
|
480 |
+
|
481 |
+
#: admin/pages/advanced.php:121 admin/pages/advanced.php:122
|
482 |
+
#: admin/pages/advanced.php:123 admin/pages/advanced.php:124
|
483 |
+
#: admin/pages/advanced.php:125 admin/pages/advanced.php:126
|
484 |
+
#: admin/pages/advanced.php:127 admin/pages/advanced.php:128
|
485 |
+
#: admin/pages/advanced.php:129 admin/pages/advanced.php:130
|
486 |
+
#: admin/pages/advanced.php:131 admin/pages/advanced.php:132
|
487 |
+
#: admin/pages/advanced.php:133 admin/pages/advanced.php:134
|
488 |
+
#: admin/pages/advanced.php:135 admin/pages/advanced.php:136
|
489 |
+
#: admin/pages/advanced.php:137
|
490 |
+
msgid "seconds"
|
491 |
+
msgstr "секунды"
|
492 |
+
|
493 |
+
#: admin/pages/advanced.php:140
|
494 |
+
msgid ""
|
495 |
+
"Select the heartbeat frequency wordpress. We recommend you 60 seconds, "
|
496 |
+
"default is 20 seconds."
|
497 |
+
msgstr ""
|
498 |
+
"Установите частоту пульсации Wordpress. Мы рекомендуем вам 60 секунд, "
|
499 |
+
"значение по умолчанию — 20 секунд."
|
500 |
+
|
501 |
+
#: admin/pages/advanced.php:151
|
502 |
+
msgid "Admin bar"
|
503 |
+
msgstr "Верхняя панель администратора"
|
504 |
+
|
505 |
+
#: admin/pages/advanced.php:151
|
506 |
+
msgid "In this group of settings, you can manage the adminbar."
|
507 |
+
msgstr ""
|
508 |
+
"В этой группе настроек вы можете управлять верхней панелью администратора."
|
509 |
+
|
510 |
+
#: admin/pages/advanced.php:160
|
511 |
+
msgid "Default enable"
|
512 |
+
msgstr "Включен (по умолчанию)"
|
513 |
+
|
514 |
+
#: admin/pages/advanced.php:161
|
515 |
+
msgid "For all users"
|
516 |
+
msgstr "Для всех пользователей"
|
517 |
+
|
518 |
+
#: admin/pages/advanced.php:164
|
519 |
+
msgid "For all users except administrator"
|
520 |
+
msgstr "Для всех, кроме администратора"
|
521 |
+
|
522 |
+
#: admin/pages/advanced.php:168
|
523 |
+
msgid ""
|
524 |
+
"In some cases, you need to disable the floating top admin panel. You can "
|
525 |
+
"disable this panel."
|
526 |
+
msgstr ""
|
527 |
+
"В некоторых случаях вам необходимо отключить админбар. Вы можете это сделать "
|
528 |
+
"с помощью текущей опции."
|
529 |
+
|
530 |
+
#: admin/pages/advanced.php:168
|
531 |
+
msgid "Disable admin top bar."
|
532 |
+
msgstr "Отключить верхнюю панель администратора."
|
533 |
+
|
534 |
+
#: admin/pages/advanced.php:178
|
535 |
+
msgid "Enable this if you want to remove wp logo from admin bar."
|
536 |
+
msgstr ""
|
537 |
+
"Включите это, если вы хотите удалить логотип Wordpress из верхней панели "
|
538 |
+
"администратора."
|
539 |
+
|
540 |
+
#: admin/pages/advanced.php:188
|
541 |
+
msgid "Replaces the welcome text in admin bar."
|
542 |
+
msgstr "Заменяет текст приветствия в панели администратора."
|
543 |
+
|
544 |
+
#: admin/pages/advanced.php:200
|
545 |
+
msgid "Posts"
|
546 |
+
msgstr "Записи"
|
547 |
+
|
548 |
+
#: admin/pages/advanced.php:200
|
549 |
+
msgid "In this group of options, you can manage revisions and post autosave."
|
550 |
+
msgstr ""
|
551 |
+
"В этой группе опций вы можете управлять ревизиями и автосохранением записей "
|
552 |
+
"и страниц."
|
553 |
+
|
554 |
+
#: admin/pages/advanced.php:223 admin/pages/advanced.php:224
|
555 |
+
#: admin/pages/advanced.php:225 admin/pages/advanced.php:226
|
556 |
+
#: admin/pages/advanced.php:227 admin/pages/advanced.php:228
|
557 |
+
#: admin/pages/advanced.php:229 admin/pages/advanced.php:230
|
558 |
+
#: admin/pages/advanced.php:231 admin/pages/advanced.php:232
|
559 |
+
msgid "revisions"
|
560 |
+
msgstr "ревизии"
|
561 |
+
|
562 |
+
#: admin/pages/advanced.php:235
|
563 |
+
msgid ""
|
564 |
+
"WordPress automatically saves revisions when you are working on posts and "
|
565 |
+
"pages. These can begin to add up pretty quick. By default, there is no limit "
|
566 |
+
"in place. We have seen posts with over 1,000 revisions. Multiply this by 50 "
|
567 |
+
"pages and suddenly you have over 50,000 revisions sitting in your database. "
|
568 |
+
"The problem with this is that you will most likely never use them and they "
|
569 |
+
"can start slowing down your database as well as using disk space.\n"
|
570 |
+
"So we recommend either disabling or limiting your revisions. "
|
571 |
+
msgstr ""
|
572 |
+
"WordPress автоматически сохраняет изменения, когда вы работаете над "
|
573 |
+
"сообщениями и страницами. Они могут начать складываться довольно быстро. По "
|
574 |
+
"умолчанию, ограничений нет. Мы видели сообщения с более чем 1000 версиями. "
|
575 |
+
"Умножьте это на 50 страниц, и у вас будет более 50 000 исправлений, сидящих "
|
576 |
+
"в вашей базе данных. Проблема заключается в том, что вы, скорее всего, "
|
577 |
+
"никогда не будете их использовать, и они могут начать замедлять работу вашей "
|
578 |
+
"базы данных, а также использовать дисковое пространство.\n"
|
579 |
+
"Поэтому мы рекомендуем либо отключать, либо ограничивать ваши изменения."
|
580 |
+
|
581 |
+
#: admin/pages/advanced.php:246
|
582 |
+
msgid ""
|
583 |
+
"WordPress by default automatically saves a draft every 60 seconds (1 "
|
584 |
+
"minute). There are reasons why you might want to change this."
|
585 |
+
msgstr ""
|
586 |
+
"WordPress по умолчанию автоматически сохраняет черновик каждые 60 секунд (1 "
|
587 |
+
"минута). Есть причины, по которым вы можете изменить это."
|
588 |
+
|
589 |
+
#: admin/pages/advanced.php:246
|
590 |
+
msgid "Disables automatic saving of drafts."
|
591 |
+
msgstr "Отключает автоматическое сохранение черновиков."
|
592 |
+
|
593 |
+
#: admin/pages/advanced.php:256
|
594 |
+
msgid ""
|
595 |
+
"Function of text formatting. This function makes the text more correct, "
|
596 |
+
"readable and visually appealing. But sometimes this function may prevent you "
|
597 |
+
"from using certain codes and symbols."
|
598 |
+
msgstr ""
|
599 |
+
"Функция форматирования текста. Эта функция делает текст более правильным, "
|
600 |
+
"читаемым и визуально привлекательным. Но иногда эта функция может помешать "
|
601 |
+
"вам использовать определенные коды и символы."
|
602 |
+
|
603 |
+
#: admin/pages/advanced.php:256
|
604 |
+
msgid "Disable Texturization - Smart Quotes."
|
605 |
+
msgstr "Отключить умные кавычки"
|
606 |
+
|
607 |
+
#: admin/pages/advanced.php:266
|
608 |
+
msgid ""
|
609 |
+
"Replaces the incorrectly written letter \"p\" in the middle of WordPress "
|
610 |
+
"(you need to write with the capital P in the middle)."
|
611 |
+
msgstr ""
|
612 |
+
"Заменяет неправильно написанную букву «p» в середине WordPress (вам нужно "
|
613 |
+
"написать ее верхнем регистре P в середине)."
|
614 |
+
|
615 |
+
#: admin/pages/advanced.php:266
|
616 |
+
msgid "Disable capitalization in Wordpress branding."
|
617 |
+
msgstr "Отключить верблюжий шрифт в брендинге Wordpress."
|
618 |
+
|
619 |
+
#: admin/pages/advanced.php:276
|
620 |
+
msgid ""
|
621 |
+
"Replaces the double shifting of a string to an HTML p ... /p construct, and "
|
622 |
+
"a single one on br."
|
623 |
+
msgstr ""
|
624 |
+
"Заменяет двойное смещение строки на конструкцию HTML p ... / p и одну на br."
|
625 |
+
|
626 |
+
#: admin/pages/advanced.php:276
|
627 |
+
msgid "Disable auto inserted paragraphs."
|
628 |
+
msgstr "Отключить автоматически вставленные абзацы."
|
629 |
+
|
630 |
+
#: admin/pages/components.php:40
|
631 |
+
msgid "Components"
|
632 |
+
msgstr "Компоненты"
|
633 |
+
|
634 |
+
#: admin/pages/components.php:71
|
635 |
+
msgid "Hide login page"
|
636 |
+
msgstr "Скрыть страницу логина"
|
637 |
+
|
638 |
+
#: admin/pages/components.php:74
|
639 |
+
msgid ""
|
640 |
+
"Hide Login Page is a very light plugin that lets you easily and safely "
|
641 |
+
"change the url of the login form page to anything you want."
|
642 |
+
msgstr ""
|
643 |
+
"Простой модуль, который позволяет вам легко и безопасно изменять URL-адрес "
|
644 |
+
"страницы формы входа на свой собственный."
|
645 |
+
|
646 |
+
#: admin/pages/components.php:78
|
647 |
+
msgid "Updates manager"
|
648 |
+
msgstr "Менеджер обновлений"
|
649 |
+
|
650 |
+
#: admin/pages/components.php:81
|
651 |
+
msgid "Disable updates enable auto updates for themes, plugins and WordPress."
|
652 |
+
msgstr ""
|
653 |
+
"Отключает обновления, включает автообновления плагинов, тем, WordPress."
|
654 |
+
|
655 |
+
#: admin/pages/components.php:85
|
656 |
+
msgid "Comments tools"
|
657 |
+
msgstr "Инструменты комментариев"
|
658 |
+
|
659 |
+
#: admin/pages/components.php:88
|
660 |
+
msgid ""
|
661 |
+
"Bulk disable and remove comments, disable “Website” field, hides external "
|
662 |
+
"links, disable XML-RPC."
|
663 |
+
msgstr ""
|
664 |
+
"Позволяет массово отключать и удалять комментарии, отключает поле сайт, "
|
665 |
+
"скрывает внешние ссылки, отключает XML-RPC."
|
666 |
+
|
667 |
+
#: admin/pages/components.php:92
|
668 |
+
msgid "Widgets tools"
|
669 |
+
msgstr "Инструменты для виджетов"
|
670 |
+
|
671 |
+
#: admin/pages/components.php:95
|
672 |
+
msgid "Disable unused widgets such as tag cloud, links, calendar etc."
|
673 |
+
msgstr ""
|
674 |
+
"Позволяет отключить неиспользуемые виджеты, такие как облако тегов, ссылки, "
|
675 |
+
"календарь и т.д."
|
676 |
+
|
677 |
+
#: admin/pages/components.php:99
|
678 |
+
msgid "Asset manager"
|
679 |
+
msgstr "Менеджер скриптов"
|
680 |
+
|
681 |
+
#: admin/pages/components.php:102
|
682 |
+
msgid ""
|
683 |
+
"Selectively disable unused scripts and styles on the pages of your website."
|
684 |
+
msgstr ""
|
685 |
+
"Выборочно отключает неиспользуемые скрипты и стили на страницах вашего сайта."
|
686 |
+
|
687 |
+
#: admin/pages/components.php:106
|
688 |
+
msgid "Disable admin notices"
|
689 |
+
msgstr "Отключить уведомления"
|
690 |
+
|
691 |
+
#: admin/pages/components.php:109
|
692 |
+
msgid ""
|
693 |
+
"Disables admin notices bulk or individually. Collects notices into the admin "
|
694 |
+
"bar."
|
695 |
+
msgstr ""
|
696 |
+
"Отключает уведомления администратора индивидуально или все разом. Собирает "
|
697 |
+
"уведомления в админ баре."
|
698 |
+
|
699 |
+
#: admin/pages/components.php:113
|
700 |
+
msgid "Admin bar manager"
|
701 |
+
msgstr "Управление админбаром"
|
702 |
+
|
703 |
+
#: admin/pages/components.php:116
|
704 |
+
msgid "Disables admin bar. Allows to change and remove admin bar elements."
|
705 |
+
msgstr ""
|
706 |
+
"Отключает админ бар. Позволяет изменять и удалять элементы из админбара."
|
707 |
+
|
708 |
+
#: admin/pages/components.php:120
|
709 |
+
msgid "Posts tools"
|
710 |
+
msgstr "Инструменты для записей"
|
711 |
+
|
712 |
+
#: admin/pages/components.php:123
|
713 |
+
msgid ""
|
714 |
+
"Disable revisions, disable posts autosave, disable smart quotes and disable "
|
715 |
+
"auto paragraphs."
|
716 |
+
msgstr ""
|
717 |
+
"Отключение ревизий, отключение автосохранений записей, отключение «умных "
|
718 |
+
"кавычек», отключение автоматических параграфов."
|
719 |
+
|
720 |
+
#: admin/pages/components.php:127
|
721 |
+
msgid "Yoast SEO optimization"
|
722 |
+
msgstr "Оптимизация Yoast Seo"
|
723 |
+
|
724 |
+
#: admin/pages/components.php:130
|
725 |
+
msgid "Set of optimization functions for the popular Yoast SEO plugin."
|
726 |
+
msgstr "Набор функций для оптимизации популярного плагина Yoast Seo."
|
727 |
+
|
728 |
+
#: admin/pages/components.php:136
|
729 |
+
msgid "Transliteration of Cyrillic alphabet"
|
730 |
+
msgstr "Транслитерация кириллицы"
|
731 |
+
|
732 |
+
#: admin/pages/components.php:139
|
733 |
+
msgid ""
|
734 |
+
"Converts Cyrillic permalinks of post, pages, taxonomies and media files to "
|
735 |
+
"the Latin alphabet. Supports Russian, Ukrainian, Georgian, Bulgarian "
|
736 |
+
"languages."
|
737 |
+
msgstr ""
|
738 |
+
"Конвертирует кириллические постоянные ссылки записей, страниц, таксономий и "
|
739 |
+
"медиафайлов в латиницу. Поддерживает Русский, Украинский, Грузинский, "
|
740 |
+
"Болгарский языки. Пример: http://site.dev/последние-новости -> http://site."
|
741 |
+
"dev/poslednie-novosti"
|
742 |
+
|
743 |
+
#: admin/pages/components.php:145
|
744 |
+
msgid "Privacy Wordpress"
|
745 |
+
msgstr "Приватный Wordpress"
|
746 |
+
|
747 |
+
#: admin/pages/components.php:148
|
748 |
+
msgid ""
|
749 |
+
"This component is to protect your site, Wordpress runs private mode. Nobody "
|
750 |
+
"will know that you will use Wordpress!"
|
751 |
+
msgstr ""
|
752 |
+
"Этот компонент предназначен для защиты вашего сайта, Wordpress работает в "
|
753 |
+
"приватном режиме. Никто не будет знать, что вы будете использовать Wordpress!"
|
754 |
+
|
755 |
+
#: admin/pages/components.php:152
|
756 |
+
msgid "<strong>Plugin Components</strong>."
|
757 |
+
msgstr "<strong>Компоненты плагина</strong>."
|
758 |
+
|
759 |
+
#: admin/pages/components.php:154
|
760 |
+
msgid ""
|
761 |
+
"These are components of the plugin bundle. When you activate the plugin, all "
|
762 |
+
"the components turned on by default. If you don’t need some function, you "
|
763 |
+
"can easily turn it off on this page."
|
764 |
+
msgstr ""
|
765 |
+
"Это компоненты, входящие в загрузочный пакет плагина. При активации плагина "
|
766 |
+
"все компоненты включены по умолчанию. Если какая-то функция вам не нужна, вы "
|
767 |
+
"можете легко отключить её на этой странице."
|
768 |
+
|
769 |
+
#: admin/pages/components.php:186
|
770 |
+
msgid "Activate"
|
771 |
+
msgstr "Включить"
|
772 |
+
|
773 |
+
#: admin/pages/components.php:188
|
774 |
+
msgid "Deactivate"
|
775 |
+
msgstr "Отключить"
|
776 |
+
|
777 |
+
#: admin/pages/defence-privacy-code.php:38
|
778 |
+
msgid "Code privacy"
|
779 |
+
msgstr "Приватный код"
|
780 |
+
|
781 |
+
#: admin/pages/defence-privacy-code.php:57
|
782 |
+
msgid "<strong>Hide WordPress plugins versions</strong>."
|
783 |
+
msgstr "<strong>Скрыть версии Wordpress и плагинов</strong>."
|
784 |
+
|
785 |
+
#: admin/pages/defence-privacy-code.php:57
|
786 |
+
msgid ""
|
787 |
+
"WordPress itself and many plugins shows their version at the public areas of "
|
788 |
+
"your site. An attacker received this information may be aware of the "
|
789 |
+
"vulnerabilities found in the version of the WordPress core or plugins."
|
790 |
+
msgstr ""
|
791 |
+
"Сам WordPress и многие плагины, публикуют свою версию в публичных областях "
|
792 |
+
"вашего сайта. Получив эту информацию, злоумышленник может знать об "
|
793 |
+
"уязвимостях обнаруженных в полученной им версии ядра WordPress или плагинов."
|
794 |
+
|
795 |
+
#: admin/pages/defence-privacy-code.php:66
|
796 |
+
msgid ""
|
797 |
+
"This function will remove all html comments in the source code, except for "
|
798 |
+
"special and hidden comments. This is necessary to hide the version of "
|
799 |
+
"installed plugins."
|
800 |
+
msgstr ""
|
801 |
+
"Эта функция удалит все html-комментарии в исходном коде, за исключением "
|
802 |
+
"специальных и скрытых комментариев. Это необходимо, чтобы скрыть версию "
|
803 |
+
"установленных плагинов."
|
804 |
+
|
805 |
+
#: admin/pages/defence-privacy-code.php:66
|
806 |
+
msgid "Remove html comments in source code."
|
807 |
+
msgstr "Удалить Html комментарии в исходном коде страницы."
|
808 |
+
|
809 |
+
#: admin/pages/defence-privacy-code.php:74 admin/pages/performance.php:248
|
810 |
+
#: admin/pages/performance.php:259 admin/pages/seo.php:76
|
811 |
+
#: admin/pages/seo.php:115 admin/pages/seo.php:138 admin/pages/seo.php:152
|
812 |
+
#: admin/pages/seo.php:162 admin/pages/seo.php:202
|
813 |
+
msgid "Recommended"
|
814 |
+
msgstr "Рекомендовано"
|
815 |
+
|
816 |
+
#: admin/pages/defence-privacy-code.php:76
|
817 |
+
msgid ""
|
818 |
+
"Allows attacker to learn the version of WP installed on the site. This meta "
|
819 |
+
"tag has no useful function."
|
820 |
+
msgstr ""
|
821 |
+
"Позволяет злоумышленнику узнать версию Wordpress, установленую на вашем "
|
822 |
+
"сайте. Этот мета-тег не несет никакой пользы."
|
823 |
+
|
824 |
+
#: admin/pages/defence-privacy-code.php:76
|
825 |
+
#, php-format
|
826 |
+
msgid "Removes the meta tag from the %s section"
|
827 |
+
msgstr "Удаляет мета-тег из раздел %s"
|
828 |
+
|
829 |
+
#: admin/pages/defence.php:34
|
830 |
+
msgid "Defence"
|
831 |
+
msgstr "Защита"
|
832 |
+
|
833 |
+
#: admin/pages/defence.php:53
|
834 |
+
msgid "<strong>Base settings</strong>."
|
835 |
+
msgstr "<strong>Базовый настройки</strong>."
|
836 |
+
|
837 |
+
#: admin/pages/defence.php:53
|
838 |
+
msgid "Basic recommended security settings."
|
839 |
+
msgstr "Основные рекомендуемые параметры безопасности."
|
840 |
+
|
841 |
+
#: admin/pages/defence.php:62
|
842 |
+
msgid ""
|
843 |
+
"An attacker can find out the author's login, using a similar request to get "
|
844 |
+
"your site. mysite.com/?author=1"
|
845 |
+
msgstr ""
|
846 |
+
"Злоумышленник может узнать логин автора, с помощью подобного get запроса "
|
847 |
+
"mysite.com/?author=1"
|
848 |
+
|
849 |
+
#: admin/pages/defence.php:62
|
850 |
+
msgid "Sets the redirect to exclude the possibility of obtaining a login."
|
851 |
+
msgstr ""
|
852 |
+
"Предотвращает возможность узнать логин автора, устанавливая перенаправление."
|
853 |
+
|
854 |
+
#: admin/pages/defence.php:72
|
855 |
+
msgid ""
|
856 |
+
"WP by default shows whether you entered a wrong login or incorrect password, "
|
857 |
+
"which allows attackers to understand if there is a certain user on the site, "
|
858 |
+
"and then start searching through the passwords."
|
859 |
+
msgstr ""
|
860 |
+
"Wordpress по умолчанию показывает, ввели ли вы неправильный логин или "
|
861 |
+
"неправильный пароль, что дает злоумышленникам понять, существует ли "
|
862 |
+
"определенный пользователь на сайте, а после начать перебор паролей."
|
863 |
+
|
864 |
+
#: admin/pages/defence.php:72
|
865 |
+
msgid ""
|
866 |
+
"Changes in the text of the error so that attackers could not find the login."
|
867 |
+
msgstr ""
|
868 |
+
"Меняет текст ошибки так, чтобы злоумышленники не смогли подобрать логин."
|
869 |
+
|
870 |
+
#: admin/pages/defence.php:80
|
871 |
+
msgid "Disable XML-RPC"
|
872 |
+
msgstr "Отключить XML-RPC"
|
873 |
+
|
874 |
+
#: admin/pages/defence.php:82
|
875 |
+
msgid ""
|
876 |
+
"A pingback is basically an automated comment that gets created when another "
|
877 |
+
"blog links to you. A self-pingback is created when you link to an article "
|
878 |
+
"within your own blog. Pingbacks are essentially nothing more than spam and "
|
879 |
+
"simply waste resources."
|
880 |
+
msgstr ""
|
881 |
+
"Pingback по-существу автоматизированных комментарий, который создается, "
|
882 |
+
"когда другой блог ссылается на вас. Self-pingback создается, когда вы "
|
883 |
+
"оставили ссылку на статью в своем блоге. Pingbacks по существу являются не "
|
884 |
+
"более чем спам и пустая трата ресурсов вашего сайта."
|
885 |
+
|
886 |
+
#: admin/pages/defence.php:82
|
887 |
+
msgid "Removes the server responses a reference to the xmlrpc file."
|
888 |
+
msgstr "Удаляет ссылку на xmlrpc-файл и ответ сервера."
|
889 |
+
|
890 |
+
#: admin/pages/performance-google.php:46
|
891 |
+
msgid "Google services"
|
892 |
+
msgstr "Google сервисы"
|
893 |
+
|
894 |
+
#: admin/pages/performance-google.php:85
|
895 |
+
msgid "<strong>Fonts and Maps</strong>."
|
896 |
+
msgstr "<strong>Карты и шрифты</strong>."
|
897 |
+
|
898 |
+
#: admin/pages/performance-google.php:85
|
899 |
+
msgid ""
|
900 |
+
"Google Fonts and Maps strongly affect your website loading speed. Use "
|
901 |
+
"settings below to disable or optimize Google fonts and Maps."
|
902 |
+
msgstr ""
|
903 |
+
"Google шрифты и карты сильно влияют на скорость загрузки вашего сайта. "
|
904 |
+
"Используйте настройки ниже, чтобы отключить или оптимизировать Google шрифты "
|
905 |
+
"и карты."
|
906 |
+
|
907 |
+
#: admin/pages/performance-google.php:94
|
908 |
+
msgid ""
|
909 |
+
"By default, WordPress loads Google fonts synchronously, that is, your page "
|
910 |
+
"will not be fully loaded until Google Fonts are loaded. This algorithm slows "
|
911 |
+
"down the loading of your page and leads to errors when checking the site in "
|
912 |
+
"Google Page Speed. Using this option, your Google Fonts will be loaded after "
|
913 |
+
"your page is fully loaded. This method has a negative — you and visitors of "
|
914 |
+
"your site will see how the font changes while loading a page, from the "
|
915 |
+
"system to the downloadable one."
|
916 |
+
msgstr ""
|
917 |
+
"По умолчанию WordPress загружает шрифты Google синхронно, то есть, ваша "
|
918 |
+
"страница не будет полностью загружена, пока не будут загружены шрифты "
|
919 |
+
"Google. Такой алгоритм работы замедляет загрузку вашей страницы и приводит к "
|
920 |
+
"появлению ошибок при проверке сайта в Google Page Speed. Используя эту "
|
921 |
+
"опцию, ваши шрифты Google будут загружаться после полной загрузки вашей "
|
922 |
+
"страницы. У этого метода есть и минус — вы и посетители сайта будете видеть, "
|
923 |
+
"как меняется шрифт в процессе загрузки страницы с системного на загружаемый."
|
924 |
+
|
925 |
+
#: admin/pages/performance-google.php:104
|
926 |
+
msgid ""
|
927 |
+
"This function stops loading of Open Sans and other fonts used by WordPress "
|
928 |
+
"and bundled themes (Twenty Twelve, Twenty Thirteen, Twenty Fourteen, Twenty "
|
929 |
+
"Fifteen, Twenty Sixteen, Twenty Seventeen) from Google Fonts.\n"
|
930 |
+
"Reasons for not using Google Fonts might be privacy and security, local "
|
931 |
+
"development or production, blocking of Google’s servers, characters not "
|
932 |
+
"supported by font, performance."
|
933 |
+
msgstr ""
|
934 |
+
"Эта функция останавливает загрузку Open Sans и других шрифтов, используемых "
|
935 |
+
"WordPress, и связанных с ним тем (Twenty Twelve, Twenty Thirteen, Twenty "
|
936 |
+
"Fourteen, Twenty Fifteen, Twenty Sixteen, Twenty Seventeen) из сервиса "
|
937 |
+
"Google шрифты.\n"
|
938 |
+
"Причинами не использовать Google шрифты могут быть конфиденциальность и "
|
939 |
+
"безопасность, локальная разработка или отладка, блокировка серверов Google, "
|
940 |
+
"символы, не поддерживаемые шрифтом, производительность."
|
941 |
+
|
942 |
+
#: admin/pages/performance-google.php:115
|
943 |
+
msgid ""
|
944 |
+
"This function stops loading of Google Maps used by some themes or plugins.\n"
|
945 |
+
"Reasons for not using Google Maps might be privacy and security, local "
|
946 |
+
"development or production, blocking of Google’s servers, performance, not "
|
947 |
+
"necessary, etc."
|
948 |
+
msgstr ""
|
949 |
+
"Эта функция останавливает загрузку Карт Google, используемых некоторыми "
|
950 |
+
"темами или плагинами.\n"
|
951 |
+
"Причинами не использования Google карт могут быть конфиденциальность и "
|
952 |
+
"безопасность, локальная разработка или отладка, блокировка серверов Google, "
|
953 |
+
"производительность и т. д."
|
954 |
+
|
955 |
+
#: admin/pages/performance-google.php:132
|
956 |
+
msgid ""
|
957 |
+
"By default, the \"Disable Google Maps\" option removes maps inserted with "
|
958 |
+
"the SCRIPT tag from the page source code. However, you can also cut out all "
|
959 |
+
"maps inserted via the iframe by enabling this option."
|
960 |
+
msgstr ""
|
961 |
+
"По умолчанию, опция \"Отключить карты Google \" удаляет карты с тегом script "
|
962 |
+
"из исходного кода страницы. Однако, вы также можете вырезать все карты, "
|
963 |
+
"вставленные через iframe, включив эту опцию."
|
964 |
+
|
965 |
+
#: admin/pages/performance-google.php:141
|
966 |
+
msgid "Posts or Pages IDs separated by a ,"
|
967 |
+
msgstr "ID записей или страниц, разделенные запятой ,"
|
968 |
+
|
969 |
+
#: admin/pages/performance-google.php:146
|
970 |
+
msgid "<strong>Google Analytics cache</strong>."
|
971 |
+
msgstr "<strong>Кеширование Google аналитики</strong>."
|
972 |
+
|
973 |
+
#: admin/pages/performance-google.php:146
|
974 |
+
msgid ""
|
975 |
+
"To improve Google Page Speed indicators Analytics caching is needed. "
|
976 |
+
"However, it can also slightly increase your website loading speed, because "
|
977 |
+
"Analytics js files will load locally. The second case that you might need "
|
978 |
+
"these settings is the usual Google Analytics connection to your website. You "
|
979 |
+
"do not need to do this with other plugins or insert the tracking code into "
|
980 |
+
"your theme."
|
981 |
+
msgstr ""
|
982 |
+
"Кеширование Analytics нужно для улучшения показателей Google Page Speed, но "
|
983 |
+
"это также может незначительно повысить скорость загрузки вашего сайта, "
|
984 |
+
"потому что js файлы Analytics будут подгружаться локально. Второй случай, "
|
985 |
+
"когда вам могут понадобиться эти настройки — обычное подключение Google "
|
986 |
+
"Analytics к сайту. Вам не нужно делать это с помощью других плагинов или "
|
987 |
+
"просто вставлять код отслеживания в вашу тему."
|
988 |
+
|
989 |
+
#: admin/pages/performance-google.php:155
|
990 |
+
msgid ""
|
991 |
+
"If you enable this option, the plugin will begin to save a local copy of "
|
992 |
+
"Google Analytics to speed up the loading of your website and improve Google "
|
993 |
+
"Page Speed."
|
994 |
+
msgstr ""
|
995 |
+
"Если включить эту опцию, плагин начнет сохранять локальную копию Google "
|
996 |
+
"Analytics, чтобы ускорить загрузку вашего сайта и улучшить показатели Google "
|
997 |
+
"Page speed. ВНИМАНИЕ! Перед использованием этой опции, удалите ранее "
|
998 |
+
"установленный код Google Analytics в вашей теме или плагины, связанные с "
|
999 |
+
"этой функцией!"
|
1000 |
+
|
1001 |
+
#: admin/pages/performance-google.php:155
|
1002 |
+
msgid ""
|
1003 |
+
"ATTENTION! Before using this option, remove the previously installed Google "
|
1004 |
+
"Analytics code inside your theme or plugins associated with this feature!"
|
1005 |
+
msgstr ""
|
1006 |
+
"ВНИМАНИЕ! Перед использованием этой опции, удалите ранее установленный код "
|
1007 |
+
"Google Analytics в вашей теме или плагины, связанные с этой функцией!"
|
1008 |
+
|
1009 |
+
#: admin/pages/performance-google.php:176
|
1010 |
+
msgid "Set the Google Analytics tracking code."
|
1011 |
+
msgstr "Установите код отслеживания Google Analytics."
|
1012 |
+
|
1013 |
+
#: admin/pages/performance-google.php:187
|
1014 |
+
msgid "Save GA in"
|
1015 |
+
msgstr "Использовать код аналитики в"
|
1016 |
+
|
1017 |
+
#: admin/pages/performance-google.php:188
|
1018 |
+
msgid "Select location for the Google Analytics code."
|
1019 |
+
msgstr "Выберите местоположение для кода Google Analytics."
|
1020 |
+
|
1021 |
+
#: admin/pages/performance-google.php:198
|
1022 |
+
msgid ""
|
1023 |
+
"Essentially, you set up an event which is triggered after a user spends a "
|
1024 |
+
"certain amount of time on the landing page, telling Google Analytics not to "
|
1025 |
+
"count these users as bounces. A user may come to your website, find all of "
|
1026 |
+
"the information they need (a phone number, for example) and then leave the "
|
1027 |
+
"site without visiting another page. Without adjusted bounce rate, such a "
|
1028 |
+
"user would be considered a bounce, even though they had a successful "
|
1029 |
+
"experience. By defining a time limit after which you can consider a user to "
|
1030 |
+
"be \"engaged,\" that user would no longer count as a bounce, and you'd get a "
|
1031 |
+
"more accurate idea of whether they found what they were looking for."
|
1032 |
+
msgstr ""
|
1033 |
+
"По сути, вы настраиваете событие, которое запускается после того, как "
|
1034 |
+
"пользователь тратит определенное количество времени на целевую страницу, "
|
1035 |
+
"сообщая Google Analytics не считать этих пользователей как отказы. "
|
1036 |
+
"Пользователь может зайти на ваш сайт, найти всю необходимую информацию "
|
1037 |
+
"(например, номер телефона), а затем покинуть сайт, не посещая другую "
|
1038 |
+
"страницу. Без скорректированного коэффициента отказов такой пользователь "
|
1039 |
+
"будет считаться отказом, хотя у них был успешный опыт. Определив лимит "
|
1040 |
+
"времени, после которого вы можете считать пользователя «включенным», этот "
|
1041 |
+
"пользователь больше не будет считаться отказом, и вы получите более точное "
|
1042 |
+
"представление о том, нашли ли они то, что искали."
|
1043 |
+
|
1044 |
+
#: admin/pages/performance-google.php:207
|
1045 |
+
msgid ""
|
1046 |
+
"By default, Google Analytics code is loaded before other scripts and "
|
1047 |
+
"javasscript code, but if you set the value to 100, the GA code will be "
|
1048 |
+
"loaded after all other scripts. By changing the priority, you can set code "
|
1049 |
+
"position on the page."
|
1050 |
+
msgstr ""
|
1051 |
+
"По умолчанию код Google Analytics загружается раньше остальных скриптов и "
|
1052 |
+
"javasscript кода, но если вы установите к примеру значение 100, то код GA "
|
1053 |
+
"будет загружен после всех остальных скриптов. Изменяя приоритет, вы можете "
|
1054 |
+
"задавать положение кода на странице."
|
1055 |
+
|
1056 |
+
#: admin/pages/performance-google.php:215
|
1057 |
+
#, php-format
|
1058 |
+
msgid "Disable all <a href=\"%s\">display features functionality?</a>"
|
1059 |
+
msgstr "Отключить <a href=\"%s\">все функции для контекстно-медийной сети?</a>"
|
1060 |
+
|
1061 |
+
#: admin/pages/performance-google.php:224
|
1062 |
+
#, php-format
|
1063 |
+
msgid ""
|
1064 |
+
"Use <a href=\"%s\">Anonymize IP?</a> (Required by law for some countries)"
|
1065 |
+
msgstr ""
|
1066 |
+
"Использовать <a href=\"%s\">анонимный IP-адрес?</a> (Требуется по закону для "
|
1067 |
+
"некоторых стран)"
|
1068 |
+
|
1069 |
+
#: admin/pages/performance-google.php:242
|
1070 |
+
msgid ""
|
1071 |
+
"Clearfy creates a cron job to daily update Google Analytics cache scripts. "
|
1072 |
+
"After enabling this option, the plugin will not update Google Analytics "
|
1073 |
+
"cache file. Do not use this option if you do not understand why you need it!"
|
1074 |
+
msgstr ""
|
1075 |
+
"Плагин создает cron задание, чтобы ежедневно обновлять кеш скриптов Google "
|
1076 |
+
"Analytics. После включения этой опции, плагин не будет обновлять кэш файл "
|
1077 |
+
"Google Analytics. Не используйте эту опцию, если вы не понимаете, для чего "
|
1078 |
+
"вам это нужно!"
|
1079 |
+
|
1080 |
+
#: admin/pages/performance-html-minify.php:46
|
1081 |
+
msgid "Html Minify"
|
1082 |
+
msgstr "Html сжатие"
|
1083 |
+
|
1084 |
+
#: admin/pages/performance-html-minify.php:65
|
1085 |
+
msgid ""
|
1086 |
+
"<strong>Make your website’s markup look professional by using Minify HTML "
|
1087 |
+
"options</strong>."
|
1088 |
+
msgstr ""
|
1089 |
+
"<strong>Уменьшите вес ваших страниц, за счет удаления лишнего мусора, "
|
1090 |
+
"пробелов и комментариев.</strong>."
|
1091 |
+
|
1092 |
+
#: admin/pages/performance-html-minify.php:65
|
1093 |
+
msgid ""
|
1094 |
+
"Ever look at the HTML markup of your website and notice how sloppy and "
|
1095 |
+
"amateurish it looks? The Minify HTML options cleans up sloppy looking markup "
|
1096 |
+
"and minifies, which also speeds up download time."
|
1097 |
+
msgstr ""
|
1098 |
+
"Вы когда-нибудь видели HTML разметку на своем веб-сайте, замечали насколько "
|
1099 |
+
"она неаккуратна и раздута? Настройки HTML сжатия позволят грамотно "
|
1100 |
+
"установить правила формирования html разметки, а также регулировать вес "
|
1101 |
+
"ваших страниц."
|
1102 |
+
|
1103 |
+
#: admin/pages/performance-html-minify.php:74
|
1104 |
+
msgid ""
|
1105 |
+
"Reduces the weight of the page by removing line breaks, tabs, spaces, etc."
|
1106 |
+
msgstr ""
|
1107 |
+
"Уменьшает вес страницы путем удаления разрывов строк, вкладок, пробелов и т. "
|
1108 |
+
"Д."
|
1109 |
+
|
1110 |
+
#: admin/pages/performance-html-minify.php:74
|
1111 |
+
msgid "Minify pages."
|
1112 |
+
msgstr "Минимизировать страницы."
|
1113 |
+
|
1114 |
+
#: admin/pages/performance-html-minify.php:92
|
1115 |
+
msgid "Minify inline JavaScript"
|
1116 |
+
msgstr "Сжимать строчный JavaScript"
|
1117 |
+
|
1118 |
+
#: admin/pages/performance-html-minify.php:100
|
1119 |
+
msgid "Remove HTML, JavaScript and CSS comments"
|
1120 |
+
msgstr "Удалять HTML, JavaScript and CSS комментарии"
|
1121 |
+
|
1122 |
+
#: admin/pages/performance-html-minify.php:108
|
1123 |
+
msgid "Remove XHTML closing tags from HTML5 void elements"
|
1124 |
+
msgstr "Удалить XHTML закрывающие теги из HTML5 для пустых элементов"
|
1125 |
+
|
1126 |
+
#: admin/pages/performance-html-minify.php:116
|
1127 |
+
msgid "Remove relative domain from internal URLs"
|
1128 |
+
msgstr "Удалить относительные домены из внутренних Urls"
|
1129 |
+
|
1130 |
+
#: admin/pages/performance-html-minify.php:124
|
1131 |
+
msgid "Remove schemes (HTTP: and HTTPS:) from all URLs"
|
1132 |
+
msgstr "Удалить протоколы (HTTP: и HTTPS:) для всех URLs"
|
1133 |
+
|
1134 |
+
#: admin/pages/performance-html-minify.php:132
|
1135 |
+
msgid "Support multi-byte UTF-8 encoding (if you see odd characters)"
|
1136 |
+
msgstr "Поддержка многобайтовой кодировки UTF-8 (для кириллицы)"
|
1137 |
+
|
1138 |
+
#: admin/pages/performance.php:41
|
1139 |
+
msgid "Performance"
|
1140 |
+
msgstr "Производительность"
|
1141 |
+
|
1142 |
+
#: admin/pages/performance.php:69
|
1143 |
+
msgid "<strong>Clear the unnecessary scripts</strong>"
|
1144 |
+
msgstr "<strong>Очистите неиспользуемые скрипты</strong>"
|
1145 |
+
|
1146 |
+
#: admin/pages/performance.php:69
|
1147 |
+
msgid ""
|
1148 |
+
"This set of settings will help you remove unnecessary links and code from "
|
1149 |
+
"the head section, as well as reduce your website's pages weight."
|
1150 |
+
msgstr ""
|
1151 |
+
"Этот набор настроек поможет вам убрать лишние ссылки и код из секции head, а "
|
1152 |
+
"также уменьшить вес страниц вашего сайта."
|
1153 |
+
|
1154 |
+
#: admin/pages/performance.php:78
|
1155 |
+
msgid ""
|
1156 |
+
"By default, WordPress generates all types of different RSS feeds for your "
|
1157 |
+
"site. While RSS feeds can be useful if you are running a blog, businesses "
|
1158 |
+
"might not always utilize these. Not every site out there has a blog."
|
1159 |
+
msgstr ""
|
1160 |
+
"По умолчанию WordPress генерирует различные виды RSS-каналов для вашего "
|
1161 |
+
"сайта. Иногда RSS-каналы могут быть полезны, если вы используете блог "
|
1162 |
+
"например, но если у вас обычный одностаничник, то RSS для вас будет "
|
1163 |
+
"бесполезен. "
|
1164 |
+
|
1165 |
+
#: admin/pages/performance.php:78
|
1166 |
+
#, php-format
|
1167 |
+
msgid ""
|
1168 |
+
"Removes a link to the RSS-feed from the %s section, closes and puts the "
|
1169 |
+
"redirect from all RSS-feeds."
|
1170 |
+
msgstr ""
|
1171 |
+
"Удаляет ссылку на RSS-канал из раздела %s, закрывает и ставит "
|
1172 |
+
"перенаправления от всех RSS-каналов."
|
1173 |
+
|
1174 |
+
#: admin/pages/performance.php:93
|
1175 |
+
msgid "Redirect 301"
|
1176 |
+
msgstr "301 редирект"
|
1177 |
+
|
1178 |
+
#: admin/pages/performance.php:94
|
1179 |
+
msgid "Page 404"
|
1180 |
+
msgstr "Страница 404"
|
1181 |
+
|
1182 |
+
#: admin/pages/performance.php:96
|
1183 |
+
msgid "Redirect feed requests"
|
1184 |
+
msgstr "Перенаправлять запросы с rss лент"
|
1185 |
+
|
1186 |
+
#: admin/pages/performance.php:97
|
1187 |
+
msgid ""
|
1188 |
+
"Forward all requests to page 404 or to the main page through 301 redirects."
|
1189 |
+
msgstr ""
|
1190 |
+
"Переслать все запросы на страницу 404 или на главную страницу через 301 "
|
1191 |
+
"переадресацию."
|
1192 |
+
|
1193 |
+
#: admin/pages/performance.php:108
|
1194 |
+
msgid ""
|
1195 |
+
"The WordPress REST API provides API endpoints for WordPress data types that "
|
1196 |
+
"allow developers to interact with sites remotely by sending and receiving "
|
1197 |
+
"JSON (JavaScript Object Notation) objects. However, a lot of sites don’t use "
|
1198 |
+
"this, and therefore in most cases, it is just unnecessary code."
|
1199 |
+
msgstr ""
|
1200 |
+
"WordPress REST API предоставляет API для работы с WordPress данными, это "
|
1201 |
+
"позволяет разработчикам взаимодействовать с сайтами удаленно, посредством "
|
1202 |
+
"отправки и получения данных в формате JSON (JavaScript Object Notation). "
|
1203 |
+
"Однако многие сайты не используют это, и поэтому в большинстве случаев, это "
|
1204 |
+
"только ненужный код."
|
1205 |
+
|
1206 |
+
#: admin/pages/performance.php:108
|
1207 |
+
msgid ""
|
1208 |
+
"Removes REST API link tag from the front end and the REST API header link "
|
1209 |
+
"from page requests."
|
1210 |
+
msgstr "Отключает REST API и удаляет все ссылки из исходного кода страницы."
|
1211 |
+
|
1212 |
+
#: admin/pages/performance.php:118
|
1213 |
+
msgid ""
|
1214 |
+
"Emojis are fun and all, but if you are aren’t using them they actually load "
|
1215 |
+
"a JavaScript file (wp-emoji-release.min.js) on every page of your website. "
|
1216 |
+
"For a lot of businesses, this is not needed and simply adds load time to "
|
1217 |
+
"your site. So we recommend disabling this."
|
1218 |
+
msgstr ""
|
1219 |
+
"Emojis это смайлы (эмоции), если вы не используете их на своем сайте, в "
|
1220 |
+
"исходном коде страницы будет загружаться JavaScript файл (wp-emoji-release."
|
1221 |
+
"min.js), на каждой странице вашего веб-сайта. Для многих сайтов это не "
|
1222 |
+
"требуется и просто увеличивает время загрузки страницы. Поэтому мы "
|
1223 |
+
"рекомендуем отключить это."
|
1224 |
+
|
1225 |
+
#: admin/pages/performance.php:118
|
1226 |
+
msgid "Removes WordPress Emojis JavaScript file (wp-emoji-release.min.js)."
|
1227 |
+
msgstr "Удаляет код Emojis из исходного кода страницы"
|
1228 |
+
|
1229 |
+
#: admin/pages/performance.php:128
|
1230 |
+
msgid ""
|
1231 |
+
"They started adding jQuery migrate in WordPress 3.6. Most up-to-date "
|
1232 |
+
"frontend code and plugins don’t require jquery-migrate.min.js. In most "
|
1233 |
+
"cases, this simply adds unnecessary load to your site. You can see this "
|
1234 |
+
"running if you launch Chrome Devtools console."
|
1235 |
+
msgstr ""
|
1236 |
+
"jQuery миграция появилась в WordPress 3.6. Большинство современных веб-"
|
1237 |
+
"интерфейсов и плагинов не требуют jquery-migrate.min.js. В большинстве "
|
1238 |
+
"случаев это просто ненужная нагрузка на ваш сайт. "
|
1239 |
+
|
1240 |
+
#: admin/pages/performance.php:128
|
1241 |
+
msgid "Removes jQuery Migrate JavaScript file (jquery-migrate.min.js)."
|
1242 |
+
msgstr "Удаляет подключаемый файл (jquery-migrate.min.js)."
|
1243 |
+
|
1244 |
+
#: admin/pages/performance.php:128
|
1245 |
+
msgid "Warning! If there is a broke on your site, disable this option!"
|
1246 |
+
msgstr ""
|
1247 |
+
"Предупреждение! Если у вас появились проблемы в работе сайта или плагинов, "
|
1248 |
+
"отключите эту опцию!"
|
1249 |
+
|
1250 |
+
#: admin/pages/performance.php:138
|
1251 |
+
msgid ""
|
1252 |
+
"Embeds were released with WordPress 4.4. This is basically the magic that "
|
1253 |
+
"auto converts your YouTube videos, Tweets, and URLs into pretty previews "
|
1254 |
+
"while you are editing. However, this actually loads a JavaScript file (wp-"
|
1255 |
+
"embed.min.js) on every page of your website. If you don’t care about the "
|
1256 |
+
"auto converting preview (which we don’t), you can disable this across your "
|
1257 |
+
"site."
|
1258 |
+
msgstr ""
|
1259 |
+
"Встраиваемые объекты были добавлены в WordPress 4.4. Эта функция "
|
1260 |
+
"автоматически преобразуют YouTube, Tweets, и URL-адреса в объекты для "
|
1261 |
+
"удобного просмотра (плеер, картинки и т.д.). Для того, чтобы объекты "
|
1262 |
+
"автоматически преобразовывались на вашем сайте, на каждой странице "
|
1263 |
+
"подключается код JavaScript (wp-embed.min.js). Если вы не используете "
|
1264 |
+
"функции автоматического преобразования встраиваемых объектов, то можете "
|
1265 |
+
"отключить эту функцию."
|
1266 |
+
|
1267 |
+
#: admin/pages/performance.php:138
|
1268 |
+
msgid "Removes WordPress Embed JavaScript file (wp-embed.min.js)"
|
1269 |
+
msgstr ""
|
1270 |
+
"Удаляет JavaScript код отвечающий за встраиваемые объекты (wp-embed.min.js)"
|
1271 |
+
|
1272 |
+
#: admin/pages/performance.php:157
|
1273 |
+
msgid ""
|
1274 |
+
"The above link is used by blog clients. If you edit your site from your "
|
1275 |
+
"browser then you don’t need this. It is also used by some 3rd party "
|
1276 |
+
"applications that utilize XML-RPC requests. In most cases, this is just "
|
1277 |
+
"unnecessary code."
|
1278 |
+
msgstr ""
|
1279 |
+
"Эта ссылка используется клиентами блога. Если вы редактируете сайт из вашего "
|
1280 |
+
"браузера, то вам не нужно это. Она также используется в некоторых "
|
1281 |
+
"приложениях, которые используют XML-RPC-запросы. В большинстве случаев это "
|
1282 |
+
"только ненужный код."
|
1283 |
+
|
1284 |
+
#: admin/pages/performance.php:157
|
1285 |
+
msgid "Remove RSD (Real Simple Discovery) link tag."
|
1286 |
+
msgstr "Удаляет RSD link тег"
|
1287 |
+
|
1288 |
+
#: admin/pages/performance.php:166
|
1289 |
+
msgid ""
|
1290 |
+
"The profile attribute specifies the metadata profile address. Usually, the "
|
1291 |
+
"browser recognizes the value of this attribute and executes some conventions "
|
1292 |
+
"related to the specified profile. Loading the document itself at the "
|
1293 |
+
"specified address does not really happen, moreover, it may not exist at "
|
1294 |
+
"all.\n"
|
1295 |
+
"In particular, the profile is used for the XFN microformat (XHTML Friends "
|
1296 |
+
"Network) - a way of representing relationships between people using links "
|
1297 |
+
"and rel attributes with different values. WordPress also actively uses "
|
1298 |
+
"profile in its templates.\n"
|
1299 |
+
msgstr ""
|
1300 |
+
"Атрибут profile указывает адрес профиля метаданных. Обычно браузер "
|
1301 |
+
"распознаёт значение этого атрибута и выполняет некоторые соглашения, "
|
1302 |
+
"связанные с указанным профилем. Загрузки самого документа по указанному "
|
1303 |
+
"адресу в реальности не происходит, более того, его может вообще не "
|
1304 |
+
"существовать.\n"
|
1305 |
+
"В частности, profile используется для микроформата XFN (XHTML Friends "
|
1306 |
+
"Network) — это способ представления отношений между людьми с помощью ссылок "
|
1307 |
+
"и атрибутов rel с разными значениями. WordPress также активно применяет "
|
1308 |
+
"profile в своих шаблонах.\n"
|
1309 |
+
|
1310 |
+
#: admin/pages/performance.php:168
|
1311 |
+
msgid "Remove link tag"
|
1312 |
+
msgstr "Удалить тег ссылки"
|
1313 |
+
|
1314 |
+
#: admin/pages/performance.php:178
|
1315 |
+
msgid ""
|
1316 |
+
"This link is actually used by Windows Live Writer. If you don’t know use "
|
1317 |
+
"Windows Live Writer, which we are guessing you don’t, this is just "
|
1318 |
+
"unnecessary code."
|
1319 |
+
msgstr ""
|
1320 |
+
"Эта ссылка используется фактически Windows Live Writer. Если вы не знаете, "
|
1321 |
+
"как использовать Windows Live Writer, то это только ненужный код."
|
1322 |
+
|
1323 |
+
#: admin/pages/performance.php:178
|
1324 |
+
msgid "Remove wlwmanifest (Windows Live Writer) link tag."
|
1325 |
+
msgstr "Удаляет тег link wlwmanifest (Windows Live Writer)."
|
1326 |
+
|
1327 |
+
#: admin/pages/performance.php:188
|
1328 |
+
#, php-format
|
1329 |
+
msgid ""
|
1330 |
+
"By default, the following tag shows up in every WordPress install. %s This "
|
1331 |
+
"is used for a shortlink to your pages and posts. However, if you are already "
|
1332 |
+
"using pretty permalinks, such as domain.com/post, then there is no reason to "
|
1333 |
+
"keep this, it is just unnecessary code."
|
1334 |
+
msgstr ""
|
1335 |
+
"По умолчанию следующий тег печатается на каждой странице ваших записей и "
|
1336 |
+
"страниц. %s Это используется, как короткая ссылка на вашу статью. Если вы "
|
1337 |
+
"используете постоянные ссылки, то это не нужный код."
|
1338 |
+
|
1339 |
+
#: admin/pages/performance.php:188
|
1340 |
+
msgid "Remove Shortlink link tag."
|
1341 |
+
msgstr "Удаляет тег link shortlink."
|
1342 |
+
|
1343 |
+
#: admin/pages/performance.php:198
|
1344 |
+
msgid ""
|
1345 |
+
"If you use Wordpress as a CMS, then you can delete these links, they can "
|
1346 |
+
"only come in handy for a blog."
|
1347 |
+
msgstr ""
|
1348 |
+
"Если вы используете Wordpress как CMS (а не блог), то вы можете удалить эти "
|
1349 |
+
"ссылки, но для блога они могут быть полезны."
|
1350 |
+
|
1351 |
+
#: admin/pages/performance.php:198
|
1352 |
+
msgid ""
|
1353 |
+
"Remove the previous and next post links within the wp_head of your wordpress "
|
1354 |
+
"theme."
|
1355 |
+
msgstr ""
|
1356 |
+
"Удаляет ссылки предидущая и следующая запись в head вашей темы wordpress."
|
1357 |
+
|
1358 |
+
#: admin/pages/performance.php:208
|
1359 |
+
msgid ""
|
1360 |
+
"WP by default for the widget \"recent comments\" prescribes in the code "
|
1361 |
+
"styles that are almost impossible to change, because to them apply! "
|
1362 |
+
"important."
|
1363 |
+
msgstr ""
|
1364 |
+
"Wordpress по умолчанию для виджета \"Последние комментари\" прописывает в "
|
1365 |
+
"стилях код, которые почти невозможно изменить, потому что к ним применяются "
|
1366 |
+
"значение !important."
|
1367 |
+
|
1368 |
+
#: admin/pages/performance.php:208
|
1369 |
+
msgid "Removes .recentcomments styles from head section."
|
1370 |
+
msgstr "Удаляет .recentcomments стили из head секции."
|
1371 |
+
|
1372 |
+
#: admin/pages/performance.php:218
|
1373 |
+
msgid ""
|
1374 |
+
"By default, WordPress loads Font Awesome icons synchronously, that is, your "
|
1375 |
+
"page will not be fully loaded until Font Awesome icons are loaded. This "
|
1376 |
+
"algorithm slows down the loading of your page and leads to errors when "
|
1377 |
+
"checking the site in Google Page Speed. Using this option, your Font Awesome "
|
1378 |
+
"icons will be loaded after your page is fully loaded. This method has a "
|
1379 |
+
"negative — you and visitors of your site will see changes while loading a "
|
1380 |
+
"page, from the placeholders to icons."
|
1381 |
+
msgstr ""
|
1382 |
+
"По умолчанию WordPress загружает иконки Font Awesome синхронно, то есть, "
|
1383 |
+
"ваша страница не будет полностью загружена, пока не будут загружены иконки "
|
1384 |
+
"Font Awesome. Такой алгоритм работы замедляет загрузку вашей страницы и "
|
1385 |
+
"приводит к появлению ошибок при проверке сайта в Google Page Speed. "
|
1386 |
+
"Используя эту опцию, ваши иконки Font Awesome, будут загружаться после "
|
1387 |
+
"полной загрузки вашей страницы. У этого метода есть и минус — вы и "
|
1388 |
+
"посетители сайта будете видеть изменения в процессе загрузки страницы с "
|
1389 |
+
"«кракозябр» вместо иконок на иконки."
|
1390 |
+
|
1391 |
+
#: admin/pages/performance.php:228
|
1392 |
+
msgid ""
|
1393 |
+
"Dashicons is the official icon font of the WordPress admin as of 3.8. Some "
|
1394 |
+
"of you have requested that we add a feature to remove Dashicons. Some themes "
|
1395 |
+
"and developers utilize this (dashicons.min.css) on the front-end of their "
|
1396 |
+
"sites."
|
1397 |
+
msgstr ""
|
1398 |
+
"Dashicons является официальным шрифтом в панели администратора WordPress от "
|
1399 |
+
"3,8. Некоторые пользователи попросили добавить функцию удаления Dashicons, "
|
1400 |
+
"так как некоторые разработчики не используют (dashicons.min.css) на "
|
1401 |
+
"фронтенде своих сайтов. Опция отключает иконки только для фронтенда!"
|
1402 |
+
|
1403 |
+
#: admin/pages/performance.php:238
|
1404 |
+
msgid ""
|
1405 |
+
"This function that prevents the user’s gravatar being automatically obtained "
|
1406 |
+
"from gravatar.com based on their registered email. This would be useful for "
|
1407 |
+
"sites where users require an extra layer of privacy, or if you just want to "
|
1408 |
+
"prevent potentially silly or embarrasing avatar accidents.\n"
|
1409 |
+
"\t\t\tIf you’re using Identicons or any other generated default avatar, the "
|
1410 |
+
"user should keep a consistent avatar unless they change their registered "
|
1411 |
+
"email.\n"
|
1412 |
+
"\t\t\t"
|
1413 |
+
msgstr ""
|
1414 |
+
"Эта функция, которая предотвращает автоматическое получение пользователем "
|
1415 |
+
"граваторов от gravatar.com на основе зарегистрированного email адреса. Это "
|
1416 |
+
"было бы полезно для сайтов, где пользователям нужен дополнительный уровень "
|
1417 |
+
"конфиденциальности, или если вы просто хотите предотвратить потенциально "
|
1418 |
+
"глупые или неловкие аватары."
|
1419 |
+
|
1420 |
+
#: admin/pages/performance.php:250 admin/pages/performance.php:261
|
1421 |
+
msgid ""
|
1422 |
+
"To make it more difficult for others to hack your website you can remove the "
|
1423 |
+
"WordPress version number from your site, your css and js. Without that "
|
1424 |
+
"number it's not possible to see if you run not the current version to "
|
1425 |
+
"exploit bugs from the older versions. <br><br>\n"
|
1426 |
+
"\t\t\t\t\tAdditionally it can improve the loading speed of your site, "
|
1427 |
+
"because without query strings in the URL the css and js files can be cached."
|
1428 |
+
msgstr ""
|
1429 |
+
"Активировав эту функцию вы усложните работу злоумышленника. <br><br>Кроме "
|
1430 |
+
"того, это может улучшить скорость загрузки вашего сайта, потому что без "
|
1431 |
+
"строки запроса в URL-адрес css и js файлов могут быть кэшированы."
|
1432 |
+
|
1433 |
+
#: admin/pages/performance.php:251
|
1434 |
+
msgid ""
|
1435 |
+
"Removes the wordpress version number from stylesheets (not logged in user "
|
1436 |
+
"only)."
|
1437 |
+
msgstr "Удаляет номер версии из файлов стилей стилей (только для фронтенда)."
|
1438 |
+
|
1439 |
+
#: admin/pages/performance.php:262
|
1440 |
+
msgid ""
|
1441 |
+
"Removes wordpress version number from scripts (not logged in user only)."
|
1442 |
+
msgstr "Удаляет номер версии из javascript файлов (только для фронтенда)."
|
1443 |
+
|
1444 |
+
#: admin/pages/performance.php:270
|
1445 |
+
msgid "Exclude stylesheet/script file names"
|
1446 |
+
msgstr "Исключает файлы стилей/сприптов"
|
1447 |
+
|
1448 |
+
#: admin/pages/performance.php:272
|
1449 |
+
msgid ""
|
1450 |
+
"Enter Stylesheet/Script file names to exclude from version removal (each "
|
1451 |
+
"exclude file starts with a new line)"
|
1452 |
+
msgstr ""
|
1453 |
+
"Введите абсолютный путь к файлу, чтобы исключить его из списка файлов у "
|
1454 |
+
"которых, будет удалена версия (каждое исключение, должно быть с новой "
|
1455 |
+
"строки)."
|
1456 |
+
|
1457 |
+
#: admin/pages/performance.php:272
|
1458 |
+
msgid "Example"
|
1459 |
+
msgstr "Например"
|
1460 |
+
|
1461 |
+
#: admin/pages/quick-start.php:62
|
1462 |
+
msgid "Clearfy menu"
|
1463 |
+
msgstr "Clearfy меню"
|
1464 |
+
|
1465 |
+
#: admin/pages/quick-start.php:71
|
1466 |
+
msgid "Quick start"
|
1467 |
+
msgstr "Быстрый старт"
|
1468 |
+
|
1469 |
+
#: admin/pages/quick-start.php:105
|
1470 |
+
msgid ""
|
1471 |
+
"On this page you can quickly configure the plug-in without going into "
|
1472 |
+
"details."
|
1473 |
+
msgstr ""
|
1474 |
+
"На этой странице вы можете быстро настроить плагин, не вдаваясь в "
|
1475 |
+
"подробности."
|
1476 |
+
|
1477 |
+
#: admin/pages/quick-start.php:184
|
1478 |
+
msgid "Set the recommened for me"
|
1479 |
+
msgstr "Установить рекомендуемые для меня"
|
1480 |
+
|
1481 |
+
#: admin/pages/quick-start.php:187
|
1482 |
+
msgid "One click code clearing"
|
1483 |
+
msgstr "Очистка кода в один клик"
|
1484 |
+
|
1485 |
+
#: admin/pages/quick-start.php:188
|
1486 |
+
msgid "One click security"
|
1487 |
+
msgstr "Улучшить безопасность в один клик"
|
1488 |
+
|
1489 |
+
#: admin/pages/quick-start.php:190
|
1490 |
+
msgid "One click seo optimization"
|
1491 |
+
msgstr "Оптимизировать SEO в один клик"
|
1492 |
+
|
1493 |
+
#: admin/pages/quick-start.php:194
|
1494 |
+
msgid "One click remove default Widgets"
|
1495 |
+
msgstr "Удалить виджеты по умолчанию в один клик"
|
1496 |
+
|
1497 |
+
#: admin/pages/quick-start.php:203
|
1498 |
+
msgid "Reset all settings"
|
1499 |
+
msgstr "Сбросить все настройки"
|
1500 |
+
|
1501 |
+
#: admin/pages/quick-start.php:207
|
1502 |
+
msgid "Are you sure you want to enable the this options?"
|
1503 |
+
msgstr "Вы действительно хотите включить эти настройки?"
|
1504 |
+
|
1505 |
+
#: admin/pages/quick-start.php:210 admin/pages/quick-start.php:250
|
1506 |
+
msgid ""
|
1507 |
+
"After confirmation, all the settings of the plug-in will return to the "
|
1508 |
+
"default state. Make backup settings by copying data from the export field."
|
1509 |
+
msgstr ""
|
1510 |
+
"После подтверждения, все настройки плагина вернутся к состоянию по "
|
1511 |
+
"умолчанию. Сделайте резервную копию настроек, скопировав данные из поля "
|
1512 |
+
"экспорта."
|
1513 |
+
|
1514 |
+
#: admin/pages/quick-start.php:214
|
1515 |
+
msgid "Confirm"
|
1516 |
+
msgstr "Подтвердить"
|
1517 |
+
|
1518 |
+
#: admin/pages/quick-start.php:215
|
1519 |
+
msgid "Cancel"
|
1520 |
+
msgstr "Отмена"
|
1521 |
+
|
1522 |
+
#: admin/pages/quick-start.php:221
|
1523 |
+
msgid ""
|
1524 |
+
"These are quick optimization options for your website. You can activate the "
|
1525 |
+
"groups of necessary settings in one click. With the fast optimization mode, "
|
1526 |
+
"we are enable the only safe settings that do not break your website. That is "
|
1527 |
+
"why we recommend you to look at each setting of the plugin individually. The "
|
1528 |
+
"settings with grey and red question mark will not be active, until you do it "
|
1529 |
+
"yourself."
|
1530 |
+
msgstr ""
|
1531 |
+
"Это настройки быстрой оптимизации вашего сайта. Вы можете активировать "
|
1532 |
+
"нужные вам группы настроек в один клик. В быстром режиме оптимизации мы "
|
1533 |
+
"активируем только безопасные настройки, которые не нарушат работу вашего "
|
1534 |
+
"сайта. Поэтому, мы рекомендуем вам ознакомится с каждой опцией плагина "
|
1535 |
+
"индивидуально. Настройки с серым и красным знаком вопроса не будут "
|
1536 |
+
"активированы, пока вы сами не примите решение об их включении."
|
1537 |
+
|
1538 |
+
#: admin/pages/quick-start.php:222
|
1539 |
+
msgid "Select what you need to do"
|
1540 |
+
msgstr "Выберите, что вам нужно сделать"
|
1541 |
+
|
1542 |
+
#: admin/pages/quick-start.php:224
|
1543 |
+
msgid ""
|
1544 |
+
"After selecting any optimization case, the plugin will automatically enable "
|
1545 |
+
"the necessary settings in safe mode and one click."
|
1546 |
+
msgstr ""
|
1547 |
+
"После выбора варианта оптимизации, плагин автоматически включит необходимые "
|
1548 |
+
"и безопасные настройки в один клик."
|
1549 |
+
|
1550 |
+
#: admin/pages/quick-start.php:249
|
1551 |
+
msgid "Reset settings"
|
1552 |
+
msgstr "Сбросить настройки"
|
1553 |
+
|
1554 |
+
#: admin/pages/quick-start.php:262
|
1555 |
+
msgid "Reset"
|
1556 |
+
msgstr "Сбросить"
|
1557 |
+
|
1558 |
+
#: admin/pages/quick-start.php:264
|
1559 |
+
msgid "Do It!"
|
1560 |
+
msgstr "Сделать!"
|
1561 |
+
|
1562 |
+
#: admin/pages/quick-start.php:278
|
1563 |
+
msgid "Settings successfully updated!"
|
1564 |
+
msgstr "Настройки успешно обновлены!"
|
1565 |
+
|
1566 |
+
#: admin/pages/quick-start.php:281
|
1567 |
+
msgid ""
|
1568 |
+
"During the setup, an unknown error occurred, please try again or contact the "
|
1569 |
+
"plug-in support."
|
1570 |
+
msgstr ""
|
1571 |
+
"Во время установки произошла неизвестная ошибка, повторите попытку или "
|
1572 |
+
"обратитесь в службу поддержки плагинов."
|
1573 |
+
|
1574 |
+
#: admin/pages/quick-start.php:288
|
1575 |
+
msgid "Import/Export settings"
|
1576 |
+
msgstr "Импорт/Экспорт настроек"
|
1577 |
+
|
1578 |
+
#: admin/pages/quick-start.php:291
|
1579 |
+
msgid "Import options"
|
1580 |
+
msgstr "Импортировать настройки"
|
1581 |
+
|
1582 |
+
#: admin/pages/quick-start.php:297
|
1583 |
+
msgid "Support"
|
1584 |
+
msgstr "Поддержка"
|
1585 |
+
|
1586 |
+
#: admin/pages/quick-start.php:299
|
1587 |
+
msgid ""
|
1588 |
+
"If you faced with any issues, please follow the steps below to get quickly "
|
1589 |
+
"quality support:"
|
1590 |
+
msgstr ""
|
1591 |
+
"Если вы столкнулись с какими-либо проблемами, выполните следующие действия, "
|
1592 |
+
"чтобы быстро получить качественную поддержку:"
|
1593 |
+
|
1594 |
+
#: admin/pages/quick-start.php:302
|
1595 |
+
msgid ""
|
1596 |
+
"Generate a debug report which will contains inforamtion about your "
|
1597 |
+
"configuratin and installed plugins"
|
1598 |
+
msgstr ""
|
1599 |
+
"Создайте отчет об ошибках, который будет содержать информацию о вашей "
|
1600 |
+
"конфигурации и установленных плагинах."
|
1601 |
+
|
1602 |
+
#: admin/pages/quick-start.php:305
|
1603 |
+
msgid "Generate Debug Report"
|
1604 |
+
msgstr "Сгенерировать отчет об ошибках"
|
1605 |
+
|
1606 |
+
#: admin/pages/quick-start.php:309
|
1607 |
+
msgid ""
|
1608 |
+
"Send a message to <b>wordpress.webraftic@gmail.com</b> include the debug "
|
1609 |
+
"report into the message body."
|
1610 |
+
msgstr ""
|
1611 |
+
"Отправьте ваше сообщение на <b>wordpress.webraftic@gmail.com</b>, к "
|
1612 |
+
"сообщению прикрепите отчет об ошибках"
|
1613 |
+
|
1614 |
+
#: admin/pages/quick-start.php:312
|
1615 |
+
msgid "We guarantee to respond you within 7 business day."
|
1616 |
+
msgstr "Мы гарантируем ответ на ваш вопрос в течении 7 дней."
|
1617 |
+
|
1618 |
+
#: admin/pages/seo-double-pages.php:37
|
1619 |
+
msgid "Duplicate pages"
|
1620 |
+
msgstr "Дубли страниц"
|
1621 |
+
|
1622 |
+
#: admin/pages/seo-double-pages.php:86
|
1623 |
+
msgid "<strong>Delete duplicate pages.</strong>."
|
1624 |
+
msgstr "<strong>Удалите дубли страниц</strong>."
|
1625 |
+
|
1626 |
+
#: admin/pages/seo-double-pages.php:86
|
1627 |
+
msgid ""
|
1628 |
+
"Search engines perceive these pages as website separate pages, therefore "
|
1629 |
+
"their content ceases to be unique because of duplication. In addition, page "
|
1630 |
+
"reference weight is reduced if it has a duplicate. A small number of "
|
1631 |
+
"duplicated pages will not be a serious problem, but if there are more than "
|
1632 |
+
"50 percents of them - you urgently need to correct the situation."
|
1633 |
+
msgstr ""
|
1634 |
+
"Поисковые системы воспринимают эти страницы, как отдельные страницы сайта, "
|
1635 |
+
"поэтому их наполнение из-за дублирования информации перестает быть "
|
1636 |
+
"уникальным. Кроме того, понижается ссылочный вес страницы, если она имеет "
|
1637 |
+
"дубль. Небольшое количество дублированных страниц не станет серьёзной "
|
1638 |
+
"проблемой, однако если их более 50 процентов - вам срочно нужно исправлять "
|
1639 |
+
"ситуацию."
|
1640 |
+
|
1641 |
+
#: admin/pages/seo-double-pages.php:95
|
1642 |
+
#, php-format
|
1643 |
+
msgid ""
|
1644 |
+
"Many duplicates in date archives. Imagine, in addition, that your article "
|
1645 |
+
"will be displayed in the main and in the category, you will still receive at "
|
1646 |
+
"least 3 duplicates: in archives by year, month and date, for example %s."
|
1647 |
+
msgstr ""
|
1648 |
+
"Огромное количество дублей в архивах дат. Представьте, кроме того, что Ваша "
|
1649 |
+
"статья будет выводиться на главной и в категории, Вы еще получите как "
|
1650 |
+
"минимум 3 дубля: в архивах по году, месяцу и дате, например %s."
|
1651 |
+
|
1652 |
+
#: admin/pages/seo-double-pages.php:95
|
1653 |
+
msgid "Removes all pages with the date archives and puts a redirect."
|
1654 |
+
msgstr "Удаляет полностью архивы дат и ставит редирект."
|
1655 |
+
|
1656 |
+
#: admin/pages/seo-double-pages.php:105
|
1657 |
+
#, php-format
|
1658 |
+
msgid ""
|
1659 |
+
"If the site is only filled by you - a mandatory item. Allows you to get rid "
|
1660 |
+
"of duplicates on user archives, for example %s."
|
1661 |
+
msgstr ""
|
1662 |
+
"Если сайт заполняете только вы - это функция обязательна. Позволяет вам "
|
1663 |
+
"избавиться от дубликатов страниц автора, например %s."
|
1664 |
+
|
1665 |
+
#: admin/pages/seo-double-pages.php:105
|
1666 |
+
msgid "Removes all pages with the author archives and puts a redirect."
|
1667 |
+
msgstr "Удаляет все страницы из архивов автора и ставит перенаправление."
|
1668 |
+
|
1669 |
+
#: admin/pages/seo-double-pages.php:115
|
1670 |
+
msgid ""
|
1671 |
+
"If you use tags only for the block Similar records, or do not use them at "
|
1672 |
+
"all - it will be more correct to close them to avoid duplicates."
|
1673 |
+
msgstr ""
|
1674 |
+
"Если вы используете теги только для виджета \"Похожие записи\", либо не "
|
1675 |
+
"используете их совсем - правильнее будет их закрыть, чтобы избежать дублей."
|
1676 |
+
|
1677 |
+
#: admin/pages/seo-double-pages.php:115
|
1678 |
+
msgid "Removes all pages with the tag archives and puts a redirect."
|
1679 |
+
msgstr "Ставит редирект со страниц тегов на главную."
|
1680 |
+
|
1681 |
+
#: admin/pages/seo-double-pages.php:125
|
1682 |
+
msgid ""
|
1683 |
+
"Every of the pictures has its own page on the site. Such pages are "
|
1684 |
+
"successfully indexed and create duplicates. The site can have thousands of "
|
1685 |
+
"same-type attachment pages."
|
1686 |
+
msgstr ""
|
1687 |
+
"Каждая загруженная картинка имеет свою страничку на сайте, состоящую только "
|
1688 |
+
"из одной картинки. Такие страницы успешно индексируются и создают дубли. На "
|
1689 |
+
"сайте могут быть тысячи однотипных страниц вложений."
|
1690 |
+
|
1691 |
+
#: admin/pages/seo-double-pages.php:125
|
1692 |
+
msgid "Removes attachment pages and puts a redirect."
|
1693 |
+
msgstr "Удаляет страницы вложений и ставит редирект на запись."
|
1694 |
+
|
1695 |
+
#: admin/pages/seo-double-pages.php:135
|
1696 |
+
#, php-format
|
1697 |
+
msgid ""
|
1698 |
+
"In WordPress, any post can be divided into parts (pages), each part will "
|
1699 |
+
"have its own address. But this functionality is rarely used, but it can "
|
1700 |
+
"create trouble for you. For example, you can add a number to the address of "
|
1701 |
+
"any entry of your blog, %s - the post itself will open, which will be a "
|
1702 |
+
"duplicate. You can substitute any number."
|
1703 |
+
msgstr ""
|
1704 |
+
"В WordPress любое содержание можно разделить на части (страницы), каждая "
|
1705 |
+
"часть будет иметь свой собственный адрес. Эта функциональность используется "
|
1706 |
+
"редко, но это может создать проблемы для вас. Например вы можете добавить "
|
1707 |
+
"номер в адрес любой записи вашего блога, %s - откроет текущую страницу, "
|
1708 |
+
"которая будет дублироваться."
|
1709 |
+
|
1710 |
+
#: admin/pages/seo-double-pages.php:135
|
1711 |
+
#, php-format
|
1712 |
+
msgid "Removes the pagination from the post and puts a redirect. Example: %s"
|
1713 |
+
msgstr ""
|
1714 |
+
"Удаление постраничную навигацию из записи и устанавливет перенаправление. "
|
1715 |
+
"Пример: %s"
|
1716 |
+
|
1717 |
+
#: admin/pages/seo-double-pages.php:145
|
1718 |
+
#, php-format
|
1719 |
+
msgid ""
|
1720 |
+
"WordPress adds %s to the link \"Reply\" in the comments, if you use "
|
1721 |
+
"hierarchical comments."
|
1722 |
+
msgstr ""
|
1723 |
+
"WordPress добавляет %s к ссылке «Ответ» в комментариях, если вы используете "
|
1724 |
+
"иерархические комментарии."
|
1725 |
+
|
1726 |
+
#: admin/pages/seo-double-pages.php:145
|
1727 |
+
msgid "?relpytocom remove and and puts a redirect."
|
1728 |
+
msgstr "Удаляет ?relpytocom и ставит перенаправление."
|
1729 |
+
|
1730 |
+
#: admin/pages/seo.php:35
|
1731 |
+
msgid "SEO"
|
1732 |
+
msgstr "SEO"
|
1733 |
+
|
1734 |
+
#: admin/pages/seo.php:69
|
1735 |
+
msgid "<strong>Basic SEO optimization settings</strong>."
|
1736 |
+
msgstr "<strong>Базовые настройки SEO оптимизации</strong>."
|
1737 |
+
|
1738 |
+
#: admin/pages/seo.php:69
|
1739 |
+
msgid "Recommended settings that can complement your SEO plugin."
|
1740 |
+
msgstr "Рекомендуемые настройки, которые могут дополнять ваш плагин SEO."
|
1741 |
+
|
1742 |
+
#: admin/pages/seo.php:78
|
1743 |
+
msgid ""
|
1744 |
+
"The alt attribute is mandatory, so most SEO experts say. If you missed or "
|
1745 |
+
"did not fill it at all, it will be automatically assigned and will be equal "
|
1746 |
+
"to the title of the article."
|
1747 |
+
msgstr ""
|
1748 |
+
"Атрибут alt является обязательным, поэтому большинство SEO экспертов "
|
1749 |
+
"говорят. Если вы пропустили, или не заполнили его, он будет автоматически "
|
1750 |
+
"задан из названия статьи."
|
1751 |
+
|
1752 |
+
#: admin/pages/seo.php:78
|
1753 |
+
#, php-format
|
1754 |
+
msgid "Replaces the %s, on attribute with an article name %s"
|
1755 |
+
msgstr "Заменяет %s, на атрибут с названием статьи %s"
|
1756 |
+
|
1757 |
+
#: admin/pages/seo.php:88
|
1758 |
+
msgid ""
|
1759 |
+
"After installation, WP does not contain a robots.txt file and create it "
|
1760 |
+
"manually. We re-read about 30 different articles, instructions from Yandex "
|
1761 |
+
"and Google to create the perfect robots.txt"
|
1762 |
+
msgstr ""
|
1763 |
+
"После установки WP не содержит файл robots.txt и создает его вручную. Мы "
|
1764 |
+
"перечитывали около 30 различных статей, инструкции от Yandex и Google, чтобы "
|
1765 |
+
"создать идеальный файл robots.txt"
|
1766 |
+
|
1767 |
+
#: admin/pages/seo.php:88
|
1768 |
+
msgid "Automatically creates the perfect robots.txt file"
|
1769 |
+
msgstr "Автоматически создает идеальный robots.txt"
|
1770 |
+
|
1771 |
+
#: admin/pages/seo.php:108
|
1772 |
+
msgid "Server headers and response"
|
1773 |
+
msgstr "Заголовки серверов и ответ"
|
1774 |
+
|
1775 |
+
#: admin/pages/seo.php:108
|
1776 |
+
msgid ""
|
1777 |
+
"WordPress does not know how to give the Last Modified header in the server's "
|
1778 |
+
"responses. You can do this using the settings below."
|
1779 |
+
msgstr ""
|
1780 |
+
"WordPress не знает, как отдать заголовок Last Modified. Вы можете сделать "
|
1781 |
+
"это с помощью параметров ниже."
|
1782 |
+
|
1783 |
+
#: admin/pages/seo.php:131
|
1784 |
+
#, php-format
|
1785 |
+
msgid ""
|
1786 |
+
"You can specify a page mask, for example: %s or %s. All pages that contain "
|
1787 |
+
"the string will be excluded. Each exclude must begin with a new line."
|
1788 |
+
msgstr ""
|
1789 |
+
"Можно указать маску страницы, например: %s или %s. Все страницы, которые "
|
1790 |
+
"содержат эти строки, будут исключены. Каждое исключение должно начинаться с "
|
1791 |
+
"новой строки."
|
1792 |
+
|
1793 |
+
#: admin/pages/seo.php:145
|
1794 |
+
msgid "For the Yoast SEO plugin"
|
1795 |
+
msgstr "Для плагина Yoast SEO"
|
1796 |
+
|
1797 |
+
#: admin/pages/seo.php:145
|
1798 |
+
msgid ""
|
1799 |
+
"These settings will help you eliminate some problems associated with the "
|
1800 |
+
"popular Yoast SEO plugin"
|
1801 |
+
msgstr ""
|
1802 |
+
"Эти параметры помогут вам устранить некоторые проблемы, связанные с "
|
1803 |
+
"популярной Yoast SEO plugin"
|
1804 |
+
|
1805 |
+
#: admin/pages/seo.php:154
|
1806 |
+
msgid ""
|
1807 |
+
"The last element in the breadcrumbs in the Yoast SEO plugin duplicates the "
|
1808 |
+
"title of the article. Some SEO-specialists consider this duplication to be "
|
1809 |
+
"superfluous."
|
1810 |
+
msgstr ""
|
1811 |
+
"Последний элемент в хлебных крошках Yoast SEO дублирует название статьи. "
|
1812 |
+
"Некоторые SEO-специалисты считают это дублирование излишним."
|
1813 |
+
|
1814 |
+
#: admin/pages/seo.php:154
|
1815 |
+
msgid ""
|
1816 |
+
"Removes duplication of the name in the breadcrumbs of the WP SEO plugin from "
|
1817 |
+
"Yoast."
|
1818 |
+
msgstr "Удаляет последний элемент в хлебных крошках Yoast SEO."
|
1819 |
+
|
1820 |
+
#: admin/pages/seo.php:164
|
1821 |
+
msgid ""
|
1822 |
+
"Yandex.Webmaster swears on a standard XML card from the plugin Yoast, tk. it "
|
1823 |
+
"has a specific tag"
|
1824 |
+
msgstr ""
|
1825 |
+
"Яндекс вебмастер ругается на стандартной карты XML из плагина Yoast SEO, из-"
|
1826 |
+
"за определенного тега "
|
1827 |
+
|
1828 |
+
#: admin/pages/seo.php:164
|
1829 |
+
#, php-format
|
1830 |
+
msgid "Remove the tag %s from XML site map of the plugin Yoast SEO."
|
1831 |
+
msgstr "Удаляет тег %s из XML карта сайта плагин Yoast SEO."
|
1832 |
+
|
1833 |
+
#: admin/pages/seo.php:164
|
1834 |
+
msgid ""
|
1835 |
+
"Attention! After activation, turn off the site map and enable it back to "
|
1836 |
+
"regenerate it."
|
1837 |
+
msgstr ""
|
1838 |
+
"Внимание! После активации, выключите карту сайта и включите ее обратно, "
|
1839 |
+
"чтобы обновить ее."
|
1840 |
+
|
1841 |
+
#: admin/pages/seo.php:164
|
1842 |
+
msgid "In older versions of Yoast SEO may not work - update the plugin Yoast"
|
1843 |
+
msgstr ""
|
1844 |
+
"В более старых версиях Yoast SEO не может работать - обновите плагин Yoast "
|
1845 |
+
"SEO"
|
1846 |
+
|
1847 |
+
#: admin/pages/seo.php:182
|
1848 |
+
msgid ""
|
1849 |
+
"If you’re not familiar with Search Action it’s the mark-up that helps search "
|
1850 |
+
"engines add a shiny Sitelinks Search Box below your search engine results. "
|
1851 |
+
"For the majority of webmasters the extra search box is an absolutely "
|
1852 |
+
"fantastic feature but for many it’s not required or wanted, especially if a "
|
1853 |
+
"site only has a few pages or if the site uses a customised search platform "
|
1854 |
+
"that only searches blog posts and not pages."
|
1855 |
+
msgstr ""
|
1856 |
+
"Эта функция позволяет поисковым системам добавлять дополнительные ссылки и "
|
1857 |
+
"поле поиска в поисковый блок (сниппет) в поисковой выдаче. Для многих "
|
1858 |
+
"вебмастеров — это просто находка, но в то же время, многим эта функция не "
|
1859 |
+
"нужна. Особенно, если на сайте всего несколько страниц или есть собственный "
|
1860 |
+
"поиск, который ищет только записи блога, но не страницы."
|
1861 |
+
|
1862 |
+
#: admin/pages/seo.php:182
|
1863 |
+
msgid ""
|
1864 |
+
"Disable JSON-LD sitelinks searchbox using WordPress in plugin Yoast SEO."
|
1865 |
+
msgstr "Отключает JSON-LD ссылки используемые Wordpress в плагине Yoast SEO."
|
1866 |
+
|
1867 |
+
#: admin/pages/seo.php:192
|
1868 |
+
msgid ""
|
1869 |
+
"Prevents output of the script tag of type application/ld+json containing\n"
|
1870 |
+
"schema.org data from the popular Yoast SEO and Yoast SEO Premium plugins.\n"
|
1871 |
+
"There is currently no UI to do so."
|
1872 |
+
msgstr ""
|
1873 |
+
"Удаляет ссылку application/ld+json, содержащую структурированные данные "
|
1874 |
+
"schema.org о сайте и его владельце. Эту ссылку создают популярные плагины "
|
1875 |
+
"Yoast SEO и Yoast SEO Premium"
|
1876 |
+
|
1877 |
+
#: admin/pages/seo.php:194
|
1878 |
+
msgid "Disable Structured Data in plugin Yoast SEO."
|
1879 |
+
msgstr "Отключает структурированные данные в плагине Yoast SEO"
|
1880 |
+
|
1881 |
+
#: admin/pages/seo.php:204
|
1882 |
+
#, php-format
|
1883 |
+
msgid "The Yoast SEO plugin displays a comment of the form %s in %s section"
|
1884 |
+
msgstr "Yoast SEO плагин отображает комментарий формы %s в секции %s"
|
1885 |
+
|
1886 |
+
#: admin/pages/seo.php:204
|
1887 |
+
#, php-format
|
1888 |
+
msgid "Removes the Yoast SEO plugin comment of their section %s"
|
1889 |
+
msgstr "Удаляет комментрии Yoast SEO из %s"
|
1890 |
+
|
1891 |
+
#: admin/pages/widgets.php:33
|
1892 |
+
msgid "Widgets"
|
1893 |
+
msgstr "Виджеты"
|
1894 |
+
|
1895 |
+
#: admin/pages/widgets.php:52
|
1896 |
+
msgid "<strong>Disable unused widgets</strong>."
|
1897 |
+
msgstr "<strong>Отключите неиспользуемые виджеты</strong>."
|
1898 |
+
|
1899 |
+
#: admin/pages/widgets.php:52
|
1900 |
+
msgid ""
|
1901 |
+
"Some widgets, such as the Calendar or Tag Cloud, create an extra query to "
|
1902 |
+
"the database, even if they are not displayed on the website. Of course, a "
|
1903 |
+
"couple of hits to the database will not do much harm to the whole site. "
|
1904 |
+
"However, if the resource contains a huge amount of content, and the speed of "
|
1905 |
+
"its work above all else, disabling unused functionality is the first step to "
|
1906 |
+
"optimizing and accelerating it."
|
1907 |
+
msgstr ""
|
1908 |
+
"Некоторые виджеты, например, Календарь или Облако меток, создают по лишнему "
|
1909 |
+
"запросу к базе данных, даже если не выводятся на сайте. Конечно, пару "
|
1910 |
+
"обращений к базе данных не принесут особого вреда целому сайту. Однако, если "
|
1911 |
+
"ресурс содержит огромное количество контента, и скорость его работы превыше "
|
1912 |
+
"всего, то отключение неиспользуемого функционала — первый шаг к его "
|
1913 |
+
"оптимизации и ускорению."
|
1914 |
+
|
1915 |
+
#: clearfy.php:63
|
1916 |
+
msgid "Clearfy"
|
1917 |
+
msgstr "Clearfy"
|
1918 |
+
|
1919 |
+
#: includes/classes/class.configurate-advanced.php:212
|
1920 |
+
msgid "Howdy"
|
1921 |
+
msgstr "Привет"
|
1922 |
+
|
1923 |
+
#: includes/classes/class.configurate-advanced.php:212
|
1924 |
+
msgid "Welcome"
|
1925 |
+
msgstr "Добро пожаловать"
|
1926 |
+
|
1927 |
+
#: includes/classes/class.configurate-google-performance.php:398
|
1928 |
+
msgid "Once Weekly"
|
1929 |
+
msgstr "Один раз в неделю"
|
1930 |
+
|
1931 |
+
#: includes/classes/class.configurate-google-performance.php:403
|
1932 |
+
msgid "Twice Monthly"
|
1933 |
+
msgstr "Дважды в месяц"
|
1934 |
+
|
1935 |
+
#: includes/classes/class.configurate-google-performance.php:408
|
1936 |
+
msgid "Once Monthly"
|
1937 |
+
msgstr "Один раз в месяц"
|
1938 |
+
|
1939 |
+
#: includes/classes/class.configurate-security.php:51
|
1940 |
+
msgid "<strong>ERROR</strong>: Wrong login or password"
|
1941 |
+
msgstr "<strong>Ошибка</strong>: Неправильный логин или пароль"
|
1942 |
+
|
1943 |
+
#: includes/classes/class.zip-archive.php:15
|
1944 |
+
msgid "The ZipArchive class does not exist in this version of php."
|
1945 |
+
msgstr "Класса ZipArchive не существует в этой версии php."
|
1946 |
+
|
1947 |
+
#~ msgid "Hide wp-admin"
|
1948 |
+
#~ msgstr "Скрыть wp-admin"
|
1949 |
+
|
1950 |
+
#~ msgid "Hide Login Page"
|
1951 |
+
#~ msgstr "Скрыть страницу логина"
|
1952 |
+
|
1953 |
+
#~ msgid "New login page"
|
1954 |
+
#~ msgstr "Новый адрес страницы логина"
|
1955 |
+
|
1956 |
+
#~ msgid ""
|
1957 |
+
#~ "We found that you are use the (%s) plugin to change wp-login.php page "
|
1958 |
+
#~ "address. Please delete it, because Clearfy already contains these "
|
1959 |
+
#~ "functions and you do not need to use two plugins. If you do not want to "
|
1960 |
+
#~ "remove (%s) plugin for some reason, please do not use wp-login.php page "
|
1961 |
+
#~ "address change feature in the Clearfy plugin, to avoid conflicts."
|
1962 |
+
#~ msgstr ""
|
1963 |
+
#~ "Мы обнаружили, что вы используете плагин (%s) для изменения адреса "
|
1964 |
+
#~ "страницы wp-login.php. Пожалуйста удалите его, так как Clearfy уже "
|
1965 |
+
#~ "содержит эти функции и вам незачем использовать два плагина. Если вы по "
|
1966 |
+
#~ "каким-то причинам не хотите удалять плагин (%s), пожалуйста не "
|
1967 |
+
#~ "используйте функции по изменению адреса страницы wp-login.php в плагине "
|
1968 |
+
#~ "Clearfy, во избежание конфликтов."
|
1969 |
+
|
1970 |
+
#~ msgid ""
|
1971 |
+
#~ "We found that you are use the (%s) plugin. Please do not use its wp-login."
|
1972 |
+
#~ "php page address change and the same feature in the Clearfy plugin, to "
|
1973 |
+
#~ "avoid conflicts."
|
1974 |
+
#~ msgstr ""
|
1975 |
+
#~ "Мы обнаружили, что вы используете плагин (%s). Пожалуйста не используйте "
|
1976 |
+
#~ "его функции по изменению адреса страницы wp-login.php и схожие функции в "
|
1977 |
+
#~ "плагине Clearfy, во избежание конфликтов."
|
1978 |
+
|
1979 |
+
#~ msgid ""
|
1980 |
+
#~ "Hi,\n"
|
1981 |
+
#~ "This is %s plugin. Here is your new WordPress login address:\n"
|
1982 |
+
#~ "URL: %s"
|
1983 |
+
#~ msgstr ""
|
1984 |
+
#~ "Здравствуйте!\n"
|
1985 |
+
#~ "Это плагин %s. Вы изменили адрес страницы логина на:\n"
|
1986 |
+
#~ "URL: %s"
|
1987 |
+
|
1988 |
+
#~ msgid "IMPORTANT! Be sure that you wrote down the new login page address"
|
1989 |
+
#~ msgstr "ВАЖНО! Обязательно запишите новый адрес страницы логина"
|
1990 |
+
|
1991 |
+
#~ msgid ""
|
1992 |
+
#~ "If unable to access the login/admin section anymore, use the Recovery "
|
1993 |
+
#~ "Link which reset links to default: \n"
|
1994 |
+
#~ "%s"
|
1995 |
+
#~ msgstr ""
|
1996 |
+
#~ "Если вы больше не можете получить доступ к разделу login/admin, "
|
1997 |
+
#~ "используйте ссылку восстановления, которая восстанавливает ссылки по "
|
1998 |
+
#~ "умолчанию: \n"
|
1999 |
+
#~ "%s"
|
2000 |
+
|
2001 |
+
#~ msgid ""
|
2002 |
+
#~ "Best Regards,\n"
|
2003 |
+
#~ "%s"
|
2004 |
+
#~ msgstr ""
|
2005 |
+
#~ "С уважением,\n"
|
2006 |
+
#~ "%s"
|
2007 |
+
|
2008 |
+
#~ msgid "[%s] Your New WP Login!"
|
2009 |
+
#~ msgstr "[%s] Измен адрес страницы логина!"
|
2010 |
+
|
2011 |
+
#~ msgid ""
|
2012 |
+
#~ "You entered an incorrect part of the path to your login page. The path to "
|
2013 |
+
#~ "the login page can not consist only of digits, at least 3 characters, you "
|
2014 |
+
#~ "must use only the characters [0-9A-z_-]!"
|
2015 |
+
#~ msgstr ""
|
2016 |
+
#~ "Вы ввели неправильную часть пути к своей странице входа. Путь к странице "
|
2017 |
+
#~ "входа не может состоять только из цифр, не менее 3 символов, вы должны "
|
2018 |
+
#~ "использовать только символы [0-9A-z_-]!"
|
2019 |
+
|
2020 |
+
#~ msgid ""
|
2021 |
+
#~ "The entered login page name is already used for one of your pages. Try to "
|
2022 |
+
#~ "choose a different login page name!"
|
2023 |
+
#~ msgstr ""
|
2024 |
+
#~ "Введенное имя учетной записи уже используется для одной из ваших страниц. "
|
2025 |
+
#~ "Попробуйте выбрать другое имя учетной записи!"
|
2026 |
+
|
2027 |
+
#~ msgid "<strong>Protect your admin login</strong>."
|
2028 |
+
#~ msgstr "<strong>Защитите вашу страницу логина</strong>."
|
2029 |
+
|
2030 |
+
#~ msgid ""
|
2031 |
+
#~ "Dozens of bots attack your login page at /wp-login.php and /wp-admin/"
|
2032 |
+
#~ "daily. Bruteforce and want to access your admin panel. Even if you're "
|
2033 |
+
#~ "sure that you have created a complex and reliable password, this does not "
|
2034 |
+
#~ "guarantee security and does not relieve your login page load. The easiest "
|
2035 |
+
#~ "way is to protect the login page by simply changing its address to your "
|
2036 |
+
#~ "own and unique."
|
2037 |
+
#~ msgstr ""
|
2038 |
+
#~ "Десятки ботов ежедневно атакуют вашу страницу логина по адресам /wp-login."
|
2039 |
+
#~ "php и /wp-admin/, перебирая пароли, желая получить доступ в вашу админ "
|
2040 |
+
#~ "панель. Даже если вы уверены, что создали сложный и надежный пароль, это "
|
2041 |
+
#~ "не гарантирует безопасность и не избавляет от нагрузки вашу страницу "
|
2042 |
+
#~ "логина. Проще всего защитить страницу логина, просто изменив её адрес на "
|
2043 |
+
#~ "собственный и уникальный."
|
2044 |
+
|
2045 |
+
#~ msgid ""
|
2046 |
+
#~ "Hides the /wp-admin directory for unauthorized users. If the option is "
|
2047 |
+
#~ "disabled, when you request the page /wp-admin you will be redirected to "
|
2048 |
+
#~ "the login page, even if you changed its address. Therefore, for "
|
2049 |
+
#~ "protection purposes enable this option."
|
2050 |
+
#~ msgstr ""
|
2051 |
+
#~ "Скрывает каталог /wp-admin для неавторизованных пользователей. Если опция "
|
2052 |
+
#~ "отключена, при запросе страницы /wp-admin вы будете перенаправлены на "
|
2053 |
+
#~ "страницу логина, даже если вы изменили ее адрес. Поэтому в целях защиты, "
|
2054 |
+
#~ "включите эту опцию."
|
2055 |
+
|
2056 |
+
#~ msgid "Hides the wp-login.php and wp-signup.php pages."
|
2057 |
+
#~ msgstr "Скрывает страницу wp-login.php, wp-signup.php."
|
2058 |
+
|
2059 |
+
#~ msgid ""
|
2060 |
+
#~ "Use this option carefully! If you forget the new login page address, you "
|
2061 |
+
#~ "can not get into the admin panel."
|
2062 |
+
#~ msgstr ""
|
2063 |
+
#~ "Используйте эту опцию осторожно, если вы забудете новый адрес страницы "
|
2064 |
+
#~ "логина, вы не сможете попасть в админ панель."
|
2065 |
+
|
2066 |
+
#~ msgid "Set a new login page name without slash. Example: mysecretlogin"
|
2067 |
+
#~ msgstr "Задайте новое имя страницы логина без слешей. Пример: mysecretlogin"
|
2068 |
+
|
2069 |
+
#~ msgid ""
|
2070 |
+
#~ "Search engines perceive these pages as website separate pages, therefore "
|
2071 |
+
#~ "their content ceases to be unique because of duplication. In addition, "
|
2072 |
+
#~ "page reference weight is reduced if it has a duplicate. A small number of "
|
2073 |
+
#~ "duplicated pages will not be a serious problem, but if there are more "
|
2074 |
+
#~ "than 50% of them - you urgently need to correct the situation."
|
2075 |
+
#~ msgstr ""
|
2076 |
+
#~ "Поисковые системы воспринимают эти страницы, как отдельные страницы "
|
2077 |
+
#~ "сайта, поэтому их наполнение из-за дублирования информации перестает быть "
|
2078 |
+
#~ "уникальным. Кроме того, понижается ссылочный вес страницы, если она имеет "
|
2079 |
+
#~ "дубль. Небольшое количество дублированных страниц не станет серьёзной "
|
2080 |
+
#~ "проблемой, однако если их более 50 процентов - вам срочно нужно "
|
2081 |
+
#~ "исправлять ситуацию."
|
2082 |
+
|
2083 |
+
#~ msgid "Welcome to Clearfy (1.1.9)"
|
2084 |
+
#~ msgstr "Вас приветствует Clearfy (1.1.9)"
|
2085 |
+
|
2086 |
+
#~ msgid ""
|
2087 |
+
#~ "We have moved the plugins menu to the general settings for your comfort. "
|
2088 |
+
#~ "There are new plugin features. Please go to the plugin page to learn more!"
|
2089 |
+
#~ msgstr ""
|
2090 |
+
#~ "Для вашего комфорта мы убрали меню плагина в общие настройки. У плагина "
|
2091 |
+
#~ "появились новые функции, пожалуйста, ознакомьтесь с ними на странице "
|
2092 |
+
#~ "плагина!"
|
2093 |
+
|
2094 |
+
#~ msgid "Remove the excess from Clearfy (1.1.9)"
|
2095 |
+
#~ msgstr "Удалите лишнее из Clearfy (1.1.9)"
|
2096 |
+
|
2097 |
+
#~ msgid ""
|
2098 |
+
#~ "We have divided plugin features into components. You can turn off unused "
|
2099 |
+
#~ "plugin functions."
|
2100 |
+
#~ msgstr ""
|
2101 |
+
#~ "Мы разделили функции плагина на компоненты, чтобы вы могли отключить не "
|
2102 |
+
#~ "нужные для вас функции."
|
2103 |
+
|
2104 |
+
#~ msgid "Remove dns-prefetch"
|
2105 |
+
#~ msgstr "Удалить dns-prefetch"
|
2106 |
+
|
2107 |
+
#~ msgid "Others"
|
2108 |
+
#~ msgstr "Другие"
|
2109 |
+
|
2110 |
+
#~ msgid "Other useful features."
|
2111 |
+
#~ msgstr "Другие полезные функции."
|
2112 |
+
|
2113 |
+
#~ msgid ""
|
2114 |
+
#~ "File names and some titles can have special characters, which can cause "
|
2115 |
+
#~ "problems when creating permalinks."
|
2116 |
+
#~ msgstr ""
|
2117 |
+
#~ "Имена файлов и некоторые заголовки могут иметь специальные символы, что "
|
2118 |
+
#~ "может вызвать проблемы при создании постоянных ссылок."
|
2119 |
+
|
2120 |
+
#~ msgid ""
|
2121 |
+
#~ "Removes symbols, spaces, latin and other languages characters from "
|
2122 |
+
#~ "uploaded files and gives them \"permalink\" structure (clean characters, "
|
2123 |
+
#~ "only lowercase and dahes)."
|
2124 |
+
#~ msgstr ""
|
2125 |
+
#~ "Удаляет символы, пробелы, латинские и другие языки из имен загружаемых "
|
2126 |
+
#~ "файлов и дает им структуру «permalink» (чистые символы, только строчные "
|
2127 |
+
#~ "буквы и тире)."
|
2128 |
+
|
2129 |
+
#~ msgid "Code cleaning"
|
2130 |
+
#~ msgstr "Очистка кода"
|
2131 |
+
|
2132 |
+
#~ msgid ""
|
2133 |
+
#~ "Since version 4.6.1 in WordPress there are new links in the section %s "
|
2134 |
+
#~ "this type of: "
|
2135 |
+
#~ msgstr ""
|
2136 |
+
#~ "Начиная с версии 4.6.1 в WordPress появляются новые ссылки в секции %s "
|
2137 |
+
#~ "пример:"
|
2138 |
+
|
2139 |
+
#~ msgid "Removes dns-prefetch links from the %s section"
|
2140 |
+
#~ msgstr "Удаляет тег link dns-prefetch из секции %s"
|
2141 |
+
|
2142 |
+
#~ msgid "Privacy Settings"
|
2143 |
+
#~ msgstr "Настройки приватности"
|
2144 |
+
|
2145 |
+
#~ msgid ""
|
2146 |
+
#~ "We have moved the plugin's menu to the general settings for your comfort. "
|
2147 |
+
#~ "There are new plugin features. Please go to the plugin page to learn more!"
|
2148 |
+
#~ msgstr ""
|
2149 |
+
#~ "Для вашего комфорта мы убрали меню плагина в общие настройки. У плагина "
|
2150 |
+
#~ "появились новые функции, пожалуйста, ознакомьтесь с ними на странице "
|
2151 |
+
#~ "плагина!"
|
2152 |
+
|
2153 |
+
#~ msgid ""
|
2154 |
+
#~ "This is the “One click optimization” solution. Use it if you do not want "
|
2155 |
+
#~ "to understand the settings or do not understand what settings you need to "
|
2156 |
+
#~ "use. Use our automatic presets to activate safe plugin settings."
|
2157 |
+
#~ msgstr ""
|
2158 |
+
#~ "Это страница быстрой настройки в \"один клик\". Если вы не хотите "
|
2159 |
+
#~ "разбираться в настройках плагина или вам сложно понять их, то это "
|
2160 |
+
#~ "отличный способ для вас быстро настроить плагин. Используйте наши шаблоны "
|
2161 |
+
#~ "ниже, чтобы активировать рекомендованные нами настройки оптимизации."
|
2162 |
+
|
2163 |
+
#~ msgid ""
|
2164 |
+
#~ "This is the quick plug-in setup mode. Use it if you do not want to "
|
2165 |
+
#~ "understand the settings or do not understand what settings you need to "
|
2166 |
+
#~ "use."
|
2167 |
+
#~ msgstr ""
|
2168 |
+
#~ "Это режим быстрой настройки плагина. Используйте его, если вы не хотите "
|
2169 |
+
#~ "разбираться в настройках или не понимаете, какие настройки вам нужны."
|
2170 |
+
|
2171 |
+
#~ msgid "Select mode"
|
2172 |
+
#~ msgstr "Выберите режим"
|
2173 |
+
|
2174 |
+
#~ msgid ""
|
2175 |
+
#~ "After selecting the mode, the plug-in automatically activates the "
|
2176 |
+
#~ "necessary settings for the mode."
|
2177 |
+
#~ msgstr ""
|
2178 |
+
#~ "Выбрав режим, плагин автоматически активирует необходимые настройки, для "
|
2179 |
+
#~ "выполнения этого режима."
|
2180 |
+
|
2181 |
+
#~ msgid "Disable admin notice"
|
2182 |
+
#~ msgstr "Скрыть уведомления в админ панели"
|
2183 |
+
|
2184 |
+
#~ msgid ""
|
2185 |
+
#~ "Whenever there’s a major release available, a notification will display "
|
2186 |
+
#~ "at the top of your admin area, letting you know your version is out-of-"
|
2187 |
+
#~ "date and you need to update the core code.<br>\n"
|
2188 |
+
#~ "For many people, this nag can be annoying. And if you developer websites "
|
2189 |
+
#~ "for clients, you may want to hide it. After all, who wants to let their "
|
2190 |
+
#~ "clients know their software is old?"
|
2191 |
+
#~ msgstr ""
|
2192 |
+
#~ "Всякий раз, когда доступна основная версия плагинов, тем, вы будете "
|
2193 |
+
#~ "видеть уведомление, что вам необходимо обновить базовый код. Также "
|
2194 |
+
#~ "некоторые плагины могут выводить уведомления о переходе на премиум версию "
|
2195 |
+
#~ "или активацию темы.<br>\n"
|
2196 |
+
#~ "Для многих людей это может быть раздражающим. И если вы создаете веб-"
|
2197 |
+
#~ "сайты для клиентов, вы можете скрыть их. В конце концов, кто хочет, чтобы "
|
2198 |
+
#~ "их клиенты знали, что их программное обеспечение устарело?"
|
2199 |
+
|
2200 |
+
#~ msgid "Disable admin notices."
|
2201 |
+
#~ msgstr "Отключить уведомления администратора"
|
2202 |
+
|
2203 |
+
#~ msgid ""
|
2204 |
+
#~ "You can disable all plugin updates or choose manual or automatic update "
|
2205 |
+
#~ "mode."
|
2206 |
+
#~ msgstr ""
|
2207 |
+
#~ "Вы можете отключить все обновления плагинов или выбрать режим ручного или "
|
2208 |
+
#~ "автоматического обновления."
|
2209 |
+
|
2210 |
+
#~ msgid "Recommended Mode"
|
2211 |
+
#~ msgstr "Рекомендуемый режим"
|
2212 |
+
|
2213 |
+
#~ msgid "Code Clearing"
|
2214 |
+
#~ msgstr "Очистка кода"
|
2215 |
+
|
2216 |
+
#~ msgid "Security"
|
2217 |
+
#~ msgstr "Безопасность"
|
2218 |
+
|
2219 |
+
#~ msgid "Seo optimization"
|
2220 |
+
#~ msgstr "Оптимизация SEO"
|
2221 |
+
|
2222 |
+
#~ msgid "Remove default Widgets"
|
2223 |
+
#~ msgstr "Удалить виджеты по умолчанию"
|
2224 |
+
|
2225 |
+
#~ msgid ""
|
2226 |
+
#~ "If your site uses an SSL certificate, check this box to enable "
|
2227 |
+
#~ "redirection from http to https."
|
2228 |
+
#~ msgstr ""
|
2229 |
+
#~ "Если ваш сайт использует сертификат SSL, установите этот флажок, чтобы "
|
2230 |
+
#~ "включить перенаправление с http на https."
|
2231 |
+
|
2232 |
+
#~ msgid "Puts the redirect from http to https."
|
2233 |
+
#~ msgstr "Передает перенаправление с http на https."
|
2234 |
+
|
2235 |
+
#~ msgid "Warning! Before activation, make sure your site is open https."
|
2236 |
+
#~ msgstr ""
|
2237 |
+
#~ "Внимание! Перед активацией убедитесь, что ваш сайт открывается по https."
|
2238 |
+
|
2239 |
+
#~ msgid "Replace external links in comments on the JavaScript code"
|
2240 |
+
#~ msgstr "Заменить внешние ссылки в комментариях на JavaScript код"
|
2241 |
+
|
2242 |
+
#~ msgid "Replace external links from comment authors on the JavaScript code"
|
2243 |
+
#~ msgstr "Заменить внешние ссылки от авторов комментариев на код JavaScript"
|
2244 |
+
|
2245 |
+
#~ msgid "Disable X-Pingback"
|
2246 |
+
#~ msgstr "Убрать ссылку на X-Pingback и возможность спамить pingback-ами"
|
2247 |
+
|
2248 |
+
#~ msgid "Remove field \"site\" in comment form"
|
2249 |
+
#~ msgstr "Удаляет поле \"Сайт\" в форме комментариев"
|
2250 |
+
|
2251 |
+
#~ msgid "General"
|
2252 |
+
#~ msgstr "Основные"
|
2253 |
+
|
2254 |
+
#~ msgid ""
|
2255 |
+
#~ "Tired of spam in the comments? Do visitors leave \"blank\" comments for "
|
2256 |
+
#~ "the sake of a link to their site?"
|
2257 |
+
#~ msgstr ""
|
2258 |
+
#~ "Надоел спам в комментариях? Посетители оставляют «пустые» комментарии "
|
2259 |
+
#~ "ради ссылки на свой сайт?"
|
2260 |
+
|
2261 |
+
#~ msgid "Removes the \"Site\" field from the comment form."
|
2262 |
+
#~ msgstr "Убирает поле «Сайт» из формы комментирования."
|
2263 |
+
|
2264 |
+
#~ msgid ""
|
2265 |
+
#~ "Works with the standard comment form, if the form is manually written in "
|
2266 |
+
#~ "your theme-it probably will not work!"
|
2267 |
+
#~ msgstr ""
|
2268 |
+
#~ "Работает со стандартной формой комментирования, если в Вашей теме форма "
|
2269 |
+
#~ "прописана вручную - скорей всего не сработает!"
|
2270 |
+
|
2271 |
+
#~ msgid ""
|
2272 |
+
#~ "Superfluous external links from comments, which can be typed from a dozen "
|
2273 |
+
#~ "and more for one article, do not bring anything good for promotion."
|
2274 |
+
#~ msgstr ""
|
2275 |
+
#~ "Внешние ссылки в комментариях, которых может быть десятки или больше на "
|
2276 |
+
#~ "одной странице, могут ухудшить продвижение вашего сайта."
|
2277 |
+
|
2278 |
+
#~ msgid "Replaces the links of this kind of %s, on links of this kind %s"
|
2279 |
+
#~ msgstr ""
|
2280 |
+
#~ "Заменяет ссылки %s, на span тег и устанавливает переход с помощью "
|
2281 |
+
#~ "JavaScript %s"
|
2282 |
+
|
2283 |
+
#~ msgid ""
|
2284 |
+
#~ "Up to 90 percent of comments in the blog can be left for the sake of an "
|
2285 |
+
#~ "external link. Even nofollow from page weight loss here does not help."
|
2286 |
+
#~ msgstr ""
|
2287 |
+
#~ "До 90 процентов комментариев в блоге оставляют ради внешней ссылки. Не "
|
2288 |
+
#~ "поможет даже nofollow от потери веса страницы."
|
2289 |
+
|
2290 |
+
#~ msgid ""
|
2291 |
+
#~ "Replaces the links of the authors of comments on the JavaScript code, it "
|
2292 |
+
#~ "is impossible to distinguish it from usual links."
|
2293 |
+
#~ msgstr ""
|
2294 |
+
#~ "Заменяет ссылки авторов комментариев на JavaScript код, его невозможно "
|
2295 |
+
#~ "отличить от обычной ссылки."
|
2296 |
+
|
2297 |
+
#~ msgid "In some Wordpress topics this may not work."
|
2298 |
+
#~ msgstr "В некоторых темах Wordpress это может не сработать."
|
2299 |
+
|
2300 |
+
#~ msgid "Disable plugin updates"
|
2301 |
+
#~ msgstr "Отключить обновления плагинов"
|
2302 |
+
|
2303 |
+
#~ msgid "Disable theme updates"
|
2304 |
+
#~ msgstr "Отключить обновления тем"
|
2305 |
+
|
2306 |
+
#~ msgid "Disable Automatic Translation Updates"
|
2307 |
+
#~ msgstr "Отключить автоматические обновления переводов"
|
2308 |
+
|
2309 |
+
#~ msgid "Disable wordPress core updates"
|
2310 |
+
#~ msgstr "Отключить обновления ядра Wordpress"
|
2311 |
+
|
2312 |
+
#~ msgid "Enable updates for VCS Installations"
|
2313 |
+
#~ msgstr "Включить обновления для установок VCS"
|
2314 |
+
|
2315 |
+
#~ msgid "Disable all updates"
|
2316 |
+
#~ msgstr "Отключить обновления"
|
2317 |
+
|
2318 |
+
#~ msgid "Plugin Updates"
|
2319 |
+
#~ msgstr "Обновления плагина"
|
2320 |
+
|
2321 |
+
#~ msgid "Monual updates"
|
2322 |
+
#~ msgstr "Ручные"
|
2323 |
+
|
2324 |
+
#~ msgid "Enable auto updates"
|
2325 |
+
#~ msgstr "Автоматические"
|
2326 |
+
|
2327 |
+
#~ msgid "Disable updates"
|
2328 |
+
#~ msgstr "Отключить все"
|
2329 |
+
|
2330 |
+
#~ msgid "Theme Updates"
|
2331 |
+
#~ msgstr "Обновления тем"
|
2332 |
+
|
2333 |
+
#~ msgid ""
|
2334 |
+
#~ "You can disable all themes updates or choose manual or automatic update "
|
2335 |
+
#~ "mode."
|
2336 |
+
#~ msgstr ""
|
2337 |
+
#~ "Вы можете отключить все обновления тем или выбрать режим ручного или "
|
2338 |
+
#~ "автоматического обновления."
|
2339 |
+
|
2340 |
+
#~ msgid "WordPress Core Updates"
|
2341 |
+
#~ msgstr "Базовые обновления Wordpress"
|
2342 |
+
|
2343 |
+
#~ msgid "Disable auto updates"
|
2344 |
+
#~ msgstr "Отключить автоматические обновления"
|
2345 |
+
|
2346 |
+
#~ msgid "Allow minor auto updates"
|
2347 |
+
#~ msgstr "Разрешить незначительные автоматические обновления"
|
2348 |
+
|
2349 |
+
#~ msgid "Allow major auto updates"
|
2350 |
+
#~ msgstr "Разрешить основные автоматические обновления"
|
2351 |
+
|
2352 |
+
#~ msgid "Allow development auto updates"
|
2353 |
+
#~ msgstr "Разрешить разрабатываемые автоматические обновления"
|
2354 |
+
|
2355 |
+
#~ msgid ""
|
2356 |
+
#~ "You can disable all core WordPress updates, or disable only automatic "
|
2357 |
+
#~ "updates. Also you can select the update mode. By default (minor)"
|
2358 |
+
#~ msgstr ""
|
2359 |
+
#~ "Вы можете отключить все основные обновления WordPress или отключить "
|
2360 |
+
#~ "только автоматические обновления. Также вы можете выбрать режим "
|
2361 |
+
#~ "обновления. По умолчанию (младший)"
|
2362 |
+
|
2363 |
+
#~ msgid ""
|
2364 |
+
#~ "Major - automatically update to major releases (e.g., 4.1, 4.2, 4.3)."
|
2365 |
+
#~ msgstr ""
|
2366 |
+
#~ "Основные - автоматически обновления основных версий (4.1, 4.2, 4.3 и т.д)."
|
2367 |
+
|
2368 |
+
#~ msgid ""
|
2369 |
+
#~ "Minor - automatically update to minor releases (e.g., 4.1.1, 4.1.2, "
|
2370 |
+
#~ "4.1.3).."
|
2371 |
+
#~ msgstr ""
|
2372 |
+
#~ "Незначительные - автоматически обновления промежуточных версий (4.1.1, "
|
2373 |
+
#~ "4.1.2, 4.1.3 и т.д)."
|
2374 |
+
|
2375 |
+
#~ msgid "Development - update automatically to Bleeding Edge releases."
|
2376 |
+
#~ msgstr "Разрабатываемые - автоматические обновления до финальных выпусков."
|
2377 |
+
|
2378 |
+
#~ msgid ""
|
2379 |
+
#~ "Enable Automatic Updates even if a VCS folder (.git, .hg, .svn) was found "
|
2380 |
+
#~ "in the WordPress directory"
|
2381 |
+
#~ msgstr ""
|
2382 |
+
#~ "Включить автоматическое обновление, даже если папка VCS (.git, .hg, .svn) "
|
2383 |
+
#~ "была найдена в каталоге WordPress"
|
2384 |
+
|
2385 |
+
#~ msgid "Settings"
|
2386 |
+
#~ msgstr "Настройки"
|
2387 |
+
|
2388 |
+
#~ msgid "All site Updates"
|
2389 |
+
#~ msgstr "Все обновления сайта"
|
2390 |
+
|
2391 |
+
#~ msgid "Save settings"
|
2392 |
+
#~ msgstr "Сохранить настройки"
|
2393 |
+
|
2394 |
+
#~ msgid ""
|
2395 |
+
#~ "A neutral setting that can not harm your site, but you must be sure that "
|
2396 |
+
#~ "you need to use it."
|
2397 |
+
#~ msgstr ""
|
2398 |
+
#~ "Нейтральная настройка, которая не может нанести вред вашему сайту, но вы "
|
2399 |
+
#~ "должны быть уверены, что вам нужно ее использовать."
|
2400 |
+
|
2401 |
+
#~ msgid ""
|
2402 |
+
#~ "When set this option, you must be careful. Plugins and themes may depend "
|
2403 |
+
#~ "on this function. You must be sure that you can disable this feature for "
|
2404 |
+
#~ "the site."
|
2405 |
+
#~ msgstr ""
|
2406 |
+
#~ "При включении этой настройки, вы должны быть осторожны. Некоторые плагины "
|
2407 |
+
#~ "и темы могут зависеть от этой функции. Вы должны быть уверены, что эту "
|
2408 |
+
#~ "функцию можно отключить для сайта."
|
2409 |
+
|
2410 |
+
#~ msgid "Absolutely safe setting, We recommend to use."
|
2411 |
+
#~ msgstr "Абсолютно безопасная настройка, рекомендуем использовать."
|
2412 |
+
|
2413 |
+
#~ msgid "Hover to the icon to get help for the feature you selected."
|
2414 |
+
#~ msgstr ""
|
2415 |
+
#~ "Наведите указатель мыши на значок, чтобы получить справку по выбранной "
|
2416 |
+
#~ "функции."
|
2417 |
+
|
2418 |
+
#~ msgid "Do you want the plugin to improved and update?"
|
2419 |
+
#~ msgstr "Вы хотите, чтобы плагин улучшался и обновлялся?"
|
2420 |
+
|
2421 |
+
#~ msgid ""
|
2422 |
+
#~ "Help the author, leave a review on wordpress.org. Thanks to feedback, I "
|
2423 |
+
#~ "will know that the plugin is really useful to you and is needed."
|
2424 |
+
#~ msgstr ""
|
2425 |
+
#~ "Помогите автору, оставьте отзыв на wordpress.org. Благодаря отзывам, я "
|
2426 |
+
#~ "буду знать, что плагин действительно полезен для вас и необходим."
|
2427 |
+
|
2428 |
+
#~ msgid "And also write your ideas on how to extend or improve the plugin."
|
2429 |
+
#~ msgstr ""
|
2430 |
+
#~ "А также напишите свои идеи о том, как расширить или улучшить плагин."
|
2431 |
+
|
2432 |
+
#~ msgid "Go rate us and push ideas"
|
2433 |
+
#~ msgstr "Оставить отзыв или поделиться идеей"
|
2434 |
+
|
2435 |
+
#~ msgid "Donation for plug-in development"
|
2436 |
+
#~ msgstr "Пожертвования на развитие плагина"
|
2437 |
+
|
2438 |
+
#~ msgid "You do not have permission to edit page."
|
2439 |
+
#~ msgstr "У вас недостаточно прав, для редактирования этой страницы."
|
2440 |
+
|
2441 |
+
#~ msgid "The settings have been updated successfully!"
|
2442 |
+
#~ msgstr "Настройки были успешно обновлены!"
|
2443 |
+
|
2444 |
+
#~ msgid ""
|
2445 |
+
#~ "The first item in the toolbar goes wordpress logo and external links to "
|
2446 |
+
#~ "wordpress.org, WP forums and documentation."
|
2447 |
+
#~ msgstr ""
|
2448 |
+
#~ "Первый элемент в панели инструментов идет логотип wordpress и внешние "
|
2449 |
+
#~ "ссылки на wordpress.org, WP форумах и документации."
|
2450 |
+
|
2451 |
+
#~ msgid "Removes all links to wordpress.org from the toolbar."
|
2452 |
+
#~ msgstr "Удаляет все ссылки на wordpress.org с панели инструментов."
|
2453 |
+
|
2454 |
+
#~ msgid "Revisions"
|
2455 |
+
#~ msgstr "Ревизии"
|
2456 |
+
|
2457 |
+
#~ msgid ""
|
2458 |
+
#~ "Editorial (or revision) in WordPress are long-standing. They allow you to "
|
2459 |
+
#~ "save a backup copy of the record or page whenever a change is made, and "
|
2460 |
+
#~ "then view all versions with the ability to restore any of them."
|
2461 |
+
#~ msgstr ""
|
2462 |
+
#~ "Редакции (или ревизии) в WordPress, давно. Они позволяют вам сохранить "
|
2463 |
+
#~ "резервную копию на запись или на страницу всякий раз, когда вы внесли "
|
2464 |
+
#~ "изменения в редакторе Wordpress. В дальнейшем вы можете просмотреть все "
|
2465 |
+
#~ "версии с возможностью восстановить любую из них."
|
2466 |
+
|
2467 |
+
#~ msgid "Clearfy - disable unused features"
|
2468 |
+
#~ msgstr "Clearfy - отключите бесполезные функции"
|
2469 |
+
|
2470 |
+
#~ msgid "Header cleaning"
|
2471 |
+
#~ msgstr "Очистка кода"
|
2472 |
+
|
2473 |
+
#~ msgid "Save changes"
|
2474 |
+
#~ msgstr "Сохранить настройки"
|
2475 |
+
|
2476 |
+
#~ msgid ""
|
2477 |
+
#~ "This page contains additional settings, usually not listed in the "
|
2478 |
+
#~ "recommended list."
|
2479 |
+
#~ msgstr ""
|
2480 |
+
#~ "Эта страница содержит дополнительные параметры, обычно, не перечисленные "
|
2481 |
+
#~ "в списке рекомендованных."
|
2482 |
+
|
2483 |
+
#~ msgid ""
|
2484 |
+
#~ "This page contains the security configuration settings for your site."
|
2485 |
+
#~ msgstr ""
|
2486 |
+
#~ "Эта страница содержит параметры конфигурации безопасности для вашего "
|
2487 |
+
#~ "сайта."
|
2488 |
+
|
2489 |
+
#~ msgid "This page contains settings for setting up duplicate pages."
|
2490 |
+
#~ msgstr "Эта страница содержит параметры для настройки дублирования страниц."
|
2491 |
+
|
2492 |
+
#~ msgid "On this settings page, you can optimize the source code of the page."
|
2493 |
+
#~ msgstr ""
|
2494 |
+
#~ "На этой странице настроек вы можете оптимизировать исходный код страницы."
|
2495 |
+
|
2496 |
+
#~ msgid "On this page you can configure the privacy settings of your site."
|
2497 |
+
#~ msgstr ""
|
2498 |
+
#~ "На этой странице вы можете установить настройки приватности для скриптов "
|
2499 |
+
#~ "на вашем сайте."
|
2500 |
+
|
2501 |
+
#~ msgid "Ok"
|
2502 |
+
#~ msgstr "Принять"
|
2503 |
+
|
2504 |
+
#~ msgid "This page contains important settings for SEO optimization."
|
2505 |
+
#~ msgstr "Эта страница содержит важные настройки SEO оптимизации."
|
2506 |
+
|
2507 |
+
#~ msgid "Header section"
|
2508 |
+
#~ msgstr "Раздел head"
|
2509 |
+
|
2510 |
+
#~ msgid "* Warning! Before activation, make sure your site is open https."
|
2511 |
+
#~ msgstr ""
|
2512 |
+
#~ "* Внимание! Перед активацией убедитесь, что ваш сайт открывается по https."
|
2513 |
+
|
2514 |
+
#~ msgid ""
|
2515 |
+
#~ "You are using the old version of PHP, please update the version of PHP to "
|
2516 |
+
#~ "5.3 and higher. You must deactivate the \"Clearfy - unused features\" "
|
2517 |
+
#~ "plugin, since it will not work with the old version of php."
|
2518 |
+
#~ msgstr ""
|
2519 |
+
#~ "Вы используете старую версию PHP, пожалуйста, обновите версию PHP до 5.3 "
|
2520 |
+
#~ "и выше. Вы должны деактивировать плагин «Clearfy - неиспользуемые "
|
2521 |
+
#~ "функции», так как он не будет работать со старой версией php."
|
2522 |
+
|
2523 |
+
#~ msgid ""
|
2524 |
+
#~ "You do not have sufficient permissions to activate plugins for this site."
|
2525 |
+
#~ msgstr ""
|
2526 |
+
#~ "У вас недостаточно прав для того, чтобы активировать плагины на этом "
|
2527 |
+
#~ "сайте."
|
2528 |
+
|
2529 |
+
#~ msgid ""
|
2530 |
+
#~ "* It works with the standard comment form, if in your subject the form is "
|
2531 |
+
#~ "spelled out manually-most likely it will not work!"
|
2532 |
+
#~ msgstr ""
|
2533 |
+
#~ "* Он работает со стандартной формой комментария, если в вашем предмете "
|
2534 |
+
#~ "форма изложена вручную - скорее всего, она не сработает!"
|
2535 |
+
|
2536 |
+
#~ msgid ""
|
2537 |
+
#~ "Works with the standard comment form, if the form is manually written in "
|
2538 |
+
#~ "your theme - it probably will not work!"
|
2539 |
+
#~ msgstr ""
|
2540 |
+
#~ "Работает со стандартной формой комментирования, если в Вашей теме форма "
|
2541 |
+
#~ "прописана вручную - скорей всего не сработает!"
|
2542 |
+
|
2543 |
+
#~ msgid "Urls pack"
|
2544 |
+
#~ msgstr "URL-адреса"
|
2545 |
+
|
2546 |
+
#~ msgid "Tasks"
|
2547 |
+
#~ msgstr "Задачи"
|
2548 |
+
|
2549 |
+
#~ msgid ""
|
2550 |
+
#~ "By default, WordPress generates all types of different RSS feeds for your "
|
2551 |
+
#~ "site. While RSS feeds can be useful if you are running a blog, businesses "
|
2552 |
+
#~ "might not always utilize these. Not every site out there has a blog.\n"
|
2553 |
+
#~ "<br><b>Clearfy</b>: Removes a link to the RSS-feed from the <head> "
|
2554 |
+
#~ "section, closes and puts the redirect from all RSS-feeds."
|
2555 |
+
#~ msgstr ""
|
2556 |
+
#~ "По умолчанию WordPress генерирует различные виды RSS-каналов для вашего "
|
2557 |
+
#~ "сайта. Иногда RSS-каналы могут быть полезны, если вы используете блог "
|
2558 |
+
#~ "например, но если у вас обычный одностаничник, то RSS для вас будет "
|
2559 |
+
#~ "бесполезен. <br><b>Clearfy</b>: Удаляет ссылку на RSS-канал из раздела "
|
2560 |
+
#~ "<head>, закрывает и ставит перенаправления от всех RSS-каналов."
|
2561 |
+
|
2562 |
+
#~ msgid ""
|
2563 |
+
#~ "Tired of spam in the comments? Do visitors leave \"blank\" comments for "
|
2564 |
+
#~ "the sake of a link to their site?\n"
|
2565 |
+
#~ "<br><b>Clearfy</b>: Removes the \"Site\" field from the comment form.\n"
|
2566 |
+
#~ "<br>--<br><span style=\"color:#dd2b19\"> * Works with the standard "
|
2567 |
+
#~ "comment form, if the form is manually written in your theme - it probably "
|
2568 |
+
#~ "will not work!</span>\n"
|
2569 |
+
#~ msgstr ""
|
2570 |
+
#~ "Надоел спам в комментариях? Посетители оставляют «пустые» комментарии "
|
2571 |
+
#~ "ради ссылки на свой сайт?\n"
|
2572 |
+
#~ "<br><b>Clearfy</b>: Убирает поле «Сайт» из формы комментирования.\n"
|
2573 |
+
#~ "<br>--<br><span style=\"color:#dd2b19\"> * Работает со стандартной формой "
|
2574 |
+
#~ "комментирования, если в Вашей теме форма прописана вручную - скорей всего "
|
2575 |
+
#~ "не сработает!</span>\n"
|
2576 |
+
|
2577 |
+
#~ msgid ""
|
2578 |
+
#~ "The first item in the toolbar goes wordpress logo and external links to "
|
2579 |
+
#~ "wordpress.org, WP forums and documentation.\n"
|
2580 |
+
#~ "\t\t<br><b>Clearfy</b>: Removes all links to wordpress.org from the "
|
2581 |
+
#~ "toolbar."
|
2582 |
+
#~ msgstr ""
|
2583 |
+
#~ "Первый элемент в панели инструментов идет логотип wordpress и внешние "
|
2584 |
+
#~ "ссылки на wordpress.org, WP форумах и документации.<br><b>Clearfy</b>: "
|
2585 |
+
#~ "удаляет все ссылки на wordpress.org с панели инструментов."
|
2586 |
+
|
2587 |
+
#~ msgid ""
|
2588 |
+
#~ "Remove meta generator <span class=\"wbcr-clearfy-recomended-text"
|
2589 |
+
#~ "\">(Recommended)</span>"
|
2590 |
+
#~ msgstr ""
|
2591 |
+
#~ "Удалить meta generator <span class=\"wbcr-clearfy-recomended-text"
|
2592 |
+
#~ "\">(рекомендуется)</span>"
|
2593 |
+
|
2594 |
+
#~ msgid ""
|
2595 |
+
#~ "Allows attacker to learn the version of WP installed on the site. This "
|
2596 |
+
#~ "meta tag has no useful function.\n"
|
2597 |
+
#~ "<br><b>Clearfy</b>: Removes the meta tag from the <head> section"
|
2598 |
+
#~ msgstr ""
|
2599 |
+
#~ "Позволяет злоумышленнику узнать версию Wordpress, установленую на вашем "
|
2600 |
+
#~ "сайте. Этот мета-тег не несет никакой пользы.<br><b>Clearfy</b>: удаляет "
|
2601 |
+
#~ "мета-тег из раздел <head>"
|
2602 |
+
|
2603 |
+
#~ msgid ""
|
2604 |
+
#~ "Hide author login <span class=\"wbcr-clearfy-recomended-text"
|
2605 |
+
#~ "\">(Recommended)</span>"
|
2606 |
+
#~ msgstr ""
|
2607 |
+
#~ "Убрать возможность узнать логин автора<span class=\"wbcr-clearfy-"
|
2608 |
+
#~ "recomended-text\">(Рекомендовано)</span>"
|
2609 |
+
|
2610 |
+
#~ msgid ""
|
2611 |
+
#~ "An attacker can find out the author's login, using a similar request to "
|
2612 |
+
#~ "get your site. mysite.com/?author=1\n"
|
2613 |
+
#~ "\t\t\t<br><b>Clearfy</b>: Sets the redirect to exclude the possibility of "
|
2614 |
+
#~ "obtaining a login."
|
2615 |
+
#~ msgstr ""
|
2616 |
+
#~ "Злоумышленник может узнать логин автора, с помощью подобного get запроса "
|
2617 |
+
#~ "mysite.com/?author=1\n"
|
2618 |
+
#~ "<br><b>Clearfy</b>: Предотвращает возможность узнать логин автора, "
|
2619 |
+
#~ "устанавливая перенаправление."
|
2620 |
+
|
2621 |
+
#~ msgid ""
|
2622 |
+
#~ "Hide errors when logging into the site <span class=\"wbcr-clearfy-"
|
2623 |
+
#~ "recomended-text\">(Recommended)</span>"
|
2624 |
+
#~ msgstr ""
|
2625 |
+
#~ "Спрятать ошибки при входе на сайт <span class=\"wbcr-clearfy-recomended-"
|
2626 |
+
#~ "text\">(Рекомендовано)</span>"
|
2627 |
+
|
2628 |
+
#~ msgid ""
|
2629 |
+
#~ "WP by default shows whether you entered a wrong login or incorrect "
|
2630 |
+
#~ "password, which allows attackers to understand if there is a certain user "
|
2631 |
+
#~ "on the site, and then start searching through the passwords.\n"
|
2632 |
+
#~ "<br><b>Clearfy</b>: Changes in the text of the error so that attackers "
|
2633 |
+
#~ "could not find the login."
|
2634 |
+
#~ msgstr ""
|
2635 |
+
#~ "Wordpress по умолчанию показывает, ввели ли вы неправильный логин или "
|
2636 |
+
#~ "неправильный пароль, что дает злоумышленникам понять, существует ли "
|
2637 |
+
#~ "определенный пользователь на сайте, а после начать перебор паролей.\n"
|
2638 |
+
#~ "<br><b>Clearfy</b>: Меняет текст ошибки так, чтобы злоумышленники не "
|
2639 |
+
#~ "смогли подобрать логин."
|
2640 |
+
|
2641 |
+
#~ msgid ""
|
2642 |
+
#~ "Disable X-Pingback <span class=\"wbcr-clearfy-recomended-text"
|
2643 |
+
#~ "\">(Recommended)</span>"
|
2644 |
+
#~ msgstr ""
|
2645 |
+
#~ "Убрать ссылку на X-Pingback и возможность спамить pingback-ами <span "
|
2646 |
+
#~ "class=\"wbcr-clearfy-recomended-text\">(Рекомендовано)</span>"
|
2647 |
+
|
2648 |
+
#~ msgid ""
|
2649 |
+
#~ "A pingback is basically an automated comment that gets created when "
|
2650 |
+
#~ "another blog links to you. A self-pingback is created when you link to an "
|
2651 |
+
#~ "article within your own blog. Pingbacks are essentially nothing more than "
|
2652 |
+
#~ "spam and simply waste resources.\n"
|
2653 |
+
#~ "\t\t<br><b>Clearfy</b>: Removes the server responses a reference to the "
|
2654 |
+
#~ "xmlrpc file."
|
2655 |
+
#~ msgstr ""
|
2656 |
+
#~ "Pingback по-существу автоматизированных комментарий, который создается, "
|
2657 |
+
#~ "когда другой блог ссылается на вас. Self-pingback создается, когда вы "
|
2658 |
+
#~ "оставили ссылку на статью в своем блоге. Pingbacks по существу являются "
|
2659 |
+
#~ "не более чем спам и пустая трата ресурсов вашего сайта.<br><b>Clearfy</"
|
2660 |
+
#~ "b>: Удаляет ссылку на xmlrpc-файл и ответ сервера."
|
2661 |
+
|
2662 |
+
#~ msgid ""
|
2663 |
+
#~ "Remove archives date <span class=\"wbcr-clearfy-recomended-text"
|
2664 |
+
#~ "\">(Recommended)</span>"
|
2665 |
+
#~ msgstr ""
|
2666 |
+
#~ "Удалить архивы дат <span class=\"wbcr-clearfy-recomended-text"
|
2667 |
+
#~ "\">(Рекомендовано)</span>"
|
2668 |
+
|
2669 |
+
#~ msgid ""
|
2670 |
+
#~ "Many duplicates in date archives. Imagine, in addition, that your article "
|
2671 |
+
#~ "will be displayed in the main and in the category, you will still receive "
|
2672 |
+
#~ "at least 3 duplicates: in archives by year, month and date, for example / "
|
2673 |
+
#~ "2016/2016/02 / / 2016/02/15.\n"
|
2674 |
+
#~ "<br><b>Clearfy</b>: Removes all pages with the date archives and puts a "
|
2675 |
+
#~ "redirect."
|
2676 |
+
#~ msgstr ""
|
2677 |
+
#~ "Огромное количество дублей в архивах дат. Представьте, кроме того, что "
|
2678 |
+
#~ "Ваша статья будет выводиться на главной и в категории, Вы еще получите "
|
2679 |
+
#~ "как минимум 3 дубля: в архивах по году, месяцу и дате, "
|
2680 |
+
#~ "например /2016/ /2016/02/ /2016/02/15.\n"
|
2681 |
+
#~ "<br><b>Clearfy</b>: Удаляет полностью архивы дат и ставит редирект."
|
2682 |
+
|
2683 |
+
#~ msgid ""
|
2684 |
+
#~ "Remove author archives <span class=\"wbcr-clearfy-recomended-text"
|
2685 |
+
#~ "\">(Recommended)</span>"
|
2686 |
+
#~ msgstr ""
|
2687 |
+
#~ "Удалить архивы автора <span class=\"wbcr-clearfy-recomended-text"
|
2688 |
+
#~ "\">(Рекомендовано)</span>"
|
2689 |
+
|
2690 |
+
#~ msgid ""
|
2691 |
+
#~ "If the site is only filled by you - a mandatory item. Allows you to get "
|
2692 |
+
#~ "rid of duplicates on user archives, for example /author/admin/.\n"
|
2693 |
+
#~ "<br><b>Clearfy</b>: Removes all pages with the author archives and puts a "
|
2694 |
+
#~ "redirect."
|
2695 |
+
#~ msgstr ""
|
2696 |
+
#~ "Если сайт заполняете только вы - это функция обязательна. Позволяет вам "
|
2697 |
+
#~ "избавиться от дубликатов страниц автора, например /author/admin /.\n"
|
2698 |
+
#~ "<br><b>Clearfy</b>: удаляет все страницы из архивов автора и ставит "
|
2699 |
+
#~ "перенаправление."
|
2700 |
+
|
2701 |
+
#~ msgid ""
|
2702 |
+
#~ "If you use tags only for the block Similar records, or do not use them at "
|
2703 |
+
#~ "all - it will be more correct to close them to avoid duplicates.\n"
|
2704 |
+
#~ "<br><b>Clearfy</b>: Removes all pages with the tag archives and puts a "
|
2705 |
+
#~ "redirect."
|
2706 |
+
#~ msgstr ""
|
2707 |
+
#~ "Если вы используете теги только для виджета \"Похожие записи\", либо не "
|
2708 |
+
#~ "используете их совсем - правильнее будет их закрыть, чтобы избежать "
|
2709 |
+
#~ "дублей.\n"
|
2710 |
+
#~ "<br><b>Clearfy</b>: Ставит редирект со страниц тегов на главную."
|
2711 |
+
|
2712 |
+
#~ msgid ""
|
2713 |
+
#~ "Remove attachment pages <span class=\"wbcr-clearfy-recomended-text"
|
2714 |
+
#~ "\">(Recommended)</span>"
|
2715 |
+
#~ msgstr ""
|
2716 |
+
#~ "Удалить страницы вложений <span class=\"wbcr-clearfy-recomended-text"
|
2717 |
+
#~ "\">(Рекомендовано)</span>"
|
2718 |
+
|
2719 |
+
#~ msgid ""
|
2720 |
+
#~ "Every of the pictures has its own page on the site. Such pages are "
|
2721 |
+
#~ "successfully indexed and create duplicates. The site can have thousands "
|
2722 |
+
#~ "of same-type attachment pages.\n"
|
2723 |
+
#~ "<br><b>Clearfy</b>: Removes attachment pages and puts a redirect."
|
2724 |
+
#~ msgstr ""
|
2725 |
+
#~ "Каждая загруженная картинка имеет свою страничку на сайте, состоящую "
|
2726 |
+
#~ "только из одной картинки. Такие страницы успешно индексируются и создают "
|
2727 |
+
#~ "дубли. На сайте могут быть тысячи однотипных страниц вложений.\n"
|
2728 |
+
#~ "<br><b>Clearfy</b>: Удаляет страницы вложений и ставит редирект на запись."
|
2729 |
+
|
2730 |
+
#~ msgid ""
|
2731 |
+
#~ "Remove post pagination <span class=\"wbcr-clearfy-recomended-text"
|
2732 |
+
#~ "\">(Recommended)</span>"
|
2733 |
+
#~ msgstr ""
|
2734 |
+
#~ "Удалить постраничную навигацию записей <span class=\"wbcr-clearfy-"
|
2735 |
+
#~ "recomended-text\">(Рекомендовано)</span>"
|
2736 |
+
|
2737 |
+
#~ msgid ""
|
2738 |
+
#~ "In WordPress, any post can be divided into parts (pages), each part will "
|
2739 |
+
#~ "have its own address. But this functionality is rarely used, but it can "
|
2740 |
+
#~ "create trouble for you. For example, you can add a number to the address "
|
2741 |
+
#~ "of any entry of your blog, /privet-mir/1/ - the post itself will open, "
|
2742 |
+
#~ "which will be a duplicate. You can substitute any number.\n"
|
2743 |
+
#~ "<br><b>Clearfy</b>: Removes the pagination from the post and puts a "
|
2744 |
+
#~ "redirect. Example: /post-name/number"
|
2745 |
+
#~ msgstr ""
|
2746 |
+
#~ "В WordPress любое содержание можно разделить на части (страницы), каждая "
|
2747 |
+
#~ "часть будет иметь свой собственный адрес. Эта функциональность "
|
2748 |
+
#~ "используется редко, но это может создать проблемы для вас. Например вы "
|
2749 |
+
#~ "можете добавить номер в адрес любой записи вашего блога, /hello-world/1/ "
|
2750 |
+
#~ "- откроет текущую страницу, которая будет дублироваться.\n"
|
2751 |
+
#~ " <br><b>Clearfy</b>: предотвращает создание пагинации для страницы и "
|
2752 |
+
#~ "ставит перенаправление на ссылки такого типа: /privet-mir/1/ "
|
2753 |
+
|
2754 |
+
#~ msgid ""
|
2755 |
+
#~ "Remove ?replytocom <span class=\"wbcr-clearfy-recomended-text"
|
2756 |
+
#~ "\">(Recommended)</span>"
|
2757 |
+
#~ msgstr ""
|
2758 |
+
#~ "Удалить ?replytocom <span class=\"wbcr-clearfy-recomended-text"
|
2759 |
+
#~ "\">(Рекомендовано)</span>"
|
2760 |
+
|
2761 |
+
#~ msgid ""
|
2762 |
+
#~ "WordPress adds ?replytocom to the link \"Reply\" in the comments, if you "
|
2763 |
+
#~ "use hierarchical comments.\n"
|
2764 |
+
#~ "<br><b>Clearfy</b>: ?relpytocom remove and and puts a redirect."
|
2765 |
+
#~ msgstr ""
|
2766 |
+
#~ "WordPress добавляет ?replytocom к ссылке «Ответ» в комментариях, если вы "
|
2767 |
+
#~ "используете иерархические комментарии.\n"
|
2768 |
+
#~ "<br><b>Clearfy</b>: удаляет ?relpytocom и ставит перенаправление."
|
2769 |
+
|
2770 |
+
#~ msgid ""
|
2771 |
+
#~ "Remove REST API Links <span class=\"wbcr-clearfy-recomended-text"
|
2772 |
+
#~ "\">(Recommended)</span>"
|
2773 |
+
#~ msgstr ""
|
2774 |
+
#~ "Удалите остальные API ссылки <span class=\"wbcr-clearfy-recomended-text"
|
2775 |
+
#~ "\">(рекомендуется)</span>"
|
2776 |
+
|
2777 |
+
#~ msgid ""
|
2778 |
+
#~ "The WordPress REST API provides API endpoints for WordPress data types "
|
2779 |
+
#~ "that allow developers to interact with sites remotely by sending and "
|
2780 |
+
#~ "receiving JSON (JavaScript Object Notation) objects. However, a lot of "
|
2781 |
+
#~ "sites don’t use this, and therefore in most cases, it is just unnecessary "
|
2782 |
+
#~ "code.\n"
|
2783 |
+
#~ "<br><b>Clearfy:</b> Removes REST API link tag from the front end and the "
|
2784 |
+
#~ "REST API header link from page requests."
|
2785 |
+
#~ msgstr ""
|
2786 |
+
#~ "WordPress REST API предоставляет API для работы с WordPress данными, это "
|
2787 |
+
#~ "позволяет разработчикам взаимодействовать с сайтами удаленно, посредством "
|
2788 |
+
#~ "отправки и получения данных в формате JSON (JavaScript Object Notation). "
|
2789 |
+
#~ "Однако многие сайты не используют это, и поэтому в большинстве случаев, "
|
2790 |
+
#~ "это только ненужный код.\n"
|
2791 |
+
#~ "<br><b>Clearfy:</b> Отключает REST API и удаляет все ссылки из исходного "
|
2792 |
+
#~ "кода страницы."
|
2793 |
+
|
2794 |
+
#~ msgid ""
|
2795 |
+
#~ "Disable Emojis <span class=\"wbcr-clearfy-recomended-text"
|
2796 |
+
#~ "\">(Recommended)</span>"
|
2797 |
+
#~ msgstr ""
|
2798 |
+
#~ "Отключить Emojis (эмоции)<span class=\"wbcr-clearfy-recomended-text"
|
2799 |
+
#~ "\">(Рекомендовано)</span>"
|
2800 |
+
|
2801 |
+
#~ msgid ""
|
2802 |
+
#~ "Emojis are fun and all, but if you are aren’t using them they actually "
|
2803 |
+
#~ "load a JavaScript file (wp-emoji-release.min.js) on every page of your "
|
2804 |
+
#~ "website. For a lot of businesses, this is not needed and simply adds load "
|
2805 |
+
#~ "time to your site. So we recommend disabling this.\n"
|
2806 |
+
#~ "<br><b>Clearfy:</b> Removes WordPress Emojis JavaScript file (wp-emoji-"
|
2807 |
+
#~ "release.min.js)."
|
2808 |
+
#~ msgstr ""
|
2809 |
+
#~ "Emojis это смайлы (эмоции), если вы не используете их на своем сайте, в "
|
2810 |
+
#~ "исходном коде страницы будет загружаться JavaScript файл (wp-emoji-"
|
2811 |
+
#~ "release.min.js), на каждой странице вашего веб-сайта. Для многих сайтов "
|
2812 |
+
#~ "это не требуется и просто увеличивает время загрузки страницы. Поэтому мы "
|
2813 |
+
#~ "рекомендуем отключить это.\n"
|
2814 |
+
#~ "<br><b>Clearfy:</b> Удаляет код Emojis из исходного кода страницы"
|
2815 |
+
|
2816 |
+
#~ msgid ""
|
2817 |
+
#~ "Remove dns-prefetch <span class=\"wbcr-clearfy-recomended-text"
|
2818 |
+
#~ "\">(Recommended)</span>"
|
2819 |
+
#~ msgstr ""
|
2820 |
+
#~ "Удалить dns-prefetch <span class=\"wbcr-clearfy-recomended-text"
|
2821 |
+
#~ "\">(Рекомендовано)</span>"
|
2822 |
+
|
2823 |
+
#~ msgid ""
|
2824 |
+
#~ "Since version 4.6.1 in WordPress there are new links in the section <"
|
2825 |
+
#~ "head> this type of: <code><link rel=\"dns-prefetch\" href=\"//s.w."
|
2826 |
+
#~ "org\"></code>\n"
|
2827 |
+
#~ "<br><b>Clearfy</b>: Removes dns-prefetch links from the <head> "
|
2828 |
+
#~ "section"
|
2829 |
+
#~ msgstr ""
|
2830 |
+
#~ "Начиная с версии 4.6.1 в WordPress появляются новые ссылки в секции <"
|
2831 |
+
#~ "head> пример: <code><link rel=\"dns-prefetch\" href = \"//s.w.org"
|
2832 |
+
#~ "\"></code>\n"
|
2833 |
+
#~ "<br><b>Clearfy</b>: Удаляет ссылки из секции <head>"
|
2834 |
+
|
2835 |
+
#~ msgid ""
|
2836 |
+
#~ "Remove RSD Link <span class=\"wbcr-clearfy-recomended-text"
|
2837 |
+
#~ "\">(Recommended)</span>"
|
2838 |
+
#~ msgstr ""
|
2839 |
+
#~ "Удаляет RSD ссылку <span class=\"wbcr-clearfy-recomended-text"
|
2840 |
+
#~ "\">(Рекомендовано)</span>"
|
2841 |
+
|
2842 |
+
#~ msgid ""
|
2843 |
+
#~ "The above link is used by blog clients. If you edit your site from your "
|
2844 |
+
#~ "browser then you don’t need this. It is also used by some 3rd party "
|
2845 |
+
#~ "applications that utilize XML-RPC requests. In most cases, this is just "
|
2846 |
+
#~ "unnecessary code.<br><code><link rel=\"EditURI\" type=\"application/rsd"
|
2847 |
+
#~ "+xml\" title=\"RSD\" href=\"https://yourdomain.com/xmlrpc.php?rsd\"></"
|
2848 |
+
#~ "code>\n"
|
2849 |
+
#~ "<br><b>Clearfy</b>: Remove RSD (Real Simple Discovery) link tag."
|
2850 |
+
#~ msgstr ""
|
2851 |
+
#~ "Эта ссылка используется клиентами блога. Если вы редактируете сайт из "
|
2852 |
+
#~ "вашего браузера, то вам не нужно это. Она также используется в некоторых "
|
2853 |
+
#~ "приложениях, которые используют XML-RPC-запросы. В большинстве случаев "
|
2854 |
+
#~ "это только ненужный код.<br> Пример: <code><link rel=\"EditURI\" type="
|
2855 |
+
#~ "\"application/rsd+xml\" title=\"RSD\" href=\"https://yourdomain.com/"
|
2856 |
+
#~ "xmlrpc.php?rsd\"></code>\n"
|
2857 |
+
#~ "<br><b>Clearfy</b>: Удаляет RSD link тег"
|
2858 |
+
|
2859 |
+
#~ msgid ""
|
2860 |
+
#~ "Remove wlwmanifest Link <span class=\"wbcr-clearfy-recomended-text"
|
2861 |
+
#~ "\">(Recommended)</span>"
|
2862 |
+
#~ msgstr ""
|
2863 |
+
#~ "Удалить wlwmanifest Link <span class=\"wbcr-clearfy-recomended-text"
|
2864 |
+
#~ "\">(рекомендуется)</span>"
|
2865 |
+
|
2866 |
+
#~ msgid ""
|
2867 |
+
#~ "<code><link rel=\"wlwmanifest\" type=\"application/wlwmanifest+xml\" "
|
2868 |
+
#~ "href=\"https://yourdomain.com/wp-includes/wlwmanifest.xml\"></"
|
2869 |
+
#~ "code><br>This link is actually used by Windows Live Writer. If you don’t "
|
2870 |
+
#~ "know use Windows Live Writer, which we are guessing you don’t, this is "
|
2871 |
+
#~ "just unnecessary code.\n"
|
2872 |
+
#~ "<br><b>Clearfy</b>: Remove wlwmanifest (Windows Live Writer) link tag."
|
2873 |
+
#~ msgstr ""
|
2874 |
+
#~ "<code><link rel=\"wlwmanifest\" type=\"application/wlwmanifest+xml\" "
|
2875 |
+
#~ "href=\"https://yourdomain.com/wp-includes/wlwmanifest.xml\"></"
|
2876 |
+
#~ "code><br>Эта ссылка используется фактически Windows Live Writer. Если вы "
|
2877 |
+
#~ "не знаете, как использовать Windows Live Writer, то это только ненужный "
|
2878 |
+
#~ "код.\n"
|
2879 |
+
#~ "<br><b>Clearfy</b>: Удаляет тег link wlwmanifest (Windows Live Writer)."
|
2880 |
+
|
2881 |
+
#~ msgid ""
|
2882 |
+
#~ "Remove Shortlink <span class=\"wbcr-clearfy-recomended-text"
|
2883 |
+
#~ "\">(Recommended)</span>"
|
2884 |
+
#~ msgstr ""
|
2885 |
+
#~ "Удалить короткие ссылки <span class=\"wbcr-clearfy-recomended-text"
|
2886 |
+
#~ "\">(Рекомендовано)</span>"
|
2887 |
+
|
2888 |
+
#~ msgid ""
|
2889 |
+
#~ "By default, the following tag shows up in every WordPress install."
|
2890 |
+
#~ "<br><code><link rel=\"shortlink\" href=\"https://domain.com?p=712\">"
|
2891 |
+
#~ "</code><br>This is used for a shortlink to your pages and posts. However, "
|
2892 |
+
#~ "if you are already using pretty permalinks, such as domain.com/post, then "
|
2893 |
+
#~ "there is no reason to keep this, it is just unnecessary code.\n"
|
2894 |
+
#~ "<br><b>Clearfy</b>: Remove Shortlink link tag."
|
2895 |
+
#~ msgstr ""
|
2896 |
+
#~ "По умолчанию следующий тег печатается на каждой странице ваших записей и "
|
2897 |
+
#~ "страниц.<br><code><link rel=\"shortlink\" href=\"https://domain.com?"
|
2898 |
+
#~ "p=712\"></code><br>Это используется, как короткая ссылка на вашу "
|
2899 |
+
#~ "статью. Если вы используете постоянные ссылки, то это не нужный код.\n"
|
2900 |
+
#~ "<br><b>Clearfy</b>: Удаляет тег link shortlink."
|
2901 |
+
|
2902 |
+
#~ msgid ""
|
2903 |
+
#~ "Remove links to previous, next post <span class=\"wbcr-clearfy-recomended-"
|
2904 |
+
#~ "text\">(Recommended)</span>"
|
2905 |
+
#~ msgstr ""
|
2906 |
+
#~ "Удалить ссылки следующая, предыдущая запись <span class=\"wbcr-clearfy-"
|
2907 |
+
#~ "recomended-text\">(Рекомендовано)</span>"
|
2908 |
+
|
2909 |
+
#~ msgid ""
|
2910 |
+
#~ "If you use Wordpress as a CMS, then you can delete these links, they can "
|
2911 |
+
#~ "only come in handy for a blog.\n"
|
2912 |
+
#~ "<br><b>Clearfy</b>: Remove the previous and next post links within the "
|
2913 |
+
#~ "wp_head of your wordpress theme."
|
2914 |
+
#~ msgstr ""
|
2915 |
+
#~ "Если вы используете Wordpress как CMS (а не блог), то вы можете удалить "
|
2916 |
+
#~ "эти ссылки, но для блога они могут быть полезны.<br><b>Clearfy</b>: "
|
2917 |
+
#~ "Удаляет ссылки предидущая и следующая запись в head вашей темы wordpress."
|
2918 |
+
|
2919 |
+
#~ msgid ""
|
2920 |
+
#~ "Remove .recentcomments styles <span class=\"wbcr-clearfy-recomended-text"
|
2921 |
+
#~ "\">(Recommended)</span>"
|
2922 |
+
#~ msgstr ""
|
2923 |
+
#~ "Удалить стили .recentcomments <span class=\"wbcr-clearfy-recomended-text"
|
2924 |
+
#~ "\">(Рекомендовано)</span>"
|
2925 |
+
|
2926 |
+
#~ msgid ""
|
2927 |
+
#~ "WP by default for the widget \"recent comments\" prescribes in the code "
|
2928 |
+
#~ "styles that are almost impossible to change, because to them apply! "
|
2929 |
+
#~ "important.\n"
|
2930 |
+
#~ "<br><b>Clearfy</b>: Removes .recentcomments styles from head section."
|
2931 |
+
#~ msgstr ""
|
2932 |
+
#~ "Wordpress по умолчанию для виджета \"Последние комментари\" прописывает в "
|
2933 |
+
#~ "стилях код, которые почти невозможно изменить, потому что к ним "
|
2934 |
+
#~ "применяются значение !important.\n"
|
2935 |
+
#~ "<br><b>Clearfy</b>: удаляет .recentcomments стили из head секции."
|
2936 |
+
|
2937 |
+
#~ msgid ""
|
2938 |
+
#~ "Automatically set the alt attribute <span class=\"wbcr-clearfy-recomended-"
|
2939 |
+
#~ "text\">(Recommended)</span>"
|
2940 |
+
#~ msgstr ""
|
2941 |
+
#~ "Автоматически устанавливать атрибут alt <span class=\"wbcr-clearfy-"
|
2942 |
+
#~ "recomended-text\">(Рекомендовано)</span>"
|
2943 |
+
|
2944 |
+
#~ msgid ""
|
2945 |
+
#~ "The alt attribute is mandatory, so most SEO experts say. If you missed or "
|
2946 |
+
#~ "did not fill it at all, it will be automatically assigned and will be "
|
2947 |
+
#~ "equal to the title of the article.\n"
|
2948 |
+
#~ "\t\t\t\t<br><b>Clearfy</b>: Replaces the <code><img scr=\"\" alt="
|
2949 |
+
#~ "\"\"></code>, on attribute with an article name <code><img scr=\"\" "
|
2950 |
+
#~ "alt=\"Hello world\"></code>"
|
2951 |
+
#~ msgstr ""
|
2952 |
+
#~ "Атрибут alt является обязательным, поэтому большинство SEO экспертов "
|
2953 |
+
#~ "говорят. Если вы пропустили, или не заполнили его, он будет автоматически "
|
2954 |
+
#~ "задан из названия статьи.\n"
|
2955 |
+
#~ "<br><b>Clearfy</b>: Заменяет <code><img scr=\"\" alt=\"\"></code>, "
|
2956 |
+
#~ "на атрибут с названием статьи <code><img scr=\"\" alt=\"Hello world"
|
2957 |
+
#~ "\"></code>"
|
2958 |
+
|
2959 |
+
#~ msgid ""
|
2960 |
+
#~ "Replace external links in comments on the JavaScript code <span class="
|
2961 |
+
#~ "\"wbcr-clearfy-recomended-text\">(Recommended)</span>"
|
2962 |
+
#~ msgstr ""
|
2963 |
+
#~ "Заменить внешние ссылки в комментариях на JavaScript код <span class="
|
2964 |
+
#~ "\"wbcr-clearfy-recomended-text\">(Рекомендовано)</span>"
|
2965 |
+
|
2966 |
+
#~ msgid ""
|
2967 |
+
#~ "Superfluous external links from comments, which can be typed from a dozen "
|
2968 |
+
#~ "and more for one article, do not bring anything good for promotion.\n"
|
2969 |
+
#~ "<br><b>Clearfy</b>: Replaces the links of this kind of <code><a href="
|
2970 |
+
#~ "\"http://yourdomain.com\" rel=\"nofollow\">example</a></code>, "
|
2971 |
+
#~ "on links of this kind <code><span class=\"wbcr-clearfy-pseoudo-link\" "
|
2972 |
+
#~ "data-uri=\"http://yourdomain.com\">example</span></code>"
|
2973 |
+
#~ msgstr ""
|
2974 |
+
#~ "Внешние ссылки в комментариях, которых может быть десятки или больше на "
|
2975 |
+
#~ "одной странице, могут ухудшить продвижение вашего сайта.\n"
|
2976 |
+
#~ "\n"
|
2977 |
+
#~ "<br><b>Clearfy</b>: Заменяет ссылки <code><a href=\"http://yourdomain."
|
2978 |
+
#~ "com\" rel=\"nofollow\">example</a></code> , на span тег и "
|
2979 |
+
#~ "устанавливает переход с помощью JavaScript<code><span class=\"wbcr-"
|
2980 |
+
#~ "clearfy-pseoudo-link\" data-uri=\"http://yourdomain.com\">example</"
|
2981 |
+
#~ "span></code>"
|
2982 |
+
|
2983 |
+
#~ msgid ""
|
2984 |
+
#~ "Replace external links from comment authors on the JavaScript code <span "
|
2985 |
+
#~ "class=\"wbcr-clearfy-recomended-text\">(Recommended)</span>"
|
2986 |
+
#~ msgstr ""
|
2987 |
+
#~ "Заменить внешние ссылки от авторов комментариев на код JavaScript <span "
|
2988 |
+
#~ "class=\"wbcr-clearfy-recomended-text\">(Recommended)</span>"
|
2989 |
+
|
2990 |
+
#~ msgid ""
|
2991 |
+
#~ "Up to 90 percent of comments in the blog can be left for the sake of an "
|
2992 |
+
#~ "external link. Even nofollow from page weight loss here does not help.\n"
|
2993 |
+
#~ "<br><b>Clearfy</b>: Replaces the links of the authors of comments on the "
|
2994 |
+
#~ "JavaScript code, it is impossible to distinguish it from usual links.\n"
|
2995 |
+
#~ "<br>--<br><i>In some Wordpress topics this may not work.</i>"
|
2996 |
+
#~ msgstr ""
|
2997 |
+
#~ "До 90 процентов комментариев в блоге оставляют ради внешней ссылки. Не "
|
2998 |
+
#~ "поможет даже nofollow от потери веса страницы.\n"
|
2999 |
+
#~ "<br><b>Clearfy</b>: Заменяет ссылки авторов комментариев на JavaScript "
|
3000 |
+
#~ "код, его невозможно отличить от обычной ссылки.\n"
|
3001 |
+
#~ "<br>--<br><i>В некоторых темах Wordpress это может не сработать.</i>"
|
3002 |
+
|
3003 |
+
#~ msgid ""
|
3004 |
+
#~ "Automatically insert the Last Modified header <span class=\"wbcr-clearfy-"
|
3005 |
+
#~ "recomended-text\">(Recommended)</span>"
|
3006 |
+
#~ msgstr ""
|
3007 |
+
#~ "Автоматически вставлять заголовок Last Modified <span class=\"wbcr-"
|
3008 |
+
#~ "clearfy-recomended-text\">(Рекомендовано)</span>"
|
3009 |
+
|
3010 |
+
#~ msgid ""
|
3011 |
+
#~ "You can specify a page mask, for example: /s= or /manager/. All pages "
|
3012 |
+
#~ "that contain the string will be excluded. Each exclude must begin with a "
|
3013 |
+
#~ "new line."
|
3014 |
+
#~ msgstr ""
|
3015 |
+
#~ "Можно указать маску страницы, например: /s = или /manager/. Все страницы, "
|
3016 |
+
#~ "которые содержат эти строки, будут исключены. Каждое исключение должно "
|
3017 |
+
#~ "начинаться с новой строки."
|
3018 |
+
|
3019 |
+
#~ msgid ""
|
3020 |
+
#~ "Return an If-Modified-Since responce <span class=\"wbcr-clearfy-"
|
3021 |
+
#~ "recomended-text\">(Recommended)</span>"
|
3022 |
+
#~ msgstr ""
|
3023 |
+
#~ "Возвращать заголовок If-Modified-Since <span class=\"wbcr-clearfy-"
|
3024 |
+
#~ "recomended-text\">(Recommended)</span>"
|
3025 |
+
|
3026 |
+
#~ msgid ""
|
3027 |
+
#~ "Remove duplicate names in breadcrumbs WP SEO by Yoast <span class=\"wbcr-"
|
3028 |
+
#~ "clearfy-recomended-text\">(Recommended)</span>"
|
3029 |
+
#~ msgstr ""
|
3030 |
+
#~ "Удалить дубли имен в хлебных крошках WP SEO Yoast <span class=\"wbcr-"
|
3031 |
+
#~ "clearfy-recomended-text\">(Рекомендовано)</span>"
|
3032 |
+
|
3033 |
+
#~ msgid ""
|
3034 |
+
#~ "The last element in the breadcrumbs in the Yoast SEO plugin duplicates "
|
3035 |
+
#~ "the title of the article. Some SEO-specialists consider this duplication "
|
3036 |
+
#~ "to be superfluous.\n"
|
3037 |
+
#~ "<br><b>Clearfy</b>: Removes duplication of the name in the breadcrumbs of "
|
3038 |
+
#~ "the WP SEO plugin from Yoast."
|
3039 |
+
#~ msgstr ""
|
3040 |
+
#~ "Последний элемент в хлебных крошках Yoast SEO дублирует название статьи. "
|
3041 |
+
#~ "Некоторые SEO-специалисты считают это дублирование излишним.\n"
|
3042 |
+
#~ "<br><b>Clearfy</b>: Удаляет последний элемент в хлебных крошках Yoast SEO."
|
3043 |
+
|
3044 |
+
#~ msgid ""
|
3045 |
+
#~ "Remove the tag <image:image> from XML site map <span class=\"wbcr-"
|
3046 |
+
#~ "clearfy-recomended-text\">(Recommended)</span>"
|
3047 |
+
#~ msgstr ""
|
3048 |
+
#~ "Удалить тег <image:image> из XML карты сайта <span class=\"wbcr-"
|
3049 |
+
#~ "clearfy-recomended-text\">(Рекомендовано)</span>"
|
3050 |
+
|
3051 |
+
#~ msgid ""
|
3052 |
+
#~ "Yandex.Webmaster swears on a standard XML card from the plugin Yoast, tk. "
|
3053 |
+
#~ "it has a specific tag <image:image>.\n"
|
3054 |
+
#~ "<br><b>Clearfy</b>: Remove the tag <image:image> from XML site map "
|
3055 |
+
#~ "of the plugin Yoast SEO.\n"
|
3056 |
+
#~ "<br>--<br><span style=\"color:#dd2b19\">Attention! After activation, turn "
|
3057 |
+
#~ "off the site map and enable it back to regenerate it.</span>\n"
|
3058 |
+
#~ "<br><span style=\"color:#dd2b19\">* In older versions of Yoast SEO may "
|
3059 |
+
#~ "not work - update the plugin Yoast</span>"
|
3060 |
+
#~ msgstr ""
|
3061 |
+
#~ "Яндекс вебмастер ругается на стандартной карты XML из плагина Yoast SEO, "
|
3062 |
+
#~ "из-за определенного тега <image:image>.\n"
|
3063 |
+
#~ "<br><b>Clearfy</b>: Удаляет тег <image:image> из XML карта сайта "
|
3064 |
+
#~ "плагин Yoast SEO.\n"
|
3065 |
+
#~ "<br>--<br><span style=\"color:#dd2b19\">Внимание! После активации, "
|
3066 |
+
#~ "выключите карту сайта и включите ее обратно, чтобы обновить ее.</span>\n"
|
3067 |
+
#
|