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

Version Description

  • Fixed bug: admin area loads slower when theme and plugin updates: disabled
  • Fixed bug: hide errors when logging into the site breaks login
Download this release

Release Info

Developer webcraftic
Plugin Icon 128x128 Clearfy – WordPress optimization plugin and disable ultimate tweaker
Version 1.1.92
Comparing to
See all releases

Code changes from version 1.1.8 to 1.1.92

Files changed (72) hide show
  1. admin/ajax/import-settings.php +34 -2
  2. admin/assets/css/components.css +43 -22
  3. admin/assets/css/components.less +30 -0
  4. admin/assets/css/general.css +337 -337
  5. admin/assets/img/asm-icon-128x128.png +0 -0
  6. admin/assets/img/dan-icon-128x128.jpg +0 -0
  7. admin/assets/img/dic-icon-128x128.png +0 -0
  8. admin/assets/img/upm-icon-128x128.png +0 -0
  9. admin/boot.php +89 -4
  10. admin/includes/options.php +7 -2
  11. admin/pages/additionally.php +148 -154
  12. admin/pages/components.php +128 -40
  13. admin/pages/double-pages.php +12 -0
  14. admin/pages/privacy.php +2 -9
  15. admin/pages/quick-start.php +8 -0
  16. admin/pages/seo.php +67 -62
  17. clearfy.php +24 -32
  18. components/assets-manager/admin/assets/css/general.css +455 -455
  19. components/assets-manager/assets/css/assets-manager.css +229 -229
  20. components/comments-plus/admin/assets/css/general.css +455 -455
  21. components/comments-plus/admin/boot.php +1 -0
  22. components/comments-plus/admin/pages/comments.php +2 -160
  23. components/comments-plus/admin/pages/delete-comments.php +329 -0
  24. components/comments-plus/comments-plus.php +2 -2
  25. components/comments-plus/includes/classes/class.configurate-comments.php +8 -2
  26. components/comments-plus/languages/comments-plus-ru_RU.mo +0 -0
  27. components/comments-plus/languages/comments-plus-ru_RU.po +151 -95
  28. components/disable-admin-notices/admin/ajax/hide-notice.php +4 -8
  29. components/disable-admin-notices/admin/ajax/restore-notice.php +41 -0
  30. components/disable-admin-notices/admin/assets/css/notifications-panel.css +65 -49
  31. components/disable-admin-notices/admin/assets/css/notifications-panel.less +20 -2
  32. components/disable-admin-notices/admin/assets/js/general.js +0 -203
  33. components/disable-admin-notices/admin/assets/js/notifications-panel.js +44 -0
  34. components/disable-admin-notices/admin/boot.php +8 -3
  35. components/disable-admin-notices/admin/options.php +2 -2
  36. components/disable-admin-notices/disable-admin-notices.php +2 -2
  37. components/disable-admin-notices/includes/classes/class.configurate-notices.php +79 -31
  38. components/disable-admin-notices/languages/disable-admin-notices-ru_RU.mo +0 -0
  39. components/disable-admin-notices/languages/disable-admin-notices-ru_RU.po +17 -14
  40. components/disable-admin-notices/readme.txt +8 -0
  41. components/updates-manager/admin/assets/css/general.css +35 -35
  42. components/updates-manager/admin/pages/advanced.php +5 -1
  43. components/updates-manager/admin/pages/plugins.php +5 -1
  44. components/updates-manager/includes/classes/class.configurate-updates.php +2 -2
  45. components/updates-manager/readme.txt +21 -1
  46. components/updates-manager/webcraftic-updates-manager.php +2 -2
  47. includes/classes/class.configurate-advanced.php +58 -96
  48. includes/classes/class.configurate-code-clean.php +1 -1
  49. includes/classes/class.configurate-security.php +5 -1
  50. includes/classes/class.configurate-seo.php +98 -57
  51. includes/classes/class.wordpress-sanitize.php +320 -320
  52. includes/functions.php +17 -3
  53. languages/clearfy-it_IT.po +1324 -1324
  54. languages/clearfy-ru_RU.mo +0 -0
  55. languages/clearfy-ru_RU.po +2362 -2231
  56. libs/factory/bootstrap/assets/flat/css/bootstrap.blue.css +48 -0
  57. libs/factory/bootstrap/assets/flat/css/bootstrap.coffee.css +48 -0
  58. libs/factory/bootstrap/assets/flat/css/bootstrap.datetimepicker.css +0 -432
  59. libs/factory/bootstrap/assets/flat/css/bootstrap.ectoplasm.css +48 -0
  60. libs/factory/bootstrap/assets/flat/css/bootstrap.midnight.css +48 -0
  61. libs/factory/bootstrap/assets/flat/css/bootstrap.ocean.css +48 -0
  62. libs/factory/bootstrap/assets/flat/css/bootstrap.sunrise.css +48 -0
  63. libs/factory/bootstrap/assets/flat/css/control.multiple-textbox.css +0 -37
  64. libs/factory/bootstrap/assets/js/bootstrap.datetimepicker.js +0 -2746
  65. libs/factory/bootstrap/assets/js/control.multiple-textbox.js +0 -43
  66. libs/factory/bootstrap/includes/functions.php +4 -2
  67. libs/factory/forms/langs/factory_forms_329-fr-FR.po +104 -104
  68. libs/factory/pages/langs/factory_pages_324-fr_FR.po +99 -99
  69. libs/factory/pages/templates/assets/css/impressive.page.template.css +5 -5
  70. libs/factory/pages/templates/assets/css/impressive.page.template.less +7 -5
  71. libs/factory/pages/templates/impressive-page.class.php +1 -0
  72. readme.txt +240 -101
admin/ajax/import-settings.php CHANGED
@@ -28,8 +28,40 @@
28
  $place_holders = array();
29
  $query = "INSERT INTO {$wpdb->prefix}options (option_name, option_value) VALUES ";
30
 
31
- foreach($settings as $key => $value) {
32
- array_push($values, sanitize_text_field($key), wp_kses_post($value));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33
  $place_holders[] = "('%s', '%s')";/* In my case, i know they will always be integers */
34
  }
35
 
28
  $place_holders = array();
29
  $query = "INSERT INTO {$wpdb->prefix}options (option_name, option_value) VALUES ";
30
 
31
+ foreach($settings as $option_name => $option_value) {
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;
39
+
40
+ if( is_ssl() ) {
41
+ $dir_host = 'https://' . $dir_host_without_scheme;
42
+ }
43
+
44
+ $replace_host_value = preg_replace('/(Host:\s?)(.*)/', '$1' . $dir_host, $option_value);
45
+
46
+ if( !empty($replace_host_value) ) {
47
+ $option_value = $replace_host_value;
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);
55
+ $replace_sitemap_value = preg_replace('/(Sitemap:\s?)(.*)/', '$1' . $url_parts['scheme'] . '://' . $dir_host_without_scheme . $url_parts['path'] . PHP_EOL, $option_value);
56
+
57
+ if( !empty($replace_sitemap_value) ) {
58
+ $option_value = $replace_sitemap_value;
59
+ }
60
+ }
61
+ }
62
+ }
63
+
64
+ array_push($values, $option_name, $option_value);
65
  $place_holders[] = "('%s', '%s')";/* In my case, i know they will always be integers */
66
  }
67
 
admin/assets/css/components.css CHANGED
@@ -1,22 +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
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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/components.less CHANGED
@@ -8,6 +8,7 @@
8
  .wbcr-clearfy-components {
9
  padding: 20px;
10
  .plugin-card {
 
11
  .plugin-card-top {
12
  min-height: 163px;
13
  }
@@ -23,6 +24,35 @@
23
  .install-now {
24
  float: right;
25
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26
  }
27
  }
28
  }
8
  .wbcr-clearfy-components {
9
  padding: 20px;
10
  .plugin-card {
11
+
12
  .plugin-card-top {
13
  min-height: 163px;
14
  }
24
  .install-now {
25
  float: right;
26
  }
27
+
28
+ a.open-plugin-details-modal {
29
+ color: #5c5d5f;
30
+ text-decoration: none;
31
+ font-weight: 600;
32
+ font-size: 15px;
33
+ }
34
+
35
+ &.plugin-status-deactive {
36
+ background-color: #f9f2f1;
37
+
38
+ a.open-plugin-details-modal {
39
+ color: #ababab;
40
+ text-decoration: none;
41
+ font-weight: 600;
42
+ font-size: 15px;
43
+ }
44
+ .plugin-icon {
45
+ opacity: 0.3;
46
+ }
47
+
48
+ .desc {
49
+ color: #afafaf;
50
+ }
51
+
52
+ .button-success {
53
+
54
+ }
55
+ }
56
  }
57
  }
58
  }
admin/assets/css/general.css CHANGED
@@ -1,337 +1,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
- }
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
+ }
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
+ }
admin/assets/img/asm-icon-128x128.png ADDED
Binary file
admin/assets/img/dan-icon-128x128.jpg ADDED
Binary file
admin/assets/img/dic-icon-128x128.png ADDED
Binary file
admin/assets/img/upm-icon-128x128.png ADDED
Binary file
admin/boot.php CHANGED
@@ -17,14 +17,99 @@
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
- require_once(WBCR_CLR_PLUGIN_DIR . '/admin/pages/widgets.php');
 
 
 
 
 
 
 
 
 
21
  require_once(WBCR_CLR_PLUGIN_DIR . '/admin/pages/additionally.php');
22
- //require_once(WBCR_CLR_PLUGIN_DIR . '/admin/pages/components.php');
23
 
24
- if( isset($_REQUEST['action']) && $_REQUEST['action'] == 'wbcr_clearfy_configurate' ) {
25
  require(WBCR_CLR_PLUGIN_DIR . '/admin/ajax/configurate.php');
26
  }
27
 
28
- if( isset($_REQUEST['action']) && $_REQUEST['action'] == 'wbcr_clearfy_import_settings' ) {
29
  require(WBCR_CLR_PLUGIN_DIR . '/admin/ajax/import-settings.php');
30
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
44
+ */
45
+ function wbcr_enqueue_pointer_script_style($hook_suffix)
46
+ {
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
+ }
54
+
55
+ if( $enqueue_pointer_script_style ) {
56
+ wp_enqueue_style('wp-pointer');
57
+ wp_enqueue_script('wp-pointer');
58
+ }
59
+ }
60
+
61
+ // todo: remove in 1.2.0
62
+ function wbcr_pointer_print_scripts()
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: {
81
+ edge: 'left', // arrow direction
82
+ align: 'center' // vertical alignment
83
+ },
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
99
+ },
100
+ pointerWidth: 350,
101
+ close: function() {
102
+ $.post(ajaxurl, {
103
+ pointer: 'wbcr_clearfy_components_pointer', // pointer ID
104
+ action: 'dismiss-wp-pointer'
105
+ });
106
+ }
107
+ }).pointer('open');
108
+ <?php endif; ?>
109
+ });
110
+ //]]>
111
+ </script>
112
+ <?php
113
+ }
114
+
115
+ add_action('admin_enqueue_scripts', 'wbcr_enqueue_pointer_script_style');
admin/includes/options.php CHANGED
@@ -10,7 +10,7 @@
10
  array(
11
  'name' => 'disable_json_rest_api',
12
  'title' => __('Remove REST API Links', 'clearfy'),
13
- 'tags' => array('recommended', 'clear_code')
14
  ),
15
  array(
16
  'name' => 'disable_emoji',
@@ -100,7 +100,7 @@
100
  array(
101
  'name' => 'redirect_archives_tag',
102
  'title' => __('Remove archives tag', 'clearfy'),
103
- 'tags' => array('recommended', 'seo_optimize')
104
  ),
105
  array(
106
  'name' => 'attachment_pages_redirect',
@@ -329,4 +329,9 @@
329
  'title' => __('Remove html comments', 'clearfy'),
330
  'tags' => array()
331
  ),
 
 
 
 
 
332
  ));
10
  array(
11
  'name' => 'disable_json_rest_api',
12
  'title' => __('Remove REST API Links', 'clearfy'),
13
+ 'tags' => array()
14
  ),
15
  array(
16
  'name' => 'disable_emoji',
100
  array(
101
  'name' => 'redirect_archives_tag',
102
  'title' => __('Remove archives tag', 'clearfy'),
103
+ 'tags' => array()
104
  ),
105
  array(
106
  'name' => 'attachment_pages_redirect',
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
  ));
admin/pages/additionally.php CHANGED
@@ -63,6 +63,11 @@
63
  */
64
  public function getOptions()
65
  {
 
 
 
 
 
66
  $options = array();
67
 
68
  $options[] = array(
@@ -114,168 +119,157 @@
114
  array('45', '45 ' . __('seconds', 'clearfy')),
115
  array('50', '50 ' . __('seconds', 'clearfy')),
116
  array('55', '55 ' . __('seconds', 'clearfy')),
117
- array('60', '60 ' . __('seconds', 'clearfy'))
 
 
 
 
 
 
 
 
118
  ),
119
  'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
120
  'hint' => __('Select the heartbeat frequency wordpress. We recommend you 60 seconds, default is 20 seconds.', 'clearfy'),
121
  'default' => 'default'
122
  );
123
 
124
- /*$options[] = array(
125
- 'type' => 'checkbox',
126
- 'way' => 'buttons',
127
- 'name' => 'disable_admin_notices',
128
- 'title' => __('Disable admin notice', 'clearfy'),
129
- 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
130
- 'hint' => __('Whenever there’s a major release available, a notification will display at the top of your admin area, letting you know your version is out-of-date and you need to update the core code.<br>
131
- For many people, this nag can be annoying. And if you developer websites for clients, you may want to hide it. After all, who wants to let their clients know their software is old?', 'clearfy') . '<br><b>Clearfy</b>: ' . __('Disable admin notices.', 'clearfy'),
132
- 'default' => false
133
- );*/
134
-
135
- $options[] = array(
136
- 'type' => 'html',
137
- '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>'
138
- );
139
-
140
- $options[] = array(
141
- 'type' => 'dropdown',
142
- 'name' => 'disable_admin_bar',
143
- 'way' => 'buttons',
144
- 'title' => __('Disable admin top bar', 'clearfy'),
145
- 'data' => array(
146
- array('enable', __('Default enable', 'clearfy')),
147
- array('for_all_users', __('For all users', 'clearfy')),
148
- array(
149
- 'for_all_users_except_administrator',
150
- __('For all users except administrator', 'clearfy')
151
- )
152
- ),
153
- 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
154
- 'hint' => __('In some cases, you need to disable the floating top admin panel. You can disable this panel.', 'clearfy') . '<br><b>Clearfy</b>: ' . __('Disable admin top bar.', 'clearfy'),
155
- 'default' => 'enable',
156
- );
157
-
158
- $options[] = array(
159
- 'type' => 'checkbox',
160
- 'way' => 'buttons',
161
- 'name' => 'disable_admin_bar_logo',
162
- 'title' => __('Remove admin bar WP logo', 'clearfy'),
163
- 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'green'),
164
- 'hint' => __('Enable this if you want to remove wp logo from admin bar.', 'clearfy'),
165
- 'default' => false
166
- );
167
-
168
- $options[] = array(
169
- 'type' => 'checkbox',
170
- 'way' => 'buttons',
171
- 'name' => 'replace_howdy_welcome',
172
- 'title' => __('Replace "Howdy" text with "Welcome"', 'clearfy'),
173
- 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'green'),
174
- 'hint' => __('Replaces the welcome text in admin bar.', 'clearfy'),
175
- 'default' => false
176
- );
177
-
178
- $options[] = array(
179
- 'type' => 'html',
180
- '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>'
181
- );
182
-
183
- $options[] = array(
184
- 'type' => 'checkbox',
185
- 'way' => 'buttons',
186
- 'name' => 'revisions_disable',
187
- 'title' => __('Disable revision', 'clearfy'),
188
- 'default' => false,
189
- 'eventsOn' => array(
190
- 'hide' => '.factory-control-revision_limit'
191
- ),
192
- 'eventsOff' => array(
193
- 'show' => '.factory-control-revision_limit'
194
- ),
195
- );
196
-
197
- /*$options[] = array(
198
- 'type' => 'checkbox',
199
- 'way' => 'buttons',
200
- 'name' => 'disable_selection_patent',
201
- 'title' => __('Disable selection of parent category', 'clearfy'),
202
- 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
203
- 'hint' => __('If you do not use this section, you can disable it.', 'clearfy') . '<br><b>Clearfy</b>: ' . __('Disable selection of parent category.', 'clearfy'),
204
- 'default' => false
205
- );
206
-
207
- $options[] = array(
208
- 'type' => 'checkbox',
209
- 'way' => 'buttons',
210
- 'name' => 'enable_categoty_tree',
211
- 'title' => __('Enable category checklist tree', 'clearfy'),
212
- 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'green'),
213
- 'hint' => __('Enable this if you want to enable category checklist tree. On the post editing screen, after saving a post, you will notice that the checked categories are displayed on top, breaking the category hierarchy. This option removes that feature. Additionally, it automatically scrolls to the first checked category.', 'clearfy') . '<br><b>Clearfy</b>: ' . __('Enable category checklist tree.', 'clearfy'),
214
- 'default' => false
215
- );*/
216
 
217
- $options[] = array(
218
- 'type' => 'dropdown',
219
- 'name' => 'revision_limit',
220
- 'title' => __('Limit Post Revisions', 'clearfy'),
221
- 'data' => array(
222
- array('default', __('Wordpress default', 'clearfy')),
223
- array('15', '15 ' . __('revisions', 'clearfy')),
224
- array('20', '20 ' . __('revisions', 'clearfy')),
225
- array('25', '25 ' . __('revisions', 'clearfy')),
226
- array('30', '30 ' . __('revisions', 'clearfy')),
227
- array('35', '35 ' . __('revisions', 'clearfy')),
228
- array('40', '40 ' . __('revisions', 'clearfy')),
229
- array('45', '45 ' . __('revisions', 'clearfy')),
230
- array('50', '50 ' . __('revisions', 'clearfy')),
231
- array('55', '55 ' . __('revisions', 'clearfy')),
232
- array('60', '60 ' . __('revisions', 'clearfy'))
233
- ),
234
- 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
235
- 'hint' => __('WordPress automatically saves revisions when you are working on posts and pages. These can begin to add up pretty quick. By default, there is no limit in place. We have seen posts with over 1,000 revisions. Multiply this by 50 pages and suddenly you have over 50,000 revisions sitting in your database. The problem with this is that you will most likely never use them and they can start slowing down your database as well as using disk space.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
236
  So we recommend either disabling or limiting your revisions. ', 'clearfy'),
237
- 'default' => 'default'
238
- );
239
-
240
- $options[] = array(
241
- 'type' => 'checkbox',
242
- 'way' => 'buttons',
243
- 'name' => 'disable_post_autosave',
244
- 'title' => __('Disable autosave', 'clearfy'),
245
- 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
246
- 'hint' => __('WordPress by default automatically saves a draft every 60 seconds (1 minute). There are reasons why you might want to change this.', 'clearfy') . '<br><b>Clearfy</b>: ' . __('Disables automatic saving of drafts.', 'clearfy'),
247
- 'default' => false
248
- );
249
-
250
- $options[] = array(
251
- 'type' => 'checkbox',
252
- 'way' => 'buttons',
253
- 'name' => 'disable_texturization',
254
- 'title' => __('Disable Texturization - Smart Quotes', 'clearfy'),
255
- 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
256
- 'hint' => __('Function of text formatting. This function makes the text more correct, readable and visually appealing. But sometimes this function may prevent you from using certain codes and symbols.', 'clearfy') . '<br><b>Clearfy</b>: ' . __('Disable Texturization - Smart Quotes.', 'clearfy'),
257
- 'default' => false
258
- );
259
-
260
- $options[] = array(
261
- 'type' => 'checkbox',
262
- 'way' => 'buttons',
263
- 'name' => 'disable_auto_correct_dangit',
264
- 'title' => __('Disable capitalization in Wordpress branding', 'clearfy'),
265
- 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
266
- 'hint' => __('Replaces the incorrectly written letter "p" in the middle of WordPress (you need to write with the capital P in the middle).', 'clearfy') . '<br><b>Clearfy</b>: ' . __('Disable capitalization in Wordpress branding.', 'clearfy'),
267
- 'default' => false
268
- );
269
-
270
- $options[] = array(
271
- 'type' => 'checkbox',
272
- 'way' => 'buttons',
273
- 'name' => 'disable_auto_paragraph',
274
- 'title' => __('Disable auto inserted paragraphs (i.e. p tags)', 'clearfy'),
275
- 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
276
- 'hint' => __('Replaces the double shifting of a string to an HTML p ... /p construct, and a single one on br.', 'clearfy') . '<br><b>Clearfy</b>: ' . __('Disable auto inserted paragraphs.', 'clearfy'),
277
- 'default' => false
278
- );
 
279
 
280
  $options[] = array(
281
  'type' => 'html',
63
  */
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(
119
  array('45', '45 ' . __('seconds', 'clearfy')),
120
  array('50', '50 ' . __('seconds', 'clearfy')),
121
  array('55', '55 ' . __('seconds', 'clearfy')),
122
+ array('60', '60 ' . __('seconds', 'clearfy')),
123
+ array('80', '80 ' . __('seconds', 'clearfy')),
124
+ array('120', '120 ' . __('seconds', 'clearfy')),
125
+ array('150', '150 ' . __('seconds', 'clearfy')),
126
+ array('200', '200 ' . __('seconds', 'clearfy')),
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'),
134
  'default' => 'default'
135
  );
136
 
137
+ //============================================================
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>'
145
+ );
146
+
147
+ $options[] = array(
148
+ 'type' => 'dropdown',
149
+ 'name' => 'disable_admin_bar',
150
+ 'way' => 'buttons',
151
+ 'title' => __('Disable admin top bar', 'clearfy'),
152
+ 'data' => array(
153
+ array('enable', __('Default enable', 'clearfy')),
154
+ array('for_all_users', __('For all users', 'clearfy')),
155
+ array(
156
+ 'for_all_users_except_administrator',
157
+ __('For all users except administrator', 'clearfy')
158
+ )
159
+ ),
160
+ 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
161
+ 'hint' => __('In some cases, you need to disable the floating top admin panel. You can disable this panel.', 'clearfy') . '<br><b>Clearfy</b>: ' . __('Disable admin top bar.', 'clearfy'),
162
+ 'default' => 'enable',
163
+ );
164
+
165
+ $options[] = array(
166
+ 'type' => 'checkbox',
167
+ 'way' => 'buttons',
168
+ 'name' => 'disable_admin_bar_logo',
169
+ 'title' => __('Remove admin bar WP logo', 'clearfy'),
170
+ 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'green'),
171
+ 'hint' => __('Enable this if you want to remove wp logo from admin bar.', 'clearfy'),
172
+ 'default' => false
173
+ );
174
+
175
+ $options[] = array(
176
+ 'type' => 'checkbox',
177
+ 'way' => 'buttons',
178
+ 'name' => 'replace_howdy_welcome',
179
+ 'title' => __('Replace "Howdy" text with "Welcome"', 'clearfy'),
180
+ 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'green'),
181
+ 'hint' => __('Replaces the welcome text in admin bar.', 'clearfy'),
182
+ 'default' => false
183
+ );
184
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
185
 
186
+ //============================================================
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>'
194
+ );
195
+
196
+ $options[] = array(
197
+ 'type' => 'checkbox',
198
+ 'way' => 'buttons',
199
+ 'name' => 'revisions_disable',
200
+ 'title' => __('Disable revision', 'clearfy'),
201
+ 'default' => false,
202
+ 'eventsOn' => array(
203
+ 'hide' => '.factory-control-revision_limit'
204
+ ),
205
+ 'eventsOff' => array(
206
+ 'show' => '.factory-control-revision_limit'
207
+ ),
208
+ );
209
+
210
+ $options[] = array(
211
+ 'type' => 'dropdown',
212
+ 'name' => 'revision_limit',
213
+ 'title' => __('Limit Post Revisions', 'clearfy'),
214
+ 'data' => array(
215
+ array('default', __('Wordpress default', 'clearfy')),
216
+ array('15', '15 ' . __('revisions', 'clearfy')),
217
+ array('20', '20 ' . __('revisions', 'clearfy')),
218
+ array('25', '25 ' . __('revisions', 'clearfy')),
219
+ array('30', '30 ' . __('revisions', 'clearfy')),
220
+ array('35', '35 ' . __('revisions', 'clearfy')),
221
+ array('40', '40 ' . __('revisions', 'clearfy')),
222
+ array('45', '45 ' . __('revisions', 'clearfy')),
223
+ array('50', '50 ' . __('revisions', 'clearfy')),
224
+ array('55', '55 ' . __('revisions', 'clearfy')),
225
+ array('60', '60 ' . __('revisions', 'clearfy'))
226
+ ),
227
+ 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
228
+ 'hint' => __('WordPress automatically saves revisions when you are working on posts and pages. These can begin to add up pretty quick. By default, there is no limit in place. We have seen posts with over 1,000 revisions. Multiply this by 50 pages and suddenly you have over 50,000 revisions sitting in your database. The problem with this is that you will most likely never use them and they can start slowing down your database as well as using disk space.
229
  So we recommend either disabling or limiting your revisions. ', 'clearfy'),
230
+ 'default' => 'default'
231
+ );
232
+
233
+ $options[] = array(
234
+ 'type' => 'checkbox',
235
+ 'way' => 'buttons',
236
+ 'name' => 'disable_post_autosave',
237
+ 'title' => __('Disable autosave', 'clearfy'),
238
+ 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
239
+ 'hint' => __('WordPress by default automatically saves a draft every 60 seconds (1 minute). There are reasons why you might want to change this.', 'clearfy') . '<br><b>Clearfy</b>: ' . __('Disables automatic saving of drafts.', 'clearfy'),
240
+ 'default' => false
241
+ );
242
+
243
+ $options[] = array(
244
+ 'type' => 'checkbox',
245
+ 'way' => 'buttons',
246
+ 'name' => 'disable_texturization',
247
+ 'title' => __('Disable Texturization - Smart Quotes', 'clearfy'),
248
+ 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
249
+ 'hint' => __('Function of text formatting. This function makes the text more correct, readable and visually appealing. But sometimes this function may prevent you from using certain codes and symbols.', 'clearfy') . '<br><b>Clearfy</b>: ' . __('Disable Texturization - Smart Quotes.', 'clearfy'),
250
+ 'default' => false
251
+ );
252
+
253
+ $options[] = array(
254
+ 'type' => 'checkbox',
255
+ 'way' => 'buttons',
256
+ 'name' => 'disable_auto_correct_dangit',
257
+ 'title' => __('Disable capitalization in Wordpress branding', 'clearfy'),
258
+ 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
259
+ 'hint' => __('Replaces the incorrectly written letter "p" in the middle of WordPress (you need to write with the capital P in the middle).', 'clearfy') . '<br><b>Clearfy</b>: ' . __('Disable capitalization in Wordpress branding.', 'clearfy'),
260
+ 'default' => false
261
+ );
262
+
263
+ $options[] = array(
264
+ 'type' => 'checkbox',
265
+ 'way' => 'buttons',
266
+ 'name' => 'disable_auto_paragraph',
267
+ 'title' => __('Disable auto inserted paragraphs (i.e. p tags)', 'clearfy'),
268
+ 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
269
+ 'hint' => __('Replaces the double shifting of a string to an HTML p ... /p construct, and a single one on br.', 'clearfy') . '<br><b>Clearfy</b>: ' . __('Disable auto inserted paragraphs.', 'clearfy'),
270
+ 'default' => false
271
+ );
272
+ }
273
 
274
  $options[] = array(
275
  'type' => 'html',
admin/pages/components.php CHANGED
@@ -8,7 +8,7 @@
8
  *
9
  * @since 1.0.0
10
  */
11
- class WbcrClr_ComponentsPage extends FactoryPages324_ImpressiveThemplate {
12
 
13
  /**
14
  * The id of the page in the admin menu.
@@ -21,7 +21,7 @@
21
  */
22
  public $id = "components";
23
 
24
- public $internal = false;
25
 
26
  public $page_menu_dashicon = 'dashicons-admin-plugins';
27
 
@@ -31,16 +31,6 @@
31
  {
32
  $this->menuTitle = __('Components', 'clearfy');
33
 
34
- add_filter('factory_impressive_page_bottom_sidebar_widgets', function ($page_id, $widgets) {
35
- //if( $page_id == "components" ) {
36
- //unset($widgets['donate_widget']);
37
- //}
38
-
39
- $widgets['rating_widget'] = $this->getRatingWidget('http://yandex.ru');
40
-
41
- return $widgets;
42
- }, 10, 2);
43
-
44
  parent::__construct($plugin);
45
  }
46
 
@@ -61,55 +51,153 @@
61
 
62
  public function showPageContent()
63
  {
64
- $components = new FactoryAddons000();
65
- $response = $components->getPluginAddons('sociallocker');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
66
  ?>
 
 
 
67
  <div class="wbcr-clearfy-components">
68
  <?php foreach($response as $addon): ?>
69
- <div class="plugin-card plugin-card-akismet">
 
 
 
 
 
 
 
 
 
 
70
  <div class="plugin-card-top">
71
  <div class="name column-name">
72
  <h3>
73
  <a href="<?= $addon['url'] ?>" class="thickbox open-plugin-details-modal">
74
  <?= $addon['title'] ?>
75
- <img src="https://ps.w.org/akismet/assets/icon-256x256.png?rev=969272" class="plugin-icon" alt="">
76
  </a>
77
  </h3>
78
  </div>
79
  <div class="desc column-description">
80
- <p><?= $components->excerpt($addon['description'], 16); ?></p>
81
  </div>
82
  </div>
83
  <div class="plugin-card-bottom">
84
- <div class="vers column-rating">
85
- <div class="star-rating">
86
- <span class="screen-reader-text">5.0 rating based on 796 ratings</span>
87
-
88
- <div class="star star-full" aria-hidden="true"></div>
89
- <div class="star star-full" aria-hidden="true"></div>
90
- <div class="star star-full" aria-hidden="true"></div>
91
- <div class="star star-full" aria-hidden="true"></div>
92
- <div class="star star-full" aria-hidden="true"></div>
93
- </div>
94
- <span class="num-ratings" aria-hidden="true">(796)</span>
95
- </div>
96
- <!--<div class="column-updated">
97
- <strong>Last Updated:</strong> 2 weeks ago
98
- </div>
99
- <div class="column-downloaded">
100
- 1+ Million Active Installs
101
- </div>
102
- <div class="column-compatibility">
103
- <span class="compatibility-compatible"><strong>Compatible</strong> with your version of WordPress</span>
104
- </div>-->
105
- <a class="install-now button" data-slug="akismet" href="http://testwp.dev/wp-admin/update.php?action=install-plugin&amp;plugin=akismet&amp;_wpnonce=64668827e5" aria-label="Install Akismet 4.0 now" data-name="Akismet 4.0">Install
106
- Now</a>
107
  </div>
108
  </div>
109
  <?php endforeach; ?>
 
110
  </div>
111
  <?php
112
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
113
  }
114
 
115
  FactoryPages324::register($wbcr_clearfy_plugin, 'WbcrClr_ComponentsPage');
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.
21
  */
22
  public $id = "components";
23
 
24
+ public $page_menu_position = 0;
25
 
26
  public $page_menu_dashicon = 'dashicons-admin-plugins';
27
 
31
  {
32
  $this->menuTitle = __('Components', 'clearfy');
33
 
 
 
 
 
 
 
 
 
 
 
34
  parent::__construct($plugin);
35
  }
36
 
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(
76
+ 'id' => 'widget_tools',
77
+ 'title' => __('Widgets tools', 'clearfy'),
78
+ 'url' => '#',
79
+ 'icon' => $default_image,
80
+ 'description' => __('Disable unused widgets such as tag cloud, links, calendar etc.', 'clearfy')
81
+ ),
82
+ array(
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(
97
+ 'id' => 'adminbar_manager',
98
+ 'title' => __('Admin bar manager', 'clearfy'),
99
+ 'url' => '#',
100
+ 'icon' => $default_image,
101
+ 'description' => __('Disables admin bar. Allows to change and remove admin bar elements.', 'clearfy')
102
+ ),
103
+ array(
104
+ 'id' => 'post_tools',
105
+ 'title' => __('Posts tools', 'clearfy'),
106
+ 'url' => '#',
107
+ 'icon' => $default_image,
108
+ 'description' => __('Disable revisions, disable posts autosave, disable smart quotes and disable auto paragraphs.', 'clearfy')
109
+ ),
110
+ array(
111
+ 'id' => 'yoast_seo',
112
+ 'title' => __('Yoast SEO optimization', 'clearfy'),
113
+ 'url' => '#',
114
+ 'icon' => $default_image,
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): ?>
124
+ <?php
125
+ $status_class = '';
126
+ $plugin_activate = true;
127
+
128
+ if( in_array($addon['id'], $preinsatall_components) ) {
129
+ $status_class = ' plugin-status-deactive';
130
+ $plugin_activate = false;
131
+ }
132
+ ?>
133
+
134
+ <div class="plugin-card<?= $status_class ?>">
135
  <div class="plugin-card-top">
136
  <div class="name column-name">
137
  <h3>
138
  <a href="<?= $addon['url'] ?>" class="thickbox open-plugin-details-modal">
139
  <?= $addon['title'] ?>
140
+ <img src="<?= $addon['icon'] ?>" class="plugin-icon" alt="">
141
  </a>
142
  </h3>
143
  </div>
144
  <div class="desc column-description">
145
+ <p><?= $addon['description']; ?></p>
146
  </div>
147
  </div>
148
  <div class="plugin-card-bottom">
149
+ <?php if( !$plugin_activate ): ?>
150
+ <a class="install-now button button-success" href="<?= wp_nonce_url($this->getActionUrl('activate', array('id' => $addon['id'])), 'activate_' . $this->getResultId() . '_' . $addon['id']) ?>"><?php _e('Activate', 'clearfy') ?></a>
151
+ <?php else: ?>
152
+ <a class="install-now button" href="<?= wp_nonce_url($this->getActionUrl('deactivate', array('id' => $addon['id'])), 'deactivate_' . $this->getResultId() . '_' . $addon['id']) ?>"><?php _e('Deactivate', 'clearfy') ?></a>
153
+ <?php endif; ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
154
  </div>
155
  </div>
156
  <?php endforeach; ?>
157
+ <div class="clearfix"></div>
158
  </div>
159
  <?php
160
  }
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) {
191
+ if( $component == $plugin_id ) {
192
+ unset($preinsatall_components[$key]);
193
+ }
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');
admin/pages/double-pages.php CHANGED
@@ -18,6 +18,8 @@
18
  */
19
  public $id = "double_pages";
20
 
 
 
21
  public $page_menu_dashicon = 'dashicons-admin-page';
22
 
23
  public $page_menu_position = 16;
@@ -59,6 +61,16 @@
59
  'html' => array($this, '_showHeader')
60
  );*/
61
 
 
 
 
 
 
 
 
 
 
 
62
  $options[] = array(
63
  'type' => 'checkbox',
64
  'way' => 'buttons',
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;
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',
admin/pages/privacy.php CHANGED
@@ -18,6 +18,8 @@
18
  */
19
  public $id = "privacy";
20
 
 
 
21
  public $page_menu_position = 15;
22
 
23
  public $page_menu_dashicon = 'dashicons-hidden';
@@ -100,15 +102,6 @@
100
  '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',
101
  );
102
 
103
- $options[] = array(
104
- 'type' => 'checkbox',
105
- 'way' => 'buttons',
106
- 'name' => 'remove_html_comments',
107
- 'title' => __('Remove html comments', 'clearfy'),
108
- 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
109
- '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'),
110
- 'default' => false
111
- );
112
  /*$options[] = array(
113
  'type' => 'separator',
114
  'cssClass' => 'factory-separator-dashed'
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';
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'
admin/pages/quick-start.php CHANGED
@@ -23,6 +23,8 @@
23
  public $page_menu_position = 100;
24
 
25
  public $internal = false;
 
 
26
 
27
  public $addLinkToPluginActions = true;
28
 
@@ -182,6 +184,12 @@
182
  ),
183
  ));
184
 
 
 
 
 
 
 
185
  $allow_mods['reset'] = array('title' => __('Reset all settings', 'clearfy'), 'icon' => 'dashicons-backup');
186
  ?>
187
  <div class="wbcr-clearfy-layer"></div>
23
  public $page_menu_position = 100;
24
 
25
  public $internal = false;
26
+
27
+ public $menuTarget = 'options-general.php';
28
 
29
  public $addLinkToPluginActions = true;
30
 
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
+
193
  $allow_mods['reset'] = array('title' => __('Reset all settings', 'clearfy'), 'icon' => 'dashicons-backup');
194
  ?>
195
  <div class="wbcr-clearfy-layer"></div>
admin/pages/seo.php CHANGED
@@ -52,8 +52,11 @@
52
  */
53
  public function getOptions()
54
  {
 
55
  $options = array();
56
 
 
 
57
  /*$options[] = array(
58
  'type' => 'html',
59
  'html' => array($this, '_showHeader')
@@ -140,70 +143,72 @@
140
  'default' => false
141
  );
142
 
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>'
146
- );
147
-
148
- $options[] = array(
149
- 'type' => 'checkbox',
150
- 'way' => 'buttons',
151
- 'name' => 'remove_last_item_breadcrumb_yoast',
152
- 'title' => __('Remove duplicate names in breadcrumbs WP SEO by Yoast', 'clearfy') . ' <span class="wbcr-clearfy-recomended-text">(' . __('Recommended', 'clearfy') . ')</span>',
153
- 'layout' => array('hint-type' => 'icon'),
154
- 'hint' => __('The last element in the breadcrumbs in the Yoast SEO plugin duplicates the title of the article. Some SEO-specialists consider this duplication to be superfluous.', 'clearfy') . '<br><br><b>Clearfy: </b>' . __('Removes duplication of the name in the breadcrumbs of the WP SEO plugin from Yoast.', 'clearfy'),
155
- 'default' => false
156
- );
157
-
158
- $options[] = array(
159
- 'type' => 'checkbox',
160
- 'way' => 'buttons',
161
- 'name' => 'yoast_remove_image_from_xml_sitemap',
162
- 'title' => sprintf(__('Remove the tag %s from XML site map', 'clearfy'), 'image:image') . ' <span class="wbcr-clearfy-recomended-text">(' . __('Recommended', 'clearfy') . ')</span>',
163
- 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'green'),
164
- 'hint' => __('Yandex.Webmaster swears on a standard XML card from the plugin Yoast, tk. it has a specific tag', 'clearfy') . 'image:image<br><br><b>Clearfy: </b>' . sprintf(__('Remove the tag %s from XML site map of the plugin Yoast SEO.', 'clearfy'), 'image:image') . '<br>--<br><span class="hint-warnign-color">' . __('Attention! After activation, turn off the site map and enable it back to regenerate it.', 'clearfy') . '</span>' . '<br><span class="hint-warnign-color">' . __('In older versions of Yoast SEO may not work - update the plugin Yoast', 'clearfy') . '</span>',
165
- 'default' => false,
166
- 'eventsOn' => array()
167
- );
168
-
169
- /*$options[] = array(
170
- 'type' => 'html',
171
- 'id' => 'wbcr-clearfy-image-xml-sitemap-warning',
172
- 'cssClass' => 'factory-hints',
173
- 'html' => array($this, 'sfsdfsdf')
174
- );*/
175
-
176
- $options[] = array(
177
- 'type' => 'checkbox',
178
- 'way' => 'buttons',
179
- 'name' => 'yoast_remove_json_ld_search',
180
- 'title' => __('Disable JSON-LD sitelinks searchbox', 'clearfy') . '</span>',
181
- 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
182
- 'hint' => __('If you’re not familiar with Search Action it’s the mark-up that helps search engines add a shiny Sitelinks Search Box below your search engine results. For the majority of webmasters the extra search box is an absolutely fantastic feature but for many it’s not required or wanted, especially if a site only has a few pages or if the site uses a customised search platform that only searches blog posts and not pages.', 'clearfy') . ' <br><b>Clearfy: </b>' . __('Disable JSON-LD sitelinks searchbox using WordPress in plugin Yoast SEO.', 'clearfy'),
183
- 'default' => false
184
- );
185
-
186
- $options[] = array(
187
- 'type' => 'checkbox',
188
- 'way' => 'buttons',
189
- 'name' => 'yoast_remove_json_ld_output',
190
- 'title' => __('Disable Yoast Structured Data', 'clearfy') . ' <span class="wbcr-clearfy-recomended-text"></span>',
191
- 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
192
- 'hint' => __('Prevents output of the script tag of type application/ld+json containing
 
193
  schema.org data from the popular Yoast SEO and Yoast SEO Premium plugins.
194
  There is currently no UI to do so.', 'clearfy') . ' <br><b>Clearfy: </b>' . __('Disable Structured Data in plugin Yoast SEO.', 'clearfy'),
195
- 'default' => false
196
- );
197
-
198
- $options[] = array(
199
- 'type' => 'checkbox',
200
- 'way' => 'buttons',
201
- 'name' => 'yoast_remove_head_comment',
202
- 'title' => sprintf(__('Remove comment from %s section', 'clearfy'), 'head') . ' <span class="wbcr-clearfy-recomended-text">(' . __('Recommended', 'clearfy') . ')</span>',
203
- 'layout' => array('hint-type' => 'icon'),
204
- 'hint' => sprintf(__('The Yoast SEO plugin displays a comment of the form %s in %s section', 'clearfy'), '!-- This site is optimized with the Yoast SEO plugin v3.1.1 - https://yoast.com/wordpress/plugins/seo/ --', 'head') . '<br><br><b>Clearfy: </b>' . sprintf(__('Removes the Yoast SEO plugin comment of their section %s', 'clearfy'), 'head'),
205
- 'default' => false
206
- );
 
207
 
208
  $form_options = array();
209
 
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')
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>'
150
+ );
151
+
152
+ $options[] = array(
153
+ 'type' => 'checkbox',
154
+ 'way' => 'buttons',
155
+ 'name' => 'remove_last_item_breadcrumb_yoast',
156
+ 'title' => __('Remove duplicate names in breadcrumbs WP SEO by Yoast', 'clearfy') . ' <span class="wbcr-clearfy-recomended-text">(' . __('Recommended', 'clearfy') . ')</span>',
157
+ 'layout' => array('hint-type' => 'icon'),
158
+ 'hint' => __('The last element in the breadcrumbs in the Yoast SEO plugin duplicates the title of the article. Some SEO-specialists consider this duplication to be superfluous.', 'clearfy') . '<br><br><b>Clearfy: </b>' . __('Removes duplication of the name in the breadcrumbs of the WP SEO plugin from Yoast.', 'clearfy'),
159
+ 'default' => false
160
+ );
161
+
162
+ $options[] = array(
163
+ 'type' => 'checkbox',
164
+ 'way' => 'buttons',
165
+ 'name' => 'yoast_remove_image_from_xml_sitemap',
166
+ 'title' => sprintf(__('Remove the tag %s from XML site map', 'clearfy'), 'image:image') . ' <span class="wbcr-clearfy-recomended-text">(' . __('Recommended', 'clearfy') . ')</span>',
167
+ 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'green'),
168
+ 'hint' => __('Yandex.Webmaster swears on a standard XML card from the plugin Yoast, tk. it has a specific tag', 'clearfy') . 'image:image<br><br><b>Clearfy: </b>' . sprintf(__('Remove the tag %s from XML site map of the plugin Yoast SEO.', 'clearfy'), 'image:image') . '<br>--<br><span class="hint-warnign-color">' . __('Attention! After activation, turn off the site map and enable it back to regenerate it.', 'clearfy') . '</span>' . '<br><span class="hint-warnign-color">' . __('In older versions of Yoast SEO may not work - update the plugin Yoast', 'clearfy') . '</span>',
169
+ 'default' => false,
170
+ 'eventsOn' => array()
171
+ );
172
+
173
+ /*$options[] = array(
174
+ 'type' => 'html',
175
+ 'id' => 'wbcr-clearfy-image-xml-sitemap-warning',
176
+ 'cssClass' => 'factory-hints',
177
+ 'html' => array($this, 'sfsdfsdf')
178
+ );*/
179
+
180
+ $options[] = array(
181
+ 'type' => 'checkbox',
182
+ 'way' => 'buttons',
183
+ 'name' => 'yoast_remove_json_ld_search',
184
+ 'title' => __('Disable JSON-LD sitelinks searchbox', 'clearfy') . '</span>',
185
+ 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
186
+ 'hint' => __('If you’re not familiar with Search Action it’s the mark-up that helps search engines add a shiny Sitelinks Search Box below your search engine results. For the majority of webmasters the extra search box is an absolutely fantastic feature but for many it’s not required or wanted, especially if a site only has a few pages or if the site uses a customised search platform that only searches blog posts and not pages.', 'clearfy') . ' <br><b>Clearfy: </b>' . __('Disable JSON-LD sitelinks searchbox using WordPress in plugin Yoast SEO.', 'clearfy'),
187
+ 'default' => false
188
+ );
189
+
190
+ $options[] = array(
191
+ 'type' => 'checkbox',
192
+ 'way' => 'buttons',
193
+ 'name' => 'yoast_remove_json_ld_output',
194
+ 'title' => __('Disable Yoast Structured Data', 'clearfy') . ' <span class="wbcr-clearfy-recomended-text"></span>',
195
+ 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
196
+ 'hint' => __('Prevents output of the script tag of type application/ld+json containing
197
  schema.org data from the popular Yoast SEO and Yoast SEO Premium plugins.
198
  There is currently no UI to do so.', 'clearfy') . ' <br><b>Clearfy: </b>' . __('Disable Structured Data in plugin Yoast SEO.', 'clearfy'),
199
+ 'default' => false
200
+ );
201
+
202
+ $options[] = array(
203
+ 'type' => 'checkbox',
204
+ 'way' => 'buttons',
205
+ 'name' => 'yoast_remove_head_comment',
206
+ 'title' => sprintf(__('Remove comment from %s section', 'clearfy'), 'head') . ' <span class="wbcr-clearfy-recomended-text">(' . __('Recommended', 'clearfy') . ')</span>',
207
+ 'layout' => array('hint-type' => 'icon'),
208
+ 'hint' => sprintf(__('The Yoast SEO plugin displays a comment of the form %s in %s section', 'clearfy'), '!-- This site is optimized with the Yoast SEO plugin v3.1.1 - https://yoast.com/wordpress/plugins/seo/ --', 'head') . '<br><br><b>Clearfy: </b>' . sprintf(__('Removes the Yoast SEO plugin comment of their section %s', 'clearfy'), 'head'),
209
+ 'default' => false
210
+ );
211
+ }
212
 
213
  $form_options = array();
214
 
clearfy.php CHANGED
@@ -1,10 +1,10 @@
1
  <?php
2
  /**
3
- * Plugin Name: Webcraftic Clearfy - disable unused features
4
  * Plugin URI: https://wordpress.org/plugins/clearfy/
5
  * Description: Disables unused Wordpress features, improves performance and increases SEO rankings, using Clearfy, which makes WordPress very easy.
6
  * Author: Webcraftic <wordpress.webraftic@gmail.com>
7
- * Version: 1.1.8
8
  * Text Domain: clearfy
9
  * Domain Path: /languages/
10
  */
@@ -35,11 +35,12 @@
35
  $wbcr_clearfy_plugin = new Factory326_Plugin(__FILE__, array(
36
  'name' => 'wbcr_clearfy',
37
  'title' => __('Clearfy', 'clearfy'),
38
- 'version' => '1.1.8',
39
  'host' => 'wordpress.org',
40
  'url' => 'https://wordpress.org/plugins/clearfy/',
41
  'assembly' => 'free',
42
- 'updates' => WBCR_CLR_PLUGIN_DIR . '/updates/'
 
43
  ));
44
 
45
  // requires factory modules
@@ -47,7 +48,7 @@
47
  array('libs/factory/bootstrap', 'factory_bootstrap_330', 'admin'),
48
  array('libs/factory/forms', 'factory_forms_329', 'admin'),
49
  array('libs/factory/pages', 'factory_pages_324', 'admin'),
50
- array('libs/factory/clearfy', 'factory_clearfy_102', 'all'),
51
  ));
52
 
53
  require(WBCR_CLR_PLUGIN_DIR . '/includes/functions.php');
@@ -69,33 +70,24 @@
69
  new WbcrClearfy_ConfigSeo($wbcr_clearfy_plugin);
70
  new WbcrClearfy_ConfigAdvanced($wbcr_clearfy_plugin);
71
 
72
- /**
73
- * Include plugin components
74
- */
75
- $wbcr_clearfy_plugin->loadAddons(array(
76
- 'updates_manager' => WBCR_CLR_PLUGIN_DIR . '/components/updates-manager/webcraftic-updates-manager.php',
77
- 'comments_plus' => WBCR_CLR_PLUGIN_DIR . '/components/comments-plus/comments-plus.php',
78
- 'gonzales' => WBCR_CLR_PLUGIN_DIR . '/components/assets-manager/gonzales.php',
79
- 'disable_admin_notices' => WBCR_CLR_PLUGIN_DIR . '/components/disable-admin-notices/disable-admin-notices.php'
80
- ));
81
- }
82
 
83
- /**
84
- * Activates the plugin.
85
- *
86
- * TThe activation hook has to be registered before loading the plugin.
87
- * The deactivateion hook can be registered in any place (currently in the file plugin.class.php).
88
- */
89
- /*function wbcr_clearfy_plugin_activation()
90
- {
91
- if( !current_user_can('activate_plugins') ) {
92
- wp_die(__('You do not have sufficient permissions to activate plugins for this site.'));
 
93
  }
94
 
95
- wbcr_clearfy_plugin_init();
96
-
97
- global $wbcr_clearfy_plugin;
98
- $wbcr_clearfy_plugin->activate();
99
- }
100
-
101
- register_activation_hook(__FILE__, 'wbcr_clearfy_plugin_activation');*/
1
  <?php
2
  /**
3
+ * Plugin Name: Webcraftic Clearfy WordPress optimization plugin
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
  */
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
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');
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
+ }
 
 
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-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
+ }
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/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-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
+ }
components/comments-plus/admin/boot.php CHANGED
@@ -7,6 +7,7 @@
7
  */
8
 
9
  require(WBCR_CMP_PLUGIN_DIR . '/admin/pages/comments.php');
 
10
 
11
  if( !defined('LOADING_COMMENTS_PLUS_AS_ADDON') ) {
12
  require(WBCR_CMP_PLUGIN_DIR . '/admin/pages/more-features.php');
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');
components/comments-plus/admin/pages/comments.php CHANGED
@@ -29,8 +29,6 @@
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
 
@@ -41,162 +39,6 @@
41
  : __('General', 'comments-plus');
42
  }
43
 
44
- /**
45
- * We register notifications for some actions
46
- * @param $notices
47
- * @return array
48
- */
49
- public function actionsNotice($notices, $plugin)
50
- {
51
- global $wbcr_comments_plus_plugin;
52
-
53
- if( $wbcr_comments_plus_plugin->pluginName != $plugin->pluginName ) {
54
- return $notices;
55
- }
56
-
57
- $notices[] = array(
58
- 'conditions' => array(
59
- 'wbcr_cmp_clear_comments' => 1
60
- ),
61
- 'type' => 'success',
62
- 'message' => __('All comments have been deleted.', 'factory_pages_324')
63
- );
64
-
65
- $notices[] = array(
66
- 'conditions' => array(
67
- 'wbcr_cmp_clear_comments_error' => 1,
68
- 'wbcr_cmp_code' => 'interal_error'
69
- ),
70
- 'type' => 'danger',
71
- 'message' => __('An error occurred while trying to delete comments. Internal error occured. Please try again later.', 'factory_pages_324')
72
- );
73
-
74
- return $notices;
75
- }
76
-
77
- public function clearCommentsAction()
78
- {
79
- global $wpdb;
80
- $comments_type = isset($_GET['wbcr_cmp_comments_type'])
81
- ? sanitize_text_field($_GET['wbcr_cmp_comments_type'])
82
- : null;
83
-
84
- if( empty($comments_type) ) {
85
- wp_die(__('You are not allowed to view this page.', 'comments-plus'));
86
- }
87
-
88
- $get_all_selected_types = $this->getOption('disable_comments_for_post_types');
89
- $post_types = explode(',', $get_all_selected_types);
90
-
91
- $sql = "SELECT count(comment_id) from $wpdb->comments";
92
-
93
- if( $comments_type == 'certain_post_types' ) {
94
- if( empty($post_types) ) {
95
- wp_die(__('You do not have the selected post types!', 'comments-plus'));
96
- }
97
-
98
- $post_types_str = '';
99
- foreach($post_types as $type_name) {
100
- $post_types_str .= "'" . $type_name . "',";
101
- }
102
- $post_types_str = rtrim($post_types_str, ',');
103
-
104
- $sql = "SELECT SUM(comment_count) from $wpdb->posts WHERE post_type in ($post_types_str)";
105
- }
106
-
107
- $comments_count = $wpdb->get_var($sql);
108
-
109
- if( $comments_count <= 0 ) {
110
- wp_die(__('No comments available for deletion.', 'comments-plus'));
111
- }
112
-
113
- if( $comments_type == 'all' ) {
114
- $this->confirmPageTemplate(array(
115
- 'title' => __('Are you sure that you desire to delete all comments from the database?', 'comments-plus'),
116
- 'description' => __('Deleting comments will remove existing comment entries in the database and cannot be reverted without a database backup.', 'comments-plus'),
117
- 'hint' => sprintf(__('You have %s comments', 'comments-plus'), $comments_count),
118
- 'actions' => array(
119
- 'onp_confirm' => array(
120
- 'class' => 'btn btn-danger',
121
- 'title' => __("Yes, I'm sure", 'comments-plus'),
122
- 'url' => $this->getActionUrl('clearComments', array(
123
- 'wbcr_cmp_comments_type' => 'all',
124
- 'wbcr_cmp_confirmed' => true
125
- ))
126
- ),
127
- 'onp_cancel' => array(
128
- 'class' => 'btn btn-default',
129
- 'title' => __("No, return back", 'comments-plus'),
130
- 'url' => $this->getActionUrl('index')
131
- ),
132
- )
133
- ));
134
-
135
- if( isset($_GET['wbcr_cmp_confirmed']) ) {
136
- if( $wpdb->query("TRUNCATE $wpdb->commentmeta") != false ) {
137
- if( $wpdb->query("TRUNCATE $wpdb->comments") != false ) {
138
- $wpdb->query("UPDATE $wpdb->posts SET comment_count = 0 WHERE post_author != 0");
139
- $wpdb->query("OPTIMIZE TABLE $wpdb->commentmeta");
140
- $wpdb->query("OPTIMIZE TABLE $wpdb->comments");
141
-
142
- $this->redirectToAction('index', array(
143
- 'wbcr_cmp_clear_comments' => '1'
144
- ));
145
- } else {
146
- $this->redirectToAction('index', array(
147
- 'wbcr_cmp_clear_comments_error' => '1',
148
- 'wbcr_cmp_code' => 'interal_error',
149
- ));
150
- }
151
- } else {
152
- $this->redirectToAction('index', array(
153
- 'wbcr_cmp_clear_comments_error' => '1',
154
- 'wbcr_cmp_code' => 'interal_error',
155
- ));
156
- }
157
- }
158
-
159
- return;
160
- }
161
-
162
- $this->confirmPageTemplate(array(
163
- 'title' => sprintf(__('Are you sure that you desire to delete all comments from the database for the selected post types (%s)?', 'comments-plus'), implode(',', $post_types)),
164
- 'description' => __('Deleting comments will remove existing comment entries in the database and cannot be reverted without a database backup.', 'comments-plus'),
165
- 'hint' => sprintf(__('You have %s comments', 'comments-plus'), $comments_count),
166
- 'actions' => array(
167
- 'onp_confirm' => array(
168
- 'class' => 'btn btn-danger',
169
- 'title' => __("Yes, I'm sure", 'comments-plus'),
170
- 'url' => $this->getActionUrl('clearComments', array(
171
- 'wbcr_cmp_comments_type' => 'certain_post_types',
172
- 'wbcr_cmp_confirmed' => true
173
- ))
174
- ),
175
- 'onp_cancel' => array(
176
- 'class' => 'btn btn-default',
177
- 'title' => __("No, return back", 'comments-plus'),
178
- 'url' => $this->getActionUrl('index')
179
- ),
180
- )
181
- ));
182
-
183
- if( isset($_GET['wbcr_cmp_confirmed']) ) {
184
- // Loop through post_types and remove comments/meta and set posts comment_count to 0
185
- foreach($post_types as $delete_post_type) {
186
- $wpdb->query("DELETE cmeta FROM $wpdb->commentmeta cmeta INNER JOIN $wpdb->comments comments ON cmeta.comment_id=comments.comment_ID INNER JOIN $wpdb->posts posts ON comments.comment_post_ID=posts.ID WHERE posts.post_type = '$delete_post_type'");
187
- $wpdb->query("DELETE comments FROM $wpdb->comments comments INNER JOIN $wpdb->posts posts ON comments.comment_post_ID=posts.ID WHERE posts.post_type = '$delete_post_type'");
188
- $wpdb->query("UPDATE $wpdb->posts SET comment_count = 0 WHERE post_author != 0 AND post_type = '$delete_post_type'");
189
- }
190
-
191
- $wpdb->query("OPTIMIZE TABLE $wpdb->commentmeta");
192
- $wpdb->query("OPTIMIZE TABLE $wpdb->comments");
193
-
194
- $this->redirectToAction('index', array(
195
- 'wbcr_cmp_clear_comments' => '1'
196
- ));
197
- }
198
- }
199
-
200
 
201
  /**
202
  * Permalinks options.
@@ -223,12 +65,12 @@
223
  array(
224
  'disable_comments',
225
  __('Everywhere', 'comments-plus'),
226
- sprintf(__('You can delete all comments in the database by clicking on this link (<a href="%s">cleaning comments in database</a>).', 'comments-plus'), $this->getActionUrl('clearComments', array('wbcr_cmp_comments_type' => 'all')))
227
  ),
228
  array(
229
  'disable_certain_post_types_comments',
230
  __('On certain post types', 'comments-plus'),
231
- 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'), $this->getActionUrl('clearComments', array('wbcr_cmp_comments_type' => 'certain_post_types')))
232
  )
233
  ),
234
  'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
29
  $this->addLinkToPluginActions = true;
30
  }
31
 
 
 
32
  parent::__construct($plugin);
33
  }
34
 
39
  : __('General', 'comments-plus');
40
  }
41
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
42
 
43
  /**
44
  * Permalinks options.
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'),
components/comments-plus/admin/pages/delete-comments.php ADDED
@@ -0,0 +1,329 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * The page Settings.
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
18
+ */
19
+ public $id = "delete_comments";
20
+ public $type = "page";
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
+ }
32
+
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(
50
+ 'wbcr_cmp_clear_comments' => 1
51
+ ),
52
+ 'type' => 'success',
53
+ 'message' => __('All comments have been deleted.', 'comments-plus')
54
+ );
55
+
56
+ $notices[] = array(
57
+ 'conditions' => array(
58
+ 'wbcr_cmp_clear_comments_error' => 1,
59
+ 'wbcr_cmp_code' => 'interal_error'
60
+ ),
61
+ 'type' => 'danger',
62
+ 'message' => __('An error occurred while trying to delete comments. Internal error occured. Please try again later.', 'comments-plus')
63
+ );
64
+
65
+ return $notices;
66
+ }
67
+
68
+ /**
69
+ * Prints the content of the page
70
+ *
71
+ * @see libs\factory\pages\themplates\FactoryPages324_ImpressiveThemplate
72
+ */
73
+ public function showPageContent()
74
+ {
75
+ global $wpdb;
76
+
77
+ $stat_data = $wpdb->get_results("SELECT count(*) as total_comments,
78
+ SUM(comment_type='order_note') as order_notes_count,
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
86
+ FROM $wpdb->posts
87
+ GROUP BY post_type");
88
+
89
+ $types = get_post_types(array('public' => true), 'objects');
90
+
91
+ $post_types = array();
92
+ foreach((array)$types as $type_name => $type) {
93
+ $comments_count = 0;
94
+ if( !empty($stat_data_by_post_type) ) {
95
+ foreach((array)$stat_data_by_post_type as $post_type_stat_value) {
96
+ if( $post_type_stat_value->post_type == $type_name ) {
97
+ $comments_count = $post_type_stat_value->type_comments_count;
98
+ }
99
+ }
100
+ }
101
+
102
+ $post_types[$type_name] = array('label' => $type->label, 'comments_count' => $comments_count);
103
+ }
104
+
105
+ ?>
106
+ <script>
107
+ /**
108
+ * Select all types by one click.
109
+ */
110
+ jQuery(document).ready(function($) {
111
+ var allTypesCheckbox = $('#wbcr-cmp-all-types-checkbox');
112
+ allTypesCheckbox.click(function() {
113
+ $('.wbcr-cmp-post-type-checkbox').prop("checked", $(this).prop("checked"));
114
+ });
115
+
116
+ $('.wbcr-cmp-post-type-checkbox').click(function() {
117
+ if( !$(this).prop("checked") ) {
118
+ allTypesCheckbox.prop("checked", false);
119
+ }
120
+ });
121
+
122
+ $('.wbcr-cmp-delete-comments-button').click(function() {
123
+ var confrimDelete = confirm('<?php _e('Are you sure you want to delete comments from the database without restoring?', 'comments-plus'); ?>');
124
+
125
+ if( !confrimDelete ) {
126
+ return false;
127
+ }
128
+
129
+ $(this).submit();
130
+ });
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>
138
+
139
+ <p><strong><?php _e('Choose post types', 'comments-plus'); ?></strong>
140
+
141
+ <div style="height:150px; width:400px; padding:10px 10px 0; background: #fff; border:1px solid #ccc; overflow-y: scroll; overflow-x:hidden;">
142
+ <p>
143
+ <label>
144
+ <input type="checkbox" id="wbcr-cmp-all-types-checkbox" name="wbcr_cmp_post_type[]" value="all" checked/> <?php _e('Select all', 'comments-plus'); ?>
145
+ </label>
146
+ </p>
147
+ <?php foreach((array)$post_types as $key => $type): ?>
148
+ <p>
149
+ <label>
150
+ <input type="checkbox" class="wbcr-cmp-post-type-checkbox" name="wbcr_cmp_post_type[]" value="<?= esc_attr($key) ?>" checked/> <?= $type['label'] ?>
151
+ (<?= $type['comments_count'] ?>)
152
+ </label>
153
+ </p>
154
+ <?php endforeach; ?>
155
+ </div>
156
+
157
+ <?php if( class_exists('WooCommerce') ): ?>
158
+ <p style="margin:15px 0 0">
159
+ <label>
160
+ <input type="checkbox" name="wbcr_cmp_delete_order_notes" value="1"/> <?php printf(__('Delete Woocommerce order notices? (%d)', 'comments-plus'), $stat_data[0]->order_notes_count); ?>
161
+ </label>
162
+ </p>
163
+ <?php endif; ?>
164
+ <p style="margin-top:15px;">
165
+ <input type="submit" name="wbcr_cmp_delete_all" class="button button-default wbcr-cmp-delete-comments-button" value="<?php printf(__('Delete (%d)', 'comments-plus'), $stat_data[0]->total_comments); ?>">
166
+ </p>
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
+
196
+ /**
197
+ * This action deletes all comments from the database without restoring.
198
+ */
199
+ public function deleteAllCommentsAction()
200
+ {
201
+ global $wpdb;
202
+ check_admin_referer($this->getResultId() . '_delete_all_comments');
203
+
204
+ if( isset($_POST['wbcr_cmp_delete_all']) ) {
205
+ $post_types = $this->request->post('wbcr_cmp_post_type', array(), true);
206
+ $delete_order_notes = $this->request->post('wbcr_cmp_delete_order_notes', false, 'intval');
207
+
208
+ if( empty($post_types) || in_array('all', $post_types) ) {
209
+ if( $wpdb->query("TRUNCATE $wpdb->commentmeta") != false ) {
210
+ $delete_all_sql = "TRUNCATE $wpdb->comments";
211
+
212
+ if( class_exists('WooCommerce') ) {
213
+ if( !$delete_order_notes ) {
214
+ $delete_all_sql = "DELETE FROM $wpdb->comments WHERE comment_type != 'order_note'";
215
+ }
216
+ }
217
+ if( $wpdb->query($delete_all_sql) != false ) {
218
+ $wpdb->query("UPDATE $wpdb->posts SET comment_count = 0 WHERE post_author != 0");
219
+ $wpdb->query("OPTIMIZE TABLE $wpdb->commentmeta");
220
+ $wpdb->query("OPTIMIZE TABLE $wpdb->comments");
221
+
222
+ $this->redirectToAction('index', array(
223
+ 'wbcr_cmp_clear_comments' => '1'
224
+ ));
225
+ } else {
226
+ $this->redirectToAction('index', array(
227
+ 'wbcr_cmp_clear_comments_error' => '1',
228
+ 'wbcr_cmp_code' => 'interal_error',
229
+ ));
230
+ }
231
+ } else {
232
+ $this->redirectToAction('index', array(
233
+ 'wbcr_cmp_clear_comments_error' => '1',
234
+ 'wbcr_cmp_code' => 'interal_error',
235
+ ));
236
+ }
237
+ } else {
238
+
239
+ // Loop through post_types and remove comments/meta and set posts comment_count to 0
240
+ foreach($post_types as $delete_post_type) {
241
+ $wpdb->query("DELETE cmeta FROM $wpdb->commentmeta cmeta INNER JOIN $wpdb->comments comments ON cmeta.comment_id=comments.comment_ID INNER JOIN $wpdb->posts posts ON comments.comment_post_ID=posts.ID WHERE posts.post_type = '$delete_post_type'");
242
+
243
+ $delete_certain_sql = "DELETE comments FROM $wpdb->comments comments INNER JOIN $wpdb->posts posts ON comments.comment_post_ID=posts.ID WHERE posts.post_type = '$delete_post_type'";
244
+
245
+ if( class_exists('WooCommerce') ) {
246
+ if( !$delete_order_notes ) {
247
+ $delete_certain_sql .= " and comment_type != 'order_note'";
248
+ }
249
+ }
250
+
251
+ $wpdb->query($delete_certain_sql);
252
+ $wpdb->query("UPDATE $wpdb->posts SET comment_count = 0 WHERE post_author != 0 AND post_type = '$delete_post_type'");
253
+ }
254
+
255
+ $wpdb->query("OPTIMIZE TABLE $wpdb->commentmeta");
256
+ $wpdb->query("OPTIMIZE TABLE $wpdb->comments");
257
+
258
+ $this->redirectToAction('index', array(
259
+ 'wbcr_cmp_clear_comments' => '1'
260
+ ));
261
+ }
262
+ }
263
+
264
+ $this->redirectToAction('index');
265
+ }
266
+
267
+ /**
268
+ * The basic function of deleting comments.
269
+ *
270
+ * @param int|string $type
271
+ */
272
+ public function deleteComments($type = 0)
273
+ {
274
+ global $wpdb;
275
+
276
+ if( in_array($type, array('spam', 'trash', 0)) ) {
277
+ $wpdb->query("DELETE cmeta
278
+ FROM $wpdb->commentmeta cmeta
279
+ INNER JOIN $wpdb->comments comments ON cmeta.comment_id=comments.comment_ID
280
+ WHERE comment_approved='{$type}'");
281
+
282
+ if( $wpdb->query("DELETE FROM $wpdb->comments WHERE comment_approved='{$type}'") ) {
283
+ $wpdb->query("OPTIMIZE TABLE $wpdb->comments");
284
+ $wpdb->query("OPTIMIZE TABLE $wpdb->commentmeta");
285
+
286
+ $this->redirectToAction('index', array(
287
+ 'wbcr_cmp_clear_comments' => '1'
288
+ ));
289
+ } else {
290
+ $this->redirectToAction('index', array(
291
+ 'wbcr_cmp_clear_comments_error' => '1',
292
+ 'wbcr_cmp_code' => 'interal_error',
293
+ ));
294
+ }
295
+ }
296
+ }
297
+
298
+ /**
299
+ * This action deletes spam comments
300
+ */
301
+ public function deleteSpamCommentsAction()
302
+ {
303
+ check_admin_referer($this->getResultId() . '_delete_spam_comments');
304
+
305
+ $this->deleteComments('spam');
306
+ }
307
+
308
+ /**
309
+ * This action deletes unaproved comments
310
+ */
311
+ public function deleteUnaprovedCommentsAction()
312
+ {
313
+ check_admin_referer($this->getResultId() . '_delete_unaproved_comments');
314
+
315
+ $this->deleteComments();
316
+ }
317
+
318
+ /**
319
+ * This action deletes trash comments
320
+ */
321
+ public function deleteTrashCommentsAction()
322
+ {
323
+ check_admin_referer($this->getResultId() . '_delete_trash_comments');
324
+
325
+ $this->deleteComments('trash');
326
+ }
327
+ }
328
+
329
+ FactoryPages324::register($wbcr_comments_plus_plugin, 'WbcrCmp_DeleteCommentsPage');
components/comments-plus/comments-plus.php CHANGED
@@ -4,7 +4,7 @@
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.5
8
  * Text Domain: comments-plus
9
  * Domain Path: /languages/
10
  */
@@ -52,7 +52,7 @@
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.5',
56
  'host' => 'wordpress.org',
57
  'url' => 'https://wordpress.org/plugins/comments-plus/',
58
  'assembly' => 'free',
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
  */
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',
components/comments-plus/includes/classes/class.configurate-comments.php CHANGED
@@ -200,8 +200,14 @@
200
  $disabled_post_types = $this->getDisabledPostTypes();
201
  if( get_current_screen()->id == 'options-discussion' && !empty($disabled_post_types) ) {
202
  $names = array();
203
- foreach($disabled_post_types as $type)
204
- $names[$type] = get_post_type_object($type)->labels->name;
 
 
 
 
 
 
205
  ?>
206
  <script>
207
  jQuery(document).ready(function($) {
200
  $disabled_post_types = $this->getDisabledPostTypes();
201
  if( get_current_screen()->id == 'options-discussion' && !empty($disabled_post_types) ) {
202
  $names = array();
203
+ foreach($disabled_post_types as $type) {
204
+ $type_object = get_post_type_object($type);
205
+ if( empty($type_object) ) {
206
+ continue;
207
+ }
208
+ $names[$type] = $type_object->labels->name;
209
+ }
210
+
211
  ?>
212
  <script>
213
  jQuery(document).ready(function($) {
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-01-22 00:34+0300\n"
5
- "PO-Revision-Date: 2018-01-22 00: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,118 +18,59 @@ msgstr ""
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 "Отключить комментарии на всем сайте"
24
 
25
- #: admin/boot.php:25 admin/pages/comments.php:255
26
  msgid "Select post types"
27
  msgstr "Выбрать тип записи"
28
 
29
- #: admin/boot.php:30 admin/pages/comments.php:276
30
  msgid "Replace external links in comments on the JavaScript code"
31
  msgstr "Заменить внешние ссылки в комментариях на JavaScript код"
32
 
33
- #: admin/boot.php:35 admin/pages/comments.php:286
34
  msgid "Replace external links from comment authors on the JavaScript code"
35
  msgstr "Заменить внешние ссылки от авторов комментариев на код JavaScript"
36
 
37
- #: admin/boot.php:40
38
  msgid "Disable X-Pingback"
39
  msgstr "Убрать ссылку на X-Pingback и возможность спамить pingback-ами"
40
 
41
- #: admin/boot.php:45 admin/pages/comments.php:266
42
  msgid "Remove field \"site\" in comment form"
43
  msgstr "Удаляет поле \"Сайт\" в форме комментариев"
44
 
45
- #: admin/boot.php:57
46
  msgid "One click disable all comments"
47
  msgstr "Отключить все комментарии в один клик"
48
 
49
- #: admin/boot.php:69
50
  msgid "Get ultimate plugin free"
51
  msgstr "Получите полную версию плагина бесплатно"
52
 
53
- #: admin/pages/comments.php:24 admin/pages/comments.php:220
54
  msgid "Disable comments"
55
  msgstr "Отключить комментарии"
56
 
57
- #: admin/pages/comments.php:40
58
  msgid "Comments"
59
  msgstr "Комментарии"
60
 
61
- #: admin/pages/comments.php:41
62
  msgid "General"
63
  msgstr "Основные"
64
 
65
- #: admin/pages/comments.php:62
66
- msgid "All comments have been deleted."
67
- msgstr "Все комментарии были удалены."
68
-
69
- #: admin/pages/comments.php:71
70
- msgid ""
71
- "An error occurred while trying to delete comments. Internal error occured. "
72
- "Please try again later."
73
- msgstr ""
74
- "При попытке удалить комментарии произошла ошибка. Пожалуйста, повторите "
75
- "попытку позже."
76
-
77
- #: admin/pages/comments.php:85
78
- msgid "You are not allowed to view this page."
79
- msgstr "Вам не разрешено просматривать эту страницу."
80
-
81
- #: admin/pages/comments.php:95
82
- msgid "You do not have the selected post types!"
83
- msgstr "Вы не выбрали еще ни одного типа записей!"
84
-
85
- #: admin/pages/comments.php:110
86
- msgid "No comments available for deletion."
87
- msgstr "Нет комментариев для удаления."
88
-
89
- #: admin/pages/comments.php:115
90
- msgid "Are you sure that you desire to delete all comments from the database?"
91
- msgstr "Вы уверены, что хотите удалить все комментарии из базы данных?"
92
-
93
- #: admin/pages/comments.php:116 admin/pages/comments.php:164
94
- msgid ""
95
- "Deleting comments will remove existing comment entries in the database and "
96
- "cannot be reverted without a database backup."
97
- msgstr ""
98
- "При удалении комментариев удаляются существующие записи комментариев в базе "
99
- "данных, они не могут быть восстановлены без резервного копирования базы "
100
- "данных."
101
-
102
- #: admin/pages/comments.php:117 admin/pages/comments.php:165
103
- #, php-format
104
- msgid "You have %s comments"
105
- msgstr "У вас есть %s комментариев"
106
-
107
- #: admin/pages/comments.php:121 admin/pages/comments.php:169
108
- msgid "Yes, I'm sure"
109
- msgstr "Да, я уверен"
110
-
111
- #: admin/pages/comments.php:129 admin/pages/comments.php:177
112
- msgid "No, return back"
113
- msgstr "Нет, вернуться"
114
-
115
- #: admin/pages/comments.php:163
116
- #, php-format
117
- msgid ""
118
- "Are you sure that you desire to delete all comments from the database for "
119
- "the selected post types (%s)?"
120
- msgstr ""
121
- "Вы уверены, что хотите удалить все комментарии из базы данных для выбранных "
122
- "типов записей (%s)?"
123
-
124
- #: admin/pages/comments.php:222
125
  msgid "Not disable"
126
  msgstr "Не отключать"
127
 
128
- #: admin/pages/comments.php:225
129
  msgid "Everywhere"
130
  msgstr "Повсюду"
131
 
132
- #: admin/pages/comments.php:226
133
  #, php-format
134
  msgid ""
135
  "You can delete all comments in the database by clicking on this link (<a "
@@ -138,11 +79,11 @@ msgstr ""
138
  "Вы можете удалить все комментарии в базе данных, нажав на эту ссылку ( <a "
139
  "href=\"%s\">очистка комментариев в базе данных</a> )."
140
 
141
- #: admin/pages/comments.php:230
142
  msgid "On certain post types"
143
  msgstr "Только выбранные типы записей"
144
 
145
- #: admin/pages/comments.php:231
146
  #, php-format
147
  msgid ""
148
  "You can delete all comments for the selected post types. Select the post "
@@ -153,7 +94,7 @@ msgstr ""
153
  "записей ниже и сохраните настройки. После этого нажмите ссылку ( <a href=\"%s"
154
  "\">удалите все комментарии для выбранных типов записей в базе данных</a> )."
155
 
156
- #: admin/pages/comments.php:235
157
  msgid ""
158
  "Everywhere - Warning: This option is global and will affect your entire "
159
  "site. Use it only if you want to disable comments everywhere. A complete "
@@ -163,7 +104,7 @@ msgstr ""
163
  "весь ваш сайт. Используйте его только в том случае, если вы хотите отключить "
164
  "комментарии повсюду. "
165
 
166
- #: admin/pages/comments.php:235
167
  msgid ""
168
  "On certain post types - Disabling comments will also disable trackbacks and "
169
  "pingbacks. All comment-related fields will also be hidden from the edit/"
@@ -175,11 +116,11 @@ msgstr ""
175
  "от экранов редактирования / быстрого редактирования затронутых сообщений. "
176
  "Эти настройки нельзя переопределять для отдельных сообщений."
177
 
178
- #: admin/pages/comments.php:258
179
  msgid "Select the post types for which comments will be disabled"
180
  msgstr "Выберите типы записей, для которых комментарии будут отключены."
181
 
182
- #: admin/pages/comments.php:268
183
  msgid ""
184
  "Tired of spam in the comments? Do visitors leave \"blank\" comments for the "
185
  "sake of a link to their site?"
@@ -187,11 +128,11 @@ msgstr ""
187
  "Надоел спам в комментариях? Посетители оставляют «пустые» комментарии ради "
188
  "ссылки на свой сайт?"
189
 
190
- #: admin/pages/comments.php:268
191
  msgid "Removes the \"Site\" field from the comment form."
192
  msgstr "Убирает поле «Сайт» из формы комментирования."
193
 
194
- #: admin/pages/comments.php:268
195
  msgid ""
196
  "Works with the standard comment form, if the form is manually written in "
197
  "your theme-it probably will not work!"
@@ -199,12 +140,12 @@ msgstr ""
199
  "Работает со стандартной формой комментирования, если в Вашей теме форма "
200
  "прописана вручную - скорей всего не сработает!"
201
 
202
- #: admin/pages/comments.php:276 admin/pages/comments.php:286
203
- #: admin/pages/comments.php:296
204
  msgid "Recommended"
205
  msgstr "Рекомендовано"
206
 
207
- #: admin/pages/comments.php:278
208
  msgid ""
209
  "Superfluous external links from comments, which can be typed from a dozen "
210
  "and more for one article, do not bring anything good for promotion."
@@ -212,14 +153,14 @@ msgstr ""
212
  "Внешние ссылки в комментариях, которых может быть десятки или больше на "
213
  "одной странице, могут ухудшить продвижение вашего сайта."
214
 
215
- #: admin/pages/comments.php:278
216
  #, php-format
217
  msgid "Replaces the links of this kind of %s, on links of this kind %s"
218
  msgstr ""
219
  "Заменяет ссылки %s, на span тег и устанавливает переход с помощью JavaScript "
220
  "%s"
221
 
222
- #: admin/pages/comments.php:288
223
  msgid ""
224
  "Up to 90 percent of comments in the blog can be left for the sake of an "
225
  "external link. Even nofollow from page weight loss here does not help."
@@ -227,7 +168,7 @@ msgstr ""
227
  "До 90 процентов комментариев в блоге оставляют ради внешней ссылки. Не "
228
  "поможет даже nofollow от потери веса страницы."
229
 
230
- #: admin/pages/comments.php:288
231
  msgid ""
232
  "Replaces the links of the authors of comments on the JavaScript code, it is "
233
  "impossible to distinguish it from usual links."
@@ -235,15 +176,15 @@ msgstr ""
235
  "Заменяет ссылки авторов комментариев на JavaScript код, его невозможно "
236
  "отличить от обычной ссылки."
237
 
238
- #: admin/pages/comments.php:288
239
  msgid "In some Wordpress topics this may not work."
240
  msgstr "В некоторых темах Wordpress это может не сработать."
241
 
242
- #: admin/pages/comments.php:296
243
  msgid "Disable XML-RPC"
244
  msgstr "Отключить XML-RPC"
245
 
246
- #: admin/pages/comments.php:298
247
  msgid ""
248
  "A pingback is basically an automated comment that gets created when another "
249
  "blog links to you. A self-pingback is created when you link to an article "
@@ -255,10 +196,88 @@ msgstr ""
255
  "оставили ссылку на статью в своем блоге. Pingbacks по существу являются не "
256
  "более чем спам и пустая трата ресурсов вашего сайта."
257
 
258
- #: admin/pages/comments.php:298
259
  msgid "Removes the server responses a reference to the xmlrpc file."
260
  msgstr "Удаляет ссылку на xmlrpc-файл и ответ сервера."
261
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
262
  #: comments-plus.php:17
263
  msgid ""
264
  "We found that you have the \"Clearfy - disable unused features\" plugin "
@@ -274,11 +293,11 @@ msgid "Webcraftic Disable comments"
274
  msgstr "Webcraftic отключить комментарии"
275
 
276
  #: includes/classes/class.configurate-comments.php:174
277
- #: includes/classes/class.configurate-comments.php:220
278
  msgid "Comments are closed."
279
  msgstr "Комментарии Закрыты."
280
 
281
- #: includes/classes/class.configurate-comments.php:208
282
  #, php-format
283
  msgid ""
284
  "Note: The <em>%s</em> plugin is currently active, and comments are "
@@ -289,6 +308,43 @@ msgstr ""
289
  "полностью отключены: %s. Многие из приведенных ниже настроек не будут "
290
  "применяться для этих типов сообщений."
291
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
292
  #~ msgid "Webcraftic comments tweaks"
293
  #~ msgstr "Webcraftic инструменты комментариев"
294
 
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
  "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
  "Вы можете удалить все комментарии в базе данных, нажав на эту ссылку ( <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
  "записей ниже и сохраните настройки. После этого нажмите ссылку ( <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
  "весь ваш сайт. Используйте его только в том случае, если вы хотите отключить "
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
  "от экранов редактирования / быстрого редактирования затронутых сообщений. "
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
  "Надоел спам в комментариях? Посетители оставляют «пустые» комментарии ради "
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
  "Работает со стандартной формой комментирования, если в Вашей теме форма "
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
  "Внешние ссылки в комментариях, которых может быть десятки или больше на "
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
  "До 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
  "Заменяет ссылки авторов комментариев на 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
  "оставили ссылку на статью в своем блоге. 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."
215
+ 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 "
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
  "полностью отключены: %s. Многие из приведенных ниже настроек не будут "
309
  "применяться для этих типов сообщений."
310
 
311
+ #~ msgid "You are not allowed to view this page."
312
+ #~ msgstr "Вам не разрешено просматривать эту страницу."
313
+
314
+ #~ msgid "You do not have the selected post types!"
315
+ #~ msgstr "Вы не выбрали еще ни одного типа записей!"
316
+
317
+ #~ msgid "No comments available for deletion."
318
+ #~ msgstr "Нет комментариев для удаления."
319
+
320
+ #~ msgid ""
321
+ #~ "Are you sure that you desire to delete all comments from the database?"
322
+ #~ msgstr "Вы уверены, что хотите удалить все комментарии из базы данных?"
323
+
324
+ #~ msgid ""
325
+ #~ "Deleting comments will remove existing comment entries in the database "
326
+ #~ "and cannot be reverted without a database backup."
327
+ #~ msgstr ""
328
+ #~ "При удалении комментариев удаляются существующие записи комментариев в "
329
+ #~ "базе данных, они не могут быть восстановлены без резервного копирования "
330
+ #~ "базы данных."
331
+
332
+ #~ msgid "You have %s comments"
333
+ #~ msgstr "У вас есть %s комментариев"
334
+
335
+ #~ msgid "Yes, I'm sure"
336
+ #~ msgstr "Да, я уверен"
337
+
338
+ #~ msgid "No, return back"
339
+ #~ msgstr "Нет, вернуться"
340
+
341
+ #~ msgid ""
342
+ #~ "Are you sure that you desire to delete all comments from the database for "
343
+ #~ "the selected post types (%s)?"
344
+ #~ msgstr ""
345
+ #~ "Вы уверены, что хотите удалить все комментарии из базы данных для "
346
+ #~ "выбранных типов записей (%s)?"
347
+
348
  #~ msgid "Webcraftic comments tweaks"
349
  #~ msgstr "Webcraftic инструменты комментариев"
350
 
components/disable-admin-notices/admin/ajax/hide-notice.php CHANGED
@@ -6,13 +6,13 @@
6
  * @version 1.0
7
  */
8
 
9
- function wbcr_clearfy_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('manage_options') ) {
16
  echo json_encode(array('error' => __('You don\'t have enough capability to edit this information.', 'disable-admin-notices')));
17
  exit;
18
  }
@@ -22,11 +22,7 @@
22
  : null;
23
 
24
  $notice_html = isset($_POST['notice_html'])
25
- ? wp_kses($_POST['notice_html'], array(
26
- 'a' => array(
27
- 'href' => array()
28
- )
29
- ))
30
  : null;
31
 
32
  if( empty($notice_id) ) {
@@ -48,4 +44,4 @@
48
  exit;
49
  }
50
 
51
- add_action('wp_ajax_wbcr_clearfy_hide_notices', 'wbcr_clearfy_ajax_hide_notices');
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')));
17
  exit;
18
  }
22
  : null;
23
 
24
  $notice_html = isset($_POST['notice_html'])
25
+ ? wp_kses($_POST['notice_html'], array())
 
 
 
 
26
  : null;
27
 
28
  if( empty($notice_id) ) {
44
  exit;
45
  }
46
 
47
+ add_action('wp_ajax_wbcr_dan_hide_notices', 'wbcr_dan_ajax_hide_notices');
components/disable-admin-notices/admin/ajax/restore-notice.php ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Restore notice
4
+ * @author Webcraftic <wordpress.webraftic@gmail.com>
5
+ * @copyright (c) 12.01.2018, Webcraftic
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')));
17
+ exit;
18
+ }
19
+
20
+ $notice_id = isset($_POST['notice_id'])
21
+ ? sanitize_text_field($_POST['notice_id'])
22
+ : null;
23
+
24
+ if( empty($notice_id) ) {
25
+ echo json_encode(array('error' => __('Undefinded notice id.', 'disable-admin-notices')));
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;
39
+ }
40
+
41
+ add_action('wp_ajax_wbcr_dan_restore_notice', 'wbcr_dan_ajax_restore_notice');
components/disable-admin-notices/admin/assets/css/notifications-panel.css CHANGED
@@ -1,49 +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 #32373c;
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 .ab-item {
37
- height: 100% !important;
38
- white-space: normal !important;
39
- padding: .5em 1em;
40
- border-bottom: 1px solid #4a4f55;
41
- line-height: .5em;
42
- }
43
- #wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .ab-item a {
44
- display: inline;
45
- padding: 0;
46
- margin: 0;
47
- text-decoration: underline;
48
- line-height: .5em;
49
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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/css/notifications-panel.less CHANGED
@@ -5,6 +5,7 @@
5
  */
6
 
7
  #wp-admin-bar-wbcr-han-notify-panel {
 
8
  .wbcr-han-adminbar-counter {
9
  background-color: #0073aa;
10
  border-radius: 50%;
@@ -25,24 +26,37 @@
25
  padding: 0;
26
 
27
  & > li {
28
- border-left: 4px solid #32373c;
29
  padding: 0;
30
 
31
  &.wpnc-updated {
32
  border-left-color: #7ad03a;
33
  }
34
  &.wpnc-update-nag {
35
- border-left-color: #ffba00;;
36
  }
37
  &.wpnc-error {
38
  border-left-color: #dd3d36;
39
  }
40
 
 
 
 
 
 
 
 
 
 
 
 
 
41
  .ab-item {
42
  height: 100% !important;
43
  white-space: normal !important;
44
  padding: .5em 1em;
45
  border-bottom: 1px solid #4a4f55;
 
46
  line-height: .5em;
47
  a {
48
  display: inline;
@@ -50,9 +64,13 @@
50
  margin: 0;
51
  text-decoration: underline;
52
  line-height: .5em;
 
53
  }
54
  }
 
55
 
 
 
56
  }
57
  }
58
  }
5
  */
6
 
7
  #wp-admin-bar-wbcr-han-notify-panel {
8
+
9
  .wbcr-han-adminbar-counter {
10
  background-color: #0073aa;
11
  border-radius: 50%;
26
  padding: 0;
27
 
28
  & > li {
29
+ border-left: 4px solid #26292b;
30
  padding: 0;
31
 
32
  &.wpnc-updated {
33
  border-left-color: #7ad03a;
34
  }
35
  &.wpnc-update-nag {
36
+ border-left-color: #ffba00;
37
  }
38
  &.wpnc-error {
39
  border-left-color: #dd3d36;
40
  }
41
 
42
+ .wbcr-han-panel-restore-notify-line {
43
+ text-align: right;
44
+ a {
45
+ color: #ffba00 !important;
46
+ text-decoration: none !important;
47
+ &:hover {
48
+ text-decoration: underline !important;
49
+ color: lighten(#ffba00, 5%) !important;
50
+ }
51
+ }
52
+ }
53
+
54
  .ab-item {
55
  height: 100% !important;
56
  white-space: normal !important;
57
  padding: .5em 1em;
58
  border-bottom: 1px solid #4a4f55;
59
+ color: #949494;
60
  line-height: .5em;
61
  a {
62
  display: inline;
64
  margin: 0;
65
  text-decoration: underline;
66
  line-height: .5em;
67
+ color: #949494;
68
  }
69
  }
70
+ }
71
 
72
+ li:nth-child(2n) {
73
+ background: #26292b;
74
  }
75
  }
76
  }
components/disable-admin-notices/admin/assets/js/general.js DELETED
@@ -1,203 +0,0 @@
1
- /**
2
- * General
3
- * @author Webcraftic <wordpress.webraftic@gmail.com>
4
- * @copyright (c) 10.09.2017, Webcraftic
5
- * @version 1.0
6
- */
7
-
8
-
9
- (function($) {
10
- 'use strict';
11
-
12
- var general = {
13
- init: function() {
14
- this.qickStartAssistent();
15
- this.importOptions();
16
- },
17
- qickStartAssistent: function() {
18
- var self = this;
19
-
20
- $('.wbcr-clearfy-switch').click(function() {
21
-
22
- var modeName = $(this).data('mode'),
23
- modeOptions = $(this).data('mode-options');
24
-
25
- self.showConfirmationPopup(modeName, modeOptions);
26
- return false;
27
- });
28
-
29
- $('.wbcr-clearfy-popup-button-cancel').click(function() {
30
- self.hideConfirmationPopup();
31
- });
32
-
33
- $('.wbcr-clearfy-cancel-mode').click(function() {
34
- var $this = $(this), modeName = $(this).closest('.wbcr-clearfy-switch').data('mode'),
35
- switcher = $(this).closest('.wbcr-clearfy-switch');
36
-
37
- switcher.addClass('wbcr-clearfy-loading');
38
-
39
- self.sendRequest({
40
- action: 'wbcr_clearfy_configurate',
41
- mode: modeName,
42
- cancel_mode: true
43
- }, function(data) {
44
- switcher.removeClass('wbcr-clearfy-loading');
45
-
46
- if( data && data.export_options ) {
47
- $('#wbcr-clearfy-import-export').html(data.export_options);
48
- }
49
- },
50
- function() {
51
- if( modeName != 'reset' ) {
52
- switcher.removeClass('wbcr-clearfy-active');
53
- }
54
- });
55
- return false;
56
- });
57
-
58
- $('.wbcr-clearfy-popup-button-ok').click(function() {
59
- var $this = $(this), modeName = $(this).closest('.wbcr-clearfy-confirm-popup').data('mode'),
60
- switcher = $('div[data-mode="' + modeName + '"]', '#wbcr-clearfy-quick-mode-board');
61
-
62
- self.hideConfirmationPopup();
63
- switcher.addClass('wbcr-clearfy-loading');
64
-
65
- self.sendRequest({
66
- action: 'wbcr_clearfy_configurate',
67
- mode: modeName
68
- }, function(data) {
69
- switcher.removeClass('wbcr-clearfy-loading');
70
-
71
- if( data && data.export_options ) {
72
- $('#wbcr-clearfy-import-export').html(data.export_options);
73
- }
74
- },
75
- function() {
76
- if( modeName != 'reset' ) {
77
- switcher.addClass('wbcr-clearfy-active');
78
- return;
79
- }
80
-
81
- $('.wbcr-clearfy-switch').removeClass('wbcr-clearfy-active');
82
- });
83
-
84
- return false;
85
- });
86
- },
87
-
88
- showConfirmationPopup: function(modeName, options) {
89
- var self = this;
90
-
91
- $('.wbcr-clearfy-layer').fadeIn();
92
-
93
- var popupElem = $('.wbcr-clearfy-confirm-popup');
94
- popupElem.data('mode', modeName);
95
- popupElem.fadeIn();
96
-
97
- if( modeName != 'reset' ) {
98
- var printOptTitles = '';
99
-
100
- if( options ) {
101
- for( var opt in options ) {
102
- if( !options.hasOwnProperty(opt) ) {
103
- continue;
104
- }
105
- printOptTitles += '<li>' + options[opt] + '</li>';
106
-
107
- }
108
- $('.wbcr-clearfy-list-options').html(printOptTitles);
109
- popupElem.addClass('wbcr-clearfy-default-warning-options');
110
- }
111
- return;
112
- }
113
-
114
- popupElem.addClass('wbcr-clearfy-reset-warning-options');
115
- },
116
-
117
- hideConfirmationPopup: function() {
118
- $('.wbcr-clearfy-layer').fadeOut(100);
119
- var popupElem = $('.wbcr-clearfy-confirm-popup');
120
-
121
- popupElem.fadeOut(100, function() {
122
- popupElem.removeClass('wbcr-clearfy-default-warning-options');
123
- popupElem.removeClass('wbcr-clearfy-reset-warning-options');
124
- });
125
-
126
- },
127
-
128
- importOptions: function() {
129
- var self = this;
130
-
131
- $('.wbcr-clearfy-import-options-button').click(function() {
132
- var settings = $('#wbcr-clearfy-import-export').val(),
133
- $this = $(this);
134
-
135
- if( !settings ) {
136
- return;
137
- }
138
-
139
- $(this).prop('disabled', true);
140
-
141
- self.sendRequest({
142
- action: 'wbcr_clearfy_import_settings',
143
- settings: settings
144
- }, function(data) {
145
- //console.log(data);
146
- $this.prop('disabled', false);
147
- });
148
-
149
- return false;
150
- });
151
- },
152
- sendRequest: function(data, beforeValidateCallback, successCallback) {
153
-
154
- var errorContanier = $('.wbcr-clearfy-switch-error-message'),
155
- defaultErrorMessage = errorContanier.text();
156
-
157
- if( wbcr_clearfy_ajax === undefined ) {
158
- console.log('Undefinded wbcr_clearfy_ajax object.');
159
- return;
160
- }
161
-
162
- var ajaxUrl = wbcr_clearfy_ajax ? wbcr_clearfy_ajax.ajaxurl : ajaxurl;
163
-
164
- if( typeof data === 'object' ) {
165
- data.security = wbcr_clearfy_ajax.ajax_nonce;
166
- }
167
-
168
- $.ajax(ajaxurl, {
169
- type: 'post',
170
- dataType: 'json',
171
- data: data,
172
- success: function(data, textStatus, jqXHR) {
173
-
174
- beforeValidateCallback && beforeValidateCallback(data);
175
-
176
- if( !data || data.error ) {
177
- if( data ) {
178
- console.log(data.error);
179
- if( !errorContanier.is(':visible') ) {
180
- errorContanier.html(defaultErrorMessage + '<br>' + data.error);
181
- }
182
- }
183
-
184
- if( !errorContanier.is(':visible') ) {
185
- errorContanier.fadeIn(600).delay(10000).fadeOut(600);
186
- }
187
- return;
188
- }
189
-
190
- successCallback && successCallback();
191
-
192
- $('.wbcr-clearfy-switch-success-message').fadeIn(600).delay(3000).fadeOut(600);
193
-
194
- }
195
- });
196
- }
197
- };
198
-
199
- $(document).ready(function() {
200
- general.init();
201
- });
202
-
203
- })(jQuery);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
components/disable-admin-notices/admin/assets/js/notifications-panel.js ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Notification panel
3
+ * @author Webcraftic <wordpress.webraftic@gmail.com>
4
+ * @copyright (c) 10.09.2017, Webcraftic
5
+ * @version 1.0
6
+ */
7
+
8
+ (function($) {
9
+ 'use strict';
10
+
11
+ $(document).ready(function() {
12
+ $(document).on('click', '.wbcr-han-panel-restore-notify-link', function() {
13
+ var self = $(this),
14
+ noticeID = $(this).data('notice-id'),
15
+ counterEl = $('.wbcr-han-adminbar-counter');
16
+
17
+ if( !noticeID ) {
18
+ alert('Undefinded error. Please report the bug to our support forum.');
19
+ }
20
+
21
+ self.closest('li').hide();
22
+
23
+ $.ajax(ajaxurl, {
24
+ type: 'post',
25
+ dataType: 'json',
26
+ data: {
27
+ action: 'wbcr_dan_restore_notice',
28
+ security: wbcr_dan_ajax_restore_nonce,
29
+ notice_id: noticeID
30
+ },
31
+ success: function(data, textStatus, jqXHR) {
32
+ if( data == 'error' && data.error ) {
33
+ alert(data.error);
34
+ self.closest('li').show();
35
+ return;
36
+ }
37
+
38
+ counterEl.text(counterEl.text() - 1);
39
+ self.closest('li').remove();
40
+ }
41
+ });
42
+ });
43
+ });
44
+ })(jQuery);
components/disable-admin-notices/admin/boot.php CHANGED
@@ -13,10 +13,14 @@
13
  require(WBCR_DAN_PLUGIN_DIR . '/admin/pages/notices.php');
14
  }
15
 
16
- if( isset($_REQUEST['action']) && $_REQUEST['action'] == 'wbcr_clearfy_hide_notices' ) {
17
  require(WBCR_DAN_PLUGIN_DIR . '/admin/ajax/hide-notice.php');
18
  }
19
 
 
 
 
 
20
  function wbcr_dan_rating_widget_url($page_url, $plugin_name)
21
  {
22
  if( $plugin_name == 'wbcr_dan' ) {
@@ -41,11 +45,12 @@
41
  'title' => __('Enable hidden notices in adminbar', 'disable-admin-notices'),
42
  'tags' => array()
43
  );
44
- $options[] = array(
 
45
  'name' => 'hidden_notices',
46
  'title' => __('Hidden notices', 'disable-admin-notices'),
47
  'tags' => array()
48
- );
49
 
50
  return $options;
51
  }
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' ) {
45
  'title' => __('Enable hidden notices in adminbar', 'disable-admin-notices'),
46
  'tags' => array()
47
  );
48
+
49
+ /*$options[] = array(
50
  'name' => 'hidden_notices',
51
  'title' => __('Hidden notices', 'disable-admin-notices'),
52
  'tags' => array()
53
+ );*/
54
 
55
  return $options;
56
  }
components/disable-admin-notices/admin/options.php CHANGED
@@ -42,7 +42,7 @@
42
  __('Do not hide notices and do not show “Hide notification forever” link for admin.', 'disable-admin-notices')
43
  )
44
  ),
45
- 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
46
  'hint' => __('Some plugins shows notifications about premium version, data collecting or promote their services. Even if you push close button (that sometimes are impossible), notices are shows again in some time. This option allows you to control notices. Hide them all or each individually. Some plugins shows notifications about premium version, data collecting or promote their services. Even if you push close button (that sometimes are impossible), notices are shows again in some time. This option allows you to control notices. Hide them all or each individually.', 'disable-admin-notices'),
47
  'default' => 'only_selected',
48
  'events' => array(
@@ -65,7 +65,7 @@
65
  'way' => 'buttons',
66
  'name' => 'show_notices_in_adminbar',
67
  'title' => __('Enable hidden notices in adminbar', 'disable-admin-notices'),
68
- 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
69
  'hint' => __('By default, the plugin hides all notices, which you specified. If you enable this option, the plugin will collect all hidden notices and show them into the top admin toolbar. It will not disturb you but will allow to look notices at your convenience.', 'disable-admin-notices'),
70
  'default' => false
71
  );
42
  __('Do not hide notices and do not show “Hide notification forever” link for admin.', 'disable-admin-notices')
43
  )
44
  ),
45
+ 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'green'),
46
  'hint' => __('Some plugins shows notifications about premium version, data collecting or promote their services. Even if you push close button (that sometimes are impossible), notices are shows again in some time. This option allows you to control notices. Hide them all or each individually. Some plugins shows notifications about premium version, data collecting or promote their services. Even if you push close button (that sometimes are impossible), notices are shows again in some time. This option allows you to control notices. Hide them all or each individually.', 'disable-admin-notices'),
47
  'default' => 'only_selected',
48
  'events' => array(
65
  'way' => 'buttons',
66
  'name' => 'show_notices_in_adminbar',
67
  'title' => __('Enable hidden notices in adminbar', 'disable-admin-notices'),
68
+ 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'green'),
69
  'hint' => __('By default, the plugin hides all notices, which you specified. If you enable this option, the plugin will collect all hidden notices and show them into the top admin toolbar. It will not disturb you but will allow to look notices at your convenience.', 'disable-admin-notices'),
70
  'default' => false
71
  );
components/disable-admin-notices/disable-admin-notices.php CHANGED
@@ -4,7 +4,7 @@
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.2
8
  * Text Domain: disable-admin-notices
9
  * Domain Path: /languages/
10
  */
@@ -52,7 +52,7 @@
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.0',
56
  'host' => 'wordpress.org',
57
  'url' => 'https://wordpress.org/plugins/disable-admin-notices/',
58
  'assembly' => 'free',
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
  */
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',
components/disable-admin-notices/includes/classes/class.configurate-notices.php CHANGED
@@ -23,19 +23,41 @@
23
  add_action('admin_bar_menu', array($this, 'notificationsPanel'), 999);
24
  add_action('admin_enqueue_scripts', array($this, 'notificationsPanelStyles'));
25
  }
 
 
26
  }
27
  }
28
  }
29
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30
  public function notificationsPanelStyles()
31
  {
32
  global $wbcr_dan_plugin;
33
- wp_enqueue_style('wpcm_admin', WBCR_DAN_PLUGIN_URL . '/admin/assets/css/notifications-panel.css', array(), $wbcr_dan_plugin->version);
 
34
  }
35
 
36
  public function notificationsPanel(&$wp_admin_bar)
37
  {
38
- global $wbcr_dan_plugin;
 
 
39
 
40
  $notifications = $this->getOption('hidden_notices');
41
 
@@ -56,11 +78,14 @@
56
  // loop
57
  if( !empty($notifications) ) {
58
  $i = 0;
59
- foreach($notifications as $notification) {
 
 
 
60
  $wp_admin_bar->add_menu(array(
61
  'id' => 'wbcr-han-notify-panel-item-' . $i,
62
  'parent' => 'wbcr-han-notify-panel',
63
- 'title' => $notification,
64
  'href' => false,
65
  'meta' => array(
66
  'class' => ''
@@ -72,11 +97,6 @@
72
  }
73
  }
74
 
75
- public function printNotices()
76
- {
77
- add_action('admin_notices', array($this, 'noticesCollection'));
78
- }
79
-
80
  public function noticesCollection()
81
  {
82
  global $wbcr_dan_plugin_all_notices;
@@ -85,18 +105,19 @@
85
  return;
86
  }
87
  ?>
 
88
  <style>
89
- .wbcr-clearfy-hide-notices {
90
  position: relative;
91
  padding: 5px 5px 0;
92
  background: #fff;
93
  }
94
 
95
- .wbcr-clearfy-hide-notices > div {
96
  margin: 0 !important;
97
  }
98
 
99
- .wbcr-clearfy-hide-notice-link {
100
  display: block;
101
  text-align: right;
102
  margin: 5px 0 5px 5px;
@@ -104,47 +125,51 @@
104
  color: #F44336;
105
  }
106
 
107
- .is-dismissible .wbcr-clearfy-hide-notice-link {
108
  margin-right: -30px;
109
  }
110
 
111
- .wbcr-clearfy-hide-notice-link:active, .wbcr-clearfy-hide-notice-link:focus {
112
  box-shadow: none;
113
  outline: none;
114
  }
115
  </style>
116
- <script>
117
- var wbcr_clearfy_ajax_nonce = "<?=wp_create_nonce($this->plugin->pluginName . '_ajax_hide_notices_nonce')?>";
118
- var wbcr_clearfy_ajax_url = "<?=admin_url('admin-ajax.php')?>";
119
 
120
- jQuery(function() {
121
- jQuery(document).on('click', '.wbcr-clearfy-hide-notice-link', function() {
122
- var self = jQuery(this),
123
- noticeID = jQuery(this).data('notice-id'),
124
- noticeHtml = jQuery(this).closest('.wbcr-clearfy-hide-notices').clone();
 
 
 
125
 
126
- noticeHtml.find('.wbcr-clearfy-hide-notice-link').remove();
127
 
128
  if( !noticeID ) {
129
  alert('Undefinded error. Please report the bug to our support forum.');
130
  }
131
 
132
- jQuery.ajax(wbcr_clearfy_ajax_url, {
 
 
133
  type: 'post',
134
  dataType: 'json',
135
  data: {
136
- action: 'wbcr_clearfy_hide_notices',
137
- security: wbcr_clearfy_ajax_nonce,
138
  notice_id: noticeID,
139
  notice_html: noticeHtml.html()
140
  },
141
  success: function(data, textStatus, jqXHR) {
142
  if( data == 'error' && data.error ) {
143
  alert(data.error);
 
 
144
  return;
145
  }
146
 
147
- self.closest('.wbcr-clearfy-hide-notices').parent().hide();
148
  }
149
  });
150
  });
@@ -166,7 +191,7 @@
166
  $get_hidden_notices = $this->getOption('hidden_notices');
167
 
168
  $content = array();
169
- foreach($wp_filter['admin_notices']->callbacks as $filters) {
170
  foreach($filters as $callback_name => $callback) {
171
 
172
  if( 'usof_hide_admin_notices_start' == $callback_name || 'usof_hide_admin_notices_end' == $callback_name ) {
@@ -192,7 +217,8 @@
192
  $uniq_id2 = md5($class_name . ':' . $method_name);
193
  }
194
  }
195
-
 
196
  if( !empty($get_hidden_notices) ) {
197
 
198
  $skip_notice = true;
@@ -214,11 +240,11 @@
214
  }
215
  }
216
 
217
- $hide_link = '<a href="#" data-notice-id="' . $uniq_id1 . '_' . $uniq_id2 . '" class="wbcr-clearfy-hide-notice-link">[' . __('Hide notification forever', 'disable-admin-notices') . ']</a>';
218
 
219
  $cont = preg_replace('/<(script|style)([^>]+)?>(.*?)<\/(script|style)>/is', '', $cont);
220
  $cont = rtrim(trim($cont));
221
- $cont = preg_replace('/^(<div[^>]+>)(.*?)(<\/div>)$/is', '$1<div class="wbcr-clearfy-hide-notices">$2' . $hide_link . '</div>$3', $cont);
222
 
223
  if( empty($cont) ) {
224
  continue;
@@ -241,4 +267,26 @@
241
  unset($wp_filter['all_admin_notices']);
242
  }
243
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
244
  }
23
  add_action('admin_bar_menu', array($this, 'notificationsPanel'), 999);
24
  add_action('admin_enqueue_scripts', array($this, 'notificationsPanelStyles'));
25
  }
26
+
27
+ add_action('admin_head', array($this, 'printNonce'), 999);
28
  }
29
  }
30
  }
31
 
32
+ public function printNotices()
33
+ {
34
+ add_action('admin_notices', array($this, 'noticesCollection'));
35
+ }
36
+
37
+ public function printNonce()
38
+ {
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
+ }
47
+
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
 
62
  $notifications = $this->getOption('hidden_notices');
63
 
78
  // loop
79
  if( !empty($notifications) ) {
80
  $i = 0;
81
+ foreach($notifications as $notice_id => $message) {
82
+ $message = $this->getExcerpt(stripslashes($message), 0, 350);
83
+ $message .= '<div class="wbcr-han-panel-restore-notify-line"><a href="#" data-notice-id="' . esc_attr($notice_id) . '" class="wbcr-han-panel-restore-notify-link">' . __('Restore notice', 'clearfy') . '</a></div>';
84
+
85
  $wp_admin_bar->add_menu(array(
86
  'id' => 'wbcr-han-notify-panel-item-' . $i,
87
  'parent' => 'wbcr-han-notify-panel',
88
+ 'title' => $message,
89
  'href' => false,
90
  'meta' => array(
91
  'class' => ''
97
  }
98
  }
99
 
 
 
 
 
 
100
  public function noticesCollection()
101
  {
102
  global $wbcr_dan_plugin_all_notices;
105
  return;
106
  }
107
  ?>
108
+ <!-- Disable admin notices plugin (Clearfy tools) -->
109
  <style>
110
+ .wbcr-dan-hide-notices {
111
  position: relative;
112
  padding: 5px 5px 0;
113
  background: #fff;
114
  }
115
 
116
+ .wbcr-dan-hide-notices > div {
117
  margin: 0 !important;
118
  }
119
 
120
+ .wbcr-dan-hide-notice-link {
121
  display: block;
122
  text-align: right;
123
  margin: 5px 0 5px 5px;
125
  color: #F44336;
126
  }
127
 
128
+ .is-dismissible .wbcr-dan-hide-notice-link {
129
  margin-right: -30px;
130
  }
131
 
132
+ .wbcr-dan-hide-notice-link:active, .wbcr-dan-hide-notice-link:focus {
133
  box-shadow: none;
134
  outline: none;
135
  }
136
  </style>
 
 
 
137
 
138
+ <!-- Disable admin notices plugin (Clearfy tools) -->
139
+ <script>
140
+ jQuery(document).ready(function($) {
141
+ $(document).on('click', '.wbcr-dan-hide-notice-link', function() {
142
+ var self = $(this),
143
+ noticeID = self.data('notice-id'),
144
+ noticeHtml = self.closest('.wbcr-dan-hide-notices').clone(),
145
+ contanierEl = self.closest('.wbcr-dan-hide-notices').parent();
146
 
147
+ noticeHtml.find('.wbcr-dan-hide-notice-link').remove();
148
 
149
  if( !noticeID ) {
150
  alert('Undefinded error. Please report the bug to our support forum.');
151
  }
152
 
153
+ contanierEl.hide();
154
+
155
+ $.ajax(ajaxurl, {
156
  type: 'post',
157
  dataType: 'json',
158
  data: {
159
+ action: 'wbcr_dan_hide_notices',
160
+ security: wbcr_dan_ajax_hide_notice_nonce,
161
  notice_id: noticeID,
162
  notice_html: noticeHtml.html()
163
  },
164
  success: function(data, textStatus, jqXHR) {
165
  if( data == 'error' && data.error ) {
166
  alert(data.error);
167
+
168
+ contanierEl.show();
169
  return;
170
  }
171
 
172
+ contanierEl.remove();
173
  }
174
  });
175
  });
191
  $get_hidden_notices = $this->getOption('hidden_notices');
192
 
193
  $content = array();
194
+ foreach((array)$wp_filter['admin_notices']->callbacks as $filters) {
195
  foreach($filters as $callback_name => $callback) {
196
 
197
  if( 'usof_hide_admin_notices_start' == $callback_name || 'usof_hide_admin_notices_end' == $callback_name ) {
217
  $uniq_id2 = md5($class_name . ':' . $method_name);
218
  }
219
  }
220
+ //838339d1a188e17fec838c2df3058603
221
+ //838339d1a188e17fec838c2df3058603
222
  if( !empty($get_hidden_notices) ) {
223
 
224
  $skip_notice = true;
240
  }
241
  }
242
 
243
+ $hide_link = '<a href="#" data-notice-id="' . $uniq_id1 . '_' . $uniq_id2 . '" class="wbcr-dan-hide-notice-link">[' . __('Hide notification forever', 'disable-admin-notices') . ']</a>';
244
 
245
  $cont = preg_replace('/<(script|style)([^>]+)?>(.*?)<\/(script|style)>/is', '', $cont);
246
  $cont = rtrim(trim($cont));
247
+ $cont = preg_replace('/^(<div[^>]+>)(.*?)(<\/div>)$/is', '$1<div class="wbcr-dan-hide-notices">$2' . $hide_link . '</div>$3', $cont);
248
 
249
  if( empty($cont) ) {
250
  continue;
267
  unset($wp_filter['all_admin_notices']);
268
  }
269
  }
270
+
271
+ /**
272
+ * Get excerpt from string
273
+ *
274
+ * @param String $str String to get an excerpt from
275
+ * @param Integer $startPos Position int string to start excerpt from
276
+ * @param Integer $maxLength Maximum length the excerpt may be
277
+ * @return String excerpt
278
+ */
279
+ function getExcerpt($str, $startPos = 0, $maxLength = 100)
280
+ {
281
+ if( strlen($str) > $maxLength ) {
282
+ $excerpt = substr($str, $startPos, $maxLength - 3);
283
+ $lastSpace = strrpos($excerpt, ' ');
284
+ $excerpt = substr($excerpt, 0, $lastSpace);
285
+ $excerpt .= '...';
286
+ } else {
287
+ $excerpt = $str;
288
+ }
289
+
290
+ return $excerpt;
291
+ }
292
  }
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-01-21 23:48+0300\n"
5
- "PO-Revision-Date: 2018-01-21 23: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,31 +18,27 @@ msgstr ""
18
  "X-Poedit-SearchPath-0: .\n"
19
  "X-Poedit-SearchPathExcluded-0: libs\n"
20
 
21
- #: admin/ajax/hide-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
26
  msgid "Undefinded notice id."
27
  msgstr "Не передан notice id."
28
 
29
- #: admin/ajax/hide-notice.php:47
30
  msgid "Success"
31
  msgstr "Успешно"
32
 
33
- #: admin/boot.php:37 admin/options.php:27 admin/pages/notices.php:24
34
  msgid "Hide admin notices"
35
  msgstr "Скрыть уведомления"
36
 
37
- #: admin/boot.php:43 admin/options.php:67
38
  msgid "Enable hidden notices in adminbar"
39
  msgstr "Включить уведомления в админбаре"
40
 
41
- #: admin/boot.php:48
42
- msgid "Hidden notices"
43
- msgstr "Скрытые уведомления"
44
-
45
- #: admin/boot.php:58
46
  msgid "Get ultimate plugin free"
47
  msgstr "Получите полную версию плагина бесплатно"
48
 
@@ -165,15 +161,22 @@ msgstr ""
165
  msgid "Webcraftic disable admin notices"
166
  msgstr "Webcraftic отключить уведомления администратора"
167
 
168
- #: includes/classes/class.configurate-notices.php:52
169
  #, php-format
170
  msgid "Notifications %s"
171
  msgstr "Уведомления %s"
172
 
173
- #: includes/classes/class.configurate-notices.php:217
 
 
 
 
174
  msgid "Hide notification forever"
175
  msgstr "Скрыть уведомление навсегда"
176
 
 
 
 
177
  #~ msgid "Disable comments on the entire site"
178
  #~ msgstr "Отключить комментарии на всем сайте"
179
 
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
  "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
 
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
 
177
+ #~ msgid "Hidden notices"
178
+ #~ msgstr "Скрытые уведомления"
179
+
180
  #~ msgid "Disable comments on the entire site"
181
  #~ msgstr "Отключить комментарии на всем сайте"
182
 
components/disable-admin-notices/readme.txt CHANGED
@@ -52,5 +52,13 @@ 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.0 =
56
  * Plugin release
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
58
+
59
+ = 1.0.2 =
60
+ * Updated styles for the “Hide notification forever” link
61
+ * Compatibility with plugins from webcraftic is updated
62
+
63
  = 1.0.0 =
64
  * Plugin release
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/pages/advanced.php CHANGED
@@ -22,12 +22,16 @@
22
 
23
  public $page_parent_page = 'updates';
24
 
25
- public $page_menu_dashicon = 'dashicons-cloud';
26
 
27
  public function __construct(Factory326_Plugin $plugin)
28
  {
29
  $this->menuTitle = __('Advanced', 'webcraftic-updates-manager');
30
 
 
 
 
 
31
  parent::__construct($plugin);
32
  }
33
 
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
 
components/updates-manager/admin/pages/plugins.php CHANGED
@@ -22,7 +22,7 @@
22
 
23
  public $page_parent_page = 'updates';
24
 
25
- public $page_menu_dashicon = 'dashicons-cloud';
26
 
27
  private $is_disable_updates;
28
  private $is_auto_updates;
@@ -32,6 +32,10 @@
32
  {
33
  $this->menuTitle = __('Plugins', 'webcraftic-updates-manager');
34
 
 
 
 
 
35
  parent::__construct($plugin);
36
 
37
  $updates_mode = $this->getOption('plugin_updates');
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;
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
 
41
  $updates_mode = $this->getOption('plugin_updates');
components/updates-manager/includes/classes/class.configurate-updates.php CHANGED
@@ -18,7 +18,7 @@
18
 
19
  switch( $this->getOption('plugin_updates') ) {
20
  case 'disable_plugin_updates':
21
- add_filter('site_transient_update_plugins', '__return_false', 50);
22
  add_action('admin_init', array($this, 'adminInitForPlugins'));
23
  add_filter('auto_update_plugin', '__return_false');
24
  break;
@@ -38,7 +38,7 @@
38
 
39
  switch( $this->getOption('theme_updates') ) {
40
  case 'disable_theme_updates':
41
- add_filter('site_transient_update_themes', '__return_false', 50);
42
  add_action('admin_init', array($this, 'adminInitForThemes'));
43
  add_filter('auto_update_theme', '__return_false');
44
  break;
18
 
19
  switch( $this->getOption('plugin_updates') ) {
20
  case 'disable_plugin_updates':
21
+ add_filter('site_transient_update_plugins', array($this, 'lastCheckedNow'), 50);
22
  add_action('admin_init', array($this, 'adminInitForPlugins'));
23
  add_filter('auto_update_plugin', '__return_false');
24
  break;
38
 
39
  switch( $this->getOption('theme_updates') ) {
40
  case 'disable_theme_updates':
41
+ add_filter('site_transient_update_themes', array($this, 'lastCheckedNow'), 50);
42
  add_action('admin_init', array($this, 'adminInitForThemes'));
43
  add_filter('auto_update_theme', '__return_false');
44
  break;
components/updates-manager/readme.txt CHANGED
@@ -39,6 +39,15 @@ Some functions are taken from the following popular plugins <strong>Easy Updates
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
  == Installation ==
43
  This section describes how to install the plugin and get it working.
44
 
@@ -47,12 +56,23 @@ This section describes how to install the plugin and get it working.
47
  3. Use the Settings->Webcrfatic update manager screen to configure the plugin
48
 
49
  == Screenshots ==
50
- 1. Control panel
 
51
 
52
  == Changelog ==
 
 
 
 
 
 
 
 
 
53
  = 1.0.1 =
54
  * Fixed bug whith update core
55
  * Update core
56
  * Add french translation
 
57
  = 1.0.0 =
58
  * Plugin release
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.
53
 
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
75
  * Add french translation
76
+
77
  = 1.0.0 =
78
  * Plugin release
components/updates-manager/webcraftic-updates-manager.php CHANGED
@@ -4,7 +4,7 @@
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.1
8
  * Text Domain: webcraftic-updates-manager
9
  * Domain Path: /languages/
10
  */
@@ -52,7 +52,7 @@
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.1',
56
  'host' => 'wordpress.org',
57
  'url' => 'https://wordpress.org/plugins/webcraftic-updates-manager/',
58
  'assembly' => 'free',
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
  */
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',
includes/classes/class.configurate-advanced.php CHANGED
@@ -10,9 +10,9 @@
10
 
11
  public function registerActionsAndFilters()
12
  {
13
- if( $this->getOption('revision_limit') || $this->getOption('revisions_disable') ) {
14
- add_filter('wp_revisions_to_keep', array($this, 'clearfyRevisionsToKeep'), 10, 2);
15
- }
16
 
17
  if( $this->getOption('disable_heartbeat') && $this->getOption('disable_heartbeat') != 'default' ) {
18
  add_action('init', array($this, 'disableHeartbeat'), 1);
@@ -22,66 +22,77 @@
22
  add_filter('heartbeat_settings', array($this, 'clearfyHeartbeatFrequency'));
23
  }
24
 
25
- if( $this->getOption('disable_post_autosave') ) {
26
- add_action('wp_print_scripts', array($this, 'disableAutoSave'));
27
- }
28
 
29
- if( $this->getOption('enable_wordpres_sanitize') ) {
30
- require_once(WBCR_CLR_PLUGIN_DIR . '/includes/classes/class.wordpress-sanitize.php');
 
 
31
 
32
- if( is_admin() || (defined('XMLRPC_REQUEST') && XMLRPC_REQUEST) ) {
33
- remove_filter('sanitize_title', 'sanitize_title_with_dashes', 11);
34
- add_filter('sanitize_title', array('Wbcr_Germanizer', 'sanitize_title_filter'), 10, 2);
35
- add_filter('sanitize_file_name', array('Wbcr_Germanizer', 'sanitize_filename_filter'), 10, 1);
36
  }
37
- }
38
 
39
- if( $this->getOption('disable_texturization') ) {
40
- remove_filter('comment_text', 'wptexturize');
41
- remove_filter('the_content', 'wptexturize');
42
- remove_filter('the_excerpt', 'wptexturize');
43
- remove_filter('the_title', 'wptexturize');
44
- remove_filter('the_content_feed', 'wptexturize');
45
- }
46
 
47
- if( $this->getOption('disable_auto_correct_dangit') ) {
48
- remove_filter('the_content', 'capital_P_dangit');
49
- remove_filter('the_title', 'capital_P_dangit');
50
- remove_filter('comment_text', 'capital_P_dangit');
51
- }
52
 
53
- if( $this->getOption('disable_auto_paragraph') ) {
54
- remove_filter('the_content', 'wpautop');
 
55
  }
56
 
57
- if( $this->getOption('replace_howdy_welcome') ) {
58
- add_filter('admin_bar_menu', array($this, 'replaceHowdyText'), 25);
59
- }
60
 
61
- if( $this->getOption('disable_admin_bar') == 'for_all_users' ) {
62
- add_filter('show_admin_bar', '__return_false');
63
- }
 
64
 
65
- if( $this->getOption('disable_admin_bar') == 'for_all_users_except_administrator' ) {
66
- add_filter('show_admin_bar', array($this, 'removeFunctionAdminBar'));
67
- }
68
 
69
- if( $this->getOption('disable_admin_bar_logo') ) {
70
- add_action('wp_before_admin_bar_render', array($this, 'removeWpLogo'));
71
- }
72
 
73
- /*if( $this->getOption('enable_categoty_tree') ) {
74
- add_filter('wp_terms_checklist_args', array($this, 'categotyTree'));
 
75
  }
76
 
77
- if( $this->getOption('disable_selection_patent') ) {
78
- // https://wordpress.stackexchange.com/questions/22836/make-parent-categories-not-selectable/58525#58525
 
79
 
80
- add_action('admin_footer-post.php', array($this, 'removeTopCategoriesCheckbox'));
81
- add_action('admin_footer-post-new.php', array($this, 'removeTopCategoriesCheckbox'));
82
- }*/
 
 
 
83
 
84
- add_action('widgets_init', array($this, 'unregisterDefaultWidgets'), 11);
 
 
 
 
 
85
  }
86
 
87
  // unregister all widgets
@@ -192,55 +203,6 @@
192
  wp_deregister_script('autosave');
193
  }
194
 
195
-
196
- /*public function removeTopCategoriesCheckbox()
197
- {
198
- global $post_type;
199
-
200
- if( 'post' != $post_type ) {
201
- return;
202
- }
203
- ?>
204
- <script type="text/javascript">
205
- jQuery("#categorychecklist>li>label input").each(function() {
206
- jQuery(this).remove();
207
- });
208
- </script>
209
- <?php
210
- }
211
-
212
- public function categotyTree()
213
- {
214
- add_action('admin_footer', array($this, 'printCategotyTreeScripts'));
215
-
216
- $args['checked_ontop'] = false;
217
-
218
- return $args;
219
- }
220
-
221
- public function printCategotyTreeScripts()
222
- {
223
- ?>
224
- <script type="text/javascript">
225
- jQuery(function() {
226
- jQuery('[id$="-all"] > ul.categorychecklist').each(function() {
227
- var $list = jQuery(this);
228
- var $firstChecked = $list.find(':checkbox:checked').first();
229
-
230
- if( !$firstChecked.length ) {
231
- return;
232
- }
233
-
234
- var pos_first = $list.find(':checkbox').position().top;
235
- var pos_checked = $firstChecked.position().top;
236
-
237
- $list.closest('.tabs-panel').scrollTop(pos_checked - pos_first + 5);
238
- });
239
- });
240
- </script>
241
- <?php
242
- }*/
243
-
244
  public function replaceHowdyText($wp_admin_bar)
245
  {
246
  $my_account = $wp_admin_bar->get_node('my-account');
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);
22
  add_filter('heartbeat_settings', array($this, 'clearfyHeartbeatFrequency'));
23
  }
24
 
25
+ //============================================================
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
 
38
+ if( $this->getOption('disable_texturization') ) {
39
+ remove_filter('comment_text', 'wptexturize');
40
+ remove_filter('the_content', 'wptexturize');
41
+ remove_filter('the_excerpt', 'wptexturize');
42
+ remove_filter('the_title', 'wptexturize');
43
+ remove_filter('the_content_feed', 'wptexturize');
44
+ }
45
 
46
+ if( $this->getOption('disable_auto_correct_dangit') ) {
47
+ remove_filter('the_content', 'capital_P_dangit');
48
+ remove_filter('the_title', 'capital_P_dangit');
49
+ remove_filter('comment_text', 'capital_P_dangit');
50
+ }
51
 
52
+ if( $this->getOption('disable_auto_paragraph') ) {
53
+ remove_filter('the_content', 'wpautop');
54
+ }
55
  }
56
 
57
+ //============================================================
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
+ }
65
 
66
+ if( $this->getOption('disable_admin_bar') == 'for_all_users' ) {
67
+ add_filter('show_admin_bar', '__return_false', 999999);
68
+ }
69
 
70
+ if( $this->getOption('disable_admin_bar') == 'for_all_users_except_administrator' ) {
71
+ add_filter('show_admin_bar', array($this, 'removeFunctionAdminBar'));
72
+ }
73
 
74
+ if( $this->getOption('disable_admin_bar_logo') ) {
75
+ add_action('wp_before_admin_bar_render', array($this, 'removeWpLogo'));
76
+ }
77
  }
78
 
79
+ //============================================================
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
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');
includes/classes/class.configurate-code-clean.php CHANGED
@@ -336,6 +336,6 @@
336
 
337
  public function removeHtmlCommentsMain($data)
338
  {
339
- return preg_replace('#<!--(?!<!)[^\[>].*?-->#s', '', $data);
340
  }
341
  }
336
 
337
  public function removeHtmlCommentsMain($data)
338
  {
339
+ return preg_replace('#<!--(?!<!|\s?ngg_resource)[^\[>].*?-->#s', '', $data);
340
  }
341
  }
includes/classes/class.configurate-security.php CHANGED
@@ -25,8 +25,12 @@
25
  * @return string
26
  */
27
 
28
- public function changeLoginErrors()
29
  {
 
 
 
 
30
  return __('<strong>ERROR</strong>: Wrong login or password', 'clearfy');
31
  }
32
 
25
  * @return string
26
  */
27
 
28
+ public function changeLoginErrors($errors)
29
  {
30
+ if( !in_array($GLOBALS['pagenow'], array('wp-login.php')) ) {
31
+ return $errors;
32
+ }
33
+
34
  return __('<strong>ERROR</strong>: Wrong login or password', 'clearfy');
35
  }
36
 
includes/classes/class.configurate-seo.php CHANGED
@@ -10,58 +10,67 @@
10
 
11
  public function registerActionsAndFilters()
12
  {
 
13
 
14
- if( $this->getOption('content_image_auto_alt') ) {
15
- add_filter('the_content', array($this, 'contentImageAutoAlt'));
16
- }
17
 
18
- if( $this->getOption('right_robots_txt') ) {
19
- add_filter('robots_txt', array($this, 'rightRobotsTxt'));
20
- }
 
 
 
 
 
21
 
22
- if( $this->getOption('remove_last_item_breadcrumb_yoast') ) {
23
- add_filter('wpseo_breadcrumb_single_link', array($this, 'removeLastItemBreadcrumbYoast'));
24
- }
25
-
26
- if( $this->getOption('attachment_pages_redirect') ) {
27
- add_action('template_redirect', array($this, 'attachmentPagesRedirect'));
28
- }
29
-
30
- if( $this->getOption('remove_single_pagination_duplicate') ) {
31
- add_action('template_redirect', array($this, 'removeSinglePaginationDuplicate'));
32
- }
33
-
34
- if( $this->getOption('set_last_modified_headers') ) {
35
- add_action('template_redirect', array($this, 'setLastModifiedHeaders'));
36
- add_action('wp_logout', array($this, 'lastModifedFlushCookie'));
37
- }
38
 
39
- if( $this->getOption('yoast_remove_image_from_xml_sitemap') ) {
40
- $this->yoastRemoveImageFromXmlSitemap();
41
- }
42
-
43
- if( $this->getOption('yoast_remove_head_comment') ) {
44
- add_action('init', array($this, 'yoastRemoveHeadComment'));
45
- }
46
 
47
- if( $this->getOption('remove_replytocom') ) {
48
- add_action('template_redirect', array($this, 'removeReplytocomRedirect'), 1);
49
- add_filter('comment_reply_link', array($this, 'removeReplytocomLink'));
50
- }
 
 
 
51
 
52
- //if( $this->getOption('redirect_from_http_to_https') ) {
53
- //add_action('init', array($this, 'redirectFromHttpToHttps'));
54
- //}
 
55
 
56
- if( $this->getOption('yoast_remove_json_ld_search') ) {
57
- add_filter('disable_wpseo_json_ld_search', '__return_true');
58
  }
59
 
60
- if( $this->getOption('yoast_remove_json_ld_output') ) {
61
- add_filter('wpseo_json_ld_output', array($this, 'removeYoastJson'), 10, 1);
 
 
 
62
  }
63
 
64
- add_action('wp', array($this, 'redirectArchives'));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
65
  }
66
 
67
  public function removeYoastJson($data)
@@ -77,29 +86,61 @@
77
  * @param $content
78
  * @return mixed
79
  */
80
-
81
  public function contentImageAutoAlt($content)
82
  {
83
-
84
  global $post;
85
-
 
 
 
 
86
  $pattern = array(' alt=""', ' alt=\'\'');
87
-
88
  $replacement = array(
89
  ' alt="' . esc_attr($post->post_title) . '"',
90
  ' alt=\'' . esc_attr($post->post_title) . '\''
91
  );
92
-
93
  $content = str_replace($pattern, $replacement, $content);
94
-
95
  return $content;
96
  }
97
 
98
  /**
99
- * Add directories to virtual robots.txt file
100
-
 
 
 
101
  */
 
 
 
 
102
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
103
  public function rightRobotsTxt($output)
104
  {
105
  if( $this->getOption('robots_txt_text') ) {
@@ -111,10 +152,10 @@
111
 
112
  /**
113
  * Remove last item from breadcrumbs SEO by YOAST
114
- * http://www.wpdiv.com/remove-post-title-yoast-seo-plugin-breadcrumb/
115
-
 
116
  */
117
-
118
  public function removeLastItemBreadcrumbYoast($link_output)
119
  {
120
 
@@ -171,7 +212,7 @@
171
 
172
  public function yoastRemoveHeadComment()
173
  {
174
- if( defined('WPSEO_VERSION') && !is_admin() ) {
175
  add_action('get_header', array($this, 'yoastRemoveHeadCommentStart'));
176
  add_action('wp_head', array($this, 'yoastRemoveHeadCommentEnd'), 999);
177
  }
@@ -200,7 +241,7 @@
200
  {
201
 
202
  if( $this->getOption('redirect_archives_author') ) {
203
- if( is_author() && !is_admin() ) {
204
  wp_redirect(home_url(), 301);
205
 
206
  die();
@@ -208,7 +249,7 @@
208
  }
209
 
210
  if( $this->getOption('redirect_archives_date') ) {
211
- if( is_date() && !is_admin() ) {
212
  wp_redirect(home_url(), 301);
213
 
214
  die();
@@ -216,7 +257,7 @@
216
  }
217
 
218
  if( $this->getOption('redirect_archives_tag') ) {
219
- if( is_tag() && !is_admin() ) {
220
  wp_redirect(home_url(), 301);
221
 
222
  die();
@@ -283,7 +324,7 @@
283
  public function setLastModifiedHeaders()
284
  {
285
  //todo: Fix bug, stop last modidifed headers for logged users
286
- if( is_user_logged_in() && (defined('DOING_AJAX') && DOING_AJAX) || (defined('XMLRPC_REQUEST') && XMLRPC_REQUEST) || (defined('REST_REQUEST') && REST_REQUEST) || (is_admin()) ) {
287
  return;
288
  }
289
 
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'));
20
+ add_filter('wp_get_attachment_image_attributes', array(
21
+ $this,
22
+ 'changeAttachementImageAttributes'
23
+ ), 20, 2);
24
+ }
25
 
26
+ if( $this->getOption('right_robots_txt') ) {
27
+ add_filter('robots_txt', array($this, 'rightRobotsTxt'), 9999);
28
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
29
 
30
+ if( $this->getOption('remove_last_item_breadcrumb_yoast') ) {
31
+ add_filter('wpseo_breadcrumb_single_link', array($this, 'removeLastItemBreadcrumbYoast'));
32
+ }
 
 
 
 
33
 
34
+ if( $this->getOption('attachment_pages_redirect') ) {
35
+ add_action('template_redirect', array($this, 'attachmentPagesRedirect'));
36
+ }
37
+
38
+ if( $this->getOption('remove_single_pagination_duplicate') ) {
39
+ add_action('template_redirect', array($this, 'removeSinglePaginationDuplicate'));
40
+ }
41
 
42
+ if( $this->getOption('remove_replytocom') ) {
43
+ add_action('template_redirect', array($this, 'removeReplytocomRedirect'), 1);
44
+ add_filter('comment_reply_link', array($this, 'removeReplytocomLink'));
45
+ }
46
 
47
+ add_action('wp', array($this, 'redirectArchives'));
 
48
  }
49
 
50
+ if( $this->getOption('set_last_modified_headers') ) {
51
+ if( !is_admin() ) {
52
+ add_action('template_redirect', array($this, 'setLastModifiedHeaders'));
53
+ }
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');
61
+ }
62
+
63
+ if( $this->getOption('yoast_remove_json_ld_output') ) {
64
+ add_filter('wpseo_json_ld_output', array($this, 'removeYoastJson'), 10, 1);
65
+ }
66
+ if( $this->getOption('yoast_remove_head_comment') ) {
67
+ add_action('init', array($this, 'yoastRemoveHeadComment'));
68
+ }
69
+ }
70
+ if( $this->getOption('yoast_remove_image_from_xml_sitemap') ) {
71
+ $this->yoastRemoveImageFromXmlSitemap();
72
+ }
73
+ }
74
  }
75
 
76
  public function removeYoastJson($data)
86
  * @param $content
87
  * @return mixed
88
  */
89
+
90
  public function contentImageAutoAlt($content)
91
  {
 
92
  global $post;
93
+
94
+ if( empty($post) ) {
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
  }
109
 
110
  /**
111
+ * Setting attributes for post thumnails
112
+ *
113
+ * @param $attr
114
+ * @param $attachment
115
+ * @return mixed
116
  */
117
+ public function changeAttachementImageAttributes($attr, $attachment)
118
+ {
119
+ // Get post parent
120
+ $parent = get_post_field('post_parent', $attachment);
121
 
122
+ // Get post type to check if it's product
123
+ //$type = get_post_field('post_type', $parent);
124
+
125
+ /*if( $type != 'product' ) {
126
+ return $attr;
127
+ }*/
128
+
129
+ /// Get title
130
+ $title = get_post_field('post_title', $parent);
131
+
132
+ $attr['alt'] = $title;
133
+ $attr['title'] = $title;
134
+
135
+ return $attr;
136
+ }
137
+
138
+ /**
139
+ * Add directories to virtual robots.txt file
140
+ *
141
+ * @param string $output
142
+ * @return mixed|string|void
143
+ */
144
  public function rightRobotsTxt($output)
145
  {
146
  if( $this->getOption('robots_txt_text') ) {
152
 
153
  /**
154
  * Remove last item from breadcrumbs SEO by YOAST
155
+ *
156
+ * @param $link_output
157
+ * @return string
158
  */
 
159
  public function removeLastItemBreadcrumbYoast($link_output)
160
  {
161
 
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
  }
241
  {
242
 
243
  if( $this->getOption('redirect_archives_author') ) {
244
+ if( is_author() ) {
245
  wp_redirect(home_url(), 301);
246
 
247
  die();
249
  }
250
 
251
  if( $this->getOption('redirect_archives_date') ) {
252
+ if( is_date() ) {
253
  wp_redirect(home_url(), 301);
254
 
255
  die();
257
  }
258
 
259
  if( $this->getOption('redirect_archives_tag') ) {
260
+ if( is_tag() ) {
261
  wp_redirect(home_url(), 301);
262
 
263
  die();
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
  }
330
 
includes/classes/class.wordpress-sanitize.php CHANGED
@@ -1,320 +1,320 @@
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
- }
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/functions.php CHANGED
@@ -15,11 +15,25 @@
15
  global $wpdb, $wbcr_clearfy_plugin;
16
 
17
  $export_options = array();
18
- $request = $wpdb->get_results("SELECT option_name, option_value FROM {$wpdb->prefix}options WHERE option_name LIKE '" . $wbcr_clearfy_plugin->pluginName . "_%'");
19
 
20
- if( !empty($request) ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
21
  foreach($request as $option) {
22
- $export_options[$option->option_name] = $option->option_value;
 
 
23
  }
24
  }
25
 
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
 
languages/clearfy-it_IT.po CHANGED
@@ -1,1324 +1,1324 @@
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."
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,2231 +1,2362 @@
1
- msgid ""
2
- msgstr ""
3
- "Project-Id-Version: clearfy\n"
4
- "POT-Creation-Date: 2018-01-22 13:43+0300\n"
5
- "PO-Revision-Date: 2018-01-22 13: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"
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/includes/options.php:12 admin/pages/code-clean.php:76
35
- msgid "Remove REST API Links"
36
- msgstr "Отключить Rest API"
37
-
38
- #: admin/includes/options.php:17 admin/pages/code-clean.php:86
39
- msgid "Disable Emojis"
40
- msgstr "Отключить Emojis (эмоции)"
41
-
42
- #: admin/includes/options.php:22 admin/pages/code-clean.php:116
43
- msgid "Remove dns-prefetch"
44
- msgstr "Удалить dns-prefetch"
45
-
46
- #: admin/includes/options.php:27 admin/pages/code-clean.php:125
47
- msgid "Remove RSD Link"
48
- msgstr "Удаляет RSD ссылку"
49
-
50
- #: admin/includes/options.php:32 admin/pages/code-clean.php:135
51
- msgid "Remove wlwmanifest Link"
52
- msgstr "Удалить wlwmanifest Link"
53
-
54
- #: admin/includes/options.php:37 admin/pages/code-clean.php:145
55
- msgid "Remove Shortlink"
56
- msgstr "Удалить короткие ссылки"
57
-
58
- #: admin/includes/options.php:42 admin/pages/code-clean.php:155
59
- msgid "Remove links to previous, next post"
60
- msgstr "Удалить ссылки следующая, предыдущая запись"
61
-
62
- #: admin/includes/options.php:47 admin/pages/code-clean.php:165
63
- msgid "Remove .recentcomments styles"
64
- msgstr "Удалить стили .recentcomments"
65
-
66
- #: admin/includes/options.php:52 admin/pages/seo.php:66
67
- msgid "Automatically set the alt attribute"
68
- msgstr "Автоматически устанавливать атрибут alt"
69
-
70
- #: admin/includes/options.php:57 admin/pages/seo.php:116
71
- msgid "Automatically insert the Last Modified header"
72
- msgstr "Автоматически вставлять заголовок Last Modified"
73
-
74
- #: admin/includes/options.php:62 admin/pages/seo.php:139
75
- msgid "Return an If-Modified-Since responce"
76
- msgstr "Возвращать заголовок If-Modified-Since"
77
-
78
- #: admin/includes/options.php:67 admin/pages/seo.php:152
79
- msgid "Remove duplicate names in breadcrumbs WP SEO by Yoast"
80
- msgstr "Удалить дубли имен в хлебных крошках WP SEO Yoast"
81
-
82
- #: admin/includes/options.php:72 admin/pages/seo.php:162
83
- #, php-format
84
- msgid "Remove the tag %s from XML site map"
85
- msgstr "Удаляет тег %s из XML карты сайта плагин Yoast SEO."
86
-
87
- #: admin/includes/options.php:77 admin/pages/seo.php:180
88
- msgid "Disable JSON-LD sitelinks searchbox"
89
- msgstr "Отключить ссылки JSON-LD"
90
-
91
- #: admin/includes/options.php:82 admin/pages/seo.php:190
92
- msgid "Disable Yoast Structured Data"
93
- msgstr "Отключить структурирование данных"
94
-
95
- #: admin/includes/options.php:87 admin/pages/seo.php:202
96
- #, php-format
97
- msgid "Remove comment from %s section"
98
- msgstr "Удалить комментарии из секции %s"
99
-
100
- #: admin/includes/options.php:92 admin/pages/double-pages.php:66
101
- msgid "Remove archives date"
102
- msgstr "Удалить архивы дат"
103
-
104
- #: admin/includes/options.php:97 admin/pages/double-pages.php:76
105
- msgid "Remove author archives "
106
- msgstr "Удалить архивы автора"
107
-
108
- #: admin/includes/options.php:102 admin/pages/double-pages.php:86
109
- msgid "Remove archives tag"
110
- msgstr "Удалить метки архивов"
111
-
112
- #: admin/includes/options.php:107 admin/pages/double-pages.php:96
113
- msgid "Remove attachment pages"
114
- msgstr "Удалить страницы вложений"
115
-
116
- #: admin/includes/options.php:112 admin/pages/double-pages.php:106
117
- msgid "Remove post pagination"
118
- msgstr "Удалить постраничную навигацию записей"
119
-
120
- #: admin/includes/options.php:117 admin/pages/double-pages.php:116
121
- msgid "Remove ?replytocom"
122
- msgstr "Удалить ?replytocom"
123
-
124
- #: admin/includes/options.php:122 admin/pages/privacy.php:66
125
- msgid "Remove meta generator"
126
- msgstr "Удалить meta generator"
127
-
128
- #: admin/includes/options.php:127 admin/pages/defence.php:64
129
- msgid "Hide author login"
130
- msgstr "Убрать возможность узнать логин автора"
131
-
132
- #: admin/includes/options.php:132 admin/pages/defence.php:74
133
- msgid "Hide errors when logging into the site"
134
- msgstr "Спрятать ошибки при входе на сайт"
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 "Удалить версию у файлов стилей"
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 "Удаляет версию у javascript файлов"
145
-
146
- #: admin/includes/options.php:147 admin/pages/widgets.php:44
147
- msgid "Remove the \"Pages\" widget"
148
- msgstr "Удалите виджет «Страницы»"
149
-
150
- #: admin/includes/options.php:152 admin/pages/widgets.php:53
151
- msgid "Remove calendar widget"
152
- msgstr "Удалить виджет календаря"
153
-
154
- #: admin/includes/options.php:157 admin/pages/widgets.php:62
155
- msgid "Remove the \"Cloud of tags\" widget"
156
- msgstr "Удалите виджет «Облако тегов»"
157
-
158
- #: admin/includes/options.php:162 admin/pages/widgets.php:71
159
- msgid "Remove the \"Archives\" widget"
160
- msgstr "Удалите виджет «Архивы»"
161
-
162
- #: admin/includes/options.php:167 admin/pages/widgets.php:80
163
- msgid "Remove the \"Links\" widget"
164
- msgstr "Удалите виджет «Ссылки»"
165
-
166
- #: admin/includes/options.php:172 admin/pages/widgets.php:89
167
- msgid "Remove the \"Meta\" widget"
168
- msgstr "Удалите виджет «Мета»"
169
-
170
- #: admin/includes/options.php:177 admin/pages/widgets.php:98
171
- msgid "Remove the \"Search\" widget"
172
- msgstr "Удалите виджет «Поиск»"
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 "Удалите виджет «Текст»"
178
-
179
- #: admin/includes/options.php:187 admin/pages/widgets.php:116
180
- msgid "Remove the \"Categories\" widget"
181
- msgstr "Удалите виджет «Категории»"
182
-
183
- #: admin/includes/options.php:192 admin/pages/widgets.php:125
184
- msgid "Remove the \"Recent Posts\" widget"
185
- msgstr "Удалите виджет «Последние записи»"
186
-
187
- #: admin/includes/options.php:197 admin/pages/widgets.php:134
188
- msgid "Remove the \"Recent Comments\" widget"
189
- msgstr "Удалите виджет «Последние комментарии»"
190
-
191
- #: admin/includes/options.php:207 admin/pages/widgets.php:143
192
- msgid "Remove the \"RSS\" widget"
193
- msgstr "Удалить виджет «RSS»"
194
-
195
- #: admin/includes/options.php:212 admin/pages/widgets.php:152
196
- msgid "Remove the \"Menu\" widget"
197
- msgstr "Удалите виджет «Меню»"
198
-
199
- #: admin/includes/options.php:217 admin/pages/widgets.php:161
200
- msgid "Remove the \"Twenty Eleven Ephemera\" widget"
201
- msgstr "Удалите виджет \"Twenty Eleven Ephemera\""
202
-
203
- #: admin/includes/options.php:220 admin/includes/options.php:289
204
- #: admin/pages/additionally.php:187
205
- msgid "Disable revision"
206
- msgstr "Отключить ревизии"
207
-
208
- #: admin/includes/options.php:221 admin/includes/options.php:294
209
- #: admin/pages/additionally.php:220
210
- msgid "Limit Post Revisions"
211
- msgstr "Установить лимит ревизий"
212
-
213
- #: admin/includes/options.php:222 admin/pages/seo.php:130
214
- msgid "Exclude pages:"
215
- msgstr "Исключить страницы:"
216
-
217
- #: admin/includes/options.php:225 admin/pages/seo.php:76
218
- msgid "Create right robots.txt"
219
- msgstr "Создайте правильный robots.txt"
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 "Вы можете отредактировать файл robots.txt в поле ниже:"
224
-
225
- #: admin/includes/options.php:233
226
- msgid "Quick mode"
227
- msgstr "Быстрый старт"
228
-
229
- #: admin/includes/options.php:236 admin/pages/code-clean.php:96
230
- msgid "Remove jQuery Migrate"
231
- msgstr "Удалить jQuery Migrate"
232
-
233
- #: admin/includes/options.php:239 admin/pages/code-clean.php:106
234
- msgid "Disable Embeds"
235
- msgstr "Отключить Embeds"
236
-
237
- #: admin/includes/options.php:240 admin/pages/code-clean.php:66
238
- msgid "Disable RSS feeds"
239
- msgstr "Отключить RSS каналы"
240
-
241
- #: admin/includes/options.php:243
242
- msgid "Removes links to wordpress.org site from the admin bar"
243
- msgstr "Удаляет ссылки на wordpress.org сайт из панели администратора"
244
-
245
- #: admin/includes/options.php:246 admin/pages/code-clean.php:175
246
- msgid "HTML minify"
247
- msgstr "Html сжатие"
248
-
249
- #: admin/includes/options.php:249
250
- msgid "Redirect Http to Https"
251
- msgstr "Перенаправление Http на Https"
252
-
253
- #: admin/includes/options.php:264 admin/pages/privacy.php:98
254
- msgid "Eclude stylesheet/script file names"
255
- msgstr "Исключает файлы стилей/сприптов"
256
-
257
- #: admin/includes/options.php:269 admin/pages/additionally.php:289
258
- msgid "Enable Sanitization of WordPress"
259
- msgstr "Включить Wordpress Sanitization"
260
-
261
- #: admin/includes/options.php:274 admin/pages/additionally.php:144
262
- msgid "Disable admin top bar"
263
- msgstr "Скрыть верхнюю панель администратора"
264
-
265
- #: admin/includes/options.php:279 admin/pages/additionally.php:162
266
- msgid "Remove admin bar WP logo"
267
- msgstr "Удалить логотип Wordpress из админбара"
268
-
269
- #: admin/includes/options.php:284 admin/pages/additionally.php:172
270
- msgid "Replace \"Howdy\" text with \"Welcome\""
271
- msgstr "Заменить текст \"Привет\", на \"Добро пожаловать\""
272
-
273
- #: admin/includes/options.php:299 admin/pages/additionally.php:244
274
- msgid "Disable autosave"
275
- msgstr "Отключить автосохранения"
276
-
277
- #: admin/includes/options.php:304 admin/pages/additionally.php:254
278
- msgid "Disable Texturization - Smart Quotes"
279
- msgstr "Отключить \"Умные кавычки\""
280
-
281
- #: admin/includes/options.php:309 admin/pages/additionally.php:264
282
- msgid "Disable capitalization in Wordpress branding"
283
- msgstr "Отключить верблюжий шрифт в WordPress брендинге"
284
-
285
- #: admin/includes/options.php:314 admin/pages/additionally.php:274
286
- msgid "Disable auto inserted paragraphs (i.e. p tags)"
287
- msgstr "Отключить автоматические параграфы (т.е p теги)"
288
-
289
- #: admin/includes/options.php:319 admin/pages/additionally.php:77
290
- msgid "Disable Heartbeat"
291
- msgstr "Отключить пульсацию Wordpress"
292
-
293
- #: admin/includes/options.php:324 admin/pages/additionally.php:106
294
- msgid "Heartbeat frequency"
295
- msgstr "Интервал пульсации Wordpress"
296
-
297
- #: admin/includes/options.php:329 admin/pages/code-clean.php:185
298
- #: admin/pages/privacy.php:107
299
- msgid "Remove html comments"
300
- msgstr "Удалить html комментарии"
301
-
302
- #: admin/pages/additionally.php:27
303
- msgid "Advanced"
304
- msgstr "Дополнительно"
305
-
306
- #: admin/pages/additionally.php:54
307
- msgid ""
308
- "Warning! In the wp-config.php file, a constant WP_POST_REVISIONS is found, "
309
- "it determines the number of revisions. Delete it so you can change this "
310
- "value through the admin panel."
311
- msgstr ""
312
- "Предупреждение! В файле wp-config.php найдена константа WP_POST_REVISIONS, "
313
- "она определяет количество ревизий. Удалите ее, чтобы вы могли изменить это "
314
- "значение через панель администратора."
315
-
316
- #: admin/pages/additionally.php:70
317
- msgid "Heartbeat"
318
- msgstr "Пульсация"
319
-
320
- #: admin/pages/additionally.php:70
321
- msgid ""
322
- "The WordPress Heartbeat API uses /wp-admin/admin-ajax.php to run AJAX calls "
323
- "from the web-browser. While this is great and all it can also cause high CPU "
324
- "usage and crazy amounts of PHP calls. For example, if you leave your "
325
- "dashboard open it will keep sending POST requests to this file on a regular "
326
- "interval, every 15 seconds. Here is an example below of it happening."
327
- msgstr ""
328
- "API WordPress использует пульсацию в /wp-admin/admin-ajax.php для запуска "
329
- "вызовов AJAX из веб-браузера. Хотя это очень полезно, но все же это может "
330
- "также вызвать высокую загрузку процессора и большое количество обращений к "
331
- "серверу. Например, если вы оставите свою панель управления открытой, она "
332
- "будет регулярно отправлять POST-запросы в этот файл через каждые 15 секунд. "
333
- "Ниже приведен пример ниже."
334
-
335
- #: admin/pages/additionally.php:79
336
- msgid "Default"
337
- msgstr "По умолчанию"
338
-
339
- #: admin/pages/additionally.php:80
340
- msgid "Everywhere"
341
- msgstr "Повсюду"
342
-
343
- #: admin/pages/additionally.php:81
344
- msgid "On dashboard page"
345
- msgstr "В панели инструментов"
346
-
347
- #: admin/pages/additionally.php:82
348
- msgid "Only allow when editing Posts/Pages"
349
- msgstr "Когда редактируете записи/страницы"
350
-
351
- #: admin/pages/additionally.php:108 admin/pages/additionally.php:222
352
- msgid "Wordpress default"
353
- msgstr "Wordpress по умолчанию"
354
-
355
- #: admin/pages/additionally.php:109 admin/pages/additionally.php:110
356
- #: admin/pages/additionally.php:111 admin/pages/additionally.php:112
357
- #: admin/pages/additionally.php:113 admin/pages/additionally.php:114
358
- #: admin/pages/additionally.php:115 admin/pages/additionally.php:116
359
- #: admin/pages/additionally.php:117
360
- msgid "seconds"
361
- msgstr "секунды"
362
-
363
- #: admin/pages/additionally.php:120
364
- msgid ""
365
- "Select the heartbeat frequency wordpress. We recommend you 60 seconds, "
366
- "default is 20 seconds."
367
- msgstr ""
368
- "Установите частоту пульсации Wordpress. Мы рекомендуем вам 60 секунд, "
369
- "значение по умолчанию — 20 секунд."
370
-
371
- #: admin/pages/additionally.php:137
372
- msgid "Admin bar"
373
- msgstr "Верхняя панель администратора"
374
-
375
- #: admin/pages/additionally.php:137
376
- msgid "In this group of settings, you can manage the adminbar."
377
- msgstr ""
378
- этой группе настроек вы можете управлять верхней панелью администратора."
379
-
380
- #: admin/pages/additionally.php:146
381
- msgid "Default enable"
382
- msgstr "Включен (по умолчанию)"
383
-
384
- #: admin/pages/additionally.php:147
385
- msgid "For all users"
386
- msgstr "Для всех пользователей"
387
-
388
- #: admin/pages/additionally.php:150
389
- msgid "For all users except administrator"
390
- msgstr "Для всех, кроме администратора"
391
-
392
- #: admin/pages/additionally.php:154
393
- msgid ""
394
- "In some cases, you need to disable the floating top admin panel. You can "
395
- "disable this panel."
396
- msgstr ""
397
- "В некоторых случаях вам необходимо отключить админбар. Вы можете это сделать "
398
- помощью текущей опции."
399
-
400
- #: admin/pages/additionally.php:154
401
- msgid "Disable admin top bar."
402
- msgstr "Отключить верхнюю панель администратора."
403
-
404
- #: admin/pages/additionally.php:164
405
- msgid "Enable this if you want to remove wp logo from admin bar."
406
- msgstr ""
407
- "Включите это, если вы хотите удалить логотип Wordpress из верхней панели "
408
- "администратора."
409
-
410
- #: admin/pages/additionally.php:174
411
- msgid "Replaces the welcome text in admin bar."
412
- msgstr "Заменяет текст приветствия в панели администратора."
413
-
414
- #: admin/pages/additionally.php:180
415
- msgid "Posts"
416
- msgstr "Записи"
417
-
418
- #: admin/pages/additionally.php:180
419
- msgid "In this group of options, you can manage revisions and post autosave."
420
- msgstr ""
421
- "В этой группе опций вы можете управлять ревизиями и автосохранением записей "
422
- "и страниц."
423
-
424
- #: admin/pages/additionally.php:223 admin/pages/additionally.php:224
425
- #: admin/pages/additionally.php:225 admin/pages/additionally.php:226
426
- #: admin/pages/additionally.php:227 admin/pages/additionally.php:228
427
- #: admin/pages/additionally.php:229 admin/pages/additionally.php:230
428
- #: admin/pages/additionally.php:231 admin/pages/additionally.php:232
429
- msgid "revisions"
430
- msgstr "ревизии"
431
-
432
- #: admin/pages/additionally.php:235
433
- msgid ""
434
- "WordPress automatically saves revisions when you are working on posts and "
435
- "pages. These can begin to add up pretty quick. By default, there is no limit "
436
- "in place. We have seen posts with over 1,000 revisions. Multiply this by 50 "
437
- "pages and suddenly you have over 50,000 revisions sitting in your database. "
438
- "The problem with this is that you will most likely never use them and they "
439
- "can start slowing down your database as well as using disk space.\n"
440
- "So we recommend either disabling or limiting your revisions. "
441
- msgstr ""
442
- "WordPress автоматически сохраняет изменения, когда вы работаете над "
443
- "сообщениями и страницами. Они могут начать складываться довольно быстро. По "
444
- "умолчанию, ограничений нет. Мы видели сообщения с более чем 1000 версиями. "
445
- "Умножьте это на 50 страниц, и у вас будет более 50 000 исправлений, сидящих "
446
- "в вашей базе данных. Проблема заключается в том, что вы, скорее всего, "
447
- "никогда не будете их использовать, и они могут начать замедлять работу вашей "
448
- "базы данных, а также использовать дисковое пространство.\n"
449
- "Поэтому мы рекомендуем либо отключать, либо ограничивать ваши изменения."
450
-
451
- #: admin/pages/additionally.php:246
452
- msgid ""
453
- "WordPress by default automatically saves a draft every 60 seconds (1 "
454
- "minute). There are reasons why you might want to change this."
455
- msgstr ""
456
- "WordPress по умолчанию автоматически сохраняет черновик каждые 60 секунд (1 "
457
- "минута). Есть причины, по которым вы можете изменить это."
458
-
459
- #: admin/pages/additionally.php:246
460
- msgid "Disables automatic saving of drafts."
461
- msgstr "Отключает автоматическое сохранение черновиков."
462
-
463
- #: admin/pages/additionally.php:256
464
- msgid ""
465
- "Function of text formatting. This function makes the text more correct, "
466
- "readable and visually appealing. But sometimes this function may prevent you "
467
- "from using certain codes and symbols."
468
- msgstr ""
469
- "Функция форматирования текста. Эта функция делает текст более правильным, "
470
- "читаемым и визуально привлекательным. Но иногда эта функция может помешать "
471
- "вам использовать определенные коды и символы."
472
-
473
- #: admin/pages/additionally.php:256
474
- msgid "Disable Texturization - Smart Quotes."
475
- msgstr "Отключить умные кавычки"
476
-
477
- #: admin/pages/additionally.php:266
478
- msgid ""
479
- "Replaces the incorrectly written letter \"p\" in the middle of WordPress "
480
- "(you need to write with the capital P in the middle)."
481
- msgstr ""
482
- "Заменяет неправильно написанную букву «p» в середине WordPress (вам нужно "
483
- "написать ее верхнем регистре P в середине)."
484
-
485
- #: admin/pages/additionally.php:266
486
- msgid "Disable capitalization in Wordpress branding."
487
- msgstr "Отключить верблюжий шрифт в брендинге Wordpress."
488
-
489
- #: admin/pages/additionally.php:276
490
- msgid ""
491
- "Replaces the double shifting of a string to an HTML p ... /p construct, and "
492
- "a single one on br."
493
- msgstr ""
494
- "Заменяет двойное смещение строки на конструкцию HTML p ... / p и одну на br."
495
-
496
- #: admin/pages/additionally.php:276
497
- msgid "Disable auto inserted paragraphs."
498
- msgstr "Отключить автоматически вставленные абзацы."
499
-
500
- #: admin/pages/additionally.php:282
501
- msgid "Others"
502
- msgstr "Другие"
503
-
504
- #: admin/pages/additionally.php:282
505
- msgid "Other useful features."
506
- msgstr "Другие полезные функции."
507
-
508
- #: admin/pages/additionally.php:291
509
- msgid ""
510
- "File names and some titles can have special characters, which can cause "
511
- "problems when creating permalinks."
512
- msgstr ""
513
- "Имена файлов и некоторые заголовки могут иметь специальные символы, что "
514
- "может вызвать проблемы при создании постоянных ссылок."
515
-
516
- #: admin/pages/additionally.php:291
517
- msgid ""
518
- "Removes symbols, spaces, latin and other languages characters from uploaded "
519
- "files and gives them \"permalink\" structure (clean characters, only "
520
- "lowercase and dahes)."
521
- msgstr ""
522
- "Удаляет символы, пробелы, латинские и другие языки из имен загружаемых "
523
- "файлов и дает им структуру «permalink» (чистые символы, только строчные "
524
- "буквы и тире)."
525
-
526
- #: admin/pages/code-clean.php:27
527
- msgid "Code cleaning"
528
- msgstr "Очистка кода"
529
-
530
- #: admin/pages/code-clean.php:68
531
- msgid ""
532
- "By default, WordPress generates all types of different RSS feeds for your "
533
- "site. While RSS feeds can be useful if you are running a blog, businesses "
534
- "might not always utilize these. Not every site out there has a blog."
535
- msgstr ""
536
- "По умолчанию WordPress генерирует различные виды RSS-каналов для вашего "
537
- "сайта. Иногда RSS-каналы могут быть полезны, если вы используете блог "
538
- "например, но если у вас обычный одностаничник, то RSS для вас будет "
539
- "бесполезен. "
540
-
541
- #: admin/pages/code-clean.php:68
542
- #, php-format
543
- msgid ""
544
- "Removes a link to the RSS-feed from the %s section, closes and puts the "
545
- "redirect from all RSS-feeds."
546
- msgstr ""
547
- "Удаляет ссылку на RSS-канал из раздела %s, закрывает и ставит "
548
- "перенаправления от всех RSS-каналов."
549
-
550
- #: admin/pages/code-clean.php:78
551
- msgid ""
552
- "The WordPress REST API provides API endpoints for WordPress data types that "
553
- "allow developers to interact with sites remotely by sending and receiving "
554
- "JSON (JavaScript Object Notation) objects. However, a lot of sites don’t use "
555
- "this, and therefore in most cases, it is just unnecessary code."
556
- msgstr ""
557
- "WordPress REST API предоставляет API для работы с WordPress данными, это "
558
- "позволяет разработчикам взаимодействовать с сайтами удаленно, посредством "
559
- "отправки и получения данных в формате JSON (JavaScript Object Notation). "
560
- "Однако многие сайты не используют это, и поэтому в большинстве случаев, это "
561
- "только ненужный код."
562
-
563
- #: admin/pages/code-clean.php:78
564
- msgid ""
565
- "Removes REST API link tag from the front end and the REST API header link "
566
- "from page requests."
567
- msgstr "Отключает REST API и удаляет все ссылки из исходного кода страницы."
568
-
569
- #: admin/pages/code-clean.php:86 admin/pages/code-clean.php:116
570
- #: admin/pages/code-clean.php:125 admin/pages/code-clean.php:135
571
- #: admin/pages/code-clean.php:145 admin/pages/code-clean.php:155
572
- #: admin/pages/code-clean.php:165 admin/pages/defence.php:64
573
- #: admin/pages/defence.php:74 admin/pages/defence.php:84
574
- #: admin/pages/double-pages.php:66 admin/pages/double-pages.php:76
575
- #: admin/pages/double-pages.php:96 admin/pages/double-pages.php:106
576
- #: admin/pages/double-pages.php:116 admin/pages/privacy.php:66
577
- #: admin/pages/privacy.php:76 admin/pages/privacy.php:87 admin/pages/seo.php:66
578
- #: admin/pages/seo.php:116 admin/pages/seo.php:139 admin/pages/seo.php:152
579
- #: admin/pages/seo.php:162 admin/pages/seo.php:202
580
- msgid "Recommended"
581
- msgstr "Рекомендовано"
582
-
583
- #: admin/pages/code-clean.php:88
584
- msgid ""
585
- "Emojis are fun and all, but if you are aren’t using them they actually load "
586
- "a JavaScript file (wp-emoji-release.min.js) on every page of your website. "
587
- "For a lot of businesses, this is not needed and simply adds load time to "
588
- "your site. So we recommend disabling this."
589
- msgstr ""
590
- "Emojis это смайлы (эмоции), если вы не используете их на своем сайте, в "
591
- "исходном коде страницы будет загружаться JavaScript файл (wp-emoji-release."
592
- "min.js), на каждой странице вашего веб-сайта. Для многих сайтов это не "
593
- "требуется и просто увеличивает время загрузки страницы. Поэтому мы "
594
- "рекомендуем отключить это."
595
-
596
- #: admin/pages/code-clean.php:88
597
- msgid "Removes WordPress Emojis JavaScript file (wp-emoji-release.min.js)."
598
- msgstr "Удаляет код Emojis из исходного кода страницы"
599
-
600
- #: admin/pages/code-clean.php:98
601
- msgid ""
602
- "They started adding jQuery migrate in WordPress 3.6. Most up-to-date "
603
- "frontend code and plugins don’t require jquery-migrate.min.js. In most "
604
- "cases, this simply adds unnecessary load to your site. You can see this "
605
- "running if you launch Chrome Devtools console."
606
- msgstr ""
607
- "jQuery миграция появилась в WordPress 3.6. Большинство современных веб-"
608
- "интерфейсов и плагинов не требуют jquery-migrate.min.js. В большинстве "
609
- "случаев это просто ненужная нагрузка на ваш сайт. "
610
-
611
- #: admin/pages/code-clean.php:98
612
- msgid "Removes jQuery Migrate JavaScript file (jquery-migrate.min.js)."
613
- msgstr "Удаляет подключаемый файл (jquery-migrate.min.js)."
614
-
615
- #: admin/pages/code-clean.php:98
616
- msgid "Warning! If there is a broke on your site, disable this option!"
617
- msgstr ""
618
- "Предупреждение! Если у вас появились проблемы в работе сайта или плагинов, "
619
- "отключите эту опцию!"
620
-
621
- #: admin/pages/code-clean.php:108
622
- msgid ""
623
- "Embeds were released with WordPress 4.4. This is basically the magic that "
624
- "auto converts your YouTube videos, Tweets, and URLs into pretty previews "
625
- "while you are editing. However, this actually loads a JavaScript file (wp-"
626
- "embed.min.js) on every page of your website. If you don’t care about the "
627
- "auto converting preview (which we don’t), you can disable this across your "
628
- "site."
629
- msgstr ""
630
- "Встраиваемые объекты были добавлены в WordPress 4.4. Эта функция "
631
- "автоматически преобразуют YouTube, Tweets, и URL-адреса в объекты для "
632
- "удобного просмотра (плеер, картинки и т.д.). Для того, чтобы объекты "
633
- "автоматически преобразовывались на вашем сайте, на каждой странице "
634
- "подключается код JavaScript (wp-embed.min.js). Если вы не используете "
635
- "функции автоматического преобразования встраиваемых объектов, то можете "
636
- "отключить эту функцию."
637
-
638
- #: admin/pages/code-clean.php:108
639
- msgid "Removes WordPress Embed JavaScript file (wp-embed.min.js)"
640
- msgstr ""
641
- "Удаляет JavaScript код отвечающий за встраиваемые объекты (wp-embed.min.js)"
642
-
643
- #: admin/pages/code-clean.php:118
644
- #, php-format
645
- msgid ""
646
- "Since version 4.6.1 in WordPress there are new links in the section %s this "
647
- "type of: "
648
- msgstr ""
649
- "Начиная с версии 4.6.1 в WordPress появляются новые ссылки в секции %s "
650
- "пример:"
651
-
652
- #: admin/pages/code-clean.php:118
653
- #, php-format
654
- msgid "Removes dns-prefetch links from the %s section"
655
- msgstr "Удаляет тег link dns-prefetch из секции %s"
656
-
657
- #: admin/pages/code-clean.php:127
658
- msgid ""
659
- "The above link is used by blog clients. If you edit your site from your "
660
- "browser then you don’t need this. It is also used by some 3rd party "
661
- "applications that utilize XML-RPC requests. In most cases, this is just "
662
- "unnecessary code."
663
- msgstr ""
664
- "Эта ссылка используется клиентами блога. Если вы редактируете сайт из вашего "
665
- "браузера, то вам не нужно это. Она также используется в некоторых "
666
- "приложениях, которые используют XML-RPC-запросы. В большинстве случаев это "
667
- "только ненужный код."
668
-
669
- #: admin/pages/code-clean.php:127
670
- msgid "Remove RSD (Real Simple Discovery) link tag."
671
- msgstr "Удаляет RSD link тег"
672
-
673
- #: admin/pages/code-clean.php:137
674
- msgid ""
675
- "This link is actually used by Windows Live Writer. If you don’t know use "
676
- "Windows Live Writer, which we are guessing you don’t, this is just "
677
- "unnecessary code."
678
- msgstr ""
679
- "Эта ссылка используется фактически Windows Live Writer. Если вы не знаете, "
680
- "как использовать Windows Live Writer, то это только ненужный код."
681
-
682
- #: admin/pages/code-clean.php:137
683
- msgid "Remove wlwmanifest (Windows Live Writer) link tag."
684
- msgstr "Удаляет тег link wlwmanifest (Windows Live Writer)."
685
-
686
- #: admin/pages/code-clean.php:147
687
- #, php-format
688
- msgid ""
689
- "By default, the following tag shows up in every WordPress install. %s This "
690
- "is used for a shortlink to your pages and posts. However, if you are already "
691
- "using pretty permalinks, such as domain.com/post, then there is no reason to "
692
- "keep this, it is just unnecessary code."
693
- msgstr ""
694
- "По умолчанию следующий тег печатается на каждой странице ваших записей и "
695
- "страниц. %s Это используется, как короткая ссылка на вашу статью. Если вы "
696
- "используете постоянные ссылки, то это не нужный код."
697
-
698
- #: admin/pages/code-clean.php:147
699
- msgid "Remove Shortlink link tag."
700
- msgstr "Удаляет тег link shortlink."
701
-
702
- #: admin/pages/code-clean.php:157
703
- msgid ""
704
- "If you use Wordpress as a CMS, then you can delete these links, they can "
705
- "only come in handy for a blog."
706
- msgstr ""
707
- "Если вы используете Wordpress как CMS (а не блог), то вы можете удалить эти "
708
- "ссылки, но для блога они могут быть полезны."
709
-
710
- #: admin/pages/code-clean.php:157
711
- msgid ""
712
- "Remove the previous and next post links within the wp_head of your wordpress "
713
- "theme."
714
- msgstr ""
715
- "Удаляет ссылки предидущая и следующая запись в head вашей темы wordpress."
716
-
717
- #: admin/pages/code-clean.php:167
718
- msgid ""
719
- "WP by default for the widget \"recent comments\" prescribes in the code "
720
- "styles that are almost impossible to change, because to them apply! "
721
- "important."
722
- msgstr ""
723
- "Wordpress по умолчанию для виджета \"Последние комментари\" прописывает в "
724
- "стилях код, которые почти невозможно изменить, потому что к ним применяются "
725
- "значение !important."
726
-
727
- #: admin/pages/code-clean.php:167
728
- msgid "Removes .recentcomments styles from head section."
729
- msgstr "Удаляет .recentcomments стили из head секции."
730
-
731
- #: admin/pages/code-clean.php:177
732
- msgid ""
733
- "Reduces the weight of the page by removing line breaks, tabs, spaces, etc."
734
- msgstr ""
735
- "Уменьшает вес страницы путем удаления разрывов строк, вкладок, пробелов и т. "
736
- "Д."
737
-
738
- #: admin/pages/code-clean.php:177
739
- msgid "Minify pages."
740
- msgstr "Минимизировать страницы."
741
-
742
- #: admin/pages/code-clean.php:187 admin/pages/privacy.php:109
743
- msgid ""
744
- "This function will remove all html comments in the source code, except for "
745
- "special and hidden comments. This is necessary to hide the version of "
746
- "installed plugins."
747
- msgstr ""
748
- "Эта функция удалит все html-комментарии в исходном коде, за исключением "
749
- "специальных и скрытых комментариев. Это необходимо, чтобы скрыть версию "
750
- "установленных плагинов."
751
-
752
- #: admin/pages/code-clean.php:187 admin/pages/privacy.php:109
753
- msgid "Remove html comments in source code."
754
- msgstr "Удалить Html комментарии в исходном коде страницы."
755
-
756
- #: admin/pages/components.php:32
757
- msgid "Components"
758
- msgstr "Компоненты"
759
-
760
- #: admin/pages/defence.php:25
761
- msgid "Defence"
762
- msgstr "Защита"
763
-
764
- #: admin/pages/defence.php:66
765
- msgid ""
766
- "An attacker can find out the author's login, using a similar request to get "
767
- "your site. mysite.com/?author=1"
768
- msgstr ""
769
- "Злоумышленник может узнать логин автора, с помощью подобного get запроса "
770
- "mysite.com/?author=1"
771
-
772
- #: admin/pages/defence.php:66
773
- msgid "Sets the redirect to exclude the possibility of obtaining a login."
774
- msgstr ""
775
- "Предотвращает возможность узнать логин автора, устанавливая перенаправление."
776
-
777
- #: admin/pages/defence.php:76
778
- msgid ""
779
- "WP by default shows whether you entered a wrong login or incorrect password, "
780
- "which allows attackers to understand if there is a certain user on the site, "
781
- "and then start searching through the passwords."
782
- msgstr ""
783
- "Wordpress по умолчанию показывает, ввели ли вы неправильный логин или "
784
- "неправильный пароль, что дает злоумышленникам понять, существует ли "
785
- "определенный пользователь на сайте, а после начать перебор паролей."
786
-
787
- #: admin/pages/defence.php:76
788
- msgid ""
789
- "Changes in the text of the error so that attackers could not find the login."
790
- msgstr ""
791
- "Меняет текст ошибки так, чтобы злоумышленники не смогли подобрать логин."
792
-
793
- #: admin/pages/defence.php:84
794
- msgid "Disable XML-RPC"
795
- msgstr "Отключить XML-RPC"
796
-
797
- #: admin/pages/defence.php:86
798
- msgid ""
799
- "A pingback is basically an automated comment that gets created when another "
800
- "blog links to you. A self-pingback is created when you link to an article "
801
- "within your own blog. Pingbacks are essentially nothing more than spam and "
802
- "simply waste resources."
803
- msgstr ""
804
- "Pingback по-существу автоматизированных комментарий, который создается, "
805
- "когда другой блог ссылается на вас. Self-pingback создается, когда вы "
806
- "оставили ссылку на статью в своем блоге. Pingbacks по существу являются не "
807
- "более чем спам и пустая трата ресурсов вашего сайта."
808
-
809
- #: admin/pages/defence.php:86
810
- msgid "Removes the server responses a reference to the xmlrpc file."
811
- msgstr "Удаляет ссылку на xmlrpc-файл и ответ сервера."
812
-
813
- #: admin/pages/double-pages.php:27
814
- msgid "Duplicate pages"
815
- msgstr "Дубли страниц"
816
-
817
- #: admin/pages/double-pages.php:68
818
- #, php-format
819
- msgid ""
820
- "Many duplicates in date archives. Imagine, in addition, that your article "
821
- "will be displayed in the main and in the category, you will still receive at "
822
- "least 3 duplicates: in archives by year, month and date, for example %s."
823
- msgstr ""
824
- "Огромное количество дублей в архивах дат. Представьте, кроме того, что Ваша "
825
- "статья будет выводиться на главной и в категории, Вы еще получите как "
826
- "минимум 3 дубля: в архивах по году, месяцу и дате, например %s."
827
-
828
- #: admin/pages/double-pages.php:68
829
- msgid "Removes all pages with the date archives and puts a redirect."
830
- msgstr "Удаляет полностью архивы дат и ставит редирект."
831
-
832
- #: admin/pages/double-pages.php:78
833
- #, php-format
834
- msgid ""
835
- "If the site is only filled by you - a mandatory item. Allows you to get rid "
836
- "of duplicates on user archives, for example %s."
837
- msgstr ""
838
- "Если сайт заполняете только вы - это функция обязательна. Позволяет вам "
839
- "избавиться от дубликатов страниц автора, например %s."
840
-
841
- #: admin/pages/double-pages.php:78
842
- msgid "Removes all pages with the author archives and puts a redirect."
843
- msgstr "Удаляет все страницы из архивов автора и ставит перенаправление."
844
-
845
- #: admin/pages/double-pages.php:88
846
- msgid ""
847
- "If you use tags only for the block Similar records, or do not use them at "
848
- "all - it will be more correct to close them to avoid duplicates."
849
- msgstr ""
850
- "Если вы используете теги только для виджета \"Похожие записи\", либо не "
851
- "используете их совсем - правильнее будет их закрыть, чтобы избежать дублей."
852
-
853
- #: admin/pages/double-pages.php:88
854
- msgid "Removes all pages with the tag archives and puts a redirect."
855
- msgstr "Ставит редирект со страниц тегов на главную."
856
-
857
- #: admin/pages/double-pages.php:98
858
- msgid ""
859
- "Every of the pictures has its own page on the site. Such pages are "
860
- "successfully indexed and create duplicates. The site can have thousands of "
861
- "same-type attachment pages."
862
- msgstr ""
863
- "Каждая загруженная картинка имеет свою страничку на сайте, состоящую только "
864
- "из одной картинки. Такие страницы успешно индексируются и создают дубли. На "
865
- "сайте могут быть тысячи однотипных страниц вложений."
866
-
867
- #: admin/pages/double-pages.php:98
868
- msgid "Removes attachment pages and puts a redirect."
869
- msgstr "Удаляет страницы вложений и ставит редирект на запись."
870
-
871
- #: admin/pages/double-pages.php:108
872
- #, php-format
873
- msgid ""
874
- "In WordPress, any post can be divided into parts (pages), each part will "
875
- "have its own address. But this functionality is rarely used, but it can "
876
- "create trouble for you. For example, you can add a number to the address of "
877
- "any entry of your blog, %s - the post itself will open, which will be a "
878
- "duplicate. You can substitute any number."
879
- msgstr ""
880
- WordPress любое содержание можно разделить на части (страницы), каждая "
881
- "часть будет иметь свой собственный адрес. Эта функциональность используется "
882
- "редко, но это может создать проблемы для вас. Например вы можете добавить "
883
- "номер в адрес любой записи вашего блога, %s - откроет текущую страницу, "
884
- "которая будет дублироваться."
885
-
886
- #: admin/pages/double-pages.php:108
887
- #, php-format
888
- msgid "Removes the pagination from the post and puts a redirect. Example: %s"
889
- msgstr ""
890
- "Удаление постраничную навигацию из записи и устанавливет перенаправление. "
891
- "Пример: %s"
892
-
893
- #: admin/pages/double-pages.php:118
894
- #, php-format
895
- msgid ""
896
- "WordPress adds %s to the link \"Reply\" in the comments, if you use "
897
- "hierarchical comments."
898
- msgstr ""
899
- "WordPress добавляет %s к ссылке «Ответ» в комментариях, если вы используете "
900
- "иерархические комментарии."
901
-
902
- #: admin/pages/double-pages.php:118
903
- msgid "?relpytocom remove and and puts a redirect."
904
- msgstr "Удаляет ?relpytocom и ставит перенаправление."
905
-
906
- #: admin/pages/privacy.php:27
907
- msgid "Privacy Settings"
908
- msgstr "Настройки приватности"
909
-
910
- #: admin/pages/privacy.php:68
911
- msgid ""
912
- "Allows attacker to learn the version of WP installed on the site. This meta "
913
- "tag has no useful function."
914
- msgstr ""
915
- "Позволяет злоумышленнику узнать версию Wordpress, установленую на вашем "
916
- "сайте. Этот мета-тег не несет никакой пользы."
917
-
918
- #: admin/pages/privacy.php:68
919
- #, php-format
920
- msgid "Removes the meta tag from the %s section"
921
- msgstr "Удаляет мета-тег из раздел %s"
922
-
923
- #: admin/pages/privacy.php:78 admin/pages/privacy.php:89
924
- msgid ""
925
- "To make it more difficult for others to hack your website you can remove the "
926
- "WordPress version number from your site, your css and js. Without that "
927
- "number it's not possible to see if you run not the current version to "
928
- "exploit bugs from the older versions. <br><br>\n"
929
- "\t\t\t\t\tAdditionally it can improve the loading speed of your site, "
930
- "because without query strings in the URL the css and js files can be cached."
931
- msgstr ""
932
- "Активировав эту функцию вы усложните работу злоумышленника. <br><br>Кроме "
933
- "того, это может улучшить скорость загрузки вашего сайта, потому что без "
934
- "строки запроса в URL-адрес css и js файлов могут быть кэшированы."
935
-
936
- #: admin/pages/privacy.php:79
937
- msgid ""
938
- "Removes the wordpress version number from stylesheets (not logged in user "
939
- "only)."
940
- msgstr "Удаляет номер версии из файлов стилей стилей (только для фронтенда)."
941
-
942
- #: admin/pages/privacy.php:90
943
- msgid ""
944
- "Removes wordpress version number from scripts (not logged in user only)."
945
- msgstr "Удаляет номер версии из javascript файлов (только для фронтенда)."
946
-
947
- #: admin/pages/privacy.php:100
948
- msgid ""
949
- "Enter Stylesheet/Script file names to exclude from version removal (each "
950
- "exclude file starts with a new line)"
951
- msgstr ""
952
- "Введите абсолютный путь к файлу, чтобы исключить его из списка файлов у "
953
- "которых, будет удалена версия (каждое исключение, должно быть с новой "
954
- "строки)."
955
-
956
- #: admin/pages/privacy.php:100
957
- msgid "Example"
958
- msgstr "Например"
959
-
960
- #: admin/pages/quick-start.php:35
961
- msgid "Clearfy menu"
962
- msgstr "Clearfy меню"
963
-
964
- #: admin/pages/quick-start.php:42
965
- msgid "Quick start"
966
- msgstr "Быстрый старт"
967
-
968
- #: admin/pages/quick-start.php:76
969
- msgid ""
970
- "On this page you can quickly configure the plug-in without going into "
971
- "details."
972
- msgstr ""
973
- "На этой странице вы можете быстро настроить плагин, не вдаваясь в "
974
- "подробности."
975
-
976
- #: admin/pages/quick-start.php:170
977
- msgid "Set the recommened for me"
978
- msgstr "Установить рекомендуемые для меня"
979
-
980
- #: admin/pages/quick-start.php:173
981
- msgid "One click code clearing"
982
- msgstr "Очистка кода в один клик"
983
-
984
- #: admin/pages/quick-start.php:174
985
- msgid "One click security"
986
- msgstr "Улучшить безопасность в один клик"
987
-
988
- #: admin/pages/quick-start.php:176
989
- msgid "One click seo optimization"
990
- msgstr "Оптимизировать SEO в один клик"
991
-
992
- #: admin/pages/quick-start.php:180
993
- msgid "One click remove default Widgets"
994
- msgstr "Удалить виджеты по умолчанию в один клик"
995
-
996
- #: admin/pages/quick-start.php:185
997
- msgid "Reset all settings"
998
- msgstr "Сбросить все настройки"
999
-
1000
- #: admin/pages/quick-start.php:189
1001
- msgid "Are you sure you want to enable the this options?"
1002
- msgstr "Вы действительно хотите включить эти настройки?"
1003
-
1004
- #: admin/pages/quick-start.php:192 admin/pages/quick-start.php:232
1005
- msgid ""
1006
- "After confirmation, all the settings of the plug-in will return to the "
1007
- "default state. Make backup settings by copying data from the export field."
1008
- msgstr ""
1009
- "После подтверждения, все настройки плагина вернутся к состоянию по "
1010
- "умолчанию. Сделайте резервную копию настроек, скопировав данные из поля "
1011
- "экспорта."
1012
-
1013
- #: admin/pages/quick-start.php:196
1014
- msgid "Confirm"
1015
- msgstr "Подтвердить"
1016
-
1017
- #: admin/pages/quick-start.php:197
1018
- msgid "Cancel"
1019
- msgstr "Отмена"
1020
-
1021
- #: admin/pages/quick-start.php:203
1022
- msgid ""
1023
- "These are quick optimization options for your website. You can activate the "
1024
- "groups of necessary settings in one click. With the fast optimization mode, "
1025
- "we are enable the only safe settings that do not break your website. That is "
1026
- "why we recommend you to look at each setting of the plugin individually. The "
1027
- "settings with grey and red question mark will not be active, until you do it "
1028
- "yourself."
1029
- msgstr ""
1030
- "Это настройки быстрой оптимизации вашего сайта. Вы можете активировать "
1031
- "нужные вам группы настроек в один клик. В быстром режиме оптимизации мы "
1032
- "активируем только безопасные настройки, которые не нарушат работу вашего "
1033
- "сайта. Поэтому, мы рекомендуем вам ознакомится с каждой опцией плагина "
1034
- "индивидуально. Настройки с серым и красным знаком вопроса не будут "
1035
- "активированы, пока вы сами не примите решение об их включении."
1036
-
1037
- #: admin/pages/quick-start.php:204
1038
- msgid "Select what you need to do"
1039
- msgstr "Выберите, что вам нужно сделать"
1040
-
1041
- #: admin/pages/quick-start.php:206
1042
- msgid ""
1043
- "After selecting any optimization case, the plugin will automatically enable "
1044
- "the necessary settings in safe mode and one click."
1045
- msgstr ""
1046
- "После выбора варианта оптимизации, плагин автоматически включит необходимые "
1047
- безопасные настройки в один клик."
1048
-
1049
- #: admin/pages/quick-start.php:231
1050
- msgid "Reset settings"
1051
- msgstr "Сбросить настройки"
1052
-
1053
- #: admin/pages/quick-start.php:244
1054
- msgid "Reset"
1055
- msgstr "Сбросить"
1056
-
1057
- #: admin/pages/quick-start.php:246
1058
- msgid "Do It!"
1059
- msgstr "Сделать!"
1060
-
1061
- #: admin/pages/quick-start.php:260
1062
- msgid "Settings successfully updated!"
1063
- msgstr "Настройки успешно обновлены!"
1064
-
1065
- #: admin/pages/quick-start.php:263
1066
- msgid ""
1067
- "During the setup, an unknown error occurred, please try again or contact the "
1068
- "plug-in support."
1069
- msgstr ""
1070
- "Во время установки произошла неизвестная ошибка, повторите попытку или "
1071
- "обратитесь в службу поддержки плагинов."
1072
-
1073
- #: admin/pages/quick-start.php:270
1074
- msgid "Import/Export settings"
1075
- msgstr "Импорт/Экспорт настроек"
1076
-
1077
- #: admin/pages/quick-start.php:273
1078
- msgid "Import options"
1079
- msgstr "Импортировать настройки"
1080
-
1081
- #: admin/pages/quick-start.php:279
1082
- msgid "Support"
1083
- msgstr "Поддержка"
1084
-
1085
- #: admin/pages/quick-start.php:281
1086
- msgid ""
1087
- "If you faced with any issues, please follow the steps below to get quickly "
1088
- "quality support:"
1089
- msgstr ""
1090
- "Если вы столкнулись с какими-либо проблемами, выполните следующие действия, "
1091
- "чтобы быстро получить качественную поддержку:"
1092
-
1093
- #: admin/pages/quick-start.php:284
1094
- msgid ""
1095
- "Generate a debug report which will contains inforamtion about your "
1096
- "configuratin and installed plugins"
1097
- msgstr ""
1098
- "Создайте отчет об ошибках, который будет содержать информацию о вашей "
1099
- "конфигурации и установленных плагинах."
1100
-
1101
- #: admin/pages/quick-start.php:287
1102
- msgid "Generate Debug Report"
1103
- msgstr "Сгенерировать отчет об ошибках"
1104
-
1105
- #: admin/pages/quick-start.php:291
1106
- msgid ""
1107
- "Send a message to <b>wordpress.webraftic@gmail.com</b> include the debug "
1108
- "report into the message body."
1109
- msgstr ""
1110
- "Отправьте ваше сообщение на <b>wordpress.webraftic@gmail.com</b>, к "
1111
- "сообщению прикрепите отчет об ошибках"
1112
-
1113
- #: admin/pages/quick-start.php:294
1114
- msgid "We guarantee to respond you within 7 business day."
1115
- msgstr "Мы гарантируем ответ на ваш вопрос в течении 7 дней."
1116
-
1117
- #: admin/pages/seo.php:27
1118
- msgid "SEO"
1119
- msgstr "SEO"
1120
-
1121
- #: admin/pages/seo.php:68
1122
- msgid ""
1123
- "The alt attribute is mandatory, so most SEO experts say. If you missed or "
1124
- "did not fill it at all, it will be automatically assigned and will be equal "
1125
- "to the title of the article."
1126
- msgstr ""
1127
- "Атрибут alt является обязательным, поэтому большинство SEO экспертов "
1128
- "говорят. Если вы пропустили, или не заполнили его, он будет автоматически "
1129
- "задан из названия статьи."
1130
-
1131
- #: admin/pages/seo.php:68
1132
- #, php-format
1133
- msgid "Replaces the %s, on attribute with an article name %s"
1134
- msgstr "Заменяет %s, на атрибут с названием статьи %s"
1135
-
1136
- #: admin/pages/seo.php:78
1137
- msgid ""
1138
- "After installation, WP does not contain a robots.txt file and create it "
1139
- "manually. We re-read about 30 different articles, instructions from Yandex "
1140
- "and Google to create the perfect robots.txt"
1141
- msgstr ""
1142
- "После установки WP не содержит файл robots.txt и создает его вручную. Мы "
1143
- "перечитывали около 30 различных статей, инструкции от Yandex и Google, чтобы "
1144
- "создать идеальный файл robots.txt"
1145
-
1146
- #: admin/pages/seo.php:78
1147
- msgid "Automatically creates the perfect robots.txt file"
1148
- msgstr "Автоматически создает идеальный robots.txt"
1149
-
1150
- #: admin/pages/seo.php:109
1151
- msgid "Server headers and response"
1152
- msgstr "Заголовки серверов и ответ"
1153
-
1154
- #: admin/pages/seo.php:109
1155
- msgid ""
1156
- "WordPress does not know how to give the Last Modified header in the server's "
1157
- "responses. You can do this using the settings below."
1158
- msgstr ""
1159
- "WordPress не знает, как отдать заголовок Last Modified. Вы можете сделать "
1160
- "это с помощью параметров ниже."
1161
-
1162
- #: admin/pages/seo.php:132
1163
- #, php-format
1164
- msgid ""
1165
- "You can specify a page mask, for example: %s or %s. All pages that contain "
1166
- "the string will be excluded. Each exclude must begin with a new line."
1167
- msgstr ""
1168
- "Можно указать маску страницы, например: %s или %s. Все страницы, которые "
1169
- "содержат эти строки, будут исключены. Каждое исключение должно начинаться с "
1170
- "новой строки."
1171
-
1172
- #: admin/pages/seo.php:145
1173
- msgid "For the Yoast SEO plugin"
1174
- msgstr "Для плагина Yoast SEO"
1175
-
1176
- #: admin/pages/seo.php:145
1177
- msgid ""
1178
- "These settings will help you eliminate some problems associated with the "
1179
- "popular Yoast SEO plugin"
1180
- msgstr ""
1181
- "Эти параметры помогут вам устранить некоторые проблемы, связанные с "
1182
- "популярной Yoast SEO plugin"
1183
-
1184
- #: admin/pages/seo.php:154
1185
- msgid ""
1186
- "The last element in the breadcrumbs in the Yoast SEO plugin duplicates the "
1187
- "title of the article. Some SEO-specialists consider this duplication to be "
1188
- "superfluous."
1189
- msgstr ""
1190
- "Последний элемент в хлебных крошках Yoast SEO дублирует название статьи. "
1191
- "Некоторые SEO-специалисты считают это дублирование излишним."
1192
-
1193
- #: admin/pages/seo.php:154
1194
- msgid ""
1195
- "Removes duplication of the name in the breadcrumbs of the WP SEO plugin from "
1196
- "Yoast."
1197
- msgstr "Удаляет последний элемент в хлебных крошках Yoast SEO."
1198
-
1199
- #: admin/pages/seo.php:164
1200
- msgid ""
1201
- "Yandex.Webmaster swears on a standard XML card from the plugin Yoast, tk. it "
1202
- "has a specific tag"
1203
- msgstr ""
1204
- "Яндекс вебмастер ругается на стандартной карты XML из плагина Yoast SEO, из-"
1205
- "за определенного тега "
1206
-
1207
- #: admin/pages/seo.php:164
1208
- #, php-format
1209
- msgid "Remove the tag %s from XML site map of the plugin Yoast SEO."
1210
- msgstr "Удаляет тег %s из XML карта сайта плагин Yoast SEO."
1211
-
1212
- #: admin/pages/seo.php:164
1213
- msgid ""
1214
- "Attention! After activation, turn off the site map and enable it back to "
1215
- "regenerate it."
1216
- msgstr ""
1217
- "Внимание! После активации, выключите карту сайта и включите ее обратно, "
1218
- "чтобы обновить ее."
1219
-
1220
- #: admin/pages/seo.php:164
1221
- msgid "In older versions of Yoast SEO may not work - update the plugin Yoast"
1222
- msgstr ""
1223
- "В более старых версиях Yoast SEO не может работать - обновите плагин Yoast "
1224
- "SEO"
1225
-
1226
- #: admin/pages/seo.php:182
1227
- msgid ""
1228
- "If you’re not familiar with Search Action it’s the mark-up that helps search "
1229
- "engines add a shiny Sitelinks Search Box below your search engine results. "
1230
- "For the majority of webmasters the extra search box is an absolutely "
1231
- "fantastic feature but for many it’s not required or wanted, especially if a "
1232
- "site only has a few pages or if the site uses a customised search platform "
1233
- "that only searches blog posts and not pages."
1234
- msgstr ""
1235
-
1236
- #: admin/pages/seo.php:182
1237
- msgid ""
1238
- "Disable JSON-LD sitelinks searchbox using WordPress in plugin Yoast SEO."
1239
- msgstr "Отключает JSON-LD ссылки используемые Wordpress в плагине Yoast SEO."
1240
-
1241
- #: admin/pages/seo.php:192
1242
- msgid ""
1243
- "Prevents output of the script tag of type application/ld+json containing\n"
1244
- "schema.org data from the popular Yoast SEO and Yoast SEO Premium plugins.\n"
1245
- "There is currently no UI to do so."
1246
- msgstr ""
1247
- "Удаляет тег application/ld+json(содержащего данные schema.org) из исходного "
1248
- "кода страницы, при использовании плагинов Yoast SEO и Yoast SEO Premium."
1249
-
1250
- #: admin/pages/seo.php:194
1251
- msgid "Disable Structured Data in plugin Yoast SEO."
1252
- msgstr "Отключает структурированные данные в плагине Yoast SEO"
1253
-
1254
- #: admin/pages/seo.php:204
1255
- #, php-format
1256
- msgid "The Yoast SEO plugin displays a comment of the form %s in %s section"
1257
- msgstr "Yoast SEO плагин отображает комментарий формы %s в секции %s"
1258
-
1259
- #: admin/pages/seo.php:204
1260
- #, php-format
1261
- msgid "Removes the Yoast SEO plugin comment of their section %s"
1262
- msgstr "Удаляет комментрии Yoast SEO из %s"
1263
-
1264
- #: admin/pages/widgets.php:25
1265
- msgid "Widgets"
1266
- msgstr "Виджеты"
1267
-
1268
- #: clearfy.php:63
1269
- msgid "Clearfy"
1270
- msgstr "Clearfy"
1271
-
1272
- #: includes/classes/class.configurate-advanced.php:247
1273
- msgid "Howdy"
1274
- msgstr "Привет"
1275
-
1276
- #: includes/classes/class.configurate-advanced.php:247
1277
- msgid "Welcome"
1278
- msgstr "Добро пожаловать"
1279
-
1280
- #: includes/classes/class.configurate-security.php:30
1281
- msgid "<strong>ERROR</strong>: Wrong login or password"
1282
- msgstr "<strong>Ошибка</strong>: Неправильный логин или пароль"
1283
-
1284
- #: includes/classes/class.zip-archive.php:10
1285
- msgid "The ZipArchive class does not exist in this version of php."
1286
- msgstr "Класса ZipArchive не существует в этой версии php."
1287
-
1288
- #~ msgid ""
1289
- #~ "This is the “One click optimization” solution. Use it if you do not want "
1290
- #~ "to understand the settings or do not understand what settings you need to "
1291
- #~ "use. Use our automatic presets to activate safe plugin settings."
1292
- #~ msgstr ""
1293
- #~ "Это страница быстрой настройки в \"один клик\". Если вы не хотите "
1294
- #~ "разбираться в настройках плагина или вам сложно понять их, то это "
1295
- #~ "отличный способ для вас быстро настроить плагин. Используйте наши шаблоны "
1296
- #~ "ниже, чтобы активировать рекомендованные нами настройки оптимизации."
1297
-
1298
- #~ msgid ""
1299
- #~ "This is the quick plug-in setup mode. Use it if you do not want to "
1300
- #~ "understand the settings or do not understand what settings you need to "
1301
- #~ "use."
1302
- #~ msgstr ""
1303
- #~ "Это режим быстрой настройки плагина. Используйте его, если вы не хотите "
1304
- #~ "разбираться в настройках или не понимаете, какие настройки вам нужны."
1305
-
1306
- #~ msgid "Select mode"
1307
- #~ msgstr "Выберите режим"
1308
-
1309
- #~ msgid ""
1310
- #~ "After selecting the mode, the plug-in automatically activates the "
1311
- #~ "necessary settings for the mode."
1312
- #~ msgstr ""
1313
- #~ "Выбрав режим, плагин автоматически активирует необходимые настройки, для "
1314
- #~ "выполнения этого режима."
1315
-
1316
- #~ msgid "Disable admin notice"
1317
- #~ msgstr "Скрыть уведомления в админ панели"
1318
-
1319
- #~ msgid ""
1320
- #~ "Whenever there’s a major release available, a notification will display "
1321
- #~ "at the top of your admin area, letting you know your version is out-of-"
1322
- #~ "date and you need to update the core code.<br>\n"
1323
- #~ "For many people, this nag can be annoying. And if you developer websites "
1324
- #~ "for clients, you may want to hide it. After all, who wants to let their "
1325
- #~ "clients know their software is old?"
1326
- #~ msgstr ""
1327
- #~ "Всякий раз, когда доступна основная версия плагинов, тем, вы будете "
1328
- #~ "видеть уведомление, что вам необходимо обновить базовый код. Также "
1329
- #~ "некоторые плагины могут выводить уведомления о переходе на премиум версию "
1330
- #~ "или активацию темы.<br>\n"
1331
- #~ "Для многих людей это может быть раздражающим. И если вы создаете веб-"
1332
- #~ "сайты для клиентов, вы можете скрыть их. В конце концов, кто хочет, чтобы "
1333
- #~ "их клиенты знали, что их программное обеспечение устарело?"
1334
-
1335
- #~ msgid "Disable admin notices."
1336
- #~ msgstr "Отключить уведомления администратора"
1337
-
1338
- #~ msgid ""
1339
- #~ "You can disable all plugin updates or choose manual or automatic update "
1340
- #~ "mode."
1341
- #~ msgstr ""
1342
- #~ "Вы можете отключить все обновления плагинов или выбрать режим ручного или "
1343
- #~ "автоматического обновления."
1344
-
1345
- #~ msgid "Recommended Mode"
1346
- #~ msgstr "Рекомендуемый режим"
1347
-
1348
- #~ msgid "Code Clearing"
1349
- #~ msgstr "Очистка кода"
1350
-
1351
- #~ msgid "Security"
1352
- #~ msgstr "Безопасность"
1353
-
1354
- #~ msgid "Seo optimization"
1355
- #~ msgstr "Оптимизация SEO"
1356
-
1357
- #~ msgid "Remove default Widgets"
1358
- #~ msgstr "Удалить виджеты по умолчанию"
1359
-
1360
- #~ msgid "Activate"
1361
- #~ msgstr "Включить"
1362
-
1363
- #~ msgid "Deactivate"
1364
- #~ msgstr "Отключить"
1365
-
1366
- #~ msgid ""
1367
- #~ "If your site uses an SSL certificate, check this box to enable "
1368
- #~ "redirection from http to https."
1369
- #~ msgstr ""
1370
- #~ "Если ваш сайт использует сертификат SSL, установите этот флажок, чтобы "
1371
- #~ "включить перенаправление с http на https."
1372
-
1373
- #~ msgid "Puts the redirect from http to https."
1374
- #~ msgstr "Передает перенаправление с http на https."
1375
-
1376
- #~ msgid "Warning! Before activation, make sure your site is open https."
1377
- #~ msgstr ""
1378
- #~ "Внимание! Перед активацией убедитесь, что ваш сайт открывается по https."
1379
-
1380
- #~ msgid "Replace external links in comments on the JavaScript code"
1381
- #~ msgstr "Заменить внешние ссылки в комментариях на JavaScript код"
1382
-
1383
- #~ msgid "Replace external links from comment authors on the JavaScript code"
1384
- #~ msgstr "Заменить внешние ссылки от авторов комментариев на код JavaScript"
1385
-
1386
- #~ msgid "Disable X-Pingback"
1387
- #~ msgstr "Убрать ссылку на X-Pingback и возможность спамить pingback-ами"
1388
-
1389
- #~ msgid "Remove field \"site\" in comment form"
1390
- #~ msgstr "Удаляет поле \"Сайт\" в форме комментариев"
1391
-
1392
- #~ msgid "General"
1393
- #~ msgstr "Основные"
1394
-
1395
- #~ msgid ""
1396
- #~ "Tired of spam in the comments? Do visitors leave \"blank\" comments for "
1397
- #~ "the sake of a link to their site?"
1398
- #~ msgstr ""
1399
- #~ "Надоел спам в комментариях? Посетители оставляют «пустые» комментарии "
1400
- #~ "ради ссылки на свой сайт?"
1401
-
1402
- #~ msgid "Removes the \"Site\" field from the comment form."
1403
- #~ msgstr "Убирает поле «Сайт» из формы комментирования."
1404
-
1405
- #~ msgid ""
1406
- #~ "Works with the standard comment form, if the form is manually written in "
1407
- #~ "your theme-it probably will not work!"
1408
- #~ msgstr ""
1409
- #~ "Работает со стандартной формой комментирования, если в Вашей теме форма "
1410
- #~ "прописана вручную - скорей всего не сработает!"
1411
-
1412
- #~ msgid ""
1413
- #~ "Superfluous external links from comments, which can be typed from a dozen "
1414
- #~ "and more for one article, do not bring anything good for promotion."
1415
- #~ msgstr ""
1416
- #~ "Внешние ссылки в комментариях, которых может быть десятки или больше на "
1417
- #~ "одной странице, могут ухудшить продвижение вашего сайта."
1418
-
1419
- #~ msgid "Replaces the links of this kind of %s, on links of this kind %s"
1420
- #~ msgstr ""
1421
- #~ "Заменяет ссылки %s, на span тег и устанавливает переход с помощью "
1422
- #~ "JavaScript %s"
1423
-
1424
- #~ msgid ""
1425
- #~ "Up to 90 percent of comments in the blog can be left for the sake of an "
1426
- #~ "external link. Even nofollow from page weight loss here does not help."
1427
- #~ msgstr ""
1428
- #~ "До 90 процентов комментариев в блоге оставляют ради внешней ссылки. Не "
1429
- #~ "поможет даже nofollow от потери веса страницы."
1430
-
1431
- #~ msgid ""
1432
- #~ "Replaces the links of the authors of comments on the JavaScript code, it "
1433
- #~ "is impossible to distinguish it from usual links."
1434
- #~ msgstr ""
1435
- #~ "Заменяет ссылки авторов комментариев на JavaScript код, его невозможно "
1436
- #~ "отличить от обычной ссылки."
1437
-
1438
- #~ msgid "In some Wordpress topics this may not work."
1439
- #~ msgstr "В некоторых темах Wordpress это может не сработать."
1440
-
1441
- #~ msgid "Disable plugin updates"
1442
- #~ msgstr "Отключить обновления плагинов"
1443
-
1444
- #~ msgid "Disable theme updates"
1445
- #~ msgstr "Отключить обновления тем"
1446
-
1447
- #~ msgid "Disable Automatic Translation Updates"
1448
- #~ msgstr "Отключить автоматические обновления переводов"
1449
-
1450
- #~ msgid "Disable wordPress core updates"
1451
- #~ msgstr "Отключить обновления ядра Wordpress"
1452
-
1453
- #~ msgid "Enable updates for VCS Installations"
1454
- #~ msgstr "Включить обновления для установок VCS"
1455
-
1456
- #~ msgid "Disable all updates"
1457
- #~ msgstr "Отключить обновления"
1458
-
1459
- #~ msgid "Plugin Updates"
1460
- #~ msgstr "Обновления плагина"
1461
-
1462
- #~ msgid "Monual updates"
1463
- #~ msgstr "Ручные"
1464
-
1465
- #~ msgid "Enable auto updates"
1466
- #~ msgstr "Автоматические"
1467
-
1468
- #~ msgid "Disable updates"
1469
- #~ msgstr "Отключить все"
1470
-
1471
- #~ msgid "Theme Updates"
1472
- #~ msgstr "Обновления тем"
1473
-
1474
- #~ msgid ""
1475
- #~ "You can disable all themes updates or choose manual or automatic update "
1476
- #~ "mode."
1477
- #~ msgstr ""
1478
- #~ "Вы можете отключить все обновления тем или выбрать режим ручного или "
1479
- #~ "автоматического обновления."
1480
-
1481
- #~ msgid "WordPress Core Updates"
1482
- #~ msgstr "Базовые обновления Wordpress"
1483
-
1484
- #~ msgid "Disable auto updates"
1485
- #~ msgstr "Отключить автоматические обновления"
1486
-
1487
- #~ msgid "Allow minor auto updates"
1488
- #~ msgstr "Разрешить незначительные автоматические обновления"
1489
-
1490
- #~ msgid "Allow major auto updates"
1491
- #~ msgstr "Разрешить основные автоматические обновления"
1492
-
1493
- #~ msgid "Allow development auto updates"
1494
- #~ msgstr "Разрешить разрабатываемые автоматические обновления"
1495
-
1496
- #~ msgid ""
1497
- #~ "You can disable all core WordPress updates, or disable only automatic "
1498
- #~ "updates. Also you can select the update mode. By default (minor)"
1499
- #~ msgstr ""
1500
- #~ "Вы можете отключить все основные обновления WordPress или отключить "
1501
- #~ "только автоматические обновления. Также вы можете выбрать режим "
1502
- #~ "обновления. По умолчанию (младший)"
1503
-
1504
- #~ msgid ""
1505
- #~ "Major - automatically update to major releases (e.g., 4.1, 4.2, 4.3)."
1506
- #~ msgstr ""
1507
- #~ "Основные - автоматически обновления основных версий (4.1, 4.2, 4.3 и т.д)."
1508
-
1509
- #~ msgid ""
1510
- #~ "Minor - automatically update to minor releases (e.g., 4.1.1, 4.1.2, "
1511
- #~ "4.1.3).."
1512
- #~ msgstr ""
1513
- #~ "Незначительные - автоматически обновления промежуточных версий (4.1.1, "
1514
- #~ "4.1.2, 4.1.3 и т.д)."
1515
-
1516
- #~ msgid "Development - update automatically to Bleeding Edge releases."
1517
- #~ msgstr "Разрабатываемые - автоматические обновления до финальных выпусков."
1518
-
1519
- #~ msgid ""
1520
- #~ "Enable Automatic Updates even if a VCS folder (.git, .hg, .svn) was found "
1521
- #~ "in the WordPress directory"
1522
- #~ msgstr ""
1523
- #~ "Включить автоматическое обновление, даже если папка VCS (.git, .hg, .svn) "
1524
- #~ "была найдена в каталоге WordPress"
1525
-
1526
- #~ msgid "Settings"
1527
- #~ msgstr "Настройки"
1528
-
1529
- #~ msgid "All site Updates"
1530
- #~ msgstr "Все обновления сайта"
1531
-
1532
- #~ msgid "Save settings"
1533
- #~ msgstr "Сохранить настройки"
1534
-
1535
- #~ msgid ""
1536
- #~ "A neutral setting that can not harm your site, but you must be sure that "
1537
- #~ "you need to use it."
1538
- #~ msgstr ""
1539
- #~ "Нейтральная настройка, которая не может нанести вред вашему сайту, но вы "
1540
- #~ "должны быть уверены, что вам нужно ее использовать."
1541
-
1542
- #~ msgid ""
1543
- #~ "When set this option, you must be careful. Plugins and themes may depend "
1544
- #~ "on this function. You must be sure that you can disable this feature for "
1545
- #~ "the site."
1546
- #~ msgstr ""
1547
- #~ "При включении этой настройки, вы должны быть осторожны. Некоторые плагины "
1548
- #~ "и темы могут зависеть от этой функции. Вы должны быть уверены, что эту "
1549
- #~ "функцию можно отключить для сайта."
1550
-
1551
- #~ msgid "Absolutely safe setting, We recommend to use."
1552
- #~ msgstr "Абсолютно безопасная настройка, рекомендуем использовать."
1553
-
1554
- #~ msgid "Hover to the icon to get help for the feature you selected."
1555
- #~ msgstr ""
1556
- #~ "Наведите указатель мыши на значок, чтобы получить справку по выбранной "
1557
- #~ "функции."
1558
-
1559
- #~ msgid "Do you want the plugin to improved and update?"
1560
- #~ msgstr "Вы хотите, чтобы плагин улучшался и обновлялся?"
1561
-
1562
- #~ msgid ""
1563
- #~ "Help the author, leave a review on wordpress.org. Thanks to feedback, I "
1564
- #~ "will know that the plugin is really useful to you and is needed."
1565
- #~ msgstr ""
1566
- #~ "Помогите автору, оставьте отзыв на wordpress.org. Благодаря отзывам, я "
1567
- #~ "буду знать, что плагин действительно полезен для вас и необходим."
1568
-
1569
- #~ msgid "And also write your ideas on how to extend or improve the plugin."
1570
- #~ msgstr ""
1571
- #~ "А также напишите свои идеи о том, как расширить или улучшить плагин."
1572
-
1573
- #~ msgid "Go rate us and push ideas"
1574
- #~ msgstr "Оставить отзыв или поделиться идеей"
1575
-
1576
- #~ msgid "Donation for plug-in development"
1577
- #~ msgstr "Пожертвования на развитие плагина"
1578
-
1579
- #~ msgid "You do not have permission to edit page."
1580
- #~ msgstr "У вас недостаточно прав, для редактирования этой страницы."
1581
-
1582
- #~ msgid "The settings have been updated successfully!"
1583
- #~ msgstr "Настройки были успешно обновлены!"
1584
-
1585
- #~ msgid ""
1586
- #~ "The first item in the toolbar goes wordpress logo and external links to "
1587
- #~ "wordpress.org, WP forums and documentation."
1588
- #~ msgstr ""
1589
- #~ "Первый элемент в панели инструментов идет логотип wordpress и внешние "
1590
- #~ "ссылки на wordpress.org, WP форумах и документации."
1591
-
1592
- #~ msgid "Removes all links to wordpress.org from the toolbar."
1593
- #~ msgstr "Удаляет все ссылки на wordpress.org с панели инструментов."
1594
-
1595
- #~ msgid "Revisions"
1596
- #~ msgstr "Ревизии"
1597
-
1598
- #~ msgid ""
1599
- #~ "Editorial (or revision) in WordPress are long-standing. They allow you to "
1600
- #~ "save a backup copy of the record or page whenever a change is made, and "
1601
- #~ "then view all versions with the ability to restore any of them."
1602
- #~ msgstr ""
1603
- #~ "Редакции (или ревизии) в WordPress, давно. Они позволяют вам сохранить "
1604
- #~ "резервную копию на запись или на страницу всякий раз, когда вы внесли "
1605
- #~ "изменения в редакторе Wordpress. В дальнейшем вы можете просмотреть все "
1606
- #~ "версии с возможностью восстановить любую из них."
1607
-
1608
- #~ msgid "Clearfy - disable unused features"
1609
- #~ msgstr "Clearfy - отключите бесполезные функции"
1610
-
1611
- #~ msgid "Header cleaning"
1612
- #~ msgstr "Очистка кода"
1613
-
1614
- #~ msgid "Save changes"
1615
- #~ msgstr "Сохранить настройки"
1616
-
1617
- #~ msgid ""
1618
- #~ "This page contains additional settings, usually not listed in the "
1619
- #~ "recommended list."
1620
- #~ msgstr ""
1621
- #~ "Эта страница содержит дополнительные параметры, обычно, не перечисленные "
1622
- #~ "в списке рекомендованных."
1623
-
1624
- #~ msgid ""
1625
- #~ "This page contains the security configuration settings for your site."
1626
- #~ msgstr ""
1627
- #~ "Эта страница содержит параметры конфигурации безопасности для вашего "
1628
- #~ "сайта."
1629
-
1630
- #~ msgid "This page contains settings for setting up duplicate pages."
1631
- #~ msgstr "Эта страница содержит параметры для настройки дублирования страниц."
1632
-
1633
- #~ msgid "On this settings page, you can optimize the source code of the page."
1634
- #~ msgstr ""
1635
- #~ "На этой странице настроек вы можете оптимизировать исходный код страницы."
1636
-
1637
- #~ msgid "On this page you can configure the privacy settings of your site."
1638
- #~ msgstr ""
1639
- #~ "На этой странице вы можете установить настройки приватности для скриптов "
1640
- #~ "на вашем сайте."
1641
-
1642
- #~ msgid "Ok"
1643
- #~ msgstr "Принять"
1644
-
1645
- #~ msgid "This page contains important settings for SEO optimization."
1646
- #~ msgstr "Эта страница содержит важные настройки SEO оптимизации."
1647
-
1648
- #~ msgid "Header section"
1649
- #~ msgstr "Раздел head"
1650
-
1651
- #~ msgid "* Warning! Before activation, make sure your site is open https."
1652
- #~ msgstr ""
1653
- #~ "* Внимание! Перед активацией убедитесь, что ваш сайт открывается по https."
1654
-
1655
- #~ msgid ""
1656
- #~ "You are using the old version of PHP, please update the version of PHP to "
1657
- #~ "5.3 and higher. You must deactivate the \"Clearfy - unused features\" "
1658
- #~ "plugin, since it will not work with the old version of php."
1659
- #~ msgstr ""
1660
- #~ "Вы используете старую версию PHP, пожалуйста, обновите версию PHP до 5.3 "
1661
- #~ "и выше. Вы должны деактивировать плагин «Clearfy - неиспользуемые "
1662
- #~ "функции», так как он не будет работать со старой версией php."
1663
-
1664
- #~ msgid ""
1665
- #~ "You do not have sufficient permissions to activate plugins for this site."
1666
- #~ msgstr ""
1667
- #~ "У вас недостаточно прав для того, чтобы активировать плагины на этом "
1668
- #~ "сайте."
1669
-
1670
- #~ msgid ""
1671
- #~ "* It works with the standard comment form, if in your subject the form is "
1672
- #~ "spelled out manually-most likely it will not work!"
1673
- #~ msgstr ""
1674
- #~ "* Он работает со стандартной формой комментария, если в вашем предмете "
1675
- #~ "форма изложена вручную - скорее всего, она не сработает!"
1676
-
1677
- #~ msgid ""
1678
- #~ "Works with the standard comment form, if the form is manually written in "
1679
- #~ "your theme - it probably will not work!"
1680
- #~ msgstr ""
1681
- #~ "Работает со стандартной формой комментирования, если в Вашей теме форма "
1682
- #~ "прописана вручную - скорей всего не сработает!"
1683
-
1684
- #~ msgid "Urls pack"
1685
- #~ msgstr "URL-адреса"
1686
-
1687
- #~ msgid "Tasks"
1688
- #~ msgstr "Задачи"
1689
-
1690
- #~ msgid ""
1691
- #~ "By default, WordPress generates all types of different RSS feeds for your "
1692
- #~ "site. While RSS feeds can be useful if you are running a blog, businesses "
1693
- #~ "might not always utilize these. Not every site out there has a blog.\n"
1694
- #~ "<br><b>Clearfy</b>: Removes a link to the RSS-feed from the &lt;head&gt; "
1695
- #~ "section, closes and puts the redirect from all RSS-feeds."
1696
- #~ msgstr ""
1697
- #~ "По умолчанию WordPress генерирует различные виды RSS-каналов для вашего "
1698
- #~ "сайта. Иногда RSS-каналы могут быть полезны, если вы используете блог "
1699
- #~ "например, но если у вас обычный одностаничник, то RSS для вас будет "
1700
- #~ "бесполезен. <br><b>Clearfy</b>: Удаляет ссылку на RSS-канал из раздела "
1701
- #~ "&lt;head&gt;, закрывает и ставит перенаправления от всех RSS-каналов."
1702
-
1703
- #~ msgid ""
1704
- #~ "Tired of spam in the comments? Do visitors leave \"blank\" comments for "
1705
- #~ "the sake of a link to their site?\n"
1706
- #~ "<br><b>Clearfy</b>: Removes the \"Site\" field from the comment form.\n"
1707
- #~ "<br>--<br><span style=\"color:#dd2b19\"> * Works with the standard "
1708
- #~ "comment form, if the form is manually written in your theme - it probably "
1709
- #~ "will not work!</span>\n"
1710
- #~ msgstr ""
1711
- #~ "Надоел спам в комментариях? Посетители оставляют «пустые» комментарии "
1712
- #~ "ради ссылки на свой сайт?\n"
1713
- #~ "<br><b>Clearfy</b>: Убирает поле «Сайт» из формы комментирования.\n"
1714
- #~ "<br>--<br><span style=\"color:#dd2b19\"> * Работает со стандартной формой "
1715
- #~ "комментирования, если в Вашей теме форма прописана вручную - скорей всего "
1716
- #~ "не сработает!</span>\n"
1717
-
1718
- #~ msgid ""
1719
- #~ "The first item in the toolbar goes wordpress logo and external links to "
1720
- #~ "wordpress.org, WP forums and documentation.\n"
1721
- #~ "\t\t<br><b>Clearfy</b>: Removes all links to wordpress.org from the "
1722
- #~ "toolbar."
1723
- #~ msgstr ""
1724
- #~ "Первый элемент в панели инструментов идет логотип wordpress и внешние "
1725
- #~ "ссылки на wordpress.org, WP форумах и документации.<br><b>Clearfy</b>: "
1726
- #~ "удаляет все ссылки на wordpress.org с панели инструментов."
1727
-
1728
- #~ msgid ""
1729
- #~ "Remove meta generator <span class=\"wbcr-clearfy-recomended-text"
1730
- #~ "\">(Recommended)</span>"
1731
- #~ msgstr ""
1732
- #~ "Удалить meta generator <span class=\"wbcr-clearfy-recomended-text"
1733
- #~ "\">(рекомендуется)</span>"
1734
-
1735
- #~ msgid ""
1736
- #~ "Allows attacker to learn the version of WP installed on the site. This "
1737
- #~ "meta tag has no useful function.\n"
1738
- #~ "<br><b>Clearfy</b>: Removes the meta tag from the &lt;head&gt; section"
1739
- #~ msgstr ""
1740
- #~ "Позволяет злоумышленнику узнать версию Wordpress, установленую на вашем "
1741
- #~ "сайте. Этот мета-тег не несет никакой пользы.<br><b>Clearfy</b>: удаляет "
1742
- #~ "мета-тег из раздел &lt;head&gt;"
1743
-
1744
- #~ msgid ""
1745
- #~ "Hide author login <span class=\"wbcr-clearfy-recomended-text"
1746
- #~ "\">(Recommended)</span>"
1747
- #~ msgstr ""
1748
- #~ "Убрать возможность узнать логин автора<span class=\"wbcr-clearfy-"
1749
- #~ "recomended-text\">(Рекомендовано)</span>"
1750
-
1751
- #~ msgid ""
1752
- #~ "An attacker can find out the author's login, using a similar request to "
1753
- #~ "get your site. mysite.com/?author=1\n"
1754
- #~ "\t\t\t<br><b>Clearfy</b>: Sets the redirect to exclude the possibility of "
1755
- #~ "obtaining a login."
1756
- #~ msgstr ""
1757
- #~ "Злоумышленник может узнать логин автора, с помощью подобного get запроса "
1758
- #~ "mysite.com/?author=1\n"
1759
- #~ "<br><b>Clearfy</b>: Предотвращает возможность узнать логин автора, "
1760
- #~ "устанавливая перенаправление."
1761
-
1762
- #~ msgid ""
1763
- #~ "Hide errors when logging into the site <span class=\"wbcr-clearfy-"
1764
- #~ "recomended-text\">(Recommended)</span>"
1765
- #~ msgstr ""
1766
- #~ "Спрятать ошибки при входе на сайт <span class=\"wbcr-clearfy-recomended-"
1767
- #~ "text\">(Рекомендовано)</span>"
1768
-
1769
- #~ msgid ""
1770
- #~ "WP by default shows whether you entered a wrong login or incorrect "
1771
- #~ "password, which allows attackers to understand if there is a certain user "
1772
- #~ "on the site, and then start searching through the passwords.\n"
1773
- #~ "<br><b>Clearfy</b>: Changes in the text of the error so that attackers "
1774
- #~ "could not find the login."
1775
- #~ msgstr ""
1776
- #~ "Wordpress по умолчанию показывает, ввели ли вы неправильный логин или "
1777
- #~ "неправильный пароль, что дает злоумышленникам понять, существует ли "
1778
- #~ "определенный пользователь на сайте, а после начать перебор паролей.\n"
1779
- #~ "<br><b>Clearfy</b>: Меняет текст ошибки так, чтобы злоумышленники не "
1780
- #~ "смогли подобрать логин."
1781
-
1782
- #~ msgid ""
1783
- #~ "Disable X-Pingback <span class=\"wbcr-clearfy-recomended-text"
1784
- #~ "\">(Recommended)</span>"
1785
- #~ msgstr ""
1786
- #~ "Убрать ссылку на X-Pingback и возможность спамить pingback-ами <span "
1787
- #~ "class=\"wbcr-clearfy-recomended-text\">(Рекомендовано)</span>"
1788
-
1789
- #~ msgid ""
1790
- #~ "A pingback is basically an automated comment that gets created when "
1791
- #~ "another blog links to you. A self-pingback is created when you link to an "
1792
- #~ "article within your own blog. Pingbacks are essentially nothing more than "
1793
- #~ "spam and simply waste resources.\n"
1794
- #~ "\t\t<br><b>Clearfy</b>: Removes the server responses a reference to the "
1795
- #~ "xmlrpc file."
1796
- #~ msgstr ""
1797
- #~ "Pingback по-существу автоматизированных комментарий, который создается, "
1798
- #~ "когда другой блог ссылается на вас. Self-pingback создается, когда вы "
1799
- #~ "оставили ссылку на статью в своем блоге. Pingbacks по существу являются "
1800
- #~ "не более чем спам и пустая трата ресурсов вашего сайта.<br><b>Clearfy</"
1801
- #~ "b>: Удаляет ссылку на xmlrpc-файл и ответ сервера."
1802
-
1803
- #~ msgid ""
1804
- #~ "Remove archives date <span class=\"wbcr-clearfy-recomended-text"
1805
- #~ "\">(Recommended)</span>"
1806
- #~ msgstr ""
1807
- #~ "Удалить архивы дат <span class=\"wbcr-clearfy-recomended-text"
1808
- #~ "\">(Рекомендовано)</span>"
1809
-
1810
- #~ msgid ""
1811
- #~ "Many duplicates in date archives. Imagine, in addition, that your article "
1812
- #~ "will be displayed in the main and in the category, you will still receive "
1813
- #~ "at least 3 duplicates: in archives by year, month and date, for example / "
1814
- #~ "2016/2016/02 / / 2016/02/15.\n"
1815
- #~ "<br><b>Clearfy</b>: Removes all pages with the date archives and puts a "
1816
- #~ "redirect."
1817
- #~ msgstr ""
1818
- #~ "Огромное количество дублей в архивах дат. Представьте, кроме того, что "
1819
- #~ "Ваша статья будет выводиться на главной и в категории, Вы еще получите "
1820
- #~ "как минимум 3 дубля: в архивах по году, месяцу и дате, "
1821
- #~ "например /2016/ /2016/02/ /2016/02/15.\n"
1822
- #~ "<br><b>Clearfy</b>: Удаляет полностью архивы дат и ставит редирект."
1823
-
1824
- #~ msgid ""
1825
- #~ "Remove author archives <span class=\"wbcr-clearfy-recomended-text"
1826
- #~ "\">(Recommended)</span>"
1827
- #~ msgstr ""
1828
- #~ "Удалить архивы автора <span class=\"wbcr-clearfy-recomended-text"
1829
- #~ "\">(Рекомендовано)</span>"
1830
-
1831
- #~ msgid ""
1832
- #~ "If the site is only filled by you - a mandatory item. Allows you to get "
1833
- #~ "rid of duplicates on user archives, for example /author/admin/.\n"
1834
- #~ "<br><b>Clearfy</b>: Removes all pages with the author archives and puts a "
1835
- #~ "redirect."
1836
- #~ msgstr ""
1837
- #~ "Если сайт заполняете только вы - это функция обязательна. Позволяет вам "
1838
- #~ "избавиться от дубликатов страниц автора, например /author/admin /.\n"
1839
- #~ "<br><b>Clearfy</b>: удаляет все страницы из архивов автора и ставит "
1840
- #~ "перенаправление."
1841
-
1842
- #~ msgid ""
1843
- #~ "If you use tags only for the block Similar records, or do not use them at "
1844
- #~ "all - it will be more correct to close them to avoid duplicates.\n"
1845
- #~ "<br><b>Clearfy</b>: Removes all pages with the tag archives and puts a "
1846
- #~ "redirect."
1847
- #~ msgstr ""
1848
- #~ "Если вы используете теги только для виджета \"Похожие записи\", либо не "
1849
- #~ "используете их совсем - правильнее будет их закрыть, чтобы избежать "
1850
- #~ "дублей.\n"
1851
- #~ "<br><b>Clearfy</b>: Ставит редирект со страниц тегов на главную."
1852
-
1853
- #~ msgid ""
1854
- #~ "Remove attachment pages <span class=\"wbcr-clearfy-recomended-text"
1855
- #~ "\">(Recommended)</span>"
1856
- #~ msgstr ""
1857
- #~ "Удалить страницы вложений <span class=\"wbcr-clearfy-recomended-text"
1858
- #~ "\">(Рекомендовано)</span>"
1859
-
1860
- #~ msgid ""
1861
- #~ "Every of the pictures has its own page on the site. Such pages are "
1862
- #~ "successfully indexed and create duplicates. The site can have thousands "
1863
- #~ "of same-type attachment pages.\n"
1864
- #~ "<br><b>Clearfy</b>: Removes attachment pages and puts a redirect."
1865
- #~ msgstr ""
1866
- #~ "Каждая загруженная картинка имеет свою страничку на сайте, состоящую "
1867
- #~ "только из одной картинки. Такие страницы успешно индексируются и создают "
1868
- #~ "дубли. На сайте могут быть тысячи однотипных страниц вложений.\n"
1869
- #~ "<br><b>Clearfy</b>: Удаляет страницы вложений и ставит редирект на запись."
1870
-
1871
- #~ msgid ""
1872
- #~ "Remove post pagination <span class=\"wbcr-clearfy-recomended-text"
1873
- #~ "\">(Recommended)</span>"
1874
- #~ msgstr ""
1875
- #~ "Удалить постраничную навигацию записей <span class=\"wbcr-clearfy-"
1876
- #~ "recomended-text\">(Рекомендовано)</span>"
1877
-
1878
- #~ msgid ""
1879
- #~ "In WordPress, any post can be divided into parts (pages), each part will "
1880
- #~ "have its own address. But this functionality is rarely used, but it can "
1881
- #~ "create trouble for you. For example, you can add a number to the address "
1882
- #~ "of any entry of your blog, /privet-mir/1/ - the post itself will open, "
1883
- #~ "which will be a duplicate. You can substitute any number.\n"
1884
- #~ "<br><b>Clearfy</b>: Removes the pagination from the post and puts a "
1885
- #~ "redirect. Example: /post-name/number"
1886
- #~ msgstr ""
1887
- #~ WordPress любое содержание можно разделить на части (страницы), каждая "
1888
- #~ "часть будет иметь свой собственный адрес. Эта функциональность "
1889
- #~ "используется редко, но это может создать проблемы для вас. Например вы "
1890
- #~ "можете добавить номер в адрес любой записи вашего блога, /hello-world/1/ "
1891
- #~ "- откроет текущую страницу, которая будет дублироваться.\n"
1892
- #~ " <br><b>Clearfy</b>: предотвращает создание пагинации для страницы и "
1893
- #~ "ставит перенаправление на ссылки такого типа: /privet-mir/1/ "
1894
-
1895
- #~ msgid ""
1896
- #~ "Remove ?replytocom <span class=\"wbcr-clearfy-recomended-text"
1897
- #~ "\">(Recommended)</span>"
1898
- #~ msgstr ""
1899
- #~ "Удалить ?replytocom <span class=\"wbcr-clearfy-recomended-text"
1900
- #~ "\">(Рекомендовано)</span>"
1901
-
1902
- #~ msgid ""
1903
- #~ "WordPress adds ?replytocom to the link \"Reply\" in the comments, if you "
1904
- #~ "use hierarchical comments.\n"
1905
- #~ "<br><b>Clearfy</b>: ?relpytocom remove and and puts a redirect."
1906
- #~ msgstr ""
1907
- #~ "WordPress добавляет ?replytocom к ссылке «Ответ» в комментариях, если вы "
1908
- #~ "используете иерархические комментарии.\n"
1909
- #~ "<br><b>Clearfy</b>: удаляет ?relpytocom и ставит перенаправление."
1910
-
1911
- #~ msgid ""
1912
- #~ "Remove REST API Links <span class=\"wbcr-clearfy-recomended-text"
1913
- #~ "\">(Recommended)</span>"
1914
- #~ msgstr ""
1915
- #~ "Удалите остальные API ссылки <span class=\"wbcr-clearfy-recomended-text"
1916
- #~ "\">(рекомендуется)</span>"
1917
-
1918
- #~ msgid ""
1919
- #~ "The WordPress REST API provides API endpoints for WordPress data types "
1920
- #~ "that allow developers to interact with sites remotely by sending and "
1921
- #~ "receiving JSON (JavaScript Object Notation) objects. However, a lot of "
1922
- #~ "sites don’t use this, and therefore in most cases, it is just unnecessary "
1923
- #~ "code.\n"
1924
- #~ "<br><b>Clearfy:</b> Removes REST API link tag from the front end and the "
1925
- #~ "REST API header link from page requests."
1926
- #~ msgstr ""
1927
- #~ "WordPress REST API предоставляет API для работы с WordPress данными, это "
1928
- #~ "позволяет разработчикам взаимодействовать с сайтами удаленно, посредством "
1929
- #~ "отправки и получения данных в формате JSON (JavaScript Object Notation). "
1930
- #~ "Однако многие сайты не используют это, и поэтому в большинстве случаев, "
1931
- #~ "это только ненужный код.\n"
1932
- #~ "<br><b>Clearfy:</b> Отключает REST API и удаляет все ссылки из исходного "
1933
- #~ "кода страницы."
1934
-
1935
- #~ msgid ""
1936
- #~ "Disable Emojis <span class=\"wbcr-clearfy-recomended-text"
1937
- #~ "\">(Recommended)</span>"
1938
- #~ msgstr ""
1939
- #~ "Отключить Emojis (эмоции)<span class=\"wbcr-clearfy-recomended-text"
1940
- #~ "\">(Рекомендовано)</span>"
1941
-
1942
- #~ msgid ""
1943
- #~ "Emojis are fun and all, but if you are aren’t using them they actually "
1944
- #~ "load a JavaScript file (wp-emoji-release.min.js) on every page of your "
1945
- #~ "website. For a lot of businesses, this is not needed and simply adds load "
1946
- #~ "time to your site. So we recommend disabling this.\n"
1947
- #~ "<br><b>Clearfy:</b> Removes WordPress Emojis JavaScript file (wp-emoji-"
1948
- #~ "release.min.js)."
1949
- #~ msgstr ""
1950
- #~ "Emojis это смайлы (эмоции), если вы не используете их на своем сайте, в "
1951
- #~ "исходном коде страницы будет загружаться JavaScript файл (wp-emoji-"
1952
- #~ "release.min.js), на каждой странице вашего веб-сайта. Для многих сайтов "
1953
- #~ "это не требуется и просто увеличивает время загрузки страницы. Поэтому мы "
1954
- #~ "рекомендуем отключить это.\n"
1955
- #~ "<br><b>Clearfy:</b> Удаляет код Emojis из исходного кода страницы"
1956
-
1957
- #~ msgid ""
1958
- #~ "Remove dns-prefetch <span class=\"wbcr-clearfy-recomended-text"
1959
- #~ "\">(Recommended)</span>"
1960
- #~ msgstr ""
1961
- #~ "Удалить dns-prefetch <span class=\"wbcr-clearfy-recomended-text"
1962
- #~ "\">(Рекомендовано)</span>"
1963
-
1964
- #~ msgid ""
1965
- #~ "Since version 4.6.1 in WordPress there are new links in the section &lt;"
1966
- #~ "head&gt; this type of: <code>&lt;link rel=\"dns-prefetch\" href=\"//s.w."
1967
- #~ "org\"&gt;</code>\n"
1968
- #~ "<br><b>Clearfy</b>: Removes dns-prefetch links from the &lt;head&gt; "
1969
- #~ "section"
1970
- #~ msgstr ""
1971
- #~ "Начиная с версии 4.6.1 в WordPress появляются новые ссылки в секции &lt;"
1972
- #~ "head&gt; пример: <code>&lt;link rel=\"dns-prefetch\" href = \"//s.w.org"
1973
- #~ "\"&gt;</code>\n"
1974
- #~ "<br><b>Clearfy</b>: Удаляет ссылки из секции &lt;head&gt;"
1975
-
1976
- #~ msgid ""
1977
- #~ "Remove RSD Link <span class=\"wbcr-clearfy-recomended-text"
1978
- #~ "\">(Recommended)</span>"
1979
- #~ msgstr ""
1980
- #~ "Удаляет RSD ссылку <span class=\"wbcr-clearfy-recomended-text"
1981
- #~ "\">(Рекомендовано)</span>"
1982
-
1983
- #~ msgid ""
1984
- #~ "The above link is used by blog clients. If you edit your site from your "
1985
- #~ "browser then you don’t need this. It is also used by some 3rd party "
1986
- #~ "applications that utilize XML-RPC requests. In most cases, this is just "
1987
- #~ "unnecessary code.<br><code>&lt;link rel=\"EditURI\" type=\"application/rsd"
1988
- #~ "+xml\" title=\"RSD\" href=\"https://yourdomain.com/xmlrpc.php?rsd\"&gt;</"
1989
- #~ "code>\n"
1990
- #~ "<br><b>Clearfy</b>: Remove RSD (Real Simple Discovery) link tag."
1991
- #~ msgstr ""
1992
- #~ "Эта ссылка используется клиентами блога. Если вы редактируете сайт из "
1993
- #~ "вашего браузера, то вам не нужно это. Она также используется в некоторых "
1994
- #~ "приложениях, которые используют XML-RPC-запросы. В большинстве случаев "
1995
- #~ "это только ненужный код.<br> Пример: <code>&lt;link rel=\"EditURI\" type="
1996
- #~ "\"application/rsd+xml\" title=\"RSD\" href=\"https://yourdomain.com/"
1997
- #~ "xmlrpc.php?rsd\"&gt;</code>\n"
1998
- #~ "<br><b>Clearfy</b>: Удаляет RSD link тег"
1999
-
2000
- #~ msgid ""
2001
- #~ "Remove wlwmanifest Link <span class=\"wbcr-clearfy-recomended-text"
2002
- #~ "\">(Recommended)</span>"
2003
- #~ msgstr ""
2004
- #~ "Удалить wlwmanifest Link <span class=\"wbcr-clearfy-recomended-text"
2005
- #~ "\">(рекомендуется)</span>"
2006
-
2007
- #~ msgid ""
2008
- #~ "<code>&lt;link rel=\"wlwmanifest\" type=\"application/wlwmanifest+xml\" "
2009
- #~ "href=\"https://yourdomain.com/wp-includes/wlwmanifest.xml\"&gt;</"
2010
- #~ "code><br>This link is actually used by Windows Live Writer. If you don’t "
2011
- #~ "know use Windows Live Writer, which we are guessing you don’t, this is "
2012
- #~ "just unnecessary code.\n"
2013
- #~ "<br><b>Clearfy</b>: Remove wlwmanifest (Windows Live Writer) link tag."
2014
- #~ msgstr ""
2015
- #~ "<code>&lt;link rel=\"wlwmanifest\" type=\"application/wlwmanifest+xml\" "
2016
- #~ "href=\"https://yourdomain.com/wp-includes/wlwmanifest.xml\"&gt;</"
2017
- #~ "code><br>Эта ссылка используется фактически Windows Live Writer. Если вы "
2018
- #~ "не знаете, как использовать Windows Live Writer, то это только ненужный "
2019
- #~ "код.\n"
2020
- #~ "<br><b>Clearfy</b>: Удаляет тег link wlwmanifest (Windows Live Writer)."
2021
-
2022
- #~ msgid ""
2023
- #~ "Remove Shortlink <span class=\"wbcr-clearfy-recomended-text"
2024
- #~ "\">(Recommended)</span>"
2025
- #~ msgstr ""
2026
- #~ "Удалить короткие ссылки <span class=\"wbcr-clearfy-recomended-text"
2027
- #~ "\">(Рекомендовано)</span>"
2028
-
2029
- #~ msgid ""
2030
- #~ "By default, the following tag shows up in every WordPress install."
2031
- #~ "<br><code>&lt;link rel=\"shortlink\" href=\"https://domain.com?p=712\"&gt;"
2032
- #~ "</code><br>This is used for a shortlink to your pages and posts. However, "
2033
- #~ "if you are already using pretty permalinks, such as domain.com/post, then "
2034
- #~ "there is no reason to keep this, it is just unnecessary code.\n"
2035
- #~ "<br><b>Clearfy</b>: Remove Shortlink link tag."
2036
- #~ msgstr ""
2037
- #~ "По умолчанию следующий тег печатается на каждой странице ваших записей и "
2038
- #~ "страниц.<br><code>&lt;link rel=\"shortlink\" href=\"https://domain.com?"
2039
- #~ "p=712\"&gt;</code><br>Это используется, как короткая ссылка на вашу "
2040
- #~ "статью. Если вы используете постоянные ссылки, то это не нужный код.\n"
2041
- #~ "<br><b>Clearfy</b>: Удаляет тег link shortlink."
2042
-
2043
- #~ msgid ""
2044
- #~ "Remove links to previous, next post <span class=\"wbcr-clearfy-recomended-"
2045
- #~ "text\">(Recommended)</span>"
2046
- #~ msgstr ""
2047
- #~ "Удалить ссылки следующая, предыдущая запись <span class=\"wbcr-clearfy-"
2048
- #~ "recomended-text\">(Рекомендовано)</span>"
2049
-
2050
- #~ msgid ""
2051
- #~ "If you use Wordpress as a CMS, then you can delete these links, they can "
2052
- #~ "only come in handy for a blog.\n"
2053
- #~ "<br><b>Clearfy</b>: Remove the previous and next post links within the "
2054
- #~ "wp_head of your wordpress theme."
2055
- #~ msgstr ""
2056
- #~ "Если вы используете Wordpress как CMS (а не блог), то вы можете удалить "
2057
- #~ "эти ссылки, но для блога они могут быть полезны.<br><b>Clearfy</b>: "
2058
- #~ "Удаляет ссылки предидущая и следующая запись в head вашей темы wordpress."
2059
-
2060
- #~ msgid ""
2061
- #~ "Remove .recentcomments styles <span class=\"wbcr-clearfy-recomended-text"
2062
- #~ "\">(Recommended)</span>"
2063
- #~ msgstr ""
2064
- #~ "Удалить стили .recentcomments <span class=\"wbcr-clearfy-recomended-text"
2065
- #~ "\">(Рекомендовано)</span>"
2066
-
2067
- #~ msgid ""
2068
- #~ "WP by default for the widget \"recent comments\" prescribes in the code "
2069
- #~ "styles that are almost impossible to change, because to them apply! "
2070
- #~ "important.\n"
2071
- #~ "<br><b>Clearfy</b>: Removes .recentcomments styles from head section."
2072
- #~ msgstr ""
2073
- #~ "Wordpress по умолчанию для виджета \"Последние комментари\" прописывает в "
2074
- #~ "стилях код, которые почти невозможно изменить, потому что к ним "
2075
- #~ "применяются значение !important.\n"
2076
- #~ "<br><b>Clearfy</b>: удаляет .recentcomments стили из head секции."
2077
-
2078
- #~ msgid ""
2079
- #~ "Automatically set the alt attribute <span class=\"wbcr-clearfy-recomended-"
2080
- #~ "text\">(Recommended)</span>"
2081
- #~ msgstr ""
2082
- #~ "Автоматически устанавливать атрибут alt <span class=\"wbcr-clearfy-"
2083
- #~ "recomended-text\">(Рекомендовано)</span>"
2084
-
2085
- #~ msgid ""
2086
- #~ "The alt attribute is mandatory, so most SEO experts say. If you missed or "
2087
- #~ "did not fill it at all, it will be automatically assigned and will be "
2088
- #~ "equal to the title of the article.\n"
2089
- #~ "\t\t\t\t<br><b>Clearfy</b>: Replaces the <code>&lt;img scr=\"\" alt="
2090
- #~ "\"\"&gt;</code>, on attribute with an article name <code>&lt;img scr=\"\" "
2091
- #~ "alt=\"Hello world\"&gt;</code>"
2092
- #~ msgstr ""
2093
- #~ "Атрибут alt является обязательным, поэтому большинство SEO экспертов "
2094
- #~ "говорят. Если вы пропустили, или не заполнили его, он будет автоматически "
2095
- #~ "задан из названия статьи.\n"
2096
- #~ "<br><b>Clearfy</b>: Заменяет <code>&lt;img scr=\"\" alt=\"\"&gt;</code>, "
2097
- #~ "на атрибут с названием статьи <code>&lt;img scr=\"\" alt=\"Hello world"
2098
- #~ "\"&gt;</code>"
2099
-
2100
- #~ msgid ""
2101
- #~ "Replace external links in comments on the JavaScript code <span class="
2102
- #~ "\"wbcr-clearfy-recomended-text\">(Recommended)</span>"
2103
- #~ msgstr ""
2104
- #~ "Заменить внешние ссылки в комментариях на JavaScript код <span class="
2105
- #~ "\"wbcr-clearfy-recomended-text\">(Рекомендовано)</span>"
2106
-
2107
- #~ msgid ""
2108
- #~ "Superfluous external links from comments, which can be typed from a dozen "
2109
- #~ "and more for one article, do not bring anything good for promotion.\n"
2110
- #~ "<br><b>Clearfy</b>: Replaces the links of this kind of <code>&lt;a href="
2111
- #~ "\"http://yourdomain.com\" rel=\"nofollow\"&gt;example&lt;/a&gt;</code>, "
2112
- #~ "on links of this kind <code>&lt;span class=\"wbcr-clearfy-pseoudo-link\" "
2113
- #~ "data-uri=\"http://yourdomain.com\"&gt;example&lt;/span&gt;</code>"
2114
- #~ msgstr ""
2115
- #~ "Внешние ссылки в комментариях, которых может быть десятки или больше на "
2116
- #~ "одной странице, могут ухудшить продвижение вашего сайта.\n"
2117
- #~ "\n"
2118
- #~ "<br><b>Clearfy</b>: Заменяет ссылки <code>&lt;a href=\"http://yourdomain."
2119
- #~ "com\" rel=\"nofollow\"&gt;example&lt;/a&gt;</code> , на span тег и "
2120
- #~ "устанавливает переход с помощью JavaScript<code>&lt;span class=\"wbcr-"
2121
- #~ "clearfy-pseoudo-link\" data-uri=\"http://yourdomain.com\"&gt;example&lt;/"
2122
- #~ "span&gt;</code>"
2123
-
2124
- #~ msgid ""
2125
- #~ "Replace external links from comment authors on the JavaScript code <span "
2126
- #~ "class=\"wbcr-clearfy-recomended-text\">(Recommended)</span>"
2127
- #~ msgstr ""
2128
- #~ "Заменить внешние ссылки от авторов комментариев на код JavaScript <span "
2129
- #~ "class=\"wbcr-clearfy-recomended-text\">(Recommended)</span>"
2130
-
2131
- #~ msgid ""
2132
- #~ "Up to 90 percent of comments in the blog can be left for the sake of an "
2133
- #~ "external link. Even nofollow from page weight loss here does not help.\n"
2134
- #~ "<br><b>Clearfy</b>: Replaces the links of the authors of comments on the "
2135
- #~ "JavaScript code, it is impossible to distinguish it from usual links.\n"
2136
- #~ "<br>--<br><i>In some Wordpress topics this may not work.</i>"
2137
- #~ msgstr ""
2138
- #~ "До 90 процентов комментариев в блоге оставляют ради внешней ссылки. Не "
2139
- #~ "поможет даже nofollow от потери веса страницы.\n"
2140
- #~ "<br><b>Clearfy</b>: Заменяет ссылки авторов комментариев на JavaScript "
2141
- #~ "код, его невозможно отличить от обычной ссылки.\n"
2142
- #~ "<br>--<br><i>В некоторых темах Wordpress это может не сработать.</i>"
2143
-
2144
- #~ msgid ""
2145
- #~ "Automatically insert the Last Modified header <span class=\"wbcr-clearfy-"
2146
- #~ "recomended-text\">(Recommended)</span>"
2147
- #~ msgstr ""
2148
- #~ "Автоматически вставлять заголовок Last Modified <span class=\"wbcr-"
2149
- #~ "clearfy-recomended-text\">(Рекомендовано)</span>"
2150
-
2151
- #~ msgid ""
2152
- #~ "You can specify a page mask, for example: /s= or /manager/. All pages "
2153
- #~ "that contain the string will be excluded. Each exclude must begin with a "
2154
- #~ "new line."
2155
- #~ msgstr ""
2156
- #~ "Можно указать маску страницы, например: /s = или /manager/. Все страницы, "
2157
- #~ "которые содержат эти строки, будут исключены. Каждое исключение должно "
2158
- #~ "начинаться с новой строки."
2159
-
2160
- #~ msgid ""
2161
- #~ "Return an If-Modified-Since responce <span class=\"wbcr-clearfy-"
2162
- #~ "recomended-text\">(Recommended)</span>"
2163
- #~ msgstr ""
2164
- #~ "Возвращать заголовок If-Modified-Since <span class=\"wbcr-clearfy-"
2165
- #~ "recomended-text\">(Recommended)</span>"
2166
-
2167
- #~ msgid ""
2168
- #~ "Remove duplicate names in breadcrumbs WP SEO by Yoast <span class=\"wbcr-"
2169
- #~ "clearfy-recomended-text\">(Recommended)</span>"
2170
- #~ msgstr ""
2171
- #~ "Удалить дубли имен в хлебных крошках WP SEO Yoast <span class=\"wbcr-"
2172
- #~ "clearfy-recomended-text\">(Рекомендовано)</span>"
2173
-
2174
- #~ msgid ""
2175
- #~ "The last element in the breadcrumbs in the Yoast SEO plugin duplicates "
2176
- #~ "the title of the article. Some SEO-specialists consider this duplication "
2177
- #~ "to be superfluous.\n"
2178
- #~ "<br><b>Clearfy</b>: Removes duplication of the name in the breadcrumbs of "
2179
- #~ "the WP SEO plugin from Yoast."
2180
- #~ msgstr ""
2181
- #~ "Последний элемент в хлебных крошках Yoast SEO дублирует название статьи. "
2182
- #~ "Некоторые SEO-специалисты считают это дублирование излишним.\n"
2183
- #~ "<br><b>Clearfy</b>: Удаляет последний элемент в хлебных крошках Yoast SEO."
2184
-
2185
- #~ msgid ""
2186
- #~ "Remove the tag &lt;image:image&gt; from XML site map <span class=\"wbcr-"
2187
- #~ "clearfy-recomended-text\">(Recommended)</span>"
2188
- #~ msgstr ""
2189
- #~ "Удалить тег &lt;image:image&gt; из XML карты сайта <span class=\"wbcr-"
2190
- #~ "clearfy-recomended-text\">(Рекомендовано)</span>"
2191
-
2192
- #~ msgid ""
2193
- #~ "Yandex.Webmaster swears on a standard XML card from the plugin Yoast, tk. "
2194
- #~ "it has a specific tag &lt;image:image&gt;.\n"
2195
- #~ "<br><b>Clearfy</b>: Remove the tag &lt;image:image&gt; from XML site map "
2196
- #~ "of the plugin Yoast SEO.\n"
2197
- #~ "<br>--<br><span style=\"color:#dd2b19\">Attention! After activation, turn "
2198
- #~ "off the site map and enable it back to regenerate it.</span>\n"
2199
- #~ "<br><span style=\"color:#dd2b19\">* In older versions of Yoast SEO may "
2200
- #~ "not work - update the plugin Yoast</span>"
2201
- #~ msgstr ""
2202
- #~ "Яндекс вебмастер ругается на стандартной карты XML из плагина Yoast SEO, "
2203
- #~ "из-за определенного тега &lt;image:image&gt;.\n"
2204
- #~ "<br><b>Clearfy</b>: Удаляет тег &lt;image:image&gt; из XML карта сайта "
2205
- #~ "плагин Yoast SEO.\n"
2206
- #~ "<br>--<br><span style=\"color:#dd2b19\">Внимание! После активации, "
2207
- #~ "выключите карту сайта и включите ее обратно, чтобы обновить ее.</span>\n"
2208
- #~ "<br><span style=\"color:#dd2b19\">* В более старых версиях Yoast SEO не "
2209
- #~ "может работать - обновите плагин Yoast SEO</span>"
2210
-
2211
- #~ msgid ""
2212
- #~ "Remove comment from &lt;head&gt; section <span class=\"wbcr-clearfy-"
2213
- #~ "recomended-text\">(Recommended)</span>"
2214
- #~ msgstr ""
2215
- #~ "Удалить комментарии из секции &lt;head&gt; <span class=\"wbcr-clearfy-"
2216
- #~ "recomended-text\">(Рекомендовано)</span>"
2217
-
2218
- #~ msgid ""
2219
- #~ "The Yoast SEO plugin displays a comment of the form &lt;!-- This site is "
2220
- #~ "optimized with the Yoast SEO plugin v3.1.1 - https://yoast.com/wordpress/"
2221
- #~ "plugins/seo/ --&gt; in &lt;head&gt; section\n"
2222
- #~ "<br><b>Clearfy</b>: Removes the Yoast SEO plugin comment of their section "
2223
- #~ "&lt;head&gt;."
2224
- #~ msgstr ""
2225
- #~ "Yoast SEO плагин отображает комментарий формы &lt;!-- This site is "
2226
- #~ "optimized with the Yoast SEO plugin v3.1.1 - https://yoast.com/wordpress/"
2227
- #~ "plugins/seo/ --&gt; в секции &lt;head&gt;\n"
2228
- #~ "<br><b>Clearfy</b>: Удаляет комментрии Yoast SEO из &lt;head&gt; ."
2229
-
2230
- #~ msgid "Exclude pages:</span>"
2231
- #~ msgstr "</span>"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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>"
libs/factory/bootstrap/assets/flat/css/bootstrap.blue.css ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .factory-bootstrap-330 .btn-primary {
2
+ background: #e1a948;
3
+ border-color: #d39323;
4
+ color: white;
5
+ -webkit-box-shadow: inset 0 1px 0 #ecc88a, 0 1px 0 rgba(0, 0, 0, 0.15);
6
+ box-shadow: inset 0 1px 0 #ecc88a, 0 1px 0 rgba(0, 0, 0, 0.15);
7
+ }
8
+ .factory-bootstrap-330 .btn-primary:hover,
9
+ .factory-bootstrap-330 .btn-primary:focus {
10
+ background: #db9825;
11
+ border-color: #bd831f;
12
+ color: white;
13
+ -webkit-box-shadow: inset 0 1px 0 #e8be74, 0 1px 0 rgba(0, 0, 0, 0.15);
14
+ box-shadow: inset 0 1px 0 #e8be74, 0 1px 0 rgba(0, 0, 0, 0.15);
15
+ }
16
+ .factory-bootstrap-330 .btn-primary:active {
17
+ background: #db9825;
18
+ border-color: #bd831f;
19
+ color: white;
20
+ -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
21
+ box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
22
+ }
23
+ .factory-bootstrap-330 .btn-primary[disabled],
24
+ .factory-bootstrap-330 .btn-primary:disabled {
25
+ color: #d1cdc7 !important;
26
+ background: #db9825 !important;
27
+ border-color: #bd831f !important;
28
+ text-shadow: none !important;
29
+ }
30
+
31
+ .factory-bootstrap-330 .btn-group .btn.active.value {
32
+ background-color: #e1a948;
33
+ -webkit-box-shadow: inset 0 1px 2px #d39323;
34
+ box-shadow: inset 0 1px 2px #d39323;
35
+ border-top: 1px solid #d39323;
36
+ border-bottom: 1px solid #d39323;
37
+ border-left: 1px solid #d39323;
38
+ }
39
+
40
+ .factory-bootstrap-330 .pagination > .active > a,
41
+ .factory-bootstrap-330 .pagination > .active > span,
42
+ .factory-bootstrap-330 .pagination > .active > a:hover,
43
+ .factory-bootstrap-330 .pagination > .active > span:hover,
44
+ .factory-bootstrap-330 .pagination > .active > a:focus,
45
+ .factory-bootstrap-330 .pagination > .active > span:focus {
46
+ background-color: #e1a948;
47
+ border-color: #d39323;
48
+ }
libs/factory/bootstrap/assets/flat/css/bootstrap.coffee.css ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .factory-bootstrap-330 .btn-primary {
2
+ background: #c7a589;
3
+ border-color: #b78a66;
4
+ color: white;
5
+ -webkit-box-shadow: inset 0 1px 0 #e0cdbd, 0 1px 0 rgba(0, 0, 0, 0.15);
6
+ box-shadow: inset 0 1px 0 #e0cdbd, 0 1px 0 rgba(0, 0, 0, 0.15);
7
+ }
8
+ .factory-bootstrap-330 .btn-primary:hover,
9
+ .factory-bootstrap-330 .btn-primary:focus {
10
+ background: #ba906d;
11
+ border-color: #ae7d55;
12
+ color: white;
13
+ -webkit-box-shadow: inset 0 1px 0 #d7bfac, 0 1px 0 rgba(0, 0, 0, 0.15);
14
+ box-shadow: inset 0 1px 0 #d7bfac, 0 1px 0 rgba(0, 0, 0, 0.15);
15
+ }
16
+ .factory-bootstrap-330 .btn-primary:active {
17
+ background: #ba906d;
18
+ border-color: #ae7d55;
19
+ color: white;
20
+ -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
21
+ box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
22
+ }
23
+ .factory-bootstrap-330 .btn-primary[disabled],
24
+ .factory-bootstrap-330 .btn-primary:disabled {
25
+ color: #d1cbc7 !important;
26
+ background: #ba906d !important;
27
+ border-color: #ae7d55 !important;
28
+ text-shadow: none !important;
29
+ }
30
+
31
+ .factory-bootstrap-330 .btn-group .btn.active.value {
32
+ background-color: #c7a589;
33
+ -webkit-box-shadow: inset 0 1px 2px #b78a66;
34
+ box-shadow: inset 0 1px 2px #b78a66;
35
+ border-top: 1px solid #b78a66;
36
+ border-bottom: 1px solid #b78a66;
37
+ border-left: 1px solid #b78a66;
38
+ }
39
+
40
+ .factory-bootstrap-330 .pagination > .active > a,
41
+ .factory-bootstrap-330 .pagination > .active > span,
42
+ .factory-bootstrap-330 .pagination > .active > a:hover,
43
+ .factory-bootstrap-330 .pagination > .active > span:hover,
44
+ .factory-bootstrap-330 .pagination > .active > a:focus,
45
+ .factory-bootstrap-330 .pagination > .active > span:focus {
46
+ background-color: #c7a589;
47
+ border-color: #b78a66;
48
+ }
libs/factory/bootstrap/assets/flat/css/bootstrap.datetimepicker.css DELETED
@@ -1,432 +0,0 @@
1
- /*!
2
- * Datetimepicker for Bootstrap 3
3
- * version : 4.17.47
4
- * https://github.com/Eonasdan/bootstrap-datetimepicker/
5
- */
6
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget {
7
- list-style: none;
8
- }
9
-
10
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget.dropdown-menu {
11
- display: block;
12
- margin: 2px 0;
13
- padding: 4px;
14
- width: 19em;
15
- }
16
-
17
- @media (min-width: 768px) {
18
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs {
19
- width: 38em;
20
- }
21
- }
22
-
23
- @media (min-width: 992px) {
24
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs {
25
- width: 38em;
26
- }
27
- }
28
-
29
- @media (min-width: 1200px) {
30
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs {
31
- width: 38em;
32
- }
33
- }
34
-
35
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget.dropdown-menu:before,
36
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget.dropdown-menu:after {
37
- content: '';
38
- display: inline-block;
39
- position: absolute;
40
- }
41
-
42
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget.dropdown-menu.bottom:before {
43
- border-left: 7px solid transparent;
44
- border-right: 7px solid transparent;
45
- border-bottom: 7px solid #ccc;
46
- border-bottom-color: rgba(0, 0, 0, 0.2);
47
- top: -7px;
48
- left: 7px;
49
- }
50
-
51
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget.dropdown-menu.bottom:after {
52
- border-left: 6px solid transparent;
53
- border-right: 6px solid transparent;
54
- border-bottom: 6px solid white;
55
- top: -6px;
56
- left: 8px;
57
- }
58
-
59
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget.dropdown-menu.top:before {
60
- border-left: 7px solid transparent;
61
- border-right: 7px solid transparent;
62
- border-top: 7px solid #ccc;
63
- border-top-color: rgba(0, 0, 0, 0.2);
64
- bottom: -7px;
65
- left: 6px;
66
- }
67
-
68
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget.dropdown-menu.top:after {
69
- border-left: 6px solid transparent;
70
- border-right: 6px solid transparent;
71
- border-top: 6px solid white;
72
- bottom: -6px;
73
- left: 7px;
74
- }
75
-
76
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget.dropdown-menu.pull-right:before {
77
- left: auto;
78
- right: 6px;
79
- }
80
-
81
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget.dropdown-menu.pull-right:after {
82
- left: auto;
83
- right: 7px;
84
- }
85
-
86
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget .list-unstyled {
87
- margin: 0;
88
- }
89
-
90
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget a[data-action] {
91
- padding: 6px 0;
92
- }
93
-
94
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget a[data-action]:active {
95
- box-shadow: none;
96
- }
97
-
98
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget .timepicker-hour,
99
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget .timepicker-minute,
100
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget .timepicker-second {
101
- width: 54px;
102
- font-weight: bold;
103
- font-size: 1.2em;
104
- margin: 0;
105
- }
106
-
107
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget button[data-action] {
108
- padding: 6px;
109
- }
110
-
111
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget .btn[data-action="incrementHours"]::after {
112
- position: absolute;
113
- width: 1px;
114
- height: 1px;
115
- margin: -1px;
116
- padding: 0;
117
- overflow: hidden;
118
- clip: rect(0, 0, 0, 0);
119
- border: 0;
120
- content: "Increment Hours";
121
- }
122
-
123
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget .btn[data-action="incrementMinutes"]::after {
124
- position: absolute;
125
- width: 1px;
126
- height: 1px;
127
- margin: -1px;
128
- padding: 0;
129
- overflow: hidden;
130
- clip: rect(0, 0, 0, 0);
131
- border: 0;
132
- content: "Increment Minutes";
133
- }
134
-
135
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget .btn[data-action="decrementHours"]::after {
136
- position: absolute;
137
- width: 1px;
138
- height: 1px;
139
- margin: -1px;
140
- padding: 0;
141
- overflow: hidden;
142
- clip: rect(0, 0, 0, 0);
143
- border: 0;
144
- content: "Decrement Hours";
145
- }
146
-
147
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget .btn[data-action="decrementMinutes"]::after {
148
- position: absolute;
149
- width: 1px;
150
- height: 1px;
151
- margin: -1px;
152
- padding: 0;
153
- overflow: hidden;
154
- clip: rect(0, 0, 0, 0);
155
- border: 0;
156
- content: "Decrement Minutes";
157
- }
158
-
159
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget .btn[data-action="showHours"]::after {
160
- position: absolute;
161
- width: 1px;
162
- height: 1px;
163
- margin: -1px;
164
- padding: 0;
165
- overflow: hidden;
166
- clip: rect(0, 0, 0, 0);
167
- border: 0;
168
- content: "Show Hours";
169
- }
170
-
171
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget .btn[data-action="showMinutes"]::after {
172
- position: absolute;
173
- width: 1px;
174
- height: 1px;
175
- margin: -1px;
176
- padding: 0;
177
- overflow: hidden;
178
- clip: rect(0, 0, 0, 0);
179
- border: 0;
180
- content: "Show Minutes";
181
- }
182
-
183
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget .btn[data-action="togglePeriod"]::after {
184
- position: absolute;
185
- width: 1px;
186
- height: 1px;
187
- margin: -1px;
188
- padding: 0;
189
- overflow: hidden;
190
- clip: rect(0, 0, 0, 0);
191
- border: 0;
192
- content: "Toggle AM/PM";
193
- }
194
-
195
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget .btn[data-action="clear"]::after {
196
- position: absolute;
197
- width: 1px;
198
- height: 1px;
199
- margin: -1px;
200
- padding: 0;
201
- overflow: hidden;
202
- clip: rect(0, 0, 0, 0);
203
- border: 0;
204
- content: "Clear the picker";
205
- }
206
-
207
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget .btn[data-action="today"]::after {
208
- position: absolute;
209
- width: 1px;
210
- height: 1px;
211
- margin: -1px;
212
- padding: 0;
213
- overflow: hidden;
214
- clip: rect(0, 0, 0, 0);
215
- border: 0;
216
- content: "Set the date to today";
217
- }
218
-
219
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget .picker-switch {
220
- text-align: center;
221
- }
222
-
223
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget .picker-switch::after {
224
- position: absolute;
225
- width: 1px;
226
- height: 1px;
227
- margin: -1px;
228
- padding: 0;
229
- overflow: hidden;
230
- clip: rect(0, 0, 0, 0);
231
- border: 0;
232
- content: "Toggle Date and Time Screens";
233
- }
234
-
235
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget .picker-switch td {
236
- padding: 0;
237
- margin: 0;
238
- height: auto;
239
- width: auto;
240
- line-height: inherit;
241
- }
242
-
243
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget .picker-switch td span {
244
- line-height: 2.5;
245
- height: 2.5em;
246
- width: 100%;
247
- }
248
-
249
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget table {
250
- width: 100%;
251
- margin: 0;
252
- }
253
-
254
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget table td,
255
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget table th {
256
- text-align: center;
257
- border-radius: 4px;
258
- }
259
-
260
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget table th {
261
- height: 20px;
262
- line-height: 20px;
263
- width: 20px;
264
- }
265
-
266
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget table th.picker-switch {
267
- width: 145px;
268
- }
269
-
270
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget table th.disabled,
271
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget table th.disabled:hover {
272
- background: none;
273
- color: #777777;
274
- cursor: not-allowed;
275
- }
276
-
277
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget table th.prev::after {
278
- position: absolute;
279
- width: 1px;
280
- height: 1px;
281
- margin: -1px;
282
- padding: 0;
283
- overflow: hidden;
284
- clip: rect(0, 0, 0, 0);
285
- border: 0;
286
- content: "Previous Month";
287
- }
288
-
289
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget table th.next::after {
290
- position: absolute;
291
- width: 1px;
292
- height: 1px;
293
- margin: -1px;
294
- padding: 0;
295
- overflow: hidden;
296
- clip: rect(0, 0, 0, 0);
297
- border: 0;
298
- content: "Next Month";
299
- }
300
-
301
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget table thead tr:first-child th {
302
- cursor: pointer;
303
- }
304
-
305
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget table thead tr:first-child th:hover {
306
- background: #eeeeee;
307
- }
308
-
309
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget table td {
310
- height: 54px;
311
- line-height: 54px;
312
- width: 54px;
313
- }
314
-
315
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget table td.cw {
316
- font-size: .8em;
317
- height: 20px;
318
- line-height: 20px;
319
- color: #777777;
320
- }
321
-
322
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget table td.day {
323
- height: 20px;
324
- line-height: 20px;
325
- width: 20px;
326
- }
327
-
328
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget table td.day:hover,
329
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget table td.hour:hover,
330
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget table td.minute:hover,
331
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget table td.second:hover {
332
- background: #eeeeee;
333
- cursor: pointer;
334
- }
335
-
336
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget table td.old,
337
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget table td.new {
338
- color: #777777;
339
- }
340
-
341
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget table td.today {
342
- position: relative;
343
- }
344
-
345
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget table td.today:before {
346
- content: '';
347
- display: inline-block;
348
- border: solid transparent;
349
- border-width: 0 0 7px 7px;
350
- border-bottom-color: #337ab7;
351
- border-top-color: rgba(0, 0, 0, 0.2);
352
- position: absolute;
353
- bottom: 4px;
354
- right: 4px;
355
- }
356
-
357
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget table td.active,
358
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget table td.active:hover {
359
- background-color: #337ab7;
360
- color: #fff;
361
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
362
- }
363
-
364
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget table td.active.today:before {
365
- border-bottom-color: #fff;
366
- }
367
-
368
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget table td.disabled,
369
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget table td.disabled:hover {
370
- background: none;
371
- color: #777777;
372
- cursor: not-allowed;
373
- }
374
-
375
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget table td span {
376
- display: inline-block;
377
- width: 54px;
378
- height: 54px;
379
- line-height: 54px;
380
- margin: 2px 1.5px;
381
- cursor: pointer;
382
- border-radius: 4px;
383
- }
384
-
385
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget table td span:hover {
386
- background: #eeeeee;
387
- }
388
-
389
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget table td span.active {
390
- background-color: #337ab7;
391
- color: #fff;
392
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
393
- }
394
-
395
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget table td span.old {
396
- color: #777777;
397
- }
398
-
399
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget table td span.disabled,
400
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget table td span.disabled:hover {
401
- background: none;
402
- color: #777777;
403
- cursor: not-allowed;
404
- }
405
-
406
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget.usetwentyfour td.hour {
407
- height: 27px;
408
- line-height: 27px;
409
- }
410
-
411
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget.wider {
412
- width: 21em;
413
- }
414
-
415
- .factory-bootstrap-330 .bootstrap-datetimepicker-widget .datepicker-decades .decade {
416
- line-height: 1.8em !important;
417
- }
418
-
419
- .factory-bootstrap-330 .input-group.date .input-group-addon {
420
- cursor: pointer;
421
- }
422
-
423
- .factory-bootstrap-330 .sr-only {
424
- position: absolute;
425
- width: 1px;
426
- height: 1px;
427
- margin: -1px;
428
- padding: 0;
429
- overflow: hidden;
430
- clip: rect(0, 0, 0, 0);
431
- border: 0;
432
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
libs/factory/bootstrap/assets/flat/css/bootstrap.ectoplasm.css ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .factory-bootstrap-330 .btn-primary {
2
+ background: #a3b745;
3
+ border-color: #839237;
4
+ color: white;
5
+ -webkit-box-shadow: inset 0 1px 0 #c0cd7b, 0 1px 0 rgba(0, 0, 0, 0.15);
6
+ box-shadow: inset 0 1px 0 #c0cd7b, 0 1px 0 rgba(0, 0, 0, 0.15);
7
+ }
8
+ .factory-bootstrap-330 .btn-primary:hover,
9
+ .factory-bootstrap-330 .btn-primary:focus {
10
+ background: #89993a;
11
+ border-color: #727f30;
12
+ color: white;
13
+ -webkit-box-shadow: inset 0 1px 0 #b7c669, 0 1px 0 rgba(0, 0, 0, 0.15);
14
+ box-shadow: inset 0 1px 0 #b7c669, 0 1px 0 rgba(0, 0, 0, 0.15);
15
+ }
16
+ .factory-bootstrap-330 .btn-primary:active {
17
+ background: #89993a;
18
+ border-color: #727f30;
19
+ color: white;
20
+ -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
21
+ box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
22
+ }
23
+ .factory-bootstrap-330 .btn-primary[disabled],
24
+ .factory-bootstrap-330 .btn-primary:disabled {
25
+ color: #cfd1c7 !important;
26
+ background: #89993a !important;
27
+ border-color: #727f30 !important;
28
+ text-shadow: none !important;
29
+ }
30
+
31
+ .factory-bootstrap-330 .btn-group .btn.active.value {
32
+ background-color: #a3b745;
33
+ -webkit-box-shadow: inset 0 1px 2px #839237;
34
+ box-shadow: inset 0 1px 2px #839237;
35
+ border-top: 1px solid #839237;
36
+ border-bottom: 1px solid #839237;
37
+ border-left: 1px solid #839237;
38
+ }
39
+
40
+ .factory-bootstrap-330 .pagination > .active > a,
41
+ .factory-bootstrap-330 .pagination > .active > span,
42
+ .factory-bootstrap-330 .pagination > .active > a:hover,
43
+ .factory-bootstrap-330 .pagination > .active > span:hover,
44
+ .factory-bootstrap-330 .pagination > .active > a:focus,
45
+ .factory-bootstrap-330 .pagination > .active > span:focus {
46
+ background-color: #a3b745;
47
+ border-color: #839237;
48
+ }
libs/factory/bootstrap/assets/flat/css/bootstrap.midnight.css ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .factory-bootstrap-330 .btn-primary {
2
+ background: #e14d43;
3
+ border-color: #d02a21;
4
+ color: white;
5
+ -webkit-box-shadow: inset 0 1px 0 #ec8a85, 0 1px 0 rgba(0, 0, 0, 0.15);
6
+ box-shadow: inset 0 1px 0 #ec8a85, 0 1px 0 rgba(0, 0, 0, 0.15);
7
+ }
8
+ .factory-bootstrap-330 .btn-primary:hover,
9
+ .factory-bootstrap-330 .btn-primary:focus {
10
+ background: #d92c23;
11
+ border-color: #ba251e;
12
+ color: white;
13
+ -webkit-box-shadow: inset 0 1px 0 #e8756f, 0 1px 0 rgba(0, 0, 0, 0.15);
14
+ box-shadow: inset 0 1px 0 #e8756f, 0 1px 0 rgba(0, 0, 0, 0.15);
15
+ }
16
+ .factory-bootstrap-330 .btn-primary:active {
17
+ background: #d92c23;
18
+ border-color: #ba251e;
19
+ color: white;
20
+ -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
21
+ box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
22
+ }
23
+ .factory-bootstrap-330 .btn-primary[disabled],
24
+ .factory-bootstrap-330 .btn-primary:disabled {
25
+ color: #d1c7c7 !important;
26
+ background: #d92c23 !important;
27
+ border-color: #ba251e !important;
28
+ text-shadow: none !important;
29
+ }
30
+
31
+ .factory-bootstrap-330 .btn-group .btn.active.value {
32
+ background-color: #e14d43;
33
+ -webkit-box-shadow: inset 0 1px 2px #d02a21;
34
+ box-shadow: inset 0 1px 2px #d02a21;
35
+ border-top: 1px solid #d02a21;
36
+ border-bottom: 1px solid #d02a21;
37
+ border-left: 1px solid #d02a21;
38
+ }
39
+
40
+ .factory-bootstrap-330 .pagination > .active > a,
41
+ .factory-bootstrap-330 .pagination > .active > span,
42
+ .factory-bootstrap-330 .pagination > .active > a:hover,
43
+ .factory-bootstrap-330 .pagination > .active > span:hover,
44
+ .factory-bootstrap-330 .pagination > .active > a:focus,
45
+ .factory-bootstrap-330 .pagination > .active > span:focus {
46
+ background-color: #e14d43;
47
+ border-color: #d02a21;
48
+ }
libs/factory/bootstrap/assets/flat/css/bootstrap.ocean.css ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .factory-bootstrap-330 .btn-primary {
2
+ background: #9ebaa0;
3
+ border-color: #80a583;
4
+ color: white;
5
+ -webkit-box-shadow: inset 0 1px 0 #cbdacc, 0 1px 0 rgba(0, 0, 0, 0.15);
6
+ box-shadow: inset 0 1px 0 #cbdacc, 0 1px 0 rgba(0, 0, 0, 0.15);
7
+ }
8
+ .factory-bootstrap-330 .btn-primary:hover,
9
+ .factory-bootstrap-330 .btn-primary:focus {
10
+ background: #86a988;
11
+ border-color: #719a74;
12
+ color: white;
13
+ -webkit-box-shadow: inset 0 1px 0 #bccfbd, 0 1px 0 rgba(0, 0, 0, 0.15);
14
+ box-shadow: inset 0 1px 0 #bccfbd, 0 1px 0 rgba(0, 0, 0, 0.15);
15
+ }
16
+ .factory-bootstrap-330 .btn-primary:active {
17
+ background: #86a988;
18
+ border-color: #719a74;
19
+ color: white;
20
+ -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
21
+ box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
22
+ }
23
+ .factory-bootstrap-330 .btn-primary[disabled],
24
+ .factory-bootstrap-330 .btn-primary:disabled {
25
+ color: #c7d1c8 !important;
26
+ background: #86a988 !important;
27
+ border-color: #719a74 !important;
28
+ text-shadow: none !important;
29
+ }
30
+
31
+ .factory-bootstrap-330 .btn-group .btn.active.value {
32
+ background-color: #9ebaa0;
33
+ -webkit-box-shadow: inset 0 1px 2px #80a583;
34
+ box-shadow: inset 0 1px 2px #80a583;
35
+ border-top: 1px solid #80a583;
36
+ border-bottom: 1px solid #80a583;
37
+ border-left: 1px solid #80a583;
38
+ }
39
+
40
+ .factory-bootstrap-330 .pagination > .active > a,
41
+ .factory-bootstrap-330 .pagination > .active > span,
42
+ .factory-bootstrap-330 .pagination > .active > a:hover,
43
+ .factory-bootstrap-330 .pagination > .active > span:hover,
44
+ .factory-bootstrap-330 .pagination > .active > a:focus,
45
+ .factory-bootstrap-330 .pagination > .active > span:focus {
46
+ background-color: #9ebaa0;
47
+ border-color: #80a583;
48
+ }
libs/factory/bootstrap/assets/flat/css/bootstrap.sunrise.css ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .factory-bootstrap-330 .btn-primary {
2
+ background: #dd823b;
3
+ border-color: #c36822;
4
+ color: white;
5
+ -webkit-box-shadow: inset 0 1px 0 #e8ab7c, 0 1px 0 rgba(0, 0, 0, 0.15);
6
+ box-shadow: inset 0 1px 0 #e8ab7c, 0 1px 0 rgba(0, 0, 0, 0.15);
7
+ }
8
+ .factory-bootstrap-330 .btn-primary:hover,
9
+ .factory-bootstrap-330 .btn-primary:focus {
10
+ background: #cc6c23;
11
+ border-color: #ad5c1e;
12
+ color: white;
13
+ -webkit-box-shadow: inset 0 1px 0 #e59d66, 0 1px 0 rgba(0, 0, 0, 0.15);
14
+ box-shadow: inset 0 1px 0 #e59d66, 0 1px 0 rgba(0, 0, 0, 0.15);
15
+ }
16
+ .factory-bootstrap-330 .btn-primary:active {
17
+ background: #cc6c23;
18
+ border-color: #ad5c1e;
19
+ color: white;
20
+ -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
21
+ box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
22
+ }
23
+ .factory-bootstrap-330 .btn-primary[disabled],
24
+ .factory-bootstrap-330 .btn-primary:disabled {
25
+ color: #d1cbc7 !important;
26
+ background: #cc6c23 !important;
27
+ border-color: #ad5c1e !important;
28
+ text-shadow: none !important;
29
+ }
30
+
31
+ .factory-bootstrap-330 .btn-group .btn.active.value {
32
+ background-color: #dd823b;
33
+ -webkit-box-shadow: inset 0 1px 2px #c36822;
34
+ box-shadow: inset 0 1px 2px #c36822;
35
+ border-top: 1px solid #c36822;
36
+ border-bottom: 1px solid #c36822;
37
+ border-left: 1px solid #c36822;
38
+ }
39
+
40
+ .factory-bootstrap-330 .pagination > .active > a,
41
+ .factory-bootstrap-330 .pagination > .active > span,
42
+ .factory-bootstrap-330 .pagination > .active > a:hover,
43
+ .factory-bootstrap-330 .pagination > .active > span:hover,
44
+ .factory-bootstrap-330 .pagination > .active > a:focus,
45
+ .factory-bootstrap-330 .pagination > .active > span:focus {
46
+ background-color: #dd823b;
47
+ border-color: #c36822;
48
+ }
libs/factory/bootstrap/assets/flat/css/control.multiple-textbox.css DELETED
@@ -1,37 +0,0 @@
1
- .factory-bootstrap-330 .factory-mtextbox-item {
2
- position: relative;
3
- margin-bottom: 5px;
4
- }
5
-
6
- .factory-bootstrap-330 .factory-mtextbox-item input, .factory-mtextbox-remove-item {
7
- display: inline-block;
8
- }
9
-
10
- .factory-bootstrap-330 .factory-mtextbox-item .factory-mtextbox-remove-item {
11
- position: absolute;
12
- top: 0;
13
- right: 0;
14
- bottom: 0;
15
- width: 40px;
16
- border-radius: 0 3px 3px 0;
17
- outline: none;
18
- /*background: #fbe3e3;
19
- color: #9c7070;
20
- box-shadow: none;*/
21
- }
22
-
23
- .factory-bootstrap-330 .factory-mtextbox-item .factory-mtextbox-remove-item:hover,
24
- .factory-bootstrap-330 .factory-mtextbox-item .factory-mtextbox-remove-item:focus {
25
- box-shadow: none;
26
- outline: none;
27
- }
28
-
29
- /*.factory-bootstrap-330 .factory-mtextbox-item .factory-mtextbox-remove-item:hover {
30
- background: #fbe3e3;
31
- color: #9c7070;
32
- }*/
33
-
34
- .factory-bootstrap-330 .factory-mtextbox-add-item {
35
- display: block;
36
- margin-top: 10px;
37
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
libs/factory/bootstrap/assets/js/bootstrap.datetimepicker.js DELETED
@@ -1,2746 +0,0 @@
1
- /*! version : 4.17.47
2
- =========================================================
3
- bootstrap-datetimejs
4
- https://github.com/Eonasdan/bootstrap-datetimepicker
5
- Copyright (c) 2015 Jonathan Peterson
6
- =========================================================
7
- */
8
- /*
9
- The MIT License (MIT)
10
-
11
- Copyright (c) 2015 Jonathan Peterson
12
-
13
- Permission is hereby granted, free of charge, to any person obtaining a copy
14
- of this software and associated documentation files (the "Software"), to deal
15
- in the Software without restriction, including without limitation the rights
16
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
17
- copies of the Software, and to permit persons to whom the Software is
18
- furnished to do so, subject to the following conditions:
19
-
20
- The above copyright notice and this permission notice shall be included in
21
- all copies or substantial portions of the Software.
22
-
23
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
24
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
25
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
26
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
27
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
28
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
29
- THE SOFTWARE.
30
- */
31
- /*global define:false */
32
- /*global exports:false */
33
- /*global require:false */
34
- /*global jQuery:false */
35
- /*global moment:false */
36
- (function(factory) {
37
- 'use strict';
38
- if( typeof define === 'function' && define.amd ) {
39
- // AMD is used - Register as an anonymous module.
40
- define(['jquery', 'moment'], factory);
41
- } else if( typeof exports === 'object' ) {
42
- module.exports = factory(require('jquery'), require('moment'));
43
- } else {
44
- // Neither AMD nor CommonJS used. Use global variables.
45
- if( typeof jQuery === 'undefined' ) {
46
- throw 'bootstrap-datetimepicker requires jQuery to be loaded first';
47
- }
48
- if( typeof moment === 'undefined' ) {
49
- throw 'bootstrap-datetimepicker requires Moment.js to be loaded first';
50
- }
51
- factory(jQuery, moment);
52
- }
53
- }(function($, moment) {
54
- 'use strict';
55
- if( !moment ) {
56
- throw new Error('bootstrap-datetimepicker requires Moment.js to be loaded first');
57
- }
58
-
59
- var dateTimePicker = function(element, options) {
60
- var picker = {},
61
- date,
62
- viewDate,
63
- unset = true,
64
- input,
65
- component = false,
66
- widget = false,
67
- use24Hours,
68
- minViewModeNumber = 0,
69
- actualFormat,
70
- parseFormats,
71
- currentViewMode,
72
- datePickerModes = [
73
- {
74
- clsName: 'days',
75
- navFnc: 'M',
76
- navStep: 1
77
- },
78
- {
79
- clsName: 'months',
80
- navFnc: 'y',
81
- navStep: 1
82
- },
83
- {
84
- clsName: 'years',
85
- navFnc: 'y',
86
- navStep: 10
87
- },
88
- {
89
- clsName: 'decades',
90
- navFnc: 'y',
91
- navStep: 100
92
- }
93
- ],
94
- viewModes = ['days', 'months', 'years', 'decades'],
95
- verticalModes = ['top', 'bottom', 'auto'],
96
- horizontalModes = ['left', 'right', 'auto'],
97
- toolbarPlacements = ['default', 'top', 'bottom'],
98
- keyMap = {
99
- 'up': 38,
100
- 38: 'up',
101
- 'down': 40,
102
- 40: 'down',
103
- 'left': 37,
104
- 37: 'left',
105
- 'right': 39,
106
- 39: 'right',
107
- 'tab': 9,
108
- 9: 'tab',
109
- 'escape': 27,
110
- 27: 'escape',
111
- 'enter': 13,
112
- 13: 'enter',
113
- 'pageUp': 33,
114
- 33: 'pageUp',
115
- 'pageDown': 34,
116
- 34: 'pageDown',
117
- 'shift': 16,
118
- 16: 'shift',
119
- 'control': 17,
120
- 17: 'control',
121
- 'space': 32,
122
- 32: 'space',
123
- 't': 84,
124
- 84: 't',
125
- 'delete': 46,
126
- 46: 'delete'
127
- },
128
- keyState = {},
129
-
130
- /********************************************************************************
131
- *
132
- * Private functions
133
- *
134
- ********************************************************************************/
135
-
136
- hasTimeZone = function() {
137
- return moment.tz !== undefined && options.timeZone !== undefined && options.timeZone !== null && options.timeZone !== '';
138
- },
139
-
140
- getMoment = function(d) {
141
- var returnMoment;
142
-
143
- if( d === undefined || d === null ) {
144
- returnMoment = moment(); //TODO should this use format? and locale?
145
- } else if( moment.isDate(d) || moment.isMoment(d) ) {
146
- // If the date that is passed in is already a Date() or moment() object,
147
- // pass it directly to moment.
148
- returnMoment = moment(d);
149
- } else if( hasTimeZone() ) { // There is a string to parse and a default time zone
150
- // parse with the tz function which takes a default time zone if it is not in the format string
151
- returnMoment = moment.tz(d, parseFormats, options.useStrict, options.timeZone);
152
- } else {
153
- returnMoment = moment(d, parseFormats, options.useStrict);
154
- }
155
-
156
- if( hasTimeZone() ) {
157
- returnMoment.tz(options.timeZone);
158
- }
159
-
160
- return returnMoment;
161
- },
162
-
163
- isEnabled = function(granularity) {
164
- if( typeof granularity !== 'string' || granularity.length > 1 ) {
165
- throw new TypeError('isEnabled expects a single character string parameter');
166
- }
167
- switch( granularity ) {
168
- case 'y':
169
- return actualFormat.indexOf('Y') !== -1;
170
- case 'M':
171
- return actualFormat.indexOf('M') !== -1;
172
- case 'd':
173
- return actualFormat.toLowerCase().indexOf('d') !== -1;
174
- case 'h':
175
- case 'H':
176
- return actualFormat.toLowerCase().indexOf('h') !== -1;
177
- case 'm':
178
- return actualFormat.indexOf('m') !== -1;
179
- case 's':
180
- return actualFormat.indexOf('s') !== -1;
181
- default:
182
- return false;
183
- }
184
- },
185
-
186
- hasTime = function() {
187
- return (isEnabled('h') || isEnabled('m') || isEnabled('s'));
188
- },
189
-
190
- hasDate = function() {
191
- return (isEnabled('y') || isEnabled('M') || isEnabled('d'));
192
- },
193
-
194
- getDatePickerTemplate = function() {
195
- var headTemplate = $('<thead>')
196
- .append($('<tr>')
197
- .append($('<th>').addClass('prev').attr('data-action', 'previous')
198
- .append($('<span>').addClass(options.icons.previous))
199
- )
200
- .append($('<th>').addClass('picker-switch').attr('data-action', 'pickerSwitch').attr('colspan', (options.calendarWeeks
201
- ? '6'
202
- : '5')))
203
- .append($('<th>').addClass('next').attr('data-action', 'next')
204
- .append($('<span>').addClass(options.icons.next))
205
- )
206
- ),
207
- contTemplate = $('<tbody>')
208
- .append($('<tr>')
209
- .append($('<td>').attr('colspan', (options.calendarWeeks ? '8' : '7')))
210
- );
211
-
212
- return [
213
- $('<div>').addClass('datepicker-days')
214
- .append($('<table>').addClass('table-condensed')
215
- .append(headTemplate)
216
- .append($('<tbody>'))
217
- ),
218
- $('<div>').addClass('datepicker-months')
219
- .append($('<table>').addClass('table-condensed')
220
- .append(headTemplate.clone())
221
- .append(contTemplate.clone())
222
- ),
223
- $('<div>').addClass('datepicker-years')
224
- .append($('<table>').addClass('table-condensed')
225
- .append(headTemplate.clone())
226
- .append(contTemplate.clone())
227
- ),
228
- $('<div>').addClass('datepicker-decades')
229
- .append($('<table>').addClass('table-condensed')
230
- .append(headTemplate.clone())
231
- .append(contTemplate.clone())
232
- )
233
- ];
234
- },
235
-
236
- getTimePickerMainTemplate = function() {
237
- var topRow = $('<tr>'),
238
- middleRow = $('<tr>'),
239
- bottomRow = $('<tr>');
240
-
241
- if( isEnabled('h') ) {
242
- topRow.append($('<td>')
243
- .append($('<a>').attr({
244
- href: '#',
245
- tabindex: '-1',
246
- 'title': options.tooltips.incrementHour
247
- }).addClass('btn').attr('data-action', 'incrementHours').append($('<span>').addClass(options.icons.up))));
248
- middleRow.append($('<td>')
249
- .append($('<span>').addClass('timepicker-hour').attr({
250
- 'data-time-component': 'hours',
251
- 'title': options.tooltips.pickHour
252
- }).attr('data-action', 'showHours')));
253
- bottomRow.append($('<td>')
254
- .append($('<a>').attr({
255
- href: '#',
256
- tabindex: '-1',
257
- 'title': options.tooltips.decrementHour
258
- }).addClass('btn').attr('data-action', 'decrementHours').append($('<span>').addClass(options.icons.down))));
259
- }
260
- if( isEnabled('m') ) {
261
- if( isEnabled('h') ) {
262
- topRow.append($('<td>').addClass('separator'));
263
- middleRow.append($('<td>').addClass('separator').html(':'));
264
- bottomRow.append($('<td>').addClass('separator'));
265
- }
266
- topRow.append($('<td>')
267
- .append($('<a>').attr({
268
- href: '#',
269
- tabindex: '-1',
270
- 'title': options.tooltips.incrementMinute
271
- }).addClass('btn').attr('data-action', 'incrementMinutes')
272
- .append($('<span>').addClass(options.icons.up))));
273
- middleRow.append($('<td>')
274
- .append($('<span>').addClass('timepicker-minute').attr({
275
- 'data-time-component': 'minutes',
276
- 'title': options.tooltips.pickMinute
277
- }).attr('data-action', 'showMinutes')));
278
- bottomRow.append($('<td>')
279
- .append($('<a>').attr({
280
- href: '#',
281
- tabindex: '-1',
282
- 'title': options.tooltips.decrementMinute
283
- }).addClass('btn').attr('data-action', 'decrementMinutes')
284
- .append($('<span>').addClass(options.icons.down))));
285
- }
286
- if( isEnabled('s') ) {
287
- if( isEnabled('m') ) {
288
- topRow.append($('<td>').addClass('separator'));
289
- middleRow.append($('<td>').addClass('separator').html(':'));
290
- bottomRow.append($('<td>').addClass('separator'));
291
- }
292
- topRow.append($('<td>')
293
- .append($('<a>').attr({
294
- href: '#',
295
- tabindex: '-1',
296
- 'title': options.tooltips.incrementSecond
297
- }).addClass('btn').attr('data-action', 'incrementSeconds')
298
- .append($('<span>').addClass(options.icons.up))));
299
- middleRow.append($('<td>')
300
- .append($('<span>').addClass('timepicker-second').attr({
301
- 'data-time-component': 'seconds',
302
- 'title': options.tooltips.pickSecond
303
- }).attr('data-action', 'showSeconds')));
304
- bottomRow.append($('<td>')
305
- .append($('<a>').attr({
306
- href: '#',
307
- tabindex: '-1',
308
- 'title': options.tooltips.decrementSecond
309
- }).addClass('btn').attr('data-action', 'decrementSeconds')
310
- .append($('<span>').addClass(options.icons.down))));
311
- }
312
-
313
- if( !use24Hours ) {
314
- topRow.append($('<td>').addClass('separator'));
315
- middleRow.append($('<td>')
316
- .append($('<button>').addClass('btn btn-primary').attr({
317
- 'data-action': 'togglePeriod',
318
- tabindex: '-1',
319
- 'title': options.tooltips.togglePeriod
320
- })));
321
- bottomRow.append($('<td>').addClass('separator'));
322
- }
323
-
324
- return $('<div>').addClass('timepicker-picker')
325
- .append($('<table>').addClass('table-condensed')
326
- .append([topRow, middleRow, bottomRow]));
327
- },
328
-
329
- getTimePickerTemplate = function() {
330
- var hoursView = $('<div>').addClass('timepicker-hours')
331
- .append($('<table>').addClass('table-condensed')),
332
- minutesView = $('<div>').addClass('timepicker-minutes')
333
- .append($('<table>').addClass('table-condensed')),
334
- secondsView = $('<div>').addClass('timepicker-seconds')
335
- .append($('<table>').addClass('table-condensed')),
336
- ret = [getTimePickerMainTemplate()];
337
-
338
- if( isEnabled('h') ) {
339
- ret.push(hoursView);
340
- }
341
- if( isEnabled('m') ) {
342
- ret.push(minutesView);
343
- }
344
- if( isEnabled('s') ) {
345
- ret.push(secondsView);
346
- }
347
-
348
- return ret;
349
- },
350
-
351
- getToolbar = function() {
352
- var row = [];
353
- if( options.showTodayButton ) {
354
- row.push($('<td>').append($('<a>').attr({
355
- 'data-action': 'today',
356
- 'title': options.tooltips.today
357
- }).append($('<span>').addClass(options.icons.today))));
358
- }
359
- if( !options.sideBySide && hasDate() && hasTime() ) {
360
- row.push($('<td>').append($('<a>').attr({
361
- 'data-action': 'togglePicker',
362
- 'title': options.tooltips.selectTime
363
- }).append($('<span>').addClass(options.icons.time))));
364
- }
365
- if( options.showClear ) {
366
- row.push($('<td>').append($('<a>').attr({
367
- 'data-action': 'clear',
368
- 'title': options.tooltips.clear
369
- }).append($('<span>').addClass(options.icons.clear))));
370
- }
371
- if( options.showClose ) {
372
- row.push($('<td>').append($('<a>').attr({
373
- 'data-action': 'close',
374
- 'title': options.tooltips.close
375
- }).append($('<span>').addClass(options.icons.close))));
376
- }
377
- return $('<table>').addClass('table-condensed').append($('<tbody>').append($('<tr>').append(row)));
378
- },
379
-
380
- getTemplate = function() {
381
- var template = $('<div>').addClass('bootstrap-datetimepicker-widget dropdown-menu'),
382
- dateView = $('<div>').addClass('datepicker').append(getDatePickerTemplate()),
383
- timeView = $('<div>').addClass('timepicker').append(getTimePickerTemplate()),
384
- content = $('<ul>').addClass('list-unstyled'),
385
- toolbar = $('<li>').addClass('picker-switch' + (options.collapse
386
- ? ' accordion-toggle'
387
- : '')).append(getToolbar());
388
-
389
- if( options.inline ) {
390
- template.removeClass('dropdown-menu');
391
- }
392
-
393
- if( use24Hours ) {
394
- template.addClass('usetwentyfour');
395
- }
396
-
397
- if( isEnabled('s') && !use24Hours ) {
398
- template.addClass('wider');
399
- }
400
-
401
- if( options.sideBySide && hasDate() && hasTime() ) {
402
- template.addClass('timepicker-sbs');
403
- if( options.toolbarPlacement === 'top' ) {
404
- template.append(toolbar);
405
- }
406
- template.append(
407
- $('<div>').addClass('row')
408
- .append(dateView.addClass('col-md-6'))
409
- .append(timeView.addClass('col-md-6'))
410
- );
411
- if( options.toolbarPlacement === 'bottom' ) {
412
- template.append(toolbar);
413
- }
414
- return template;
415
- }
416
-
417
- if( options.toolbarPlacement === 'top' ) {
418
- content.append(toolbar);
419
- }
420
- if( hasDate() ) {
421
- content.append($('<li>').addClass((options.collapse && hasTime()
422
- ? 'collapse in'
423
- : '')).append(dateView));
424
- }
425
- if( options.toolbarPlacement === 'default' ) {
426
- content.append(toolbar);
427
- }
428
- if( hasTime() ) {
429
- content.append($('<li>').addClass((options.collapse && hasDate()
430
- ? 'collapse'
431
- : '')).append(timeView));
432
- }
433
- if( options.toolbarPlacement === 'bottom' ) {
434
- content.append(toolbar);
435
- }
436
- return template.append(content);
437
- },
438
-
439
- dataToOptions = function() {
440
- var eData,
441
- dataOptions = {};
442
-
443
- if( element.is('input') || options.inline ) {
444
- eData = element.data();
445
- } else {
446
- eData = element.find('input').data();
447
- }
448
-
449
- if( eData.dateOptions && eData.dateOptions instanceof Object ) {
450
- dataOptions = $.extend(true, dataOptions, eData.dateOptions);
451
- }
452
-
453
- $.each(options, function(key) {
454
- var attributeName = 'date' + key.charAt(0).toUpperCase() + key.slice(1);
455
- if( eData[attributeName] !== undefined ) {
456
- dataOptions[key] = eData[attributeName];
457
- }
458
- });
459
- return dataOptions;
460
- },
461
-
462
- place = function() {
463
- var position = (component || element).position(),
464
- offset = (component || element).offset(),
465
- vertical = options.widgetPositioning.vertical,
466
- horizontal = options.widgetPositioning.horizontal,
467
- parent;
468
-
469
- if( options.widgetParent ) {
470
- parent = options.widgetParent.append(widget);
471
- } else if( element.is('input') ) {
472
- parent = element.after(widget).parent();
473
- } else if( options.inline ) {
474
- parent = element.append(widget);
475
- return;
476
- } else {
477
- parent = element;
478
- element.children().first().after(widget);
479
- }
480
-
481
- // Top and bottom logic
482
- if( vertical === 'auto' ) {
483
- if( offset.top + widget.height() * 1.5 >= $(window).height() + $(window).scrollTop() &&
484
- widget.height() + element.outerHeight() < offset.top ) {
485
- vertical = 'top';
486
- } else {
487
- vertical = 'bottom';
488
- }
489
- }
490
-
491
- // Left and right logic
492
- if( horizontal === 'auto' ) {
493
- if( parent.width() < offset.left + widget.outerWidth() / 2 &&
494
- offset.left + widget.outerWidth() > $(window).width() ) {
495
- horizontal = 'right';
496
- } else {
497
- horizontal = 'left';
498
- }
499
- }
500
-
501
- if( vertical === 'top' ) {
502
- widget.addClass('top').removeClass('bottom');
503
- } else {
504
- widget.addClass('bottom').removeClass('top');
505
- }
506
-
507
- if( horizontal === 'right' ) {
508
- widget.addClass('pull-right');
509
- } else {
510
- widget.removeClass('pull-right');
511
- }
512
-
513
- // find the first parent element that has a non-static css positioning
514
- if( parent.css('position') === 'static' ) {
515
- parent = parent.parents().filter(function() {
516
- return $(this).css('position') !== 'static';
517
- }).first();
518
- }
519
-
520
- if( parent.length === 0 ) {
521
- throw new Error('datetimepicker component should be placed within a non-static positioned container');
522
- }
523
-
524
- widget.css({
525
- top: vertical === 'top' ? 'auto' : position.top + element.outerHeight(),
526
- bottom: vertical === 'top'
527
- ? parent.outerHeight() - (parent === element ? 0 : position.top)
528
- : 'auto',
529
- left: horizontal === 'left' ? (parent === element ? 0 : position.left) : 'auto',
530
- right: horizontal === 'left'
531
- ? 'auto'
532
- : parent.outerWidth() - element.outerWidth() - (parent === element ? 0 : position.left)
533
- });
534
- },
535
-
536
- notifyEvent = function(e) {
537
- if( e.type === 'dp.change' && ((e.date && e.date.isSame(e.oldDate)) || (!e.date && !e.oldDate)) ) {
538
- return;
539
- }
540
- element.trigger(e);
541
- },
542
-
543
- viewUpdate = function(e) {
544
- if( e === 'y' ) {
545
- e = 'YYYY';
546
- }
547
- notifyEvent({
548
- type: 'dp.update',
549
- change: e,
550
- viewDate: viewDate.clone()
551
- });
552
- },
553
-
554
- showMode = function(dir) {
555
- if( !widget ) {
556
- return;
557
- }
558
- if( dir ) {
559
- currentViewMode = Math.max(minViewModeNumber, Math.min(3, currentViewMode + dir));
560
- }
561
- widget.find('.datepicker > div').hide().filter('.datepicker-' + datePickerModes[currentViewMode].clsName).show();
562
- },
563
-
564
- fillDow = function() {
565
- var row = $('<tr>'),
566
- currentDate = viewDate.clone().startOf('w').startOf('d');
567
-
568
- if( options.calendarWeeks === true ) {
569
- row.append($('<th>').addClass('cw').text('#'));
570
- }
571
-
572
- while( currentDate.isBefore(viewDate.clone().endOf('w')) ) {
573
- row.append($('<th>').addClass('dow').text(currentDate.format('dd')));
574
- currentDate.add(1, 'd');
575
- }
576
- widget.find('.datepicker-days thead').append(row);
577
- },
578
-
579
- isInDisabledDates = function(testDate) {
580
- return options.disabledDates[testDate.format('YYYY-MM-DD')] === true;
581
- },
582
-
583
- isInEnabledDates = function(testDate) {
584
- return options.enabledDates[testDate.format('YYYY-MM-DD')] === true;
585
- },
586
-
587
- isInDisabledHours = function(testDate) {
588
- return options.disabledHours[testDate.format('H')] === true;
589
- },
590
-
591
- isInEnabledHours = function(testDate) {
592
- return options.enabledHours[testDate.format('H')] === true;
593
- },
594
-
595
- isValid = function(targetMoment, granularity) {
596
- if( !targetMoment.isValid() ) {
597
- return false;
598
- }
599
- if( options.disabledDates && granularity === 'd' && isInDisabledDates(targetMoment) ) {
600
- return false;
601
- }
602
- if( options.enabledDates && granularity === 'd' && !isInEnabledDates(targetMoment) ) {
603
- return false;
604
- }
605
- if( options.minDate && targetMoment.isBefore(options.minDate, granularity) ) {
606
- return false;
607
- }
608
- if( options.maxDate && targetMoment.isAfter(options.maxDate, granularity) ) {
609
- return false;
610
- }
611
- if( options.daysOfWeekDisabled && granularity === 'd' && options.daysOfWeekDisabled.indexOf(targetMoment.day()) !== -1 ) {
612
- return false;
613
- }
614
- if( options.disabledHours && (granularity === 'h' || granularity === 'm' || granularity === 's') && isInDisabledHours(targetMoment) ) {
615
- return false;
616
- }
617
- if( options.enabledHours && (granularity === 'h' || granularity === 'm' || granularity === 's') && !isInEnabledHours(targetMoment) ) {
618
- return false;
619
- }
620
- if( options.disabledTimeIntervals && (granularity === 'h' || granularity === 'm' || granularity === 's') ) {
621
- var found = false;
622
- $.each(options.disabledTimeIntervals, function() {
623
- if( targetMoment.isBetween(this[0], this[1]) ) {
624
- found = true;
625
- return false;
626
- }
627
- });
628
- if( found ) {
629
- return false;
630
- }
631
- }
632
- return true;
633
- },
634
-
635
- fillMonths = function() {
636
- var spans = [],
637
- monthsShort = viewDate.clone().startOf('y').startOf('d');
638
- while( monthsShort.isSame(viewDate, 'y') ) {
639
- spans.push($('<span>').attr('data-action', 'selectMonth').addClass('month').text(monthsShort.format('MMM')));
640
- monthsShort.add(1, 'M');
641
- }
642
- widget.find('.datepicker-months td').empty().append(spans);
643
- },
644
-
645
- updateMonths = function() {
646
- var monthsView = widget.find('.datepicker-months'),
647
- monthsViewHeader = monthsView.find('th'),
648
- months = monthsView.find('tbody').find('span');
649
-
650
- monthsViewHeader.eq(0).find('span').attr('title', options.tooltips.prevYear);
651
- monthsViewHeader.eq(1).attr('title', options.tooltips.selectYear);
652
- monthsViewHeader.eq(2).find('span').attr('title', options.tooltips.nextYear);
653
-
654
- monthsView.find('.disabled').removeClass('disabled');
655
-
656
- if( !isValid(viewDate.clone().subtract(1, 'y'), 'y') ) {
657
- monthsViewHeader.eq(0).addClass('disabled');
658
- }
659
-
660
- monthsViewHeader.eq(1).text(viewDate.year());
661
-
662
- if( !isValid(viewDate.clone().add(1, 'y'), 'y') ) {
663
- monthsViewHeader.eq(2).addClass('disabled');
664
- }
665
-
666
- months.removeClass('active');
667
- if( date.isSame(viewDate, 'y') && !unset ) {
668
- months.eq(date.month()).addClass('active');
669
- }
670
-
671
- months.each(function(index) {
672
- if( !isValid(viewDate.clone().month(index), 'M') ) {
673
- $(this).addClass('disabled');
674
- }
675
- });
676
- },
677
-
678
- updateYears = function() {
679
- var yearsView = widget.find('.datepicker-years'),
680
- yearsViewHeader = yearsView.find('th'),
681
- startYear = viewDate.clone().subtract(5, 'y'),
682
- endYear = viewDate.clone().add(6, 'y'),
683
- html = '';
684
-
685
- yearsViewHeader.eq(0).find('span').attr('title', options.tooltips.prevDecade);
686
- yearsViewHeader.eq(1).attr('title', options.tooltips.selectDecade);
687
- yearsViewHeader.eq(2).find('span').attr('title', options.tooltips.nextDecade);
688
-
689
- yearsView.find('.disabled').removeClass('disabled');
690
-
691
- if( options.minDate && options.minDate.isAfter(startYear, 'y') ) {
692
- yearsViewHeader.eq(0).addClass('disabled');
693
- }
694
-
695
- yearsViewHeader.eq(1).text(startYear.year() + '-' + endYear.year());
696
-
697
- if( options.maxDate && options.maxDate.isBefore(endYear, 'y') ) {
698
- yearsViewHeader.eq(2).addClass('disabled');
699
- }
700
-
701
- while( !startYear.isAfter(endYear, 'y') ) {
702
- html += '<span data-action="selectYear" class="year' + (startYear.isSame(date, 'y') && !unset
703
- ? ' active'
704
- : '') + (!isValid(startYear, 'y') ? ' disabled' : '') + '">' + startYear.year() + '</span>';
705
- startYear.add(1, 'y');
706
- }
707
-
708
- yearsView.find('td').html(html);
709
- },
710
-
711
- updateDecades = function() {
712
- var decadesView = widget.find('.datepicker-decades'),
713
- decadesViewHeader = decadesView.find('th'),
714
- startDecade = moment({y: viewDate.year() - (viewDate.year() % 100) - 1}),
715
- endDecade = startDecade.clone().add(100, 'y'),
716
- startedAt = startDecade.clone(),
717
- minDateDecade = false,
718
- maxDateDecade = false,
719
- endDecadeYear,
720
- html = '';
721
-
722
- decadesViewHeader.eq(0).find('span').attr('title', options.tooltips.prevCentury);
723
- decadesViewHeader.eq(2).find('span').attr('title', options.tooltips.nextCentury);
724
-
725
- decadesView.find('.disabled').removeClass('disabled');
726
-
727
- if( startDecade.isSame(moment({y: 1900})) || (options.minDate && options.minDate.isAfter(startDecade, 'y')) ) {
728
- decadesViewHeader.eq(0).addClass('disabled');
729
- }
730
-
731
- decadesViewHeader.eq(1).text(startDecade.year() + '-' + endDecade.year());
732
-
733
- if( startDecade.isSame(moment({y: 2000})) || (options.maxDate && options.maxDate.isBefore(endDecade, 'y')) ) {
734
- decadesViewHeader.eq(2).addClass('disabled');
735
- }
736
-
737
- while( !startDecade.isAfter(endDecade, 'y') ) {
738
- endDecadeYear = startDecade.year() + 12;
739
- minDateDecade = options.minDate && options.minDate.isAfter(startDecade, 'y') && options.minDate.year() <= endDecadeYear;
740
- maxDateDecade = options.maxDate && options.maxDate.isAfter(startDecade, 'y') && options.maxDate.year() <= endDecadeYear;
741
- html += '<span data-action="selectDecade" class="decade' + (date.isAfter(startDecade) && date.year() <= endDecadeYear
742
- ? ' active'
743
- : '') +
744
- (!isValid(startDecade, 'y') && !minDateDecade && !maxDateDecade
745
- ? ' disabled'
746
- : '') + '" data-selection="' + (startDecade.year() + 6) + '">' + (startDecade.year() + 1) + ' - ' + (startDecade.year() + 12) + '</span>';
747
- startDecade.add(12, 'y');
748
- }
749
- html += '<span></span><span></span><span></span>'; //push the dangling block over, at least this way
750
- // it's even
751
-
752
- decadesView.find('td').html(html);
753
- decadesViewHeader.eq(1).text((startedAt.year() + 1) + '-' + (startDecade.year()));
754
- },
755
-
756
- fillDate = function() {
757
- var daysView = widget.find('.datepicker-days'),
758
- daysViewHeader = daysView.find('th'),
759
- currentDate,
760
- html = [],
761
- row,
762
- clsNames = [],
763
- i;
764
-
765
- if( !hasDate() ) {
766
- return;
767
- }
768
-
769
- daysViewHeader.eq(0).find('span').attr('title', options.tooltips.prevMonth);
770
- daysViewHeader.eq(1).attr('title', options.tooltips.selectMonth);
771
- daysViewHeader.eq(2).find('span').attr('title', options.tooltips.nextMonth);
772
-
773
- daysView.find('.disabled').removeClass('disabled');
774
- daysViewHeader.eq(1).text(viewDate.format(options.dayViewHeaderFormat));
775
-
776
- if( !isValid(viewDate.clone().subtract(1, 'M'), 'M') ) {
777
- daysViewHeader.eq(0).addClass('disabled');
778
- }
779
- if( !isValid(viewDate.clone().add(1, 'M'), 'M') ) {
780
- daysViewHeader.eq(2).addClass('disabled');
781
- }
782
-
783
- currentDate = viewDate.clone().startOf('M').startOf('w').startOf('d');
784
-
785
- for( i = 0; i < 42; i++ ) { //always display 42 days (should show 6 weeks)
786
- if( currentDate.weekday() === 0 ) {
787
- row = $('<tr>');
788
- if( options.calendarWeeks ) {
789
- row.append('<td class="cw">' + currentDate.week() + '</td>');
790
- }
791
- html.push(row);
792
- }
793
- clsNames = ['day'];
794
- if( currentDate.isBefore(viewDate, 'M') ) {
795
- clsNames.push('old');
796
- }
797
- if( currentDate.isAfter(viewDate, 'M') ) {
798
- clsNames.push('new');
799
- }
800
- if( currentDate.isSame(date, 'd') && !unset ) {
801
- clsNames.push('active');
802
- }
803
- if( !isValid(currentDate, 'd') ) {
804
- clsNames.push('disabled');
805
- }
806
- if( currentDate.isSame(getMoment(), 'd') ) {
807
- clsNames.push('today');
808
- }
809
- if( currentDate.day() === 0 || currentDate.day() === 6 ) {
810
- clsNames.push('weekend');
811
- }
812
- notifyEvent({
813
- type: 'dp.classify',
814
- date: currentDate,
815
- classNames: clsNames
816
- });
817
- row.append('<td data-action="selectDay" data-day="' + currentDate.format('L') + '" class="' + clsNames.join(' ') + '">' + currentDate.date() + '</td>');
818
- currentDate.add(1, 'd');
819
- }
820
-
821
- daysView.find('tbody').empty().append(html);
822
-
823
- updateMonths();
824
-
825
- updateYears();
826
-
827
- updateDecades();
828
- },
829
-
830
- fillHours = function() {
831
- var table = widget.find('.timepicker-hours table'),
832
- currentHour = viewDate.clone().startOf('d'),
833
- html = [],
834
- row = $('<tr>');
835
-
836
- if( viewDate.hour() > 11 && !use24Hours ) {
837
- currentHour.hour(12);
838
- }
839
- while( currentHour.isSame(viewDate, 'd') && (use24Hours || (viewDate.hour() < 12 && currentHour.hour() < 12) || viewDate.hour() > 11) ) {
840
- if( currentHour.hour() % 4 === 0 ) {
841
- row = $('<tr>');
842
- html.push(row);
843
- }
844
- row.append('<td data-action="selectHour" class="hour' + (!isValid(currentHour, 'h')
845
- ? ' disabled'
846
- : '') + '">' + currentHour.format(use24Hours ? 'HH' : 'hh') + '</td>');
847
- currentHour.add(1, 'h');
848
- }
849
- table.empty().append(html);
850
- },
851
-
852
- fillMinutes = function() {
853
- var table = widget.find('.timepicker-minutes table'),
854
- currentMinute = viewDate.clone().startOf('h'),
855
- html = [],
856
- row = $('<tr>'),
857
- step = options.stepping === 1 ? 5 : options.stepping;
858
-
859
- while( viewDate.isSame(currentMinute, 'h') ) {
860
- if( currentMinute.minute() % (step * 4) === 0 ) {
861
- row = $('<tr>');
862
- html.push(row);
863
- }
864
- row.append('<td data-action="selectMinute" class="minute' + (!isValid(currentMinute, 'm')
865
- ? ' disabled'
866
- : '') + '">' + currentMinute.format('mm') + '</td>');
867
- currentMinute.add(step, 'm');
868
- }
869
- table.empty().append(html);
870
- },
871
-
872
- fillSeconds = function() {
873
- var table = widget.find('.timepicker-seconds table'),
874
- currentSecond = viewDate.clone().startOf('m'),
875
- html = [],
876
- row = $('<tr>');
877
-
878
- while( viewDate.isSame(currentSecond, 'm') ) {
879
- if( currentSecond.second() % 20 === 0 ) {
880
- row = $('<tr>');
881
- html.push(row);
882
- }
883
- row.append('<td data-action="selectSecond" class="second' + (!isValid(currentSecond, 's')
884
- ? ' disabled'
885
- : '') + '">' + currentSecond.format('ss') + '</td>');
886
- currentSecond.add(5, 's');
887
- }
888
-
889
- table.empty().append(html);
890
- },
891
-
892
- fillTime = function() {
893
- var toggle, newDate, timeComponents = widget.find('.timepicker span[data-time-component]');
894
-
895
- if( !use24Hours ) {
896
- toggle = widget.find('.timepicker [data-action=togglePeriod]');
897
- newDate = date.clone().add((date.hours() >= 12) ? -12 : 12, 'h');
898
-
899
- toggle.text(date.format('A'));
900
-
901
- if( isValid(newDate, 'h') ) {
902
- toggle.removeClass('disabled');
903
- } else {
904
- toggle.addClass('disabled');
905
- }
906
- }
907
- timeComponents.filter('[data-time-component=hours]').text(date.format(use24Hours ? 'HH' : 'hh'));
908
- timeComponents.filter('[data-time-component=minutes]').text(date.format('mm'));
909
- timeComponents.filter('[data-time-component=seconds]').text(date.format('ss'));
910
-
911
- fillHours();
912
- fillMinutes();
913
- fillSeconds();
914
- },
915
-
916
- update = function() {
917
- if( !widget ) {
918
- return;
919
- }
920
- fillDate();
921
- fillTime();
922
- },
923
-
924
- setValue = function(targetMoment) {
925
- var oldDate = unset ? null : date;
926
-
927
- // case of calling setValue(null or false)
928
- if( !targetMoment ) {
929
- unset = true;
930
- input.val('');
931
- element.data('date', '');
932
- notifyEvent({
933
- type: 'dp.change',
934
- date: false,
935
- oldDate: oldDate
936
- });
937
- update();
938
- return;
939
- }
940
-
941
- targetMoment = targetMoment.clone().locale(options.locale);
942
-
943
- if( hasTimeZone() ) {
944
- targetMoment.tz(options.timeZone);
945
- }
946
-
947
- if( options.stepping !== 1 ) {
948
- targetMoment.minutes((Math.round(targetMoment.minutes() / options.stepping) * options.stepping)).seconds(0);
949
-
950
- while( options.minDate && targetMoment.isBefore(options.minDate) ) {
951
- targetMoment.add(options.stepping, 'minutes');
952
- }
953
- }
954
-
955
- if( isValid(targetMoment) ) {
956
- date = targetMoment;
957
- viewDate = date.clone();
958
- input.val(date.format(actualFormat));
959
- element.data('date', date.format(actualFormat));
960
- unset = false;
961
- update();
962
- notifyEvent({
963
- type: 'dp.change',
964
- date: date.clone(),
965
- oldDate: oldDate
966
- });
967
- } else {
968
- if( !options.keepInvalid ) {
969
- input.val(unset ? '' : date.format(actualFormat));
970
- } else {
971
- notifyEvent({
972
- type: 'dp.change',
973
- date: targetMoment,
974
- oldDate: oldDate
975
- });
976
- }
977
- notifyEvent({
978
- type: 'dp.error',
979
- date: targetMoment,
980
- oldDate: oldDate
981
- });
982
- }
983
- },
984
-
985
- /**
986
- * Hides the widget. Possibly will emit dp.hide
987
- */
988
- hide = function() {
989
- var transitioning = false;
990
- if( !widget ) {
991
- return picker;
992
- }
993
- // Ignore event if in the middle of a picker transition
994
- widget.find('.collapse').each(function() {
995
- var collapseData = $(this).data('collapse');
996
- if( collapseData && collapseData.transitioning ) {
997
- transitioning = true;
998
- return false;
999
- }
1000
- return true;
1001
- });
1002
- if( transitioning ) {
1003
- return picker;
1004
- }
1005
- if( component && component.hasClass('btn') ) {
1006
- component.toggleClass('active');
1007
- }
1008
- widget.hide();
1009
-
1010
- $(window).off('resize', place);
1011
- widget.off('click', '[data-action]');
1012
- widget.off('mousedown', false);
1013
-
1014
- widget.remove();
1015
- widget = false;
1016
-
1017
- notifyEvent({
1018
- type: 'dp.hide',
1019
- date: date.clone()
1020
- });
1021
-
1022
- input.blur();
1023
-
1024
- viewDate = date.clone();
1025
-
1026
- return picker;
1027
- },
1028
-
1029
- clear = function() {
1030
- setValue(null);
1031
- },
1032
-
1033
- parseInputDate = function(inputDate) {
1034
- if( options.parseInputDate === undefined ) {
1035
- if( !moment.isMoment(inputDate) || inputDate instanceof Date ) {
1036
- inputDate = getMoment(inputDate);
1037
- }
1038
- } else {
1039
- inputDate = options.parseInputDate(inputDate);
1040
- }
1041
- //inputDate.locale(options.locale);
1042
- return inputDate;
1043
- },
1044
-
1045
- /********************************************************************************
1046
- *
1047
- * Widget UI interaction functions
1048
- *
1049
- ********************************************************************************/
1050
- actions = {
1051
- next: function() {
1052
- var navFnc = datePickerModes[currentViewMode].navFnc;
1053
- viewDate.add(datePickerModes[currentViewMode].navStep, navFnc);
1054
- fillDate();
1055
- viewUpdate(navFnc);
1056
- },
1057
-
1058
- previous: function() {
1059
- var navFnc = datePickerModes[currentViewMode].navFnc;
1060
- viewDate.subtract(datePickerModes[currentViewMode].navStep, navFnc);
1061
- fillDate();
1062
- viewUpdate(navFnc);
1063
- },
1064
-
1065
- pickerSwitch: function() {
1066
- showMode(1);
1067
- },
1068
-
1069
- selectMonth: function(e) {
1070
- var month = $(e.target).closest('tbody').find('span').index($(e.target));
1071
- viewDate.month(month);
1072
- if( currentViewMode === minViewModeNumber ) {
1073
- setValue(date.clone().year(viewDate.year()).month(viewDate.month()));
1074
- if( !options.inline ) {
1075
- hide();
1076
- }
1077
- } else {
1078
- showMode(-1);
1079
- fillDate();
1080
- }
1081
- viewUpdate('M');
1082
- },
1083
-
1084
- selectYear: function(e) {
1085
- var year = parseInt($(e.target).text(), 10) || 0;
1086
- viewDate.year(year);
1087
- if( currentViewMode === minViewModeNumber ) {
1088
- setValue(date.clone().year(viewDate.year()));
1089
- if( !options.inline ) {
1090
- hide();
1091
- }
1092
- } else {
1093
- showMode(-1);
1094
- fillDate();
1095
- }
1096
- viewUpdate('YYYY');
1097
- },
1098
-
1099
- selectDecade: function(e) {
1100
- var year = parseInt($(e.target).data('selection'), 10) || 0;
1101
- viewDate.year(year);
1102
- if( currentViewMode === minViewModeNumber ) {
1103
- setValue(date.clone().year(viewDate.year()));
1104
- if( !options.inline ) {
1105
- hide();
1106
- }
1107
- } else {
1108
- showMode(-1);
1109
- fillDate();
1110
- }
1111
- viewUpdate('YYYY');
1112
- },
1113
-
1114
- selectDay: function(e) {
1115
- var day = viewDate.clone();
1116
- if( $(e.target).is('.old') ) {
1117
- day.subtract(1, 'M');
1118
- }
1119
- if( $(e.target).is('.new') ) {
1120
- day.add(1, 'M');
1121
- }
1122
- setValue(day.date(parseInt($(e.target).text(), 10)));
1123
- if( !hasTime() && !options.keepOpen && !options.inline ) {
1124
- hide();
1125
- }
1126
- },
1127
-
1128
- incrementHours: function() {
1129
- var newDate = date.clone().add(1, 'h');
1130
- if( isValid(newDate, 'h') ) {
1131
- setValue(newDate);
1132
- }
1133
- },
1134
-
1135
- incrementMinutes: function() {
1136
- var newDate = date.clone().add(options.stepping, 'm');
1137
- if( isValid(newDate, 'm') ) {
1138
- setValue(newDate);
1139
- }
1140
- },
1141
-
1142
- incrementSeconds: function() {
1143
- var newDate = date.clone().add(1, 's');
1144
- if( isValid(newDate, 's') ) {
1145
- setValue(newDate);
1146
- }
1147
- },
1148
-
1149
- decrementHours: function() {
1150
- var newDate = date.clone().subtract(1, 'h');
1151
- if( isValid(newDate, 'h') ) {
1152
- setValue(newDate);
1153
- }
1154
- },
1155
-
1156
- decrementMinutes: function() {
1157
- var newDate = date.clone().subtract(options.stepping, 'm');
1158
- if( isValid(newDate, 'm') ) {
1159
- setValue(newDate);
1160
- }
1161
- },
1162
-
1163
- decrementSeconds: function() {
1164
- var newDate = date.clone().subtract(1, 's');
1165
- if( isValid(newDate, 's') ) {
1166
- setValue(newDate);
1167
- }
1168
- },
1169
-
1170
- togglePeriod: function() {
1171
- setValue(date.clone().add((date.hours() >= 12) ? -12 : 12, 'h'));
1172
- },
1173
-
1174
- togglePicker: function(e) {
1175
- var $this = $(e.target),
1176
- $parent = $this.closest('ul'),
1177
- expanded = $parent.find('.in'),
1178
- closed = $parent.find('.collapse:not(.in)'),
1179
- collapseData;
1180
-
1181
- if( expanded && expanded.length ) {
1182
- collapseData = expanded.data('collapse');
1183
- if( collapseData && collapseData.transitioning ) {
1184
- return;
1185
- }
1186
- if( expanded.collapse ) { // if collapse plugin is available through bootstrap.js then use it
1187
- expanded.collapse('hide');
1188
- closed.collapse('show');
1189
- } else { // otherwise just toggle in class on the two views
1190
- expanded.removeClass('in');
1191
- closed.addClass('in');
1192
- }
1193
- if( $this.is('span') ) {
1194
- $this.toggleClass(options.icons.time + ' ' + options.icons.date);
1195
- } else {
1196
- $this.find('span').toggleClass(options.icons.time + ' ' + options.icons.date);
1197
- }
1198
-
1199
- // NOTE: uncomment if toggled state will be restored in show()
1200
- //if (component) {
1201
- // component.find('span').toggleClass(options.icons.time + ' ' + options.icons.date);
1202
- //}
1203
- }
1204
- },
1205
-
1206
- showPicker: function() {
1207
- widget.find('.timepicker > div:not(.timepicker-picker)').hide();
1208
- widget.find('.timepicker .timepicker-picker').show();
1209
- },
1210
-
1211
- showHours: function() {
1212
- widget.find('.timepicker .timepicker-picker').hide();
1213
- widget.find('.timepicker .timepicker-hours').show();
1214
- },
1215
-
1216
- showMinutes: function() {
1217
- widget.find('.timepicker .timepicker-picker').hide();
1218
- widget.find('.timepicker .timepicker-minutes').show();
1219
- },
1220
-
1221
- showSeconds: function() {
1222
- widget.find('.timepicker .timepicker-picker').hide();
1223
- widget.find('.timepicker .timepicker-seconds').show();
1224
- },
1225
-
1226
- selectHour: function(e) {
1227
- var hour = parseInt($(e.target).text(), 10);
1228
-
1229
- if( !use24Hours ) {
1230
- if( date.hours() >= 12 ) {
1231
- if( hour !== 12 ) {
1232
- hour += 12;
1233
- }
1234
- } else {
1235
- if( hour === 12 ) {
1236
- hour = 0;
1237
- }
1238
- }
1239
- }
1240
- setValue(date.clone().hours(hour));
1241
- actions.showPicker.call(picker);
1242
- },
1243
-
1244
- selectMinute: function(e) {
1245
- setValue(date.clone().minutes(parseInt($(e.target).text(), 10)));
1246
- actions.showPicker.call(picker);
1247
- },
1248
-
1249
- selectSecond: function(e) {
1250
- setValue(date.clone().seconds(parseInt($(e.target).text(), 10)));
1251
- actions.showPicker.call(picker);
1252
- },
1253
-
1254
- clear: clear,
1255
-
1256
- today: function() {
1257
- var todaysDate = getMoment();
1258
- if( isValid(todaysDate, 'd') ) {
1259
- setValue(todaysDate);
1260
- }
1261
- },
1262
-
1263
- close: hide
1264
- },
1265
-
1266
- doAction = function(e) {
1267
- if( $(e.currentTarget).is('.disabled') ) {
1268
- return false;
1269
- }
1270
- actions[$(e.currentTarget).data('action')].apply(picker, arguments);
1271
- return false;
1272
- },
1273
-
1274
- /**
1275
- * Shows the widget. Possibly will emit dp.show and dp.change
1276
- */
1277
- show = function() {
1278
- var currentMoment,
1279
- useCurrentGranularity = {
1280
- 'year': function(m) {
1281
- return m.month(0).date(1).hours(0).seconds(0).minutes(0);
1282
- },
1283
- 'month': function(m) {
1284
- return m.date(1).hours(0).seconds(0).minutes(0);
1285
- },
1286
- 'day': function(m) {
1287
- return m.hours(0).seconds(0).minutes(0);
1288
- },
1289
- 'hour': function(m) {
1290
- return m.seconds(0).minutes(0);
1291
- },
1292
- 'minute': function(m) {
1293
- return m.seconds(0);
1294
- }
1295
- };
1296
-
1297
- if( input.prop('disabled') || (!options.ignoreReadonly && input.prop('readonly')) || widget ) {
1298
- return picker;
1299
- }
1300
- if( input.val() !== undefined && input.val().trim().length !== 0 ) {
1301
- setValue(parseInputDate(input.val().trim()));
1302
- } else if( unset && options.useCurrent && (options.inline || (input.is('input') && input.val().trim().length === 0)) ) {
1303
- currentMoment = getMoment();
1304
- if( typeof options.useCurrent === 'string' ) {
1305
- currentMoment = useCurrentGranularity[options.useCurrent](currentMoment);
1306
- }
1307
- setValue(currentMoment);
1308
- }
1309
- widget = getTemplate();
1310
-
1311
- fillDow();
1312
- fillMonths();
1313
-
1314
- widget.find('.timepicker-hours').hide();
1315
- widget.find('.timepicker-minutes').hide();
1316
- widget.find('.timepicker-seconds').hide();
1317
-
1318
- update();
1319
- showMode();
1320
-
1321
- $(window).on('resize', place);
1322
- widget.on('click', '[data-action]', doAction); // this handles clicks on the widget
1323
- widget.on('mousedown', false);
1324
-
1325
- if( component && component.hasClass('btn') ) {
1326
- component.toggleClass('active');
1327
- }
1328
- place();
1329
- widget.show();
1330
- if( options.focusOnShow && !input.is(':focus') ) {
1331
- input.focus();
1332
- }
1333
-
1334
- notifyEvent({
1335
- type: 'dp.show'
1336
- });
1337
- return picker;
1338
- },
1339
-
1340
- /**
1341
- * Shows or hides the widget
1342
- */
1343
- toggle = function() {
1344
- return (widget ? hide() : show());
1345
- },
1346
-
1347
- keydown = function(e) {
1348
- var handler = null,
1349
- index,
1350
- index2,
1351
- pressedKeys = [],
1352
- pressedModifiers = {},
1353
- currentKey = e.which,
1354
- keyBindKeys,
1355
- allModifiersPressed,
1356
- pressed = 'p';
1357
-
1358
- keyState[currentKey] = pressed;
1359
-
1360
- for( index in keyState ) {
1361
- if( keyState.hasOwnProperty(index) && keyState[index] === pressed ) {
1362
- pressedKeys.push(index);
1363
- if( parseInt(index, 10) !== currentKey ) {
1364
- pressedModifiers[index] = true;
1365
- }
1366
- }
1367
- }
1368
-
1369
- for( index in options.keyBinds ) {
1370
- if( options.keyBinds.hasOwnProperty(index) && typeof (options.keyBinds[index]) === 'function' ) {
1371
- keyBindKeys = index.split(' ');
1372
- if( keyBindKeys.length === pressedKeys.length && keyMap[currentKey] === keyBindKeys[keyBindKeys.length - 1] ) {
1373
- allModifiersPressed = true;
1374
- for( index2 = keyBindKeys.length - 2; index2 >= 0; index2-- ) {
1375
- if( !(keyMap[keyBindKeys[index2]] in pressedModifiers) ) {
1376
- allModifiersPressed = false;
1377
- break;
1378
- }
1379
- }
1380
- if( allModifiersPressed ) {
1381
- handler = options.keyBinds[index];
1382
- break;
1383
- }
1384
- }
1385
- }
1386
- }
1387
-
1388
- if( handler ) {
1389
- handler.call(picker, widget);
1390
- e.stopPropagation();
1391
- e.preventDefault();
1392
- }
1393
- },
1394
-
1395
- keyup = function(e) {
1396
- keyState[e.which] = 'r';
1397
- e.stopPropagation();
1398
- e.preventDefault();
1399
- },
1400
-
1401
- change = function(e) {
1402
- var val = $(e.target).val().trim(),
1403
- parsedDate = val ? parseInputDate(val) : null;
1404
- setValue(parsedDate);
1405
- e.stopImmediatePropagation();
1406
- return false;
1407
- },
1408
-
1409
- attachDatePickerElementEvents = function() {
1410
- input.on({
1411
- 'change': change,
1412
- 'blur': options.debug ? '' : hide,
1413
- 'keydown': keydown,
1414
- 'keyup': keyup,
1415
- 'focus': options.allowInputToggle ? show : ''
1416
- });
1417
-
1418
- if( element.is('input') ) {
1419
- input.on({
1420
- 'focus': show
1421
- });
1422
- } else if( component ) {
1423
- component.on('click', toggle);
1424
- component.on('mousedown', false);
1425
- }
1426
- },
1427
-
1428
- detachDatePickerElementEvents = function() {
1429
- input.off({
1430
- 'change': change,
1431
- 'blur': blur,
1432
- 'keydown': keydown,
1433
- 'keyup': keyup,
1434
- 'focus': options.allowInputToggle ? hide : ''
1435
- });
1436
-
1437
- if( element.is('input') ) {
1438
- input.off({
1439
- 'focus': show
1440
- });
1441
- } else if( component ) {
1442
- component.off('click', toggle);
1443
- component.off('mousedown', false);
1444
- }
1445
- },
1446
-
1447
- indexGivenDates = function(givenDatesArray) {
1448
- // Store given enabledDates and disabledDates as keys.
1449
- // This way we can check their existence in O(1) time instead of looping through whole array.
1450
- // (for example: options.enabledDates['2014-02-27'] === true)
1451
- var givenDatesIndexed = {};
1452
- $.each(givenDatesArray, function() {
1453
- var dDate = parseInputDate(this);
1454
- if( dDate.isValid() ) {
1455
- givenDatesIndexed[dDate.format('YYYY-MM-DD')] = true;
1456
- }
1457
- });
1458
- return (Object.keys(givenDatesIndexed).length) ? givenDatesIndexed : false;
1459
- },
1460
-
1461
- indexGivenHours = function(givenHoursArray) {
1462
- // Store given enabledHours and disabledHours as keys.
1463
- // This way we can check their existence in O(1) time instead of looping through whole array.
1464
- // (for example: options.enabledHours['2014-02-27'] === true)
1465
- var givenHoursIndexed = {};
1466
- $.each(givenHoursArray, function() {
1467
- givenHoursIndexed[this] = true;
1468
- });
1469
- return (Object.keys(givenHoursIndexed).length) ? givenHoursIndexed : false;
1470
- },
1471
-
1472
- initFormatting = function() {
1473
- var format = options.format || 'L LT';
1474
-
1475
- actualFormat = format.replace(/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, function(formatInput) {
1476
- var newinput = date.localeData().longDateFormat(formatInput) || formatInput;
1477
- return newinput.replace(/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, function(formatInput2) { //temp fix for #740
1478
- return date.localeData().longDateFormat(formatInput2) || formatInput2;
1479
- });
1480
- });
1481
-
1482
- parseFormats = options.extraFormats ? options.extraFormats.slice() : [];
1483
- if( parseFormats.indexOf(format) < 0 && parseFormats.indexOf(actualFormat) < 0 ) {
1484
- parseFormats.push(actualFormat);
1485
- }
1486
-
1487
- use24Hours = (actualFormat.toLowerCase().indexOf('a') < 1 && actualFormat.replace(/\[.*?\]/g, '').indexOf('h') < 1);
1488
-
1489
- if( isEnabled('y') ) {
1490
- minViewModeNumber = 2;
1491
- }
1492
- if( isEnabled('M') ) {
1493
- minViewModeNumber = 1;
1494
- }
1495
- if( isEnabled('d') ) {
1496
- minViewModeNumber = 0;
1497
- }
1498
-
1499
- currentViewMode = Math.max(minViewModeNumber, currentViewMode);
1500
-
1501
- if( !unset ) {
1502
- setValue(date);
1503
- }
1504
- };
1505
-
1506
- /********************************************************************************
1507
- *
1508
- * Public API functions
1509
- * =====================
1510
- *
1511
- * Important: Do not expose direct references to private objects or the options
1512
- * object to the outer world. Always return a clone when returning values or make
1513
- * a clone when setting a private variable.
1514
- *
1515
- ********************************************************************************/
1516
- picker.destroy = function() {
1517
- ///<summary>Destroys the widget and removes all attached event listeners</summary>
1518
- hide();
1519
- detachDatePickerElementEvents();
1520
- element.removeData('DateTimePicker');
1521
- element.removeData('date');
1522
- };
1523
-
1524
- picker.toggle = toggle;
1525
-
1526
- picker.show = show;
1527
-
1528
- picker.hide = hide;
1529
-
1530
- picker.disable = function() {
1531
- ///<summary>Disables the input element, the component is attached to, by adding a disabled="true" attribute
1532
- // to it. /If the widget was visible before that call it is hidden. Possibly emits dp.hide</summary>
1533
- hide();
1534
- if( component && component.hasClass('btn') ) {
1535
- component.addClass('disabled');
1536
- }
1537
- input.prop('disabled', true);
1538
- return picker;
1539
- };
1540
-
1541
- picker.enable = function() {
1542
- ///<summary>Enables the input element, the component is attached to, by removing disabled attribute from
1543
- // it.</summary>
1544
- if( component && component.hasClass('btn') ) {
1545
- component.removeClass('disabled');
1546
- }
1547
- input.prop('disabled', false);
1548
- return picker;
1549
- };
1550
-
1551
- picker.ignoreReadonly = function(ignoreReadonly) {
1552
- if( arguments.length === 0 ) {
1553
- return options.ignoreReadonly;
1554
- }
1555
- if( typeof ignoreReadonly !== 'boolean' ) {
1556
- throw new TypeError('ignoreReadonly () expects a boolean parameter');
1557
- }
1558
- options.ignoreReadonly = ignoreReadonly;
1559
- return picker;
1560
- };
1561
-
1562
- picker.options = function(newOptions) {
1563
- if( arguments.length === 0 ) {
1564
- return $.extend(true, {}, options);
1565
- }
1566
-
1567
- if( !(newOptions instanceof Object) ) {
1568
- throw new TypeError('options() options parameter should be an object');
1569
- }
1570
- $.extend(true, options, newOptions);
1571
- $.each(options, function(key, value) {
1572
- if( picker[key] !== undefined ) {
1573
- picker[key](value);
1574
- } else {
1575
- throw new TypeError('option ' + key + ' is not recognized!');
1576
- }
1577
- });
1578
- return picker;
1579
- };
1580
-
1581
- picker.date = function(newDate) {
1582
- ///<signature helpKeyword="$.fn.factoryBootstrap330_DatetimePickerControl.date">
1583
- ///<summary>Returns the component's model current date, a moment object or null if not set.</summary>
1584
- ///<returns type="Moment">date.clone()</returns>
1585
- ///</signature>
1586
- ///<signature>
1587
- ///<summary>Sets the components model current moment to it. Passing a null value unsets the components
1588
- // model current moment. Parsing of the newDate parameter is made using moment library with the
1589
- // options.format and options.useStrict components configuration.</summary> /<param name="newDate"
1590
- // locid="$.fn.factoryBootstrap330_DatetimePickerControl.date_p:newDate">Takes string, Date, moment, null
1591
- // parameter.</param> /</signature>
1592
- if( arguments.length === 0 ) {
1593
- if( unset ) {
1594
- return null;
1595
- }
1596
- return date.clone();
1597
- }
1598
-
1599
- if( newDate !== null && typeof newDate !== 'string' && !moment.isMoment(newDate) && !(newDate instanceof Date) ) {
1600
- throw new TypeError('date() parameter must be one of [null, string, moment or Date]');
1601
- }
1602
-
1603
- setValue(newDate === null ? null : parseInputDate(newDate));
1604
- return picker;
1605
- };
1606
-
1607
- picker.format = function(newFormat) {
1608
- ///<summary>test su</summary>
1609
- ///<param name="newFormat">info about para</param>
1610
- ///<returns type="string|boolean">returns foo</returns>
1611
- if( arguments.length === 0 ) {
1612
- return options.format;
1613
- }
1614
-
1615
- if( (typeof newFormat !== 'string') && ((typeof newFormat !== 'boolean') || (newFormat !== false)) ) {
1616
- throw new TypeError('format() expects a string or boolean:false parameter ' + newFormat);
1617
- }
1618
-
1619
- options.format = newFormat;
1620
- if( actualFormat ) {
1621
- initFormatting(); // reinit formatting
1622
- }
1623
- return picker;
1624
- };
1625
-
1626
- picker.timeZone = function(newZone) {
1627
- if( arguments.length === 0 ) {
1628
- return options.timeZone;
1629
- }
1630
-
1631
- if( typeof newZone !== 'string' ) {
1632
- throw new TypeError('newZone() expects a string parameter');
1633
- }
1634
-
1635
- options.timeZone = newZone;
1636
-
1637
- return picker;
1638
- };
1639
-
1640
- picker.dayViewHeaderFormat = function(newFormat) {
1641
- if( arguments.length === 0 ) {
1642
- return options.dayViewHeaderFormat;
1643
- }
1644
-
1645
- if( typeof newFormat !== 'string' ) {
1646
- throw new TypeError('dayViewHeaderFormat() expects a string parameter');
1647
- }
1648
-
1649
- options.dayViewHeaderFormat = newFormat;
1650
- return picker;
1651
- };
1652
-
1653
- picker.extraFormats = function(formats) {
1654
- if( arguments.length === 0 ) {
1655
- return options.extraFormats;
1656
- }
1657
-
1658
- if( formats !== false && !(formats instanceof Array) ) {
1659
- throw new TypeError('extraFormats() expects an array or false parameter');
1660
- }
1661
-
1662
- options.extraFormats = formats;
1663
- if( parseFormats ) {
1664
- initFormatting(); // reinit formatting
1665
- }
1666
- return picker;
1667
- };
1668
-
1669
- picker.disabledDates = function(dates) {
1670
- ///<signature helpKeyword="$.fn.factoryBootstrap330_DatetimePickerControl.disabledDates">
1671
- ///<summary>Returns an array with the currently set disabled dates on the component.</summary>
1672
- ///<returns type="array">options.disabledDates</returns>
1673
- ///</signature>
1674
- ///<signature>
1675
- ///<summary>Setting this takes precedence over options.minDate, options.maxDate configuration. Also calling
1676
- // this function removes the configuration of /options.enabledDates if such exist.</summary> /<param
1677
- // name="dates" locid="$.fn.factoryBootstrap330_DatetimePickerControl.disabledDates_p:dates">Takes an [
1678
- // string or Date or moment ] of values and allows the user to select only from those days.</param>
1679
- // /</signature>
1680
- if( arguments.length === 0 ) {
1681
- return (options.disabledDates ? $.extend({}, options.disabledDates) : options.disabledDates);
1682
- }
1683
-
1684
- if( !dates ) {
1685
- options.disabledDates = false;
1686
- update();
1687
- return picker;
1688
- }
1689
- if( !(dates instanceof Array) ) {
1690
- throw new TypeError('disabledDates() expects an array parameter');
1691
- }
1692
- options.disabledDates = indexGivenDates(dates);
1693
- options.enabledDates = false;
1694
- update();
1695
- return picker;
1696
- };
1697
-
1698
- picker.enabledDates = function(dates) {
1699
- ///<signature helpKeyword="$.fn.factoryBootstrap330_DatetimePickerControl.enabledDates">
1700
- ///<summary>Returns an array with the currently set enabled dates on the component.</summary>
1701
- ///<returns type="array">options.enabledDates</returns>
1702
- ///</signature>
1703
- ///<signature>
1704
- ///<summary>Setting this takes precedence over options.minDate, options.maxDate configuration. Also calling
1705
- // this function removes the configuration of options.disabledDates if such exist.</summary> /<param
1706
- // name="dates" locid="$.fn.factoryBootstrap330_DatetimePickerControl.enabledDates_p:dates">Takes an [
1707
- // string or Date or moment ] of values and allows the user to select only from those days.</param>
1708
- // /</signature>
1709
- if( arguments.length === 0 ) {
1710
- return (options.enabledDates ? $.extend({}, options.enabledDates) : options.enabledDates);
1711
- }
1712
-
1713
- if( !dates ) {
1714
- options.enabledDates = false;
1715
- update();
1716
- return picker;
1717
- }
1718
- if( !(dates instanceof Array) ) {
1719
- throw new TypeError('enabledDates() expects an array parameter');
1720
- }
1721
- options.enabledDates = indexGivenDates(dates);
1722
- options.disabledDates = false;
1723
- update();
1724
- return picker;
1725
- };
1726
-
1727
- picker.daysOfWeekDisabled = function(daysOfWeekDisabled) {
1728
- if( arguments.length === 0 ) {
1729
- return options.daysOfWeekDisabled.splice(0);
1730
- }
1731
-
1732
- if( (typeof daysOfWeekDisabled === 'boolean') && !daysOfWeekDisabled ) {
1733
- options.daysOfWeekDisabled = false;
1734
- update();
1735
- return picker;
1736
- }
1737
-
1738
- if( !(daysOfWeekDisabled instanceof Array) ) {
1739
- throw new TypeError('daysOfWeekDisabled() expects an array parameter');
1740
- }
1741
- options.daysOfWeekDisabled = daysOfWeekDisabled.reduce(function(previousValue, currentValue) {
1742
- currentValue = parseInt(currentValue, 10);
1743
- if( currentValue > 6 || currentValue < 0 || isNaN(currentValue) ) {
1744
- return previousValue;
1745
- }
1746
- if( previousValue.indexOf(currentValue) === -1 ) {
1747
- previousValue.push(currentValue);
1748
- }
1749
- return previousValue;
1750
- }, []).sort();
1751
- if( options.useCurrent && !options.keepInvalid ) {
1752
- var tries = 0;
1753
- while( !isValid(date, 'd') ) {
1754
- date.add(1, 'd');
1755
- if( tries === 31 ) {
1756
- throw 'Tried 31 times to find a valid date';
1757
- }
1758
- tries++;
1759
- }
1760
- setValue(date);
1761
- }
1762
- update();
1763
- return picker;
1764
- };
1765
-
1766
- picker.maxDate = function(maxDate) {
1767
- if( arguments.length === 0 ) {
1768
- return options.maxDate ? options.maxDate.clone() : options.maxDate;
1769
- }
1770
-
1771
- if( (typeof maxDate === 'boolean') && maxDate === false ) {
1772
- options.maxDate = false;
1773
- update();
1774
- return picker;
1775
- }
1776
-
1777
- if( typeof maxDate === 'string' ) {
1778
- if( maxDate === 'now' || maxDate === 'moment' ) {
1779
- maxDate = getMoment();
1780
- }
1781
- }
1782
-
1783
- var parsedDate = parseInputDate(maxDate);
1784
-
1785
- if( !parsedDate.isValid() ) {
1786
- throw new TypeError('maxDate() Could not parse date parameter: ' + maxDate);
1787
- }
1788
- if( options.minDate && parsedDate.isBefore(options.minDate) ) {
1789
- throw new TypeError('maxDate() date parameter is before options.minDate: ' + parsedDate.format(actualFormat));
1790
- }
1791
- options.maxDate = parsedDate;
1792
- if( options.useCurrent && !options.keepInvalid && date.isAfter(maxDate) ) {
1793
- setValue(options.maxDate);
1794
- }
1795
- if( viewDate.isAfter(parsedDate) ) {
1796
- viewDate = parsedDate.clone().subtract(options.stepping, 'm');
1797
- }
1798
- update();
1799
- return picker;
1800
- };
1801
-
1802
- picker.minDate = function(minDate) {
1803
- if( arguments.length === 0 ) {
1804
- return options.minDate ? options.minDate.clone() : options.minDate;
1805
- }
1806
-
1807
- if( (typeof minDate === 'boolean') && minDate === false ) {
1808
- options.minDate = false;
1809
- update();
1810
- return picker;
1811
- }
1812
-
1813
- if( typeof minDate === 'string' ) {
1814
- if( minDate === 'now' || minDate === 'moment' ) {
1815
- minDate = getMoment();
1816
- }
1817
- }
1818
-
1819
- var parsedDate = parseInputDate(minDate);
1820
-
1821
- if( !parsedDate.isValid() ) {
1822
- throw new TypeError('minDate() Could not parse date parameter: ' + minDate);
1823
- }
1824
- if( options.maxDate && parsedDate.isAfter(options.maxDate) ) {
1825
- throw new TypeError('minDate() date parameter is after options.maxDate: ' + parsedDate.format(actualFormat));
1826
- }
1827
- options.minDate = parsedDate;
1828
- if( options.useCurrent && !options.keepInvalid && date.isBefore(minDate) ) {
1829
- setValue(options.minDate);
1830
- }
1831
- if( viewDate.isBefore(parsedDate) ) {
1832
- viewDate = parsedDate.clone().add(options.stepping, 'm');
1833
- }
1834
- update();
1835
- return picker;
1836
- };
1837
-
1838
- picker.defaultDate = function(defaultDate) {
1839
- ///<signature helpKeyword="$.fn.factoryBootstrap330_DatetimePickerControl.defaultDate">
1840
- ///<summary>Returns a moment with the options.defaultDate option configuration or false if not
1841
- // set</summary>
1842
- ///<returns type="Moment">date.clone()</returns>
1843
- ///</signature>
1844
- ///<signature>
1845
- ///<summary>Will set the picker's inital date. If a boolean:false value is passed the options.defaultDate
1846
- // parameter is cleared.</summary> /<param name="defaultDate"
1847
- // locid="$.fn.factoryBootstrap330_DatetimePickerControl.defaultDate_p:defaultDate">Takes a string, Date,
1848
- // moment, boolean:false</param> /</signature>
1849
- if( arguments.length === 0 ) {
1850
- return options.defaultDate ? options.defaultDate.clone() : options.defaultDate;
1851
- }
1852
- if( !defaultDate ) {
1853
- options.defaultDate = false;
1854
- return picker;
1855
- }
1856
-
1857
- if( typeof defaultDate === 'string' ) {
1858
- if( defaultDate === 'now' || defaultDate === 'moment' ) {
1859
- defaultDate = getMoment();
1860
- } else {
1861
- defaultDate = getMoment(defaultDate);
1862
- }
1863
- }
1864
-
1865
- var parsedDate = parseInputDate(defaultDate);
1866
- if( !parsedDate.isValid() ) {
1867
- throw new TypeError('defaultDate() Could not parse date parameter: ' + defaultDate);
1868
- }
1869
- if( !isValid(parsedDate) ) {
1870
- throw new TypeError('defaultDate() date passed is invalid according to component setup validations');
1871
- }
1872
-
1873
- options.defaultDate = parsedDate;
1874
-
1875
- if( (options.defaultDate && options.inline) || input.val().trim() === '' ) {
1876
- setValue(options.defaultDate);
1877
- }
1878
- return picker;
1879
- };
1880
-
1881
- picker.locale = function(locale) {
1882
- if( arguments.length === 0 ) {
1883
- return options.locale;
1884
- }
1885
-
1886
- if( !moment.localeData(locale) ) {
1887
- throw new TypeError('locale() locale ' + locale + ' is not loaded from moment locales!');
1888
- }
1889
-
1890
- options.locale = locale;
1891
- date.locale(options.locale);
1892
- viewDate.locale(options.locale);
1893
-
1894
- if( actualFormat ) {
1895
- initFormatting(); // reinit formatting
1896
- }
1897
- if( widget ) {
1898
- hide();
1899
- show();
1900
- }
1901
- return picker;
1902
- };
1903
-
1904
- picker.stepping = function(stepping) {
1905
- if( arguments.length === 0 ) {
1906
- return options.stepping;
1907
- }
1908
-
1909
- stepping = parseInt(stepping, 10);
1910
- if( isNaN(stepping) || stepping < 1 ) {
1911
- stepping = 1;
1912
- }
1913
- options.stepping = stepping;
1914
- return picker;
1915
- };
1916
-
1917
- picker.useCurrent = function(useCurrent) {
1918
- var useCurrentOptions = ['year', 'month', 'day', 'hour', 'minute'];
1919
- if( arguments.length === 0 ) {
1920
- return options.useCurrent;
1921
- }
1922
-
1923
- if( (typeof useCurrent !== 'boolean') && (typeof useCurrent !== 'string') ) {
1924
- throw new TypeError('useCurrent() expects a boolean or string parameter');
1925
- }
1926
- if( typeof useCurrent === 'string' && useCurrentOptions.indexOf(useCurrent.toLowerCase()) === -1 ) {
1927
- throw new TypeError('useCurrent() expects a string parameter of ' + useCurrentOptions.join(', '));
1928
- }
1929
- options.useCurrent = useCurrent;
1930
- return picker;
1931
- };
1932
-
1933
- picker.collapse = function(collapse) {
1934
- if( arguments.length === 0 ) {
1935
- return options.collapse;
1936
- }
1937
-
1938
- if( typeof collapse !== 'boolean' ) {
1939
- throw new TypeError('collapse() expects a boolean parameter');
1940
- }
1941
- if( options.collapse === collapse ) {
1942
- return picker;
1943
- }
1944
- options.collapse = collapse;
1945
- if( widget ) {
1946
- hide();
1947
- show();
1948
- }
1949
- return picker;
1950
- };
1951
-
1952
- picker.icons = function(icons) {
1953
- if( arguments.length === 0 ) {
1954
- return $.extend({}, options.icons);
1955
- }
1956
-
1957
- if( !(icons instanceof Object) ) {
1958
- throw new TypeError('icons() expects parameter to be an Object');
1959
- }
1960
- $.extend(options.icons, icons);
1961
- if( widget ) {
1962
- hide();
1963
- show();
1964
- }
1965
- return picker;
1966
- };
1967
-
1968
- picker.tooltips = function(tooltips) {
1969
- if( arguments.length === 0 ) {
1970
- return $.extend({}, options.tooltips);
1971
- }
1972
-
1973
- if( !(tooltips instanceof Object) ) {
1974
- throw new TypeError('tooltips() expects parameter to be an Object');
1975
- }
1976
- $.extend(options.tooltips, tooltips);
1977
- if( widget ) {
1978
- hide();
1979
- show();
1980
- }
1981
- return picker;
1982
- };
1983
-
1984
- picker.useStrict = function(useStrict) {
1985
- if( arguments.length === 0 ) {
1986
- return options.useStrict;
1987
- }
1988
-
1989
- if( typeof useStrict !== 'boolean' ) {
1990
- throw new TypeError('useStrict() expects a boolean parameter');
1991
- }
1992
- options.useStrict = useStrict;
1993
- return picker;
1994
- };
1995
-
1996
- picker.sideBySide = function(sideBySide) {
1997
- if( arguments.length === 0 ) {
1998
- return options.sideBySide;
1999
- }
2000
-
2001
- if( typeof sideBySide !== 'boolean' ) {
2002
- throw new TypeError('sideBySide() expects a boolean parameter');
2003
- }
2004
- options.sideBySide = sideBySide;
2005
- if( widget ) {
2006
- hide();
2007
- show();
2008
- }
2009
- return picker;
2010
- };
2011
-
2012
- picker.viewMode = function(viewMode) {
2013
- if( arguments.length === 0 ) {
2014
- return options.viewMode;
2015
- }
2016
-
2017
- if( typeof viewMode !== 'string' ) {
2018
- throw new TypeError('viewMode() expects a string parameter');
2019
- }
2020
-
2021
- if( viewModes.indexOf(viewMode) === -1 ) {
2022
- throw new TypeError('viewMode() parameter must be one of (' + viewModes.join(', ') + ') value');
2023
- }
2024
-
2025
- options.viewMode = viewMode;
2026
- currentViewMode = Math.max(viewModes.indexOf(viewMode), minViewModeNumber);
2027
-
2028
- showMode();
2029
- return picker;
2030
- };
2031
-
2032
- picker.toolbarPlacement = function(toolbarPlacement) {
2033
- if( arguments.length === 0 ) {
2034
- return options.toolbarPlacement;
2035
- }
2036
-
2037
- if( typeof toolbarPlacement !== 'string' ) {
2038
- throw new TypeError('toolbarPlacement() expects a string parameter');
2039
- }
2040
- if( toolbarPlacements.indexOf(toolbarPlacement) === -1 ) {
2041
- throw new TypeError('toolbarPlacement() parameter must be one of (' + toolbarPlacements.join(', ') + ') value');
2042
- }
2043
- options.toolbarPlacement = toolbarPlacement;
2044
-
2045
- if( widget ) {
2046
- hide();
2047
- show();
2048
- }
2049
- return picker;
2050
- };
2051
-
2052
- picker.widgetPositioning = function(widgetPositioning) {
2053
- if( arguments.length === 0 ) {
2054
- return $.extend({}, options.widgetPositioning);
2055
- }
2056
-
2057
- if( ({}).toString.call(widgetPositioning) !== '[object Object]' ) {
2058
- throw new TypeError('widgetPositioning() expects an object variable');
2059
- }
2060
- if( widgetPositioning.horizontal ) {
2061
- if( typeof widgetPositioning.horizontal !== 'string' ) {
2062
- throw new TypeError('widgetPositioning() horizontal variable must be a string');
2063
- }
2064
- widgetPositioning.horizontal = widgetPositioning.horizontal.toLowerCase();
2065
- if( horizontalModes.indexOf(widgetPositioning.horizontal) === -1 ) {
2066
- throw new TypeError('widgetPositioning() expects horizontal parameter to be one of (' + horizontalModes.join(', ') + ')');
2067
- }
2068
- options.widgetPositioning.horizontal = widgetPositioning.horizontal;
2069
- }
2070
- if( widgetPositioning.vertical ) {
2071
- if( typeof widgetPositioning.vertical !== 'string' ) {
2072
- throw new TypeError('widgetPositioning() vertical variable must be a string');
2073
- }
2074
- widgetPositioning.vertical = widgetPositioning.vertical.toLowerCase();
2075
- if( verticalModes.indexOf(widgetPositioning.vertical) === -1 ) {
2076
- throw new TypeError('widgetPositioning() expects vertical parameter to be one of (' + verticalModes.join(', ') + ')');
2077
- }
2078
- options.widgetPositioning.vertical = widgetPositioning.vertical;
2079
- }
2080
- update();
2081
- return picker;
2082
- };
2083
-
2084
- picker.calendarWeeks = function(calendarWeeks) {
2085
- if( arguments.length === 0 ) {
2086
- return options.calendarWeeks;
2087
- }
2088
-
2089
- if( typeof calendarWeeks !== 'boolean' ) {
2090
- throw new TypeError('calendarWeeks() expects parameter to be a boolean value');
2091
- }
2092
-
2093
- options.calendarWeeks = calendarWeeks;
2094
- update();
2095
- return picker;
2096
- };
2097
-
2098
- picker.showTodayButton = function(showTodayButton) {
2099
- if( arguments.length === 0 ) {
2100
- return options.showTodayButton;
2101
- }
2102
-
2103
- if( typeof showTodayButton !== 'boolean' ) {
2104
- throw new TypeError('showTodayButton() expects a boolean parameter');
2105
- }
2106
-
2107
- options.showTodayButton = showTodayButton;
2108
- if( widget ) {
2109
- hide();
2110
- show();
2111
- }
2112
- return picker;
2113
- };
2114
-
2115
- picker.showClear = function(showClear) {
2116
- if( arguments.length === 0 ) {
2117
- return options.showClear;
2118
- }
2119
-
2120
- if( typeof showClear !== 'boolean' ) {
2121
- throw new TypeError('showClear() expects a boolean parameter');
2122
- }
2123
-
2124
- options.showClear = showClear;
2125
- if( widget ) {
2126
- hide();
2127
- show();
2128
- }
2129
- return picker;
2130
- };
2131
-
2132
- picker.widgetParent = function(widgetParent) {
2133
- if( arguments.length === 0 ) {
2134
- return options.widgetParent;
2135
- }
2136
-
2137
- if( typeof widgetParent === 'string' ) {
2138
- widgetParent = $(widgetParent);
2139
- }
2140
-
2141
- if( widgetParent !== null && (typeof widgetParent !== 'string' && !(widgetParent instanceof $)) ) {
2142
- throw new TypeError('widgetParent() expects a string or a jQuery object parameter');
2143
- }
2144
-
2145
- options.widgetParent = widgetParent;
2146
- if( widget ) {
2147
- hide();
2148
- show();
2149
- }
2150
- return picker;
2151
- };
2152
-
2153
- picker.keepOpen = function(keepOpen) {
2154
- if( arguments.length === 0 ) {
2155
- return options.keepOpen;
2156
- }
2157
-
2158
- if( typeof keepOpen !== 'boolean' ) {
2159
- throw new TypeError('keepOpen() expects a boolean parameter');
2160
- }
2161
-
2162
- options.keepOpen = keepOpen;
2163
- return picker;
2164
- };
2165
-
2166
- picker.focusOnShow = function(focusOnShow) {
2167
- if( arguments.length === 0 ) {
2168
- return options.focusOnShow;
2169
- }
2170
-
2171
- if( typeof focusOnShow !== 'boolean' ) {
2172
- throw new TypeError('focusOnShow() expects a boolean parameter');
2173
- }
2174
-
2175
- options.focusOnShow = focusOnShow;
2176
- return picker;
2177
- };
2178
-
2179
- picker.inline = function(inline) {
2180
- if( arguments.length === 0 ) {
2181
- return options.inline;
2182
- }
2183
-
2184
- if( typeof inline !== 'boolean' ) {
2185
- throw new TypeError('inline() expects a boolean parameter');
2186
- }
2187
-
2188
- options.inline = inline;
2189
- return picker;
2190
- };
2191
-
2192
- picker.clear = function() {
2193
- clear();
2194
- return picker;
2195
- };
2196
-
2197
- picker.keyBinds = function(keyBinds) {
2198
- if( arguments.length === 0 ) {
2199
- return options.keyBinds;
2200
- }
2201
-
2202
- options.keyBinds = keyBinds;
2203
- return picker;
2204
- };
2205
-
2206
- picker.getMoment = function(d) {
2207
- return getMoment(d);
2208
- };
2209
-
2210
- picker.debug = function(debug) {
2211
- if( typeof debug !== 'boolean' ) {
2212
- throw new TypeError('debug() expects a boolean parameter');
2213
- }
2214
-
2215
- options.debug = debug;
2216
- return picker;
2217
- };
2218
-
2219
- picker.allowInputToggle = function(allowInputToggle) {
2220
- if( arguments.length === 0 ) {
2221
- return options.allowInputToggle;
2222
- }
2223
-
2224
- if( typeof allowInputToggle !== 'boolean' ) {
2225
- throw new TypeError('allowInputToggle() expects a boolean parameter');
2226
- }
2227
-
2228
- options.allowInputToggle = allowInputToggle;
2229
- return picker;
2230
- };
2231
-
2232
- picker.showClose = function(showClose) {
2233
- if( arguments.length === 0 ) {
2234
- return options.showClose;
2235
- }
2236
-
2237
- if( typeof showClose !== 'boolean' ) {
2238
- throw new TypeError('showClose() expects a boolean parameter');
2239
- }
2240
-
2241
- options.showClose = showClose;
2242
- return picker;
2243
- };
2244
-
2245
- picker.keepInvalid = function(keepInvalid) {
2246
- if( arguments.length === 0 ) {
2247
- return options.keepInvalid;
2248
- }
2249
-
2250
- if( typeof keepInvalid !== 'boolean' ) {
2251
- throw new TypeError('keepInvalid() expects a boolean parameter');
2252
- }
2253
- options.keepInvalid = keepInvalid;
2254
- return picker;
2255
- };
2256
-
2257
- picker.datepickerInput = function(datepickerInput) {
2258
- if( arguments.length === 0 ) {
2259
- return options.datepickerInput;
2260
- }
2261
-
2262
- if( typeof datepickerInput !== 'string' ) {
2263
- throw new TypeError('datepickerInput() expects a string parameter');
2264
- }
2265
-
2266
- options.datepickerInput = datepickerInput;
2267
- return picker;
2268
- };
2269
-
2270
- picker.parseInputDate = function(parseInputDate) {
2271
- if( arguments.length === 0 ) {
2272
- return options.parseInputDate;
2273
- }
2274
-
2275
- if( typeof parseInputDate !== 'function' ) {
2276
- throw new TypeError('parseInputDate() sholud be as function');
2277
- }
2278
-
2279
- options.parseInputDate = parseInputDate;
2280
-
2281
- return picker;
2282
- };
2283
-
2284
- picker.disabledTimeIntervals = function(disabledTimeIntervals) {
2285
- ///<signature helpKeyword="$.fn.factoryBootstrap330_DatetimePickerControl.disabledTimeIntervals">
2286
- ///<summary>Returns an array with the currently set disabled dates on the component.</summary>
2287
- ///<returns type="array">options.disabledTimeIntervals</returns>
2288
- ///</signature>
2289
- ///<signature>
2290
- ///<summary>Setting this takes precedence over options.minDate, options.maxDate configuration. Also calling
2291
- // this function removes the configuration of /options.enabledDates if such exist.</summary> /<param
2292
- // name="dates" locid="$.fn.factoryBootstrap330_DatetimePickerControl.disabledTimeIntervals_p:dates">Takes
2293
- // an [ string or Date or moment ] of values and allows the user to select only from those days.</param>
2294
- // /</signature>
2295
- if( arguments.length === 0 ) {
2296
- return (options.disabledTimeIntervals
2297
- ? $.extend({}, options.disabledTimeIntervals)
2298
- : options.disabledTimeIntervals);
2299
- }
2300
-
2301
- if( !disabledTimeIntervals ) {
2302
- options.disabledTimeIntervals = false;
2303
- update();
2304
- return picker;
2305
- }
2306
- if( !(disabledTimeIntervals instanceof Array) ) {
2307
- throw new TypeError('disabledTimeIntervals() expects an array parameter');
2308
- }
2309
- options.disabledTimeIntervals = disabledTimeIntervals;
2310
- update();
2311
- return picker;
2312
- };
2313
-
2314
- picker.disabledHours = function(hours) {
2315
- ///<signature helpKeyword="$.fn.factoryBootstrap330_DatetimePickerControl.disabledHours">
2316
- ///<summary>Returns an array with the currently set disabled hours on the component.</summary>
2317
- ///<returns type="array">options.disabledHours</returns>
2318
- ///</signature>
2319
- ///<signature>
2320
- ///<summary>Setting this takes precedence over options.minDate, options.maxDate configuration. Also calling
2321
- // this function removes the configuration of /options.enabledHours if such exist.</summary> /<param
2322
- // name="hours" locid="$.fn.factoryBootstrap330_DatetimePickerControl.disabledHours_p:hours">Takes an [ int
2323
- // ] of values and disallows the user to select only from those hours.</param> /</signature>
2324
- if( arguments.length === 0 ) {
2325
- return (options.disabledHours ? $.extend({}, options.disabledHours) : options.disabledHours);
2326
- }
2327
-
2328
- if( !hours ) {
2329
- options.disabledHours = false;
2330
- update();
2331
- return picker;
2332
- }
2333
- if( !(hours instanceof Array) ) {
2334
- throw new TypeError('disabledHours() expects an array parameter');
2335
- }
2336
- options.disabledHours = indexGivenHours(hours);
2337
- options.enabledHours = false;
2338
- if( options.useCurrent && !options.keepInvalid ) {
2339
- var tries = 0;
2340
- while( !isValid(date, 'h') ) {
2341
- date.add(1, 'h');
2342
- if( tries === 24 ) {
2343
- throw 'Tried 24 times to find a valid date';
2344
- }
2345
- tries++;
2346
- }
2347
- setValue(date);
2348
- }
2349
- update();
2350
- return picker;
2351
- };
2352
-
2353
- picker.enabledHours = function(hours) {
2354
- ///<signature helpKeyword="$.fn.factoryBootstrap330_DatetimePickerControl.enabledHours">
2355
- ///<summary>Returns an array with the currently set enabled hours on the component.</summary>
2356
- ///<returns type="array">options.enabledHours</returns>
2357
- ///</signature>
2358
- ///<signature>
2359
- ///<summary>Setting this takes precedence over options.minDate, options.maxDate configuration. Also calling
2360
- // this function removes the configuration of options.disabledHours if such exist.</summary> /<param
2361
- // name="hours" locid="$.fn.factoryBootstrap330_DatetimePickerControl.enabledHours_p:hours">Takes an [ int
2362
- // ] of values and allows the user to select only from those hours.</param> /</signature>
2363
- if( arguments.length === 0 ) {
2364
- return (options.enabledHours ? $.extend({}, options.enabledHours) : options.enabledHours);
2365
- }
2366
-
2367
- if( !hours ) {
2368
- options.enabledHours = false;
2369
- update();
2370
- return picker;
2371
- }
2372
- if( !(hours instanceof Array) ) {
2373
- throw new TypeError('enabledHours() expects an array parameter');
2374
- }
2375
- options.enabledHours = indexGivenHours(hours);
2376
- options.disabledHours = false;
2377
- if( options.useCurrent && !options.keepInvalid ) {
2378
- var tries = 0;
2379
- while( !isValid(date, 'h') ) {
2380
- date.add(1, 'h');
2381
- if( tries === 24 ) {
2382
- throw 'Tried 24 times to find a valid date';
2383
- }
2384
- tries++;
2385
- }
2386
- setValue(date);
2387
- }
2388
- update();
2389
- return picker;
2390
- };
2391
- /**
2392
- * Returns the component's model current viewDate, a moment object or null if not set. Passing a null value
2393
- * unsets the components model current moment. Parsing of the newDate parameter is made using moment library
2394
- * with the options.format and options.useStrict components configuration.
2395
- * @param {Takes string, viewDate, moment, null parameter.} newDate
2396
- * @returns {viewDate.clone()}
2397
- */
2398
- picker.viewDate = function(newDate) {
2399
- if( arguments.length === 0 ) {
2400
- return viewDate.clone();
2401
- }
2402
-
2403
- if( !newDate ) {
2404
- viewDate = date.clone();
2405
- return picker;
2406
- }
2407
-
2408
- if( typeof newDate !== 'string' && !moment.isMoment(newDate) && !(newDate instanceof Date) ) {
2409
- throw new TypeError('viewDate() parameter must be one of [string, moment or Date]');
2410
- }
2411
-
2412
- viewDate = parseInputDate(newDate);
2413
- viewUpdate();
2414
- return picker;
2415
- };
2416
-
2417
- // initializing element and component attributes
2418
- if( element.is('input') ) {
2419
- input = element;
2420
- } else {
2421
- input = element.find(options.datepickerInput);
2422
- if( input.length === 0 ) {
2423
- input = element.find('input');
2424
- } else if( !input.is('input') ) {
2425
- throw new Error('CSS class "' + options.datepickerInput + '" cannot be applied to non input element');
2426
- }
2427
- }
2428
-
2429
- if( element.hasClass('input-group') ) {
2430
- // in case there is more then one 'input-group-addon' Issue #48
2431
- if( element.find('.datepickerbutton').length === 0 ) {
2432
- component = element.find('.input-group-addon');
2433
- } else {
2434
- component = element.find('.datepickerbutton');
2435
- }
2436
- }
2437
-
2438
- if( !options.inline && !input.is('input') ) {
2439
- throw new Error('Could not initialize DateTimePicker without an input element');
2440
- }
2441
-
2442
- // Set defaults for date here now instead of in var declaration
2443
- date = getMoment();
2444
- viewDate = date.clone();
2445
-
2446
- $.extend(true, options, dataToOptions());
2447
-
2448
- picker.options(options);
2449
-
2450
- initFormatting();
2451
-
2452
- attachDatePickerElementEvents();
2453
-
2454
- if( input.prop('disabled') ) {
2455
- picker.disable();
2456
- }
2457
- if( input.is('input') && input.val().trim().length !== 0 ) {
2458
- setValue(parseInputDate(input.val().trim()));
2459
- }
2460
- else if( options.defaultDate && input.attr('placeholder') === undefined ) {
2461
- setValue(options.defaultDate);
2462
- }
2463
- if( options.inline ) {
2464
- show();
2465
- }
2466
- return picker;
2467
- };
2468
-
2469
- /********************************************************************************
2470
- *
2471
- * jQuery plugin constructor and defaults object
2472
- *
2473
- ********************************************************************************/
2474
-
2475
- /**
2476
- * See (http://jquery.com/).
2477
- * @name jQuery
2478
- * @class
2479
- * See the jQuery Library (http://jquery.com/) for full details. This just
2480
- * documents the function and classes that are added to jQuery by this plug-in.
2481
- */
2482
- /**
2483
- * See (http://jquery.com/)
2484
- * @name fn
2485
- * @class
2486
- * See the jQuery Library (http://jquery.com/) for full details. This just
2487
- * documents the function and classes that are added to jQuery by this plug-in.
2488
- * @memberOf jQuery
2489
- */
2490
- /**
2491
- * Show comments
2492
- * @class datetimepicker
2493
- * @memberOf jQuery.fn
2494
- */
2495
- $.fn.factoryBootstrap330_DatetimePickerControl = function(options) {
2496
- options = options || {};
2497
-
2498
- var args = Array.prototype.slice.call(arguments, 1),
2499
- isInstance = true,
2500
- thisMethods = ['destroy', 'hide', 'show', 'toggle'],
2501
- returnValue;
2502
-
2503
- if( typeof options === 'object' ) {
2504
- return this.each(function() {
2505
- var $this = $(this),
2506
- _options;
2507
- if( !$this.data('DateTimePicker') ) {
2508
- // create a private copy of the defaults object
2509
- _options = $.extend(true, {}, $.fn.factoryBootstrap330_DatetimePickerControl.defaults, options);
2510
- $this.data('DateTimePicker', dateTimePicker($this, _options));
2511
- }
2512
- });
2513
- } else if( typeof options === 'string' ) {
2514
- this.each(function() {
2515
- var $this = $(this),
2516
- instance = $this.data('DateTimePicker');
2517
- if( !instance ) {
2518
- throw new Error('bootstrap-datetimepicker("' + options + '") method was called on an element that is not using DateTimePicker');
2519
- }
2520
-
2521
- returnValue = instance[options].apply(instance, args);
2522
- isInstance = returnValue === instance;
2523
- });
2524
-
2525
- if( isInstance || $.inArray(options, thisMethods) > -1 ) {
2526
- return this;
2527
- }
2528
-
2529
- return returnValue;
2530
- }
2531
-
2532
- throw new TypeError('Invalid arguments for DateTimePicker: ' + options);
2533
- };
2534
-
2535
- $.fn.factoryBootstrap330_DatetimePickerControl.defaults = {
2536
- timeZone: '',
2537
- format: false,
2538
- dayViewHeaderFormat: 'MMMM YYYY',
2539
- extraFormats: false,
2540
- stepping: 1,
2541
- minDate: false,
2542
- maxDate: false,
2543
- useCurrent: true,
2544
- collapse: true,
2545
- locale: moment.locale(),
2546
- defaultDate: false,
2547
- disabledDates: false,
2548
- enabledDates: false,
2549
- icons: {
2550
- time: 'fa fa-clock-o',
2551
- date: 'fa fa-calendar',
2552
- up: 'fa fa-arrow-up',
2553
- down: 'fa fa-arrow-down',
2554
- previous: 'fa fa-arrow-left',
2555
- next: 'fa fa-arrow-right',
2556
- today: 'fa fa-thumb-tack',
2557
- clear: 'fa fa-trash',
2558
- close: 'fa fa-times'
2559
- },
2560
- tooltips: {
2561
- today: 'Go to today',
2562
- clear: 'Clear selection',
2563
- close: 'Close the picker',
2564
- selectMonth: 'Select Month',
2565
- prevMonth: 'Previous Month',
2566
- nextMonth: 'Next Month',
2567
- selectYear: 'Select Year',
2568
- prevYear: 'Previous Year',
2569
- nextYear: 'Next Year',
2570
- selectDecade: 'Select Decade',
2571
- prevDecade: 'Previous Decade',
2572
- nextDecade: 'Next Decade',
2573
- prevCentury: 'Previous Century',
2574
- nextCentury: 'Next Century',
2575
- pickHour: 'Pick Hour',
2576
- incrementHour: 'Increment Hour',
2577
- decrementHour: 'Decrement Hour',
2578
- pickMinute: 'Pick Minute',
2579
- incrementMinute: 'Increment Minute',
2580
- decrementMinute: 'Decrement Minute',
2581
- pickSecond: 'Pick Second',
2582
- incrementSecond: 'Increment Second',
2583
- decrementSecond: 'Decrement Second',
2584
- togglePeriod: 'Toggle Period',
2585
- selectTime: 'Select Time'
2586
- },
2587
- useStrict: false,
2588
- sideBySide: false,
2589
- daysOfWeekDisabled: false,
2590
- calendarWeeks: false,
2591
- viewMode: 'days',
2592
- toolbarPlacement: 'default',
2593
- showTodayButton: false,
2594
- showClear: false,
2595
- showClose: false,
2596
- widgetPositioning: {
2597
- horizontal: 'auto',
2598
- vertical: 'auto'
2599
- },
2600
- widgetParent: null,
2601
- ignoreReadonly: false,
2602
- keepOpen: false,
2603
- focusOnShow: true,
2604
- inline: false,
2605
- keepInvalid: false,
2606
- datepickerInput: '.datepickerinput',
2607
- keyBinds: {
2608
- up: function(widget) {
2609
- if( !widget ) {
2610
- return;
2611
- }
2612
- var d = this.date() || this.getMoment();
2613
- if( widget.find('.datepicker').is(':visible') ) {
2614
- this.date(d.clone().subtract(7, 'd'));
2615
- } else {
2616
- this.date(d.clone().add(this.stepping(), 'm'));
2617
- }
2618
- },
2619
- down: function(widget) {
2620
- if( !widget ) {
2621
- this.show();
2622
- return;
2623
- }
2624
- var d = this.date() || this.getMoment();
2625
- if( widget.find('.datepicker').is(':visible') ) {
2626
- this.date(d.clone().add(7, 'd'));
2627
- } else {
2628
- this.date(d.clone().subtract(this.stepping(), 'm'));
2629
- }
2630
- },
2631
- 'control up': function(widget) {
2632
- if( !widget ) {
2633
- return;
2634
- }
2635
- var d = this.date() || this.getMoment();
2636
- if( widget.find('.datepicker').is(':visible') ) {
2637
- this.date(d.clone().subtract(1, 'y'));
2638
- } else {
2639
- this.date(d.clone().add(1, 'h'));
2640
- }
2641
- },
2642
- 'control down': function(widget) {
2643
- if( !widget ) {
2644
- return;
2645
- }
2646
- var d = this.date() || this.getMoment();
2647
- if( widget.find('.datepicker').is(':visible') ) {
2648
- this.date(d.clone().add(1, 'y'));
2649
- } else {
2650
- this.date(d.clone().subtract(1, 'h'));
2651
- }
2652
- },
2653
- left: function(widget) {
2654
- if( !widget ) {
2655
- return;
2656
- }
2657
- var d = this.date() || this.getMoment();
2658
- if( widget.find('.datepicker').is(':visible') ) {
2659
- this.date(d.clone().subtract(1, 'd'));
2660
- }
2661
- },
2662
- right: function(widget) {
2663
- if( !widget ) {
2664
- return;
2665
- }
2666
- var d = this.date() || this.getMoment();
2667
- if( widget.find('.datepicker').is(':visible') ) {
2668
- this.date(d.clone().add(1, 'd'));
2669
- }
2670
- },
2671
- pageUp: function(widget) {
2672
- if( !widget ) {
2673
- return;
2674
- }
2675
- var d = this.date() || this.getMoment();
2676
- if( widget.find('.datepicker').is(':visible') ) {
2677
- this.date(d.clone().subtract(1, 'M'));
2678
- }
2679
- },
2680
- pageDown: function(widget) {
2681
- if( !widget ) {
2682
- return;
2683
- }
2684
- var d = this.date() || this.getMoment();
2685
- if( widget.find('.datepicker').is(':visible') ) {
2686
- this.date(d.clone().add(1, 'M'));
2687
- }
2688
- },
2689
- enter: function() {
2690
- this.hide();
2691
- },
2692
- escape: function() {
2693
- this.hide();
2694
- },
2695
- //tab: function (widget) { //this break the flow of the form. disabling for now
2696
- // var toggle = widget.find('.picker-switch a[data-action="togglePicker"]');
2697
- // if(toggle.length > 0) toggle.click();
2698
- //},
2699
- 'control space': function(widget) {
2700
- if( !widget ) {
2701
- return;
2702
- }
2703
- if( widget.find('.timepicker').is(':visible') ) {
2704
- widget.find('.btn[data-action="togglePeriod"]').click();
2705
- }
2706
- },
2707
- t: function() {
2708
- this.date(this.getMoment());
2709
- },
2710
- 'delete': function() {
2711
- this.clear();
2712
- }
2713
- },
2714
- debug: false,
2715
- allowInputToggle: false,
2716
- disabledTimeIntervals: false,
2717
- disabledHours: false,
2718
- enabledHours: false,
2719
- viewDate: false
2720
- };
2721
-
2722
- return $.fn.factoryBootstrap330_DatetimePickerControl;
2723
- }));
2724
-
2725
- ( function($) {
2726
- $(function() {
2727
- /**
2728
- * Init base controls
2729
- */
2730
- $(".factory-bootstrap-330 .factory-datetimepicker").factoryBootstrap330_DatetimePickerControl();
2731
-
2732
- /**
2733
- * Init range controls
2734
- */
2735
- $('.factory-bootstrap-330 .factory-datetimepicker-range-0').factoryBootstrap330_DatetimePickerControl();
2736
- $('.factory-bootstrap-330 .factory-datetimepicker-range-1').factoryBootstrap330_DatetimePickerControl({
2737
- useCurrent: false //Important! See issue #1075
2738
- });
2739
- $(".factory-bootstrap-330 .factory-datetimepicker-range-0").on("dp.change", function(e) {
2740
- $('.factory-bootstrap-330 .factory-datetimepicker-range-1').data("DateTimePicker").minDate(e.date);
2741
- });
2742
- $(".factory-bootstrap-330 .factory-datetimepicker-range-1").on("dp.change", function(e) {
2743
- $('.factory-bootstrap-330 .factory-datetimepicker-range-0').data("DateTimePicker").maxDate(e.date);
2744
- });
2745
- });
2746
- }(jQuery) );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
libs/factory/bootstrap/assets/js/control.multiple-textbox.js DELETED
@@ -1,43 +0,0 @@
1
- /**
2
- * Control multiple textbox
3
- * @author Webcraftic <wordpress.webraftic@gmail.com>
4
- * @copyright (c) 22.11.2017, Webcraftic
5
- * @version 1.0
6
- */
7
-
8
-
9
- (function($) {
10
- 'use strict';
11
-
12
- var multipleControl = function(element) {
13
- var self = this;
14
- this.$element = $(element);
15
-
16
- var prototype = $('.factory-mtextbox-item', this.$element).eq(0).clone(true);
17
-
18
- $('.factory-mtextbox-add-item', this.$element).on('click', function() {
19
- var contanier = $(this).closest('.factory-multiple-textbox-group').find('.factory-mtextbox-items');
20
- var element = prototype.clone(true);
21
- var removeButton = $('<button class="btn btn-default btn-small factory-mtextbox-remove-item"><i class="fa fa-times" aria-hidden="true"></i></button>');
22
- contanier.append(element.append(removeButton));
23
- element.find('input[type="text"]').val('').focus();
24
- return false;
25
- });
26
-
27
- $(document).on('click', '.factory-mtextbox-remove-item', function() {
28
- $(this).closest('.factory-mtextbox-item').remove();
29
- return false;
30
- });
31
- };
32
-
33
- $.fn.factoryBootstrap330_MultipleTextboxControl = function() {
34
- return this.each(function() {
35
- new multipleControl(this);
36
- });
37
- };
38
-
39
- $(function() {
40
- $(".factory-bootstrap-330 .factory-multiple-textbox-group").factoryBootstrap330_MultipleTextboxControl();
41
- });
42
-
43
- })(jQuery);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
libs/factory/bootstrap/includes/functions.php CHANGED
@@ -205,9 +205,11 @@
205
 
206
  $userId = get_current_user_id();
207
  $colorName = get_user_meta($userId, 'admin_color', true);
208
-
209
  if( $colorName !== 'fresh' ) {
210
- wp_enqueue_style('factory-bootstrap-330-colors', FACTORY_BOOTSTRAP_330_URL . '/assets/flat/css/bootstrap.' . $colorName . '.css');
 
 
211
  }
212
 
213
  if( $colorName == 'light' ) {
205
 
206
  $userId = get_current_user_id();
207
  $colorName = get_user_meta($userId, 'admin_color', true);
208
+
209
  if( $colorName !== 'fresh' ) {
210
+ if( file_exists(FACTORY_BOOTSTRAP_330_DIR . '/assets/flat/css/bootstrap.' . $colorName . '.css') ) {
211
+ wp_enqueue_style('factory-bootstrap-330-colors', FACTORY_BOOTSTRAP_330_URL . '/assets/flat/css/bootstrap.' . $colorName . '.css');
212
+ }
213
  }
214
 
215
  if( $colorName == 'light' ) {
libs/factory/forms/langs/factory_forms_329-fr-FR.po CHANGED
@@ -1,104 +1,104 @@
1
- msgid ""
2
- msgstr ""
3
- "Project-Id-Version: factory_forms\n"
4
- "POT-Creation-Date: 2017-11-09 10:37+0300\n"
5
- "PO-Revision-Date: 2017-11-09 18:37+0300\n"
6
- "Last-Translator: \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
-
20
- #: controls/checkbox.php:125
21
- msgid "On"
22
- msgstr "On"
23
-
24
- #: controls/checkbox.php:128
25
- msgid "Off"
26
- msgstr "Off"
27
-
28
- #: controls/dropdown.php:126 controls/list.php:89 controls/list.php:127
29
- msgid "The list is empty."
30
- msgstr "La liste est vide."
31
-
32
- #: controls/dropdown.php:258 controls/dropdown.php:330
33
- msgid "- empty -"
34
- msgstr "- vide -"
35
-
36
- #: controls/font.php:73 controls/google-font.php:41
37
- msgid "(use default website font)"
38
- msgstr "(utiliser la police de site par défaut)"
39
-
40
- #: controls/font.php:76
41
- msgid "Sans Serif:"
42
- msgstr "Sans Serif:"
43
-
44
- #: controls/font.php:127
45
- msgid "Serif:"
46
- msgstr "Serif:"
47
-
48
- #: controls/font.php:177
49
- msgid "Monospaced:"
50
- msgstr "Monospaced:"
51
-
52
- #: controls/google-font.php:44
53
- msgid "Standard:"
54
- msgstr "Standard:"
55
-
56
- #: controls/google-font.php:53
57
- msgid "Google Fonts:"
58
- msgstr "Google Fonts:"
59
-
60
- #: controls/google-font.php:94
61
- msgid "Unable to retrieve the list of Google Fonts."
62
- msgstr "Impossible de récupérer la liste des polices Google."
63
-
64
- #: controls/google-font.php:101
65
- msgid "Invalide response from the Google Fonts API."
66
- msgstr "Réponse invalidée de l'API Google Fonts."
67
-
68
- #: controls/google-font.php:110
69
- msgid "Unexpected error. The list of Google Fonts are empty."
70
- msgstr "Erreur inattendue. La liste des polices Google est vide."
71
-
72
- #: controls/gradient.php:59
73
- msgid "vertical"
74
- msgstr "verticale"
75
-
76
- #: controls/gradient.php:60
77
- msgid "horizontal"
78
- msgstr "horizontale"
79
-
80
- #: controls/holders/more-link.php:47
81
- msgid "hide extra options"
82
- msgstr "masquer les options supplémentaires"
83
-
84
- #: controls/paddings-editor.php:53
85
- msgid "Select a side and move the slider to set up:"
86
- msgstr "Sélectionnez un côté et déplacez le curseur pour configurer:"
87
-
88
- #: controls/pattern.php:90
89
- msgid "Change color"
90
- msgstr "Changer de couleur"
91
-
92
- #: controls/pattern.php:92
93
- msgid "re-color"
94
- msgstr "re-color"
95
-
96
- #: controls/pattern.php:99
97
- msgid "Select color:"
98
- msgstr "Sélectionnez couleur:"
99
-
100
- #: controls/pattern.php:102
101
- msgid "Changing the color may takes a minute or more. Please be patient."
102
- msgstr ""
103
- "Changer la couleur peut prendre une minute ou plus. S'll vous plaît "
104
- "soyez patient."
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: factory_forms\n"
4
+ "POT-Creation-Date: 2017-11-09 10:37+0300\n"
5
+ "PO-Revision-Date: 2017-11-09 18:37+0300\n"
6
+ "Last-Translator: \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
+
20
+ #: controls/checkbox.php:125
21
+ msgid "On"
22
+ msgstr "On"
23
+
24
+ #: controls/checkbox.php:128
25
+ msgid "Off"
26
+ msgstr "Off"
27
+
28
+ #: controls/dropdown.php:126 controls/list.php:89 controls/list.php:127
29
+ msgid "The list is empty."
30
+ msgstr "La liste est vide."
31
+
32
+ #: controls/dropdown.php:258 controls/dropdown.php:330
33
+ msgid "- empty -"
34
+ msgstr "- vide -"
35
+
36
+ #: controls/font.php:73 controls/google-font.php:41
37
+ msgid "(use default website font)"
38
+ msgstr "(utiliser la police de site par défaut)"
39
+
40
+ #: controls/font.php:76
41
+ msgid "Sans Serif:"
42
+ msgstr "Sans Serif:"
43
+
44
+ #: controls/font.php:127
45
+ msgid "Serif:"
46
+ msgstr "Serif:"
47
+
48
+ #: controls/font.php:177
49
+ msgid "Monospaced:"
50
+ msgstr "Monospaced:"
51
+
52
+ #: controls/google-font.php:44
53
+ msgid "Standard:"
54
+ msgstr "Standard:"
55
+
56
+ #: controls/google-font.php:53
57
+ msgid "Google Fonts:"
58
+ msgstr "Google Fonts:"
59
+
60
+ #: controls/google-font.php:94
61
+ msgid "Unable to retrieve the list of Google Fonts."
62
+ msgstr "Impossible de récupérer la liste des polices Google."
63
+
64
+ #: controls/google-font.php:101
65
+ msgid "Invalide response from the Google Fonts API."
66
+ msgstr "Réponse invalidée de l'API Google Fonts."
67
+
68
+ #: controls/google-font.php:110
69
+ msgid "Unexpected error. The list of Google Fonts are empty."
70
+ msgstr "Erreur inattendue. La liste des polices Google est vide."
71
+
72
+ #: controls/gradient.php:59
73
+ msgid "vertical"
74
+ msgstr "verticale"
75
+
76
+ #: controls/gradient.php:60
77
+ msgid "horizontal"
78
+ msgstr "horizontale"
79
+
80
+ #: controls/holders/more-link.php:47
81
+ msgid "hide extra options"
82
+ msgstr "masquer les options supplémentaires"
83
+
84
+ #: controls/paddings-editor.php:53
85
+ msgid "Select a side and move the slider to set up:"
86
+ msgstr "Sélectionnez un côté et déplacez le curseur pour configurer:"
87
+
88
+ #: controls/pattern.php:90
89
+ msgid "Change color"
90
+ msgstr "Changer de couleur"
91
+
92
+ #: controls/pattern.php:92
93
+ msgid "re-color"
94
+ msgstr "re-color"
95
+
96
+ #: controls/pattern.php:99
97
+ msgid "Select color:"
98
+ msgstr "Sélectionnez couleur:"
99
+
100
+ #: controls/pattern.php:102
101
+ msgid "Changing the color may takes a minute or more. Please be patient."
102
+ msgstr ""
103
+ "Changer la couleur peut prendre une minute ou plus. S'll vous plaît "
104
+ "soyez patient."
libs/factory/pages/langs/factory_pages_324-fr_FR.po CHANGED
@@ -1,99 +1,99 @@
1
- msgid ""
2
- msgstr ""
3
- "Project-Id-Version: clearfy\n"
4
- "POT-Creation-Date: 2017-11-09 10:33+0300\n"
5
- "PO-Revision-Date: 2017-11-09 19:04+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
-
20
- #: templates/impressive-page.class.php:45
21
- msgid "Settings"
22
- msgstr "Paramètres"
23
-
24
- #: templates/impressive-page.class.php:170
25
- msgid ""
26
- "It seems that a caching/performance plugin is active on this site. Please "
27
- "manually invalidate that plugin's cache after making any changes to the "
28
- "settings below."
29
- msgstr ""
30
- "Il semble qu'un plugin cache / performance soit actif sur ce site. Veuillez "
31
- "invalider manuellement le cache de ce plugin après avoir apporté des "
32
- "modifications aux paramètres ci-dessous."
33
-
34
- #: templates/impressive-page.class.php:187
35
- msgid "The settings have been updated successfully!"
36
- msgstr "Les paramètres ont été mis à jour avec succès!"
37
-
38
- #: templates/impressive-page.class.php:251
39
- msgid "Page"
40
- msgstr "Page"
41
-
42
- #: templates/impressive-page.class.php:256
43
- msgid "Save settings"
44
- msgstr "Enregistrer les paramètres"
45
-
46
- #: templates/impressive-page.class.php:328
47
- msgid "You do not have permission to edit page."
48
- msgstr "Vous n'êtes pas autorisé à modifier la page."
49
-
50
- #: templates/impressive-page.class.php:403
51
- msgid ""
52
- "A neutral setting that can not harm your site, but you must be sure that you "
53
- "need to use it."
54
- msgstr ""
55
- "Un paramètre neutre qui ne peut pas nuire à votre site, mais vous devez être "
56
- "sûr que vous devez l'utiliser."
57
-
58
- #: templates/impressive-page.class.php:407
59
- msgid ""
60
- "When set this option, you must be careful. Plugins and themes may depend on "
61
- "this function. You must be sure that you can disable this feature for the "
62
- "site."
63
- msgstr ""
64
- "Lorsque vous définissez cette option, vous devez faire attention. Les "
65
- "plugins et les thèmes peuvent dépendre de cette fonction. Vous devez être "
66
- "sûr que vous pouvez désactiver cette fonctionnalité pour le site."
67
-
68
- #: templates/impressive-page.class.php:411
69
- msgid "Absolutely safe setting, We recommend to use."
70
- msgstr "Réglage absolument sûr, nous recommandons d'utiliser."
71
-
72
- #: templates/impressive-page.class.php:416
73
- msgid "Hover to the icon to get help for the feature you selected."
74
- msgstr "Passez à l'icône pour obtenir de l'aide sur la fonction sélectionnée."
75
-
76
- #: templates/impressive-page.class.php:432
77
- msgid "Do you want the plugin to improved and update?"
78
- msgstr "Voulez-vous que le plugin pour améliorer et mettre à jour?"
79
-
80
- #: templates/impressive-page.class.php:435
81
- msgid ""
82
- "Help the author, leave a review on wordpress.org. Thanks to feedback, I will "
83
- "know that the plugin is really useful to you and is needed."
84
- msgstr ""
85
- "Aidez l'auteur, laissez un commentaire sur wordpress.org. Grâce aux retours, "
86
- "je saurai que le plugin est vraiment utile et nécessaire."
87
-
88
- #: templates/impressive-page.class.php:437
89
- msgid "And also write your ideas on how to extend or improve the plugin."
90
- msgstr ""
91
- "Et écrivez aussi vos idées sur la façon d'étendre ou d'améliorer le plugin."
92
-
93
- #: templates/impressive-page.class.php:442
94
- msgid "Go rate us and push ideas"
95
- msgstr "Allez nous évaluer et pousser des idées"
96
-
97
- #: templates/impressive-page.class.php:454
98
- msgid "Donation for plug-in development"
99
- msgstr "Don pour le développement du plug-in"
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: clearfy\n"
4
+ "POT-Creation-Date: 2017-11-09 10:33+0300\n"
5
+ "PO-Revision-Date: 2017-11-09 19:04+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
+
20
+ #: templates/impressive-page.class.php:45
21
+ msgid "Settings"
22
+ msgstr "Paramètres"
23
+
24
+ #: templates/impressive-page.class.php:170
25
+ msgid ""
26
+ "It seems that a caching/performance plugin is active on this site. Please "
27
+ "manually invalidate that plugin's cache after making any changes to the "
28
+ "settings below."
29
+ msgstr ""
30
+ "Il semble qu'un plugin cache / performance soit actif sur ce site. Veuillez "
31
+ "invalider manuellement le cache de ce plugin après avoir apporté des "
32
+ "modifications aux paramètres ci-dessous."
33
+
34
+ #: templates/impressive-page.class.php:187
35
+ msgid "The settings have been updated successfully!"
36
+ msgstr "Les paramètres ont été mis à jour avec succès!"
37
+
38
+ #: templates/impressive-page.class.php:251
39
+ msgid "Page"
40
+ msgstr "Page"
41
+
42
+ #: templates/impressive-page.class.php:256
43
+ msgid "Save settings"
44
+ msgstr "Enregistrer les paramètres"
45
+
46
+ #: templates/impressive-page.class.php:328
47
+ msgid "You do not have permission to edit page."
48
+ msgstr "Vous n'êtes pas autorisé à modifier la page."
49
+
50
+ #: templates/impressive-page.class.php:403
51
+ msgid ""
52
+ "A neutral setting that can not harm your site, but you must be sure that you "
53
+ "need to use it."
54
+ msgstr ""
55
+ "Un paramètre neutre qui ne peut pas nuire à votre site, mais vous devez être "
56
+ "sûr que vous devez l'utiliser."
57
+
58
+ #: templates/impressive-page.class.php:407
59
+ msgid ""
60
+ "When set this option, you must be careful. Plugins and themes may depend on "
61
+ "this function. You must be sure that you can disable this feature for the "
62
+ "site."
63
+ msgstr ""
64
+ "Lorsque vous définissez cette option, vous devez faire attention. Les "
65
+ "plugins et les thèmes peuvent dépendre de cette fonction. Vous devez être "
66
+ "sûr que vous pouvez désactiver cette fonctionnalité pour le site."
67
+
68
+ #: templates/impressive-page.class.php:411
69
+ msgid "Absolutely safe setting, We recommend to use."
70
+ msgstr "Réglage absolument sûr, nous recommandons d'utiliser."
71
+
72
+ #: templates/impressive-page.class.php:416
73
+ msgid "Hover to the icon to get help for the feature you selected."
74
+ msgstr "Passez à l'icône pour obtenir de l'aide sur la fonction sélectionnée."
75
+
76
+ #: templates/impressive-page.class.php:432
77
+ msgid "Do you want the plugin to improved and update?"
78
+ msgstr "Voulez-vous que le plugin pour améliorer et mettre à jour?"
79
+
80
+ #: templates/impressive-page.class.php:435
81
+ msgid ""
82
+ "Help the author, leave a review on wordpress.org. Thanks to feedback, I will "
83
+ "know that the plugin is really useful to you and is needed."
84
+ msgstr ""
85
+ "Aidez l'auteur, laissez un commentaire sur wordpress.org. Grâce aux retours, "
86
+ "je saurai que le plugin est vraiment utile et nécessaire."
87
+
88
+ #: templates/impressive-page.class.php:437
89
+ msgid "And also write your ideas on how to extend or improve the plugin."
90
+ msgstr ""
91
+ "Et écrivez aussi vos idées sur la façon d'étendre ou d'améliorer le plugin."
92
+
93
+ #: templates/impressive-page.class.php:442
94
+ msgid "Go rate us and push ideas"
95
+ msgstr "Allez nous évaluer et pousser des idées"
96
+
97
+ #: templates/impressive-page.class.php:454
98
+ msgid "Donation for plug-in development"
99
+ msgstr "Don pour le développement du plug-in"
libs/factory/pages/templates/assets/css/impressive.page.template.css CHANGED
@@ -3,6 +3,10 @@
3
  * @author Alex Kovalev <alex.kovalevv@gmail.com>
4
  * @copyright Alex Kovalev 23.08.2017
5
  */
 
 
 
 
6
  #WBCR .wbcr-factory-impressive-page-template-000 {
7
  position: relative;
8
  /**
@@ -79,7 +83,7 @@
79
  background: #f7f7f7;
80
  }
81
  #WBCR .wbcr-factory-impressive-page-template-000 .wbcr-factory-page-inner-wrap .nav-tab:first-child {
82
- margin-left: 80px;
83
  }
84
  #WBCR .wbcr-factory-impressive-page-template-000 .wbcr-factory-page-inner-wrap .nav-tab:hover {
85
  background: #f7f7f7;
@@ -100,10 +104,6 @@
100
  color: #fff;
101
  border-radius: 5px 5px 0 0;
102
  }
103
- #WBCR .wbcr-factory-impressive-page-template-000 .wbcr-factory-page-header .updated,
104
- #WBCR .wbcr-factory-impressive-page-template-000 .wbcr-factory-page-header .notice {
105
- display: none !important;
106
- }
107
  #WBCR .wbcr-factory-impressive-page-template-000 .wbcr-factory-page-header .wbcr-factory-header-logo {
108
  float: left;
109
  padding: 25px 0;
3
  * @author Alex Kovalev <alex.kovalevv@gmail.com>
4
  * @copyright Alex Kovalev 23.08.2017
5
  */
6
+ #WBCR .updated,
7
+ #WBCR .notice {
8
+ display: none !important;
9
+ }
10
  #WBCR .wbcr-factory-impressive-page-template-000 {
11
  position: relative;
12
  /**
83
  background: #f7f7f7;
84
  }
85
  #WBCR .wbcr-factory-impressive-page-template-000 .wbcr-factory-page-inner-wrap .nav-tab:first-child {
86
+ margin-left: 80px !important;
87
  }
88
  #WBCR .wbcr-factory-impressive-page-template-000 .wbcr-factory-page-inner-wrap .nav-tab:hover {
89
  background: #f7f7f7;
104
  color: #fff;
105
  border-radius: 5px 5px 0 0;
106
  }
 
 
 
 
107
  #WBCR .wbcr-factory-impressive-page-template-000 .wbcr-factory-page-header .wbcr-factory-header-logo {
108
  float: left;
109
  padding: 25px 0;
libs/factory/pages/templates/assets/css/impressive.page.template.less CHANGED
@@ -5,6 +5,11 @@
5
  */
6
 
7
  #WBCR {
 
 
 
 
 
8
  .wbcr-factory-impressive-page-template-000 {
9
  position: relative;
10
 
@@ -101,8 +106,9 @@
101
  background: #f7f7f7;
102
  }
103
  .nav-tab:first-child {
104
- margin-left: 80px;
105
  }
 
106
  .nav-tab:hover {
107
  background: #f7f7f7;
108
  }
@@ -125,10 +131,6 @@
125
  color: #fff;
126
  border-radius: 5px 5px 0 0;
127
 
128
- .updated, .notice {
129
- display: none !important;
130
- }
131
-
132
  .wbcr-factory-header-logo {
133
  float: left;
134
  padding: 25px 0;
5
  */
6
 
7
  #WBCR {
8
+
9
+ .updated, .notice {
10
+ display: none !important;
11
+ }
12
+
13
  .wbcr-factory-impressive-page-template-000 {
14
  position: relative;
15
 
106
  background: #f7f7f7;
107
  }
108
  .nav-tab:first-child {
109
+ margin-left: 80px !important;
110
  }
111
+
112
  .nav-tab:hover {
113
  background: #f7f7f7;
114
  }
131
  color: #fff;
132
  border-radius: 5px 5px 0 0;
133
 
 
 
 
 
134
  .wbcr-factory-header-logo {
135
  float: left;
136
  padding: 25px 0;
libs/factory/pages/templates/impressive-page.class.php CHANGED
@@ -552,6 +552,7 @@
552
  <div class="wbcr-factory-content-section<?php if( !$this->show_right_sidebar_in_options ): echo ' wbcr-fullwidth'; endif ?>">
553
  <?php $this->showPageSubMenu() ?>
554
  <div class="wbcr-factory-content" style="min-height:<?= $min_height ?>px">
 
555
  <?php $this->showPageContent() ?>
556
  </div>
557
  </div>
552
  <div class="wbcr-factory-content-section<?php if( !$this->show_right_sidebar_in_options ): echo ' wbcr-fullwidth'; endif ?>">
553
  <?php $this->showPageSubMenu() ?>
554
  <div class="wbcr-factory-content" style="min-height:<?= $min_height ?>px">
555
+ <?php $this->showActionsNotice(); ?>
556
  <?php $this->showPageContent() ?>
557
  </div>
558
  </div>
readme.txt CHANGED
@@ -1,112 +1,174 @@
1
- === Clearfy – disable tweaker and WordPress optimization plugin ===
2
- Tags: wp disable, disable comments, disable updates, disable emoji, disable embeds, remove querystrings, disable rest api, bicycles by falbar, remove rss feeds, remove meta generator, yoast seo remove comments, yoast seo, yoast seo breadcrumbs, disable embeds,remove embeds, remove rsd link, dns-prefetch, remove dns-prefetch, meta generator, rsd link, wlw manifest link, remove wlw manifest link, canonical link, remove canonical link, shortlink link, remove shortlink link, emoji, attachment pages, remove attachment pages, rss feeds, disable rss feeds, rest api, disable rest api, remove rest api, clearfy, archives date, post pagination, archives author, hide login errors, recent comments, tag, rpc, xml, xml rpc, xmlrpc, admin bar, remove querystrings, reduce HTTP requests, disable heartbeat, disable revision, heartbeat, revision, clean, optimize, remove rest-api, remove rest-api, remove jquery migrate, html minify, robots.txt editor, plugin updates, disable plugin updates, disable core updates, core updates, enable automatic updates, disable widgets, disable default widgets, remove html comments
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
- Disables unused Wordpress features, improves performance and increases SEO rankings, using Clearfy, which makes WordPress very easy.
12
 
13
  == Description ==
14
 
15
- Our company has been developing plugins and themes for Wordpress for many years and every time we develop a website for our clients, we face a number of problems. Our clients` websites are highly specialized and most of the functions that Wordpress provides are not required for the operation of their sites. These functions are simply not used by our clients, but still they consume hosting resources or create SEO optimization problems, sometimes they just disturb editors in their daily work. Fortunately for you, we made a decision to release a universal plugin to enable and disable unused Wordpress options.
16
-
17
- [youtube https://youtu.be/TtrX7YKdalY&feature=youtu.be]
18
-
19
- Previously, ordinary webmasters had to hire a developer and pay a huge amount of money to solve typical tasks for disabling functions and optimizing Wordpress. Now most of your problems have been shifted to our shoulders and we are ready to solve them. All you need to do is to download the free plugin Cleary. We personally tested all functions of the plugin on our sites and achieved good results of WordPress performance. Testing was done on such popular resources as Pingdom, GTmetrix, PageSpeed and YSlow.
20
-
21
- We also noticed a very important feature: improvement of pages indexing and increase of the website`s traffic, due to simple seo optimization.
22
-
23
- We recently added very useful features <strong>WP Asset CleanUp Manager (Gonzales)</strong>, <strong>Disable Comments and remove comments in database</strong>, <strong>Heartbeat Control</strong>, <strong>Disable updates and enable automatic plugins and themes updates</strong>
24
-
25
- All features of the plugin:
26
-
27
- * <strong>Remove jQuery Migrate</strong>
28
- * <strong>Remove Querystrings</strong>
29
- * <strong>Disable Embeds</strong>
30
- * <strong>Remove REST API Links</strong>
31
- * <strong>Disable Emojis</strong>
32
- * <strong>Remove dns-prefetch</strong>
33
- * <strong>Remove RSD Link</strong>
34
- * <strong>Remove wlwmanifest Link</strong>
35
- * <strong>Remove Shortlink</strong>
36
- * <strong>Remove links to previous, next post</strong>
37
- * <strong>Remove .recentcomments styles</strong>
38
- * <strong>Automatically set the alt attribute</strong>
39
- * <strong>Replace external links in comments on the JavaScript code</strong>
40
- * <strong>Replace external links from comment authors on the JavaScript code</strong>
41
- * <strong>WordPress does not know how to give the Last Modified header in the server's responses. You can do this using the settings below.</strong>
42
- * <strong>Remove duplicate names in breadcrumbs WP SEO by Yoast</strong>
43
- * <strong>Remove the tag image:image from XML site map</strong>
44
- * <strong>Remove Yoast SEO comment from <head> section</strong>
45
- * <strong>Remove archives date</strong>
46
- * <strong>Remove author archives</strong>
47
- * <strong>Remove archives tag</strong>
48
- * <strong>Remove attachment pages</strong>
49
- * <strong>Remove post pagination</strong>
50
- * <strong>Remove meta generator</strong>
51
- * <strong>Hide author login</strong>
52
- * <strong>Hide errors when logging into the site</strong>
53
- * <strong>Disable XML-RPC</strong>
54
- * <strong>Disable RSS feeds</strong>
55
- * <strong>Remove field "site" in comment form</strong>
56
- * <strong>Removes links to wordpress.org site from the admin bar</strong>
57
- * <strong>Disable revision and limit Post Revisions</strong>
58
- * <strong>Disable plugin and theme updates</strong>
59
- * <strong>Enable plugin and theme automatic updates</strong>
60
- * <strong>Disable core updates or select the update mode</strong>
61
- * <strong>Disable automatic translation updates</strong>
62
- * <strong>Enable updates for VCS Installations</strong>
63
- * <strong>Remove the default widgets (Links, Arhives, Meta, Search..)</strong>
64
- * <strong>Remove html comments</strong>
65
- * <strong>Disable comments, remove comments and close comments</strong>
66
- * <strong>Enable Sanitization of WordPress</strong>
67
- * <strong>Disable admin notice</strong>
68
- * <strong>Disable adminbar</strong>
69
- * <strong>Remove admin bar WP logo</strong>
70
- * <strong>Replace "Howdy" text with "Welcome"</strong>
71
- * <strong>Disable autosave</strong>
72
- * <strong>Disable capitalization in Wordpress branding</strong>
73
- * <strong>Disable WPautop</strong>
74
- * <strong>Disable Heartbeat</strong>
75
- * <strong>Heartbeat frequency</strong>
76
- * <strong>WP Asset Manager</strong>
77
- * <strong>Disable JSON-LD sitelinks searchbox for Yoast SEO</strong>
78
- * <strong>Disable Yoast Structured Data for Yoast SEO</strong>
79
-
80
- As you can see, the plugin has a huge set of functions, and to disable any function you just need to click the mouse.
81
-
82
- We used some useful functions from plugins <strong>WP Asset CleanUp (Gonzales)</strong>, <strong>bicycles by falbar</strong>, <strong>wp disable</strong>, <strong>easy updates manager</strong>, <strong>Disabler</strong>, <strong>Admin Bar Disabler</strong>, <strong>Cerber Security & Antispam</strong>, <strong>Admin Tweaks</strong>, <strong>Autoptimize</strong>, <strong>Fast Velocity Minify</strong>, <strong>Minify HTML</strong>, <strong>Hummingbird Page Speed Optimization</strong>, <strong>WP Super Minify</strong>
83
-
84
- Forget about opening functions.php and entering code yourself! It is not only inconvenient but also can lead to critical errors and break your site. This code is not updated and as a result becomes obsolete. Use Clearfy to solve the needed tasks, because the plugin does not load your site and is constantly updated by professionals in the Wordpress field.
85
-
86
- Of course, there are many similar solutions to our plugin, but in order to replace the Clearfy plugin, you will need to install more than 30 plugins, where each plugin plays its small role.
87
- This amazing plugin will be an excellent helper in SEO optimization, performance optimization and security.
88
-
89
- Important to know! This plugin does not replace the functions of other plugins in the area of SEO optimization or performance optimization, security, etc. Our plugin complements these functions, so feel free to download free Clearfy and disable unused Wordpress functions.
90
-
91
- Everyone must have this plugin. Tell your friends and colleagues about it, so you will help them to solve a lot of problems connected with Wordpress.
92
-
93
- #### Recommended separate modules ####
94
-
95
- We invite you to check out a few other related free plugins that our team has also produced that you may find especially useful:
96
-
97
- * [Disable admin notices individually](https://wordpress.org/plugins/disable-admin-notices/)
98
- * [WP Asset Manager](https://wordpress.org/plugins/gonzales/)
99
- * [Disable comments, Disable XML-RPC, Disable self pings)](https://wordpress.org/plugins/comments-plus/)
100
- * [Disable updates, Updates manager, Disable automatic updates](https://wordpress.org/plugins/webcraftic-updates-manager/)
101
-
102
- == Translations ==
103
-
104
- * English - default, always included
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
105
  * Russian
106
- * French - Thank you very much to user (kingteamdunet)
107
  * Italian (70%)
108
 
109
- If you want to help with the translation, please contact me through this site or through the contacts inside the plugin.
110
 
111
  == Installation ==
112
 
@@ -116,16 +178,84 @@ This section describes how to install the plugin and get it working.
116
  2. Activate the plugin through the 'Plugins' screen in WordPress
117
  3. Use the Settings->Clearfy - disable unused features screen to configure the plugin
118
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
119
  == Screenshots ==
120
 
121
  1. Control panel quick start
122
- 1. WP Asset CleanUp Manager (Gonzales)
123
- 2. Control panel - confirmation of your list of functions
124
- 3. Control panel seo tab
125
- 4. Control panel comments tab
126
- 5. Features
127
 
128
  == Changelog ==
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
129
  = 1.1.8 =
130
  * Added new feature <strong>You will see the link "Hide notification forever" in each notice. Push it and they will not bother you anymore.</strong>
131
  * Added new feature <strong>Disable/Enable plugin updates individually.</strong>
@@ -142,6 +272,7 @@ This section describes how to install the plugin and get it working.
142
  * Fixed bug with core update
143
  * Fixed plugin translation
144
  * Removed CDN package
 
145
  = 1.1.6 =
146
  * Fixed bug reduced plugin weight.
147
  * Fixed JS error with external links option.
@@ -150,8 +281,10 @@ This section describes how to install the plugin and get it working.
150
  * Upadated design, improved availability for mobile devices.
151
  * Add French translation
152
  * Added assets manager in beta mode. This is a very useful and convenient tool for enabling and disabling file scripts.
 
153
  = 1.1.4 =
154
  * Fixed a bug where you selected the recommended mode, on some pages you see a white screen. Now you will not encounter this error.
 
155
  = 1.1.3 =
156
  * Fixed bug for tag image:image from XML site map in Yoast SEO
157
  * A platform for writing add-ons has been deployed.
@@ -168,6 +301,7 @@ This section describes how to install the plugin and get it working.
168
  * Added new features <strong>Disable WPautop</strong>
169
  * Added new features <strong>Disable Heartbeat</strong>
170
  * Added new features <strong>Heartbeat frequency</strong>
 
171
  = 1.1.2 =
172
  * Redesigned plugin interface design
173
  * Updated quick setup assistant, now it provides you with information about disabled functions.
@@ -178,26 +312,31 @@ This section describes how to install the plugin and get it working.
178
  * Added new features "Disable all updates qick mode"
179
  * Added donate button
180
  * Update readme.txt
 
181
  = 1.1.1 =
182
  * Fixed caching of styles and scripts
 
183
  = 1.1.0 =
184
  * Hide description for checkbox control
185
  * Added new feature "Remove Version from Stylesheets"
186
  * Added new feature "Remove Version from Scripts"
187
  * Added new feature "Marking of safe and warning settings"
188
  * Added tooltips, instead of short descriptions.
 
189
  = 1.0.9 =
190
  * Added quick start assistant
191
  * Added new feature "Right robots.txt"
192
  * Added new feature "Html minify"
193
  * Update core functions
194
  * Added new feature "Redirect Http to Https"
 
195
  = 1.0.3 =
196
  * Updated readmy.txt file
197
  * Updated translation
198
  * Added new feature "Disable Embeds"
199
  * Added new feature "jQuery Migrate"
200
  * Added uninstall.php
 
201
  = 1.0.2 =
202
  * Updated readme.txt file
203
- * Translated the plugin into Russian
1
+ === Clearfy – WordPress optimization plugin and disable ultimate tweaker ===
 
2
  Contributors: webcraftic
3
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VDX7JNTQPNPFW
4
+ Tags: wp disable, disable comments, disable updates, disable emoji, disable embeds, remove querystrings, disable rest api, bicycles by falbar, remove rss feeds, remove meta generator, yoast seo remove comments, yoast seo, yoast seo breadcrumbs, disable embeds,remove embeds, remove rsd link, dns-prefetch, remove dns-prefetch, meta generator, rsd link, wlw manifest link, remove wlw manifest link, canonical link, remove canonical link, shortlink link, remove shortlink link, emoji, attachment pages, remove attachment pages, rss feeds, disable rss feeds, rest api, disable rest api, remove rest api, clearfy, archives date, post pagination, archives author, hide login errors, recent comments, tag, rpc, xml, xml rpc, xmlrpc, admin bar, remove querystrings, reduce HTTP requests, disable heartbeat, disable revision, heartbeat, revision, clean, optimize, remove rest-api, remove rest-api, remove jquery migrate, html minify, robots.txt editor, plugin updates, disable plugin updates, disable core updates, core updates, enable automatic updates, disable widgets, disable default widgets, remove html comments
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
+ License URI: https://www.gnu.org/licenses/gpl-2.0.html
11
 
12
+ Optimize and tweak WordPress by disable unused features. Improve performance, SEO and security using Clearfy super easy, fast and zero code.
13
 
14
  == Description ==
15
 
16
+ Thousands of users already optimized their WordPress sites with **Clearfy plugin**. It’s multipurpose and free tool with tons of settings. Combine it with other plugins and you’ll get better optimized and secure WordPress website.
17
+
18
+ ### Optimize SEO and SPEED of your website in 5 minutes ###
19
+ 1. **Clear website code from trash;**
20
+ 2. **Eliminate the WordPress vulnerabilities;**
21
+ 3. **Speed up search engine indexing;**
22
+ 4. **Fix another plugin’s bugs;**
23
+ 5. **Make your WordPress easier, more convenient and faster.**
24
+
25
+ You’ll get **50+** useful functions for your WordPress website optimization, mixed and packed into the only one Clearfy plugin. In addition, we have quality video lessons and tutorials that will help you to understand plugin settings. But don't hurry to **download Clearfy** until you know its history and strengths.
26
+
27
+ #### WordPress optimization plugin Clearfy — the beginning ####
28
+ We create plugins, themes and customer’s projects more than 8 years. Every time, we faced the same problem — each project is unique and do not need all WordPress functions which continued to consume hosting resources, make SEO problems and interfered with daily work. To fix this we used our prepared code snippets and wasted many time for theirs testing and revisions. Therefore, we decided to create universal plugin to speed up our work. Using all of our skills, we collected them into one WordPress plugin called **Clearfy**. Initially we used optimization plugin for customer’s projects and ours but later we understood that problem is global so we shared plugin for you absolutely free.
29
+
30
+ Maybe you know the situations when you need to remove extra code, widget or delete duplicate pages on your website. Sometimes you inserted code snippets, which you have found in web by yourself or spent big money with freelancers. Now you have excellent opportunity to optimize WordPress with Clarify plugin and not waste your time at specialists or use doubtful solutions.
31
+
32
+ https://www.youtube.com/watch?v=TtrX7YKdalY
33
+
34
+ #### How Clearfy will improve WordPress SEO ####
35
+ Based on users’ feedback, who optimized WordPress with Clearfy plugin, there is good performance growth at the Pingdom, GTmetrix, Google PageSpeed Insights and YSlow services.
36
+
37
+ In addition, we observed important features:
38
+ * the page indexing of websites, blogs and online stores has improved;
39
+ * the pages became better ranking by search engines after duplicates deletion;
40
+ * websites became cleaner for search engines that was improved SEO and traffic.
41
+
42
+ Do you want the same or better? Download Clearfy for free and see for yourself! Configuring the plugin takes only 5-10 minutes. Just think how long it would be take you to find and configure all optimization scripts, plugins, if you had not the all in one solution Clearfy.
43
+
44
+ ### More than 50 Clearfy plugin features for WordPress optimization ###
45
+ #### Code cleanup ####
46
+ * **Disable RSS Feeds** — disables RSS if you using WordPress for website only, not for blog.
47
+ * **Disable Rest API** — disables Rest API and removes Rest API links. Use this if you don’t need to manage WordPress with third party solutions.
48
+ * **Disable Emojis** — emojis generates extra code and slow down the site, even if you did not put any smiley.
49
+ * **Remove jQuery Migrate** — if you use several popular plugins that are regularly updates, then you can safely delete jQuery Migrate.
50
+ * **Disable Embeds** — if you do not insert videos into the posts or pages, turn embeds off.
51
+ * **Remove dns-prefetch** — may improve image loading in some cases.
52
+ * **Remove RSD link** — if you create posts and pages inside WordPress then you do not need the Real Simple Discovery function.
53
+ * **Remove wlwmanifest Link** if you publish posts and pages via WordPress interface, 99% this function is not necessary for you.
54
+ * **Remove Shortlink** — if you use permalinks, you do not need the shortlinks.
55
+ * **Remove Previous/Next Post Link in HEAD** — delete previous and next post links if you do not use the blog.
56
+ * **Remove .recentcomments Styles** — remove if you want to change the "Related posts" widget styles.
57
+ * **Minify Html** compresses the code, speeds up the website loading.
58
+ * **WordPress Sanitization** — removes invalid and malicious characters from the URLs and file names.
59
+
60
+ #### WordPress SEO optimization ####
61
+ * **Automatically insert the alt attribute** — sets the alt attribute for all images in posts and pages, if alt is absent.
62
+ * **Create the Correct robots.txt** — helps to create the perfect Robots.txt to improve the indexing or close that would not be indexed.
63
+ * **Insert the Last Modified Header Automatically** — it helps search engines to understand which posts and pages are modified last and index them first.
64
+ * **Return If-Modified-Since Header** improves indexing telling to search engines that pages and posts have changed.
65
+ * **Remove Post Title from Yoast SEO Breadcrumbs** — cuts out the title from breadcrumbs at pages or posts.
66
+ * **Remove image:image tag from the Yoast SEO XML Sitemap** — eliminates the site map errors at the Yandex Webmaster.
67
+ * **Disable Schema JSON-LD** — forbids Google to generate advanced search snippet with website page links.
68
+ * **Disable SEO Yoast's Structured Data** — disables structured company data generated by Yoast SEO.
69
+ * **Remove Yoast SEO Comments from Head Section** — removes data from the code, which tells that your website is optimized by Yoast SEO plugin.
70
+
71
+ #### Remove WordPress page duplicates ####
72
+ * **Remove Date Archives** — completely removes the date archives and sets the redirect to front-page.
73
+ * **Remove Author Archives** completely removes the author archives and sets the redirect to front-page. It is useful if the site's author is single.
74
+ * **Remove Tags Archives** — removes tag archives and redirects to front-page.
75
+ * **Remove Attachment’s Pages** — by default, each media file has its own page. Clearfy removes them and redirects to the page or post into which this media file was inserted.
76
+ * **Remove Posts Pagination** — page navigation is not needed with a single post. It is better to delete it and make some posts.
77
+ * **Remove ?replytocom** — eliminates the posts comments duplicates.
78
+
79
+ #### WordPress privacy settings ####
80
+ * **Remove Generator Meta Tag** — version info remove.
81
+ * **Remove Style Files Version** complicates the process if someone wants to hack your site.
82
+ * **Remove Javascript Files Version** — it is more difficult to determine the version of installed plugins and hack the site.
83
+ * **Remove Querystrings** helps with the caching of JS and CSS and increase the speed of website load.
84
+ * **Remove HTML Comments** — hacker cannot determine versions of themes and plugins by comments in the code.
85
+
86
+ #### WordPress defense ####
87
+ * **Hide Author’s Login** complicates the hacking process. It's more difficult to find out your login for hacker.
88
+ * **Hide WordPress Login Error Messages** the attacker does not understand what he entered incorrectly, login or password.
89
+ * **Disable XML-RPC** — disable pingbacks and trackbacks.
90
+ * **Disable X-Pingback Link** removes the link and the ability to spam with pingbacks.
91
+
92
+ #### WordPress widgets ####
93
+ * **WP Widgets Disable** — removes WordPress widgets, all or selectively (Links, Archives, Meta, Search, etc.)
94
+
95
+ #### WordPress updates: core, plugins, themes ####
96
+ * **Automatic Plugins Updates** turn it on and you no longer need to think about plugins updates.
97
+ * **Disable Plugins Updates** — disables plugins updates and updates notices. You can disable updates of all plugins or each individually.
98
+ * **Automatic Themes Updates** — all of your themes will update automatically.
99
+ * **Disable Themes Updates** — all of your themes will stop to update and notify about updates.
100
+ * **Disable Translation Updates** disables automatic translation updates for themes and plugins.
101
+ * **WordPress Automatic Updates** your WordPress will be update automatically.
102
+ * **Disable WordPress Updates** — completely disables WordPress updates.
103
+ * **Disable Update Notifications** — users without permissions to update themes, plugins and WordPress will not receive updates notifications.
104
+
105
+ #### WordPress comments ####
106
+ * **Disable Comments** — allows you to completely disable WordPress comments overall or for selected post types.
107
+ * **Remove Comments / Delete Comments** — completely removes WordPress comments.
108
+ * **Close Comments** — completely closes WordPress comments and removes the "Comments" section from the left menu.
109
+ * **Remove URL / Website Field from Comment Form** — removes a comment author Website field.
110
+ * **Replace Outbound Links in Comments with Javascript** — all external links in comments are reliably closes from search engines indexing.
111
+ * **Replace Outbound Links of Comment Authors with Javascript** — search engines no longer index links to the comment author's site.
112
+
113
+ #### Admin notices, WordPress updates notifications ####
114
+ * **Disable Admin Notices** — hides all or selected notifications of the WordPress admin.
115
+
116
+ #### Heartbeat API optimization ####
117
+ * **Disable WordPress Heartbeat API** — completely disables the Heartbeat API WordPress function.
118
+ * **Limit WordPress Heartbeat API** — limit the frequency of Heartbeat API requests.
119
+
120
+ #### WordPress admin bar optimization ####
121
+ * **Remove, Hide or Disable top Admin Bar** — completely disables Admin Bar when browsing the website.
122
+ * **Remove WP Logo from Admin Bar** — removes the WordPress logo, eliminates accidentally clicking on it.
123
+ * **Replace “Howdy” with “Welcome”** — changes the text of the greetings WordPress for greater presentability and respectful treatment.
124
+
125
+ #### WordPress posts optimization ####
126
+ * **Disable Revisions** — completely disables posts/pages revisions.
127
+ * **Limit Revisions** — limits the number of revisions per post/page.
128
+ * **Disable Autosave** — disables autosaves when editing posts and pages.
129
+ * **Remove Smart Quotes** — disables automatic insertion of "typographic quotes".
130
+ * **Remove Auto Paragraph (Wpautop)** — disables texts auto-formatting.
131
+
132
+ #### WordPress scripts and styles manager (assets manager) ####
133
+ * **Disable Unused Styles of Plugins and Themes** — you can selectively disable styles where they are not need and speed up the website.
134
+ * **Disable Unused Scripts of Plugins and Themes** — disable scripts wholly or partly and optimize the loading of your website.
135
+
136
+ #### New useful tools and opportunities for WordPress optimization ####
137
+ **WP Asset CleanUp Manager (Gonzales)**, **Disable Comments and remove comments in database**, **Heartbeat Control**, **Disable updates and enable automatic plugins and themes updates**
138
+
139
+ ### One click to WordPress optimization ###
140
+ As you can see, the Clearfy plugin has a tremendous set of functions for WordPress optimization. In addition, you can turn off any unnecessary function in one click.
141
+
142
+ You can forget about opening `functions.php`, insertion kilometers of code and, in the end, getting critical errors on the website. Also, remember that WordPress is regularly updates and at one not the perfect moment, your site will break, because the manually inserted code has not been updated by anyone. Better, use the Clearfy plugin, which is updates and supports by WordPress professionals and, in addition, does not load your site.
143
+
144
+ Of course, there are many similar solutions, but to replace Clearfy, you will need to install about 30 plugins, each of which performs only a small role in WordPress optimization.
145
+
146
+ Thus, the Clearfy plugin, amazing with its functions, will be your indispensable assistant to improve:
147
+ * security;
148
+ * promotion and SEO;
149
+ * speed of the website, blog and online store.
150
+
151
+ > **Important notice!** Clearfy does not replace defense, promotion and acceleration plugins, it's only complements them.
152
+
153
+ This plugin should be on every WordPress website. Feel free to install this must-have plugin, share it with friends and colleagues to make their sites better and simplify their life!
154
+
155
+ #### Thanks the authors of plugins ####
156
+ We used some useful functions from plugins **WP Asset CleanUp (Gonzales)**, **bicycles by falbar**, **wp disable**, **easy updates manager**, **Disabler**, **Admin Bar Disabler**, **Cerber Security & Antispam**, **Admin Tweaks**, **Autoptimize**, **Fast Velocity Minify**, **Minify HTML**, **Hummingbird Page Speed Optimization**, **WP Super Minify**.
157
+
158
+ #### Recommended separate add-ons ####
159
+ If you think that you do not need all Clearfy features, you can pick up a mini plugin in the list below. Each of these plugins solves only one specific task. All of them are already part of the Clearfy plugin:
160
+ * [WordPress Assets manager, dequeue scripts, dequeue styles](https://wordpress.org/plugins/gonzales/ "WP Asset CleanUp Manager (Gonzales)")
161
+ * [Disable Comments for Any Post Types (Disable XML-RPC, Disable Self Pingbacks, Remove Comments)](https://wordpress.org/plugins/comments-plus/ "Disable Comments for Any Post Types (Disable XML-RPC, Disable Self Pingbacks, Remove Comments)")
162
+ * [Disable updates, Updates manager, Disable automatic updates](https://wordpress.org/plugins/webcraftic-updates-manager/ "Disable updates, Updates manager, Disable automatic updates")
163
+ * [Disable admin notices individually](https://wordpress.org/plugins/disable-admin-notices/ "Disable admin notices individually")
164
+
165
+ #### Translations ####
166
+ * English (default), always included
167
  * Russian
168
+ * French big thanks to @kingteamdunet, @fchaussin users
169
  * Italian (70%)
170
 
171
+ We are very need for your help with [translating the Clearfy plugin](https://translate.wordpress.org/projects/wp-plugins/clearfy) into your native language. We want to make it international and understandable for everyone. Please contact us via email inside the plugin, or create a topic on our [support forum](https://wordpress.org/support/plugin/clearfy) if you can help with the translations. In exchange for your help, we will give you better support and our premium plugins absolutely free!
172
 
173
  == Installation ==
174
 
178
  2. Activate the plugin through the 'Plugins' screen in WordPress
179
  3. Use the Settings->Clearfy - disable unused features screen to configure the plugin
180
 
181
+ == Frequently Asked Questions ==
182
+
183
+ = I activated the plugin (or individual functions) and now nothing works / there is an 500 error / blank white screen! =
184
+
185
+ If you have access to the WordPress admin dashboard, just deactivate the plugin. If you do not have access, then remove the plugin via FTP using [this instruction](http://www.wpbeginner.com/plugins/how-to-deactivate-all-plugins-when-not-able-to-access-wp-admin/). If you cannot to solve the problem by yourself, do not hurry to write negative feedback. Contact us on the [support forum](https://wordpress.org/support/plugin/clearfy), and we will solve the problem as quickly as possible.
186
+
187
+ = I'm using a plugin that has some of Clearfy's functions. Will they conflict with each other? =
188
+
189
+ Similar functions can conflict with each other, but Clearfy is a very flexible tool. Try to disable another plugin and check does the Clearfy satisfy your needs. If does not, just disable the Clearfy functions which intersecting with other plugin and tell us about the missing option on the [support forum](https://wordpress.org/support/plugin/clearfy) or by email, which you can find in the plugin console. We will add them in the following updates.
190
+
191
+ *Example 1*. You use Autoptimize for combine and minify. Clearfy perfectly complements this plugin. Simply disable Html Compression in Clearfy and everything will work flawlessly.
192
+
193
+ *Example 2*. To control the Heatbeat API, you use the Heartbeat Control plugin. There is a Heartbeat control in Clearfy too. If this is not enough for some reason, just temporarily disable Heartbeat in Clearfy. Then contact us at the [support forum](https://wordpress.org/support/plugin/clearfy) or email, which you will find in the plugin console, and we will add the desired functions in the following updates.
194
+
195
+ = Do I need to remove SEO plugins such as Yoast SEO, All in One SEO Pack? =
196
+
197
+ No. The Clearfy plugin only complements them, but does not replace.
198
+
199
+ = Should I uninstall WordPress defence plugins Wordfence Security - Firewall & Malware Scan, All In One WP Security & Firewall, Cerber Security & Antispam, iThemes Security and others? =
200
+
201
+ Absolutely not. On the contrary, we recommend you to install one of them with Clearfy and improve the protection of your website, blog or online store.
202
+
203
+ = Do I need acceleration and caching plugins like WP Super Cache, WP Fastest Cache, W3 Total Cache, Autoptimize, WP Rocket? =
204
+
205
+ Of course you do. Clearfy helps you with better site caching, but it's not a caching plugin.
206
+
207
+ = I turned on the option to create robots.txt, but nothing happens. =
208
+
209
+ It looks like that there is already has a `robots.txt` file at the root folder of your website. Delete it and activate the option to create `robots.txt` again.
210
+
211
+ = Does Clearfy support a multisite (network)? =
212
+
213
+ No, it does not. If you need this feature, suggest it on our [support forum](https://wordpress.org/support/plugin/clearfy).
214
+
215
+ = Can I ask questions if I have? =
216
+
217
+ Yes! Email us with address from the Clearfy console or on the [support forum](https://wordpress.org/support/plugin/clearfy). We will answer your questions. In addition, we will help you to understand the problem and listen to all the wishes for improving the plugin.
218
+
219
+ = Can I suggest my function? =
220
+
221
+ Of course! To do this, email us your wishes with address, which you will find in the plugin console, or create topic on the [support forum](https://wordpress.org/support/plugin/clearfy).
222
+
223
  == Screenshots ==
224
 
225
  1. Control panel quick start
226
+ 2. WP Asset CleanUp Manager (Gonzales)
227
+ 3. Control panel - confirmation of your list of functions
228
+ 4. Control panel seo tab
229
+ 5. Control panel comments tab
230
+ 6. Features
231
 
232
  == Changelog ==
233
+ = 1.1.92 =
234
+ * Fixed bug: admin area loads slower – when theme and plugin updates: disabled
235
+ * Fixed bug: hide errors when logging into the site – breaks login
236
+
237
+ = 1.1.91 =
238
+ * Fixed forum issue: [Issue or error caused backend delay] A non-existent style file was called.
239
+ * Fixed forum issue: [Error filling Alt, if at the end of the space] Php error prevented the import of goods into Woocomerce, when the option "Automatically set the alt attribute" was turned on.
240
+ * Fixed bug in tab styles of the plugin control panel
241
+ * Fixed bug: don't inserted alt attribute text in WooCommerce
242
+ * Fixed bug: there were javascript errors when the "Remove html comments" option and the nextgen gallery plugin were enabled.
243
+ * Fixed bug: plugin doesn't change sitemap link in Robots.txt after settings import
244
+ * Plugin components settings are now available for export
245
+ * The "Heartbeat frequency" time range has been increased up to 500 seconds
246
+
247
+ = 1.1.9 =
248
+ * Fixed forum issue: [Plugin conflict with “Disable admin top bar”]
249
+ * Fixed forum issue: [WooCommerce Order Notes!]
250
+ * Fixed forum issue: [Remove html comments DOUBLE setting]
251
+ * Fixed: Export/import. Now doesn't contain a hidden notification options
252
+ * Fixed: Translation
253
+ * Fixed: Deleted dangerous options from quick settings
254
+ * Fixed: We have moved the plugin menu to the general settings for your comfort. There are new plugin features. Please go to the plugin page to learn more!
255
+ * Added a new feature: To restore hidden admin notices individually
256
+ * Added a new feature: We have divided plugin features into components. You can turn off unused plugin functions.
257
+ * Added a new feature: Added page for cleaning comments
258
+
259
  = 1.1.8 =
260
  * Added new feature <strong>You will see the link "Hide notification forever" in each notice. Push it and they will not bother you anymore.</strong>
261
  * Added new feature <strong>Disable/Enable plugin updates individually.</strong>
272
  * Fixed bug with core update
273
  * Fixed plugin translation
274
  * Removed CDN package
275
+
276
  = 1.1.6 =
277
  * Fixed bug reduced plugin weight.
278
  * Fixed JS error with external links option.
281
  * Upadated design, improved availability for mobile devices.
282
  * Add French translation
283
  * Added assets manager in beta mode. This is a very useful and convenient tool for enabling and disabling file scripts.
284
+
285
  = 1.1.4 =
286
  * Fixed a bug where you selected the recommended mode, on some pages you see a white screen. Now you will not encounter this error.
287
+
288
  = 1.1.3 =
289
  * Fixed bug for tag image:image from XML site map in Yoast SEO
290
  * A platform for writing add-ons has been deployed.
301
  * Added new features <strong>Disable WPautop</strong>
302
  * Added new features <strong>Disable Heartbeat</strong>
303
  * Added new features <strong>Heartbeat frequency</strong>
304
+
305
  = 1.1.2 =
306
  * Redesigned plugin interface design
307
  * Updated quick setup assistant, now it provides you with information about disabled functions.
312
  * Added new features "Disable all updates qick mode"
313
  * Added donate button
314
  * Update readme.txt
315
+
316
  = 1.1.1 =
317
  * Fixed caching of styles and scripts
318
+
319
  = 1.1.0 =
320
  * Hide description for checkbox control
321
  * Added new feature "Remove Version from Stylesheets"
322
  * Added new feature "Remove Version from Scripts"
323
  * Added new feature "Marking of safe and warning settings"
324
  * Added tooltips, instead of short descriptions.
325
+
326
  = 1.0.9 =
327
  * Added quick start assistant
328
  * Added new feature "Right robots.txt"
329
  * Added new feature "Html minify"
330
  * Update core functions
331
  * Added new feature "Redirect Http to Https"
332
+
333
  = 1.0.3 =
334
  * Updated readmy.txt file
335
  * Updated translation
336
  * Added new feature "Disable Embeds"
337
  * Added new feature "jQuery Migrate"
338
  * Added uninstall.php
339
+
340
  = 1.0.2 =
341
  * Updated readme.txt file
342
+ * Translated the plugin into Russian