Clearfy – WordPress optimization plugin and disable ultimate tweaker - Version 1.2.1

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 Icon 128x128 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

Files changed (204) hide show
  1. admin/activation.php +43 -18
  2. admin/ajax/configurate.php +16 -10
  3. admin/ajax/import-settings.php +17 -5
  4. admin/ajax/index.php +0 -0
  5. admin/assets/css/components.css +43 -43
  6. admin/assets/css/general.css +338 -337
  7. admin/assets/css/index.php +0 -0
  8. admin/assets/img/asm-icon-128x128.png +0 -0
  9. admin/assets/img/ctr-icon-128x128.png +0 -0
  10. admin/assets/img/dan-icon-128x128.jpg +0 -0
  11. admin/assets/img/dan-icon-128x128.png +0 -0
  12. admin/assets/img/dic-icon-128x128.png +0 -0
  13. admin/assets/img/index.php +0 -0
  14. admin/assets/img/upm-icon-128x128.png +0 -0
  15. admin/assets/index.php +0 -0
  16. admin/assets/js/index.php +0 -0
  17. admin/boot.php +62 -37
  18. admin/includes/classes/class.group.php +23 -3
  19. admin/includes/classes/class.option.php +31 -4
  20. admin/includes/classes/class.pages.php +41 -4
  21. admin/includes/classes/index.php +0 -0
  22. admin/includes/index.php +0 -0
  23. admin/includes/options.php +100 -8
  24. admin/index.php +0 -0
  25. admin/pages/{additionally.php → advanced.php} +21 -31
  26. admin/pages/components.php +48 -28
  27. admin/pages/defence-privacy-code.php +90 -0
  28. admin/pages/defence.php +34 -47
  29. admin/pages/index.php +0 -0
  30. admin/pages/performance-google.php +258 -0
  31. admin/pages/performance-html-minify.php +154 -0
  32. admin/pages/{code-clean.php → performance.php} +120 -48
  33. admin/pages/privacy.php +0 -127
  34. admin/pages/quick-start.php +58 -50
  35. admin/pages/{double-pages.php → seo-double-pages.php} +47 -34
  36. admin/pages/seo.php +32 -36
  37. admin/pages/widgets.php +22 -9
  38. assets/js/css-lazy-load.js +101 -0
  39. assets/js/css-lazy-load.min.js +1 -0
  40. cache/local-ga.js +59 -0
  41. clearfy.php +26 -74
  42. components/assets-manager/admin/assets/css/general.css +455 -455
  43. components/assets-manager/admin/assets/css/index.php +0 -0
  44. components/assets-manager/admin/assets/index.php +0 -0
  45. components/assets-manager/admin/assets/js/index.php +0 -0
  46. components/assets-manager/admin/boot.php +46 -5
  47. components/assets-manager/admin/index.php +0 -0
  48. components/assets-manager/admin/pages/assets-manager.php +30 -72
  49. components/assets-manager/admin/pages/index.php +0 -0
  50. components/assets-manager/admin/pages/more-features.php +6 -2
  51. components/assets-manager/assets/css/assets-manager.css +229 -229
  52. components/assets-manager/assets/css/index.php +0 -0
  53. components/assets-manager/assets/img/index.php +0 -0
  54. components/assets-manager/assets/js/index.php +0 -0
  55. components/assets-manager/gonzales.php +25 -51
  56. components/assets-manager/includes/class.configurate-assets.php +32 -19
  57. components/assets-manager/includes/class.plugin.php +130 -0
  58. components/assets-manager/includes/index.php +0 -0
  59. components/assets-manager/index.php +0 -0
  60. components/assets-manager/languages/gonzales-fr_FR.mo +0 -0
  61. components/assets-manager/languages/gonzales-fr_FR.po +0 -171
  62. components/assets-manager/languages/gonzales-ru_RU.mo +0 -0
  63. components/assets-manager/languages/gonzales-ru_RU.po +85 -50
  64. components/assets-manager/languages/index.php +0 -0
  65. components/assets-manager/readme.txt +22 -2
  66. components/assets-manager/uninstall.php +1 -0
  67. components/comments-plus/admin/assets/css/general.css +455 -455
  68. components/comments-plus/admin/assets/css/index.php +0 -0
  69. components/comments-plus/admin/assets/index.php +0 -0
  70. components/comments-plus/admin/assets/js/index.php +0 -0
  71. components/comments-plus/admin/boot.php +6 -8
  72. components/comments-plus/admin/index.php +0 -0
  73. components/comments-plus/admin/pages/comments.php +83 -63
  74. components/comments-plus/admin/pages/delete-comments.php +52 -42
  75. components/comments-plus/admin/pages/index.php +0 -0
  76. components/comments-plus/admin/pages/more-features.php +6 -2
  77. components/comments-plus/assets/css/index.php +0 -0
  78. components/comments-plus/assets/index.php +0 -0
  79. components/comments-plus/assets/js/index.php +0 -0
  80. components/comments-plus/comments-plus.php +26 -52
  81. components/comments-plus/includes/class.plugin.php +133 -0
  82. components/comments-plus/includes/classes/class.configurate-comments.php +21 -15
  83. components/comments-plus/includes/classes/index.php +0 -0
  84. components/comments-plus/includes/index.php +0 -0
  85. components/comments-plus/index.php +0 -0
  86. components/comments-plus/languages/comments-plus-fr_FR.mo +0 -0
  87. components/comments-plus/languages/comments-plus-fr_FR.po +0 -302
  88. components/comments-plus/languages/comments-plus-ru_RU.mo +0 -0
  89. components/comments-plus/languages/comments-plus-ru_RU.po +95 -58
  90. components/comments-plus/languages/index.php +0 -0
  91. components/comments-plus/readme.txt +18 -2
  92. components/comments-plus/uninstall.php +1 -0
  93. components/cyrlitera/admin/activation.php +29 -0
  94. components/cyrlitera/admin/boot.php +180 -0
  95. components/cyrlitera/admin/index.php +0 -0
  96. components/cyrlitera/admin/options.php +229 -0
  97. components/cyrlitera/admin/pages/cyrlitera.php +85 -0
  98. components/cyrlitera/admin/pages/index.php +0 -0
  99. components/cyrlitera/admin/pages/more-features.php +16 -0
  100. components/cyrlitera/cyrlitera.php +60 -0
  101. components/cyrlitera/includes/class.helpers.php +257 -0
  102. components/cyrlitera/includes/class.plugin.php +136 -0
  103. components/cyrlitera/includes/classes/class.configurate-cyrlitera.php +227 -0
  104. components/cyrlitera/includes/classes/index.php +0 -0
  105. components/cyrlitera/includes/index.php +0 -0
  106. components/cyrlitera/index.php +0 -0
  107. components/cyrlitera/languages/cyrlitera-ru_RU.mo +0 -0
  108. components/cyrlitera/languages/cyrlitera-ru_RU.po +611 -0
  109. components/cyrlitera/languages/index.php +0 -0
  110. components/cyrlitera/libs/index.php +0 -0
  111. components/cyrlitera/readme.txt +108 -0
  112. components/cyrlitera/uninstall.php +14 -0
  113. components/cyrlitera/updates/010004.php +13 -0
  114. components/cyrlitera/updates/index.php +0 -0
  115. components/disable-admin-notices/admin/ajax/hide-notice.php +8 -5
  116. components/disable-admin-notices/admin/ajax/index.php +0 -0
  117. components/disable-admin-notices/admin/ajax/restore-notice.php +8 -5
  118. components/disable-admin-notices/admin/assets/css/index.php +0 -0
  119. components/disable-admin-notices/admin/assets/css/notifications-panel.css +65 -65
  120. components/disable-admin-notices/admin/assets/index.php +0 -0
  121. components/disable-admin-notices/admin/assets/js/index.php +0 -0
  122. components/disable-admin-notices/admin/boot.php +6 -16
  123. components/disable-admin-notices/admin/options.php +13 -12
  124. components/disable-admin-notices/admin/pages/index.php +0 -0
  125. components/disable-admin-notices/admin/pages/more-features.php +6 -2
  126. components/disable-admin-notices/admin/pages/notices.php +22 -21
  127. components/disable-admin-notices/disable-admin-notices.php +26 -52
  128. components/disable-admin-notices/includes/class.plugin.php +135 -0
  129. components/disable-admin-notices/includes/classes/class.configurate-notices.php +28 -8
  130. components/disable-admin-notices/includes/classes/index.php +0 -0
  131. components/disable-admin-notices/includes/index.php +0 -0
  132. components/disable-admin-notices/languages/disable-admin-notices-ru_RU.mo +0 -0
  133. components/disable-admin-notices/languages/disable-admin-notices-ru_RU.po +28 -28
  134. components/disable-admin-notices/languages/index.php +0 -0
  135. components/disable-admin-notices/libs/index.php +0 -0
  136. components/disable-admin-notices/readme.txt +12 -3
  137. components/disable-admin-notices/uninstall.php +1 -0
  138. components/hide-login-page/admin/boot.php +136 -0
  139. components/hide-login-page/admin/index.php +0 -0
  140. components/hide-login-page/admin/options.php +255 -0
  141. components/hide-login-page/admin/pages/hide-login.php +73 -0
  142. components/hide-login-page/admin/pages/index.php +0 -0
  143. components/hide-login-page/admin/pages/more-features.php +16 -0
  144. components/hide-login-page/hide-login-page.php +59 -0
  145. components/hide-login-page/includes/class.plugin.php +127 -0
  146. components/hide-login-page/includes/classes/class.configurate-hide-login-page.php +247 -0
  147. components/hide-login-page/includes/classes/index.php +0 -0
  148. components/hide-login-page/includes/index.php +0 -0
  149. components/hide-login-page/index.php +0 -0
  150. components/hide-login-page/languages/hide_login_page-ru_RU.mo +0 -0
  151. components/hide-login-page/languages/hide_login_page-ru_RU.po +191 -0
  152. components/hide-login-page/languages/index.php +0 -0
  153. components/hide-login-page/libs/index.php +0 -0
  154. components/hide-login-page/readme.txt +34 -0
  155. components/hide-login-page/uninstall.php +13 -0
  156. components/index.php +0 -0
  157. components/updates-manager/admin/assets/css/general.css +35 -35
  158. components/updates-manager/admin/assets/css/index.php +0 -0
  159. components/updates-manager/admin/assets/index.php +0 -0
  160. components/updates-manager/admin/assets/js/index.php +0 -0
  161. components/updates-manager/admin/boot.php +48 -8
  162. components/updates-manager/admin/index.php +0 -0
  163. components/updates-manager/admin/pages/advanced.php +36 -31
  164. components/updates-manager/admin/pages/index.php +0 -0
  165. components/updates-manager/admin/pages/more-features.php +6 -2
  166. components/updates-manager/admin/pages/plugins.php +52 -21
  167. components/updates-manager/admin/pages/updates.php +23 -7
  168. components/updates-manager/includes/class.plugin.php +135 -0
  169. components/updates-manager/includes/classes/class.configurate-updates.php +85 -10
  170. components/updates-manager/includes/classes/index.php +0 -0
  171. components/updates-manager/includes/index.php +0 -0
  172. components/updates-manager/index.php +0 -0
  173. components/updates-manager/languages/index.php +0 -0
  174. components/updates-manager/languages/webcraftic-updates-manager-fr_FR.mo +0 -0
  175. components/updates-manager/languages/webcraftic-updates-manager-fr_FR.po +0 -247
  176. components/updates-manager/languages/webcraftic-updates-manager-it-IT.mo +0 -0
  177. components/updates-manager/languages/webcraftic-updates-manager-it-IT.po +0 -184
  178. components/updates-manager/languages/webcraftic-updates-manager-ru_RU.mo +0 -0
  179. components/updates-manager/languages/webcraftic-updates-manager-ru_RU.po +115 -57
  180. components/updates-manager/libs/index.php +0 -0
  181. components/updates-manager/readme.txt +18 -13
  182. components/updates-manager/uninstall.php +2 -2
  183. components/updates-manager/webcraftic-updates-manager.php +20 -51
  184. includes/class.plugin.php +255 -0
  185. includes/classes/class.configurate-advanced.php +33 -23
  186. includes/classes/class.configurate-google-performance.php +490 -0
  187. includes/classes/{class.configurate-code-clean.php → class.configurate-performance.php} +243 -117
  188. includes/classes/class.configurate-privacy.php +35 -35
  189. includes/classes/class.configurate-security.php +26 -9
  190. includes/classes/class.configurate-seo.php +58 -41
  191. includes/classes/class.wordpress-sanitize.php +0 -320
  192. includes/classes/class.zip-archive.php +5 -0
  193. includes/classes/index.php +0 -0
  194. includes/functions.php +0 -277
  195. includes/helpers.php +320 -0
  196. includes/index.php +0 -0
  197. includes/update-local-ga.php +81 -0
  198. index.php +0 -0
  199. languages/clearfy-fr_FR.mo +0 -0
  200. languages/clearfy-fr_FR.po +0 -1312
  201. languages/clearfy-it_IT.mo +0 -0
  202. languages/clearfy-it_IT.po +0 -1324
  203. languages/clearfy-ru_RU.mo +0 -0
  204. 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 Factory326_Activator
8
  * @version 1.0
9
  */
10
- /*class WbcrClr_Activation extends Factory326_Activator {
 
 
 
 
 
 
11
 
12
  /**
13
  * Runs activation actions.
14
  *
15
  * @since 1.0.0
16
  */
17
- /*public function activate()
18
- {
19
- global $wbcr_clearfy_plugin;
 
 
 
20
 
21
- do_action('wbcr_clearfy_before_activation', $wbcr_clearfy_plugin, $this);
22
- //wbcr_clearfy_import_old_options();
23
- do_action('wbcr_clearfy_after_activation', $wbcr_clearfy_plugin, $this);
24
- }
25
- }*/
26
 
27
- /*$wbcr_clearfy_plugin->registerActivation('WbcrClr_Activation');*/
 
 
28
 
29
- /*function bizpanda_cancel_plugin_deactivation($cancel)
30
- {
31
- if( !BizPanda::isSinglePlugin() ) {
32
- return true;
 
 
 
 
 
 
 
33
  }
34
 
35
- return $cancel;
 
 
 
 
 
 
 
 
 
 
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
- $group = WbcrClr_Group::getInstance($mode_name);
 
34
  $mode_options = $group->getOptions();
35
 
36
  if( empty($mode_options) ) {
@@ -48,16 +50,20 @@
48
  $set_value = $option_value;
49
  }
50
 
51
- update_option($opt_prefix . $option_name, $set_value);
 
 
52
  }
53
  } else {
54
- $all_options = WbcrClr_Option::getAllOptions();
 
55
 
56
  if( !empty($all_options) ) {
57
  foreach($all_options as $option) {
58
- delete_option($opt_prefix . $option->getName());
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' => wbcr_get_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, $wbcr_clearfy_plugin;
12
 
13
  check_ajax_referer('wbcr_clearfy_ajax_quick_start_nonce', 'security');
14
 
@@ -17,7 +22,7 @@
17
  exit;
18
  }
19
 
20
- $settings = wbcr_maybe_get_post_json('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( $wbcr_clearfy_plugin->pluginName . '_robots_txt_text' == $option_name ) {
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 = trim($matches[1]);
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
- $wpdb->query("DELETE FROM {$wpdb->prefix}options WHERE option_name LIKE '%" . $wbcr_clearfy_plugin->pluginName . "_%';");
 
 
 
 
 
 
 
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
- #WBCR .wbcr-clearfy-group-header {
18
- background: #efefef;
19
- padding: 20px 0 10px 20px;
20
- margin: 30px 0;
21
- box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
22
- }
23
- #WBCR .wbcr-clearfy-group-header:first-child {
24
- margin-top: 0;
25
- }
26
- #WBCR .wbcr-clearfy-group-header strong {
27
- font-size: 15px;
28
- }
29
- #WBCR .wbcr-clearfy-group-header p {
30
- color: #8c8888;
31
- font-size: 12px;
32
- }
33
- #WBCR .wbcr-clearfy-board {
34
- background: #f9f8f8;
35
- box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.1);
36
- padding: 20px;
37
- margin-bottom: 20px;
38
- min-width: 350px;
39
- }
40
- #WBCR #wbcr-clearfy-quick-mode-board h4 {
41
- margin-top: 30px;
42
- }
43
- #WBCR .wbcr-clearfy-switch-success-message,
44
- #WBCR .wbcr-clearfy-switch-error-message {
45
- display: none;
46
- padding: 15px 20px;
47
- font-size: 13px;
48
- font-weight: bold;
49
- margin: 0 0 15px;
50
- border-radius: 4px;
51
- }
52
- #WBCR .wbcr-clearfy-switch-success-message {
53
- background: #e5f9ce;
54
- border-bottom: 3px solid #d3eab9;
55
- color: #56614a;
56
- }
57
- #WBCR .wbcr-clearfy-switch-error-message {
58
- background: #fdc6c2;
59
- border-bottom: 3px solid #e2a19c;
60
- color: #bd6963;
61
- }
62
- #WBCR .wbcr-clearfy-export-import-board {
63
- text-align: right;
64
- }
65
- #WBCR .wbcr-clearfy-export-import-board label {
66
- display: block;
67
- width: 100%;
68
- text-align: left;
69
- padding: 7px 0;
70
- }
71
- #WBCR .wbcr-clearfy-export-import-board #wbcr-clearfy-import-export {
72
- width: 100%;
73
- box-sizing: border-box;
74
- height: 150px;
75
- line-height: inherit;
76
- margin: 0;
77
- padding: 7px 14px;
78
- box-shadow: none;
79
- border-radius: 3px;
80
- border: 1px solid #eee;
81
- border-top-color: #dedede;
82
- background-color: #f1f1f1;
83
- color: #444;
84
- transition: border-color 0.3s;
85
- -webkit-appearance: none;
86
- }
87
- #WBCR .wbcr-clearfy-export-import-board .wbcr-clearfy-import-options-button {
88
- display: inline-block;
89
- margin-top: 10px;
90
- }
91
- #WBCR #wbcr-clearfy-quick-mode-board {
92
- padding-right: 20px;
93
- }
94
- #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch {
95
- position: relative;
96
- padding: 15px 20px;
97
- font-size: 12px;
98
- text-transform: uppercase;
99
- background: #f1f1f1;
100
- color: #6d6d6d;
101
- font-weight: bold;
102
- border-radius: 5px;
103
- margin-top: 10px;
104
- text-align: left;
105
- box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
106
- -webkit-transition: all 0.2s ease-out;
107
- -moz-transition: all 0.2s ease-out;
108
- -o-transition: all 0.2s ease-out;
109
- transition: all 0.2s ease-out;
110
- /*&.wbcr-clearfy-mode-reset:hover {
111
- & .wbcr-clearfy-button-activate-mode {
112
- background-color: #fb7976;
113
- color: darken(#fb7976, 50%);
114
- &:hover {
115
- background-color: lighten(#fb7976, 3%);
116
- }
117
- }
118
- }*/
119
- }
120
- #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch:after {
121
- display: block;
122
- clear: both;
123
- }
124
- #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch .fa,
125
- #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch .dashicons {
126
- font-size: 25px;
127
- }
128
- #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch .fa,
129
- #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch .dashicons,
130
- #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch span {
131
- display: inline-block !important;
132
- }
133
- #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch span {
134
- margin-left: 15px;
135
- margin-top: 3px;
136
- }
137
- #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-active {
138
- /*.fa, .dashicons:before {
139
- color: #8bc34a;
140
- }
141
-
142
- & .wbcr-clearfy-button-activate-mode {
143
- display: none !important;
144
- }
145
- & .wbcr-clearfy-button-deativate-mode {
146
- display: inline-block !important;
147
- }*/
148
- }
149
- #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-active .wbcr-clearfy-button-activate-mode {
150
- background-color: #f7f7f7 !important;
151
- color: #e0e0e0 !important;
152
- cursor: default;
153
- }
154
- #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-switch-mode-reset .wbcr-clearfy-switch-confirmation {
155
- width: 130px;
156
- }
157
- #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-switch-mode-reset .wbcr-clearfy-switch-confirmation .wbcr-clearfy-button-activate-mode {
158
- width: 130px;
159
- background-color: #fdd599;
160
- color: #a57b3c;
161
- }
162
- #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-switch-mode-reset .wbcr-clearfy-switch-confirmation .wbcr-clearfy-button-activate-mode:hover {
163
- background-color: #fddba8;
164
- }
165
- #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-switch-mode-recommended .fa,
166
- #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-switch-mode-recommended .dashicons:before {
167
- color: #8bc34a;
168
- }
169
- #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-switch-mode-recommended .wbcr-clearfy-button-activate-mode {
170
- background-color: #c9deb2;
171
- color: #586549;
172
- }
173
- #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-switch-mode-recommended .wbcr-clearfy-button-activate-mode:hover {
174
- background-color: #d1e3bd;
175
- }
176
- #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-loading .wbcr-clearfy-switch-confirmation button {
177
- background-color: #f7f7f7 !important;
178
- color: #e0e0e0 !important;
179
- cursor: default !important;
180
- }
181
- #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch .wbcr-clearfy-switch-confirmation {
182
- position: absolute;
183
- top: 0;
184
- right: 20px;
185
- bottom: 0;
186
- width: 100px;
187
- text-align: right;
188
- -webkit-transition: all 0.3s ease-out;
189
- -moz-transition: all 0.3s ease-out;
190
- -o-transition: all 0.3s ease-out;
191
- transition: all 0.3s ease-out;
192
- }
193
- #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch .wbcr-clearfy-switch-confirmation button {
194
- display: inline-block;
195
- width: 100px;
196
- margin: 12px 0 0;
197
- border: 0;
198
- box-shadow: none;
199
- padding: 5px 10px;
200
- font-weight: bold;
201
- font-size: 13px;
202
- border-radius: 3px;
203
- outline: none;
204
- background-color: #dedede;
205
- color: #808080;
206
- /*&.wbcr-clearfy-button-activate-mode {
207
- background-color: #c9deb2;
208
- color: #586549;
209
- &:hover {
210
- background-color: lighten(#c9deb2, 3%);
211
- }
212
- }
213
- &.wbcr-clearfy-button-deativate-mode {
214
- display: none;
215
- background-color: #fdd599;
216
- color: #a57b3c;
217
- margin-right: 0;
218
- &:hover {
219
- background-color: lighten(#fdd599, 3%);
220
- }
221
- }*/
222
- }
223
- #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch .wbcr-clearfy-switch-confirmation button:hover {
224
- background-color: #d6d6d6;
225
- }
226
- #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch .wbcr-clearfy-switch-confirmation button:active {
227
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.5);
228
- }
229
- #WBCR .wbcr-clearfy-layer {
230
- display: none;
231
- position: absolute;
232
- top: 0;
233
- left: 0;
234
- right: 0;
235
- bottom: 0;
236
- background: rgba(255, 235, 59, 0.18);
237
- z-index: 9;
238
- }
239
- #WBCR .wbcr-clearfy-confirm-popup {
240
- display: none;
241
- position: absolute;
242
- top: 50%;
243
- left: 50%;
244
- width: 500px;
245
- height: 400px;
246
- margin: -200px 0 0 -250px;
247
- padding: 20px;
248
- background: rgba(255, 255, 255, 0.82);
249
- box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
250
- border: 4px solid rgba(216, 210, 171, 0.44);
251
- z-index: 99;
252
- }
253
- #WBCR .wbcr-clearfy-confirm-popup h3 {
254
- font-size: 17px;
255
- text-align: center;
256
- font-weight: bold;
257
- margin: 5px 0 0;
258
- }
259
- #WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-reset-warning-message {
260
- display: none;
261
- text-align: center;
262
- }
263
- #WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-list-options {
264
- display: none;
265
- height: 230px;
266
- overflow-y: auto;
267
- overflow-x: hidden;
268
- padding-left: 40px;
269
- list-style: decimal;
270
- margin: 20px 0;
271
- }
272
- #WBCR .wbcr-clearfy-confirm-popup.wbcr-clearfy-default-warning-options .wbcr-clearfy-list-options {
273
- display: block;
274
- }
275
- #WBCR .wbcr-clearfy-confirm-popup.wbcr-clearfy-reset-warning-options {
276
- height: 200px;
277
- margin: -100px 0 0 -250px;
278
- }
279
- #WBCR .wbcr-clearfy-confirm-popup.wbcr-clearfy-reset-warning-options .wbcr-clearfy-reset-warning-message {
280
- display: block;
281
- margin: 10px 0;
282
- }
283
- #WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-popup-buttons {
284
- text-align: center;
285
- padding: 10px;
286
- }
287
- #WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-popup-buttons button {
288
- display: inline-block;
289
- padding: 7px 25px;
290
- box-shadow: none;
291
- border: 0;
292
- font-weight: bold;
293
- }
294
- #WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-popup-buttons button,
295
- #WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-popup-buttons button:focus {
296
- outline: 0 !important;
297
- box-shadow: none !important;
298
- }
299
- #WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-popup-buttons button.wbcr-clearfy-popup-button-ok {
300
- background: #FFEB3B;
301
- color: #564f0d;
302
- }
303
- #WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-popup-buttons button.wbcr-clearfy-cancel-mode {
304
- background: #d6d6d6;
305
- color: #5f5d5d;
306
- }
307
- @media screen and (max-width: 1380px) {
308
- #WBCR #wbcr-clearfy-quick-mode-board {
309
- min-width: 450px;
310
- padding-right: 0;
311
- }
312
- #WBCR .wbcr-content-section,
313
- #WBCR .wbcr-right-sidebar-section {
314
- width: 100%;
315
- }
316
- #WBCR .wbcr-clearfy-export-import-board {
317
- margin-top: 20px;
318
- }
319
- }
320
- @media screen and (max-width: 950px) {
321
- #WBCR #wbcr-clearfy-quick-mode-board {
322
- min-width: 100%;
323
- }
324
- #WBCR .wbcr-content-section,
325
- #WBCR .wbcr-right-sidebar-section {
326
- width: 100%;
327
- }
328
- #WBCR .wbcr-clearfy-board {
329
- width: 100%;
330
- min-width: 100%;
331
- }
332
- }
333
- @media screen and (max-width: 550px) {
334
- #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch span {
335
- font-size: 0 !important;
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
- require_once(WBCR_CLR_PLUGIN_DIR . '/admin/includes/classes/class.option.php');
10
- require_once(WBCR_CLR_PLUGIN_DIR . '/admin/includes/classes/class.group.php');
11
- require_once(WBCR_CLR_PLUGIN_DIR . '/admin/includes/classes/class.pages.php');
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
- require_once(WBCR_CLR_PLUGIN_DIR . '/admin/pages/additionally.php');
31
- require_once(WBCR_CLR_PLUGIN_DIR . '/admin/pages/components.php');
 
 
 
 
32
 
33
- if( defined('DOING_AJAX') && DOING_AJAX && isset($_REQUEST['action']) && $_REQUEST['action'] == 'wbcr_clearfy_configurate' ) {
34
- require(WBCR_CLR_PLUGIN_DIR . '/admin/ajax/configurate.php');
35
- }
 
 
 
 
 
36
 
37
- if( defined('DOING_AJAX') && DOING_AJAX && isset($_REQUEST['action']) && $_REQUEST['action'] == 'wbcr_clearfy_import_settings' ) {
38
- require(WBCR_CLR_PLUGIN_DIR . '/admin/ajax/import-settings.php');
 
 
 
 
 
 
 
 
 
 
 
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('wbcr_clearfy_settings_pointer', $dismissed_pointers) || !in_array('wbcr_clearfy_components_pointer', $dismissed_pointers) ) {
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 (1.1.9)', 'clearfy') . "</h3>";
67
- $pointer_setting_content .= "<p>" . __('We have moved the plugins menu to the general settings for your comfort. There are new plugin features. Please go to the plugin page to learn more!', 'clearfy') . "</p>";
 
 
 
68
 
69
- $pointer_components_content = "<h3>" . __('Remove the excess from Clearfy (1.1.9)', 'clearfy') . "</h3>";
70
- $pointer_components_content .= "<p>" . __('We have divided plugin features into components. You can turn off unused plugin functions.', 'clearfy') . "</p>";
71
 
72
  ?>
73
 
74
  <script type="text/javascript">
75
  //<![CDATA[
76
  jQuery(document).ready(function($) {
77
- <?php if(!in_array('wbcr_clearfy_settings_pointer', $dismissed_pointers)): ?>
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: 'wbcr_clearfy_settings_pointer', // pointer ID
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
88
  action: 'dismiss-wp-pointer'
89
  });
90
  }
91
  }).pointer('open');
92
  <?php endif; ?>
93
- <?php if(!in_array('wbcr_clearfy_components_pointer', $dismissed_pointers)): ?>
94
- $('#components-wbcr_clearfy-tab').pointer({
95
- content: '<?php echo $pointer_components_content; ?>',
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: 'wbcr_clearfy_components_pointer', // pointer ID
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
- class WbcrClr_Group {
 
 
 
 
 
 
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 WbcrClr_Group($group_name);
24
  }
25
 
 
 
 
26
  public function getName()
27
  {
28
  return $this->group_name;
29
  }
30
 
 
 
 
31
  public function getOptions()
32
  {
33
- $options = WbcrClr_Option::getAllOptions();
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
- class WbcrClr_Option {
 
 
 
 
 
 
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 array
64
  */
65
  public static function getAllOptions()
66
  {
67
- $all_options = require(WBCR_CLR_PLUGIN_DIR . '/admin/includes/options.php');
68
  $result = array();
69
 
70
  if( !empty($all_options) ) {
71
  foreach($all_options as $option_data) {
72
- $result[] = new WbcrClr_Option($option_data);
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
- class WbcrClr_Page extends FactoryPages324_ImpressiveThemplate {
 
 
 
 
 
9
 
10
- public function __construct(Factory326_Plugin $plugin)
 
 
 
11
  {
12
  parent::__construct($plugin);
13
  }
@@ -15,7 +23,7 @@
15
  /**
16
  * Requests assets (js and css) for the page.
17
  *
18
- * @see FactoryPages324_AdminPage
19
  *
20
  * @since 1.0.0
21
  * @return void
@@ -24,7 +32,36 @@
24
  {
25
  parent::assets($scripts, $styles);
26
 
27
- $this->styles->add(WBCR_CLR_PLUGIN_URL . '/admin/assets/css/general.css');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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' => array('recommended', 'clear_code')
 
 
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
- class WbcrClr_AdditionallyPage 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 = "additionally";
20
 
21
  public $page_menu_dashicon = 'dashicons-list-view';
22
 
23
- public $page_menu_position = 0;
24
 
25
- public function __construct(Factory326_Plugin $plugin)
 
 
 
26
  {
27
- $this->menuTitle = __('Advanced', 'clearfy');
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( empty($preinsatall_components) || !in_array('adminbar_manager', $preinsatall_components) ) {
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( empty($preinsatall_components) || !in_array('post_tools', $preinsatall_components) ) {
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
- class WbcrClr_ComponentsPage extends WbcrClr_Page {
 
 
 
 
 
 
12
 
13
  /**
14
  * The id of the page in the admin menu.
15
  *
16
  * Mainly used to navigate between pages.
17
- * @see FactoryPages324_AdminPage
18
  *
19
  * @since 1.0.0
20
  * @var string
@@ -27,17 +32,22 @@
27
 
28
  public $type = 'page';
29
 
30
- public function __construct(Factory326_Plugin $plugin)
 
 
 
31
  {
32
- $this->menuTitle = __('Components', 'clearfy');
33
 
34
  parent::__construct($plugin);
 
 
35
  }
36
 
37
  /**
38
  * Requests assets (js and css) for the page.
39
  *
40
- * @see FactoryPages324_AdminPage
41
  *
42
  * @since 1.0.0
43
  * @return void
@@ -46,30 +56,35 @@
46
  {
47
  parent::assets($scripts, $styles);
48
 
49
- $this->styles->add(WBCR_CLR_PLUGIN_URL . '/admin/assets/css/components.css');
50
  }
51
 
52
  public function showPageContent()
53
  {
54
- global $wbcr_clearfy_plugin;
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' => 'update_manager',
 
 
 
 
 
 
 
63
  'title' => __('Updates manager', 'clearfy'),
64
  'url' => '#',
65
- 'icon' => WBCR_CLR_PLUGIN_URL . '/admin/assets/img/upm-icon-128x128.png',
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' => WBCR_CLR_PLUGIN_URL . '/admin/assets/img/dic-icon-128x128.png',
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' => WBCR_CLR_PLUGIN_URL . '/admin/assets/img/asm-icon-128x128.png',
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' => WBCR_CLR_PLUGIN_URL . '/admin/assets/img/dan-icon-128x128.jpg',
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
- <p><?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') ?></p>
 
 
 
 
 
 
 
 
 
 
 
 
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 = (array)$wbcr_clearfy_plugin->options['deactive_preinstall_components'];
170
 
171
  if( !in_array($plugin_id, $preinsatall_components) ) {
172
  $preinsatall_components[] = $plugin_id;
173
  }
174
 
175
- update_option($this->plugin->pluginName . '_deactive_preinstall_components', $preinsatall_components);
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 = (array)$wbcr_clearfy_plugin->options['deactive_preinstall_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
- update_option($this->plugin->pluginName . '_deactive_preinstall_components', $preinsatall_components);
198
-
199
  $this->redirectToAction('index');
200
  }
201
  }
202
 
203
- FactoryPages324::register($wbcr_clearfy_plugin, 'WbcrClr_ComponentsPage');
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'), '&lt;head&gt;'),
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
- class WbcrClr_DefencePage 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 = "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
- * Shows the description above the options.
32
- *
33
- * @since 1.0.0
34
- * @return void
35
  */
36
- /*public function _showHeader()
37
  {
38
- ?>
39
- <div class="wbcr-clearfy-header">
40
- <?php _e('This page contains the security configuration settings for your site.', 'clearfy') ?>
41
- </div>
42
- <?php
43
- }*/
44
 
45
  /**
46
  * Permalinks options.
@@ -51,62 +47,53 @@
51
  public function getOptions()
52
  {
53
  $options = array();
54
-
55
- /*$options[] = array(
56
  'type' => 'html',
57
- 'html' => array($this, '_showHeader')
58
- );*/
59
-
60
  $options[] = array(
61
  'type' => 'checkbox',
62
  'way' => 'buttons',
63
  'name' => 'protect_author_get',
64
- 'title' => __('Hide author login', 'clearfy') . ' <span class="wbcr-clearfy-recomended-text">(' . __('Recommended', 'clearfy') . ')</span>',
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') . ' <span class="wbcr-clearfy-recomended-text">(' . __('Recommended', 'clearfy') . ')</span>',
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') . ' <span class="wbcr-clearfy-recomended-text">(' . __('Recommended', 'clearfy') . ')</span>',
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
- /*$options[] = array(
91
- 'type' => 'separator',
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
- class WbcrClr_CodeCleanPage 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 = "code_clean";
20
 
21
- public $page_menu_dashicon = 'dashicons-yes';
 
 
 
22
 
 
 
 
23
  public $page_menu_position = 20;
24
 
25
- public function __construct(Factory326_Plugin $plugin)
 
 
 
26
  {
27
- $this->menuTitle = __('Code cleaning', 'clearfy');
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
- <div class="wbcr-clearfy-header">
42
- <?php _e('On this settings page, you can optimize the source code of the page.', 'clearfy') ?>
43
- </div>
44
- <?php
45
- }*/
46
 
47
  /**
48
  * Permalinks options.
@@ -54,10 +64,10 @@
54
  {
55
  $options = array();
56
 
57
- /*$options[] = array(
58
  'type' => 'html',
59
- 'html' => array($this, '_showHeader')
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'), '&lt;head&gt;'),
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') . ' <span class="wbcr-clearfy-recomended-text">(' . __('Recommended', 'clearfy') . ')</span>',
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
- $options[] = array(
113
  'type' => 'checkbox',
114
  'way' => 'buttons',
115
  'name' => 'remove_dns_prefetch',
116
- 'title' => __('Remove dns-prefetch', 'clearfy') . ' <span class="wbcr-clearfy-recomended-text">(' . __('Recommended', 'clearfy') . ')</span>',
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') . ' <span class="wbcr-clearfy-recomended-text">(' . __('Recommended', 'clearfy') . ')</span>',
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') . ' <span class="wbcr-clearfy-recomended-text">(' . __('Recommended', 'clearfy') . ')</span>',
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') . ' <span class="wbcr-clearfy-recomended-text">(' . __('Recommended', 'clearfy') . ')</span>',
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') . ' <span class="wbcr-clearfy-recomended-text">(' . __('Recommended', 'clearfy') . ')</span>',
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') . ' <span class="wbcr-clearfy-recomended-text">(' . __('Recommended', 'clearfy') . ')</span>',
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' => 'html_minify',
175
- 'title' => __('HTML minify', 'clearfy'),
 
 
 
 
 
 
 
 
 
 
176
  'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
177
- 'hint' => __('Reduces the weight of the page by removing line breaks, tabs, spaces, etc.', 'clearfy') . '<br><br><b>Clearfy: </b>' . __('Minify pages.', 'clearfy'),
178
  'default' => false
179
  );
180
 
181
  $options[] = array(
182
  'type' => 'checkbox',
183
  'way' => 'buttons',
184
- 'name' => 'remove_html_comments',
185
- 'title' => __('Remove html comments', 'clearfy'),
186
  'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
187
- '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'),
 
 
 
 
 
 
 
 
 
 
 
 
 
188
  'default' => false
189
  );
190
 
191
- /*$options[] = array(
192
- 'type' => 'separator',
193
- 'cssClass' => 'factory-separator-dashed'
 
 
 
 
 
 
194
  );
195
 
196
  $options[] = array(
197
- 'type' => 'html',
198
- 'html' => array($this, '_showFormButton')
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'), '&lt;head&gt;'),
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'), '&lt;head&gt;'),
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
- class WbcrClr_QuickStartPage 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 = "quick_start";
20
-
21
- public $page_menu_dashicon = 'dashicons-performance';
22
-
 
 
 
 
 
 
23
  public $page_menu_position = 100;
24
-
 
 
 
25
  public $internal = false;
26
 
27
- public $menuTarget = 'options-general.php';
28
-
29
- public $addLinkToPluginActions = true;
30
-
31
- //public $menuIcon = '\f321';
32
-
 
 
 
 
 
 
 
33
  public $type = 'page';
34
-
35
- public function __construct(Factory326_Plugin $plugin)
 
 
 
36
  {
37
- $this->menuTitle = __('Clearfy menu', 'clearfy');
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 FactoryPages324_AdminPage
51
  *
52
  * @since 1.0.0
53
  * @return void
@@ -56,7 +83,7 @@
56
  {
57
  parent::assets($scripts, $styles);
58
 
59
- $this->scripts->add(WBCR_CLR_PLUGIN_URL . '/admin/assets/js/general.js');
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) - HMW_REQUEST_TIME, 3);
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(WBCR_CLR_PLUGIN_DIR . '/includes/classes/class.zip-archive.php');
126
 
127
- $reposts_dir = WBCR_CLR_PLUGIN_DIR . '/reports';
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 = WBCR_CLR_PLUGIN_DIR . '/reports/' . $download_file_name;
144
 
145
- Wbcr_ExtendedZip::zipTree(WBCR_CLR_PLUGIN_DIR . '/reports/temp', $download_file_path, ZipArchive::CREATE);
146
 
147
- array_map('unlink', glob(WBCR_CLR_PLUGIN_DIR . "/reports/temp/*"));
148
 
149
- wp_redirect(WBCR_CLR_PLUGIN_URL . '/reports/' . $download_file_name);
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
- $preinsatall_components = (array)$wbcr_clearfy_plugin->options['deactive_preinstall_components'];
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 = WbcrClr_Group::getInstance($mode_name);
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 = wbcr_get_escape_json($filter_mode_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"><?= wbcr_get_export_options(); ?></textarea>
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-' . $wbcr_clearfy_plugin->pluginName . '&action=gererate_report'); ?>" class="button"><?php _e('Generate Debug Report', 'clearfy') ?></a>
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
- class WbcrClr_DoublePagesPage 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 = "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
- public function __construct(Factory326_Plugin $plugin)
 
 
 
28
  {
29
- $this->menuTitle = __('Duplicate pages', 'clearfy');
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') . ' <span class="wbcr-clearfy-recomended-text">(' . __('Recommended', 'clearfy') . ')</span>',
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') . ' <span class="wbcr-clearfy-recomended-text">(' . __('Recommended', 'clearfy') . ')</span>',
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') . ' <span class="wbcr-clearfy-recomended-text">(' . __('Recommended', 'clearfy') . ')</span>',
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') . ' <span class="wbcr-clearfy-recomended-text">(' . __('Recommended', 'clearfy') . ')</span>',
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') . ' <span class="wbcr-clearfy-recomended-text">(' . __('Recommended', 'clearfy') . ')</span>',
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') . ' <span class="wbcr-clearfy-recomended-text">(' . __('Recommended', 'clearfy') . ')</span>',
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
- class WbcrClr_SeoPage 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
@@ -22,27 +27,32 @@
22
 
23
  public $page_menu_position = 16;
24
 
25
- public function __construct(Factory326_Plugin $plugin)
 
 
 
26
  {
27
- $this->menuTitle = __('SEO', 'clearfy');
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
- <div class="wbcr-clearfy-header">
42
- <?php _e('This page contains important settings for SEO optimization.', 'clearfy') ?>
43
- </div>
44
- <?php
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
- $preinsatall_components = (array)$wbcr_clearfy_plugin->options['deactive_preinstall_components'];
59
-
60
- /*$options[] = array(
61
  'type' => 'html',
62
- 'html' => array($this, '_showHeader')
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' => wbcr_clearfy_get_right_robot_txt(),
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( empty($preinsatall_components) || !in_array('yoast_seo', $preinsatall_components) ) {
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
- FactoryPages324::register($wbcr_clearfy_plugin, 'WbcrClr_SeoPage');
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
- class WbcrClr_WidgetsPage 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
@@ -20,11 +25,16 @@
20
 
21
  public $page_menu_dashicon = 'dashicons-networking';
22
 
23
- public function __construct(Factory326_Plugin $plugin)
 
 
 
24
  {
25
- $this->menuTitle = __('Widgets', 'clearfy');
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('wbcr_clr_seo_form_options', $form_options);
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("&gtm")==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.92
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('WBCR_CLR_PLUGIN_DIR', dirname(__FILE__));
18
- define('WBCR_CLR_PLUGIN_BASE', plugin_basename(__FILE__));
19
- define('WBCR_CLR_PLUGIN_URL', plugins_url(null, __FILE__));
20
 
21
 
22
 
23
- // creating a plugin via the factory
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
- require(WBCR_CLR_PLUGIN_DIR . '/includes/functions.php');
55
-
56
- // loading other files
57
- if( is_admin() ) {
58
- require(WBCR_CLR_PLUGIN_DIR . '/admin/boot.php');
59
- }
60
-
61
- require(WBCR_CLR_PLUGIN_DIR . '/includes/classes/class.configurate-code-clean.php');
62
- require(WBCR_CLR_PLUGIN_DIR . '/includes/classes/class.configurate-privacy.php');
63
- require(WBCR_CLR_PLUGIN_DIR . '/includes/classes/class.configurate-security.php');
64
- require(WBCR_CLR_PLUGIN_DIR . '/includes/classes/class.configurate-seo.php');
65
- require(WBCR_CLR_PLUGIN_DIR . '/includes/classes/class.configurate-advanced.php');
66
-
67
- new WbcrClearfy_ConfigCodeClean($wbcr_clearfy_plugin);
68
- new WbcrClearfy_ConfigPrivacy($wbcr_clearfy_plugin);
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-330 label {
29
- font-weight: normal;
30
- }
31
- #WBCR .factory-bootstrap-330 .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
- }
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
- require(WBCR_GNZ_PLUGIN_DIR . '/admin/pages/assets-manager.php');
 
 
 
 
 
10
 
11
  if( !defined('LOADING_GONZALES_AS_ADDON') ) {
12
- require(WBCR_GNZ_PLUGIN_DIR . '/admin/pages/more-features.php');
13
  }
14
 
15
  function wbcr_gnz_set_plugin_meta($links, $file)
16
  {
17
- if( $file == WBCR_GNZ_PLUGIN_BASE ) {
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 == 'wbcr_gonzales' ) {
31
  return 'https://goo.gl/zyNV6z';
32
  }
33
 
34
  return $page_url;
35
  }
36
 
37
- add_filter('wbcr_factory_imppage_rating_widget_url', 'wbcr_gnz_rating_widget_url', 10, 2);
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
- class WbcrGnz_AssetsManagerPage extends FactoryPages324_ImpressiveThemplate {
 
 
 
 
 
 
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 = "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
- * Stores list of all available assets (used in rendering panel)
28
- *
29
- * @var array
30
  */
31
- //private $collection = array();
32
-
33
- public function __construct(Factory326_Plugin $plugin)
34
  {
35
- $this->menuTitle = __('Assets manager', 'gonzales');
36
 
37
  if( !defined('LOADING_GONZALES_AS_ADDON') ) {
38
  $this->internal = false;
39
- $this->menuTarget = 'options-general.php';
40
- $this->addLinkToPluginActions = true;
 
 
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
- $types = get_post_types(array('public' => true), 'objects');
108
- $post_types = array();
109
- foreach($types as $type_name => $type) {
110
- $post_types[] = array($type_name, $type->label);
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
- FactoryPages324::register($wbcr_gonzales_plugin, 'WbcrGnz_MoreFeaturesPage');
 
 
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.1
8
  * Text Domain: gonzales
9
  * Domain Path: /languages/
 
10
  */
11
 
12
- if( defined('WBCR_GNZ_PLUGIN_ACTIVE') || (defined('WBCR_CLEARFY_PLUGIN_ACTIVE') && !defined('LOADING_GONZALES_AS_ADDON')) ) {
 
 
 
 
 
13
  function wbcr_gnz_admin_notice_error()
14
  {
15
  ?>
@@ -24,63 +30,31 @@
24
  return;
25
  } else {
26
 
27
- define('WBCR_GNZ_PLUGIN_ACTIVE', true);
28
 
29
- define('WBCR_GNZ_PLUGIN_DIR', dirname(__FILE__));
30
- define('WBCR_GNZ_PLUGIN_BASE', plugin_basename(__FILE__));
31
- define('WBCR_GNZ_PLUGIN_URL', plugins_url(null, __FILE__));
32
 
33
 
34
 
35
  if( !defined('LOADING_GONZALES_AS_ADDON') ) {
36
- require_once(WBCR_GNZ_PLUGIN_DIR . '/libs/factory/core/boot.php');
37
  }
38
 
39
- function wbcr_gnz_plugin_init()
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
- // requires factory modules
63
- $wbcr_gonzales_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_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
- class WbcrGnz_ConfigAssetsManager extends WbcrFactoryClearfy_Configurate {
 
 
 
 
 
 
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 = (bool)$this->getOption('disable_assets_manager_on_front', false);
29
- $on_backend = (bool)$this->getOption('disable_assets_manager_on_backend', true);
30
- $is_panel = (bool)$this->getOption('disable_assets_manager_panel', false);
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('manager_options', array());
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-' . $wbcr_gonzales_plugin->pluginName;
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('manager_options', array());
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
- update_option($wbcr_gonzales_plugin->pluginName . '_manager_options', $options);
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('manager_options', array());
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', WBCR_GNZ_PLUGIN_URL . '/assets/css/assets-manager.css', array(), $wbcr_gonzales_plugin->version);
539
- wp_enqueue_script('wbcr-assets-manager', WBCR_GNZ_PLUGIN_URL . '/assets/js/assets-manager.js', array(), $wbcr_gonzales_plugin->version, true);
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: 2017-11-16 09:47+0300\n"
5
- "PO-Revision-Date: 2017-11-16 13:23+0300\n"
6
  "Last-Translator: alex.kovalevv@gmail.com <alex.kovalevv@gmail.com>\n"
7
  "Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
8
  "Language: ru_RU\n"
@@ -18,32 +18,66 @@ msgstr ""
18
  "X-Poedit-SearchPath-0: .\n"
19
  "X-Poedit-SearchPathExcluded-0: libs\n"
20
 
21
- #: admin/pages/assets-manager.php:33
22
- #: plugin/includes/class.configurate-assets.php:106
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
23
  msgid "Assets manager"
24
  msgstr "Менеджер скриптов"
25
 
26
- #: admin/pages/assets-manager.php:49
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:115
35
- msgid "Disable assets manager"
36
- msgstr "Отключить менеджер скриптов"
37
 
38
- #: admin/pages/assets-manager.php:117
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
39
  msgid "Full disable of the module."
40
  msgstr "Полностью отключает работу модуля."
41
 
42
- #: admin/pages/assets-manager.php:139
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:155
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:164
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:17
73
  msgid ""
74
  "We found that you use the plugin \"Clearfy - disable unused functions\", "
75
- "this plugin already has the same functions as \"WP Asset CleanUp\", so you "
76
- "can disable the \"WP Asset CleanUp\" plugin!"
77
  msgstr ""
78
  "Мы обнаружили, что вы используете плагин \"Clearfy - disable unused features"
79
  "\", этот плагин включает функционал \"WP Asset CleanUp\", вы можете "
80
- "деактивировать плагин \"WP Asset CleanUp\"!"
81
 
82
- #: gonzales.php:82
83
  msgid "Webcraftic assets manager"
84
  msgstr "Webcraftic менеджер скриптов"
85
 
86
- #: plugin/includes/class.configurate-assets.php:80
87
  msgid "Script Manager"
88
  msgstr "Менеджер скриптов"
89
 
90
- #: plugin/includes/class.configurate-assets.php:108
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
- #: plugin/includes/class.configurate-assets.php:109
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
- #: plugin/includes/class.configurate-assets.php:118
119
  msgid "Save settings"
120
  msgstr "Сохранить"
121
 
122
- #: plugin/includes/class.configurate-assets.php:124
123
  msgid "Hide panel in adminbar?"
124
  msgstr "Скрыть панель из админбара?"
125
 
126
- #: plugin/includes/class.configurate-assets.php:135
127
  msgid "State"
128
  msgstr "Состояние"
129
 
130
- #: plugin/includes/class.configurate-assets.php:136
131
  msgid "Size"
132
  msgstr "Размер"
133
 
134
- #: plugin/includes/class.configurate-assets.php:137
135
  msgid "Script"
136
  msgstr "Скрипт"
137
 
138
- #: plugin/includes/class.configurate-assets.php:138
139
  msgid "In use"
140
  msgstr "Используется"
141
 
142
- #: plugin/includes/class.configurate-assets.php:139
143
  msgid "Disable"
144
  msgstr "Отключить"
145
 
146
- #: plugin/includes/class.configurate-assets.php:140
147
  msgid "Enable"
148
  msgstr "Включить"
149
 
150
- #: plugin/includes/class.configurate-assets.php:187
151
  msgid "In use by"
152
  msgstr "Используется "
153
 
154
- #: plugin/includes/class.configurate-assets.php:214
155
  msgid "Enabled"
156
  msgstr "Включить"
157
 
158
- #: plugin/includes/class.configurate-assets.php:219
159
  msgid "Everywhere"
160
  msgstr "Повсюду"
161
 
162
- #: plugin/includes/class.configurate-assets.php:226
163
- #: plugin/includes/class.configurate-assets.php:249
164
  msgid "Current URL"
165
  msgstr "Текущий URL"
166
 
167
- #: plugin/includes/class.configurate-assets.php:235
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
- === WP Asset CleanUp (Gonzales), Assets manager, Page speed optimizer ===
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 CleanUp plugin (Gonzales), 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,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-330 label {
29
- font-weight: normal;
30
- }
31
- #WBCR .factory-bootstrap-330 .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
- }
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
- require(WBCR_CMP_PLUGIN_DIR . '/admin/pages/comments.php');
10
- require(WBCR_CMP_PLUGIN_DIR . '/admin/pages/delete-comments.php');
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 == 'wbcr_comments_plus' ) {
19
  return 'https://goo.gl/v4QkW5';
20
  }
21
 
22
  return $page_url;
23
  }
24
 
25
- add_filter('wbcr_factory_imppage_rating_widget_url', 'wbcr_cmp_rating_widget_url', 10, 2);
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 == WBCR_CMP_PLUGIN_BASE ) {
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
- class WbcrCmp_CommentsPage extends FactoryPages324_ImpressiveThemplate {
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 = "comments";
20
  public $page_menu_dashicon = 'dashicons-testimonial';
21
-
22
- public function __construct(Factory326_Plugin $plugin)
 
 
 
23
  {
24
- $this->menuTitle = __('Disable comments', 'comments-plus');
25
-
26
  if( !defined('LOADING_COMMENTS_PLUS_AS_ADDON') ) {
27
  $this->internal = false;
28
- $this->menuTarget = 'options-general.php';
29
- $this->addLinkToPluginActions = true;
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->pluginName))
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->pluginName))
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, .factory-control-remove_x_pingback, .factory-control-comment_text_convert_links_pseudo, .factory-control-pseudo_comment_author_link, .factory-control-remove_url_from_comment_form'
82
  ),
83
  'enable_comments' => array(
84
- 'show' => '.factory-control-remove_x_pingback, .factory-control-comment_text_convert_links_pseudo, .factory-control-pseudo_comment_author_link, .factory-control-remove_url_from_comment_form',
85
  'hide' => '.factory-control-disable_comments_for_post_types'
86
  ),
87
  'disable_comments' => array(
88
- 'hide' => '.factory-control-disable_comments_for_post_types, .factory-control-remove_x_pingback, .factory-control-comment_text_convert_links_pseudo, .factory-control-pseudo_comment_author_link, .factory-control-remove_url_from_comment_form'
89
  )
90
  )
91
  );
92
-
93
  $options[] = array(
94
  'type' => 'list',
95
  'way' => 'checklist',
@@ -102,55 +117,60 @@
102
  );
103
 
104
  $options[] = array(
105
- 'type' => 'checkbox',
106
- 'way' => 'buttons',
107
- 'name' => 'remove_url_from_comment_form',
108
- 'title' => __('Remove field "site" in comment form', 'comments-plus'),
109
- 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
110
- '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>',
111
- 'default' => false
112
- );
113
-
114
- $options[] = array(
115
- 'type' => 'checkbox',
116
- 'way' => 'buttons',
117
- 'name' => 'comment_text_convert_links_pseudo',
118
- 'title' => __('Replace external links in comments on the JavaScript code', 'comments-plus') . ' <span class="wbcr-clearfy-recomended-text">(' . __('Recommended', 'comments-plus') . ')</span>',
119
- 'layout' => array('hint-type' => 'icon'),
120
- '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>'),
121
- 'default' => false
122
- );
123
-
124
- $options[] = array(
125
- 'type' => 'checkbox',
126
- 'way' => 'buttons',
127
- 'name' => 'pseudo_comment_author_link',
128
- 'title' => __('Replace external links from comment authors on the JavaScript code', 'comments-plus') . ' <span class="wbcr-clearfy-recomended-text">(' . __('Recommended', 'comments-plus') . ')</span>',
129
- 'layout' => array('hint-type' => 'icon'),
130
- '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>',
131
- 'default' => false
132
- );
133
-
134
- $options[] = array(
135
- 'type' => 'checkbox',
136
- 'way' => 'buttons',
137
- 'name' => 'remove_x_pingback',
138
- 'title' => __('Disable XML-RPC', 'clearfy') . ' <span class="wbcr-clearfy-recomended-text">(' . __('Recommended', 'comments-plus') . ')</span>',
139
- 'layout' => array('hint-type' => 'icon'),
140
- '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'),
141
- 'default' => false
 
 
 
 
 
 
 
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
- class WbcrCmp_DeleteCommentsPage extends FactoryPages324_ImpressiveThemplate {
 
 
 
 
 
 
 
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
@@ -21,11 +28,12 @@
21
  public $page_parent_page = "comments";
22
  public $page_menu_dashicon = 'dashicons-testimonial';
23
 
24
- public function __construct(Factory326_Plugin $plugin)
 
 
 
25
  {
26
- $this->menuTitle = __('Comments cleaner', 'comments-plus');
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\FactoryPages324_ImpressiveThemplate
37
  * @param $notices
 
38
  * @return array
39
  */
40
- public function actionsNotice($notices, $plugin)
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\FactoryPages324_ImpressiveThemplate
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 wp_comments");
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
- <form method="post" action="<?= $this->getActionUrl('delete-all-comments') ?>">
 
 
 
 
 
 
 
 
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
- <hr/>
171
-
172
- <h5><?php _e('Remove spam comments', 'comments-plus'); ?></h5>
173
- <p><?php _e('You can remove only spam comments from the database with one click.', 'comments-plus'); ?></p>
174
- <a href="<?= wp_nonce_url($this->getActionUrl('delete-spam-comments'), $this->getResultId() . '_delete_spam_comments') ?>" class="button button-default wbcr-cmp-delete-comments-button">
175
- <?php printf(__('Delete (%d)', 'comments-plus'), $stat_data[0]->spamcount); ?>
176
- </a>
177
-
178
- <hr/>
179
-
180
- <h5><?php _e('Remove unapproved comments', 'comments-plus'); ?></h5>
181
- <p><?php _e('You can remove only unapproved comments from the database with one click.', 'comments-plus'); ?></p>
182
- <a href="<?= wp_nonce_url($this->getActionUrl('delete-unaproved-comments'), $this->getResultId() . '_delete_unaproved_comments') ?>" class="button button-default wbcr-cmp-delete-comments-button">
183
- <?php printf(__('Delete (%d)', 'comments-plus'), $stat_data[0]->unpcount); ?>
184
- </a>
185
-
186
- <hr/>
187
-
188
- <h5><?php _e('Remove trashed comments', 'comments-plus'); ?></h5>
189
- <p><?php _e('You can remove only trashed comments from the database with one click.', 'comments-plus'); ?></p>
190
- <a href="<?= wp_nonce_url($this->getActionUrl('delete-trash-comments'), $this->getResultId() . '_delete_trash_comments') ?>" class="button button-default wbcr-cmp-delete-comments-button">
191
- <?php printf(__('Delete (%d)', 'comments-plus'), $stat_data[0]->trashcount); ?>
192
- </a>
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
- FactoryPages324::register($wbcr_comments_plus_plugin, 'WbcrCmp_MoreFeaturesPage');
 
 
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.6
8
  * Text Domain: comments-plus
9
  * Domain Path: /languages/
 
10
  */
11
 
12
- if( defined('WBCR_CMP_PLUGIN_ACTIVE') || (defined('WBCR_CLEARFY_PLUGIN_ACTIVE') && !defined('LOADING_COMMENTS_PLUS_AS_ADDON')) ) {
 
 
 
 
 
13
  function wbcr_cmp_admin_notice_error()
14
  {
15
  ?>
@@ -24,63 +30,31 @@
24
  return;
25
  } else {
26
 
27
- define('WBCR_CMP_PLUGIN_ACTIVE', true);
28
 
29
- define('WBCR_CMP_PLUGIN_DIR', dirname(__FILE__));
30
- define('WBCR_CMP_PLUGIN_BASE', plugin_basename(__FILE__));
31
- define('WBCR_CMP_PLUGIN_URL', plugins_url(null, __FILE__));
32
 
33
 
34
 
35
  if( !defined('LOADING_COMMENTS_PLUS_AS_ADDON') ) {
36
- require_once(WBCR_CMP_PLUGIN_DIR . '/libs/factory/core/boot.php');
37
  }
38
 
39
- function wbcr_cmp_plugin_init()
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
- // loading other files
72
- if( is_admin() ) {
73
- require(WBCR_CMP_PLUGIN_DIR . '/admin/boot.php');
74
- }
75
-
76
- require(WBCR_CMP_PLUGIN_DIR . '/includes/classes/class.configurate-comments.php');
77
-
78
- new WbcrCmp_ConfigComments($wbcr_comments_plus_plugin);
79
- }
80
-
81
- if( defined('LOADING_COMMENTS_PLUS_AS_ADDON') ) {
82
- wbcr_cmp_plugin_init();
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
- class WbcrCmp_ConfigComments extends WbcrFactoryClearfy_Configurate {
 
 
 
 
 
 
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('remove_url_from_comment_form') ) {
36
-
37
  add_action('wp_enqueue_scripts', array($this, 'assetsUrlSpanScripts'));
38
  }
39
 
@@ -162,7 +176,7 @@
162
 
163
  public function dummyCommentsTemplate()
164
  {
165
- return WBCR_CMP_PLUGIN_DIR . '/includes/comments-template.php';
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->pluginTitle, implode(', ', $names ) ) . '</p></div>' );?>);
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', WBCR_CMP_PLUGIN_URL . '/assets/css/url-span.css', array(), $wbcr_comments_plus_plugin->version);
400
- wp_enqueue_script('wbcr-comments-plus-url-span', WBCR_CMP_PLUGIN_URL . '/assets/js/url-span.js', array(), $wbcr_comments_plus_plugin->version, true);
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-02-05 01:50+0300\n"
5
- "PO-Revision-Date: 2018-02-05 01:55+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,59 +18,78 @@ msgstr ""
18
  "X-Poedit-SearchPath-0: .\n"
19
  "X-Poedit-SearchPathExcluded-0: libs\n"
20
 
21
- #: admin/boot.php:31
22
  msgid "Disable comments on the entire site"
23
  msgstr "Отключить комментарии на всем сайте"
24
 
25
- #: admin/boot.php:37 admin/pages/comments.php:97
26
  msgid "Select post types"
27
  msgstr "Выбрать тип записи"
28
 
29
- #: admin/boot.php:42 admin/pages/comments.php:118
30
  msgid "Replace external links in comments on the JavaScript code"
31
  msgstr "Заменить внешние ссылки в комментариях на JavaScript код"
32
 
33
- #: admin/boot.php:47 admin/pages/comments.php:128
34
  msgid "Replace external links from comment authors on the JavaScript code"
35
  msgstr "Заменить внешние ссылки от авторов комментариев на код JavaScript"
36
 
37
- #: admin/boot.php:52
38
  msgid "Disable X-Pingback"
39
  msgstr "Убрать ссылку на X-Pingback и возможность спамить pingback-ами"
40
 
41
- #: admin/boot.php:57 admin/pages/comments.php:108
42
  msgid "Remove field \"site\" in comment form"
43
  msgstr "Удаляет поле \"Сайт\" в форме комментариев"
44
 
45
- #: admin/boot.php:69
46
  msgid "One click disable all comments"
47
  msgstr "Отключить все комментарии в один клик"
48
 
49
- #: admin/boot.php:81
50
  msgid "Get ultimate plugin free"
51
  msgstr "Получите полную версию плагина бесплатно"
52
 
53
- #: admin/pages/comments.php:24 admin/pages/comments.php:62
54
  msgid "Disable comments"
55
  msgstr "Отключить комментарии"
56
 
57
- #: admin/pages/comments.php:38
58
  msgid "Comments"
59
  msgstr "Комментарии"
60
 
61
- #: admin/pages/comments.php:39
62
  msgid "General"
63
  msgstr "Основные"
64
 
65
  #: admin/pages/comments.php:64
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
66
  msgid "Not disable"
67
  msgstr "Не отключать"
68
 
69
- #: admin/pages/comments.php:67
70
  msgid "Everywhere"
71
  msgstr "Повсюду"
72
 
73
- #: admin/pages/comments.php:68
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:72
83
  msgid "On certain post types"
84
  msgstr "Только выбранные типы записей"
85
 
86
- #: admin/pages/comments.php:73
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:77
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:77
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:100
120
  msgid "Select the post types for which comments will be disabled"
121
  msgstr "Выберите типы записей, для которых комментарии будут отключены."
122
 
123
- #: admin/pages/comments.php:110
 
 
 
 
 
 
 
 
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:110
132
  msgid "Removes the \"Site\" field from the comment form."
133
  msgstr "Убирает поле «Сайт» из формы комментирования."
134
 
135
- #: admin/pages/comments.php:110
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:118 admin/pages/comments.php:128
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:120
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:130
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:130
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:130
180
  msgid "In some Wordpress topics this may not work."
181
  msgstr "В некоторых темах Wordpress это может не сработать."
182
 
183
- #: admin/pages/comments.php:138
184
  msgid "Disable XML-RPC"
185
  msgstr "Отключить XML-RPC"
186
 
187
- #: admin/pages/comments.php:140
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:140
200
  msgid "Removes the server responses a reference to the xmlrpc file."
201
  msgstr "Удаляет ссылку на xmlrpc-файл и ответ сервера."
202
 
203
- #: admin/pages/delete-comments.php:26
204
  msgid "Comments cleaner"
205
  msgstr "Очистка комментариев"
206
 
207
- #: admin/pages/delete-comments.php:53
208
  msgid "All comments have been deleted."
209
  msgstr "Все комментарии были удалены."
210
 
211
- #: admin/pages/delete-comments.php:62
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:123
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:135
 
 
 
 
 
 
 
 
 
 
 
 
227
  msgid "Remove all comments"
228
  msgstr "Удалить все комментарии"
229
 
230
- #: admin/pages/delete-comments.php:137
231
  msgid "You can delete all comments in your database with one click."
232
  msgstr "Вы можете удалить все комментарии в базе данных с одним щелчком мыши."
233
 
234
- #: admin/pages/delete-comments.php:139
235
  msgid "Choose post types"
236
  msgstr "Выберите типы записей"
237
 
238
- #: admin/pages/delete-comments.php:144
239
  msgid "Select all"
240
  msgstr "Выбрать все"
241
 
242
- #: admin/pages/delete-comments.php:160
243
  #, php-format
244
  msgid "Delete Woocommerce order notices? (%d)"
245
  msgstr "Удалять заметки от заказов Woocommerce? (%d)"
246
 
247
- #: admin/pages/delete-comments.php:165 admin/pages/delete-comments.php:175
248
- #: admin/pages/delete-comments.php:183 admin/pages/delete-comments.php:191
249
  #, php-format
250
  msgid "Delete (%d)"
251
  msgstr "Удалить (%d)"
252
 
253
- #: admin/pages/delete-comments.php:172
254
  msgid "Remove spam comments"
255
  msgstr "Удалить спам комментарии"
256
 
257
- #: admin/pages/delete-comments.php:173
258
  msgid "You can remove only spam comments from the database with one click."
259
  msgstr ""
260
  "Вы можете одним нажатием удалить только спам комментарии из базы данных."
261
 
262
- #: admin/pages/delete-comments.php:180
263
  msgid "Remove unapproved comments"
264
  msgstr "Удалить неподтвержденные комментарии"
265
 
266
- #: admin/pages/delete-comments.php:181
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:188
274
  msgid "Remove trashed comments"
275
  msgstr "Удалить комментарии из корзины"
276
 
277
- #: admin/pages/delete-comments.php:189
278
  msgid "You can remove only trashed comments from the database with one click."
279
  msgstr "Вы можете одним нажатием удалить только комментарии из корзины."
280
 
281
- #: comments-plus.php:17
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:82
292
  msgid "Webcraftic Disable comments"
293
  msgstr "Webcraftic отключить комментарии"
294
 
295
- #: includes/classes/class.configurate-comments.php:174
296
- #: includes/classes/class.configurate-comments.php:226
297
  msgid "Comments are closed."
298
  msgstr "Комментарии Закрыты."
299
 
300
- #: includes/classes/class.configurate-comments.php:214
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 (Disable XML-RPC, Disable Self Pingbacks, 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,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
- global $wbcr_dan_plugin;
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 = get_option($wbcr_dan_plugin->pluginName . '_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
- update_option($wbcr_dan_plugin->pluginName . '_hidden_notices', $get_hidden_notices);
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
- global $wbcr_dan_plugin;
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 = get_option($wbcr_dan_plugin->pluginName . '_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
- update_option($wbcr_dan_plugin->pluginName . '_hidden_notices', $get_hidden_notices);
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
- require(WBCR_DAN_PLUGIN_DIR . '/admin/options.php');
10
-
11
- if( !defined('LOADING_DISABLE_ADMIN_NOTICES_AS_ADDON') ) {
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 == 'wbcr_dan' ) {
27
  return 'https://goo.gl/68ucHp';
28
  }
29
 
30
  return $page_url;
31
  }
32
 
33
- add_filter('wbcr_factory_imppage_rating_widget_url', 'wbcr_dan_rating_widget_url', 10, 2);
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 == WBCR_DAN_PLUGIN_BASE ) {
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
- if( defined('LOADING_DISABLE_ADMIN_NOTICES_AS_ADDON') ) {
17
- $options[] = array(
18
- 'type' => 'html',
19
- 'html' => '<div class="wbcr-clearfy-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>'
20
- );
21
- }
22
 
23
  $options[] = array(
24
  'type' => 'dropdown',
@@ -84,7 +87,7 @@
84
 
85
  /**
86
  * @param $form
87
- * @param $page FactoryPages324_ImpressiveThemplate
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 FactoryForms329_Html
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
- delete_option($wbcr_dan_plugin->pluginName . '_hidden_notices');
121
 
122
  $reseted = true;
123
  }
124
 
125
  $count_hidden_notices = 0;
126
- $hidden_notices = get_option($wbcr_dan_plugin->pluginName . '_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
- FactoryPages324::register($wbcr_dan_plugin, 'WbcrHan_MoreFeaturesPage');
 
 
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
- class WbcrHan_NoticesPage extends FactoryPages324_ImpressiveThemplate {
 
 
 
 
 
 
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
@@ -19,19 +25,22 @@
19
  public $id = "notices";
20
  public $page_menu_dashicon = 'dashicons-testimonial';
21
 
22
- public function __construct(Factory326_Plugin $plugin)
 
 
 
23
  {
24
- $this->menuTitle = __('Hide admin notices', 'disable-admin-notices');
25
 
26
  if( !defined('LOADING_DISABLE_ADMIN_NOTICES_AS_ADDON') ) {
27
  $this->internal = false;
28
- $this->menuTarget = 'options-general.php';
29
- $this->addLinkToPluginActions = true;
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, $plugin)
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.', 'factory_pages_324')
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.3
8
  * Text Domain: disable-admin-notices
9
  * Domain Path: /languages/
 
10
  */
11
 
12
- if( defined('WBCR_DAN_PLUGIN_ACTIVE') || (defined('WBCR_CLEARFY_PLUGIN_ACTIVE') && !defined('LOADING_DISABLE_ADMIN_NOTICES_AS_ADDON')) ) {
 
 
 
 
 
13
  function wbcr_dan_admin_notice_error()
14
  {
15
  ?>
@@ -24,62 +30,30 @@
24
  return;
25
  } else {
26
 
27
- define('WBCR_DAN_PLUGIN_ACTIVE', true);
28
-
29
- define('WBCR_DAN_PLUGIN_DIR', dirname(__FILE__));
30
- define('WBCR_DAN_PLUGIN_BASE', plugin_basename(__FILE__));
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(WBCR_DAN_PLUGIN_DIR . '/libs/factory/core/boot.php');
37
  }
38
 
39
- function wbcr_dan_plugin_init()
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
- if( defined('LOADING_DISABLE_ADMIN_NOTICES_AS_ADDON') ) {
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
- if( defined('LOADING_DISABLE_ADMIN_NOTICES_AS_ADDON') ) {
81
- wbcr_dan_plugin_init();
82
- } else {
83
- add_action('plugins_loaded', 'wbcr_dan_plugin_init');
 
 
 
 
 
 
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
- class WbcrHan_ConfigHideNotices extends WbcrFactoryClearfy_Configurate {
 
 
 
 
 
 
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->pluginName . '_ajax_restore_notice_nonce')?>";
43
- var wbcr_dan_ajax_hide_notice_nonce = "<?=wp_create_nonce($this->plugin->pluginName . '_ajax_hide_notices_nonce')?>";
44
  </script>
45
  <?php
46
  }
@@ -48,14 +54,13 @@
48
 
49
  public function notificationsPanelStyles()
50
  {
51
- global $wbcr_dan_plugin;
52
- wp_enqueue_style('wbcr-notification-panel-styles', WBCR_DAN_PLUGIN_URL . '/admin/assets/css/notifications-panel.css', array(), $wbcr_dan_plugin->version);
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('update_plugins') ) {
59
  return;
60
  }
61
 
@@ -199,7 +204,22 @@
199
  }
200
 
201
  ob_start();
202
- call_user_func_array($callback['function'], array());
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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-02-05 02:02+0300\n"
5
- "PO-Revision-Date: 2018-02-05 02:02+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,35 +18,35 @@ msgstr ""
18
  "X-Poedit-SearchPath-0: .\n"
19
  "X-Poedit-SearchPathExcluded-0: libs\n"
20
 
21
- #: admin/ajax/hide-notice.php:16 admin/ajax/restore-notice.php:16
22
  msgid "You don't have enough capability to edit this information."
23
  msgstr "Вы не имеете разрешения на редактирование этого!"
24
 
25
- #: admin/ajax/hide-notice.php:33 admin/ajax/restore-notice.php:25
26
  msgid "Undefinded notice id."
27
  msgstr "Не передан notice id."
28
 
29
- #: admin/ajax/hide-notice.php:47 admin/ajax/restore-notice.php:37
30
  msgid "Success"
31
  msgstr "Успешно"
32
 
33
- #: admin/boot.php:39 admin/options.php:27 admin/pages/notices.php:24
34
  msgid "Hide admin notices"
35
  msgstr "Скрыть уведомления"
36
 
37
- #: admin/boot.php:45 admin/options.php:67
38
  msgid "Enable hidden notices in adminbar"
39
  msgstr "Включить уведомления в админбаре"
40
 
41
- #: admin/boot.php:61
42
  msgid "Get ultimate plugin free"
43
  msgstr "Получите полную версию плагина бесплатно"
44
 
45
- #: admin/options.php:19
46
  msgid "Admin notifications, Update nags"
47
  msgstr "Уведомления администратора, уведомления об обновлении Wordpress"
48
 
49
- #: admin/options.php:19
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:31
65
  msgid "All notices"
66
  msgstr "Все уведомления"
67
 
68
- #: admin/options.php:32
69
  msgid "Hide all notices globally."
70
  msgstr "Скрыть все уведомления глобально."
71
 
72
- #: admin/options.php:36
73
  msgid "Only selected"
74
  msgstr "Только выбранные"
75
 
76
- #: admin/options.php:37
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:41
86
  msgid "Don't nide"
87
  msgstr "Не скрывать"
88
 
89
- #: admin/options.php:42
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:46
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:69
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:135
128
  msgid "Push reset hidden notices if you need to show hidden notices again."
129
  msgstr "Нажмите кнопку \\\"Сбросить скрытые уведомления\\\""
130
 
131
- #: admin/options.php:144
132
  #, php-format
133
  msgid "Reset hidden notices (%s)"
134
  msgstr "Сбросить скрытые уведомления (%s)"
135
 
136
- #: admin/options.php:146 admin/pages/notices.php:64
137
  msgid "Hidden notices are successfully reset, now you can see them again!"
138
  msgstr ""
139
  "Скрытые уведомления успешно восстановлены, теперь вы можете снова видеть их!"
140
 
141
- #: admin/pages/notices.php:40
142
  msgid "Notices"
143
  msgstr "Уведомления"
144
 
145
- #: admin/pages/notices.php:41
146
  msgid "General"
147
  msgstr "Основные"
148
 
149
- #: disable-admin-notices.php:17
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:82
161
  msgid "Webcraftic disable admin notices"
162
  msgstr "Webcraftic отключить уведомления администратора"
163
 
164
- #: includes/classes/class.configurate-notices.php:73
165
  #, php-format
166
  msgid "Notifications %s"
167
  msgstr "Уведомления %s"
168
 
169
- #: includes/classes/class.configurate-notices.php:82
170
  msgid "Restore notice"
171
  msgstr "Восстановить уведомление"
172
 
173
- #: includes/classes/class.configurate-notices.php:241
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 unused features](https://wordpress.org/plugins/gonzales/)
32
- * [WP Asset manager](https://wordpress.org/plugins/gonzales/)
33
- * [Disable Comments for Any Post Types (Disable XML-RPC, Disable Self Pingbacks, Remove Comments)](https://wordpress.org/plugins/comments-plus/)
 
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
- require_once(WBCR_UPM_PLUGIN_DIR . '/admin/pages/updates.php');
10
- require_once(WBCR_UPM_PLUGIN_DIR . '/admin/pages/plugins.php');
11
- require_once(WBCR_UPM_PLUGIN_DIR . '/admin/pages/advanced.php');
 
 
 
12
 
13
- if( !defined('LOADING_UPDATES_MANAGER_AS_ADDON') ) {
14
- require_once(WBCR_UPM_PLUGIN_DIR . '/admin/pages/more-features.php');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15
  }
16
 
 
 
17
  function wbcr_upm_rating_widget_url($page_url, $plugin_name)
18
  {
19
- if( $plugin_name == 'wbcr_updates_manager' ) {
20
  return 'https://goo.gl/Be2hQU';
21
  }
22
 
23
  return $page_url;
24
  }
25
 
26
- add_filter('wbcr_factory_imppage_rating_widget_url', 'wbcr_upm_rating_widget_url', 10, 2);
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 == WBCR_UPM_PLUGIN_BASE ) {
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
- class WbcrUpm_AdvancedPage extends FactoryPages324_ImpressiveThemplate {
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 = "advanced";
20
-
21
  public $type = "page";
22
-
23
  public $page_parent_page = 'updates';
24
-
25
- public $page_menu_dashicon = 'dashicons-admin-tools';
26
-
27
- public function __construct(Factory326_Plugin $plugin)
 
 
 
28
  {
29
- $this->menuTitle = __('Advanced', 'webcraftic-updates-manager');
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
- <h4><?php _e('Force Automatic Updates', 'webcraftic-updates-manager'); ?></h4>
55
- <p><?php _e('This will attempt to force automatic updates. This is useful for debugging.', 'webcraftic-updates-manager'); ?></p>
56
- <a href="<?php $this->actionUrl('force-plugins-update') ?>" class="button button-default"><?php _e('Force update', 'webcraftic-updates-manager'); ?></a>
 
 
 
 
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
- FactoryPages324::register($wbcr_update_services_plugin, 'WbcrUpm_MoreFeaturesPage');
 
 
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
- class WbcrUpm_PluginsPage extends FactoryPages324_ImpressiveThemplate {
 
 
 
 
 
 
 
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 = "plugins";
20
 
 
 
 
21
  public $type = "page";
22
 
 
 
 
23
  public $page_parent_page = 'updates';
24
 
25
- public $page_menu_dashicon = 'dashicons-admin-plugins';
 
 
 
26
 
 
 
 
27
  private $is_disable_updates;
 
 
 
 
28
  private $is_auto_updates;
 
 
 
 
29
  private $plugins_update_filters = array();
30
 
31
- public function __construct(Factory326_Plugin $plugin)
 
 
 
32
  {
33
- $this->menuTitle = __('Plugins', 'webcraftic-updates-manager');
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 = __('This page you can individually disable plugin updates and auto updates.', 'webcraftic-updates-manager') . '<br>';
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
- $this->printWarningNotice($concat);
 
 
63
  }
64
 
65
  /**
66
  * Requests assets (js and css) for the page.
67
  *
68
- * @see FactoryPages324_AdminPage
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(WBCR_UPM_PLUGIN_URL . '/admin/assets/css/general.css');
78
  }
79
 
80
  public function savePluginsUpdateFilters()
81
  {
82
- update_option($this->plugin->pluginName . '_plugins_update_filters', $this->plugins_update_filters);
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
- class WbcrUpm_UpdatesPage extends FactoryPages324_ImpressiveThemplate {
 
 
 
 
 
 
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 = "updates";
20
 
 
 
 
21
  public $page_menu_dashicon = 'dashicons-cloud';
22
 
23
- public function __construct(Factory326_Plugin $plugin)
 
 
 
24
  {
25
- $this->menuTitle = __('Updates manager', 'webcraftic-updates-manager');
26
 
27
  if( !defined('LOADING_UPDATES_MANAGER_AS_ADDON') ) {
28
  $this->internal = false;
29
- $this->menuTarget = 'options-general.php';
30
- $this->addLinkToPluginActions = true;
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 = get_option($this->plugin->pluginName . '_plugins_update_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 = get_option($this->plugin->pluginName . '_plugins_update_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-01-22 00:02+0300\n"
5
- "PO-Revision-Date: 2018-01-22 00:11+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,53 +18,78 @@ msgstr ""
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 "Отключить обновления плагинов"
24
 
25
- #: admin/boot.php:38
26
  msgid "Disable theme updates"
27
  msgstr "Отключить обновления тем"
28
 
29
- #: admin/boot.php:44 admin/pages/updates.php:87
30
  msgid "Disable Automatic Translation Updates"
31
  msgstr "Отключить автоматические обновления переводов"
32
 
33
- #: admin/boot.php:49
34
  msgid "Disable wordPress core updates"
35
  msgstr "Отключить обновления ядра Wordpress"
36
 
37
- #: admin/boot.php:55 admin/pages/updates.php:121
38
  msgid "Enable updates for VCS Installations"
39
  msgstr "Включить обновления для установок 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 "Получите полную версию плагина бесплатно"
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
  "Пожалуйста, подождите 90 сек., чтобы увидеть результат принудительного "
61
  "автоматического обновления."
62
 
63
- #: admin/pages/advanced.php:50
64
  msgid "Force Automatic Updates"
65
  msgstr "Принудительное автоматическое обновление"
66
 
67
- #: admin/pages/advanced.php:51
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:52
76
  msgid "Force update"
77
  msgstr "Запустить обновление"
78
 
79
- #: admin/pages/plugins.php:33
80
  msgid "Plugins"
81
  msgstr "Плагины"
82
 
83
- #: admin/pages/plugins.php:48
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:55
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:211
 
 
 
 
 
 
 
 
 
 
108
  msgid "Bulk actions"
109
  msgstr "Массовые действия"
110
 
111
- #: admin/pages/plugins.php:212 admin/pages/plugins.php:287
112
- #: admin/pages/plugins.php:292 admin/pages/updates.php:61
113
- #: admin/pages/updates.php:76 admin/pages/updates.php:97
114
  msgid "Disable updates"
115
  msgstr "Отключить все обновления"
116
 
117
- #: admin/pages/plugins.php:213 admin/pages/plugins.php:289
118
  msgid "Enable updates"
119
  msgstr "Включить обновления"
120
 
121
- #: admin/pages/plugins.php:214 admin/pages/plugins.php:299
122
- #: admin/pages/plugins.php:305
123
  msgid "Enable auto-updates"
124
  msgstr "Включить авто-обновления"
125
 
126
- #: admin/pages/plugins.php:215 admin/pages/plugins.php:297
127
- #: admin/pages/plugins.php:303
128
  msgid "Disable auto-updates"
129
  msgstr "Отключить авто-обновления"
130
 
131
- #: admin/pages/plugins.php:217
132
  msgid "Apply"
133
  msgstr "Применить"
134
 
135
- #: admin/pages/plugins.php:224
136
  msgid "Plugin"
137
  msgstr "Плагин"
138
 
139
- #: admin/pages/plugins.php:226
140
  msgid "Description"
141
  msgstr "Описание"
142
 
143
- #: admin/pages/plugins.php:273
144
  msgid "Select"
145
  msgstr "Выбор"
146
 
147
- #: admin/pages/updates.php:25
148
  msgid "Updates manager"
149
  msgstr "Менеджер обновлений"
150
 
151
- #: admin/pages/updates.php:39
152
  msgid "Updates"
153
  msgstr "Обновления"
154
 
155
- #: admin/pages/updates.php:40
156
  msgid "General"
157
  msgstr "Основные"
158
 
159
- #: admin/pages/updates.php:57
 
 
 
 
 
 
 
 
 
 
 
 
 
160
  msgid "Plugin Updates"
161
  msgstr "Обновления плагина"
162
 
163
- #: admin/pages/updates.php:59 admin/pages/updates.php:74
164
  msgid "Manual updates"
165
  msgstr "Ручные"
166
 
167
- #: admin/pages/updates.php:60 admin/pages/updates.php:75
168
  msgid "Enable auto updates"
169
  msgstr "Автоматические"
170
 
171
- #: admin/pages/updates.php:64
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:72
179
  msgid "Theme Updates"
180
  msgstr "Обновления тем"
181
 
182
- #: admin/pages/updates.php:79
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:95
190
  msgid "WordPress Core Updates"
191
  msgstr "Базовые обновления Wordpress"
192
 
193
- #: admin/pages/updates.php:98
194
  msgid "Disable auto updates"
195
  msgstr "Отключить автоматические обновления"
196
 
197
- #: admin/pages/updates.php:101
198
  msgid "Allow minor auto updates"
199
  msgstr "Разрешить незначительные автоматические обновления"
200
 
201
- #: admin/pages/updates.php:105
202
  msgid "Allow major auto updates"
203
  msgstr "Разрешить основные автоматические обновления"
204
 
205
- #: admin/pages/updates.php:109
206
  msgid "Allow development auto updates"
207
  msgstr "Разрешить разрабатываемые автоматические обновления"
208
 
209
- #: admin/pages/updates.php:113
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:113
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:113
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:113
231
  msgid "Development - update automatically to Bleeding Edge releases."
232
  msgstr "Разрабатываемые - автоматические обновления до финальных выпусков."
233
 
234
- #: admin/pages/updates.php:123
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:82
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 – disable tweaker and WordPress optimization plugin](https://wordpress.org/plugins/gonzales/)
 
 
 
47
  * [WordPress Assets manager, dequeue scripts, dequeue styles](https://wordpress.org/plugins/gonzales/)
48
- * [Disable Comments for Any Post Types (Disable XML-RPC, Disable Self Pingbacks, Remove Comments)](https://wordpress.org/plugins/comments-plus/)
49
- * [Disable admin notices individually](https://wordpress.org/plugins/disable-admin-notices/)
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 (General)
60
- 2. Control panel (Plugins)
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 'wbcr_updates_manager%';");
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.3
8
  * Text Domain: webcraftic-updates-manager
9
  * Domain Path: /languages/
 
10
  */
11
 
12
- if( defined('WBCR_UPM_PLUGIN_ACTIVE') || (defined('WBCR_CLEARFY_PLUGIN_ACTIVE') && !defined('LOADING_UPDATES_MANAGER_AS_ADDON')) ) {
13
  function wbcr_upm_admin_notice_error()
14
  {
15
  ?>
@@ -24,62 +25,30 @@
24
  return;
25
  } else {
26
 
27
- define('WBCR_UPM_PLUGIN_ACTIVE', true);
28
 
29
- define('WBCR_UPM_PLUGIN_DIR', dirname(__FILE__));
30
- define('WBCR_UPM_PLUGIN_BASE', plugin_basename(__FILE__));
31
- define('WBCR_UPM_PLUGIN_URL', plugins_url(null, __FILE__));
32
 
33
 
34
 
35
  if( !defined('LOADING_UPDATES_MANAGER_AS_ADDON') ) {
36
- require_once(WBCR_UPM_PLUGIN_DIR . '/libs/factory/core/boot.php');
37
  }
38
 
39
- function wbcr_upm_plugin_init()
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
- // loading other files
72
- if( is_admin() ) {
73
- require_once(WBCR_UPM_PLUGIN_DIR . '/admin/boot.php');
74
- }
75
-
76
- require(WBCR_UPM_PLUGIN_DIR . '/includes/classes/class.configurate-updates.php');
77
- new WbcrUpm_ConfigUpdates($wbcr_update_services_plugin);
78
- }
79
-
80
- if( defined('LOADING_UPDATES_MANAGER_AS_ADDON') ) {
81
- wbcr_upm_plugin_init();
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
- class WbcrClearfy_ConfigAdvanced extends WbcrFactoryClearfy_Configurate {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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( empty($preinsatall_components) || !in_array('post_tools', $preinsatall_components) ) {
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( empty($preinsatall_components) || !in_array('adminbar_manager', $preinsatall_components) ) {
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( empty($preinsatall_components) || !in_array('widget_tools', $preinsatall_components) ) {
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('remove_unneeded_widget_text') ) {
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('&amp;'), 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
- class WbcrClearfy_ConfigCodeClean extends WbcrFactoryClearfy_Configurate {
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
- if( $this->getOption('disable_feed') ) {
29
- $this->disableFeed();
30
- }
 
31
 
32
- if( $this->getOption('html_minify') && !is_admin() ) {
33
- add_action('init', array($this, 'htmlCompressor'));
34
- }
35
 
36
- if( $this->getOption('remove_recent_comments_style') ) {
37
- add_action('widgets_init', array($this, 'removeRecentCommentsStyle'));
38
- }
39
 
40
- if( !is_admin() && $this->getOption('remove_html_comments') ) {
41
- add_action('init', array($this, 'removeHtmlComments'));
 
 
 
42
  }
43
-
44
- $this->remove_tags_from_head();
45
  }
46
 
 
47
  /**
48
- * Disable Emojis
49
- * URI: https://geek.hellyer.kiwi/plugins/disable-emojis/
50
- * Version: 1.5.1
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
- //Remove feed links from the <head> section
155
-
156
- remove_action('wp_head', 'feed_links_extra', 3);
 
 
 
 
 
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 disableFeedRedirect()
169
  {
170
- // if GET param - remove and redirect
171
- if( isset($_GET['feed']) ) {
172
- wp_redirect(esc_url_raw(remove_query_arg('feed')), 301);
173
-
174
- exit;
175
  }
 
 
 
176
 
177
- // if beauty permalink - remove and redirect
178
- if( get_query_var('feed') !== 'old' ) {
179
-
180
- set_query_var('feed', '');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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($data)
328
  {
329
- return wbcr_clearfy_minify_html_output($data);
330
- }
331
 
332
- public function removeHtmlComments()
333
- {
334
- ob_start(array($this, 'removeHtmlCommentsMain'));
335
- }
336
 
337
- public function removeHtmlCommentsMain($data)
338
- {
339
- return preg_replace('#<!--(?!<!|\s?ngg_resource)[^\[>].*?-->#s', '', $data);
 
 
 
 
 
 
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
- public function registerActionsAndFilters()
 
 
 
 
 
 
 
 
 
 
12
  {
13
- if( $this->getOption('remove_meta_generator') ) {
14
- remove_action('wp_head', 'wp_generator');
15
- add_filter('the_generator', '__return_empty_string');
16
- }
17
 
18
- /**
19
- * Priority set to 9999. Higher numbers correspond with later execution.
20
- * Hook into the style loader and remove the version information.
21
- */
22
 
23
- if( $this->getOption('remove_style_version') ) {
24
- add_filter('style_loader_src', array($this, 'hideWordpressVersionInScript'), 9999, 2);
 
 
 
 
 
 
 
 
 
25
  }
 
26
 
27
- /**
28
- * Hook into the script loader and remove the version information.
29
- */
30
 
31
- if( $this->getOption('remove_js_version') ) {
32
- add_filter('script_loader_src', array($this, 'hideWordpressVersionInScript'), 9999, 2);
33
- }
34
  }
35
 
36
  /**
37
- * Remove wp version from any enqueued scripts
38
- * @param string $target_url
39
- * @return string
40
  */
41
- public function hideWordpressVersionInScript($src, $handle)
42
  {
43
- if( is_admin() ) {
44
- return $src;
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
- class WbcrClearfy_ConfigSecurity extends WbcrFactoryClearfy_Configurate {
10
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
  public function registerActionsAndFilters()
12
  {
13
- if( $this->getOption('change_login_errors') ) {
14
- add_filter('login_errors', array($this, 'changeLoginErrors'));
15
- }
 
16
 
17
- if( $this->getOption('protect_author_get') ) {
18
- add_action('wp', array($this, 'protectAuthorGet'));
 
19
  }
20
  }
21
 
@@ -40,7 +57,7 @@
40
 
41
  public function protectAuthorGet()
42
  {
43
- if( isset($_GET['author']) && !is_admin() ) {
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
- class WbcrClearfy_ConfigSeo extends WbcrFactoryClearfy_Configurate {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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( empty($preinsatall_components) || !in_array('yoast_seo', $preinsatall_components) ) {
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
- $pattern = array(' alt=""', ' alt=\'\'');
99
 
100
- $replacement = array(
101
- ' alt="' . esc_attr($post->post_title) . '"',
102
- ' alt=\'' . esc_attr($post->post_title) . '\''
103
- );
104
 
105
- $content = str_replace($pattern, $replacement, $content);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
106
 
107
  return $content;
108
  }
@@ -147,7 +174,7 @@
147
  return $this->getOption('robots_txt_text');
148
  }
149
 
150
- return wbcr_clearfy_get_right_robot_txt();
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
- wp_redirect(get_permalink($post->ID));
203
-
204
- exit;
205
  }
206
  }
207
  }
@@ -209,13 +242,10 @@
209
  /**
210
  * Remove yoast comment
211
  */
212
-
213
  public function yoastRemoveHeadComment()
214
  {
215
- if( defined('WPSEO_VERSION') ) {
216
- add_action('get_header', array($this, 'yoastRemoveHeadCommentStart'));
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
- if( isset($_GET['replytocom']) && is_singular() ) {
274
- $post_url = get_permalink($GLOBALS['post']->ID);
 
 
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
- wp_redirect($post_url, 301);
284
  die();
285
  }
286
 
@@ -308,22 +339,9 @@
308
  return $output;
309
  }
310
 
311
- public function redirectFromHttpToHttps()
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-02-05 03:49+0300\n"
5
- "PO-Revision-Date: 2018-02-05 03: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
-
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 "У вас недостаточно возможностей для редактирования этой информации."
25
-
26
- #: admin/ajax/configurate.php:25 admin/ajax/configurate.php:37
27
- msgid "Undefinded mode."
28
- msgstr "Неопределенный режим."
29
-
30
- #: admin/ajax/import-settings.php:23
31
- msgid "Settings are not defined or do not exist."
32
- msgstr "Настройки не определены или не существуют."
33
-
34
- #: admin/boot.php:66
35
- msgid "Welcome to Clearfy (1.1.9)"
36
- msgstr "Вас приветствует Clearfy (1.1.9)"
37
-
38
- #: admin/boot.php:67
39
- msgid ""
40
- "We have moved the plugins menu to the general settings for your comfort. "
41
- "There are new plugin features. Please go to the plugin page to learn more!"
42
- msgstr ""
43
- "Для вашего комфорта мы убрали меню плагина в общие настройки. У плагина "
44
- "появились новые функции, пожалуйста, ознакомьтесь с ними на странице плагина!"
45
-
46
- #: admin/boot.php:69
47
- msgid "Remove the excess from Clearfy (1.1.9)"
48
- msgstr "Удалите лишнее из Clearfy (1.1.9)"
49
-
50
- #: admin/boot.php:70
51
- msgid ""
52
- "We have divided plugin features into components. You can turn off unused "
53
- "plugin functions."
54
- msgstr ""
55
- "Мы разделили функции плагина на компоненты, чтобы вы могли отключить не "
56
- "нужные для вас функции."
57
-
58
- #: admin/includes/options.php:12 admin/pages/code-clean.php:76
59
- msgid "Remove REST API Links"
60
- msgstr "Отключить Rest API"
61
-
62
- #: admin/includes/options.php:17 admin/pages/code-clean.php:86
63
- msgid "Disable Emojis"
64
- msgstr "Отключить Emojis (эмоции)"
65
-
66
- #: admin/includes/options.php:22 admin/pages/code-clean.php:116
67
- msgid "Remove dns-prefetch"
68
- msgstr "Удалить dns-prefetch"
69
-
70
- #: admin/includes/options.php:27 admin/pages/code-clean.php:125
71
- msgid "Remove RSD Link"
72
- msgstr "Удаляет RSD ссылку"
73
-
74
- #: admin/includes/options.php:32 admin/pages/code-clean.php:135
75
- msgid "Remove wlwmanifest Link"
76
- msgstr "Удалить wlwmanifest Link"
77
-
78
- #: admin/includes/options.php:37 admin/pages/code-clean.php:145
79
- msgid "Remove Shortlink"
80
- msgstr "Удалить короткие ссылки"
81
-
82
- #: admin/includes/options.php:42 admin/pages/code-clean.php:155
83
- msgid "Remove links to previous, next post"
84
- msgstr "Удалить ссылки следующая, предыдущая запись"
85
-
86
- #: admin/includes/options.php:47 admin/pages/code-clean.php:165
87
- msgid "Remove .recentcomments styles"
88
- msgstr "Удалить стили .recentcomments"
89
-
90
- #: admin/includes/options.php:52 admin/pages/seo.php:69
91
- msgid "Automatically set the alt attribute"
92
- msgstr "Автоматически устанавливать атрибут alt"
93
-
94
- #: admin/includes/options.php:57 admin/pages/seo.php:119
95
- msgid "Automatically insert the Last Modified header"
96
- msgstr "Автоматически вставлять заголовок Last Modified"
97
-
98
- #: admin/includes/options.php:62 admin/pages/seo.php:142
99
- msgid "Return an If-Modified-Since responce"
100
- msgstr "Возвращать заголовок If-Modified-Since"
101
-
102
- #: admin/includes/options.php:67 admin/pages/seo.php:156
103
- msgid "Remove duplicate names in breadcrumbs WP SEO by Yoast"
104
- msgstr "Удалить дубли имен в хлебных крошках WP SEO Yoast"
105
-
106
- #: admin/includes/options.php:72 admin/pages/seo.php:166
107
- #, php-format
108
- msgid "Remove the tag %s from XML site map"
109
- msgstr "Удаляет тег %s из XML карты сайта плагин Yoast SEO."
110
-
111
- #: admin/includes/options.php:77 admin/pages/seo.php:184
112
- msgid "Disable JSON-LD sitelinks searchbox"
113
- msgstr "Отключить ссылки JSON-LD"
114
-
115
- #: admin/includes/options.php:82 admin/pages/seo.php:194
116
- msgid "Disable Yoast Structured Data"
117
- msgstr "Отключить структурирование данных"
118
-
119
- #: admin/includes/options.php:87 admin/pages/seo.php:206
120
- #, php-format
121
- msgid "Remove comment from %s section"
122
- msgstr "Удалить комментарии из секции %s"
123
-
124
- #: admin/includes/options.php:92 admin/pages/double-pages.php:78
125
- msgid "Remove archives date"
126
- msgstr "Удалить архивы дат"
127
-
128
- #: admin/includes/options.php:97 admin/pages/double-pages.php:88
129
- msgid "Remove author archives "
130
- msgstr "Удалить архивы автора"
131
-
132
- #: admin/includes/options.php:102 admin/pages/double-pages.php:98
133
- msgid "Remove archives tag"
134
- msgstr "Удалить метки архивов"
135
-
136
- #: admin/includes/options.php:107 admin/pages/double-pages.php:108
137
- msgid "Remove attachment pages"
138
- msgstr "Удалить страницы вложений"
139
-
140
- #: admin/includes/options.php:112 admin/pages/double-pages.php:118
141
- msgid "Remove post pagination"
142
- msgstr "Удалить постраничную навигацию записей"
143
-
144
- #: admin/includes/options.php:117 admin/pages/double-pages.php:128
145
- msgid "Remove ?replytocom"
146
- msgstr "Удалить ?replytocom"
147
-
148
- #: admin/includes/options.php:122 admin/pages/privacy.php:68
149
- msgid "Remove meta generator"
150
- msgstr "Удалить meta generator"
151
-
152
- #: admin/includes/options.php:127 admin/pages/defence.php:64
153
- msgid "Hide author login"
154
- msgstr "Убрать возможность узнать логин автора"
155
-
156
- #: admin/includes/options.php:132 admin/pages/defence.php:74
157
- msgid "Hide errors when logging into the site"
158
- msgstr "Спрятать ошибки при входе на сайт"
159
-
160
- #: admin/includes/options.php:137 admin/includes/options.php:254
161
- #: admin/pages/privacy.php:78
162
- msgid "Remove Version from Stylesheet"
163
- msgstr "Удалить версию у файлов стилей"
164
-
165
- #: admin/includes/options.php:142 admin/includes/options.php:259
166
- #: admin/pages/privacy.php:89
167
- msgid "Remove Version from Script"
168
- msgstr "Удаляет версию у javascript файлов"
169
-
170
- #: admin/includes/options.php:147 admin/pages/widgets.php:44
171
- msgid "Remove the \"Pages\" widget"
172
- msgstr "Удалите виджет «Страницы»"
173
-
174
- #: admin/includes/options.php:152 admin/pages/widgets.php:53
175
- msgid "Remove calendar widget"
176
- msgstr "Удалить виджет календаря"
177
-
178
- #: admin/includes/options.php:157 admin/pages/widgets.php:62
179
- msgid "Remove the \"Cloud of tags\" widget"
180
- msgstr "Удалите виджет «Облако тегов»"
181
-
182
- #: admin/includes/options.php:162 admin/pages/widgets.php:71
183
- msgid "Remove the \"Archives\" widget"
184
- msgstr "Удалите виджет «Архивы»"
185
-
186
- #: admin/includes/options.php:167 admin/pages/widgets.php:80
187
- msgid "Remove the \"Links\" widget"
188
- msgstr "Удалите виджет «Ссылки»"
189
-
190
- #: admin/includes/options.php:172 admin/pages/widgets.php:89
191
- msgid "Remove the \"Meta\" widget"
192
- msgstr "Удалите виджет «Мета»"
193
-
194
- #: admin/includes/options.php:177 admin/pages/widgets.php:98
195
- msgid "Remove the \"Search\" widget"
196
- msgstr "Удалите виджет «Поиск»"
197
-
198
- #: admin/includes/options.php:182 admin/includes/options.php:202
199
- #: admin/pages/widgets.php:107
200
- msgid "Remove the \"Text\" widget"
201
- msgstr "Удалите виджет «Текст»"
202
-
203
- #: admin/includes/options.php:187 admin/pages/widgets.php:116
204
- msgid "Remove the \"Categories\" widget"
205
- msgstr "Удалите виджет «Категории»"
206
-
207
- #: admin/includes/options.php:192 admin/pages/widgets.php:125
208
- msgid "Remove the \"Recent Posts\" widget"
209
- msgstr "Удалите виджет «Последние записи»"
210
-
211
- #: admin/includes/options.php:197 admin/pages/widgets.php:134
212
- msgid "Remove the \"Recent Comments\" widget"
213
- msgstr "Удалите виджет «Последние комментарии»"
214
-
215
- #: admin/includes/options.php:207 admin/pages/widgets.php:143
216
- msgid "Remove the \"RSS\" widget"
217
- msgstr "Удалить виджет «RSS»"
218
-
219
- #: admin/includes/options.php:212 admin/pages/widgets.php:152
220
- msgid "Remove the \"Menu\" widget"
221
- msgstr "Удалите виджет «Меню»"
222
-
223
- #: admin/includes/options.php:217 admin/pages/widgets.php:161
224
- msgid "Remove the \"Twenty Eleven Ephemera\" widget"
225
- msgstr "Удалите виджет \"Twenty Eleven Ephemera\""
226
-
227
- #: admin/includes/options.php:220 admin/includes/options.php:289
228
- #: admin/pages/additionally.php:192
229
- msgid "Disable revision"
230
- msgstr "Отключить ревизии"
231
-
232
- #: admin/includes/options.php:221 admin/includes/options.php:294
233
- #: admin/pages/additionally.php:205
234
- msgid "Limit Post Revisions"
235
- msgstr "Установить лимит ревизий"
236
-
237
- #: admin/includes/options.php:222 admin/pages/seo.php:133
238
- msgid "Exclude pages:"
239
- msgstr "Исключить страницы:"
240
-
241
- #: admin/includes/options.php:225 admin/pages/seo.php:79
242
- msgid "Create right robots.txt"
243
- msgstr "Создайте правильный robots.txt"
244
-
245
- #: admin/includes/options.php:230 admin/pages/seo.php:94
246
- msgid "You can edit the robots.txt file in the box below:"
247
- msgstr "Вы можете отредактировать файл robots.txt в поле ниже:"
248
-
249
- #: admin/includes/options.php:233
250
- msgid "Quick mode"
251
- msgstr "Быстрый старт"
252
-
253
- #: admin/includes/options.php:236 admin/pages/code-clean.php:96
254
- msgid "Remove jQuery Migrate"
255
- msgstr "Удалить jQuery Migrate"
256
-
257
- #: admin/includes/options.php:239 admin/pages/code-clean.php:106
258
- msgid "Disable Embeds"
259
- msgstr "Отключить Embeds"
260
-
261
- #: admin/includes/options.php:240 admin/pages/code-clean.php:66
262
- msgid "Disable RSS feeds"
263
- msgstr "Отключить RSS каналы"
264
-
265
- #: admin/includes/options.php:243
266
- msgid "Removes links to wordpress.org site from the admin bar"
267
- msgstr "Удаляет ссылки на wordpress.org сайт из панели администратора"
268
-
269
- #: admin/includes/options.php:246 admin/pages/code-clean.php:175
270
- msgid "HTML minify"
271
- msgstr "Html сжатие"
272
-
273
- #: admin/includes/options.php:249
274
- msgid "Redirect Http to Https"
275
- msgstr "Перенаправление Http на Https"
276
-
277
- #: admin/includes/options.php:264 admin/pages/privacy.php:100
278
- msgid "Eclude stylesheet/script file names"
279
- msgstr "Исключает файлы стилей/сприптов"
280
-
281
- #: admin/includes/options.php:269 admin/pages/additionally.php:275
282
- msgid "Enable Sanitization of WordPress"
283
- msgstr "Включить Wordpress Sanitization"
284
-
285
- #: admin/includes/options.php:274 admin/pages/additionally.php:143
286
- msgid "Disable admin top bar"
287
- msgstr "Скрыть верхнюю панель администратора"
288
-
289
- #: admin/includes/options.php:279 admin/pages/additionally.php:161
290
- msgid "Remove admin bar WP logo"
291
- msgstr "Удалить логотип Wordpress из админбара"
292
-
293
- #: admin/includes/options.php:284 admin/pages/additionally.php:171
294
- msgid "Replace \"Howdy\" text with \"Welcome\""
295
- msgstr "Заменить текст \"Привет\", на \"Добро пожаловать\""
296
-
297
- #: admin/includes/options.php:299 admin/pages/additionally.php:229
298
- msgid "Disable autosave"
299
- msgstr "Отключить автосохранения"
300
-
301
- #: admin/includes/options.php:304 admin/pages/additionally.php:239
302
- msgid "Disable Texturization - Smart Quotes"
303
- msgstr "Отключить \"Умные кавычки\""
304
-
305
- #: admin/includes/options.php:309 admin/pages/additionally.php:249
306
- msgid "Disable capitalization in Wordpress branding"
307
- msgstr "Отключить верблюжий шрифт в WordPress брендинге"
308
-
309
- #: admin/includes/options.php:314 admin/pages/additionally.php:259
310
- msgid "Disable auto inserted paragraphs (i.e. p tags)"
311
- msgstr "Отключить автоматические параграфы (т.е p теги)"
312
-
313
- #: admin/includes/options.php:319 admin/pages/additionally.php:82
314
- msgid "Disable Heartbeat"
315
- msgstr "Отключить пульсацию Wordpress"
316
-
317
- #: admin/includes/options.php:324 admin/pages/additionally.php:111
318
- msgid "Heartbeat frequency"
319
- msgstr "Интервал пульсации Wordpress"
320
-
321
- #: admin/includes/options.php:329 admin/pages/code-clean.php:185
322
- msgid "Remove html comments"
323
- msgstr "Удалить html комментарии"
324
-
325
- #: admin/pages/additionally.php:27
326
- msgid "Advanced"
327
- msgstr "Дополнительно"
328
-
329
- #: admin/pages/additionally.php:54
330
- msgid ""
331
- "Warning! In the wp-config.php file, a constant WP_POST_REVISIONS is found, "
332
- "it determines the number of revisions. Delete it so you can change this "
333
- "value through the admin panel."
334
- msgstr ""
335
- "Предупреждение! В файле wp-config.php найдена константа WP_POST_REVISIONS, "
336
- "она определяет количество ревизий. Удалите ее, чтобы вы могли изменить это "
337
- "значение через панель администратора."
338
-
339
- #: admin/pages/additionally.php:75
340
- msgid "Heartbeat"
341
- msgstr "Пульсация"
342
-
343
- #: admin/pages/additionally.php:75
344
- msgid ""
345
- "The WordPress Heartbeat API uses /wp-admin/admin-ajax.php to run AJAX calls "
346
- "from the web-browser. While this is great and all it can also cause high CPU "
347
- "usage and crazy amounts of PHP calls. For example, if you leave your "
348
- "dashboard open it will keep sending POST requests to this file on a regular "
349
- "interval, every 15 seconds. Here is an example below of it happening."
350
- msgstr ""
351
- "API WordPress использует пульсацию в /wp-admin/admin-ajax.php для запуска "
352
- "вызовов AJAX из веб-браузера. Хотя это очень полезно, но все же это может "
353
- "также вызвать высокую загрузку процессора и большое количество обращений к "
354
- "серверу. Например, если вы оставите свою панель управления открытой, она "
355
- "будет регулярно отправлять POST-запросы в этот файл через каждые 15 секунд. "
356
- "Ниже приведен пример ниже."
357
-
358
- #: admin/pages/additionally.php:84
359
- msgid "Default"
360
- msgstr "По умолчанию"
361
-
362
- #: admin/pages/additionally.php:85
363
- msgid "Everywhere"
364
- msgstr "Повсюду"
365
-
366
- #: admin/pages/additionally.php:86
367
- msgid "On dashboard page"
368
- msgstr "В панели инструментов"
369
-
370
- #: admin/pages/additionally.php:87
371
- msgid "Only allow when editing Posts/Pages"
372
- msgstr "Когда редактируете записи/страницы"
373
-
374
- #: admin/pages/additionally.php:113 admin/pages/additionally.php:207
375
- msgid "Wordpress default"
376
- msgstr "Wordpress по умолчанию"
377
-
378
- #: admin/pages/additionally.php:114 admin/pages/additionally.php:115
379
- #: admin/pages/additionally.php:116 admin/pages/additionally.php:117
380
- #: admin/pages/additionally.php:118 admin/pages/additionally.php:119
381
- #: admin/pages/additionally.php:120 admin/pages/additionally.php:121
382
- #: admin/pages/additionally.php:122
383
- msgid "seconds"
384
- msgstr "секунды"
385
-
386
- #: admin/pages/additionally.php:125
387
- msgid ""
388
- "Select the heartbeat frequency wordpress. We recommend you 60 seconds, "
389
- "default is 20 seconds."
390
- msgstr ""
391
- "Установите частоту пульсации Wordpress. Мы рекомендуем вам 60 секунд, "
392
- "значение по умолчанию — 20 секунд."
393
-
394
- #: admin/pages/additionally.php:136
395
- msgid "Admin bar"
396
- msgstr "Верхняя панель администратора"
397
-
398
- #: admin/pages/additionally.php:136
399
- msgid "In this group of settings, you can manage the adminbar."
400
- msgstr ""
401
- "В этой группе настроек вы можете управлять верхней панелью администратора."
402
-
403
- #: admin/pages/additionally.php:145
404
- msgid "Default enable"
405
- msgstr "Включен (по умолчанию)"
406
-
407
- #: admin/pages/additionally.php:146
408
- msgid "For all users"
409
- msgstr "Для всех пользователей"
410
-
411
- #: admin/pages/additionally.php:149
412
- msgid "For all users except administrator"
413
- msgstr "Для всех, кроме администратора"
414
-
415
- #: admin/pages/additionally.php:153
416
- msgid ""
417
- "In some cases, you need to disable the floating top admin panel. You can "
418
- "disable this panel."
419
- msgstr ""
420
- некоторых случаях вам необходимо отключить админбар. Вы можете это сделать "
421
- "с помощью текущей опции."
422
-
423
- #: admin/pages/additionally.php:153
424
- msgid "Disable admin top bar."
425
- msgstr "Отключить верхнюю панель администратора."
426
-
427
- #: admin/pages/additionally.php:163
428
- msgid "Enable this if you want to remove wp logo from admin bar."
429
- msgstr ""
430
- "Включите это, если вы хотите удалить логотип Wordpress из верхней панели "
431
- "администратора."
432
-
433
- #: admin/pages/additionally.php:173
434
- msgid "Replaces the welcome text in admin bar."
435
- msgstr "Заменяет текст приветствия в панели администратора."
436
-
437
- #: admin/pages/additionally.php:185
438
- msgid "Posts"
439
- msgstr "Записи"
440
-
441
- #: admin/pages/additionally.php:185
442
- msgid "In this group of options, you can manage revisions and post autosave."
443
- msgstr ""
444
- этой группе опций вы можете управлять ревизиями и автосохранением записей "
445
- "и страниц."
446
-
447
- #: admin/pages/additionally.php:208 admin/pages/additionally.php:209
448
- #: admin/pages/additionally.php:210 admin/pages/additionally.php:211
449
- #: admin/pages/additionally.php:212 admin/pages/additionally.php:213
450
- #: admin/pages/additionally.php:214 admin/pages/additionally.php:215
451
- #: admin/pages/additionally.php:216 admin/pages/additionally.php:217
452
- msgid "revisions"
453
- msgstr "ревизии"
454
-
455
- #: admin/pages/additionally.php:220
456
- msgid ""
457
- "WordPress automatically saves revisions when you are working on posts and "
458
- "pages. These can begin to add up pretty quick. By default, there is no limit "
459
- "in place. We have seen posts with over 1,000 revisions. Multiply this by 50 "
460
- "pages and suddenly you have over 50,000 revisions sitting in your database. "
461
- "The problem with this is that you will most likely never use them and they "
462
- "can start slowing down your database as well as using disk space.\n"
463
- "So we recommend either disabling or limiting your revisions. "
464
- msgstr ""
465
- "WordPress автоматически сохраняет изменения, когда вы работаете над "
466
- "сообщениями и страницами. Они могут начать складываться довольно быстро. По "
467
- "умолчанию, ограничений нет. Мы видели сообщения с более чем 1000 версиями. "
468
- "Умножьте это на 50 страниц, и у вас будет более 50 000 исправлений, сидящих "
469
- вашей базе данных. Проблема заключается в том, что вы, скорее всего, "
470
- "никогда не будете их использовать, и они могут начать замедлять работу вашей "
471
- "базы данных, а также использовать дисковое пространство.\n"
472
- "Поэтому мы рекомендуем либо отключать, либо ограничивать ваши изменения."
473
-
474
- #: admin/pages/additionally.php:231
475
- msgid ""
476
- "WordPress by default automatically saves a draft every 60 seconds (1 "
477
- "minute). There are reasons why you might want to change this."
478
- msgstr ""
479
- "WordPress по умолчанию автоматически сохраняет черновик каждые 60 секунд (1 "
480
- "минута). Есть причины, по которым вы можете изменить это."
481
-
482
- #: admin/pages/additionally.php:231
483
- msgid "Disables automatic saving of drafts."
484
- msgstr "Отключает автоматическое сохранение черновиков."
485
-
486
- #: admin/pages/additionally.php:241
487
- msgid ""
488
- "Function of text formatting. This function makes the text more correct, "
489
- "readable and visually appealing. But sometimes this function may prevent you "
490
- "from using certain codes and symbols."
491
- msgstr ""
492
- "Функция форматирования текста. Эта функция делает текст более правильным, "
493
- "читаемым и визуально привлекательным. Но иногда эта функция может помешать "
494
- "вам использовать определенные коды и символы."
495
-
496
- #: admin/pages/additionally.php:241
497
- msgid "Disable Texturization - Smart Quotes."
498
- msgstr "Отключить умные кавычки"
499
-
500
- #: admin/pages/additionally.php:251
501
- msgid ""
502
- "Replaces the incorrectly written letter \"p\" in the middle of WordPress "
503
- "(you need to write with the capital P in the middle)."
504
- msgstr ""
505
- "Заменяет неправильно написанную букву «p» в середине WordPress (вам нужно "
506
- "написать ее верхнем регистре P в середине)."
507
-
508
- #: admin/pages/additionally.php:251
509
- msgid "Disable capitalization in Wordpress branding."
510
- msgstr "Отключить верблюжий шрифт в брендинге Wordpress."
511
-
512
- #: admin/pages/additionally.php:261
513
- msgid ""
514
- "Replaces the double shifting of a string to an HTML p ... /p construct, and "
515
- "a single one on br."
516
- msgstr ""
517
- "Заменяет двойное смещение строки на конструкцию HTML p ... / p и одну на br."
518
-
519
- #: admin/pages/additionally.php:261
520
- msgid "Disable auto inserted paragraphs."
521
- msgstr "Отключить автоматически вставленные абзацы."
522
-
523
- #: admin/pages/additionally.php:268
524
- msgid "Others"
525
- msgstr "Другие"
526
-
527
- #: admin/pages/additionally.php:268
528
- msgid "Other useful features."
529
- msgstr "Другие полезные функции."
530
-
531
- #: admin/pages/additionally.php:277
532
- msgid ""
533
- "File names and some titles can have special characters, which can cause "
534
- "problems when creating permalinks."
535
- msgstr ""
536
- "Имена файлов и некоторые заголовки могут иметь специальные символы, что "
537
- "может вызвать проблемы при создании постоянных ссылок."
538
-
539
- #: admin/pages/additionally.php:277
540
- msgid ""
541
- "Removes symbols, spaces, latin and other languages characters from uploaded "
542
- "files and gives them \"permalink\" structure (clean characters, only "
543
- "lowercase and dahes)."
544
- msgstr ""
545
- "Удаляет символы, пробелы, латинские и другие языки из имен загружаемых "
546
- "файлов и дает им структуру «permalink» (чистые символы, только строчные "
547
- "буквы и тире)."
548
-
549
- #: admin/pages/code-clean.php:27
550
- msgid "Code cleaning"
551
- msgstr "Очистка кода"
552
-
553
- #: admin/pages/code-clean.php:68
554
- msgid ""
555
- "By default, WordPress generates all types of different RSS feeds for your "
556
- "site. While RSS feeds can be useful if you are running a blog, businesses "
557
- "might not always utilize these. Not every site out there has a blog."
558
- msgstr ""
559
- "По умолчанию WordPress генерирует различные виды RSS-каналов для вашего "
560
- "сайта. Иногда RSS-каналы могут быть полезны, если вы используете блог "
561
- "например, но если у вас обычный одностаничник, то RSS для вас будет "
562
- "бесполезен. "
563
-
564
- #: admin/pages/code-clean.php:68
565
- #, php-format
566
- msgid ""
567
- "Removes a link to the RSS-feed from the %s section, closes and puts the "
568
- "redirect from all RSS-feeds."
569
- msgstr ""
570
- "Удаляет ссылку на RSS-канал из раздела %s, закрывает и ставит "
571
- "перенаправления от всех RSS-каналов."
572
-
573
- #: admin/pages/code-clean.php:78
574
- msgid ""
575
- "The WordPress REST API provides API endpoints for WordPress data types that "
576
- "allow developers to interact with sites remotely by sending and receiving "
577
- "JSON (JavaScript Object Notation) objects. However, a lot of sites don’t use "
578
- "this, and therefore in most cases, it is just unnecessary code."
579
- msgstr ""
580
- "WordPress REST API предоставляет API для работы с WordPress данными, это "
581
- "позволяет разработчикам взаимодействовать с сайтами удаленно, посредством "
582
- "отправки и получения данных в формате JSON (JavaScript Object Notation). "
583
- "Однако многие сайты не используют это, и поэтому в большинстве случаев, это "
584
- "только ненужный код."
585
-
586
- #: admin/pages/code-clean.php:78
587
- msgid ""
588
- "Removes REST API link tag from the front end and the REST API header link "
589
- "from page requests."
590
- msgstr "Отключает REST API и удаляет все ссылки из исходного кода страницы."
591
-
592
- #: admin/pages/code-clean.php:86 admin/pages/code-clean.php:116
593
- #: admin/pages/code-clean.php:125 admin/pages/code-clean.php:135
594
- #: admin/pages/code-clean.php:145 admin/pages/code-clean.php:155
595
- #: admin/pages/code-clean.php:165 admin/pages/defence.php:64
596
- #: admin/pages/defence.php:74 admin/pages/defence.php:84
597
- #: admin/pages/double-pages.php:78 admin/pages/double-pages.php:88
598
- #: admin/pages/double-pages.php:108 admin/pages/double-pages.php:118
599
- #: admin/pages/double-pages.php:128 admin/pages/privacy.php:68
600
- #: admin/pages/privacy.php:78 admin/pages/privacy.php:89 admin/pages/seo.php:69
601
- #: admin/pages/seo.php:119 admin/pages/seo.php:142 admin/pages/seo.php:156
602
- #: admin/pages/seo.php:166 admin/pages/seo.php:206
603
- msgid "Recommended"
604
- msgstr "Рекомендовано"
605
-
606
- #: admin/pages/code-clean.php:88
607
- msgid ""
608
- "Emojis are fun and all, but if you are aren’t using them they actually load "
609
- "a JavaScript file (wp-emoji-release.min.js) on every page of your website. "
610
- "For a lot of businesses, this is not needed and simply adds load time to "
611
- "your site. So we recommend disabling this."
612
- msgstr ""
613
- "Emojis это смайлы (эмоции), если вы не используете их на своем сайте, в "
614
- "исходном коде страницы будет загружаться JavaScript файл (wp-emoji-release."
615
- "min.js), на каждой странице вашего веб-сайта. Для многих сайтов это не "
616
- "требуется и просто увеличивает время загрузки страницы. Поэтому мы "
617
- "рекомендуем отключить это."
618
-
619
- #: admin/pages/code-clean.php:88
620
- msgid "Removes WordPress Emojis JavaScript file (wp-emoji-release.min.js)."
621
- msgstr "Удаляет код Emojis из исходного кода страницы"
622
-
623
- #: admin/pages/code-clean.php:98
624
- msgid ""
625
- "They started adding jQuery migrate in WordPress 3.6. Most up-to-date "
626
- "frontend code and plugins don’t require jquery-migrate.min.js. In most "
627
- "cases, this simply adds unnecessary load to your site. You can see this "
628
- "running if you launch Chrome Devtools console."
629
- msgstr ""
630
- "jQuery миграция появилась в WordPress 3.6. Большинство современных веб-"
631
- "интерфейсов и плагинов не требуют jquery-migrate.min.js. В большинстве "
632
- "случаев это просто ненужная нагрузка на ваш сайт. "
633
-
634
- #: admin/pages/code-clean.php:98
635
- msgid "Removes jQuery Migrate JavaScript file (jquery-migrate.min.js)."
636
- msgstr "Удаляет подключаемый файл (jquery-migrate.min.js)."
637
-
638
- #: admin/pages/code-clean.php:98
639
- msgid "Warning! If there is a broke on your site, disable this option!"
640
- msgstr ""
641
- "Предупреждение! Если у вас появились проблемы в работе сайта или плагинов, "
642
- "отключите эту опцию!"
643
-
644
- #: admin/pages/code-clean.php:108
645
- msgid ""
646
- "Embeds were released with WordPress 4.4. This is basically the magic that "
647
- "auto converts your YouTube videos, Tweets, and URLs into pretty previews "
648
- "while you are editing. However, this actually loads a JavaScript file (wp-"
649
- "embed.min.js) on every page of your website. If you don’t care about the "
650
- "auto converting preview (which we don’t), you can disable this across your "
651
- "site."
652
- msgstr ""
653
- "Встраиваемые объекты были добавлены в WordPress 4.4. Эта функция "
654
- "автоматически преобразуют YouTube, Tweets, и URL-адреса в объекты для "
655
- "удобного просмотра (плеер, картинки и т.д.). Для того, чтобы объекты "
656
- "автоматически преобразовывались на вашем сайте, на каждой странице "
657
- "подключается код JavaScript (wp-embed.min.js). Если вы не используете "
658
- "функции автоматического преобразования встраиваемых объектов, то можете "
659
- "отключить эту функцию."
660
-
661
- #: admin/pages/code-clean.php:108
662
- msgid "Removes WordPress Embed JavaScript file (wp-embed.min.js)"
663
- msgstr ""
664
- "Удаляет JavaScript код отвечающий за встраиваемые объекты (wp-embed.min.js)"
665
-
666
- #: admin/pages/code-clean.php:118
667
- #, php-format
668
- msgid ""
669
- "Since version 4.6.1 in WordPress there are new links in the section %s this "
670
- "type of: "
671
- msgstr ""
672
- "Начиная с версии 4.6.1 в WordPress появляются новые ссылки в секции %s "
673
- "пример:"
674
-
675
- #: admin/pages/code-clean.php:118
676
- #, php-format
677
- msgid "Removes dns-prefetch links from the %s section"
678
- msgstr "Удаляет тег link dns-prefetch из секции %s"
679
-
680
- #: admin/pages/code-clean.php:127
681
- msgid ""
682
- "The above link is used by blog clients. If you edit your site from your "
683
- "browser then you don’t need this. It is also used by some 3rd party "
684
- "applications that utilize XML-RPC requests. In most cases, this is just "
685
- "unnecessary code."
686
- msgstr ""
687
- "Эта ссылка используется клиентами блога. Если вы редактируете сайт из вашего "
688
- "браузера, то вам не нужно это. Она также используется в некоторых "
689
- "приложениях, которые используют XML-RPC-запросы. В большинстве случаев это "
690
- "только ненужный код."
691
-
692
- #: admin/pages/code-clean.php:127
693
- msgid "Remove RSD (Real Simple Discovery) link tag."
694
- msgstr "Удаляет RSD link тег"
695
-
696
- #: admin/pages/code-clean.php:137
697
- msgid ""
698
- "This link is actually used by Windows Live Writer. If you don’t know use "
699
- "Windows Live Writer, which we are guessing you don’t, this is just "
700
- "unnecessary code."
701
- msgstr ""
702
- "Эта ссылка используется фактически Windows Live Writer. Если вы не знаете, "
703
- "как использовать Windows Live Writer, то это только ненужный код."
704
-
705
- #: admin/pages/code-clean.php:137
706
- msgid "Remove wlwmanifest (Windows Live Writer) link tag."
707
- msgstr "Удаляет тег link wlwmanifest (Windows Live Writer)."
708
-
709
- #: admin/pages/code-clean.php:147
710
- #, php-format
711
- msgid ""
712
- "By default, the following tag shows up in every WordPress install. %s This "
713
- "is used for a shortlink to your pages and posts. However, if you are already "
714
- "using pretty permalinks, such as domain.com/post, then there is no reason to "
715
- "keep this, it is just unnecessary code."
716
- msgstr ""
717
- "По умолчанию следующий тег печатается на каждой странице ваших записей и "
718
- "страниц. %s Это используется, как короткая ссылка на вашу статью. Если вы "
719
- "используете постоянные ссылки, то это не нужный код."
720
-
721
- #: admin/pages/code-clean.php:147
722
- msgid "Remove Shortlink link tag."
723
- msgstr "Удаляет тег link shortlink."
724
-
725
- #: admin/pages/code-clean.php:157
726
- msgid ""
727
- "If you use Wordpress as a CMS, then you can delete these links, they can "
728
- "only come in handy for a blog."
729
- msgstr ""
730
- "Если вы используете Wordpress как CMS (а не блог), то вы можете удалить эти "
731
- "ссылки, но для блога они могут быть полезны."
732
-
733
- #: admin/pages/code-clean.php:157
734
- msgid ""
735
- "Remove the previous and next post links within the wp_head of your wordpress "
736
- "theme."
737
- msgstr ""
738
- "Удаляет ссылки предидущая и следующая запись в head вашей темы wordpress."
739
-
740
- #: admin/pages/code-clean.php:167
741
- msgid ""
742
- "WP by default for the widget \"recent comments\" prescribes in the code "
743
- "styles that are almost impossible to change, because to them apply! "
744
- "important."
745
- msgstr ""
746
- "Wordpress по умолчанию для виджета \"Последние комментари\" прописывает в "
747
- "стилях код, которые почти невозможно изменить, потому что к ним применяются "
748
- "значение !important."
749
-
750
- #: admin/pages/code-clean.php:167
751
- msgid "Removes .recentcomments styles from head section."
752
- msgstr "Удаляет .recentcomments стили из head секции."
753
-
754
- #: admin/pages/code-clean.php:177
755
- msgid ""
756
- "Reduces the weight of the page by removing line breaks, tabs, spaces, etc."
757
- msgstr ""
758
- "Уменьшает вес страницы путем удаления разрывов строк, вкладок, пробелов и т. "
759
- "Д."
760
-
761
- #: admin/pages/code-clean.php:177
762
- msgid "Minify pages."
763
- msgstr "Минимизировать страницы."
764
-
765
- #: admin/pages/code-clean.php:187
766
- msgid ""
767
- "This function will remove all html comments in the source code, except for "
768
- "special and hidden comments. This is necessary to hide the version of "
769
- "installed plugins."
770
- msgstr ""
771
- "Эта функция удалит все html-комментарии в исходном коде, за исключением "
772
- "специальных и скрытых комментариев. Это необходимо, чтобы скрыть версию "
773
- "установленных плагинов."
774
-
775
- #: admin/pages/code-clean.php:187
776
- msgid "Remove html comments in source code."
777
- msgstr "Удалить Html комментарии в исходном коде страницы."
778
-
779
- #: admin/pages/components.php:32
780
- msgid "Components"
781
- msgstr "Компоненты"
782
-
783
- #: admin/pages/components.php:63
784
- msgid "Updates manager"
785
- msgstr "Менеджер обновлений"
786
-
787
- #: admin/pages/components.php:66
788
- msgid "Disable updates enable auto updates for themes, plugins and WordPress."
789
- msgstr ""
790
- "Отключает обновления, включает автообновления плагинов, тем, WordPress."
791
-
792
- #: admin/pages/components.php:70
793
- msgid "Comments tools"
794
- msgstr "Инструменты комментариев"
795
-
796
- #: admin/pages/components.php:73
797
- msgid ""
798
- "Bulk disable and remove comments, disable “Website” field, hides external "
799
- "links, disable XML-RPC."
800
- msgstr ""
801
- "Позволяет массово отключать и удалять комментарии, отключает поле сайт, "
802
- "скрывает внешние ссылки, отключает XML-RPC."
803
-
804
- #: admin/pages/components.php:77
805
- msgid "Widgets tools"
806
- msgstr "Инструменты для виджетов"
807
-
808
- #: admin/pages/components.php:80
809
- msgid "Disable unused widgets such as tag cloud, links, calendar etc."
810
- msgstr ""
811
- "Позволяет отключить неиспользуемые виджеты, такие как облако тегов, ссылки, "
812
- "календарь и т.д."
813
-
814
- #: admin/pages/components.php:84
815
- msgid "Asset manager"
816
- msgstr "Менеджер скриптов"
817
-
818
- #: admin/pages/components.php:87
819
- msgid ""
820
- "Selectively disable unused scripts and styles on the pages of your website."
821
- msgstr ""
822
- "Выборочно отключает неиспользуемые скрипты и стили на страницах вашего сайта."
823
-
824
- #: admin/pages/components.php:91
825
- msgid "Disable admin notices"
826
- msgstr "Отключить уведомления"
827
-
828
- #: admin/pages/components.php:94
829
- msgid ""
830
- "Disables admin notices bulk or individually. Collects notices into the admin "
831
- "bar."
832
- msgstr ""
833
- "Отключает уведомления администратора индивидуально или все разом. Собирает "
834
- "уведомления в админ баре."
835
-
836
- #: admin/pages/components.php:98
837
- msgid "Admin bar manager"
838
- msgstr "Управление админбаром"
839
-
840
- #: admin/pages/components.php:101
841
- msgid "Disables admin bar. Allows to change and remove admin bar elements."
842
- msgstr ""
843
- "Отключает админ бар. Позволяет изменять и удалять элементы из админбара."
844
-
845
- #: admin/pages/components.php:105
846
- msgid "Posts tools"
847
- msgstr "Инструменты для записей"
848
-
849
- #: admin/pages/components.php:108
850
- msgid ""
851
- "Disable revisions, disable posts autosave, disable smart quotes and disable "
852
- "auto paragraphs."
853
- msgstr ""
854
- "Отключение ревизий, отключение автосохранений записей, отключение «умных "
855
- "кавычек», отключение автоматических параграфов."
856
-
857
- #: admin/pages/components.php:112
858
- msgid "Yoast SEO optimization"
859
- msgstr "Оптимизация Yoast Seo"
860
-
861
- #: admin/pages/components.php:115
862
- msgid "Set of optimization functions for the popular Yoast SEO plugin."
863
- msgstr "Набор функций для оптимизации популярного плагина Yoast Seo."
864
-
865
- #: admin/pages/components.php:120
866
- msgid ""
867
- "These are components of the plugin bundle. When you activate the plugin, all "
868
- "the components turned on by default. If you don’t need some function, you "
869
- "can easily turn it off on this page."
870
- msgstr ""
871
- "Это компоненты, входящие в загрузочный пакет плагина. При активации плагина "
872
- "все компоненты включены по умолчанию. Если какая-то функция вам не нужна, вы "
873
- "можете легко отключить её на этой странице."
874
-
875
- #: admin/pages/components.php:150
876
- msgid "Activate"
877
- msgstr "Включить"
878
-
879
- #: admin/pages/components.php:152
880
- msgid "Deactivate"
881
- msgstr "Отключить"
882
-
883
- #: admin/pages/defence.php:25
884
- msgid "Defence"
885
- msgstr "Защита"
886
-
887
- #: admin/pages/defence.php:66
888
- msgid ""
889
- "An attacker can find out the author's login, using a similar request to get "
890
- "your site. mysite.com/?author=1"
891
- msgstr ""
892
- "Злоумышленник может узнать логин автора, с помощью подобного get запроса "
893
- "mysite.com/?author=1"
894
-
895
- #: admin/pages/defence.php:66
896
- msgid "Sets the redirect to exclude the possibility of obtaining a login."
897
- msgstr ""
898
- "Предотвращает возможность узнать логин автора, устанавливая перенаправление."
899
-
900
- #: admin/pages/defence.php:76
901
- msgid ""
902
- "WP by default shows whether you entered a wrong login or incorrect password, "
903
- "which allows attackers to understand if there is a certain user on the site, "
904
- "and then start searching through the passwords."
905
- msgstr ""
906
- "Wordpress по умолчанию показывает, ввели ли вы неправильный логин или "
907
- "неправильный пароль, что дает злоумышленникам понять, существует ли "
908
- "определенный пользователь на сайте, а после начать перебор паролей."
909
-
910
- #: admin/pages/defence.php:76
911
- msgid ""
912
- "Changes in the text of the error so that attackers could not find the login."
913
- msgstr ""
914
- "Меняет текст ошибки так, чтобы злоумышленники не смогли подобрать логин."
915
-
916
- #: admin/pages/defence.php:84
917
- msgid "Disable XML-RPC"
918
- msgstr "Отключить XML-RPC"
919
-
920
- #: admin/pages/defence.php:86
921
- msgid ""
922
- "A pingback is basically an automated comment that gets created when another "
923
- "blog links to you. A self-pingback is created when you link to an article "
924
- "within your own blog. Pingbacks are essentially nothing more than spam and "
925
- "simply waste resources."
926
- msgstr ""
927
- "Pingback по-существу автоматизированных комментарий, который создается, "
928
- "когда другой блог ссылается на вас. Self-pingback создается, когда вы "
929
- "оставили ссылку на статью в своем блоге. Pingbacks по существу являются не "
930
- "более чем спам и пустая трата ресурсов вашего сайта."
931
-
932
- #: admin/pages/defence.php:86
933
- msgid "Removes the server responses a reference to the xmlrpc file."
934
- msgstr "Удаляет ссылку на xmlrpc-файл и ответ сервера."
935
-
936
- #: admin/pages/double-pages.php:29
937
- msgid "Duplicate pages"
938
- msgstr "Дубли страниц"
939
-
940
- #: admin/pages/double-pages.php:80
941
- #, php-format
942
- msgid ""
943
- "Many duplicates in date archives. Imagine, in addition, that your article "
944
- "will be displayed in the main and in the category, you will still receive at "
945
- "least 3 duplicates: in archives by year, month and date, for example %s."
946
- msgstr ""
947
- "Огромное количество дублей в архивах дат. Представьте, кроме того, что Ваша "
948
- "статья будет выводиться на главной и в категории, Вы еще получите как "
949
- "минимум 3 дубля: в архивах по году, месяцу и дате, например %s."
950
-
951
- #: admin/pages/double-pages.php:80
952
- msgid "Removes all pages with the date archives and puts a redirect."
953
- msgstr "Удаляет полностью архивы дат и ставит редирект."
954
-
955
- #: admin/pages/double-pages.php:90
956
- #, php-format
957
- msgid ""
958
- "If the site is only filled by you - a mandatory item. Allows you to get rid "
959
- "of duplicates on user archives, for example %s."
960
- msgstr ""
961
- "Если сайт заполняете только вы - это функция обязательна. Позволяет вам "
962
- "избавиться от дубликатов страниц автора, например %s."
963
-
964
- #: admin/pages/double-pages.php:90
965
- msgid "Removes all pages with the author archives and puts a redirect."
966
- msgstr "Удаляет все страницы из архивов автора и ставит перенаправление."
967
-
968
- #: admin/pages/double-pages.php:100
969
- msgid ""
970
- "If you use tags only for the block Similar records, or do not use them at "
971
- "all - it will be more correct to close them to avoid duplicates."
972
- msgstr ""
973
- "Если вы используете теги только для виджета \"Похожие записи\", либо не "
974
- "используете их совсем - правильнее будет их закрыть, чтобы избежать дублей."
975
-
976
- #: admin/pages/double-pages.php:100
977
- msgid "Removes all pages with the tag archives and puts a redirect."
978
- msgstr "Ставит редирект со страниц тегов на главную."
979
-
980
- #: admin/pages/double-pages.php:110
981
- msgid ""
982
- "Every of the pictures has its own page on the site. Such pages are "
983
- "successfully indexed and create duplicates. The site can have thousands of "
984
- "same-type attachment pages."
985
- msgstr ""
986
- "Каждая загруженная картинка имеет свою страничку на сайте, состоящую только "
987
- "из одной картинки. Такие страницы успешно индексируются и создают дубли. На "
988
- "сайте могут быть тысячи однотипных страниц вложений."
989
-
990
- #: admin/pages/double-pages.php:110
991
- msgid "Removes attachment pages and puts a redirect."
992
- msgstr "Удаляет страницы вложений и ставит редирект на запись."
993
-
994
- #: admin/pages/double-pages.php:120
995
- #, php-format
996
- msgid ""
997
- "In WordPress, any post can be divided into parts (pages), each part will "
998
- "have its own address. But this functionality is rarely used, but it can "
999
- "create trouble for you. For example, you can add a number to the address of "
1000
- "any entry of your blog, %s - the post itself will open, which will be a "
1001
- "duplicate. You can substitute any number."
1002
- msgstr ""
1003
- "В WordPress любое содержание можно разделить на части (страницы), каждая "
1004
- "часть будет иметь свой собственный адрес. Эта функциональность используется "
1005
- "редко, но это может создать проблемы для вас. Например вы можете добавить "
1006
- "номер в адрес любой записи вашего блога, %s - откроет текущую страницу, "
1007
- "которая будет дублироваться."
1008
-
1009
- #: admin/pages/double-pages.php:120
1010
- #, php-format
1011
- msgid "Removes the pagination from the post and puts a redirect. Example: %s"
1012
- msgstr ""
1013
- "Удаление постраничную навигацию из записи и устанавливет перенаправление. "
1014
- "Пример: %s"
1015
-
1016
- #: admin/pages/double-pages.php:130
1017
- #, php-format
1018
- msgid ""
1019
- "WordPress adds %s to the link \"Reply\" in the comments, if you use "
1020
- "hierarchical comments."
1021
- msgstr ""
1022
- "WordPress добавляет %s к ссылке «Ответ» в комментариях, если вы используете "
1023
- "иерархические комментарии."
1024
-
1025
- #: admin/pages/double-pages.php:130
1026
- msgid "?relpytocom remove and and puts a redirect."
1027
- msgstr "Удаляет ?relpytocom и ставит перенаправление."
1028
-
1029
- #: admin/pages/privacy.php:29
1030
- msgid "Privacy Settings"
1031
- msgstr "Настройки приватности"
1032
-
1033
- #: admin/pages/privacy.php:70
1034
- msgid ""
1035
- "Allows attacker to learn the version of WP installed on the site. This meta "
1036
- "tag has no useful function."
1037
- msgstr ""
1038
- "Позволяет злоумышленнику узнать версию Wordpress, установленую на вашем "
1039
- "сайте. Этот мета-тег не несет никакой пользы."
1040
-
1041
- #: admin/pages/privacy.php:70
1042
- #, php-format
1043
- msgid "Removes the meta tag from the %s section"
1044
- msgstr "Удаляет мета-тег из раздел %s"
1045
-
1046
- #: admin/pages/privacy.php:80 admin/pages/privacy.php:91
1047
- msgid ""
1048
- "To make it more difficult for others to hack your website you can remove the "
1049
- "WordPress version number from your site, your css and js. Without that "
1050
- "number it's not possible to see if you run not the current version to "
1051
- "exploit bugs from the older versions. <br><br>\n"
1052
- "\t\t\t\t\tAdditionally it can improve the loading speed of your site, "
1053
- "because without query strings in the URL the css and js files can be cached."
1054
- msgstr ""
1055
- "Активировав эту функцию вы усложните работу злоумышленника. <br><br>Кроме "
1056
- "того, это может улучшить скорость загрузки вашего сайта, потому что без "
1057
- "строки запроса в URL-адрес css и js файлов могут быть кэшированы."
1058
-
1059
- #: admin/pages/privacy.php:81
1060
- msgid ""
1061
- "Removes the wordpress version number from stylesheets (not logged in user "
1062
- "only)."
1063
- msgstr "Удаляет номер версии из файлов стилей стилей (только для фронтенда)."
1064
-
1065
- #: admin/pages/privacy.php:92
1066
- msgid ""
1067
- "Removes wordpress version number from scripts (not logged in user only)."
1068
- msgstr "Удаляет номер версии из javascript файлов (только для фронтенда)."
1069
-
1070
- #: admin/pages/privacy.php:102
1071
- msgid ""
1072
- "Enter Stylesheet/Script file names to exclude from version removal (each "
1073
- "exclude file starts with a new line)"
1074
- msgstr ""
1075
- "Введите абсолютный путь к файлу, чтобы исключить его из списка файлов у "
1076
- "которых, будет удалена версия (каждое исключение, должно быть с новой "
1077
- "строки)."
1078
-
1079
- #: admin/pages/privacy.php:102
1080
- msgid "Example"
1081
- msgstr "Например"
1082
-
1083
- #: admin/pages/quick-start.php:37
1084
- msgid "Clearfy menu"
1085
- msgstr "Clearfy меню"
1086
-
1087
- #: admin/pages/quick-start.php:44
1088
- msgid "Quick start"
1089
- msgstr "Быстрый старт"
1090
-
1091
- #: admin/pages/quick-start.php:78
1092
- msgid ""
1093
- "On this page you can quickly configure the plug-in without going into "
1094
- "details."
1095
- msgstr ""
1096
- "На этой странице вы можете быстро настроить плагин, не вдаваясь в "
1097
- "подробности."
1098
-
1099
- #: admin/pages/quick-start.php:172
1100
- msgid "Set the recommened for me"
1101
- msgstr "Установить рекомендуемые для меня"
1102
-
1103
- #: admin/pages/quick-start.php:175
1104
- msgid "One click code clearing"
1105
- msgstr "Очистка кода в один клик"
1106
-
1107
- #: admin/pages/quick-start.php:176
1108
- msgid "One click security"
1109
- msgstr "Улучшить безопасность в один клик"
1110
-
1111
- #: admin/pages/quick-start.php:178
1112
- msgid "One click seo optimization"
1113
- msgstr "Оптимизировать SEO в один клик"
1114
-
1115
- #: admin/pages/quick-start.php:182
1116
- msgid "One click remove default Widgets"
1117
- msgstr "Удалить виджеты по умолчанию в один клик"
1118
-
1119
- #: admin/pages/quick-start.php:193
1120
- msgid "Reset all settings"
1121
- msgstr "Сбросить все настройки"
1122
-
1123
- #: admin/pages/quick-start.php:197
1124
- msgid "Are you sure you want to enable the this options?"
1125
- msgstr "Вы действительно хотите включить эти настройки?"
1126
-
1127
- #: admin/pages/quick-start.php:200 admin/pages/quick-start.php:240
1128
- msgid ""
1129
- "After confirmation, all the settings of the plug-in will return to the "
1130
- "default state. Make backup settings by copying data from the export field."
1131
- msgstr ""
1132
- "После подтверждения, все настройки плагина вернутся к состоянию по "
1133
- "умолчанию. Сделайте резервную копию настроек, скопировав данные из поля "
1134
- "экспорта."
1135
-
1136
- #: admin/pages/quick-start.php:204
1137
- msgid "Confirm"
1138
- msgstr "Подтвердить"
1139
-
1140
- #: admin/pages/quick-start.php:205
1141
- msgid "Cancel"
1142
- msgstr "Отмена"
1143
-
1144
- #: admin/pages/quick-start.php:211
1145
- msgid ""
1146
- "These are quick optimization options for your website. You can activate the "
1147
- "groups of necessary settings in one click. With the fast optimization mode, "
1148
- "we are enable the only safe settings that do not break your website. That is "
1149
- "why we recommend you to look at each setting of the plugin individually. The "
1150
- "settings with grey and red question mark will not be active, until you do it "
1151
- "yourself."
1152
- msgstr ""
1153
- "Это настройки быстрой оптимизации вашего сайта. Вы можете активировать "
1154
- "нужные вам группы настроек в один клик. В быстром режиме оптимизации мы "
1155
- "активируем только безопасные настройки, которые не нарушат работу вашего "
1156
- "сайта. Поэтому, мы рекомендуем вам ознакомится с каждой опцией плагина "
1157
- "индивидуально. Настройки с серым и красным знаком вопроса не будут "
1158
- "активированы, пока вы сами не примите решение об их включении."
1159
-
1160
- #: admin/pages/quick-start.php:212
1161
- msgid "Select what you need to do"
1162
- msgstr "Выберите, что вам нужно сделать"
1163
-
1164
- #: admin/pages/quick-start.php:214
1165
- msgid ""
1166
- "After selecting any optimization case, the plugin will automatically enable "
1167
- "the necessary settings in safe mode and one click."
1168
- msgstr ""
1169
- "После выбора варианта оптимизации, плагин автоматически включит необходимые "
1170
- безопасные настройки в один клик."
1171
-
1172
- #: admin/pages/quick-start.php:239
1173
- msgid "Reset settings"
1174
- msgstr "Сбросить настройки"
1175
-
1176
- #: admin/pages/quick-start.php:252
1177
- msgid "Reset"
1178
- msgstr "Сбросить"
1179
-
1180
- #: admin/pages/quick-start.php:254
1181
- msgid "Do It!"
1182
- msgstr "Сделать!"
1183
-
1184
- #: admin/pages/quick-start.php:268
1185
- msgid "Settings successfully updated!"
1186
- msgstr "Настройки успешно обновлены!"
1187
-
1188
- #: admin/pages/quick-start.php:271
1189
- msgid ""
1190
- "During the setup, an unknown error occurred, please try again or contact the "
1191
- "plug-in support."
1192
- msgstr ""
1193
- "Во время установки произошла неизвестная ошибка, повторите попытку или "
1194
- "обратитесь в службу поддержки плагинов."
1195
-
1196
- #: admin/pages/quick-start.php:278
1197
- msgid "Import/Export settings"
1198
- msgstr "Импорт/Экспорт настроек"
1199
-
1200
- #: admin/pages/quick-start.php:281
1201
- msgid "Import options"
1202
- msgstr "Импортировать настройки"
1203
-
1204
- #: admin/pages/quick-start.php:287
1205
- msgid "Support"
1206
- msgstr "Поддержка"
1207
-
1208
- #: admin/pages/quick-start.php:289
1209
- msgid ""
1210
- "If you faced with any issues, please follow the steps below to get quickly "
1211
- "quality support:"
1212
- msgstr ""
1213
- "Если вы столкнулись с какими-либо проблемами, выполните следующие действия, "
1214
- "чтобы быстро получить качественную поддержку:"
1215
-
1216
- #: admin/pages/quick-start.php:292
1217
- msgid ""
1218
- "Generate a debug report which will contains inforamtion about your "
1219
- "configuratin and installed plugins"
1220
- msgstr ""
1221
- "Создайте отчет об ошибках, который будет содержать информацию о вашей "
1222
- "конфигурации и установленных плагинах."
1223
-
1224
- #: admin/pages/quick-start.php:295
1225
- msgid "Generate Debug Report"
1226
- msgstr "Сгенерировать отчет об ошибках"
1227
-
1228
- #: admin/pages/quick-start.php:299
1229
- msgid ""
1230
- "Send a message to <b>wordpress.webraftic@gmail.com</b> include the debug "
1231
- "report into the message body."
1232
- msgstr ""
1233
- "Отправьте ваше сообщение на <b>wordpress.webraftic@gmail.com</b>, к "
1234
- "сообщению прикрепите отчет об ошибках"
1235
-
1236
- #: admin/pages/quick-start.php:302
1237
- msgid "We guarantee to respond you within 7 business day."
1238
- msgstr "Мы гарантируем ответ на ваш вопрос в течении 7 дней."
1239
-
1240
- #: admin/pages/seo.php:27
1241
- msgid "SEO"
1242
- msgstr "SEO"
1243
-
1244
- #: admin/pages/seo.php:71
1245
- msgid ""
1246
- "The alt attribute is mandatory, so most SEO experts say. If you missed or "
1247
- "did not fill it at all, it will be automatically assigned and will be equal "
1248
- "to the title of the article."
1249
- msgstr ""
1250
- "Атрибут alt является обязательным, поэтому большинство SEO экспертов "
1251
- "говорят. Если вы пропустили, или не заполнили его, он будет автоматически "
1252
- "задан из названия статьи."
1253
-
1254
- #: admin/pages/seo.php:71
1255
- #, php-format
1256
- msgid "Replaces the %s, on attribute with an article name %s"
1257
- msgstr "Заменяет %s, на атрибут с названием статьи %s"
1258
-
1259
- #: admin/pages/seo.php:81
1260
- msgid ""
1261
- "After installation, WP does not contain a robots.txt file and create it "
1262
- "manually. We re-read about 30 different articles, instructions from Yandex "
1263
- "and Google to create the perfect robots.txt"
1264
- msgstr ""
1265
- "После установки WP не содержит файл robots.txt и создает его вручную. Мы "
1266
- "перечитывали около 30 различных статей, инструкции от Yandex и Google, чтобы "
1267
- "создать идеальный файл robots.txt"
1268
-
1269
- #: admin/pages/seo.php:81
1270
- msgid "Automatically creates the perfect robots.txt file"
1271
- msgstr "Автоматически создает идеальный robots.txt"
1272
-
1273
- #: admin/pages/seo.php:112
1274
- msgid "Server headers and response"
1275
- msgstr "Заголовки серверов и ответ"
1276
-
1277
- #: admin/pages/seo.php:112
1278
- msgid ""
1279
- "WordPress does not know how to give the Last Modified header in the server's "
1280
- "responses. You can do this using the settings below."
1281
- msgstr ""
1282
- "WordPress не знает, как отдать заголовок Last Modified. Вы можете сделать "
1283
- "это с помощью параметров ниже."
1284
-
1285
- #: admin/pages/seo.php:135
1286
- #, php-format
1287
- msgid ""
1288
- "You can specify a page mask, for example: %s or %s. All pages that contain "
1289
- "the string will be excluded. Each exclude must begin with a new line."
1290
- msgstr ""
1291
- "Можно указать маску страницы, например: %s или %s. Все страницы, которые "
1292
- "содержат эти строки, будут исключены. Каждое исключение должно начинаться с "
1293
- "новой строки."
1294
-
1295
- #: admin/pages/seo.php:149
1296
- msgid "For the Yoast SEO plugin"
1297
- msgstr "Для плагина Yoast SEO"
1298
-
1299
- #: admin/pages/seo.php:149
1300
- msgid ""
1301
- "These settings will help you eliminate some problems associated with the "
1302
- "popular Yoast SEO plugin"
1303
- msgstr ""
1304
- "Эти параметры помогут вам устранить некоторые проблемы, связанные с "
1305
- "популярной Yoast SEO plugin"
1306
-
1307
- #: admin/pages/seo.php:158
1308
- msgid ""
1309
- "The last element in the breadcrumbs in the Yoast SEO plugin duplicates the "
1310
- "title of the article. Some SEO-specialists consider this duplication to be "
1311
- "superfluous."
1312
- msgstr ""
1313
- "Последний элемент в хлебных крошках Yoast SEO дублирует название статьи. "
1314
- "Некоторые SEO-специалисты считают это дублирование излишним."
1315
-
1316
- #: admin/pages/seo.php:158
1317
- msgid ""
1318
- "Removes duplication of the name in the breadcrumbs of the WP SEO plugin from "
1319
- "Yoast."
1320
- msgstr "Удаляет последний элемент в хлебных крошках Yoast SEO."
1321
-
1322
- #: admin/pages/seo.php:168
1323
- msgid ""
1324
- "Yandex.Webmaster swears on a standard XML card from the plugin Yoast, tk. it "
1325
- "has a specific tag"
1326
- msgstr ""
1327
- "Яндекс вебмастер ругается на стандартной карты XML из плагина Yoast SEO, из-"
1328
- "за определенного тега "
1329
-
1330
- #: admin/pages/seo.php:168
1331
- #, php-format
1332
- msgid "Remove the tag %s from XML site map of the plugin Yoast SEO."
1333
- msgstr "Удаляет тег %s из XML карта сайта плагин Yoast SEO."
1334
-
1335
- #: admin/pages/seo.php:168
1336
- msgid ""
1337
- "Attention! After activation, turn off the site map and enable it back to "
1338
- "regenerate it."
1339
- msgstr ""
1340
- "Внимание! После активации, выключите карту сайта и включите ее обратно, "
1341
- "чтобы обновить ее."
1342
-
1343
- #: admin/pages/seo.php:168
1344
- msgid "In older versions of Yoast SEO may not work - update the plugin Yoast"
1345
- msgstr ""
1346
- "В более старых версиях Yoast SEO не может работать - обновите плагин Yoast "
1347
- "SEO"
1348
-
1349
- #: admin/pages/seo.php:186
1350
- msgid ""
1351
- "If you’re not familiar with Search Action it’s the mark-up that helps search "
1352
- "engines add a shiny Sitelinks Search Box below your search engine results. "
1353
- "For the majority of webmasters the extra search box is an absolutely "
1354
- "fantastic feature but for many it’s not required or wanted, especially if a "
1355
- "site only has a few pages or if the site uses a customised search platform "
1356
- "that only searches blog posts and not pages."
1357
- msgstr ""
1358
- "Эта функция позволяет поисковым системам добавлять дополнительные ссылки и "
1359
- "поле поиска в поисковый блок (сниппет) в поисковой выдаче. Для многих "
1360
- "вебмастеров это просто находка, но в то же время, многим эта функция не "
1361
- "нужна. Особенно, если на сайте всего несколько страниц или есть собственный "
1362
- "поиск, который ищет только записи блога, но не страницы."
1363
-
1364
- #: admin/pages/seo.php:186
1365
- msgid ""
1366
- "Disable JSON-LD sitelinks searchbox using WordPress in plugin Yoast SEO."
1367
- msgstr "Отключает JSON-LD ссылки используемые Wordpress в плагине Yoast SEO."
1368
-
1369
- #: admin/pages/seo.php:196
1370
- msgid ""
1371
- "Prevents output of the script tag of type application/ld+json containing\n"
1372
- "schema.org data from the popular Yoast SEO and Yoast SEO Premium plugins.\n"
1373
- "There is currently no UI to do so."
1374
- msgstr ""
1375
- "Удаляет ссылку application/ld+json, содержащую структурированные данные "
1376
- "schema.org о сайте и его владельце. Эту ссылку создают популярные плагины "
1377
- "Yoast SEO и Yoast SEO Premium"
1378
-
1379
- #: admin/pages/seo.php:198
1380
- msgid "Disable Structured Data in plugin Yoast SEO."
1381
- msgstr "Отключает структурированные данные в плагине Yoast SEO"
1382
-
1383
- #: admin/pages/seo.php:208
1384
- #, php-format
1385
- msgid "The Yoast SEO plugin displays a comment of the form %s in %s section"
1386
- msgstr "Yoast SEO плагин отображает комментарий формы %s в секции %s"
1387
-
1388
- #: admin/pages/seo.php:208
1389
- #, php-format
1390
- msgid "Removes the Yoast SEO plugin comment of their section %s"
1391
- msgstr "Удаляет комментрии Yoast SEO из %s"
1392
-
1393
- #: admin/pages/widgets.php:25
1394
- msgid "Widgets"
1395
- msgstr "Виджеты"
1396
-
1397
- #: clearfy.php:63
1398
- msgid "Clearfy"
1399
- msgstr "Clearfy"
1400
-
1401
- #: includes/classes/class.configurate-advanced.php:209
1402
- msgid "Howdy"
1403
- msgstr "Привет"
1404
-
1405
- #: includes/classes/class.configurate-advanced.php:209
1406
- msgid "Welcome"
1407
- msgstr "Добро пожаловать"
1408
-
1409
- #: includes/classes/class.configurate-security.php:30
1410
- msgid "<strong>ERROR</strong>: Wrong login or password"
1411
- msgstr "<strong>Ошибка</strong>: Неправильный логин или пароль"
1412
-
1413
- #: includes/classes/class.zip-archive.php:10
1414
- msgid "The ZipArchive class does not exist in this version of php."
1415
- msgstr "Класса ZipArchive не существует в этой версии php."
1416
-
1417
- #~ msgid ""
1418
- #~ "We have moved the plugin's menu to the general settings for your comfort. "
1419
- #~ "There are new plugin features. Please go to the plugin page to learn more!"
1420
- #~ msgstr ""
1421
- #~ "Для вашего комфорта мы убрали меню плагина в общие настройки. У плагина "
1422
- #~ "появились новые функции, пожалуйста, ознакомьтесь с ними на странице "
1423
- #~ "плагина!"
1424
-
1425
- #~ msgid ""
1426
- #~ "This is the “One click optimization” solution. Use it if you do not want "
1427
- #~ "to understand the settings or do not understand what settings you need to "
1428
- #~ "use. Use our automatic presets to activate safe plugin settings."
1429
- #~ msgstr ""
1430
- #~ "Это страница быстрой настройки в \"один клик\". Если вы не хотите "
1431
- #~ "разбираться в настройках плагина или вам сложно понять их, то это "
1432
- #~ "отличный способ для вас быстро настроить плагин. Используйте наши шаблоны "
1433
- #~ "ниже, чтобы активировать рекомендованные нами настройки оптимизации."
1434
-
1435
- #~ msgid ""
1436
- #~ "This is the quick plug-in setup mode. Use it if you do not want to "
1437
- #~ "understand the settings or do not understand what settings you need to "
1438
- #~ "use."
1439
- #~ msgstr ""
1440
- #~ "Это режим быстрой настройки плагина. Используйте его, если вы не хотите "
1441
- #~ "разбираться в настройках или не понимаете, какие настройки вам нужны."
1442
-
1443
- #~ msgid "Select mode"
1444
- #~ msgstr "Выберите режим"
1445
-
1446
- #~ msgid ""
1447
- #~ "After selecting the mode, the plug-in automatically activates the "
1448
- #~ "necessary settings for the mode."
1449
- #~ msgstr ""
1450
- #~ "Выбрав режим, плагин автоматически активирует необходимые настройки, для "
1451
- #~ "выполнения этого режима."
1452
-
1453
- #~ msgid "Disable admin notice"
1454
- #~ msgstr "Скрыть уведомления в админ панели"
1455
-
1456
- #~ msgid ""
1457
- #~ "Whenever there’s a major release available, a notification will display "
1458
- #~ "at the top of your admin area, letting you know your version is out-of-"
1459
- #~ "date and you need to update the core code.<br>\n"
1460
- #~ "For many people, this nag can be annoying. And if you developer websites "
1461
- #~ "for clients, you may want to hide it. After all, who wants to let their "
1462
- #~ "clients know their software is old?"
1463
- #~ msgstr ""
1464
- #~ "Всякий раз, когда доступна основная версия плагинов, тем, вы будете "
1465
- #~ "видеть уведомление, что вам необходимо обновить базовый код. Также "
1466
- #~ "некоторые плагины могут выводить уведомления о переходе на премиум версию "
1467
- #~ "или активацию темы.<br>\n"
1468
- #~ "Для многих людей это может быть раздражающим. И если вы создаете веб-"
1469
- #~ "сайты для клиентов, вы можете скрыть их. В конце концов, кто хочет, чтобы "
1470
- #~ "их клиенты знали, что их программное обеспечение устарело?"
1471
-
1472
- #~ msgid "Disable admin notices."
1473
- #~ msgstr "Отключить уведомления администратора"
1474
-
1475
- #~ msgid ""
1476
- #~ "You can disable all plugin updates or choose manual or automatic update "
1477
- #~ "mode."
1478
- #~ msgstr ""
1479
- #~ "Вы можете отключить все обновления плагинов или выбрать режим ручного или "
1480
- #~ "автоматического обновления."
1481
-
1482
- #~ msgid "Recommended Mode"
1483
- #~ msgstr "Рекомендуемый режим"
1484
-
1485
- #~ msgid "Code Clearing"
1486
- #~ msgstr "Очистка кода"
1487
-
1488
- #~ msgid "Security"
1489
- #~ msgstr "Безопасность"
1490
-
1491
- #~ msgid "Seo optimization"
1492
- #~ msgstr "Оптимизация SEO"
1493
-
1494
- #~ msgid "Remove default Widgets"
1495
- #~ msgstr "Удалить виджеты по умолчанию"
1496
-
1497
- #~ msgid ""
1498
- #~ "If your site uses an SSL certificate, check this box to enable "
1499
- #~ "redirection from http to https."
1500
- #~ msgstr ""
1501
- #~ "Если ваш сайт использует сертификат SSL, установите этот флажок, чтобы "
1502
- #~ "включить перенаправление с http на https."
1503
-
1504
- #~ msgid "Puts the redirect from http to https."
1505
- #~ msgstr "Передает перенаправление с http на https."
1506
-
1507
- #~ msgid "Warning! Before activation, make sure your site is open https."
1508
- #~ msgstr ""
1509
- #~ "Внимание! Перед активацией убедитесь, что ваш сайт открывается по https."
1510
-
1511
- #~ msgid "Replace external links in comments on the JavaScript code"
1512
- #~ msgstr "Заменить внешние ссылки в комментариях на JavaScript код"
1513
-
1514
- #~ msgid "Replace external links from comment authors on the JavaScript code"
1515
- #~ msgstr "Заменить внешние ссылки от авторов комментариев на код JavaScript"
1516
-
1517
- #~ msgid "Disable X-Pingback"
1518
- #~ msgstr "Убрать ссылку на X-Pingback и возможность спамить pingback-ами"
1519
-
1520
- #~ msgid "Remove field \"site\" in comment form"
1521
- #~ msgstr "Удаляет поле \"Сайт\" в форме комментариев"
1522
-
1523
- #~ msgid "General"
1524
- #~ msgstr "Основные"
1525
-
1526
- #~ msgid ""
1527
- #~ "Tired of spam in the comments? Do visitors leave \"blank\" comments for "
1528
- #~ "the sake of a link to their site?"
1529
- #~ msgstr ""
1530
- #~ "Надоел спам в комментариях? Посетители оставляют «пустые» комментарии "
1531
- #~ "ради ссылки на свой сайт?"
1532
-
1533
- #~ msgid "Removes the \"Site\" field from the comment form."
1534
- #~ msgstr "Убирает поле «Сайт» из формы комментирования."
1535
-
1536
- #~ msgid ""
1537
- #~ "Works with the standard comment form, if the form is manually written in "
1538
- #~ "your theme-it probably will not work!"
1539
- #~ msgstr ""
1540
- #~ "Работает со стандартной формой комментирования, если в Вашей теме форма "
1541
- #~ "прописана вручную - скорей всего не сработает!"
1542
-
1543
- #~ msgid ""
1544
- #~ "Superfluous external links from comments, which can be typed from a dozen "
1545
- #~ "and more for one article, do not bring anything good for promotion."
1546
- #~ msgstr ""
1547
- #~ "Внешние ссылки в комментариях, которых может быть десятки или больше на "
1548
- #~ "одной странице, могут ухудшить продвижение вашего сайта."
1549
-
1550
- #~ msgid "Replaces the links of this kind of %s, on links of this kind %s"
1551
- #~ msgstr ""
1552
- #~ "Заменяет ссылки %s, на span тег и устанавливает переход с помощью "
1553
- #~ "JavaScript %s"
1554
-
1555
- #~ msgid ""
1556
- #~ "Up to 90 percent of comments in the blog can be left for the sake of an "
1557
- #~ "external link. Even nofollow from page weight loss here does not help."
1558
- #~ msgstr ""
1559
- #~ "До 90 процентов комментариев в блоге оставляют ради внешней ссылки. Не "
1560
- #~ "поможет даже nofollow от потери веса страницы."
1561
-
1562
- #~ msgid ""
1563
- #~ "Replaces the links of the authors of comments on the JavaScript code, it "
1564
- #~ "is impossible to distinguish it from usual links."
1565
- #~ msgstr ""
1566
- #~ "Заменяет ссылки авторов комментариев на JavaScript код, его невозможно "
1567
- #~ "отличить от обычной ссылки."
1568
-
1569
- #~ msgid "In some Wordpress topics this may not work."
1570
- #~ msgstr "В некоторых темах Wordpress это может не сработать."
1571
-
1572
- #~ msgid "Disable plugin updates"
1573
- #~ msgstr "Отключить обновления плагинов"
1574
-
1575
- #~ msgid "Disable theme updates"
1576
- #~ msgstr "Отключить обновления тем"
1577
-
1578
- #~ msgid "Disable Automatic Translation Updates"
1579
- #~ msgstr "Отключить автоматические обновления переводов"
1580
-
1581
- #~ msgid "Disable wordPress core updates"
1582
- #~ msgstr "Отключить обновления ядра Wordpress"
1583
-
1584
- #~ msgid "Enable updates for VCS Installations"
1585
- #~ msgstr "Включить обновления для установок VCS"
1586
-
1587
- #~ msgid "Disable all updates"
1588
- #~ msgstr "Отключить обновления"
1589
-
1590
- #~ msgid "Plugin Updates"
1591
- #~ msgstr "Обновления плагина"
1592
-
1593
- #~ msgid "Monual updates"
1594
- #~ msgstr "Ручные"
1595
-
1596
- #~ msgid "Enable auto updates"
1597
- #~ msgstr "Автоматические"
1598
-
1599
- #~ msgid "Disable updates"
1600
- #~ msgstr "Отключить все"
1601
-
1602
- #~ msgid "Theme Updates"
1603
- #~ msgstr "Обновления тем"
1604
-
1605
- #~ msgid ""
1606
- #~ "You can disable all themes updates or choose manual or automatic update "
1607
- #~ "mode."
1608
- #~ msgstr ""
1609
- #~ "Вы можете отключить все обновления тем или выбрать режим ручного или "
1610
- #~ "автоматического обновления."
1611
-
1612
- #~ msgid "WordPress Core Updates"
1613
- #~ msgstr "Базовые обновления Wordpress"
1614
-
1615
- #~ msgid "Disable auto updates"
1616
- #~ msgstr "Отключить автоматические обновления"
1617
-
1618
- #~ msgid "Allow minor auto updates"
1619
- #~ msgstr "Разрешить незначительные автоматические обновления"
1620
-
1621
- #~ msgid "Allow major auto updates"
1622
- #~ msgstr "Разрешить основные автоматические обновления"
1623
-
1624
- #~ msgid "Allow development auto updates"
1625
- #~ msgstr "Разрешить разрабатываемые автоматические обновления"
1626
-
1627
- #~ msgid ""
1628
- #~ "You can disable all core WordPress updates, or disable only automatic "
1629
- #~ "updates. Also you can select the update mode. By default (minor)"
1630
- #~ msgstr ""
1631
- #~ "Вы можете отключить все основные обновления WordPress или отключить "
1632
- #~ "только автоматические обновления. Также вы можете выбрать режим "
1633
- #~ "обновления. По умолчанию (младший)"
1634
-
1635
- #~ msgid ""
1636
- #~ "Major - automatically update to major releases (e.g., 4.1, 4.2, 4.3)."
1637
- #~ msgstr ""
1638
- #~ "Основные - автоматически обновления основных версий (4.1, 4.2, 4.3 и т.д)."
1639
-
1640
- #~ msgid ""
1641
- #~ "Minor - automatically update to minor releases (e.g., 4.1.1, 4.1.2, "
1642
- #~ "4.1.3).."
1643
- #~ msgstr ""
1644
- #~ "Незначительные - автоматически обновления промежуточных версий (4.1.1, "
1645
- #~ "4.1.2, 4.1.3 и т.д)."
1646
-
1647
- #~ msgid "Development - update automatically to Bleeding Edge releases."
1648
- #~ msgstr "Разрабатываемые - автоматические обновления до финальных выпусков."
1649
-
1650
- #~ msgid ""
1651
- #~ "Enable Automatic Updates even if a VCS folder (.git, .hg, .svn) was found "
1652
- #~ "in the WordPress directory"
1653
- #~ msgstr ""
1654
- #~ "Включить автоматическое обновление, даже если папка VCS (.git, .hg, .svn) "
1655
- #~ "была найдена в каталоге WordPress"
1656
-
1657
- #~ msgid "Settings"
1658
- #~ msgstr "Настройки"
1659
-
1660
- #~ msgid "All site Updates"
1661
- #~ msgstr "Все обновления сайта"
1662
-
1663
- #~ msgid "Save settings"
1664
- #~ msgstr "Сохранить настройки"
1665
-
1666
- #~ msgid ""
1667
- #~ "A neutral setting that can not harm your site, but you must be sure that "
1668
- #~ "you need to use it."
1669
- #~ msgstr ""
1670
- #~ "Нейтральная настройка, которая не может нанести вред вашему сайту, но вы "
1671
- #~ "должны быть уверены, что вам нужно ее использовать."
1672
-
1673
- #~ msgid ""
1674
- #~ "When set this option, you must be careful. Plugins and themes may depend "
1675
- #~ "on this function. You must be sure that you can disable this feature for "
1676
- #~ "the site."
1677
- #~ msgstr ""
1678
- #~ "При включении этой настройки, вы должны быть осторожны. Некоторые плагины "
1679
- #~ "и темы могут зависеть от этой функции. Вы должны быть уверены, что эту "
1680
- #~ "функцию можно отключить для сайта."
1681
-
1682
- #~ msgid "Absolutely safe setting, We recommend to use."
1683
- #~ msgstr "Абсолютно безопасная настройка, рекомендуем использовать."
1684
-
1685
- #~ msgid "Hover to the icon to get help for the feature you selected."
1686
- #~ msgstr ""
1687
- #~ "Наведите указатель мыши на значок, чтобы получить справку по выбранной "
1688
- #~ "функции."
1689
-
1690
- #~ msgid "Do you want the plugin to improved and update?"
1691
- #~ msgstr "Вы хотите, чтобы плагин улучшался и обновлялся?"
1692
-
1693
- #~ msgid ""
1694
- #~ "Help the author, leave a review on wordpress.org. Thanks to feedback, I "
1695
- #~ "will know that the plugin is really useful to you and is needed."
1696
- #~ msgstr ""
1697
- #~ "Помогите автору, оставьте отзыв на wordpress.org. Благодаря отзывам, я "
1698
- #~ "буду знать, что плагин действительно полезен для вас и необходим."
1699
-
1700
- #~ msgid "And also write your ideas on how to extend or improve the plugin."
1701
- #~ msgstr ""
1702
- #~ "А также напишите свои идеи о том, как расширить или улучшить плагин."
1703
-
1704
- #~ msgid "Go rate us and push ideas"
1705
- #~ msgstr "Оставить отзыв или поделиться идеей"
1706
-
1707
- #~ msgid "Donation for plug-in development"
1708
- #~ msgstr "Пожертвования на развитие плагина"
1709
-
1710
- #~ msgid "You do not have permission to edit page."
1711
- #~ msgstr "У вас недостаточно прав, для редактирования этой страницы."
1712
-
1713
- #~ msgid "The settings have been updated successfully!"
1714
- #~ msgstr "Настройки были успешно обновлены!"
1715
-
1716
- #~ msgid ""
1717
- #~ "The first item in the toolbar goes wordpress logo and external links to "
1718
- #~ "wordpress.org, WP forums and documentation."
1719
- #~ msgstr ""
1720
- #~ "Первый элемент в панели инструментов идет логотип wordpress и внешние "
1721
- #~ "ссылки на wordpress.org, WP форумах и документации."
1722
-
1723
- #~ msgid "Removes all links to wordpress.org from the toolbar."
1724
- #~ msgstr "Удаляет все ссылки на wordpress.org с панели инструментов."
1725
-
1726
- #~ msgid "Revisions"
1727
- #~ msgstr "Ревизии"
1728
-
1729
- #~ msgid ""
1730
- #~ "Editorial (or revision) in WordPress are long-standing. They allow you to "
1731
- #~ "save a backup copy of the record or page whenever a change is made, and "
1732
- #~ "then view all versions with the ability to restore any of them."
1733
- #~ msgstr ""
1734
- #~ "Редакции (или ревизии) в WordPress, давно. Они позволяют вам сохранить "
1735
- #~ "резервную копию на запись или на страницу всякий раз, когда вы внесли "
1736
- #~ "изменения в редакторе Wordpress. В дальнейшем вы можете просмотреть все "
1737
- #~ "версии с возможностью восстановить любую из них."
1738
-
1739
- #~ msgid "Clearfy - disable unused features"
1740
- #~ msgstr "Clearfy - отключите бесполезные функции"
1741
-
1742
- #~ msgid "Header cleaning"
1743
- #~ msgstr "Очистка кода"
1744
-
1745
- #~ msgid "Save changes"
1746
- #~ msgstr "Сохранить настройки"
1747
-
1748
- #~ msgid ""
1749
- #~ "This page contains additional settings, usually not listed in the "
1750
- #~ "recommended list."
1751
- #~ msgstr ""
1752
- #~ "Эта страница содержит дополнительные параметры, обычно, не перечисленные "
1753
- #~ "в списке рекомендованных."
1754
-
1755
- #~ msgid ""
1756
- #~ "This page contains the security configuration settings for your site."
1757
- #~ msgstr ""
1758
- #~ "Эта страница содержит параметры конфигурации безопасности для вашего "
1759
- #~ "сайта."
1760
-
1761
- #~ msgid "This page contains settings for setting up duplicate pages."
1762
- #~ msgstr "Эта страница содержит параметры для настройки дублирования страниц."
1763
-
1764
- #~ msgid "On this settings page, you can optimize the source code of the page."
1765
- #~ msgstr ""
1766
- #~ "На этой странице настроек вы можете оптимизировать исходный код страницы."
1767
-
1768
- #~ msgid "On this page you can configure the privacy settings of your site."
1769
- #~ msgstr ""
1770
- #~ "На этой странице вы можете установить настройки приватности для скриптов "
1771
- #~ "на вашем сайте."
1772
-
1773
- #~ msgid "Ok"
1774
- #~ msgstr "Принять"
1775
-
1776
- #~ msgid "This page contains important settings for SEO optimization."
1777
- #~ msgstr "Эта страница содержит важные настройки SEO оптимизации."
1778
-
1779
- #~ msgid "Header section"
1780
- #~ msgstr "Раздел head"
1781
-
1782
- #~ msgid "* Warning! Before activation, make sure your site is open https."
1783
- #~ msgstr ""
1784
- #~ "* Внимание! Перед активацией убедитесь, что ваш сайт открывается по https."
1785
-
1786
- #~ msgid ""
1787
- #~ "You are using the old version of PHP, please update the version of PHP to "
1788
- #~ "5.3 and higher. You must deactivate the \"Clearfy - unused features\" "
1789
- #~ "plugin, since it will not work with the old version of php."
1790
- #~ msgstr ""
1791
- #~ "Вы используете старую версию PHP, пожалуйста, обновите версию PHP до 5.3 "
1792
- #~ "и выше. Вы должны деактивировать плагин «Clearfy - неиспользуемые "
1793
- #~ "функции», так как он не будет работать со старой версией php."
1794
-
1795
- #~ msgid ""
1796
- #~ "You do not have sufficient permissions to activate plugins for this site."
1797
- #~ msgstr ""
1798
- #~ "У вас недостаточно прав для того, чтобы активировать плагины на этом "
1799
- #~ "сайте."
1800
-
1801
- #~ msgid ""
1802
- #~ "* It works with the standard comment form, if in your subject the form is "
1803
- #~ "spelled out manually-most likely it will not work!"
1804
- #~ msgstr ""
1805
- #~ "* Он работает со стандартной формой комментария, если в вашем предмете "
1806
- #~ "форма изложена вручную - скорее всего, она не сработает!"
1807
-
1808
- #~ msgid ""
1809
- #~ "Works with the standard comment form, if the form is manually written in "
1810
- #~ "your theme - it probably will not work!"
1811
- #~ msgstr ""
1812
- #~ "Работает со стандартной формой комментирования, если в Вашей теме форма "
1813
- #~ "прописана вручную - скорей всего не сработает!"
1814
-
1815
- #~ msgid "Urls pack"
1816
- #~ msgstr "URL-адреса"
1817
-
1818
- #~ msgid "Tasks"
1819
- #~ msgstr "Задачи"
1820
-
1821
- #~ msgid ""
1822
- #~ "By default, WordPress generates all types of different RSS feeds for your "
1823
- #~ "site. While RSS feeds can be useful if you are running a blog, businesses "
1824
- #~ "might not always utilize these. Not every site out there has a blog.\n"
1825
- #~ "<br><b>Clearfy</b>: Removes a link to the RSS-feed from the &lt;head&gt; "
1826
- #~ "section, closes and puts the redirect from all RSS-feeds."
1827
- #~ msgstr ""
1828
- #~ "По умолчанию WordPress генерирует различные виды RSS-каналов для вашего "
1829
- #~ "сайта. Иногда RSS-каналы могут быть полезны, если вы используете блог "
1830
- #~ "например, но если у вас обычный одностаничник, то RSS для вас будет "
1831
- #~ "бесполезен. <br><b>Clearfy</b>: Удаляет ссылку на RSS-канал из раздела "
1832
- #~ "&lt;head&gt;, закрывает и ставит перенаправления от всех RSS-каналов."
1833
-
1834
- #~ msgid ""
1835
- #~ "Tired of spam in the comments? Do visitors leave \"blank\" comments for "
1836
- #~ "the sake of a link to their site?\n"
1837
- #~ "<br><b>Clearfy</b>: Removes the \"Site\" field from the comment form.\n"
1838
- #~ "<br>--<br><span style=\"color:#dd2b19\"> * Works with the standard "
1839
- #~ "comment form, if the form is manually written in your theme - it probably "
1840
- #~ "will not work!</span>\n"
1841
- #~ msgstr ""
1842
- #~ "Надоел спам в комментариях? Посетители оставляют «пустые» комментарии "
1843
- #~ "ради ссылки на свой сайт?\n"
1844
- #~ "<br><b>Clearfy</b>: Убирает поле «Сайт» из формы комментирования.\n"
1845
- #~ "<br>--<br><span style=\"color:#dd2b19\"> * Работает со стандартной формой "
1846
- #~ "комментирования, если в Вашей теме форма прописана вручную - скорей всего "
1847
- #~ "не сработает!</span>\n"
1848
-
1849
- #~ msgid ""
1850
- #~ "The first item in the toolbar goes wordpress logo and external links to "
1851
- #~ "wordpress.org, WP forums and documentation.\n"
1852
- #~ "\t\t<br><b>Clearfy</b>: Removes all links to wordpress.org from the "
1853
- #~ "toolbar."
1854
- #~ msgstr ""
1855
- #~ "Первый элемент в панели инструментов идет логотип wordpress и внешние "
1856
- #~ "ссылки на wordpress.org, WP форумах и документации.<br><b>Clearfy</b>: "
1857
- #~ "удаляет все ссылки на wordpress.org с панели инструментов."
1858
-
1859
- #~ msgid ""
1860
- #~ "Remove meta generator <span class=\"wbcr-clearfy-recomended-text"
1861
- #~ "\">(Recommended)</span>"
1862
- #~ msgstr ""
1863
- #~ "Удалить meta generator <span class=\"wbcr-clearfy-recomended-text"
1864
- #~ "\">(рекомендуется)</span>"
1865
-
1866
- #~ msgid ""
1867
- #~ "Allows attacker to learn the version of WP installed on the site. This "
1868
- #~ "meta tag has no useful function.\n"
1869
- #~ "<br><b>Clearfy</b>: Removes the meta tag from the &lt;head&gt; section"
1870
- #~ msgstr ""
1871
- #~ "Позволяет злоумышленнику узнать версию Wordpress, установленую на вашем "
1872
- #~ "сайте. Этот мета-тег не несет никакой пользы.<br><b>Clearfy</b>: удаляет "
1873
- #~ "мета-тег из раздел &lt;head&gt;"
1874
-
1875
- #~ msgid ""
1876
- #~ "Hide author login <span class=\"wbcr-clearfy-recomended-text"
1877
- #~ "\">(Recommended)</span>"
1878
- #~ msgstr ""
1879
- #~ "Убрать возможность узнать логин автора<span class=\"wbcr-clearfy-"
1880
- #~ "recomended-text\">(Рекомендовано)</span>"
1881
-
1882
- #~ msgid ""
1883
- #~ "An attacker can find out the author's login, using a similar request to "
1884
- #~ "get your site. mysite.com/?author=1\n"
1885
- #~ "\t\t\t<br><b>Clearfy</b>: Sets the redirect to exclude the possibility of "
1886
- #~ "obtaining a login."
1887
- #~ msgstr ""
1888
- #~ "Злоумышленник может узнать логин автора, с помощью подобного get запроса "
1889
- #~ "mysite.com/?author=1\n"
1890
- #~ "<br><b>Clearfy</b>: Предотвращает возможность узнать логин автора, "
1891
- #~ "устанавливая перенаправление."
1892
-
1893
- #~ msgid ""
1894
- #~ "Hide errors when logging into the site <span class=\"wbcr-clearfy-"
1895
- #~ "recomended-text\">(Recommended)</span>"
1896
- #~ msgstr ""
1897
- #~ "Спрятать ошибки при входе на сайт <span class=\"wbcr-clearfy-recomended-"
1898
- #~ "text\">(Рекомендовано)</span>"
1899
-
1900
- #~ msgid ""
1901
- #~ "WP by default shows whether you entered a wrong login or incorrect "
1902
- #~ "password, which allows attackers to understand if there is a certain user "
1903
- #~ "on the site, and then start searching through the passwords.\n"
1904
- #~ "<br><b>Clearfy</b>: Changes in the text of the error so that attackers "
1905
- #~ "could not find the login."
1906
- #~ msgstr ""
1907
- #~ "Wordpress по умолчанию показывает, ввели ли вы неправильный логин или "
1908
- #~ "неправильный пароль, что дает злоумышленникам понять, существует ли "
1909
- #~ "определенный пользователь на сайте, а после начать перебор паролей.\n"
1910
- #~ "<br><b>Clearfy</b>: Меняет текст ошибки так, чтобы злоумышленники не "
1911
- #~ "смогли подобрать логин."
1912
-
1913
- #~ msgid ""
1914
- #~ "Disable X-Pingback <span class=\"wbcr-clearfy-recomended-text"
1915
- #~ "\">(Recommended)</span>"
1916
- #~ msgstr ""
1917
- #~ "Убрать ссылку на X-Pingback и возможность спамить pingback-ами <span "
1918
- #~ "class=\"wbcr-clearfy-recomended-text\">(Рекомендовано)</span>"
1919
-
1920
- #~ msgid ""
1921
- #~ "A pingback is basically an automated comment that gets created when "
1922
- #~ "another blog links to you. A self-pingback is created when you link to an "
1923
- #~ "article within your own blog. Pingbacks are essentially nothing more than "
1924
- #~ "spam and simply waste resources.\n"
1925
- #~ "\t\t<br><b>Clearfy</b>: Removes the server responses a reference to the "
1926
- #~ "xmlrpc file."
1927
- #~ msgstr ""
1928
- #~ "Pingback по-существу автоматизированных комментарий, который создается, "
1929
- #~ "когда другой блог ссылается на вас. Self-pingback создается, когда вы "
1930
- #~ "оставили ссылку на статью в своем блоге. Pingbacks по существу являются "
1931
- #~ "не более чем спам и пустая трата ресурсов вашего сайта.<br><b>Clearfy</"
1932
- #~ "b>: Удаляет ссылку на xmlrpc-файл и ответ сервера."
1933
-
1934
- #~ msgid ""
1935
- #~ "Remove archives date <span class=\"wbcr-clearfy-recomended-text"
1936
- #~ "\">(Recommended)</span>"
1937
- #~ msgstr ""
1938
- #~ "Удалить архивы дат <span class=\"wbcr-clearfy-recomended-text"
1939
- #~ "\">(Рекомендовано)</span>"
1940
-
1941
- #~ msgid ""
1942
- #~ "Many duplicates in date archives. Imagine, in addition, that your article "
1943
- #~ "will be displayed in the main and in the category, you will still receive "
1944
- #~ "at least 3 duplicates: in archives by year, month and date, for example / "
1945
- #~ "2016/2016/02 / / 2016/02/15.\n"
1946
- #~ "<br><b>Clearfy</b>: Removes all pages with the date archives and puts a "
1947
- #~ "redirect."
1948
- #~ msgstr ""
1949
- #~ "Огромное количество дублей в архивах дат. Представьте, кроме того, что "
1950
- #~ "Ваша статья будет выводиться на главной и в категории, Вы еще получите "
1951
- #~ "как минимум 3 дубля: в архивах по году, месяцу и дате, "
1952
- #~ "например /2016/ /2016/02/ /2016/02/15.\n"
1953
- #~ "<br><b>Clearfy</b>: Удаляет полностью архивы дат и ставит редирект."
1954
-
1955
- #~ msgid ""
1956
- #~ "Remove author archives <span class=\"wbcr-clearfy-recomended-text"
1957
- #~ "\">(Recommended)</span>"
1958
- #~ msgstr ""
1959
- #~ "Удалить архивы автора <span class=\"wbcr-clearfy-recomended-text"
1960
- #~ "\">(Рекомендовано)</span>"
1961
-
1962
- #~ msgid ""
1963
- #~ "If the site is only filled by you - a mandatory item. Allows you to get "
1964
- #~ "rid of duplicates on user archives, for example /author/admin/.\n"
1965
- #~ "<br><b>Clearfy</b>: Removes all pages with the author archives and puts a "
1966
- #~ "redirect."
1967
- #~ msgstr ""
1968
- #~ "Если сайт заполняете только вы - это функция обязательна. Позволяет вам "
1969
- #~ "избавиться от дубликатов страниц автора, например /author/admin /.\n"
1970
- #~ "<br><b>Clearfy</b>: удаляет все страницы из архивов автора и ставит "
1971
- #~ "перенаправление."
1972
-
1973
- #~ msgid ""
1974
- #~ "If you use tags only for the block Similar records, or do not use them at "
1975
- #~ "all - it will be more correct to close them to avoid duplicates.\n"
1976
- #~ "<br><b>Clearfy</b>: Removes all pages with the tag archives and puts a "
1977
- #~ "redirect."
1978
- #~ msgstr ""
1979
- #~ "Если вы используете теги только для виджета \"Похожие записи\", либо не "
1980
- #~ "используете их совсем - правильнее будет их закрыть, чтобы избежать "
1981
- #~ "дублей.\n"
1982
- #~ "<br><b>Clearfy</b>: Ставит редирект со страниц тегов на главную."
1983
-
1984
- #~ msgid ""
1985
- #~ "Remove attachment pages <span class=\"wbcr-clearfy-recomended-text"
1986
- #~ "\">(Recommended)</span>"
1987
- #~ msgstr ""
1988
- #~ "Удалить страницы вложений <span class=\"wbcr-clearfy-recomended-text"
1989
- #~ "\">(Рекомендовано)</span>"
1990
-
1991
- #~ msgid ""
1992
- #~ "Every of the pictures has its own page on the site. Such pages are "
1993
- #~ "successfully indexed and create duplicates. The site can have thousands "
1994
- #~ "of same-type attachment pages.\n"
1995
- #~ "<br><b>Clearfy</b>: Removes attachment pages and puts a redirect."
1996
- #~ msgstr ""
1997
- #~ "Каждая загруженная картинка имеет свою страничку на сайте, состоящую "
1998
- #~ "только из одной картинки. Такие страницы успешно индексируются и создают "
1999
- #~ "дубли. На сайте могут быть тысячи однотипных страниц вложений.\n"
2000
- #~ "<br><b>Clearfy</b>: Удаляет страницы вложений и ставит редирект на запись."
2001
-
2002
- #~ msgid ""
2003
- #~ "Remove post pagination <span class=\"wbcr-clearfy-recomended-text"
2004
- #~ "\">(Recommended)</span>"
2005
- #~ msgstr ""
2006
- #~ "Удалить постраничную навигацию записей <span class=\"wbcr-clearfy-"
2007
- #~ "recomended-text\">(Рекомендовано)</span>"
2008
-
2009
- #~ msgid ""
2010
- #~ "In WordPress, any post can be divided into parts (pages), each part will "
2011
- #~ "have its own address. But this functionality is rarely used, but it can "
2012
- #~ "create trouble for you. For example, you can add a number to the address "
2013
- #~ "of any entry of your blog, /privet-mir/1/ - the post itself will open, "
2014
- #~ "which will be a duplicate. You can substitute any number.\n"
2015
- #~ "<br><b>Clearfy</b>: Removes the pagination from the post and puts a "
2016
- #~ "redirect. Example: /post-name/number"
2017
- #~ msgstr ""
2018
- #~ "В WordPress любое содержание можно разделить на части (страницы), каждая "
2019
- #~ "часть будет иметь свой собственный адрес. Эта функциональность "
2020
- #~ "используется редко, но это может создать проблемы для вас. Например вы "
2021
- #~ "можете добавить номер в адрес любой записи вашего блога, /hello-world/1/ "
2022
- #~ "- откроет текущую страницу, которая будет дублироваться.\n"
2023
- #~ " <br><b>Clearfy</b>: предотвращает создание пагинации для страницы и "
2024
- #~ "ставит перенаправление на ссылки такого типа: /privet-mir/1/ "
2025
-
2026
- #~ msgid ""
2027
- #~ "Remove ?replytocom <span class=\"wbcr-clearfy-recomended-text"
2028
- #~ "\">(Recommended)</span>"
2029
- #~ msgstr ""
2030
- #~ "Удалить ?replytocom <span class=\"wbcr-clearfy-recomended-text"
2031
- #~ "\">(Рекомендовано)</span>"
2032
-
2033
- #~ msgid ""
2034
- #~ "WordPress adds ?replytocom to the link \"Reply\" in the comments, if you "
2035
- #~ "use hierarchical comments.\n"
2036
- #~ "<br><b>Clearfy</b>: ?relpytocom remove and and puts a redirect."
2037
- #~ msgstr ""
2038
- #~ "WordPress добавляет ?replytocom к ссылке «Ответ» в комментариях, если вы "
2039
- #~ "используете иерархические комментарии.\n"
2040
- #~ "<br><b>Clearfy</b>: удаляет ?relpytocom и ставит перенаправление."
2041
-
2042
- #~ msgid ""
2043
- #~ "Remove REST API Links <span class=\"wbcr-clearfy-recomended-text"
2044
- #~ "\">(Recommended)</span>"
2045
- #~ msgstr ""
2046
- #~ "Удалите остальные API ссылки <span class=\"wbcr-clearfy-recomended-text"
2047
- #~ "\">(рекомендуется)</span>"
2048
-
2049
- #~ msgid ""
2050
- #~ "The WordPress REST API provides API endpoints for WordPress data types "
2051
- #~ "that allow developers to interact with sites remotely by sending and "
2052
- #~ "receiving JSON (JavaScript Object Notation) objects. However, a lot of "
2053
- #~ "sites don’t use this, and therefore in most cases, it is just unnecessary "
2054
- #~ "code.\n"
2055
- #~ "<br><b>Clearfy:</b> Removes REST API link tag from the front end and the "
2056
- #~ "REST API header link from page requests."
2057
- #~ msgstr ""
2058
- #~ "WordPress REST API предоставляет API для работы с WordPress данными, это "
2059
- #~ "позволяет разработчикам взаимодействовать с сайтами удаленно, посредством "
2060
- #~ "отправки и получения данных в формате JSON (JavaScript Object Notation). "
2061
- #~ "Однако многие сайты не используют это, и поэтому в большинстве случаев, "
2062
- #~ "это только ненужный код.\n"
2063
- #~ "<br><b>Clearfy:</b> Отключает REST API и удаляет все ссылки из исходного "
2064
- #~ "кода страницы."
2065
-
2066
- #~ msgid ""
2067
- #~ "Disable Emojis <span class=\"wbcr-clearfy-recomended-text"
2068
- #~ "\">(Recommended)</span>"
2069
- #~ msgstr ""
2070
- #~ "Отключить Emojis (эмоции)<span class=\"wbcr-clearfy-recomended-text"
2071
- #~ "\">(Рекомендовано)</span>"
2072
-
2073
- #~ msgid ""
2074
- #~ "Emojis are fun and all, but if you are aren’t using them they actually "
2075
- #~ "load a JavaScript file (wp-emoji-release.min.js) on every page of your "
2076
- #~ "website. For a lot of businesses, this is not needed and simply adds load "
2077
- #~ "time to your site. So we recommend disabling this.\n"
2078
- #~ "<br><b>Clearfy:</b> Removes WordPress Emojis JavaScript file (wp-emoji-"
2079
- #~ "release.min.js)."
2080
- #~ msgstr ""
2081
- #~ "Emojis это смайлы (эмоции), если вы не используете их на своем сайте, в "
2082
- #~ "исходном коде страницы будет загружаться JavaScript файл (wp-emoji-"
2083
- #~ "release.min.js), на каждой странице вашего веб-сайта. Для многих сайтов "
2084
- #~ "это не требуется и просто увеличивает время загрузки страницы. Поэтому мы "
2085
- #~ "рекомендуем отключить это.\n"
2086
- #~ "<br><b>Clearfy:</b> Удаляет код Emojis из исходного кода страницы"
2087
-
2088
- #~ msgid ""
2089
- #~ "Remove dns-prefetch <span class=\"wbcr-clearfy-recomended-text"
2090
- #~ "\">(Recommended)</span>"
2091
- #~ msgstr ""
2092
- #~ "Удалить dns-prefetch <span class=\"wbcr-clearfy-recomended-text"
2093
- #~ "\">(Рекомендовано)</span>"
2094
-
2095
- #~ msgid ""
2096
- #~ "Since version 4.6.1 in WordPress there are new links in the section &lt;"
2097
- #~ "head&gt; this type of: <code>&lt;link rel=\"dns-prefetch\" href=\"//s.w."
2098
- #~ "org\"&gt;</code>\n"
2099
- #~ "<br><b>Clearfy</b>: Removes dns-prefetch links from the &lt;head&gt; "
2100
- #~ "section"
2101
- #~ msgstr ""
2102
- #~ "Начиная с версии 4.6.1 в WordPress появляются новые ссылки в секции &lt;"
2103
- #~ "head&gt; пример: <code>&lt;link rel=\"dns-prefetch\" href = \"//s.w.org"
2104
- #~ "\"&gt;</code>\n"
2105
- #~ "<br><b>Clearfy</b>: Удаляет ссылки из секции &lt;head&gt;"
2106
-
2107
- #~ msgid ""
2108
- #~ "Remove RSD Link <span class=\"wbcr-clearfy-recomended-text"
2109
- #~ "\">(Recommended)</span>"
2110
- #~ msgstr ""
2111
- #~ "Удаляет RSD ссылку <span class=\"wbcr-clearfy-recomended-text"
2112
- #~ "\">(Рекомендовано)</span>"
2113
-
2114
- #~ msgid ""
2115
- #~ "The above link is used by blog clients. If you edit your site from your "
2116
- #~ "browser then you don’t need this. It is also used by some 3rd party "
2117
- #~ "applications that utilize XML-RPC requests. In most cases, this is just "
2118
- #~ "unnecessary code.<br><code>&lt;link rel=\"EditURI\" type=\"application/rsd"
2119
- #~ "+xml\" title=\"RSD\" href=\"https://yourdomain.com/xmlrpc.php?rsd\"&gt;</"
2120
- #~ "code>\n"
2121
- #~ "<br><b>Clearfy</b>: Remove RSD (Real Simple Discovery) link tag."
2122
- #~ msgstr ""
2123
- #~ "Эта ссылка используется клиентами блога. Если вы редактируете сайт из "
2124
- #~ "вашего браузера, то вам не нужно это. Она также используется в некоторых "
2125
- #~ "приложениях, которые используют XML-RPC-запросы. В большинстве случаев "
2126
- #~ "это только ненужный код.<br> Пример: <code>&lt;link rel=\"EditURI\" type="
2127
- #~ "\"application/rsd+xml\" title=\"RSD\" href=\"https://yourdomain.com/"
2128
- #~ "xmlrpc.php?rsd\"&gt;</code>\n"
2129
- #~ "<br><b>Clearfy</b>: Удаляет RSD link тег"
2130
-
2131
- #~ msgid ""
2132
- #~ "Remove wlwmanifest Link <span class=\"wbcr-clearfy-recomended-text"
2133
- #~ "\">(Recommended)</span>"
2134
- #~ msgstr ""
2135
- #~ "Удалить wlwmanifest Link <span class=\"wbcr-clearfy-recomended-text"
2136
- #~ "\">(рекомендуется)</span>"
2137
-
2138
- #~ msgid ""
2139
- #~ "<code>&lt;link rel=\"wlwmanifest\" type=\"application/wlwmanifest+xml\" "
2140
- #~ "href=\"https://yourdomain.com/wp-includes/wlwmanifest.xml\"&gt;</"
2141
- #~ "code><br>This link is actually used by Windows Live Writer. If you don’t "
2142
- #~ "know use Windows Live Writer, which we are guessing you don’t, this is "
2143
- #~ "just unnecessary code.\n"
2144
- #~ "<br><b>Clearfy</b>: Remove wlwmanifest (Windows Live Writer) link tag."
2145
- #~ msgstr ""
2146
- #~ "<code>&lt;link rel=\"wlwmanifest\" type=\"application/wlwmanifest+xml\" "
2147
- #~ "href=\"https://yourdomain.com/wp-includes/wlwmanifest.xml\"&gt;</"
2148
- #~ "code><br>Эта ссылка используется фактически Windows Live Writer. Если вы "
2149
- #~ "не знаете, как использовать Windows Live Writer, то это только ненужный "
2150
- #~ "код.\n"
2151
- #~ "<br><b>Clearfy</b>: Удаляет тег link wlwmanifest (Windows Live Writer)."
2152
-
2153
- #~ msgid ""
2154
- #~ "Remove Shortlink <span class=\"wbcr-clearfy-recomended-text"
2155
- #~ "\">(Recommended)</span>"
2156
- #~ msgstr ""
2157
- #~ "Удалить короткие ссылки <span class=\"wbcr-clearfy-recomended-text"
2158
- #~ "\">(Рекомендовано)</span>"
2159
-
2160
- #~ msgid ""
2161
- #~ "By default, the following tag shows up in every WordPress install."
2162
- #~ "<br><code>&lt;link rel=\"shortlink\" href=\"https://domain.com?p=712\"&gt;"
2163
- #~ "</code><br>This is used for a shortlink to your pages and posts. However, "
2164
- #~ "if you are already using pretty permalinks, such as domain.com/post, then "
2165
- #~ "there is no reason to keep this, it is just unnecessary code.\n"
2166
- #~ "<br><b>Clearfy</b>: Remove Shortlink link tag."
2167
- #~ msgstr ""
2168
- #~ "По умолчанию следующий тег печатается на каждой странице ваших записей и "
2169
- #~ "страниц.<br><code>&lt;link rel=\"shortlink\" href=\"https://domain.com?"
2170
- #~ "p=712\"&gt;</code><br>Это используется, как короткая ссылка на вашу "
2171
- #~ "статью. Если вы используете постоянные ссылки, то это не нужный код.\n"
2172
- #~ "<br><b>Clearfy</b>: Удаляет тег link shortlink."
2173
-
2174
- #~ msgid ""
2175
- #~ "Remove links to previous, next post <span class=\"wbcr-clearfy-recomended-"
2176
- #~ "text\">(Recommended)</span>"
2177
- #~ msgstr ""
2178
- #~ "Удалить ссылки следующая, предыдущая запись <span class=\"wbcr-clearfy-"
2179
- #~ "recomended-text\">(Рекомендовано)</span>"
2180
-
2181
- #~ msgid ""
2182
- #~ "If you use Wordpress as a CMS, then you can delete these links, they can "
2183
- #~ "only come in handy for a blog.\n"
2184
- #~ "<br><b>Clearfy</b>: Remove the previous and next post links within the "
2185
- #~ "wp_head of your wordpress theme."
2186
- #~ msgstr ""
2187
- #~ "Если вы используете Wordpress как CMS не блог), то вы можете удалить "
2188
- #~ "эти ссылки, но для блога они могут быть полезны.<br><b>Clearfy</b>: "
2189
- #~ "Удаляет ссылки предидущая и следующая запись в head вашей темы wordpress."
2190
-
2191
- #~ msgid ""
2192
- #~ "Remove .recentcomments styles <span class=\"wbcr-clearfy-recomended-text"
2193
- #~ "\">(Recommended)</span>"
2194
- #~ msgstr ""
2195
- #~ "Удалить стили .recentcomments <span class=\"wbcr-clearfy-recomended-text"
2196
- #~ "\">(Рекомендовано)</span>"
2197
-
2198
- #~ msgid ""
2199
- #~ "WP by default for the widget \"recent comments\" prescribes in the code "
2200
- #~ "styles that are almost impossible to change, because to them apply! "
2201
- #~ "important.\n"
2202
- #~ "<br><b>Clearfy</b>: Removes .recentcomments styles from head section."
2203
- #~ msgstr ""
2204
- #~ "Wordpress по умолчанию для виджета \"Последние комментари\" прописывает в "
2205
- #~ "стилях код, которые почти невозможно изменить, потому что к ним "
2206
- #~ "применяются значение !important.\n"
2207
- #~ "<br><b>Clearfy</b>: удаляет .recentcomments стили из head секции."
2208
-
2209
- #~ msgid ""
2210
- #~ "Automatically set the alt attribute <span class=\"wbcr-clearfy-recomended-"
2211
- #~ "text\">(Recommended)</span>"
2212
- #~ msgstr ""
2213
- #~ "Автоматически устанавливать атрибут alt <span class=\"wbcr-clearfy-"
2214
- #~ "recomended-text\">(Рекомендовано)</span>"
2215
-
2216
- #~ msgid ""
2217
- #~ "The alt attribute is mandatory, so most SEO experts say. If you missed or "
2218
- #~ "did not fill it at all, it will be automatically assigned and will be "
2219
- #~ "equal to the title of the article.\n"
2220
- #~ "\t\t\t\t<br><b>Clearfy</b>: Replaces the <code>&lt;img scr=\"\" alt="
2221
- #~ "\"\"&gt;</code>, on attribute with an article name <code>&lt;img scr=\"\" "
2222
- #~ "alt=\"Hello world\"&gt;</code>"
2223
- #~ msgstr ""
2224
- #~ "Атрибут alt является обязательным, поэтому большинство SEO экспертов "
2225
- #~ "говорят. Если вы пропустили, или не заполнили его, он будет автоматически "
2226
- #~ "задан из названия статьи.\n"
2227
- #~ "<br><b>Clearfy</b>: Заменяет <code>&lt;img scr=\"\" alt=\"\"&gt;</code>, "
2228
- #~ "на атрибут с названием статьи <code>&lt;img scr=\"\" alt=\"Hello world"
2229
- #~ "\"&gt;</code>"
2230
-
2231
- #~ msgid ""
2232
- #~ "Replace external links in comments on the JavaScript code <span class="
2233
- #~ "\"wbcr-clearfy-recomended-text\">(Recommended)</span>"
2234
- #~ msgstr ""
2235
- #~ "Заменить внешние ссылки в комментариях на JavaScript код <span class="
2236
- #~ "\"wbcr-clearfy-recomended-text\">(Рекомендовано)</span>"
2237
-
2238
- #~ msgid ""
2239
- #~ "Superfluous external links from comments, which can be typed from a dozen "
2240
- #~ "and more for one article, do not bring anything good for promotion.\n"
2241
- #~ "<br><b>Clearfy</b>: Replaces the links of this kind of <code>&lt;a href="
2242
- #~ "\"http://yourdomain.com\" rel=\"nofollow\"&gt;example&lt;/a&gt;</code>, "
2243
- #~ "on links of this kind <code>&lt;span class=\"wbcr-clearfy-pseoudo-link\" "
2244
- #~ "data-uri=\"http://yourdomain.com\"&gt;example&lt;/span&gt;</code>"
2245
- #~ msgstr ""
2246
- #~ "Внешние ссылки в комментариях, которых может быть десятки или больше на "
2247
- #~ "одной странице, могут ухудшить продвижение вашего сайта.\n"
2248
- #~ "\n"
2249
- #~ "<br><b>Clearfy</b>: Заменяет ссылки <code>&lt;a href=\"http://yourdomain."
2250
- #~ "com\" rel=\"nofollow\"&gt;example&lt;/a&gt;</code> , на span тег и "
2251
- #~ "устанавливает переход с помощью JavaScript<code>&lt;span class=\"wbcr-"
2252
- #~ "clearfy-pseoudo-link\" data-uri=\"http://yourdomain.com\"&gt;example&lt;/"
2253
- #~ "span&gt;</code>"
2254
-
2255
- #~ msgid ""
2256
- #~ "Replace external links from comment authors on the JavaScript code <span "
2257
- #~ "class=\"wbcr-clearfy-recomended-text\">(Recommended)</span>"
2258
- #~ msgstr ""
2259
- #~ "Заменить внешние ссылки от авторов комментариев на код JavaScript <span "
2260
- #~ "class=\"wbcr-clearfy-recomended-text\">(Recommended)</span>"
2261
-
2262
- #~ msgid ""
2263
- #~ "Up to 90 percent of comments in the blog can be left for the sake of an "
2264
- #~ "external link. Even nofollow from page weight loss here does not help.\n"
2265
- #~ "<br><b>Clearfy</b>: Replaces the links of the authors of comments on the "
2266
- #~ "JavaScript code, it is impossible to distinguish it from usual links.\n"
2267
- #~ "<br>--<br><i>In some Wordpress topics this may not work.</i>"
2268
- #~ msgstr ""
2269
- #~ "До 90 процентов комментариев в блоге оставляют ради внешней ссылки. Не "
2270
- #~ "поможет даже nofollow от потери веса страницы.\n"
2271
- #~ "<br><b>Clearfy</b>: Заменяет ссылки авторов комментариев на JavaScript "
2272
- #~ "код, его невозможно отличить от обычной ссылки.\n"
2273
- #~ "<br>--<br><i>В некоторых темах Wordpress это может не сработать.</i>"
2274
-
2275
- #~ msgid ""
2276
- #~ "Automatically insert the Last Modified header <span class=\"wbcr-clearfy-"
2277
- #~ "recomended-text\">(Recommended)</span>"
2278
- #~ msgstr ""
2279
- #~ "Автоматически вставлять заголовок Last Modified <span class=\"wbcr-"
2280
- #~ "clearfy-recomended-text\">(Рекомендовано)</span>"
2281
-
2282
- #~ msgid ""
2283
- #~ "You can specify a page mask, for example: /s= or /manager/. All pages "
2284
- #~ "that contain the string will be excluded. Each exclude must begin with a "
2285
- #~ "new line."
2286
- #~ msgstr ""
2287
- #~ "Можно указать маску страницы, например: /s = или /manager/. Все страницы, "
2288
- #~ "которые содержат эти строки, будут исключены. Каждое исключение должно "
2289
- #~ "начинаться с новой строки."
2290
-
2291
- #~ msgid ""
2292
- #~ "Return an If-Modified-Since responce <span class=\"wbcr-clearfy-"
2293
- #~ "recomended-text\">(Recommended)</span>"
2294
- #~ msgstr ""
2295
- #~ "Возвращать заголовок If-Modified-Since <span class=\"wbcr-clearfy-"
2296
- #~ "recomended-text\">(Recommended)</span>"
2297
-
2298
- #~ msgid ""
2299
- #~ "Remove duplicate names in breadcrumbs WP SEO by Yoast <span class=\"wbcr-"
2300
- #~ "clearfy-recomended-text\">(Recommended)</span>"
2301
- #~ msgstr ""
2302
- #~ "Удалить дубли имен в хлебных крошках WP SEO Yoast <span class=\"wbcr-"
2303
- #~ "clearfy-recomended-text\">(Рекомендовано)</span>"
2304
-
2305
- #~ msgid ""
2306
- #~ "The last element in the breadcrumbs in the Yoast SEO plugin duplicates "
2307
- #~ "the title of the article. Some SEO-specialists consider this duplication "
2308
- #~ "to be superfluous.\n"
2309
- #~ "<br><b>Clearfy</b>: Removes duplication of the name in the breadcrumbs of "
2310
- #~ "the WP SEO plugin from Yoast."
2311
- #~ msgstr ""
2312
- #~ "Последний элемент в хлебных крошках Yoast SEO дублирует название статьи. "
2313
- #~ "Некоторые SEO-специалисты считают это дублирование излишним.\n"
2314
- #~ "<br><b>Clearfy</b>: Удаляет последний элемент в хлебных крошках Yoast SEO."
2315
-
2316
- #~ msgid ""
2317
- #~ "Remove the tag &lt;image:image&gt; from XML site map <span class=\"wbcr-"
2318
- #~ "clearfy-recomended-text\">(Recommended)</span>"
2319
- #~ msgstr ""
2320
- #~ "Удалить тег &lt;image:image&gt; из XML карты сайта <span class=\"wbcr-"
2321
- #~ "clearfy-recomended-text\">(Рекомендовано)</span>"
2322
-
2323
- #~ msgid ""
2324
- #~ "Yandex.Webmaster swears on a standard XML card from the plugin Yoast, tk. "
2325
- #~ "it has a specific tag &lt;image:image&gt;.\n"
2326
- #~ "<br><b>Clearfy</b>: Remove the tag &lt;image:image&gt; from XML site map "
2327
- #~ "of the plugin Yoast SEO.\n"
2328
- #~ "<br>--<br><span style=\"color:#dd2b19\">Attention! After activation, turn "
2329
- #~ "off the site map and enable it back to regenerate it.</span>\n"
2330
- #~ "<br><span style=\"color:#dd2b19\">* In older versions of Yoast SEO may "
2331
- #~ "not work - update the plugin Yoast</span>"
2332
- #~ msgstr ""
2333
- #~ "Яндекс вебмастер ругается на стандартной карты XML из плагина Yoast SEO, "
2334
- #~ "из-за определенного тега &lt;image:image&gt;.\n"
2335
- #~ "<br><b>Clearfy</b>: Удаляет тег &lt;image:image&gt; из XML карта сайта "
2336
- #~ "плагин Yoast SEO.\n"
2337
- #~ "<br>--<br><span style=\"color:#dd2b19\">Внимание! После активации, "
2338
- #~ "выключите карту сайта и включите ее обратно, чтобы обновить ее.</span>\n"
2339
- #~ "<br><span style=\"color:#dd2b19\">* В более старых версиях Yoast SEO не "
2340
- #~ "может работать - обновите плагин Yoast SEO</span>"
2341
-
2342
- #~ msgid ""
2343
- #~ "Remove comment from &lt;head&gt; section <span class=\"wbcr-clearfy-"
2344
- #~ "recomended-text\">(Recommended)</span>"
2345
- #~ msgstr ""
2346
- #~ "Удалить комментарии из секции &lt;head&gt; <span class=\"wbcr-clearfy-"
2347
- #~ "recomended-text\">(Рекомендовано)</span>"
2348
-
2349
- #~ msgid ""
2350
- #~ "The Yoast SEO plugin displays a comment of the form &lt;!-- This site is "
2351
- #~ "optimized with the Yoast SEO plugin v3.1.1 - https://yoast.com/wordpress/"
2352
- #~ "plugins/seo/ --&gt; in &lt;head&gt; section\n"
2353
- #~ "<br><b>Clearfy</b>: Removes the Yoast SEO plugin comment of their section "
2354
- #~ "&lt;head&gt;."
2355
- #~ msgstr ""
2356
- #~ "Yoast SEO плагин отображает комментарий формы &lt;!-- This site is "
2357
- #~ "optimized with the Yoast SEO plugin v3.1.1 - https://yoast.com/wordpress/"
2358
- #~ "plugins/seo/ --&gt; в секции &lt;head&gt;\n"
2359
- #~ "<br><b>Clearfy</b>: Удаляет комментрии Yoast SEO из &lt;head&gt; ."
2360
-
2361
- #~ msgid "Exclude pages:</span>"
2362
- #~ msgstr "</span>"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 &lt;head&gt; "
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
+ #~ "&lt;head&gt;, закрывает и ставит перенаправления от всех 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 &lt;head&gt; section"
2598
+ #~ msgstr ""
2599
+ #~ "Позволяет злоумышленнику узнать версию Wordpress, установленую на вашем "
2600
+ #~ "сайте. Этот мета-тег не несет никакой пользы.<br><b>Clearfy</b>: удаляет "
2601
+ #~ "мета-тег из раздел &lt;head&gt;"
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 &lt;"
2825
+ #~ "head&gt; this type of: <code>&lt;link rel=\"dns-prefetch\" href=\"//s.w."
2826
+ #~ "org\"&gt;</code>\n"
2827
+ #~ "<br><b>Clearfy</b>: Removes dns-prefetch links from the &lt;head&gt; "
2828
+ #~ "section"
2829
+ #~ msgstr ""
2830
+ #~ "Начиная с версии 4.6.1 в WordPress появляются новые ссылки в секции &lt;"
2831
+ #~ "head&gt; пример: <code>&lt;link rel=\"dns-prefetch\" href = \"//s.w.org"
2832
+ #~ "\"&gt;</code>\n"
2833
+ #~ "<br><b>Clearfy</b>: Удаляет ссылки из секции &lt;head&gt;"
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>&lt;link rel=\"EditURI\" type=\"application/rsd"
2847
+ #~ "+xml\" title=\"RSD\" href=\"https://yourdomain.com/xmlrpc.php?rsd\"&gt;</"
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>&lt;link rel=\"EditURI\" type="
2855
+ #~ "\"application/rsd+xml\" title=\"RSD\" href=\"https://yourdomain.com/"
2856
+ #~ "xmlrpc.php?rsd\"&gt;</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>&lt;link rel=\"wlwmanifest\" type=\"application/wlwmanifest+xml\" "
2868
+ #~ "href=\"https://yourdomain.com/wp-includes/wlwmanifest.xml\"&gt;</"
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>&lt;link rel=\"wlwmanifest\" type=\"application/wlwmanifest+xml\" "
2875
+ #~ "href=\"https://yourdomain.com/wp-includes/wlwmanifest.xml\"&gt;</"
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>&lt;link rel=\"shortlink\" href=\"https://domain.com?p=712\"&gt;"
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>&lt;link rel=\"shortlink\" href=\"https://domain.com?"
2898
+ #~ "p=712\"&gt;</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>&lt;img scr=\"\" alt="
2949
+ #~ "\"\"&gt;</code>, on attribute with an article name <code>&lt;img scr=\"\" "
2950
+ #~ "alt=\"Hello world\"&gt;</code>"
2951
+ #~ msgstr ""
2952
+ #~ "Атрибут alt является обязательным, поэтому большинство SEO экспертов "
2953
+ #~ "говорят. Если вы пропустили, или не заполнили его, он будет автоматически "
2954
+ #~ "задан из названия статьи.\n"
2955
+ #~ "<br><b>Clearfy</b>: Заменяет <code>&lt;img scr=\"\" alt=\"\"&gt;</code>, "
2956
+ #~ "на атрибут с названием статьи <code>&lt;img scr=\"\" alt=\"Hello world"
2957
+ #~ "\"&gt;</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>&lt;a href="
2970
+ #~ "\"http://yourdomain.com\" rel=\"nofollow\"&gt;example&lt;/a&gt;</code>, "
2971
+ #~ "on links of this kind <code>&lt;span class=\"wbcr-clearfy-pseoudo-link\" "
2972
+ #~ "data-uri=\"http://yourdomain.com\"&gt;example&lt;/span&gt;</code>"
2973
+ #~ msgstr ""
2974
+ #~ "Внешние ссылки в комментариях, которых может быть десятки или больше на "
2975
+ #~ "одной странице, могут ухудшить продвижение вашего сайта.\n"
2976
+ #~ "\n"
2977
+ #~ "<br><b>Clearfy</b>: Заменяет ссылки <code>&lt;a href=\"http://yourdomain."
2978
+ #~ "com\" rel=\"nofollow\"&gt;example&lt;/a&gt;</code> , на span тег и "
2979
+ #~ "устанавливает переход с помощью JavaScript<code>&lt;span class=\"wbcr-"
2980
+ #~ "clearfy-pseoudo-link\" data-uri=\"http://yourdomain.com\"&gt;example&lt;/"
2981
+ #~ "span&gt;</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 &lt;image:image&gt; from XML site map <span class=\"wbcr-"
3046
+ #~ "clearfy-recomended-text\">(Recommended)</span>"
3047
+ #~ msgstr ""
3048
+ #~ "Удалить тег &lt;image:image&gt; из 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 &lt;image:image&gt;.\n"
3054
+ #~ "<br><b>Clearfy</b>: Remove the tag &lt;image:image&gt; 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
+ #~ "из-за определенного тега &lt;image:image&gt;.\n"
3063
+ #~ "<br><b>Clearfy</b>: Удаляет тег &lt;image:image&gt; из XML карта сайта "
3064
+ #~ "плагин Yoast SEO.\n"
3065
+ #~ "<br>--<br><span style=\"color:#dd2b19\">Внимание! После активации, "
3066
+ #~ "выключите карту сайта и включите ее обратно, чтобы обновить ее.</span>\n"
3067
+ #